|
@@ -5,7 +5,7 @@ from django.contrib.contenttypes.models import ContentType
|
|
|
from django.contrib.auth.models import User as AuthUser
|
|
|
from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
|
|
|
from django.http import HttpResponseRedirect
|
|
|
-from django.utils.html import format_html
|
|
|
+from django.utils.html import format_html, mark_safe
|
|
|
from django.core.urlresolvers import reverse
|
|
|
|
|
|
from .forms import UserCreationForm
|
|
@@ -206,8 +206,8 @@ class AdhesionAdmin(AdtSearchMixin, admin.ModelAdmin):
|
|
|
list_display = ('get_id', 'type', 'get_adherent_link',)
|
|
|
list_filter = (AdherentTypeFilter, 'active',)
|
|
|
list_select_related = ('user', 'user__profile', 'corporation',)
|
|
|
- fields = ('id', 'type', 'get_adherent_link', 'get_membership_link',)
|
|
|
- readonly_fields = ('id', 'type', 'get_adherent_link', 'get_membership_link',)
|
|
|
+ fields = ('id', 'type', 'get_adherent_link', 'get_membership_link', 'get_antennas_link',)
|
|
|
+ readonly_fields = ('id', 'type', 'get_adherent_link', 'get_membership_link', 'get_antennas_link',)
|
|
|
search_fields = ('=id', 'notes',) \
|
|
|
+ tuple(['user__%s' % f for f in UserAdmin.search_fields if '__' not in f]) \
|
|
|
+ tuple(['corporation__%s' % f for f in CorporationAdmin.search_fields if '__' not in f])
|
|
@@ -222,6 +222,10 @@ class AdhesionAdmin(AdtSearchMixin, admin.ModelAdmin):
|
|
|
return format_html(u'<a href="{}">{}</a>', obj.membership.get_absolute_url(), obj.membership)
|
|
|
get_membership_link.short_description = 'Cotisation'
|
|
|
|
|
|
+ def get_antennas_link(self, obj):
|
|
|
+ return mark_safe('<br />'.join(map(lambda antenna: antenna.get_absolute_link(), obj.antenna_set.all())))
|
|
|
+ get_antennas_link.short_description = 'Antennes'
|
|
|
+
|
|
|
def get_actions(self, request):
|
|
|
actions = super().get_actions(request)
|
|
|
if 'delete_selected' in actions:
|