예제 #1
0
파일: views.py 프로젝트: gmist/1businka
def admin_delete_image(request, uid):
    if request.method == 'POST':
        img = NewsImage.get_by_id(uid)
        if img:
            img.key.delete()
            return render_json_response({'api':{'success':True}})
    return render_json_response({'api':{'success':False}})
예제 #2
0
파일: views.py 프로젝트: gmist/1businka
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
파일: views.py 프로젝트: gmist/1businka
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
파일: views.py 프로젝트: gmist/1businka
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
파일: admin.py 프로젝트: gmist/f-toy
def add_news_image(request, news_key):
    news = News.get(news_key)
    if not news:
        news = News()
        news.put()

    form = NewsForm(instance=news)
    images_form = NewsImageForm(action='/news/admin/news/add_image/%s/' % news.key())
    if request.method == 'POST':
        if images_form.validate(request.form, request.files):
            img = images_form['image_file']
            content_type = 'image/jpeg'
            if not images_form['title']:
                title = ''
            else:
                title = images_form['title']
                title = title.replace('"', '"')
            thumb_img = ThumbImage()
            thumb_img.add_new_thumb(blob_img=img,
                                    thumb_size=(100, 100),
                                    content_type=content_type,
                                    title=title)
            if not images_form['width'] or not images_form['height']:
                width = height = 300
            else:
                width = images_form['width']
                height = images_form['height']
            thumb_img.add_new_thumb(blob_img=img,
                                    thumb_size=(width, height),
                                    content_type=content_type,
                                    title=title)
            thumb_img.put()
            news_image = NewsImage()
            news_image.title = title
            news_image.news = news
            news_image.image = thumb_img
            news_image.size = '%sx%s' % (width, height)
            news_image.put()
            return redirect('/news/admin/news/edit/%s/' % news.key())
    return render_to_response('news/admin/news_add.html',
        {'form':form.as_widget(),
         'images_form':images_form.as_widget()})