def theme(request, theme, showing_menu=True): # Saves the theme to ensure all registered templates were created theme.create_templates() return render_to_response(request, 'themes/theme.html', {'theme':theme, 'showing_menu':showing_menu}, )
def theme_up_file(request, theme): new_static_files = [] if request.method == 'POST': db_field = ThemeStaticFile._meta.fields['file'] for up_file in request.FILES.getlist('dragupload[]'): name = up_file.name while theme['static_files'].filter(name=name).count(): name += '_' sf = ThemeStaticFile(theme=theme, name=name, mime_type=up_file.content_type) upload_name = db_field.generate_filename(sf, up_file.name) upload_name = db_field.storage.save(upload_name, up_file) sf['file'] = FieldFile(sf, db_field, upload_name) sf.save() new_static_files.append(sf) # Calls the signal after static files changed theme_static_files_changed.send(sender=request.site, theme=theme, request=request, items=new_static_files) return render_to_response(request, 'themes/theme_up_file.html', {'theme': theme, 'new_static_files': new_static_files}, )
def home(request): themes = Theme.query().order_by('verbose_name') previewing = request.COOKIES.get(app_settings.CURRENT_THEME_COOKIE, None) if request.POST.get('name', None): verbose_name = request.POST['name'] name = slugify(request.POST['name']) counter = 0 while Theme.query().filter(name=name).count(): counter += 1 name = '%s-%s'%(slugify(request.POST['name']), counter) theme = Theme.query().create(name=name, verbose_name=verbose_name) request.warning(_('New theme "%s" created.')) return HttpResponseRedirect(reverse('themes_theme', kwargs={'name': theme['name']})) return render_to_response(request, 'themes/home.html', {'themes':themes, 'previewing':previewing}, )