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')
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)