Update generic view and check access interfaces
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
@@ -18,12 +18,13 @@ from .permissions import (
|
||||
)
|
||||
|
||||
link_document_send = Link(
|
||||
args='resolved_object.pk', icon_class=icon_document_send,
|
||||
icon_class=icon_document_send, kwargs={'document_id': 'resolved_object.pk'},
|
||||
permission=permission_mailing_send_document, text=_('Email document'),
|
||||
view='mailer:document_send'
|
||||
)
|
||||
link_document_send_link = Link(
|
||||
args='resolved_object.pk', icon_class=icon_document_send_link,
|
||||
icon_class=icon_document_send_link,
|
||||
kwargs={'document_id': 'resolved_object.pk'},
|
||||
permission=permission_mailing_link, text=_('Email link'),
|
||||
view='mailer:document_send_link'
|
||||
)
|
||||
@@ -46,17 +47,18 @@ link_user_mailer_create = Link(
|
||||
view='mailer:user_mailer_backend_selection'
|
||||
)
|
||||
link_user_mailer_delete = Link(
|
||||
args='resolved_object.pk', icon_class=icon_user_mailer_delete,
|
||||
icon_class=icon_user_mailer_delete,
|
||||
kwargs={'mailer_id': 'resolved_object.pk'},
|
||||
permission=permission_user_mailer_delete, tags='dangerous',
|
||||
text=_('Delete'), view='mailer:user_mailer_delete'
|
||||
)
|
||||
link_user_mailer_edit = Link(
|
||||
args='object.pk', icon_class=icon_user_mailer_edit,
|
||||
icon_class=icon_user_mailer_edit, kwargs={'mailer_id': 'object.pk'},
|
||||
permission=permission_user_mailer_edit, text=_('Edit'),
|
||||
view='mailer:user_mailer_edit'
|
||||
)
|
||||
link_user_mailer_log_list = Link(
|
||||
args='object.pk', permission=permission_user_mailer_view,
|
||||
permission=permission_user_mailer_view, kwargs={'mailer_id': 'object.pk'},
|
||||
text=_('Log'), view='mailer:user_mailer_log'
|
||||
)
|
||||
link_user_mailer_list = Link(
|
||||
@@ -70,7 +72,7 @@ link_user_mailer_setup = Link(
|
||||
text=_('Mailing profiles'), view='mailer:user_mailer_list'
|
||||
)
|
||||
link_user_mailer_test = Link(
|
||||
args='object.pk', icon_class=icon_user_mailer_test,
|
||||
icon_class=icon_user_mailer_test, kwargs={'mailer_id': 'object.pk'},
|
||||
permission=permission_user_mailer_use, text=_('Test'),
|
||||
view='mailer:user_mailer_test'
|
||||
)
|
||||
|
||||
@@ -37,13 +37,13 @@ class MailerTestMixin(object):
|
||||
def _request_user_mailer_delete(self):
|
||||
return self.post(
|
||||
viewname='mailer:user_mailer_delete',
|
||||
kwargs={'mailer_pk': self.user_mailer.pk}
|
||||
kwargs={'mailer_id': self.user_mailer.pk}
|
||||
)
|
||||
|
||||
def _request_user_mailer_edit(self):
|
||||
return self.post(
|
||||
viewname='mailer:user_mailer_edit',
|
||||
kwargs={'mailer_pk': self.user_mailer.pk},
|
||||
kwargs={'mailer_id': self.user_mailer.pk},
|
||||
data={
|
||||
'label': TEST_USER_MAILER_LABEL_EDITED
|
||||
}
|
||||
@@ -55,7 +55,7 @@ class MailerTestMixin(object):
|
||||
def _request_user_mailer_test(self):
|
||||
return self.post(
|
||||
viewname='mailer:user_mailer_test',
|
||||
kwargs={'mailer_pk': self.user_mailer.pk},
|
||||
kwargs={'mailer_id': self.user_mailer.pk},
|
||||
data={
|
||||
'email': getattr(
|
||||
self, 'test_email_address', TEST_EMAIL_ADDRESS
|
||||
|
||||
@@ -190,7 +190,7 @@ class DocumentViewsTestCase(MailerTestMixin, GenericDocumentViewTestCase):
|
||||
def _request_document_link_send(self):
|
||||
return self.post(
|
||||
viewname='mailer:document_send_link',
|
||||
kwargs={'document_pk': self.document.pk},
|
||||
kwargs={'document_id': self.document.pk},
|
||||
data={
|
||||
'email': getattr(
|
||||
self, 'test_email_address', TEST_EMAIL_ADDRESS
|
||||
@@ -202,7 +202,7 @@ class DocumentViewsTestCase(MailerTestMixin, GenericDocumentViewTestCase):
|
||||
def _request_document_send(self):
|
||||
return self.post(
|
||||
viewname='mailer:document_send',
|
||||
kwargs={'document_pk': self.document.pk},
|
||||
kwargs={'document_id': self.document.pk},
|
||||
data={
|
||||
'email': getattr(
|
||||
self, 'test_email_address', TEST_EMAIL_ADDRESS
|
||||
|
||||
@@ -11,7 +11,7 @@ from .views import (
|
||||
|
||||
urlpatterns = [
|
||||
url(
|
||||
regex=r'^documents/(?P<document_pk>\d+)/send/link/$',
|
||||
regex=r'^documents/(?P<document_id>\d+)/send/link/$',
|
||||
name='document_send_link', view=MailDocumentLinkView.as_view()
|
||||
),
|
||||
url(
|
||||
@@ -20,7 +20,7 @@ urlpatterns = [
|
||||
view=MailDocumentLinkView.as_view()
|
||||
),
|
||||
url(
|
||||
regex=r'^documents/(?P<document_pk>\d+)/send/$', name='document_send',
|
||||
regex=r'^documents/(?P<document_id>\d+)/send/$', name='document_send',
|
||||
view=MailDocumentView.as_view()
|
||||
),
|
||||
url(
|
||||
@@ -41,19 +41,19 @@ urlpatterns = [
|
||||
name='user_mailer_create', view=UserMailingCreateView.as_view()
|
||||
),
|
||||
url(
|
||||
regex=r'^user_mailers/(?P<mailer_pk>\d+)/delete/$',
|
||||
regex=r'^user_mailers/(?P<mailer_id>\d+)/delete/$',
|
||||
name='user_mailer_delete', view=UserMailingDeleteView.as_view()
|
||||
),
|
||||
url(
|
||||
regex=r'^user_mailers/(?P<mailer_pk>\d+)/edit/$',
|
||||
regex=r'^user_mailers/(?P<mailer_id>\d+)/edit/$',
|
||||
name='user_mailer_edit', view=UserMailingEditView.as_view()
|
||||
),
|
||||
url(
|
||||
regex=r'^user_mailers/(?P<mailer_pk>\d+)/log/$',
|
||||
regex=r'^user_mailers/(?P<mailer_id>\d+)/log/$',
|
||||
name='user_mailer_log', view=UserMailerLogEntryListView.as_view()
|
||||
),
|
||||
url(
|
||||
regex=r'^user_mailers/(?P<mailer_pk>\d+)/test/$',
|
||||
regex=r'^user_mailers/(?P<mailer_id>\d+)/test/$',
|
||||
name='user_mailer_test', view=UserMailerTestView.as_view()
|
||||
),
|
||||
url(
|
||||
|
||||
+16
-16
@@ -47,7 +47,7 @@ class MailDocumentView(MultipleObjectFormActionView):
|
||||
form_class = DocumentMailForm
|
||||
model = Document
|
||||
object_permission = permission_mailing_send_document
|
||||
pk_url_kwarg = 'document_pk'
|
||||
pk_url_kwarg = 'document_id'
|
||||
success_message = _('%(count)d document queued for email delivery')
|
||||
success_message_plural = _(
|
||||
'%(count)d documents queued for email delivery'
|
||||
@@ -63,9 +63,9 @@ class MailDocumentView(MultipleObjectFormActionView):
|
||||
'submit_icon_class': icon_mail_document_submit,
|
||||
'submit_label': _('Send'),
|
||||
'title': ungettext(
|
||||
self.title,
|
||||
self.title_plural,
|
||||
queryset.count()
|
||||
singular=self.title,
|
||||
plural=self.title_plural,
|
||||
number=queryset.count()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -87,8 +87,8 @@ class MailDocumentView(MultipleObjectFormActionView):
|
||||
|
||||
def object_action(self, form, instance):
|
||||
AccessControlList.objects.check_access(
|
||||
permissions=permission_user_mailer_use, user=self.request.user,
|
||||
obj=form.cleaned_data['user_mailer']
|
||||
obj=form.cleaned_data['user_mailer'],
|
||||
permission=permission_user_mailer_use, user=self.request.user
|
||||
)
|
||||
|
||||
task_send_document.apply_async(
|
||||
@@ -126,7 +126,7 @@ class UserMailerBackendSelectionView(FormView):
|
||||
def form_valid(self, form):
|
||||
backend = form.cleaned_data['backend']
|
||||
return HttpResponseRedirect(
|
||||
reverse(
|
||||
redirect_to=reverse(
|
||||
viewname='mailer:user_mailer_create', kwargs={
|
||||
'class_path': backend
|
||||
}
|
||||
@@ -172,7 +172,7 @@ class UserMailingCreateView(SingleObjectDynamicFormCreateView):
|
||||
class UserMailingDeleteView(SingleObjectDeleteView):
|
||||
model = UserMailer
|
||||
object_permission = permission_user_mailer_delete
|
||||
pk_url_kwarg = 'mailer_pk'
|
||||
pk_url_kwarg = 'mailer_id'
|
||||
post_action_redirect = reverse_lazy(viewname='mailer:user_mailer_list')
|
||||
|
||||
def get_extra_context(self):
|
||||
@@ -185,7 +185,7 @@ class UserMailingEditView(SingleObjectDynamicFormEditView):
|
||||
form_class = UserMailerDynamicForm
|
||||
model = UserMailer
|
||||
object_permission = permission_user_mailer_edit
|
||||
pk_url_kwarg = 'mailer_pk'
|
||||
pk_url_kwarg = 'mailer_id'
|
||||
|
||||
def get_extra_context(self):
|
||||
return {
|
||||
@@ -217,11 +217,11 @@ class UserMailerLogEntryListView(SingleObjectListView):
|
||||
) % self.get_user_mailer(),
|
||||
}
|
||||
|
||||
def get_object_list(self):
|
||||
def get_source_queryset(self):
|
||||
return self.get_user_mailer().error_log.all()
|
||||
|
||||
def get_user_mailer(self):
|
||||
return get_object_or_404(klass=UserMailer, pk=self.kwargs['mailer_pk'])
|
||||
return get_object_or_404(klass=UserMailer, pk=self.kwargs['mailer_id'])
|
||||
|
||||
|
||||
class UserMailerListView(SingleObjectListView):
|
||||
@@ -260,15 +260,15 @@ class UserMailerTestView(FormView):
|
||||
obj.test(to=form.cleaned_data['email'])
|
||||
except Exception as exception:
|
||||
messages.error(
|
||||
request=self.request, message=_(
|
||||
message=_(
|
||||
'Error sending test message; %s.'
|
||||
) % exception
|
||||
) % exception, request=self.request
|
||||
)
|
||||
else:
|
||||
messages.success(
|
||||
request=self.request, message=_(
|
||||
message=_(
|
||||
'Successfully sent test message.'
|
||||
)
|
||||
), request=self.request
|
||||
)
|
||||
|
||||
return super(UserMailerTestView, self).form_valid(form=form)
|
||||
@@ -283,7 +283,7 @@ class UserMailerTestView(FormView):
|
||||
|
||||
def get_object(self):
|
||||
return get_object_or_404(
|
||||
klass=self.get_queryset(), pk=self.kwargs['mailer_pk']
|
||||
klass=self.get_queryset(), pk=self.kwargs['mailer_id']
|
||||
)
|
||||
|
||||
def get_queryset(self):
|
||||
|
||||
Reference in New Issue
Block a user