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.
 
 
 
 

94 lines
2.8 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 accounts_ext.forms import UserChangeForm, UserCreationForm
from core.admin import SafeModelAdmin
from .models import Profile, Company, UserPoints, 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 = [
# @TODO: ADD INLINE ADMIN FOR REFERRALS
]
fieldsets = (
(None, {'fields': ('email', 'username', 'password')}),
(_('Permissions'), {'fields': ('status', 'is_superuser',
'groups', 'user_permissions')}),
(_('Important dates'), {'fields': ('last_login', 'confirmed_at')}),
)
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'password1', 'password2'),
}),
)
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