def create(request, template='contacts/course/create.html'): """Create a course. :param template: A custom template. """ if not request.user.is_authenticated(): return HttpResponseRedirect('/login/?next=%s' % request.path) user = request.user if not user.has_perm('add_course'): return HttpResponseForbidden() if request.method == 'POST': form = CourseForm(request.POST) if form.is_valid(): p = form.save(commit=False) p.user_add = user p.user_modify = user p.save() return HttpResponseRedirect(p.get_update_url()) else: form = CourseForm() kwvars = { 'form': form } return render_to_response(template, kwvars, RequestContext(request))
def update(request, code, template='contacts/course/update.html'): """Update a course. :param template: A custom template. """ if not request.user.is_authenticated(): return HttpResponseRedirect('/login/?next=%s' % request.path) user = request.user if not user.has_perm('change_course'): #todo: posar al missatge que no es pot realitzar l'accio si no es te permis return detail(request,code) try: course = Course.objects.get(code__iexact=code) except Course.DoesNotExist: raise Http404 if request.method == 'POST': form = CourseForm(request.POST, instance=course) if form.is_valid(): course.user_modify = user form.save() return HttpResponseRedirect(course.get_absolute_url()) else: form = CourseForm(instance=course) kwvars = { 'form': form, 'object': course, } return render_to_response(template, kwvars, RequestContext(request))
def copy(request, code, template='contacts/course/create.html'): """Copia un course. :param template: Add a custom template. """ if not request.user.is_authenticated(): return HttpResponseRedirect('/login/?next=%s' % request.path) user = request.user if not user.has_perm('add_course'): return HttpResponseForbidden() if request.method == 'POST': form = CourseForm(request.POST) if form.is_valid(): p = form.save(commit=False) p.user_add = user p.user_modify = user p.save() return HttpResponseRedirect(p.get_update_url()) else: try: course = Course.objects.get(code__iexact=code) except Course.DoesNotExist: raise Http404 new_course = deepcopy(course) new_course.id = None new_course.code = "%s_cp" % course.code form = CourseForm(instance=new_course) kwvars = { 'form': form, } return render_to_response(template, kwvars, RequestContext(request))