diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-07-01 20:32:57 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-07-01 20:32:57 +0200 |
commit | bb0bfafa4514c2dd58bd2d33b447db91fe0c3f97 (patch) | |
tree | 3d4aed7efb4c89583f3411d4670f4a928d08a6af | |
parent | 85ca18e18fbff0b37c7270995f0bdc97efdcc3cb (diff) | |
download | Chimère-bb0bfafa4514c2dd58bd2d33b447db91fe0c3f97.tar.bz2 Chimère-bb0bfafa4514c2dd58bd2d33b447db91fe0c3f97.zip |
Manage automatic submission when authenticated and have the right.
-rw-r--r-- | chimere/forms.py | 12 | ||||
-rw-r--r-- | chimere/views.py | 5 |
2 files changed, 12 insertions, 5 deletions
diff --git a/chimere/forms.py b/chimere/forms.py index 09b46ae..62ad101 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -256,10 +256,13 @@ class MarkerAdminFormBase(forms.ModelForm): """ Custom save method in order to manage associated properties """ + can_write = False + if 'can_write' in keys: + can_write = keys.pop('can_write') new_marker = super(MarkerAdminFormBase, self).save(*args, **keys) if 'status' not in self.cleaned_data and not new_marker.status: - new_marker.status = 'S' - if new_marker.status == 'A': + new_marker.status = 'A' if can_write else 'S' + if not new_marker.available_date and new_marker.status == 'A': tz = UTC() new_marker.available_date = datetime.replace(datetime.utcnow(), tzinfo=tz) @@ -345,9 +348,12 @@ class RouteAdminForm(forms.ModelForm): """ Custom save method in order to manage associated properties """ + can_write = False + if 'can_write' in keys: + can_write = keys.pop('can_write') new_route = super(RouteAdminForm, self).save(*args, **keys) if 'status' not in self.cleaned_data and not new_route.status: - new_route.status = 'S' + new_route.status = 'A' if can_write else 'S' new_route.save() return new_route diff --git a/chimere/views.py b/chimere/views.py index 8964321..f8581a7 100644 --- a/chimere/views.py +++ b/chimere/views.py @@ -283,7 +283,7 @@ def get_edit_page(redirect_url, item_cls, item_form, # All validation rules pass if form.is_valid() and formset_multi.is_valid() and \ formset_picture.is_valid(): - item = form.save() + item = form.save(can_write=response_dct.get('can_write')) # set the session key (to permit modifications) item.submiter_session_key = request.session.session_key @@ -301,7 +301,8 @@ def get_edit_page(redirect_url, item_cls, item_form, # just submited if not item.status: - item.status = 'S' + print "plouf9" + item.status = 'A' if response_dct.get('can_write') else 'S' item.save() marker = item |