kopia lustrzana https://github.com/wagtail/wagtail
Include task description in choosers, if defined (#6200)
rodzic
03f728c67d
commit
fb0742802f
|
@ -195,6 +195,19 @@ For example:
|
|||
return TaskState.objects.none()
|
||||
|
||||
|
||||
``Task.get_description()```
|
||||
|
||||
A class method that returns the human-readable description for the task.
|
||||
|
||||
For example:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
@classmethod
|
||||
def get_description(cls):
|
||||
return _("Members of the chosen Wagtail Groups can approve this task")
|
||||
|
||||
|
||||
Adding notifications
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
|
|
@ -12,12 +12,15 @@
|
|||
|
||||
{% if task_types %}
|
||||
<ul class="listing">
|
||||
{% for verbose_name, app_label, model_name in task_types %}
|
||||
{% for verbose_name, app_label, model_name, description in task_types %}
|
||||
<li>
|
||||
<div class="row row-flush">
|
||||
<div class="col6">
|
||||
<a href="{% url 'wagtailadmin_workflows:add_task' app_label model_name %}" class="icon icon-plus-inverse icon-larger">{{ verbose_name }}</a>
|
||||
</div>
|
||||
<div class="col6">
|
||||
{{ description }}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
|
|
|
@ -4,12 +4,15 @@
|
|||
|
||||
{% if task_types %}
|
||||
<ul class="listing">
|
||||
{% for verbose_name, app_label, model_name in task_types %}
|
||||
{% for verbose_name, app_label, model_name, description in task_types %}
|
||||
<li>
|
||||
<div class="row row-flush">
|
||||
<div class="col6">
|
||||
<a href="{% url 'wagtailadmin_workflows:task_chooser' %}?create_model={{ app_label|urlencode }}.{{ model_name|urlencode }}" class="icon icon-plus-inverse icon-larger task-type-choice">{{ verbose_name }}</a>
|
||||
</div>
|
||||
<div class="col6">
|
||||
{{ description }}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
|
|
|
@ -589,6 +589,7 @@ class TestSelectTaskTypeView(TestCase, WagtailTestUtils):
|
|||
# Check that the list of available task types includes SimpleTask and GroupApprovalTask
|
||||
self.assertContains(response, SimpleTask.get_verbose_name())
|
||||
self.assertContains(response, GroupApprovalTask.get_verbose_name())
|
||||
self.assertContains(response, GroupApprovalTask.get_description())
|
||||
|
||||
|
||||
class TestEditTaskView(TestCase, WagtailTestUtils):
|
||||
|
|
|
@ -331,7 +331,7 @@ def select_task_type(request):
|
|||
raise PermissionDenied
|
||||
|
||||
task_types = [
|
||||
(model.get_verbose_name(), model._meta.app_label, model._meta.model_name)
|
||||
(model.get_verbose_name(), model._meta.app_label, model._meta.model_name, model.get_description())
|
||||
for model in get_task_types()
|
||||
]
|
||||
# sort by lower-cased version of verbose name
|
||||
|
@ -340,7 +340,7 @@ def select_task_type(request):
|
|||
if len(task_types) == 1:
|
||||
# Only one task type is available - redirect straight to the create form rather than
|
||||
# making the user choose
|
||||
verbose_name, app_label, model_name = task_types[0]
|
||||
verbose_name, app_label, model_name, description = task_types[0]
|
||||
return redirect('wagtailadmin_workflows:add_task', app_label, model_name)
|
||||
|
||||
return render(request, 'wagtailadmin/workflows/select_task_type.html', {
|
||||
|
@ -525,7 +525,7 @@ def task_chooser(request):
|
|||
|
||||
# Build task types list for "select task type" view
|
||||
task_types = [
|
||||
(model.get_verbose_name(), model._meta.app_label, model._meta.model_name)
|
||||
(model.get_verbose_name(), model._meta.app_label, model._meta.model_name, model.get_description())
|
||||
for model in task_models
|
||||
]
|
||||
# sort by lower-cased version of verbose name
|
||||
|
|
|
@ -2719,6 +2719,11 @@ class Task(models.Model):
|
|||
"""Returns a ``QuerySet`` of the task states the current user can moderate"""
|
||||
return TaskState.objects.none()
|
||||
|
||||
@classmethod
|
||||
def get_description(cls):
|
||||
"""Returns the task description."""
|
||||
return ''
|
||||
|
||||
@property
|
||||
def get_workflows(self):
|
||||
"""Returns a ``QuerySet`` of the workflows that this task is part of """
|
||||
|
@ -2839,6 +2844,10 @@ class GroupApprovalTask(Task):
|
|||
else:
|
||||
return TaskState.objects.none()
|
||||
|
||||
@classmethod
|
||||
def get_description(cls):
|
||||
return _("Members of the chosen Wagtail Groups can approve this task")
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Group approval task')
|
||||
verbose_name_plural = _('Group approval tasks')
|
||||
|
|
Ładowanie…
Reference in New Issue