Browse Source

Rename toolbar_bage_cbv.html to pagination.

devel
bashmak 8 years ago
parent
commit
23ff9a069a
  1. 2
      devapp/templates/devapp/devices.html
  2. 2
      docs/views.md
  3. 2
      taskapp/templates/taskapp/tasklist.html
  4. 6
      taskapp/templates/taskapp/tasklist_failed.html
  5. 4
      taskapp/urls.py
  6. 50
      taskapp/views.py
  7. 0
      templates/pagination.html

2
devapp/templates/devapp/devices.html

@ -96,6 +96,6 @@
</table>
</div>
{% include 'toolbar_page_cbv.html' %}
{% include 'pagination.html' %}
{% endblock %}

2
docs/views.md

@ -9,7 +9,7 @@
### Пагинатор
Есть реализованный шаблон для пагинации. При использовании [Class Based View](https://docs.djangoproject.com/en/1.11/topics/class-based-views/),
в шаблоне вы можете включить страницу *templates/toolbar_page_cbv.html*.
в шаблоне вы можете включить страницу *templates/pagination.html*.
Например вы создали клас представления:

2
taskapp/templates/taskapp/tasklist.html

@ -84,6 +84,6 @@
</table>
</div>
{% include 'toolbar_page.html' with pag=tasks %}
{% include 'pagination.html' %}
{% endblock %}

6
taskapp/templates/taskapp/tasklist_failed.html

@ -17,6 +17,7 @@
</tr>
</thead>
<tbody>
{% with has_change_task=perms.taskapp.change_task %}
{% for task in tasks %}
{% if task.is_relevant %}
@ -53,7 +54,7 @@
<a href="{% url 'taskapp:finish' task.pk %}" class="btn btn-success" title="{% trans 'Complete' %}" data-toggle="tooltip">
<span class="glyphicon glyphicon-ok"></span>
</a>
{% if perms.taskapp.change_task %}
{% if has_change_task %}
<a href="{% url 'taskapp:edit' task.pk %}" class="btn btn-default" title="{% trans 'Edit' %}" data-toggle="tooltip">
<span class="glyphicon glyphicon-edit"></span>
</a>
@ -65,6 +66,7 @@
<td colspan="8">{% trans 'The list is empty' %}</td>
</tr>
{% endfor %}
{% endwith %}
</tbody>
<tfoot>
<tr>
@ -76,6 +78,6 @@
</table>
</div>
{% include 'toolbar_page.html' with pag=tasks %}
{% include 'pagination.html' %}
{% endblock %}

4
taskapp/urls.py

@ -7,7 +7,7 @@ app_name = 'taskapp'
urlpatterns = [
url(r'^$', views.home, name='home'),
url(r'^$', views.NewTasksView.as_view(), name='home'),
url(r'^(?P<task_id>\d+)$', views.view, name='view'),
url(r'^(?P<task_id>\d+)/edit$', views.task_add_edit, name='edit'),
url(r'^(?P<task_id>\d+)/delete$', views.task_delete, name='delete'),
@ -15,7 +15,7 @@ urlpatterns = [
url(r'^(?P<task_id>\d+)/fail$', views.task_failed, name='fail'),
url(r'^(?P<task_id>\d+)/remind', views.remind, name='remind'),
url(r'^add$', views.task_add_edit, name='add'),
url(r'^failed$', views.failed_tasks, name='failed_tasks'),
url(r'^failed$', views.FailedTasksView.as_view(), name='failed_tasks'),
url(r'^finished$', views.finished_tasks, name='finished_tasks'),
url(r'^own$', views.own_tasks, name='own_tasks'),
url(r'^my$', views.my_tasks, name='my_tasks'),

50
taskapp/views.py

@ -5,36 +5,48 @@ from django.core.exceptions import PermissionDenied
from django.http import HttpResponse
from django.shortcuts import render, redirect, get_object_or_404
from django.contrib import messages
from abonapp.models import Abon
from django.utils.decorators import method_decorator
from django.views.generic import ListView
from django.utils.translation import ugettext as _
from datetime import date, datetime
from django.conf import settings
from datetime import datetime
from guardian.decorators import permission_required_or_403 as permission_required
from chatbot.models import MessageQueue
from abonapp.models import Abon
from .handle import TaskException
from .models import Task
from mydefs import pag_mn, only_admins, safe_int, MultipleException, RuTimedelta
from .forms import TaskFrm
@login_required
@only_admins
def home(request):
tasks = Task.objects.filter(recipients=request.user, state='S') # Новые задачи
tasks = pag_mn(request, tasks)
return render(request, 'taskapp/tasklist.html', {
'tasks': tasks
})
class BaseTaskListView(ListView):
http_method_names = ['get']
paginate_by = getattr(settings, 'PAGINATION_ITEMS_PER_PAGE', 10)
@login_required
@only_admins
def failed_tasks(request):
tasks = Task.objects.filter(recipients=request.user, state='C') # Проваленные
tasks = pag_mn(request, tasks)
return render(request, 'taskapp/tasklist_failed.html', {
'tasks': tasks
})
@method_decorator([login_required, only_admins], name='dispatch')
class NewTasksView(BaseTaskListView):
"""
Show new tasks
"""
template_name = 'taskapp/tasklist.html'
context_object_name = 'tasks'
def get_queryset(self):
return Task.objects.filter(recipients=self.request.user, state='S')
@method_decorator([login_required, only_admins], name='dispatch')
class FailedTasksView(BaseTaskListView):
"""
Show crashed tasks
"""
template_name = 'taskapp/tasklist_failed.html'
context_object_name = 'tasks'
def get_queryset(self):
return Task.objects.filter(recipients=self.request.user, state='C')
@login_required

0
templates/toolbar_page_cbv.html → templates/pagination.html

Loading…
Cancel
Save