def new_device(id=None): """Creacion y actualizacion de objetos Device""" if id is None: form = forms.CreateDevice(request.form) else: form = forms.UpdateDevice(request.form) form.location.choices = [(g.id, g.location_name) for g in Location.query.order_by('location_name').all()] if request.method == 'GET' and id is not None: dev = Device.query.filter(Device.id == id).one_or_none() if dev is not None: form.name.data = dev.name form.location.data = dev.location form.serial_number.data = dev.serial_number form.description.data = dev.description form.teamviwer.data = dev.teamviwer form.type_device.data = dev.type_device form.model.data = dev.model form.marca.data = dev.marca form.system.data = dev.system else: abort(404) if request.method == 'POST' and form.validate(): if id is not None: dev = Device.query.filter(Device.id == id).one() form.populate_obj(dev) else: dev = Device(name=form.name.data, serial_number=form.serial_number.data, description=form.description.data, teamviwer=form.teamviwer.data, type_device=form.type_device.data, location=form.location.data, marca=form.marca.data, model=form.model.data, system=form.system.data) try: if dev.id is None: dev.add() else: dev.update() flash(('success', 'Dispositivo guardado exitosamente!.')) return redirect(url_for('new_device')) except Exception as e: print(e) flash(('danger', 'Lo sentimos algo salio mal!.')) return redirect(url_for('index')) return render_template('new_device.html', form=form)
def post(self): """Nota: se deben suministrar los datos en el body con la cabecera headers={'Content-Type': 'application/json'}""" lista = request.get_json(force=True) dev = Device(name=lista['name'], serial_number='', description=lista['description'], teamviwer='', type_device='dk', location=lista['location'], marca=lista['marca'], model=lista['model'], system=lista['system']) try: dev.add() except Exception as e: print(e) return {'error': 'Lo sentimos un error a ocurrido!'}, 500 return dev.parse_device()