def index(): form = ExcursionTypeForm() if request.method == 'POST' and form.validate_on_submit(): excursion = ExcursionType() form.populate_obj(excursion) excursion.put() return redirect(url_for('excursion.admin.index')) excursions = ExcursionType.query().order(-ExcursionType.order_id) return render_template( 'excursion/admin/index.html', form=form, excursions=excursions )
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 edit_excursion(key_id, uid): excursion_type = ExcursionType.retrieve_by_id(key_id) if not excursion_type: return redirect(url_for('excursion.admin.index')) excursion = None for ex in excursion_type.excursions: if ex.uid == uid: excursion = ex break else: return redirect(url_for('excursion.admin.edit', key_id=key_id)) if request.method == 'POST' and 'delete_btn' in request.form: for i, ex in enumerate(excursion_type.excursions): if ex.uid == uid: del excursion_type.excursions[i] excursion_type.put() break return redirect(url_for('excursion.admin.edit', key_id=key_id)) form = ExcursionForm(obj=excursion) if request.method == 'POST' and form.validate_on_submit(): for i, ex in enumerate(excursion_type.excursions): if ex.uid == uid: form.populate_obj(excursion_type.excursions[i]) excursion_type.put() break return redirect(url_for('excursion.admin.edit', key_id=key_id)) return render_template( 'excursion/admin/excursion/edit.html', ex_form=form, excursion_type=excursion_type, excursion=excursion )
def get_excursions(): excursions = ExcursionType.query(ExcursionType.is_public == True).order(-ExcursionType.order_id) if not excursions: return redirect(url_for('services.index')) return render_template( 'services/excursions.html', html_class='services_page', excursions=excursions, active_element='excursions' )
def add_excursion(key_id): excursion_type = ExcursionType.retrieve_by_id(key_id) if not excursion_type: return redirect(url_for('excursion.admin.index')) if request.method == 'POST' and 'cancel_btn' in request.form: return redirect(url_for('excursion.admin.edit', key_id=excursion_type.key.id())) form = ExcursionForm() if request.method == 'POST' and form.validate_on_submit(): excursion = Excursion() form.populate_obj(excursion) excursion.uid = str(uuid.uuid1()).replace('-', '') excursion_type.excursions.append(excursion) excursion_type.put() return redirect(url_for('excursion.admin.edit', key_id=excursion_type.key.id())) return render_template( 'excursion/admin/excursion/add.html', ex_form=form, excursion_type=excursion_type )
def get_services_side(active_element=None): excursions = ExcursionType.query(ExcursionType.is_public == True).order(ExcursionType.order_id) regions = Region.query(Region.is_public == True).order(Region.order_id) exhibition = ExhibitionInfo.get_master_db() exhibition = exhibition.description and exhibition.is_public investments = InvestmentInfo.get_master_db().is_public or TenancyInfo.get_master_db().is_public coach = CoachInfo.get_master_db().is_public return render_template( "j_env/services_side.html", excursions=excursions, regions=regions, exhibition=exhibition, investments=investments, coach=coach, active_element=active_element, )
def get_excursion(key_id, uid): excursion_type = ExcursionType.retrieve_by_id(key_id) if not excursion_type: return redirect(url_for('services.index')) for i, e in enumerate(excursion_type.excursions): if e.uid == uid: break else: return redirect(url_for('services.index')) excursion = excursion_type.excursions[i] form = ExcursionOrderForm() if form.validate_on_submit(): order = ExcursionOrder() form.populate_obj(order) order.excursion_name = '%s - %s' % (excursion_type.name, excursion.name) feedback_email = model.Config.get_master_db().feedback_email try: mail.send_mail( sender=feedback_email, to=feedback_email, subject=u'[%s] - Заказ экскурсии [%s]' % ( model.Config.get_master_db().brand_name, order.excursion_name ), reply_to=form.email.data or feedback_email, body=u'Имя: %s\nEmail: %s\nТелефон: %s\nДата: %s\nКол-во человек: %s\nДоп. информация: %s\n' % ( order.name, order.email, order.telephone, order.date, order.people_count, order.additional_info ) ) except Exception, e: flash(u'Не удалось обработать заказ, попробуйте повторить чуть позже.', category='error') logging.error(str(e)) else: flash(u'Спасибо за заказ! Мы свяжемся с Вами в ближайшее время.', category='success') return redirect(url_for('services.excursion', key_id=key_id, uid=uid))