UPD: improved workflow code.
This commit is contained in:
@@ -18,6 +18,7 @@ from .. import choices
|
||||
from .. import forms
|
||||
from .. import models
|
||||
from ..utils import has_role
|
||||
from ..workflow import workflow
|
||||
|
||||
app_config = apps.get_containing_app_config(__package__)
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -195,19 +196,22 @@ class EventConfirmStatusView(EventPermissionMixin, generic.DetailView):
|
||||
elif status == 'accepted':
|
||||
if not self.has_permission('accept', event):
|
||||
raise PermissionDenied(status)
|
||||
if not event.is_flagged('submitted'):
|
||||
messages.error(request, _(u'Veranstaltung ist noch nicht eingereicht.'))
|
||||
return HttpResponseRedirect(event.get_absolute_url())
|
||||
elif status == 'publishing' or status == 'published':
|
||||
if not self.has_permission('publish', event):
|
||||
raise PermissionDenied(status)
|
||||
if not event.is_flagged('accepted'):
|
||||
messages.error(request, _(u'Veranstaltung ist noch nicht freigegeben.'))
|
||||
return HttpResponseRedirect(event.get_absolute_url())
|
||||
else:
|
||||
if not self.has_permission('update', event):
|
||||
raise PermissionDenied(status)
|
||||
|
||||
valid, return_code, message = workflow.validate_status_code_update(status, event)
|
||||
if not valid:
|
||||
if return_code == 'not-submitted':
|
||||
message = _(u'Veranstaltung ist noch nicht eingereicht.')
|
||||
elif return_code == 'not-accepted':
|
||||
message = _(u'Veranstaltung ist noch nicht freigegeben.')
|
||||
messages.error(request, message)
|
||||
return HttpResponseRedirect(event.get_absolute_url())
|
||||
|
||||
event.confirm_status(status, request.user)
|
||||
|
||||
if status == 'submitted':
|
||||
|
||||
Reference in New Issue
Block a user