def edit_hotel(key_id, uid): region = Region.retrieve_by_id(key_id) if not region: return redirect(url_for('hotel.admin.index')) for i, hotel in enumerate(region.hotels): if hotel.uid == uid: break else: return redirect(url_for('hotel.admin.reg_edit', key_id=key_id)) if request.method == 'POST' and 'del_hotel' in request.form: del region.hotels[i] region.put() return redirect(url_for('hotel.admin.reg_edit', key_id=key_id)) form = HotelForm(obj=hotel) if request.method == 'POST' and form.validate_on_submit(): form.populate_obj(region.hotels[i]) set_geo(form, region.hotels[i]) region.put() return redirect(url_for('hotel.admin.reg_edit', key_id=key_id)) get_geo(hotel, form) return render_template( 'hotel/admin/edit_hotel.html', hform=form, region=region, hotel=hotel )
def get_region(key_id): region = Region.retrieve_by_id(key_id) if not region or not region.is_public: return redirect(url_for('hotel.index')) return render_template( 'hotel/region.html', html_class='services_page', region=region )
def add_hotel(key_id): region = Region.retrieve_by_id(key_id) if not region: return redirect(url_for('hotel.admin.index')) if 'cancel_hotel' in request.form: return redirect(url_for('hotel.admin.reg_edit', key_id=key_id)) form = HotelForm() if form.validate_on_submit(): hotel = Hotel(uid=str(uuid.uuid1()).replace('-','')) form.populate_obj(hotel) set_geo(form, hotel) region.hotels.append(hotel) region.put() return redirect(url_for('hotel.admin.reg_edit', key_id=key_id)) return render_template( 'hotel/admin/add_hotel.html', hform=form, region=region )
def edit(key_id): region = Region.retrieve_by_id(key_id) if not region: return redirect(url_for('hotel.admin.index')) if request.method == 'POST' and 'delete_region' in request.form: region.key.delete() return redirect(url_for('hotel.admin.index')) hform = HotelForm() rform = RegionForm(obj=region) get_geo(region, rform) if request.method == 'POST'\ and 'add_hotel' not in request.form\ and rform.validate_on_submit(): rform.populate_obj(region) set_geo(rform, region) region.put() return redirect(url_for('hotel.admin.index')) return render_template( 'hotel/admin/edit_region.html', form=rform, hform=hform, region=region )