def page_manage(request, page_id=None): """ Allows a staff member to add a new or edit an existing page. :param request: HttpRequest object :param page_id: pk of a Page object, not required :return: HttpResponse object """ if page_id: page = get_object_or_404(models.Page, pk=page_id, content_type=request.model_content_type, object_id=request.site_type.pk) page_form = forms.PageForm(instance=page) edit = True else: page = None page_form = forms.PageForm() edit = False if request.POST: if page_id: page_form = forms.PageForm(request.POST, instance=page) else: page_form = forms.PageForm(request.POST) if page_form.is_valid(): page = page_form.save(commit=False) page.content_type = request.model_content_type page.object_id = request.site_type.pk page.save() messages.add_message(request, messages.INFO, 'Page saved.') return redirect(reverse('cms_index')) template = 'cms/page_manage.html' context = { 'page': page, 'form': page_form, 'edit': edit, } return render(request, template, context)
def page_manage(request, page_id=None): if page_id: page = get_object_or_404(models.Page, pk=page_id, content_type=request.model_content_type) page_form = forms.PageForm(instance=page) edit = True else: page = None page_form = forms.PageForm() edit = False if request.POST: if page_id: page_form = forms.PageForm(request.POST, instance=page) else: page_form = forms.PageForm(request.POST) if page_form.is_valid(): page = page_form.save(commit=False) page.content_type = request.model_content_type page.object_id = request.site_type.pk page.is_markdown = request.POST.get('is_markdown', False) page.save() messages.add_message(request, messages.INFO, 'Page saved.') return redirect(reverse('cms_index')) template = 'cms/page_manage.html' context = { 'page': page, 'form': page_form, 'edit': edit, } return render(request, template, context)