Example #1
0
def admin_gallery():
    form = NewGalleryForm()
    if form.validate_on_submit():
        new_gallery = Gallery(name=form.name.data)
        new_gallery.put()
        return redirect(url_for('gallery.admin_edit', key_id=new_gallery.key.id()))
    galleries = Gallery.query().order(-Gallery.created)
    return render_template('gallery/admin/add.html',
        title=u'Галерея - администрирование',
        form=form,
        galleries=galleries)
Example #2
0
def create(account, image, team):
    """ Create a new gallery. """
    if team:
        assert_member(account, team)
    gallery = Gallery()
    gallery.created_by = account
    gallery.updated_by = account
    gallery.team = team
    gallery.save()
    picture = add(account, image, gallery)
    gallery.primary = picture
    gallery.save()
    return gallery
Example #3
0
def index():
    about = About.get_master_db()
    about_info = about.short_info

    galleries = Gallery.query(Gallery.is_public==True).order(-Gallery.created)
    images = []
    for gallery in galleries:
        for img in gallery.images:
            if len(images) >= 4:
                break
            images.append(img)

    excursions = ExcursionType.query(ExcursionType.is_public == True).count()
    hotels = Region.query(Region.is_public == True).count()
    exhibition_info = ExhibitionInfo.get_master_db().is_public
    investments = InvestmentInfo.get_master_db().is_public
    tenancy = TenancyInfo.get_master_db().is_public
    coach = CoachInfo.get_master_db().is_public
    soc_widgets = SocWidget.query(SocWidget.is_public == True)

    return render_template(
        'main_page/index.html',
        html_class='main_page',
        about=about_info,
        gallery=images,
        hotels=hotels,
        exhibition_info=exhibition_info,
        excursions=excursions,
        investments=investments,
        tenancy=tenancy,
        coach=coach,
        soc_widgets=soc_widgets
    )
Example #4
0
def add_image(gallery_id):
    gallery = Gallery.get_by_id(gallery_id)
    if not gallery:
       return render_template('empty.html')
    image_form = AddImageForm()
    if image_form.validate_on_submit():
        upload_files = get_uploads(request, 'image')
        if len(upload_files):
            blob_info = upload_files[0]
            if blob_info.size and GalleryImage.is_image_type(blob_info.content_type):
                img = GalleryImage.create(
                    blob_info.key(),
                    size=blob_info.size,
                    filename=os.path.basename(blob_info.filename.replace('\\','/')),
                    content_type=blob_info.content_type)
                if not len(gallery.images):
                    img.is_master = True
                if img.get_cached_url():
                    gallery.images.append(img)
                    gallery.put()
            else:
                blob_info.delete()
    else:
        return render_template('empty.html')
    return redirect(url_for('gallery.admin_edit', key_id=gallery_id))
Example #5
0
def index():
    galleries = Gallery.query(Gallery.is_public==True).order(-Gallery.modified)
    return render_template(
        'gallery/index.html',
        title=u'Галерея',
        html_class='gallery_page',
        galleries=galleries)
Example #6
0
def create(account, image, team):
    """ Create a new gallery. """
    if team:
        assert_member(account, team)
    gallery = Gallery()
    gallery.created_by = account
    gallery.updated_by = account
    gallery.team = team
    gallery.save()
    picture = add(account, image, gallery)
    gallery.primary = picture
    gallery.save()
    return gallery
Example #7
0
def get_gallery(gallery_id):
    gallery = Gallery.get_by_id(gallery_id)
    if not gallery or not gallery.is_public or not gallery.images:
        return redirect(url_for('gallery.index'))
    return render_template(
        'gallery/get_gallery.html',
        html_class='gallery_page',
        gallery=gallery)
Example #8
0
def del_image(gallery_id, img_id):
    gallery = Gallery.get_by_id(gallery_id)
    if gallery:
        for i, k in enumerate(gallery.images):
            if k.uid == img_id:
                k.delete_blob()
                del gallery.images[i]
                gallery.put()
                break
    return redirect(url_for('gallery.admin_edit', key_id=gallery_id))
Example #9
0
def edit_gallery(key_id):
    gallery = Gallery.get_by_id(key_id)
    form = EditGalleryForm(obj=gallery)
    image_form = AddImageForm()
    add_img_url = blobstore.create_upload_url(url_for('gallery.admin_add_image', gallery_id=gallery.key.id()))
    if request.method == 'POST' and form.validate():
        gallery.name = form.name.data
        gallery.is_public = form.is_public.data
        gallery.description = form.description.data
        gallery.put()
        return redirect(url_for('gallery.admin'))
    return render_template('gallery/admin/edit.html',
        title=u'Редактирование галереи',
        gallery=gallery,
        form=form,
        image_form=image_form,
        add_img_url=add_img_url)
Example #10
0
def edit_image(gallery_id, img_id):
    gallery = Gallery.get_by_id(gallery_id)
    image = None
    for i, img in enumerate(gallery.images):
        if img.uid == img_id:
            image = i
    if image is None:
        return redirect(url_for('gallery.admin_edit', key_id=gallery_id))
    form = EditImageForm(obj=gallery.images[image])
    if request.method == 'POST' and form.validate():
        form.populate_obj(gallery.images[image])
        gallery.put()
        return redirect(url_for('gallery.admin_edit', key_id=gallery_id))
    return render_template('gallery/admin/edit_image.html',
        image=gallery.images[image],
        gallery=gallery,
        form=form)
Example #11
0
def del_gallery(gallery_id):
    gallery = Gallery.get_by_id(gallery_id)
    if gallery:
        gallery.key.delete()
    return redirect(url_for('gallery.admin'))