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 |