admin.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # -*- coding: utf-8 -*-
  2. from django.contrib import admin
  3. from coin.members.models import Member, CryptoKey, LdapUser
  4. from django import forms
  5. import pprint
  6. class LdapUserAdmin(admin.ModelAdmin):
  7. exclude = ['dn']
  8. list_display = ['uid','first_name', 'last_name']
  9. search_fields = ['first_name', 'last_name']
  10. #TODO : Déplacer dans LdapUser model (pre_save ?)
  11. #def save_model(self, request, obj, form, change):
  12. class CryptoKeyInline(admin.StackedInline):
  13. model = CryptoKey
  14. extra = 0
  15. class MemberAdminForm(forms.ModelForm):
  16. password = forms.CharField(widget=forms.PasswordInput(), required=False)
  17. def clean(self):
  18. cleaned_data = super(MemberAdminForm, self).clean()
  19. pprint.pprint(cleaned_data)
  20. return cleaned_data
  21. class Meta:
  22. model = Member
  23. class MemberAdmin(admin.ModelAdmin):
  24. list_display = ('id', 'first_name', 'last_name','email')
  25. list_display_links = ('id', 'first_name', 'last_name')
  26. search_fields = ['first_name','last_name','email']
  27. form = MemberAdminForm
  28. inlines = [CryptoKeyInline]
  29. admin.site.register(Member, MemberAdmin)
  30. admin.site.register(LdapUser, LdapUserAdmin)