CONT: continue the previous change.

This commit is contained in:
2019-01-29 17:25:03 +01:00
parent e6a5f9818a
commit 7667277862
14 changed files with 281 additions and 252 deletions

View File

@@ -19,7 +19,7 @@ from .. import choices
from .. import forms
from .. import models
from ..utils import has_role
from ..workflow import workflow
from ..workflow import DefaultWorkflow
logger = logging.getLogger(__name__)
@@ -54,7 +54,7 @@ class EventListView(generic.ListView):
def get_context_data(self, **kwargs):
context = super(EventListView, self).get_context_data(**kwargs)
user = self.request.user
context['has_permission_export'] = workflow.has_global_permission(user, 'export')
context['has_permission_export'] = DefaultWorkflow.has_global_permission(user, 'export')
return context
@method_decorator(login_required)
@@ -112,7 +112,7 @@ class EventListExportView(generic.FormView):
@method_decorator(login_required)
def dispatch(self, request, *args, **kwargs):
user = request.user
if not workflow.has_global_permission(user, 'export'):
if not DefaultWorkflow.has_global_permission(user, 'export'):
raise PermissionDenied('export')
return super(EventListExportView, self).dispatch(request, *args, **kwargs)
@@ -122,7 +122,7 @@ class EventPermissionMixin(object):
def has_permission(self, permission, obj):
user = self.request.user
return workflow.has_object_permission(user, permission, obj)
return obj.workflow.has_permission(user, permission)
def enforce_permission(self, obj):
permission = self.permission
@@ -145,6 +145,9 @@ class EventDetailView(EventPermissionMixin, generic.DetailView):
context['has_permission_accept'] = self.has_permission('accept', obj)
context['has_permission_publish'] = self.has_permission('publish', obj)
context['has_permission_update'] = self.has_permission('update', obj)
context['is_submitted'] = obj.workflow.has_reached_status('submitted')
context['is_accepted'] = obj.workflow.has_reached_status('accepted')
context['is_publishing'] = obj.workflow.has_reached_status('publishing')
return context
@method_decorator(login_required)
@@ -172,7 +175,7 @@ class EventConfirmStatusView(EventPermissionMixin, generic.DetailView):
if not self.has_permission('update', event):
raise PermissionDenied(status)
valid, return_code, message = workflow.validate_status_code_update(status, event)
valid, return_code, message = event.workflow.validate_status_update(status)
if not valid:
if return_code == 'not-submitted':
message = _(u'Veranstaltung ist noch nicht eingereicht.')
@@ -181,7 +184,7 @@ class EventConfirmStatusView(EventPermissionMixin, generic.DetailView):
messages.error(request, message)
return HttpResponseRedirect(event.get_absolute_url())
event.confirm_status(status, request.user)
event.workflow.update_status(status, request.user)
if status.startswith('submit'):
messages.success(request, _(u'Veranstaltung eingereicht.'))
@@ -212,6 +215,9 @@ class EventUpdateView(EventPermissionMixin, generic.UpdateView):
context['has_permission_accept'] = self.has_permission('accept', obj)
context['has_permission_update'] = self.has_permission('update', obj)
context['has_permission_publish'] = self.has_permission('publish', obj)
context['is_expired'] = obj.workflow.has_reached_status('expired')
context['is_publishing'] = obj.workflow.has_reached_status('publishing')
context['is_accepted'] = obj.workflow.has_reached_status('accepted')
return context
def form_valid(self, form):
@@ -278,7 +284,7 @@ class EventCreateView(EventPermissionMixin, generic.FormView):
event.editor = self.request.user
event.save()
if 'submit' in form.data:
event.confirm_status('submitted', event.owner)
event.workflow.update_status('submitted', event.owner)
messages.success(self.request, _(u'Veranstaltung eingereicht.'))
else:
messages.success(self.request, _(u'Veranstaltung angelegt.'))