Пример #1
0
def admin_edit(request, uid):
    news = News.get_by_id(uid)
    if not news:
        return redirect(url_for('news/admin'))
    form = NewsForm(initial={
        'title':news.title,
        'is_display':news.is_display,
        'short_text':news.short_text,
        'text':news.text
    })
    if request.method == 'POST':
        if form.validate(request.form):
            news.title = form['title']
            news.is_display = form['is_display']
            news.short_text = form['short_text']
            news.text = form['text']
            news.put()
            return redirect(url_for('news/admin'))
        else:
            return render_to_response(
                    'news/admin/edit.html', {
                        'form': form.as_widget(),
                        'news': news
                    })
    return render_to_response(
        'news/admin/edit.html', {
            'form': form.as_widget(),
            'news': news
        })
Пример #2
0
def show(request, uid):
    news = News.get_by_id(uid)
    if not news:
        return redirect(url_for('news'))
    images = NewsImage.query(NewsImage.news_ref == news.key)
    return render_to_response('news/show.html', {
        'news': news,
        'images': images
    })
Пример #3
0
def admin_images(request, uid):
    news = News.get_by_id(uid)
    if not news:
        return render_to_response('empty.html')
    images = NewsImage.query(NewsImage.news_ref == news.key)
    url = blobstore.create_upload_url(url_for('news/admin/images/add', uid=news.key.id()))
    return render_to_response('news/admin/images.html',{
        'images': images,
        'news': news,
        'url': url
        })
Пример #4
0
def admin_add_image(request, uid):
    if request.method == 'POST':
        news = News.get_by_id(uid)
        if not news:
            return render_json_response({'api':{'success':False}})
        upload_files = get_uploads(request, 'file')
        if len(upload_files):
            blob_info = upload_files[0]
            if blob_info.size:
                image = NewsImage.create(blob_info.key())
                news = News.get_by_id(uid)
                images = NewsImage.query(NewsImage.news_ref == news.key)
                if not images.count:
                    image.is_master = True
                image.news_ref = news.key
                image.cached_url = image.get_cached_url()
                image.put()
            else:
                 blob_info.delete()
        return admin_images(request, uid)
    return render_to_response('empty.html')
Пример #5
0
def show_news(request, id):
    news = News.get_by_id(id)
    if news is None:
        return redirect('/news/')
    return render_to_response('news/show_news.html', {'news':news})
Пример #6
0
def admin_delete(request, uid):
    news = News.get_by_id(uid)
    if news:
        news.key.delete()
    return redirect(url_for('news/admin'))