init
This commit is contained in:
253
AuthApp/admin.py
Normal file
253
AuthApp/admin.py
Normal file
@@ -0,0 +1,253 @@
|
||||
# coding=utf-8
|
||||
from django.contrib import admin
|
||||
from django.contrib.auth.admin import UserAdmin
|
||||
from BaseModels.admin_utils import *
|
||||
from django.contrib.auth.models import User
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from AuthApp.models import *
|
||||
|
||||
from django.contrib.auth.models import Group
|
||||
from django.db import models
|
||||
from django.contrib.admin.models import LogEntry
|
||||
|
||||
from django.db.models import F, Value as V
|
||||
from django.db.models.functions import Concat
|
||||
|
||||
from django.contrib.auth.admin import GroupAdmin as BaseGroupAdmin
|
||||
from django.contrib.auth.models import Group
|
||||
from django.contrib.admin import SimpleListFilter
|
||||
|
||||
|
||||
class LogEntryAdmin(admin.ModelAdmin):
|
||||
# pass
|
||||
list_display = (
|
||||
'__str__', 'action_time', 'user', 'content_type', 'object_id', 'object_repr', 'action_flag', 'change_message')
|
||||
list_filter = ('content_type', 'action_flag')
|
||||
search_fields = ['user__username', 'change_message', 'object_id', 'object_repr']
|
||||
date_hierarchy = 'action_time'
|
||||
|
||||
def has_delete_permission(self, request, obj=None):
|
||||
return False
|
||||
|
||||
|
||||
admin.site.register(LogEntry, LogEntryAdmin)
|
||||
|
||||
# class Admin_ProfileInline(admin.StackedInline):
|
||||
# fieldsets = (
|
||||
# (None, {
|
||||
# 'classes': ['wide'],
|
||||
# 'fields': (
|
||||
# ('enable',),
|
||||
# ('regions',),
|
||||
# ('company_obj', 'office', 'company_position', 'departament'),
|
||||
# ('delivery_address'),
|
||||
# ('discount',),
|
||||
# ('work_start_D', 'work_finish_D'),
|
||||
# ('days_to_order_cancellation_default', 'days_to_pay_default', 'pay_terms'),
|
||||
# ('authMailCode', 'document_sign_person'),
|
||||
# ('birthdate'),
|
||||
# 'comment', 'creator'
|
||||
# )
|
||||
# }),
|
||||
# ('Дополнительно', {
|
||||
# 'classes': ['wide'],
|
||||
# 'fields': (
|
||||
# ('connected_mailings',),
|
||||
# ('mailing_sets', 'json_data', 'sync_data')
|
||||
# )
|
||||
# }),
|
||||
# ('1С', {
|
||||
# 'classes': ['wide'],
|
||||
# 'fields': (
|
||||
# ('id_1s', 'name',),
|
||||
# )
|
||||
# }),
|
||||
# )
|
||||
#
|
||||
# model = UserProfile
|
||||
# can_delete = False
|
||||
# extra = 1
|
||||
# fk_name = 'user'
|
||||
#
|
||||
# filter_horizontal = ['regions', 'connected_mailings']
|
||||
# raw_id_fields = ("company_obj", 'office')
|
||||
# verbose_name_plural = _(u'Профиль пользователя')
|
||||
#
|
||||
# list_display = ['company_obj', 'office', 'company_position', 'departament', 'creator']
|
||||
# readonly_fields = ['creator', ]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Define a new User admin
|
||||
class Admin_User(UserAdmin):
|
||||
pass
|
||||
# def user_groups(self, obj):
|
||||
# return ' \ '.join(obj.groups.all().values_list('name', flat=True))
|
||||
#
|
||||
# user_groups.short_description = u'Группы'
|
||||
#
|
||||
# def last_web_request(self, obj):
|
||||
# return obj.user_profile.last_web_request
|
||||
#
|
||||
# last_web_request.short_description = u'Последний запрос'
|
||||
|
||||
# def profile_enable(self, obj):
|
||||
# if obj.user_profile.enable:
|
||||
# return '+'
|
||||
# else:
|
||||
# return '-'
|
||||
#
|
||||
# profile_enable.short_description = u'Включен'
|
||||
|
||||
# fieldsets = (
|
||||
# (None, {
|
||||
# 'classes': ['wide'],
|
||||
# 'fields': (
|
||||
# ('username', 'password'),
|
||||
# ('first_name', 'last_name', 'email'),
|
||||
# ('is_active', 'is_staff', 'is_superuser'),
|
||||
# ('groups', 'user_permissions'),
|
||||
# ('last_login', 'date_joined'),
|
||||
# # ('username', 'first_name', 'last_name'),
|
||||
# # ('password'),
|
||||
# # ('email', 'is_active'),
|
||||
# # ('is_staff')
|
||||
# )
|
||||
# }),
|
||||
#
|
||||
# )
|
||||
|
||||
save_on_top = True
|
||||
|
||||
# list_display = ['id', 'profile_enable', 'last_name', 'first_name', 'email', 'last_web_request', 'is_staff',
|
||||
# 'is_active', 'user_groups']
|
||||
# list_editable = ['is_staff', 'is_active']
|
||||
# list_display_links = ['first_name', 'last_name', 'email']
|
||||
# search_fields = ['first_name', 'last_name', 'email']
|
||||
#
|
||||
# inlines = (Admin_ProfileInline,)
|
||||
# actions = ['del_all_temp_users', ]
|
||||
#
|
||||
# ordering = ['is_staff', 'last_name', 'first_name']
|
||||
#
|
||||
# def del_all_temp_users(modeladmin, request, queryset):
|
||||
# queryset.filter(mipp_user__temporary_user=True).delete()
|
||||
#
|
||||
# del_all_temp_users.short_description = _(u'Удалить всех временных пользователей')
|
||||
|
||||
|
||||
# Re-register UserAdmin
|
||||
admin.site.unregister(User)
|
||||
admin.site.register(User, Admin_User)
|
||||
|
||||
|
||||
class Admin_UserProfile(Admin_BaseIconModel):
|
||||
pass
|
||||
# def get_list_filter(self, request):
|
||||
# res = super(Admin_UserProfile, self).get_list_filter(request)
|
||||
# user_groups = request.user.groups.all().values_list('name', flat=True)
|
||||
# if request.user.is_superuser or 'Отдел продаж: Начальник отдела продаж' in user_groups or 'Маркетинг: Маркетолог' in user_groups:
|
||||
# return res
|
||||
#
|
||||
# return []
|
||||
#
|
||||
# def get_queryset(self, request):
|
||||
# user_groups = request.user.groups.all().values_list('name', flat=True)
|
||||
# if request.user.is_superuser or 'Отдел продаж: Начальник отдела продаж' in user_groups or 'Маркетинг: Маркетолог' in user_groups:
|
||||
# return UserProfile.objects.all()
|
||||
#
|
||||
# companies_ids = request.user.companies_for_manager.all().values_list('id', flat=True)
|
||||
# queryset = UserProfile.objects.filter(
|
||||
# company_obj__id__in=companies_ids
|
||||
# # ).annotate(
|
||||
# # lead_source = F('company_obj__lead_source')
|
||||
# )
|
||||
# return queryset
|
||||
#
|
||||
# def get_list_display_links(self, request, list_display):
|
||||
# res = super(Admin_UserProfile, self).get_list_display_links(request, list_display)
|
||||
# if not request.user.is_superuser: # and not request.user.has_perm('AuthApp.change_userprofile'):
|
||||
# return None
|
||||
# return res
|
||||
#
|
||||
# def get_changelist_instance(self, request):
|
||||
# if not request.user.is_superuser: # and not request.user.has_perm('AuthApp.change_userprofile'):
|
||||
# self.list_editable = ['birthdate']
|
||||
# return super(Admin_UserProfile, self).get_changelist_instance(request)
|
||||
#
|
||||
# def user_name(self, obj):
|
||||
# return '{0} {1}'.format(obj.user.last_name, obj.user.first_name)
|
||||
#
|
||||
# user_name.short_description = u'Имя'
|
||||
#
|
||||
# def lead_source(self, obj):
|
||||
# res = None
|
||||
# if obj.company_obj:
|
||||
# res = obj.company_obj.lead_source
|
||||
# if not res:
|
||||
# res = '-'
|
||||
# else:
|
||||
# res = obj.company_obj.get_lead_source_display()
|
||||
# return res
|
||||
#
|
||||
# lead_source.short_description = 'Источник'
|
||||
# lead_source.admin_order_field = 'company_obj__lead_source'
|
||||
#
|
||||
# def manager(self, obj):
|
||||
# if not obj.company_obj or not obj.company_obj.manager_obj:
|
||||
# return '-'
|
||||
#
|
||||
# return '{0}'.format(obj.company_obj.manager_obj.get_full_name())
|
||||
#
|
||||
# manager.short_description = u'Менеджер'
|
||||
#
|
||||
# fieldsets = (
|
||||
# (None, {
|
||||
# 'classes': ['wide'],
|
||||
# 'fields': (
|
||||
# 'user', 'enable', 'account_type',
|
||||
# ('discount',),
|
||||
# ('work_start_D', 'work_finish_D'),
|
||||
# ('company_obj', 'company', 'office', 'company_position', 'departament'),
|
||||
# ('delivery_address'),
|
||||
# ('days_to_order_cancellation_default', 'days_to_pay_default', 'pay_terms'),
|
||||
# ('authMailCode', 'document_sign_person'),
|
||||
# ('birthdate'),
|
||||
# ('connected_mailings',),
|
||||
# 'creator'
|
||||
# )
|
||||
# }),
|
||||
# ('1С', {
|
||||
# 'classes': ['wide'],
|
||||
# 'fields': (
|
||||
# ('id_1s', 'name',),
|
||||
# )
|
||||
# }),
|
||||
# )
|
||||
#
|
||||
# save_on_top = True
|
||||
#
|
||||
# list_display = [
|
||||
# # 'user__last_name', 'user__first_name', 'user__email', 'user__is_staff', 'user__is_active',
|
||||
# 'id', 'user_name', 'user', 'enable', 'birthdate', 'lead_source', 'manager',
|
||||
# 'company_obj', 'office', 'company_position', 'departament', 'account_type', 'modifiedDT', 'createDT'
|
||||
# ]
|
||||
# list_editable = ['enable', 'birthdate']
|
||||
# list_display_links = ['id', ] # 'user__last_name', 'user__first_name']
|
||||
# search_fields = [
|
||||
# 'id', 'user__last_name', 'user__first_name', 'user__email', 'company_obj__name', 'company_position',
|
||||
# 'departament',
|
||||
# 'company_obj', 'company_obj__manager_obj'
|
||||
# ] # 'user__last_name', 'user__first_name', 'user__email']
|
||||
#
|
||||
# list_filter = ['company_obj__lead_source', ManagersFilter, 'account_type']
|
||||
#
|
||||
# filter_horizontal = ['connected_mailings']
|
||||
# # raw_id_fields = ("favourites",)
|
||||
# verbose_name_plural = _(u'Профиль пользователя')
|
||||
|
||||
|
||||
admin.site.register(UserProfile, Admin_UserProfile)
|
||||
Reference in New Issue
Block a user