87 lines
		
	
	
		
			No EOL
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			No EOL
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from django.contrib import admin
 | 
						|
 | 
						|
from accounts.models import Role, Profile, Company
 | 
						|
 | 
						|
 | 
						|
# Register your models here.
 | 
						|
@admin.register(Role)
 | 
						|
class RoleAdmin(admin.ModelAdmin):
 | 
						|
    list_display = ['name', 'slug', 'parent', 'is_active']
 | 
						|
    search_fields = ['name', 'slug']
 | 
						|
    list_filter = ['is_active']
 | 
						|
    ordering = ['parent__name', 'name']
 | 
						|
 | 
						|
@admin.register(Profile)
 | 
						|
class ProfileAdmin(admin.ModelAdmin):
 | 
						|
    list_display = [
 | 
						|
        "user",
 | 
						|
        "fullname",
 | 
						|
        "user_type_display",
 | 
						|
        "company_name",
 | 
						|
        "pic_tag",
 | 
						|
        "roles_str",
 | 
						|
        "affairs",
 | 
						|
        "county",
 | 
						|
        "broker",
 | 
						|
        "is_completed",
 | 
						|
        "is_active",
 | 
						|
        "jcreated",
 | 
						|
    ]
 | 
						|
    search_fields = [
 | 
						|
        'user__username', 
 | 
						|
        'user__first_name', 
 | 
						|
        'user__last_name', 
 | 
						|
        'user__phone_number',
 | 
						|
        'company_name',
 | 
						|
        'company_national_id',
 | 
						|
        'national_code'
 | 
						|
    ]
 | 
						|
    list_filter = [
 | 
						|
        'user_type',
 | 
						|
        'user', 
 | 
						|
        'roles', 
 | 
						|
        'affairs', 
 | 
						|
        'county', 
 | 
						|
        'broker',
 | 
						|
        'is_completed',
 | 
						|
        'is_active'
 | 
						|
    ]
 | 
						|
    fieldsets = (
 | 
						|
        ('اطلاعات کاربری', {
 | 
						|
            'fields': ('user', 'user_type', 'pic', 'roles')
 | 
						|
        }),
 | 
						|
        ('اطلاعات شخصی - حقیقی', {
 | 
						|
            'fields': ('national_code', 'address', 'phone_number_1', 'phone_number_2'),
 | 
						|
            'classes': ('collapse',),
 | 
						|
        }),
 | 
						|
        ('اطلاعات شرکت - حقوقی', {
 | 
						|
            'fields': ('company_name', 'company_national_id'),
 | 
						|
            'classes': ('collapse',),
 | 
						|
        }),
 | 
						|
        ('اطلاعات بانکی', {
 | 
						|
            'fields': ('card_number', 'account_number', 'bank_name'),
 | 
						|
            'classes': ('collapse',),
 | 
						|
        }),
 | 
						|
        ('اطلاعات سازمانی', {
 | 
						|
            'fields': ('affairs', 'county', 'broker', 'owner'),
 | 
						|
        }),
 | 
						|
        ('وضعیت', {
 | 
						|
            'fields': ('is_completed', 'is_active'),
 | 
						|
        }),
 | 
						|
        ('تاریخها', {
 | 
						|
            'fields': ('created', 'updated'),
 | 
						|
            'classes': ('collapse',),
 | 
						|
        }),
 | 
						|
    )
 | 
						|
    date_hierarchy = 'created'
 | 
						|
    ordering = ['-created']
 | 
						|
    readonly_fields = ['created', 'updated']
 | 
						|
 | 
						|
@admin.register(Company)
 | 
						|
class CompanyAdmin(admin.ModelAdmin):
 | 
						|
    list_display = ['name', 'logo', 'signature', 'address', 'phone', 'broker', 'registration_number']
 | 
						|
    prepopulated_fields = {'slug': ('name',)}
 | 
						|
    search_fields = ['name', 'address', 'phone']
 | 
						|
    list_filter = ['is_active', 'broker']
 | 
						|
    date_hierarchy = 'created'
 | 
						|
    ordering = ['-created'] |