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)
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
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 )
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))
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)
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)
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))
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)
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)
def del_gallery(gallery_id): gallery = Gallery.get_by_id(gallery_id) if gallery: gallery.key.delete() return redirect(url_for('gallery.admin'))