Exemple #1
0
    def post(self, obj_id=None):
        """
       Post room(s)
       Create a new room/ Update a room
       ---
       tags:
         - rooms
       parameters:
         - in: path
           name: obj_id
         - in: body
           name: body
           schema:
             id: Room
             required:
               - number
             properties:
               number:
                 type: integer
                 description: room number
       responses:
         201:
           description: Room created
       """
        data = self.prepare_data()
        form = RoomForm(data, csrf_enabled=False)
        if form.validate():
            if obj_id:
                room = Room.get_by_id(int(obj_id))
                if not room:
                    abort(404, message="Room with key ({}) not found".format(obj_id))

                room.is_booked = form.is_booked.data if form.is_booked.data else room.is_booked
                room.put()

                output = self.output_fields
                output.update(self.resource_fields)
                return marshal(room, output), 200

            room = Room(number=form.number.data, is_booked=form.is_booked.data)
            room.put()
            room.id = str(room.key.id())
            room.put()
            output = self.output_fields
            output.update(self.resource_fields)
            return marshal(room, output), 201

        error_data = self.prepare_errors(form.errors)
        raise CustomException(code=400, name='Validation Failed', data=error_data)
def new_room():
    form = RoomForm(request.form)
    form.city.choices = [(city.id, city.desc)
                         for city in db.session.query(City).all()]
    if request.method == 'POST' and form.validate():
        room = form.getObj(Room())
        room.user_id = current_user.id
        db.session.add(room)
        db.session.commit()
        path = "rooms/room" + str(room.id)
        os.mkdir(path)
        flash('Anúncio adicionado'.decode('utf-8'), 'success')
        return redirect(url_for('dashboard'))
    return render_template('room/edit_room.html',
                           form=form,
                           action='Adicionar')
def edit_room(id):
    room = db.session.query(Room).filter(Room.id == id).one()
    form = RoomForm(request.form, room)
    form.city.choices = [(city.id, city.desc)
                         for city in db.session.query(City).all()]
    if request.method == 'GET':
        city = City.query.get(room.city_id)
        form.city.choices = [(city.id, city.desc)
                             for city in db.session.query(City).filter(
                                 City.state == city.state).all()]
        form.populateForm(room)
    if request.method == 'POST' and form.validate():
        room = form.getObj(room)
        db.session.commit()
        flash('Anúncio Atualizado'.decode('utf-8'), 'success')
        return redirect(url_for('dashboard'))
    return render_template('room/edit_room.html', form=form, action='Editar')
Exemple #4
0
def new_room():
    form = RoomForm(request.form)

    print form.errors
    if request.method == 'POST':
        Name = request.form['Name']
        SensorID = request.form['SensorID']
        print Name, " ", SensorID

        if request.method == "POST" and form.validate():
            new_room = Room()
            new_room.Name = form.Name.data
            new_room.SensorID = form.SensorID.data
            db_session.add(new_room)
            db_session.commit()
            flash('Room Added Successfully!')
        else:
            flash(form.errors)

    return render_template('newroom.html', form=form)