|
@@ -53,7 +53,7 @@ class OfferSubscriptionInline(admin.TabularInline):
|
|
|
# modification : lecture seule seulement
|
|
|
else:
|
|
|
return self.all_fields
|
|
|
-
|
|
|
+
|
|
|
show_change_link = True
|
|
|
|
|
|
def formfield_for_foreignkey(self, db_field, request, **kwargs):
|
|
@@ -64,14 +64,17 @@ class OfferSubscriptionInline(admin.TabularInline):
|
|
|
kwargs["queryset"] = Offer.objects.manageable_by(request.user)
|
|
|
return super(OfferSubscriptionInline, self).formfield_for_foreignkey(db_field, request, **kwargs)
|
|
|
|
|
|
- # pas très beau
|
|
|
- # quand on créer un membre on autorise à ajouter un abonnement
|
|
|
- # sinon seulement en lecture seule (sinon ça permettrait de changer les abo qu'on n'a pas le droit de toucher)
|
|
|
def has_add_permission(self, request):
|
|
|
- if request.path.split('/')[-2] == 'add':
|
|
|
- return True
|
|
|
- else:
|
|
|
- return request.user.is_superuser
|
|
|
+ # - Quand on *crée* un membre on autorise à ajouter un abonnement
|
|
|
+ # - Quand on *édite* un membre, on interdit l'ajout d'abonnements (sauf
|
|
|
+ # par le bureau) car cela permettrait de gagner à loisir accès à
|
|
|
+ # toute fiche adhérent en lui ajoutant un abonnement à une offre dont
|
|
|
+ # on a la gestion).
|
|
|
+ return (
|
|
|
+ request.resolver_match.view_name == 'admin:members_member_add'
|
|
|
+ or
|
|
|
+ request.user.is_superuser
|
|
|
+ )
|
|
|
|
|
|
# sinon on pourrait supprimer les abo qu'on ne peut pas gérer
|
|
|
# pourrait peut-être être plus fin, obj réfère ici au member de la page
|