def new_location(id=None): """Agregado y actualizacion de ojetos Location""" locations = Location.query.order_by('location_name').all() form = forms.CreateLocation(request.form) if request.method == 'GET' and id is not None: loc = Location.query.filter(Location.id == id).one_or_none() if loc is not None: form.name.data = loc.location_name else: abort(404) if request.method == 'POST' and form.validate(): if id is not None: loc = Location.query.filter(Location.id == id).one() loc.location_name = form.name.data else: loc = Location(name=form.name.data) try: if loc.id is None: loc.add() else: loc.update() flash(('success', 'Locacion guardado exitosamente!.')) return redirect(url_for('new_location')) except Exception as e: print(e) flash(('danger', 'Lo sentimos algo salio mal!.')) return render_template('new_location.html', form=form, locations=locations)