def handle_file(request, setting_value, file): if setting_value.value: file_to_delete = models.File.objects.get(pk=setting_value.value) files.unlink_journal_file(request, file_to_delete) file = files.save_file_to_journal(request, file, setting_value.setting.name, 'A setting file.') return file.pk
def index(request): """ Displays a list of pages and the sites navigation structure. :param request: HttpRequest object :return: HttpResponse object """ pages = models.Page.objects.filter(content_type=request.model_content_type, object_id=request.site_type.pk) top_nav_items = models.NavigationItem.objects.filter( content_type=request.model_content_type, object_id=request.site_type.pk, top_level_nav__isnull=True) collection_nav_items = models.NavigationItem.get_content_nav_for_journal( request.journal) if request.POST and 'delete' in request.POST: page_id = request.POST.get('delete') page = get_object_or_404(models.Page, pk=page_id, content_type=request.model_content_type, object_id=request.site_type.pk) page.delete() return redirect(reverse('cms_index')) if request.POST: if request.FILES: file = request.FILES.get('xsltfile') files.save_file_to_journal(request, file, 'XSLT File', 'Journal XSLT File', xslt=True) messages.add_message(request, messages.INFO, "XSLT file has been uploaded.") request.journal.has_xslt = True request.journal.save() if 'clear' in request.POST: files.unlink_journal_file(request, file=None, xslt=True) request.journal.has_xslt = False request.journal.save() return redirect(reverse('cms_index')) template = 'cms/index.html' context = { 'journal': request.journal, 'pages': pages, 'top_nav_items': top_nav_items, 'collection_nav_items': collection_nav_items, } return render(request, template, context)
def index(request): """ Displays a list of pages and the sites navigation structure. :param request: HttpRequest object :return: HttpResponse object """ pages = models.Page.objects.filter(content_type=request.model_content_type, object_id=request.site_type.pk) top_nav_items = models.NavigationItem.objects.filter( content_type=request.model_content_type, object_id=request.site_type.pk, top_level_nav__isnull=True) collection_nav_items = models.NavigationItem.get_content_nav_for_journal( request.journal) xsl_form = XSLFileForm() xsl_files = core_models.XSLFile.objects.filter( Q(journal=request.journal) | Q(journal__isnull=True)) if request.POST and 'delete' in request.POST: page_id = request.POST.get('delete') page = get_object_or_404(models.Page, pk=page_id, content_type=request.model_content_type, object_id=request.site_type.pk) page.delete() return redirect(reverse('cms_index')) if request.POST and 'new_xsl' in request.POST: xsl_form = XSLFileForm(request.POST, request.FILES) if xsl_form.is_valid(): xsl_form.save() messages.add_message(request, messages.INFO, "XSLT file has been uploaded.") else: messages.add_message( request, messages.ERROR, "Please correct the errors on the form and try again") if 'clear' in request.POST: files.unlink_journal_file(request, file=None, xslt=True) request.journal.has_xslt = False request.journal.save() elif request.POST and 'change_xsl' in request.POST: xsl_file = get_object_or_404(core_models.XSLFile, pk=request.POST["change_xsl"]) request.journal.xsl = xsl_file request.journal.save() return redirect(reverse('cms_index')) template = 'cms/index.html' context = { 'journal': request.journal, 'pages': pages, 'top_nav_items': top_nav_items, 'collection_nav_items': collection_nav_items, 'xsl_form': xsl_form, 'xsl_files': xsl_files, } return render(request, template, context)