Exemple #1
0
class VistaHome(QWidget):

    def __init__(self, parent=None):
        super(VistaHome, self).__init__(parent)

        #Impostazione generale della vista con loghi e bottoni
        grid_layout = QGridLayout()

        grid_layout.addWidget(self.get_icon('logos/home logos/magazzino.png'), 0, 0)
        grid_layout.addWidget(self.get_icon('logos/home logos/clienti.png'), 0, 1)
        grid_layout.addWidget(self.get_icon('logos/home logos/carrello.png'), 0, 2)

        grid_layout.addWidget(self.get_generic_button("Lista Prodotti", self.go_lista_prodotti), 1, 0)
        grid_layout.addWidget(self.get_generic_button("Lista Clienti", self.go_lista_clienti), 1, 1)
        grid_layout.addWidget(self.get_generic_button("Carrello", self.go_carrello), 1, 2)

        self.setLayout(grid_layout)
        self.setFixedSize(400, 200)
        self.setWindowTitle("Negozio di Elettronica")
        self.setWindowIcon(QtGui.QIcon('logos/logo.png'))


    #Questa funzione restituisce un bottone generico dato il titolo
    def get_generic_button(self, titolo, on_click):
        button = QPushButton(titolo)
        button.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        button.clicked.connect(on_click)
        return button

    #Questa funzione restituisce un logo dato il path
    def get_icon(self, path):
        label_logo = QLabel(self)
        pixmap = QPixmap(path)
        pixmap = pixmap.scaledToWidth(120)
        pixmap = pixmap.scaledToHeight(120)
        label_logo.setPixmap(pixmap)
        label_logo.setFixedSize(120, 120)
        label_logo.setAlignment(Qt.AlignCenter)
        return label_logo

    #Metodo che si occupa di aprire la VistaListaProdotti
    def go_lista_prodotti(self):
        self.vista_lista_prodotti = VistaListaProdotti()
        self.vista_lista_prodotti.show()

    #Metodo che si occupa di aprire la VistaListaClienti
    def go_lista_clienti(self):
        self.vista_lista_clienti = VistaListaClienti()
        self.vista_lista_clienti.show()

    #Metodo che si occupa di aprire la VistaListaCarrello
    def go_carrello(self):
        self.vistacarrello = VistaListaCarrello()
        self.vistacarrello.show()
class VistaHome(QWidget):
    def __init__(self, parent=None):
        super(VistaHome, self).__init__(parent)
        grid_layout = QGridLayout()

        grid_layout.addWidget(
            self.get_generic_button("Lista Servizi", self.go_lista_servizi), 0,
            0)
        grid_layout.addWidget(
            self.get_generic_button("Lista Clienti", self.go_lista_clienti), 0,
            1)
        grid_layout.addWidget(
            self.get_generic_button("Lista Dipendenti",
                                    self.go_lista_dipendenti), 1, 0)
        grid_layout.addWidget(
            self.get_generic_button("Lista Prenotazioni",
                                    self.go_lista_prenotazioni), 1, 1)

        self.setLayout(grid_layout)
        self.resize(400, 300)
        self.setWindowTitle("Gestore Stabilimento PRO")

    '''
    Questa funzione restituisce un bottone generico dato il titolo
    '''

    def get_generic_button(self, titolo, on_click):
        button = QPushButton(titolo)
        button.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        button.clicked.connect(on_click)
        return button

    def go_lista_servizi(self):
        self.vista_lista_servizi = VistaListaServizi()
        self.vista_lista_servizi.show()

    def go_lista_clienti(self):
        self.vista_lista_clienti = VistaListaClienti()
        self.vista_lista_clienti.show()

    def go_lista_dipendenti(self):
        self.vista_lista_dipendenti = VistaListaDipendenti()
        self.vista_lista_dipendenti.show()

    def go_lista_prenotazioni(self):
        self.vista_lista_prenotazioni = VistaListaPrenotazioni()
        self.vista_lista_prenotazioni.show()
