Esempio n. 1
0
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)
Esempio n. 2
0
 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()