admin.py 826 B

1234567891011121314151617181920212223242526272829
  1. from django.contrib import admin
  2. from django.contrib.auth.models import User
  3. from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
  4. from django.core.exceptions import PermissionDenied
  5. from adhesions.admin import ProfileInline, AdherentInline
  6. class UserAdmin(AuthUserAdmin):
  7. inlines = (ProfileInline, AdherentInline,)
  8. def get_fieldsets(self, request, obj=None):
  9. if request.user.is_superuser:
  10. return self.fieldsets
  11. else:
  12. return (
  13. self.fieldsets[0],
  14. self.fieldsets[1],
  15. )
  16. def user_change_password(self, request, id):
  17. if not request.user.is_superuser:
  18. raise PermissionDenied
  19. return super().user_change_password(request, id)
  20. admin.site.unregister(User)
  21. admin.site.register(User, UserAdmin)