Exemple #3
0
class VistaHome(QWidget):
    selezione_campo = None
    def __init__(self, parent=None):
        super(VistaHome, self).__init__(parent)

        #self.setFixedSize(1250, 700)
        self.showMaximized()
        from home.login.Login import Login
        self.controller = ControlloreDipendente(Login.accesso_utente)
        # layout a griglia per la pagina
        self.layout_admin = QGridLayout()
        self.layout_pt = QHBoxLayout()
        self.layout_collab = QHBoxLayout()
        self.layout_admin.setAlignment(Qt.AlignCenter)
        self.layout_pt.setAlignment(Qt.AlignCenter)
        self.layout_collab.setAlignment(Qt.AlignCenter)
        self.layout_admin.setSpacing(25)
        self.layout_pt.setSpacing(25)
        self.layout_collab.setSpacing(25)
        # lista dei campi presenti nel centro polisportivo
        self.lista_campi = ["Calcio", "Calcetto", "Tennis", "Paddle"]
        # inserimento sfondo
        image = QLabel(self)
        pixmap = QPixmap("home/views/centro.png")
        image.setPixmap(pixmap)
        #self.resize(pixmap.width(), pixmap.height())
        image.show()
        # costruttore condizionale
        if Login.autorizzazione_accesso == "Amministratore":
            self.setWindowTitle("Home - Amministratore")
            # VISTA HOME AMMINISTRATORE
            self.layout_admin.addWidget(QLabel("<font size = '6'> <b><u> Bentornato nell'area amministratore! </b></u> </font>"), 0, 0, 1, 2)
            self.layout_admin.addWidget(QLabel("<font size = '5'> <b> Selezionare l'attività da svolgere </b> </font>"),1, 0)
            self.layout_admin.addWidget(QLabel("<font size = '4'> <b> Gestisci prenotazioni campi da gioco </b> </font>"), 2, 0)
            self.layout_admin.addWidget(self.get_combo(self.lista_campi), 2, 1)
            self.layout_admin.addWidget(QLabel("<font size = '4'> <b> Gestisci i dipendenti del tuo centro </b> </font>"), 3, 0)
            self.layout_admin.addWidget(self.pulsante_con_nome("Gestione dipendenti", self.go_lista_dipendenti), 3, 1)
            self.layout_admin.addWidget(QLabel("<font size = '4'> <b> Gestisci i clienti della palestra </b> </font>"), 4, 0)
            self.layout_admin.addWidget(self.pulsante_con_nome("Gestione Palestra", self.go_gestione_palestra), 4, 1)
            self.layout_admin.addWidget(QLabel("<font size = '4'> <b> Gestisci i movimenti di cassa </b> </font>"), 5, 0)
            self.layout_admin.addWidget(self.pulsante_con_nome("Gestione movimenti cassa", self.go_gestione_cassa), 5, 1)
            self.layout_admin.addWidget(self.pulsante_con_nome("Esci", self.funz_esci), 6, 2)
            self.setLayout(self.layout_admin)
        elif Login.autorizzazione_accesso == "Personal Trainer":
            self.setWindowTitle("Home - Personal Trainer")
            # VISTA HOME PERSONAL TRAINER
            v_lay_dip_sx = QVBoxLayout()
            v_lay_dip_dx = QVBoxLayout()
            v_lay_dip_esci = QVBoxLayout()
            v_lay_dip_sx.addStretch()
            v_lay_dip_sx.addWidget(QLabel("<font size = '6'> <b><u> Bentornato nell'area dipendente! </b></u> </font>"))
            v_lay_dip_sx.addStretch()
            v_lay_dip_sx.addWidget(QLabel("<font size = '5'> <b> I tuoi dati: </b> </font>"))
            v_lay_dip_sx.addWidget(self.get_label_info("Nome", self.controller.get_nome_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("Cognome", self.controller.get_cognome_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("Nato a ", self.controller.get_luogo_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("il", self.controller.get_data_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("Codice Fiscale", self.controller.get_cf_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("Telefono", self.controller.get_telefono_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("Email", self.controller.get_email_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("Abilitazione", self.controller.get_abilitazione_dipendente()))
            v_lay_dip_sx.addStretch()
            v_lay_dip_dx.addStretch()
            v_lay_dip_dx.addWidget(QLabel("<font size = '5'> <b> Le tue attività: </b> </font>"))
            v_lay_dip_dx.addWidget(QLabel("<font size = '4'> <b> Gestisci prenotazione campi: </b> </font>"))
            v_lay_dip_dx.addWidget(self.get_combo(self.lista_campi))
            v_lay_dip_dx.addWidget(QLabel("<font size = '4'> <b> Gesisci clienti della palestra: </b> </font>"))
            v_lay_dip_dx.addWidget(self.pulsante_con_nome("Gestione Palestra", self.go_gestione_palestra))
            v_lay_dip_dx.addStretch()
            v_lay_dip_esci.addStretch()
            v_lay_dip_esci.addWidget(self.pulsante_con_nome("Esci", self.funz_esci))
            self.layout_pt.addLayout(v_lay_dip_sx)
            self.layout_pt.addItem(QSpacerItem(100, 100, QSizePolicy.Minimum, QSizePolicy.Minimum))
            self.layout_pt.addLayout(v_lay_dip_dx)
            self.layout_pt.addItem(QSpacerItem(100, 100, QSizePolicy.Minimum, QSizePolicy.Minimum))
            self.layout_pt.addLayout(v_lay_dip_esci)
            self.setLayout(self.layout_pt)
        elif Login.autorizzazione_accesso == "Collaboratore":
            self.setWindowTitle("Home - Collaboratore")
            # VISTA HOME COLLABORATORE
            v_lay_dip_sx = QVBoxLayout()
            v_lay_dip_dx = QVBoxLayout()
            v_lay_dip_esci = QVBoxLayout()
            v_lay_dip_sx.addStretch()
            v_lay_dip_sx.addWidget(QLabel("<font size = '6'> <b><u> Bentornato nell'area dipendente! </b></u> </font>"))
            v_lay_dip_sx.addStretch()
            v_lay_dip_sx.addWidget(QLabel("<font size = '5'> <b> I tuoi dati: </b> </font>"))
            v_lay_dip_sx.addWidget(self.get_label_info("Nome", self.controller.get_nome_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("Cognome", self.controller.get_cognome_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("Nato a ", self.controller.get_luogo_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("il", self.controller.get_data_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("Codice Fiscale", self.controller.get_cf_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("Telefono", self.controller.get_telefono_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("Email", self.controller.get_email_dipendente()))
            v_lay_dip_sx.addWidget(self.get_label_info("Abilitazione", self.controller.get_abilitazione_dipendente()))
            v_lay_dip_sx.addStretch()
            v_lay_dip_dx.addStretch()
            v_lay_dip_dx.addWidget(QLabel("<font size = '5'> <b> Le tue attività: </b> </font>"))
            v_lay_dip_dx.addWidget(QLabel("<font size = '4'> <b> Gestisci prenotazione campi: </b> </font>"))
            v_lay_dip_dx.addWidget(self.get_combo(self.lista_campi))
            v_lay_dip_dx.addWidget(QLabel("<font size = '4'> <b> Gesisci clienti della palestra: </b> </font>"))
            v_lay_dip_dx.addWidget(self.pulsante_con_nome("Gestione Palestra", self.go_gestione_palestra))
            v_lay_dip_dx.addWidget(QLabel("<font size = '4'> <b> Gesisci movimenti di cassa: </b> </font>"))
            v_lay_dip_dx.addWidget(self.pulsante_con_nome("Gestione movimenti cassa", self.go_gestione_cassa))
            v_lay_dip_dx.addStretch()
            v_lay_dip_esci.addStretch()
            v_lay_dip_esci.addWidget(self.pulsante_con_nome("Esci", self.funz_esci))
            self.layout_collab.addLayout(v_lay_dip_sx)
            self.layout_collab.addItem(QSpacerItem(100, 100, QSizePolicy.Minimum, QSizePolicy.Minimum))
            self.layout_collab.addLayout(v_lay_dip_dx)
            self.layout_collab.addItem(QSpacerItem(100, 100, QSizePolicy.Minimum, QSizePolicy.Minimum))
            self.layout_collab.addLayout(v_lay_dip_esci)
            self.setLayout(self.layout_collab)

    # metodo che legge la selezione della combobox
    def get_combo(self, lista_campi):
        self.combo_campo = QComboBox()
        combo_model = QStandardItemModel(self.combo_campo)
        combo_model.appendRow(QStandardItem("Gestione campi"))
        for campo in lista_campi:
            combo_model.appendRow(QStandardItem(campo))
        self.combo_campo.activated.connect(self.go_gestione_campi)
        self.combo_campo.setModel(combo_model)
        self.combo_campo.setStyleSheet("background-color: #add8e6; font-size: 15px; font-weight: bold;")
        return self.combo_campo

    def get_label_info(self, testo, valore):
        current_label = QLabel("{}: {}".format('<b>{}</b>'.format(testo), valore))
        font_nome = current_label.font()
        current_label.setFont(font_nome)
        current_font = current_label.font()
        current_font.setPointSize(18)
        current_label.setFont(current_font)
        return current_label

    # metodo che definisce la costruzione di un bottone con il suo titolo
    def pulsante_con_nome(self, titolo, on_click):
        pulsante = QPushButton(titolo)
        pulsante.setStyleSheet("background-color: #add8e6; font-size: 15px; font-weight: bold;")
        # pulsante.setFixedWidth(500)
        # pulsante.setFixedHeight(40)
        # pulsante.setStyleSheet("font-size: 24px")
        if titolo == 'Esci':
            pulsante.setStyleSheet("background-color: #66cdaa; font-size: 13px; font-weight: bold;")
            pulsante.setShortcut("Esc")
        pulsante.clicked.connect(on_click)
        return pulsante

    # metodo che restituisce la lista dei clienti iscritti e registrati nella palestra
    def go_gestione_palestra(self):
        self.vista_lista_clienti = VistaListaClienti()
        self.close()
        return self.vista_lista_clienti.show()

    # metodo che restituisce la lista dei dipendenti del centro sportivo
    def go_lista_dipendenti(self):
        self.vista_lista_dipendenti = VistaListaDipendenti()
        self.close()
        return self.vista_lista_dipendenti.show()

    # metodo che reindirizza alla finestra di gestione delle prenotazioni
    def go_gestione_campi(self):
        if self.combo_campo.currentIndex()!=0:
            VistaHome.selezione_campo = self.combo_campo.currentText()
            self.cal = Calendario()
            self.close()
            return self.cal.show()

    # metodo che reindirizza alla gestione della cassa
    def go_gestione_cassa(self):
        self.vista_lista_movimenti = VistaListaMovimenti()
        self.close()
        return self.vista_lista_movimenti.show()

    def funz_esci(self):
        from home.login.Login import Login
        self.vista_login = Login()
        self.close()
        return self.vista_login.show()