def additional_variables_prepare(self, variables: dict): clients = Client.get_all_clients() client_dict = dict() state_dict_payed = dict() state_dict_unpayed = dict() for client in clients: client_dict[client.id] = dict() client_dict[client.id]['client_name'] = client.name client_dict[client.id]['client_surname'] = client.surname states = RoomState.get_all_room_states_for_client(client.id) for state in states: if state.payment: state_dict_payed[state.id] = dict() state_dict_payed[state.id]['client_id'] = client.id state_dict_payed[state.id]['room_name'] = Room.get_room(state.room).name state_dict_payed[state.id]['reserved_from'] = state.reserved_from state_dict_payed[state.id]['reserved_to'] = state.reserved_to if state.payment: state_dict_payed[state.id]['state'] = 'PAYED' else: state_dict_payed[state.id]['state'] = 'RESERVED' else: state_dict_unpayed[state.id] = dict() state_dict_unpayed[state.id]['client_id'] = client.id state_dict_unpayed[state.id]['room_name'] = Room.get_room(state.room).name state_dict_unpayed[state.id]['reserved_from'] = state.reserved_from state_dict_unpayed[state.id]['reserved_to'] = state.reserved_to if state.payment: state_dict_unpayed[state.id]['state'] = 'PAYED' else: state_dict_unpayed[state.id]['state'] = 'RESERVED' variables['client_dict'] = client_dict variables['state_dict_payed_dict'] = state_dict_payed variables['state_dict_unpayed_dict'] = state_dict_unpayed
def prepare_rooms(self) -> dict: result_dict = dict() date_start = datetime.date(*tuple([int(x) for x in self.get_argument('date_start').split('/')])) date_end = datetime.date(*tuple([int(x) for x in self.get_argument('date_end').split('/')])) for room in Room.get_all_rooms(): if RoomState.check_colliding_states_for_room(room.id, date_start=date_start, date_end=date_end) == []: result_dict[room.id] = { 'name' : room.name, 'id' : room.id} return result_dict
def post(self): user_id = self.get_argument('user_id') room_id = self.get_argument('room_id') date_start = datetime.date(*tuple([int(x) for x in self.get_argument('date_start').split('/')])) date_end = datetime.date(*tuple([int(x) for x in self.get_argument('date_end').split('/')])) if date_start > date_end: self.set_cookie('collide', 'val') self.redirect('/administrators/reservation') elif RoomState.check_colliding_states_for_room(int(room_id), date_start, date_end) == []: room_state = RoomState( reserved_from=date_start, reserved_to=date_end, room=int(room_id), client=int(user_id)) RoomState.persist_room_state(room_state) self.redirect('/administrators') else: self.set_cookie('collide', 'val') self.redirect('/administrators/reservation')
def prepare_room_states(self) -> dict: result_dict = dict() room_states = RoomState.get_all_room_states_for_client(int(self.get_secure_cookie('id'))) for room_state in room_states: if room_state.room not in result_dict: result_dict[room_state.room] = dict() result_dict[room_state.room][room_state.id] = dict() result_dict[room_state.room][room_state.id]['name'] = Room.get_room(room_state.room).name result_dict[room_state.room][room_state.id]['date_from'] = room_state.reserved_from result_dict[room_state.room][room_state.id]['date_to'] = room_state.reserved_to if room_state.payment: result_dict[room_state.room][room_state.id]['state'] = 'PAYED' else: result_dict[room_state.room][room_state.id]['state'] = 'RESERVED' result_dict[room_state.room][room_state.id]['pay'] = room_state.payment result_dict[room_state.room][room_state.id]['id'] = room_state.id return result_dict
def create_sample_data(): if get_engine().dialect.has_table(get_engine(), 'user'): return conn = get_engine() create_tables(conn) #add some client session.begin() for client in [ Client(name=('example_name_%s' % x), surname=('example_surname_%s' % x)) for x in range(1, 4) ]: session.add(client) session.commit() #add some user session.begin() for user in [ User(login=('user_%s' % x), password=('user_%s' % x), client=x, permission_level=x) for x in range(1, 4) ]: session.add(user) session.commit() #add some rooms session.begin() for room in [Room(name=('room_%s' % x)) for x in range(1, 4)]: session.add(room) session.commit() #add some reservations session.begin() for roomstate in [ RoomState(reserved_from=datetime.date(2016, 11, 15), reserved_to=datetime.date(2016, 11, 17 + x), room=x, client=3) for x in range(1, 4) ]: session.add(roomstate) session.commit()
def get(self, room_state_id: str): RoomState.delete_room_state(room_state_id) self.redirect('/administrators/showreservations')
def get(self, room_state_id: str): room_state = RoomState.get_room_state_by_id(room_state_id) room_state.payment = True RoomState.update_room_state(room_state) self.redirect('/administrators/showreservations')
def get(self, room_state_id): RoomState.delete_room_state(room_state_id) self.redirect('/rooms/my')
def get(self, room_state_id): room_state = RoomState.get_room_state_by_id(room_state_id) room_state.payment = True RoomState.update_room_state(room_state) self.redirect('/rooms/my')