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> </table>
</div> </div>
{% include 'toolbar_page_cbv.html' %}
{% include 'pagination.html' %}
{% endblock %} {% endblock %}

2
docs/views.md

@ -9,7 +9,7 @@
### Пагинатор ### Пагинатор
Есть реализованный шаблон для пагинации. При использовании [Class Based View](https://docs.djangoproject.com/en/1.11/topics/class-based-views/), Есть реализованный шаблон для пагинации. При использовании [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> </table>
</div> </div>
{% include 'toolbar_page.html' with pag=tasks %}
{% include 'pagination.html' %}
{% endblock %} {% endblock %}

6
taskapp/templates/taskapp/tasklist_failed.html

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

4
taskapp/urls.py

@ -7,7 +7,7 @@ app_name = 'taskapp'
urlpatterns = [ 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+)$', views.view, name='view'),
url(r'^(?P<task_id>\d+)/edit$', views.task_add_edit, name='edit'), 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'), 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+)/fail$', views.task_failed, name='fail'),
url(r'^(?P<task_id>\d+)/remind', views.remind, name='remind'), url(r'^(?P<task_id>\d+)/remind', views.remind, name='remind'),
url(r'^add$', views.task_add_edit, name='add'), 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'^finished$', views.finished_tasks, name='finished_tasks'),
url(r'^own$', views.own_tasks, name='own_tasks'), url(r'^own$', views.own_tasks, name='own_tasks'),
url(r'^my$', views.my_tasks, name='my_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.http import HttpResponse
from django.shortcuts import render, redirect, get_object_or_404 from django.shortcuts import render, redirect, get_object_or_404
from django.contrib import messages 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 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 guardian.decorators import permission_required_or_403 as permission_required
from chatbot.models import MessageQueue from chatbot.models import MessageQueue
from abonapp.models import Abon
from .handle import TaskException from .handle import TaskException
from .models import Task from .models import Task
from mydefs import pag_mn, only_admins, safe_int, MultipleException, RuTimedelta from mydefs import pag_mn, only_admins, safe_int, MultipleException, RuTimedelta
from .forms import TaskFrm 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 @login_required

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

Loading…
Cancel
Save