pytask/taskapp/views.py
changeset 130 a4fa11b2cb5c
parent 128 4c349f310dfc
child 132 1be4a3c09a47
equal deleted inserted replaced
129:13e171f09941 130:a4fa11b2cb5c
    10 from django.views.decorators.csrf import csrf_protect
    10 from django.views.decorators.csrf import csrf_protect
    11 
    11 
    12 from pytask.utils import make_key
    12 from pytask.utils import make_key
    13 from pytask.views import show_msg
    13 from pytask.views import show_msg
    14 
    14 
    15 from pytask.taskapp.models import Task, TaskComment, TaskClaim
    15 from pytask.taskapp.models import Task, TaskComment, TaskClaim, TextBook
    16 from pytask.taskapp.forms import CreateTaskForm, EditTaskForm, \
    16 from pytask.taskapp.forms import CreateTaskForm, EditTaskForm, \
    17                                  TaskCommentForm, ClaimTaskForm, \
    17                                  TaskCommentForm, ClaimTaskForm, \
    18                                  ChoiceForm, EditTaskForm
    18                                  ChoiceForm, EditTaskForm, CreateTextbookForm
    19 from pytask.taskapp.utils import getTask
    19 from pytask.taskapp.utils import getTask
    20 from pytask.profile.utils import get_notification
    20 from pytask.profile.utils import get_notification
    21 
    21 
    22 
    22 
    23 @login_required
    23 @login_required
   177     else:
   177     else:
   178         form = EditTaskForm(instance=task)
   178         form = EditTaskForm(instance=task)
   179         context.update({"form": form})
   179         context.update({"form": form})
   180         return render_to_response("task/edit.html", context)
   180         return render_to_response("task/edit.html", context)
   181 
   181 
   182 
   182 @login_required
   183 
   183 def create_textbook(request):
       
   184 
       
   185     user = request.user
       
   186     profile = user.get_profile()
       
   187 
       
   188     can_create = True if profile.rights != "CT" else False
       
   189     if not can_create:
       
   190         raise Http404
       
   191 
       
   192     context = {"user": user,
       
   193                "profile": profile,
       
   194               }
       
   195 
       
   196     context.update(csrf(request))
       
   197 
       
   198     if request.method == "POST":
       
   199         form = CreateTextbookForm(request.POST)
       
   200         if form.is_valid():
       
   201             data = form.cleaned_data.copy()
       
   202             data.update({"uniq_key": make_key(TextBook),
       
   203                          "created_by": user,
       
   204                          "creation_datetime": datetime.now()})
       
   205             del data['chapters']
       
   206             new_textbook = TextBook(**data)
       
   207             new_textbook.save()
       
   208 
       
   209             new_textbook.chapters = form.cleaned_data['chapters']
       
   210 
       
   211             textbook_url = "/task/textbook/tid=%s"%new_textbook.uniq_key
       
   212             return redirect(textbook_url)
       
   213         else:
       
   214             context.update({"form": form})
       
   215             return render_to_response("task/create_textbook.html", context)
       
   216     else:
       
   217         form = CreateTextbookForm()
       
   218         context.update({"form": form})
       
   219         return render_to_response("task/create_textbook.html", context)
   184 
   220 
   185 @login_required
   221 @login_required
   186 def claim_task(request, tid):
   222 def claim_task(request, tid):
   187 
   223 
   188     task_url = "/task/view/tid=%s"%tid
   224     task_url = "/task/view/tid=%s"%tid