Files
crmApi/apps/cuser/admin.py
T
2026-10-08 16:37:45 +03:30

64 lines
2.2 KiB
Python

from utils.admin_base import CRMModelAdmin
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from apps.cuser.forms import CUserCreationForm, CUserChangeForm
from apps.cuser.models import (
CUser as CUserModel,
CuserRole as CuserRoleModel,
RoleType as RoleTypeModel,
SmsOpt as SmsOptModel
)
# Register your models here.
class CUserAdmin(UserAdmin):
list_per_page = 50
save_on_top = True
date_hierarchy = 'created_at'
form = CUserChangeForm
add_form = CUserCreationForm
list_display = ('username', 'name_family', 'mobile', 'is_active', 'is_staff')
search_fields = ('username', 'name_family', 'mobile')
ordering = ('username',)
readonly_fields = ('last_login', 'created_at', 'updated_at')
fieldsets = (
(None, {'fields': ('username', 'password')}),
('اطلاعات کاربر', {'fields': ('name_family', 'mobile')}),
('دسترسی', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
('تاریخ‌ها', {'fields': ('last_login', 'created_at', 'updated_at')}),
)
add_fieldsets = (
(None, {'classes': ('wide',), 'fields': ('username', 'name_family', 'mobile', 'password1', 'password2', 'is_active', 'is_staff')}),
)
class CUserRoleAdmin(CRMModelAdmin):
list_display = ('id', 'cuser', 'name_family', 'mobile', 'role_type', 'sys_ws', 'is_active', 'customer_panel', 'is_admin')
search_fields = ('name_family', 'mobile', 'cuser__username')
readonly_fields = ('created_at', 'updated_at')
class RoleTypeAdmin(CRMModelAdmin):
list_display = ('id', 'role_name', 'role_name_en', 'created_at')
class SmsOptAdmin(CRMModelAdmin):
list_display = ("id", "mobile", "expire", "created_at")
exclude = ("opt",)
sensitive_fields = ("opt",)
def get_readonly_fields(self, request, obj=None):
return ("mobile", "expire", "created_at", "updated_at")
def has_add_permission(self, request):
return False
def has_change_permission(self, request, obj=None):
return False
admin.site.register(CUserModel, CUserAdmin)
admin.site.register(CuserRoleModel, CUserRoleAdmin)
admin.site.register(RoleTypeModel, RoleTypeAdmin)
admin.site.register(SmsOptModel, SmsOptAdmin)