def edit(key_id): contact = Contact.retrieve_by_id(key_id) if not contact: return redirect(url_for('contacts.admin.index')) if request.method == 'POST' and 'delete_contact' in request.form: contact.key.delete() return redirect(url_for('contacts.admin.index')) form = ContactForm(obj=contact) if contact.geo: form.latitude.data = contact.geo.lat form.longitude.data = contact.geo.lon if request.method == 'POST' and form.validate_on_submit(): form.populate_obj(contact) if form.latitude.data and form.longitude.data: contact.geo = ndb.GeoPt(form.latitude.data, form.longitude.data) else: contact.geo = None contact.put() return redirect(url_for('contacts.admin.index')) return render_template( 'contacts/admin/edit.html', form=form, contact=contact )
def index(): form = ContactForm() if request.method == 'POST' and form.validate_on_submit(): contact = Contact() form.populate_obj(contact) if form.latitude.data and form.longitude.data: contact.geo = ndb.GeoPt(form.latitude.data, form.longitude.data) contact.put() return redirect(url_for('contacts.admin.index')) contacts = Contact.query().order(-Contact.order_id) return render_template( 'contacts/admin/index.html', form=form, contacts=contacts )