def save_categories(request, slug): if request.method == 'POST': post = get_object_or_404(request.site['posts'], slug=slug) categories = request.POST['value'] post['categories'].delete() for category in categories.split(","): category,created = Category.query().get_or_create(name=category.strip().lower()) post['categories'].get_or_create(category=category) return HttpResponse(post.get_categories())
def save_categories(request, slug): if request.method == 'POST': post = get_object_or_404(request.site['posts'], slug=slug) categories = request.POST['value'] post['categories'].delete() for category in categories.split(","): category, created = Category.query().get_or_create( name=category.strip().lower()) post['categories'].get_or_create(category=category) return HttpResponse(post.get_categories())
def publish(request, slug): if request.method == 'POST': post = get_object_or_404(request.site['posts'], slug=slug) action = request.POST['action'] if action == 'publish': post['is_draft'] = False elif action == 'unpublish': post['is_draft'] = True post.save() return HttpResponseRedirect(reverse("post_view", kwargs={'slug': post['slug']}))
def _wrapper(request, name=None, theme=None, **kwargs): if not theme: if name is not None: theme = get_object_or_404(Theme, name=name) elif getattr(request, 'site', None) and request.site['theme']: theme = request.site['theme'] else: request.error(_('No theme to edit.')) return HttpResponseRedirect(request.META.get('HTTP_REFERER','/')) return func(request, theme=theme, **kwargs)
def publish(request, slug): if request.method == 'POST': post = get_object_or_404(request.site['posts'], slug=slug) action = request.POST['action'] if action == 'publish': post['is_draft'] = False elif action == 'unpublish': post['is_draft'] = True post.save() return HttpResponseRedirect( reverse("post_view", kwargs={'slug': post['slug']}))
def jobs_update(request, id): job = get_object_or_404(Job, pk=id) for field in PUBLIC_FIELDS: if field in request.GET: if field == 'params': job[field] = json.loads(request[field]) else: job[field] = request[field] job.save() return format_job(job)
def view(request, slug, template="post_view", site=None, queryset_function=None): if isinstance(site, basestring): site = Site.query().get(name=site) if not site: site = request.site if callable(queryset_function): posts = queryset_function(request) else: posts = site['posts'] post = get_object_or_404(posts, slug=slug) return render_to_response(request, template, {'post': post, 'categories': post.get_categories()})
def category_view(request, slug, template="page_view", **kwargs): collections = Collection.query().filter(site=request.site) pages = Page.query().published() breadcrumbs = [] if 'slug1' in kwargs: items = [] category = None for item in collections.filter(slug=kwargs['slug1']): category = item items.extend(item['items']) if category: breadcrumbs.append((category['title'] or category['name'], category.get_url())) pages = pages.filter(site=request.site, pk__in=items) page = get_object_or_404(pages, slug=slug) request.breadcrumbs(breadcrumbs) return _render_page(request, page, template)
def list(request, template='page_list', **kwargs): site = getattr(request, 'site', None) pages = Page.query() if site: pages = site['pages'] collections = Collection.query() if 'slug2' in kwargs: items = [] for item in Collection.query().filter(site=site, slug=kwargs['slug2']): items.extend(item['items']) collections = collections.filter(pk__in=items) if 'slug1' in kwargs: collection = get_object_or_404(collections, slug=kwargs['slug1']) pages = pages.filter(pk__in=collection['items']) return render_to_response(request, template, {'pages':pages})
def view(request, slug, template="post_view", site=None, queryset_function=None): if isinstance(site, basestring): site = Site.query().get(name=site) if not site: site = request.site if callable(queryset_function): posts = queryset_function(request) else: posts = site['posts'] post = get_object_or_404(posts, slug=slug) return render_to_response(request, template, { 'post': post, 'categories': post.get_categories() })
def get_markdown(request, slug): post = get_object_or_404(request.site['posts'], slug=slug) source = post['source'] if post['source'] is not None else '' return HttpResponse(source)
def _get_page_by_slug(request, slug): page = get_object_or_404(request.site['pages'], slug=slug, is_published=True) return page
def delete(request, slug): if request.method == 'POST': post = get_object_or_404(request.site['posts'], slug=slug) post.delete() return HttpResponseRedirect(reverse("post_list"))
def save_name(request, slug): post = get_object_or_404(request.site['posts'], slug=slug) post['name'] = request.POST['value'] post.save() return HttpResponse(post['name'])
def save_text(request, slug): post = get_object_or_404(request.site['posts'], slug=slug) post['source'] = request.POST['value'] post.save() return HttpResponse(post['text'])