コード例 #1
0
 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
コード例 #2
0
 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
コード例 #3
0
 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')
コード例 #4
0
 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
コード例 #5
0
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()
コード例 #6
0
 def get(self, room_state_id: str):
     RoomState.delete_room_state(room_state_id)
     self.redirect('/administrators/showreservations')
コード例 #7
0
 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')
コード例 #8
0
 def get(self, room_state_id):
     RoomState.delete_room_state(room_state_id)
     self.redirect('/rooms/my')
コード例 #9
0
 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')