def store_edit(store_id): if not current_user.has_capability('editor'): abort(403) store = Store.query.get_or_404(store_id) if not current_user.has_capability( 'admin') and store.region not in current_user.region: abort(403) form = StoreForm(obj=store) if form.validate_on_submit(): opening_times_data = {} for field in ['all', 'delivery', 'pickup']: opening_times_data[field] = getattr(form, 'opening_times_%s' % field) delattr(form, 'opening_times_%s' % field) form.populate_obj(store) setattr(store, 'revisited_%s' % current_user.role, datetime.utcnow()) db.session.add(store) db.session.commit() save_opening_times_form(form, opening_times_data, store) es_index_store_delay.delay(store.id) create_store_revision_delay.delay(store.id) upload_files(form, store, 'store') flash('Geschäft erfolgreich gespeichert', 'success') return redirect('/admin/stores') return render_template('store-edit.html', form=form, store=store, opening_times=get_opening_times_for_form(store.id))
def store_new(): if not current_user.has_capability('editor'): abort(403) form = StoreForm() if form.validate_on_submit(): store = Store() opening_times_data = {} for field in ['all', 'delivery', 'pickup']: opening_times_data[field] = getattr(form, 'opening_times_%s' % field) delattr(form, 'opening_times_%s' % field) form.populate_obj(store) db.session.add(store) db.session.commit() upload_files(form, store, 'store') geocode_store_delay.delay(store.id) save_opening_times_form(form, opening_times_data, store) es_index_store_delay.apply_async((store.id, ), countdown=5) create_store_revision_delay.apply_async((store.id, ), countdown=5) flash('Geschäft erfolgreich gespeichert', 'success') return redirect('/admin/stores') return render_template('store-new.html', form=form)