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 })
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 })
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 })
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')
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})
def admin_delete(request, uid): news = News.get_by_id(uid) if news: news.key.delete() return redirect(url_for('news/admin'))