'date_desactivation',
'user_desactivation', )
-AUF_METADATA_FIELDSET_FIELDS = ('actif', 'date_creation', 'user_creation',
+AUF_METADATA_FIELDSET_FIELDS = ('date_creation', 'user_creation',
'date_modification', 'user_modification',
'date_activation', 'user_activation',
'date_desactivation', 'user_desactivation',)
class AUFMetadataInlineAdminMixin(object):
- exclude = AUF_METADATA_READONLY_FIELDS + ('actif', )
+ exclude = AUF_METADATA_READONLY_FIELDS
class AUFMetadataAdminMixin(object):
"""
Surcharge l'admin de base, pour setter automatiquement les metadata.
"""
- actions = ['desactiver', ]
-
readonly_fields = AUF_METADATA_READONLY_FIELDS
fieldsets = (
('Méta-données', {
}),
)
- def desactiver(modeladmin, request, queryset):
- """
- Passe à actif = False tous les objets du QS
- """
- selected = request.POST.getlist(admin.ACTION_CHECKBOX_NAME)
- queryset.update(actif=False)
- messages.add_message(request, messages.INFO, u'Les %s ont été désactivés.' % queryset.model._meta.verbose_name_plural)
- info = queryset.model._meta.app_label, queryset.model._meta.module_name
- return redirect('admin:%s_%s_changelist' % info)
- desactiver.short_description = u"Désactiver les éléments sélectionnés"
-
def save_model(self, request, obj, form, change):
if obj.user_creation is None:
obj.user_creation = request.user
else:
instance.save()
formset.save_m2m()
-
-
- def changelist_view(self, request, extra_context=None):
- """
- Sans filtre sélectionné, on redirige vers les éléments actifs
- """
- url = request.get_full_path()
- has_filter = "?" in url
- if has_filter is False:
- q = request.GET.copy()
- q['actif__exact'] = 1
- return redirect("%s?%s" % (url, q.urlencode()))
- return super(AUFMetadataAdminMixin, self).changelist_view(request, extra_context=extra_context)
-