You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.9 KiB
96 lines
2.9 KiB
from django.contrib import admin
|
|
from django.contrib.auth import get_user_model
|
|
from django.contrib.auth.models import Group as GroupBase
|
|
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin, GroupAdmin
|
|
from django.utils.translation import ugettext_lazy as _
|
|
from import_export import resources
|
|
from jet.filters import RelatedFieldAjaxListFilter, DateRangeFilter
|
|
|
|
from core.admin import SafeModelAdmin
|
|
from referral.admin import RefarralAdminInline
|
|
|
|
from .forms import UserChangeForm, UserCreationForm
|
|
from .models import Profile, Company, Group
|
|
|
|
|
|
class CustomUserResource(resources.ModelResource):
|
|
class Meta:
|
|
model = get_user_model()
|
|
fields = ('id', 'username', 'email', 'status',)
|
|
export_order = (
|
|
'id', 'username', 'email', 'status'
|
|
)
|
|
|
|
|
|
@admin.register(get_user_model())
|
|
class UserAdmin(SafeModelAdmin, BaseUserAdmin):
|
|
inlines = [
|
|
RefarralAdminInline
|
|
]
|
|
|
|
fieldsets = (
|
|
(None, {'fields': ('email', 'username', 'password','referral_user')}),
|
|
(_('Permissions'), {'fields': ('status', 'is_superuser',
|
|
'groups', 'user_permissions')}),
|
|
(_('Important dates'), {'fields': ('last_login', 'confirmed_at')}),
|
|
)
|
|
add_fieldsets = (
|
|
(None, {
|
|
'classes': ('wide',),
|
|
'fields': ('username', 'email', 'password1', 'password2', 'referral_user', 'status', 'is_superuser'),
|
|
}),
|
|
)
|
|
list_display = ('email', 'username', 'status')
|
|
list_filter = (
|
|
'status', 'is_superuser', 'groups',
|
|
('confirmed_at', DateRangeFilter),
|
|
('create_at', DateRangeFilter),
|
|
('updated_at', DateRangeFilter),
|
|
)
|
|
search_fields = ('username', 'first_name', 'last_name', 'email')
|
|
ordering = ('username',)
|
|
list_editable = ('status',)
|
|
filter_horizontal = ()
|
|
form = UserChangeForm
|
|
add_form = UserCreationForm
|
|
|
|
resource_class = CustomUserResource
|
|
|
|
|
|
@admin.register(Profile)
|
|
class ProfileAdmin(admin.ModelAdmin):
|
|
search_fields = ('first_name', 'last_name', 'phone')
|
|
list_display = ('user', 'first_name', 'last_name', 'phone')
|
|
list_filter = (
|
|
('birthday', DateRangeFilter),
|
|
)
|
|
readonly_fields = ('first_name', 'last_name', 'phone',)
|
|
exclude = ('status',)
|
|
|
|
def has_delete_permission(self, request, obj=None):
|
|
return False
|
|
|
|
def has_add_permission(self, request):
|
|
return False
|
|
|
|
|
|
@admin.register(Company)
|
|
class CompanyAdmin(admin.ModelAdmin):
|
|
search_fields = ('company_name', 'inn', 'ogrn'),
|
|
list_display = ('user', 'company_name', 'type')
|
|
list_filter = ('type',)
|
|
readonly_fields = ('company_name', 'inn', 'ogrn', 'type')
|
|
|
|
def has_delete_permission(self, request, obj=None):
|
|
return False
|
|
|
|
def has_add_permission(self, request):
|
|
return False
|
|
|
|
|
|
admin.site.unregister(GroupBase)
|
|
|
|
|
|
@admin.register(Group)
|
|
class GroupAdmin(GroupAdmin):
|
|
pass
|
|
|