def delete_lodger(self, id): self.lodgers = LodgerModel(db.get_connection()) lod = self.lodgers.get(id) if lod[9] != None: self.change_status("Этот постоялец заселен. Его нельзя удалить.") else: self.lodgers.delete(id) self.change()
def change(self): self.rooms = RoomModel(db.get_connection()).get_all(self.o[7]) self.room_session.setText('\n'.join( ['[x] ' + str(x[3]) for x in self.rooms])) self.lodgers = LodgerModel(db.get_connection()).get_all(self.o[7]) self.lodger_session.setText('\n'.join([ '[x] ' + x[1] + ' ' + str(x[9]) if x[9] else '[x] ' + x[1] for x in self.lodgers ]))
def to_csv(self): data = [] lod = LodgerModel(db.get_connection()) for i in self.choose: data.append(lod.get(self.lodgers[i][0])) print(data) with open("lodgers.csv", "w", newline='') as csv_file: writer = csv.writer(csv_file, delimiter=',') for line in data: writer.writerow(line)
def in_lodger(self): self.lodger = LodgerModel(db.get_connection()) lod = self.lodger.get(self.choose_lodger) if lod[9] != None and lod[9] != 0: self.change_status( "Этот постоялец заселен. Его нельзя заселить заново.") else: self.room = RoomModel(db.get_connection()) room = self.room.get(self.choose_room) if room[4] != 0: self.change_status("Эта комната занята.") #print(room) else: self.lodger.check_in(self.choose_lodger, self.choose_room, self.o[7]) self.room.check_in(self.choose_lodger, self.choose_room) HotelModel(db.get_connection()).in_lodger(self.o[7]) self.change()
def mouseDoubleClickEvent(self, event): x, y = event.x(), event.y() try: if 10 <= x <= 201 and 60 <= y <= 191: x -= 10 y -= 60 x //= 6 y //= 18 self.lodgers = LodgerModel(db.get_connection()).get_all( self.o[7]) self.edit_lodger(self.lodgers[y][0]) if 300 <= x <= 491 and 60 <= y <= 191: x -= 300 y -= 60 x //= 6 y //= 18 self.rooms = RoomModel(db.get_connection()).get_all(self.o[7]) self.edit_room(self.rooms[y][0]) except Exception as e: print(e)
def initUI(self): self.btnadd_hostel.clicked.connect(self.add_lodger) if self.type == -1: self.title.setText("Добавление постояльца") else: lod = LodgerModel(db.get_connection()).get(self.type) self.name.setText(lod[1]) self.familyname.setText(lod[2]) self.fathername.setText(lod[3]) self.birt.setText(lod[4]) self.sex.setText(lod[5]) self.number.setText(lod[6]) self.passport.setText(lod[7]) self.title.setText("Редактирование постояльца")
def add_lodger(self): if self.type == -1: name = self.name.text() familyname = self.familyname.text() fathername = self.fathername.text() birth = self.birt.text() sex = self.sex.text() number = self.number.text() passport = self.passport.text() if name == '': self.change_status("Вы не указали имя") elif familyname == '': self.change_status("Вы не указали фамилию") elif fathername == '': self.change_status("Вы не указали отчество") elif birth == '': self.change_status("Вы не указали дату рождения") elif sex == '': self.change_status("Вы не указали пол") elif number == '': self.change_status("Вы не указали номер телефона") elif passport == '': self.change_status("Вы не указали пасспортные данные") else: lodger = LodgerModel(db.get_connection()) lodger.insert(name, familyname, fathername, number, sex, birth, passport, self.adm[7]) self.close() else: lod = LodgerModel(db.get_connection()).get(self.type) name = self.name.text() familyname = self.familyname.text() fathername = self.fathername.text() birth = self.birt.text() sex = self.sex.text() number = self.number.text() passport = self.passport.text() lodger = LodgerModel(db.get_connection()) lodger.change(self.type, name, familyname, fathername, number, sex, birth, passport, self.adm[7], lod[10]) self.close()
def initUI(self): self.btnto_csv.clicked.connect(self.to_csv) self.lodgers = LodgerModel(db.get_connection()).get_all(self.adm[7]) self.lodger_session.setText('\n'.join([x[1] for x in self.lodgers]))
class AdminM(QWidget, Ui_Qadmin): def __init__(self, obj): super(AdminM, self).__init__() self.setupUi(self) self.o = obj self.choose_lodger = -1 self.choose_room = -1 self.initUI() def initUI(self): self.btnin_lodger.clicked.connect(self.in_lodger) self.btnout_lodger.clicked.connect(self.out_lodger) self.btnadd_lodger.clicked.connect(self.add_lodger) self.btnadd_room.clicked.connect(self.add_room) self.btnto_csv.clicked.connect(self.to_csv) self.change() def mousePressEvent(self, event): if event.button() == Qt.LeftButton: x, y = event.x(), event.y() x -= 10 y -= 60 y //= 18 self.lodgers = LodgerModel(db.get_connection()).get_all(self.o[7]) if x <= 20: lod = LodgerModel(db.get_connection()).get(self.lodgers[y][0]) if lod[9] == None or lod[9] == 0: self.delete_lodger(self.lodgers[y][0]) else: self.change_status( "Нельзя удалить постояльца, который проживает в номере." ) else: self.choose_lodger = self.lodgers[y][0] if x >= 290: x -= 290 self.rooms = RoomModel(db.get_connection()).get_all(self.o[7]) if x <= 20: lod = RoomModel(db.get_connection()).get(self.rooms[y][0]) if lod[4] == 0: self.delete_room(self.rooms[y][0]) else: self.change_status( "Нельзя удалить комнату, в которой проживает постоялец" ) else: self.choose_room = self.rooms[y][0] def mouseDoubleClickEvent(self, event): x, y = event.x(), event.y() try: if 10 <= x <= 201 and 60 <= y <= 191: x -= 10 y -= 60 x //= 6 y //= 18 self.lodgers = LodgerModel(db.get_connection()).get_all( self.o[7]) self.edit_lodger(self.lodgers[y][0]) if 300 <= x <= 491 and 60 <= y <= 191: x -= 300 y -= 60 x //= 6 y //= 18 self.rooms = RoomModel(db.get_connection()).get_all(self.o[7]) self.edit_room(self.rooms[y][0]) except Exception as e: print(e) def add_lodger(self): self.w1 = AddLodgerM(self.o, -1) self.w1.show() self.change() def delete_lodger(self, id): self.lodgers = LodgerModel(db.get_connection()) lod = self.lodgers.get(id) if lod[9] != None: self.change_status("Этот постоялец заселен. Его нельзя удалить.") else: self.lodgers.delete(id) self.change() def in_lodger(self): self.lodger = LodgerModel(db.get_connection()) lod = self.lodger.get(self.choose_lodger) if lod[9] != None and lod[9] != 0: self.change_status( "Этот постоялец заселен. Его нельзя заселить заново.") else: self.room = RoomModel(db.get_connection()) room = self.room.get(self.choose_room) if room[4] != 0: self.change_status("Эта комната занята.") #print(room) else: self.lodger.check_in(self.choose_lodger, self.choose_room, self.o[7]) self.room.check_in(self.choose_lodger, self.choose_room) HotelModel(db.get_connection()).in_lodger(self.o[7]) self.change() def out_lodger(self): self.lodgers = LodgerModel(db.get_connection()) self.lodgers.check_out(self.choose_lodger) self.room = RoomModel(db.get_connection()) self.room.check_out(self.choose_lodger) HotelModel(db.get_connection()).out_lodger(self.o[7]) self.change() def add_room(self): self.w1 = Add_roomM(self.o, -1) self.w1.show() self.change() def delete_room(self, id): self.rooms = RoomModel(db.get_connection()) room = self.rooms.get(id) if room[4] != 0: self.change_status( "Эта камната заселена. Вы не можете её удалить.") else: self.rooms.delete(id) self.change() def edit_lodger(self, id): self.w1 = AddLodgerM(self.o, id) self.w1.show() def edit_room(self, id): self.w1 = Add_roomM(self.o, id) self.w1.show() def to_csv(self): self.w1 = ToCSVM(self.o) self.w1.show() def change_status(self, text): self.status.clear() self.status.append(text) def change(self): self.rooms = RoomModel(db.get_connection()).get_all(self.o[7]) self.room_session.setText('\n'.join( ['[x] ' + str(x[3]) for x in self.rooms])) self.lodgers = LodgerModel(db.get_connection()).get_all(self.o[7]) self.lodger_session.setText('\n'.join([ '[x] ' + x[1] + ' ' + str(x[9]) if x[9] else '[x] ' + x[1] for x in self.lodgers ]))