Пример #1
0
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())
Пример #2
0
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())
Пример #3
0
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']}))
Пример #4
0
 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)
Пример #5
0
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']}))
Пример #6
0
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)
Пример #7
0
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()})
Пример #8
0
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)
Пример #9
0
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})
Пример #10
0
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()
    })
Пример #11
0
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)
Пример #12
0
def _get_page_by_slug(request, slug):
    page = get_object_or_404(request.site['pages'], slug=slug, is_published=True)
    return page
Пример #13
0
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"))
Пример #14
0
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'])
Пример #15
0
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)
Пример #16
0
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'])
Пример #17
0
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"))