def post(self, request, **kwargs): course = get_object_or_404(Course, slug=kwargs['slug']) if not _auth_course(request.user, course): return HttpResponse('Access denied') form = EditCourseForm(request.POST, instance=course) if form.is_valid(): old_name = course.name new_course = form.save(commit=False) if old_name != new_course.name: # Make sure we get a unique slug since # the name has changed. new_course.slug = Course.slugify_unique( slugify(new_course.name)) new_course.save() return HttpResponseRedirect( new_course.get_absolute_url()) tmpl_dict = { 'form': form, 'course': course, 'can_edit_course': True, } return render(request, self.template_name, tmpl_dict)
def create_course(request): if not request.user.is_authenticated(): tmpl_dict = { 'site': get_current_site(request), } return render( request, 'books/account/create_course_nologin.html', tmpl_dict) if request.method == 'POST': form = CreateCourseForm(request.POST) if form.is_valid(): course = form.save(commit=False) course.user = request.user course.slug = Course.slugify_unique( slugify(course.name)) course.save() # Now that we have saved, we can create holes course.create_holes( int(form.cleaned_data.get('hole_count'))) return HttpResponseRedirect(reverse( 'books-user-course', args=[ request.user.username, course.slug])) else: form = CreateCourseForm() tmpl_data = { 'form': form, 'site': get_current_site(request), } return render( request, 'books/account/create_course.html', tmpl_data)