Fix task manager queue list view.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2017-09-07 23:12:02 -04:00
parent 7a30537d22
commit 51026cc55e
7 changed files with 190 additions and 5 deletions

View File

@@ -1,3 +1,8 @@
2.7.3 (2017-09-XX)
==================
- Fix task manager queue list view. Thanks to LeVon Smoker for
the report.
2.7.2 (2017-09-06)
==================
- Fix new mailer creation view. GitLab issue #431.

68
docs/releases/2.7.3.rst Normal file
View File

@@ -0,0 +1,68 @@
===============================
Mayan EDMS v2.7.3 release notes
===============================
Released: September XX, 2017
What's new
==========
- Fix task manager queue list view. Thanks to LeVon Smoker for
the report.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
Type in the console::
$ pip install -U mayan-edms
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
If you installed Mayan EDMS by cloning the Git repository issue the commands::
$ git reset --hard HEAD
$ git pull
otherwise download the compressed archived and uncompress it overriding the
existing installation.
Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
Migrate existing database schema with::
$ mayan-edms.py performupgrade
Add new static media::
$ mayan-edms.py collectstatic --noinput
The upgrade procedure is now complete.
Backward incompatible changes
=============================
* None
Bugs fixed or issues closed
===========================
* `GitLab issue #431 <https://gitlab.com/mayan-edms/mayan-edms/issues/431>`_ can't create new mailer
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -19,6 +19,7 @@ from .links import (
class TaskManagerApp(MayanAppConfig):
app_namespace = 'task_manager'
app_url = 'task_manager'
has_tests = True
name = 'task_manager'
verbose_name = _('Task manager')

View File

@@ -0,0 +1,6 @@
from __future__ import unicode_literals
from django.utils.translation import ugettext_lazy as _
TEST_QUEUE_LABEL = _('Test queue')
TEST_QUEUE_NAME = 'test_queue'

View File

@@ -0,0 +1,105 @@
from __future__ import unicode_literals
from common.tests.test_views import GenericViewTestCase
from ..classes import CeleryQueue
from ..permissions import permission_task_view
from .literals import TEST_QUEUE_LABEL, TEST_QUEUE_NAME
class TaskManagerViewTestCase(GenericViewTestCase):
def setUp(self):
super(TaskManagerViewTestCase, self).setUp()
self.test_queue = CeleryQueue(
label=TEST_QUEUE_LABEL, name=TEST_QUEUE_NAME
)
def _request_active_task_list(self):
return self.get(
viewname='task_manager:queue_active_task_list',
args=(self.test_queue.name,), follow=True
)
def _request_queue_list(self):
return self.get(
viewname='task_manager:queue_list', follow=True
)
def _request_reserved_task_list(self):
return self.get(
viewname='task_manager:queue_reserved_task_list',
args=(self.test_queue.name,), follow=True
)
def _request_scheduled_task_list(self):
return self.get(
viewname='task_manager:queue_scheduled_task_list',
args=(self.test_queue.name,), follow=True
)
def test_queue_list_view_no_permissions(self):
self.login_user()
response = self._request_queue_list()
self.assertEqual(response.status_code, 403)
def test_queue_list_view_with_permissions(self):
self.login_user()
self.grant_permission(permission=permission_task_view)
response = self._request_queue_list()
self.assertContains(
response, text=self.test_queue.name, status_code=200
)
def test_active_task_list_view_no_permissions(self):
self.login_user()
response = self._request_active_task_list()
self.assertEqual(response.status_code, 403)
def test_active_task_list_view_with_permissions(self):
self.login_user()
self.grant_permission(permission=permission_task_view)
response = self._request_active_task_list()
self.assertEqual(response.status_code, 200)
def test_reserved_task_list_view_no_permissions(self):
self.login_user()
response = self._request_reserved_task_list()
self.assertEqual(response.status_code, 403)
def test_reserved_task_list_view_with_permissions(self):
self.login_user()
self.grant_permission(permission=permission_task_view)
response = self._request_reserved_task_list()
self.assertEqual(response.status_code, 200)
def test_scheduled_task_list_view_no_permissions(self):
self.login_user()
response = self._request_scheduled_task_list()
self.assertEqual(response.status_code, 403)
def test_scheduled_task_list_view_with_permissions(self):
self.login_user()
self.grant_permission(permission=permission_task_view)
response = self._request_scheduled_task_list()
self.assertEqual(response.status_code, 200)

View File

@@ -16,7 +16,7 @@ class QueueListView(SingleObjectListView):
}
view_permission = permission_task_view
def get_queryset(self):
def get_object_list(self):
return CeleryQueue.all()
@@ -33,10 +33,7 @@ class QueueActiveTaskListView(SingleObjectListView):
def get_object(self):
return CeleryQueue.get(queue_name=self.kwargs['queue_name'])
def get_task_list(self):
return self.get_object().get_active_tasks()
def get_queryset(self):
def get_object_list(self):
try:
return self.get_task_list()
except Exception as exception:
@@ -46,6 +43,9 @@ class QueueActiveTaskListView(SingleObjectListView):
)
return ()
def get_task_list(self):
return self.get_object().get_active_tasks()
class QueueScheduledTaskListView(QueueActiveTaskListView):
def get_extra_context(self):