Update generic view and check access interfaces

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-01-30 03:54:10 -04:00
parent b4a81ee0bc
commit 4ba2d375af
26 changed files with 128 additions and 150 deletions
+8 -6
View File
@@ -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'
)
+3 -3
View File
@@ -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
+2 -2
View File
@@ -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
+6 -6
View File
@@ -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
View File
@@ -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):