Browse Source

Fix preferences/edit_options/OptionalUser

test-front-curly
LEVY-FALK Hugo 8 years ago
committed by root
parent
commit
d1a17ff763
  1. 55
      preferences/views.py

55
preferences/views.py

@ -79,41 +79,40 @@ def display_options(request):
@login_required @login_required
@permission_required('admin')
def edit_options(request, section): def edit_options(request, section):
""" Edition des préférences générales""" """ Edition des préférences générales"""
model = getattr(models, section, None) model = getattr(models, section, None)
form_instance = getattr(forms, 'Edit' + section + 'Form', None) form_instance = getattr(forms, 'Edit' + section + 'Form', None)
if model and form: if not (model or form_instance):
options_instance, _created = model.objects.get_or_create() messages.error(request, "Objet inconnu")
can, msg = options_instance.can_edit(request.user) return redirect(reverse('preferences:display-options'))
if not can:
messages.error(request, msg or "Vous ne pouvez pas éditer cette\ options_instance, _created = model.objects.get_or_create()
option.") can, msg = options_instance.can_edit(request.user)
return redirect(reverse('index')) if not can:
options = form_instance( messages.error(request, msg or "Vous ne pouvez pas éditer cette\
request.POST or None, option.")
instance=options_instance return redirect(reverse('index'))
) options = form_instance(
if options.is_valid(): request.POST or None,
with transaction.atomic(), reversion.create_revision(): instance=options_instance
options.save() )
reversion.set_user(request.user) if options.is_valid():
reversion.set_comment( with transaction.atomic(), reversion.create_revision():
"Champs modifié(s) : %s" % ', '.join( options.save()
field for field in options.changed_data reversion.set_user(request.user)
) reversion.set_comment(
"Champs modifié(s) : %s" % ', '.join(
field for field in options.changed_data
) )
messages.success(request, "Préférences modifiées")
return redirect(reverse('preferences:display-options'))
return form(
{'options': options},
'preferences/edit_preferences.html',
request
) )
else: messages.success(request, "Préférences modifiées")
messages.error(request, "Objet inconnu")
return redirect(reverse('preferences:display-options')) return redirect(reverse('preferences:display-options'))
return form(
{'options': options},
'preferences/edit_preferences.html',
request
)
@login_required @login_required

Loading…
Cancel
Save