Browse Source

Расставил права на создание и изменение задачи

devel
Dmitry 9 years ago
parent
commit
5a5482e0f8
  1. 14
      taskapp/views.py

14
taskapp/views.py

@ -1,5 +1,6 @@
# coding=utf-8
from django.contrib.auth.decorators import login_required, permission_required
from django.core.exceptions import PermissionDenied
from django.shortcuts import render, redirect, get_object_or_404
from abonapp.models import Abon
from datetime import date
@ -58,7 +59,7 @@ def own_tasks(request):
@login_required
@only_admins
def my_tasks(request):
tasks = Task.objects.filter(recipients=request.user) # Все задачи
tasks = Task.objects.filter(recipients=request.user) # Задачи где я учавствовал
tasks = pag_mn(request, tasks)
return render(request, 'taskapp/tasklist.html', {
'tasks': tasks
@ -75,7 +76,7 @@ def all_tasks(request):
@login_required
@permission_required('taskapp.can_delete_task')
@permission_required('taskapp.delete_task')
def task_delete(request, task_id):
task = get_object_or_404(Task, id=task_id)
# нельзя удалить назначенную мне задачу
@ -95,8 +96,9 @@ def view(request, task_id):
'time_diff': time_diff
})
@login_required
@permission_required('taskapp.can_change_task')
@only_admins
def task_add_edit(request, task_id=0):
task_id = safe_int(task_id)
warntext = ''
@ -108,8 +110,12 @@ def task_add_edit(request, task_id=0):
#frm_recipient_id = safe_int(request.GET.get('rp'))
if task_id == 0:
if not request.user.has_perm('taskapp:can_add_task'):
raise PermissionDenied
tsk = Task()
else:
if not request.user.has_perm('taskapp:can_change_task'):
raise PermissionDenied
tsk = get_object_or_404(Task, id=task_id)
frm = TaskFrm(instance=tsk)
selected_abon = tsk.abon
@ -159,7 +165,6 @@ def task_add_edit(request, task_id=0):
def task_finish(request, task_id):
task = get_object_or_404(Task, id=task_id)
task.finish(request.user)
task.save(update_fields=['state', 'out_date'])
return redirect('taskapp:home')
@ -168,7 +173,6 @@ def task_finish(request, task_id):
def task_begin(request, task_id):
task = get_object_or_404(Task, id=task_id)
task.begin(request.user)
task.save(update_fields=['state'])
return redirect('taskapp:home')

Loading…
Cancel
Save