123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- # -*- coding: utf-8 -*-
- from django.contrib import admin
- from coin.members.models import Member, CryptoKey, LdapUser, MembershipFee
- from django import forms
- from coin.members.membershipfee_filter import MembershipFeeFilter
- import pprint
- # class LdapUserAdmin(admin.ModelAdmin):
- # exclude = ['dn']
- # list_display = ['uid','first_name', 'last_name']
- # search_fields = ['first_name', 'last_name']
- #TODO : Déplacer dans LdapUser model (pre_save ?)
- #def save_model(self, request, obj, form, change):
- class CryptoKeyInline(admin.StackedInline):
- model = CryptoKey
- extra = 0
- class MembershipFeeInline(admin.TabularInline):
- model = MembershipFee
- extra = 0
- fields = ('start_date', 'end_date', 'amount')
- class MemberAdminForm(forms.ModelForm):
- # password = forms.CharField(widget=forms.PasswordInput(), required=False)
- def clean(self):
- cleaned_data = super(MemberAdminForm, self).clean()
- pprint.pprint(cleaned_data)
- return cleaned_data
- class Meta:
- model = Member
- class MemberAdmin(admin.ModelAdmin):
- list_display = ('id', 'status', 'first_name', 'last_name',
- 'organization_name', 'email', 'end_date_of_membership')
- list_display_links = ('id', 'first_name', 'last_name')
- list_filter = ('status', MembershipFeeFilter)
- search_fields = ['first_name', 'last_name', 'email']
- actions = ['set_as_member', 'set_as_non_member']
- fields = (
- 'status',
- 'type',
- ('first_name', 'last_name', 'organization_name'),
- ('email', 'home_phone_number', 'mobile_phone_number'),
- 'address',
- ('postal_code', 'city', 'country'),
- ('entry_date', 'resign_date'),
- 'ldap_cn'
- )
- radio_fields = {"type": admin.HORIZONTAL}
- save_on_top = True
- form = MemberAdminForm
- inlines = [CryptoKeyInline, MembershipFeeInline]
- def set_as_member(self, request, queryset):
- rows_updated = queryset.update(status='adherent')
- self.message_user(
- request,
- '%d membre(s) définis comme adhérent(s).' % rows_updated)
- set_as_member.short_description = 'Définir comme adhérent'
- def set_as_non_member(self, request, queryset):
- rows_updated = queryset.update(status='non_adherent')
- self.message_user(
- request,
- '%d membre(s) définis comme non adhérent(s).' % rows_updated)
- set_as_non_member.short_description = "Définir comme non adhérent"
- class MembershipFeeAdmin(admin.ModelAdmin):
- list_display = ('member', 'end_date', 'amount')
- admin.site.register(Member, MemberAdmin)
- admin.site.register(MembershipFee, MembershipFeeAdmin)
- # admin.site.register(LdapUser, LdapUserAdmin)
|