Ejemplo n.º 1
0
    def remove_client(self):
        """
            Remove a client from the event's subscriptions.
        """

        # If there is a client selected, removes it.
        # If there is not, shows up an error message.
        try:
            current_subscription = self.subscriptionList.currentRow()
            subscription_id = self.clients[current_subscription][0]
            # Asks if the user really wants to remove the client
            choice = QtGui.QMessageBox.question(
                self, u"Apagar inscrição",
                u"Tem certeza que deseja apagar esta inscrição?",
                QtGui.QMessageBox.Yes | QtGui.QMessageBox.No
            )
            if choice == QtGui.QMessageBox.Yes:
                cursor.execute(
                    "DELETE FROM subscriptions WHERE id=?",
                    (str(subscription_id),)
                )
                conn.commit()
            else:
                pass
            self.load_list()
        except IndexError:
            self.errorMsg.setText(u"Selecione um cliente existente!")
Ejemplo n.º 2
0
    def remove_event(self):
        """
            Delete an existing event.
        """
        # Verifies if there is a selected event
        try:
            # Gets the event id
            r = self.eventsTable.currentRow()
            event_id = self.eventsTable.item(r, 0).text()

            # Asks if the user really wants to remove the event
            choice = QtGui.QMessageBox.question(
                self, u"Apagar evento",
                u"Tem certeza que deseja apagar este evento?",
                QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)
            if choice == QtGui.QMessageBox.Yes:
                cursor.execute("DELETE FROM events WHERE id=?",
                               (str(event_id), ))
                conn.commit()
            else:
                pass

            # Updates the events table
            self.load_table()
        except AttributeError:
            self.errorMsg.setText(u"Selecione um registro existente!")
    def remove_client(self):
        """
            Remove a client from the event's subscriptions.
        """

        # If there is a client selected, removes it.
        # If there is not, shows up an error message.
        try:
            current_subscription = self.subscriptionList.currentRow()
            subscription_id = self.clients[current_subscription][0]
            # Asks if the user really wants to remove the client
            choice = QtGui.QMessageBox.question(
                self, u"Apagar inscrição",
                u"Tem certeza que deseja apagar esta inscrição?",
                QtGui.QMessageBox.Yes | QtGui.QMessageBox.No
            )
            if choice == QtGui.QMessageBox.Yes:
                cursor.execute(
                    "DELETE FROM subscriptions WHERE id=?",
                    str(subscription_id)
                )
                conn.commit()
            else:
                pass
            self.load_list()
        except IndexError:
            self.errorMsg.setText(u"Selecione um cliente existente!")
    def remove_signature(self):
        """
            Delete an existing signature.
        """
        # Verifies if there is a selected signature
        try:
            # Gets the selected signature id
            sig_id = self.signatures[self.signaturesList.currentRow()][0]

            # Asks if the user really wants to delete the signature
            choice = QtGui.QMessageBox.question(
                self, u"Apagar assinatura",
                u"Tem certeza que deseja apagar esta assinatura?",
                QtGui.QMessageBox.Yes | QtGui.QMessageBox.No
            )

            if choice == QtGui.QMessageBox.Yes:
                os.remove(os.path.join(app_dir, "signatures",
                                       "{0}.png".format(str(sig_id))))
                cursor.execute(
                    "DELETE FROM signatures WHERE id=?",
                    (str(sig_id),)
                )
                conn.commit()
            else:
                pass

            # Updates the signatures list
            self.load_list()
        except IndexError:
            self.errorMsg.setText(u"Selecione um registro existente!")
    def remove_event(self):
        """
            Delete an existing event.
        """
        # Verifies if there is a selected event
        try:
            # Gets the event id
            r = self.eventsTable.currentRow()
            event_id = self.eventsTable.item(r, 0).text()

            # Asks if the user really wants to remove the event
            choice = QtGui.QMessageBox.question(
                self, u"Apagar evento",
                u"Tem certeza que deseja apagar este evento?",
                QtGui.QMessageBox.Yes | QtGui.QMessageBox.No
            )
            if choice == QtGui.QMessageBox.Yes:
                cursor.execute("DELETE FROM events WHERE id=?", str(event_id))
                conn.commit()
            else:
                pass

            # Updates the events table
            self.load_table()
        except AttributeError:
            self.errorMsg.setText(u"Selecione um registro existente!")
Ejemplo n.º 6
0
 def add_client(self):
     cursor.execute("INSERT INTO subscriptions VALUES (NULL,?,?)",
                    (str(self.event_id),
                     str(self.clients[self.clientsList.currentIndex()][0])))
     conn.commit()
     self.certificates_instance.load_list()
     self.hide()
Ejemplo n.º 7
0
 def save_data(self):
     if self.clientNameLineEdit.text() == "":
         self.errorMsg.setText("O nome precisa estar preenchido!")
     elif self.clientEmailLineEdit.text() == "":
         self.errorMsg.setText("O email precisa estar preenchido!")
     elif validar_cpf(self.clientRegisterLineEdit.text()) == False:
         self.errorMsg.setText(u"O CPF é inválido!")
     else:
         if self.client_id:
             cursor.execute(
                 """
                             UPDATE clients
                             SET name=?,
                             email=?,
                             register=?
                             WHERE id=?
                            """, (str(self.clientNameLineEdit.text()),
                                  str(self.clientEmailLineEdit.text()),
                                  str(self.clientRegisterLineEdit.text()),
                                  str(self.client_id)))
         else:
             cursor.execute("INSERT INTO clients VALUES (NULL,?,?,?)",
                            (str(self.clientNameLineEdit.text()),
                             str(self.clientEmailLineEdit.text()),
                             str(self.clientRegisterLineEdit.text())))
         conn.commit()
         self.clients_list_instance.load_table()
         self.hide()
Ejemplo n.º 8
0
    def remove_signature(self):
        """
            Delete an existing signature.
        """
        # Verifies if there is a selected signature
        try:
            # Gets the selected signature id
            sig_id = self.signatures[self.signaturesList.currentRow()][0]

            # Asks if the user really wants to delete the signature
            choice = QtGui.QMessageBox.question(
                self, u"Apagar assinatura",
                u"Tem certeza que deseja apagar esta assinatura?",
                QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)

            if choice == QtGui.QMessageBox.Yes:
                os.remove(
                    os.path.join(app_dir, "signatures",
                                 "{0}.png".format(str(sig_id))))
                cursor.execute("DELETE FROM signatures WHERE id=?",
                               (str(sig_id), ))
                conn.commit()
            else:
                pass

            # Updates the signatures list
            self.load_list()
        except IndexError:
            self.errorMsg.setText(u"Selecione um registro existente!")
 def add_client(self):
     cursor.execute("INSERT INTO subscriptions VALUES (NULL,?,?)",
                   (
                   str(self.event_id),
                   str(self.clients[self.clientsList.currentIndex()][0])
                   ))
     conn.commit()
     self.certificates_instance.load_list()
     self.hide()
Ejemplo n.º 10
0
def executeSQL(sql):
    try:
        print('executeSQL = {}'.format(sql))
        curs = conn.cursor()
        curs.execute(sql)
        conn.commit()
        return True
    except IntegrityError:
        return False
Ejemplo n.º 11
0
    def save_data(self):
        """
            Saves the client data.
        """
        # Verifies if all fields are filled
        if unicode(self.clientNameLineEdit.text()) == "":
            self.errorMsg.setText(u"O nome precisa estar preenchido!")
        elif unicode(self.clientEmailLineEdit.text()) == "":
            self.errorMsg.setText(u"O email precisa estar preenchido!")
        elif unicode(validar_cpf(self.clientRegisterLineEdit.text())) is False:
            self.errorMsg.setText(u"O CPF é inválido!")
        else:
            if self.client_id:
                # Updates the record if it is an existing client
                cursor.execute(
                    "UPDATE clients SET name=?, email=?, register=? \
                    WHERE id=?", (unicode(self.clientNameLineEdit.text()),
                                  unicode(self.clientEmailLineEdit.text()),
                                  unicode(self.clientRegisterLineEdit.text()),
                                  str(self.client_id)))
                conn.commit()
                # Updates the table
                self.clients_list_instance.load_table()
                # Hide the dialog
                self.hide()
            else:
                # Verifies if the user is trying to
                # register an existent client
                cursor.execute("SELECT id FROM clients WHERE register=?",
                               (str(self.clientRegisterLineEdit.text()), ))
                existing_user = cursor.fetchone()

                if existing_user:
                    # Shows up an error message
                    error = QtGui.QMessageBox()
                    error.setIcon(QtGui.QMessageBox.Critical)
                    error.setText(u"O cliente já está cadastrado!")
                    error.setInformativeText(u"Já existe um cliente \
                                            com este CPF cadastrado \
                                            no programa.")
                    error.setWindowTitle(u"Cliente já cadastrado!")
                    error.setStandardButtons(QtGui.QMessageBox.Ok)
                    error.exec_()
                else:
                    # Register the client
                    cursor.execute(
                        "INSERT INTO clients VALUES (NULL,?,?,?)",
                        (unicode(self.clientNameLineEdit.text()),
                         unicode(self.clientEmailLineEdit.text()),
                         unicode(self.clientRegisterLineEdit.text())))
                    conn.commit()
                    # Updates the table
                    self.clients_list_instance.load_table()
                    # Hide the dialog
                    self.hide()
Ejemplo n.º 12
0
 def remove_signature(self):
     try:
         sig_id = self.signatures[self.signaturesList.currentRow()][0]
         choice = QtGui.QMessageBox.question(self, "Apagar assinatura",
         "Tem certeza que deseja apagar esta assinatura?",
         QtGui.QMessageBox.Yes |
         QtGui.QMessageBox.No)
         if choice == QtGui.QMessageBox.Yes:
             cursor.execute("DELETE FROM signatures WHERE id=?", str(sig_id))
             conn.commit()
         else:
             pass
         self.load_list()
     except IndexError:
         self.errorMsg.setText("Selecione um registro existente!")
Ejemplo n.º 13
0
    def save_data(self):
        if unicode(self.clientNameLineEdit.text()) == "":
            self.errorMsg.setText(u"O nome precisa estar preenchido!")
        elif unicode(self.clientEmailLineEdit.text()) == "":
            self.errorMsg.setText(u"O email precisa estar preenchido!")
        elif unicode(validar_cpf(self.clientRegisterLineEdit.text())) == False:
            self.errorMsg.setText(u"O CPF é inválido!")
        else:
            if self.client_id:
                cursor.execute(
                    """
                                UPDATE clients
                                SET name=?,
                                email=?,
                                register=?
                                WHERE id=?
                               """,
                    (unicode(self.clientNameLineEdit.text()),
                     unicode(self.clientEmailLineEdit.text()),
                     unicode(self.clientRegisterLineEdit.text()),
                     str(self.client_id)))
                conn.commit()
                self.clients_list_instance.load_table()
                self.hide()
            else:
                cursor.execute("SELECT id FROM clients WHERE register=?",
                               [str(self.clientRegisterLineEdit.text())])
                existing_user = cursor.fetchone()

                if existing_user:
                    error = QtGui.QMessageBox()
                    error.setIcon(QtGui.QMessageBox.Critical)
                    error.setText(u"O cliente já está cadastrado!")
                    error.setInformativeText(
                        u"Já existe um cliente com este CPF cadastrado no programa."
                    )
                    error.setWindowTitle(u"Cliente já cadastrado!")
                    error.setStandardButtons(QtGui.QMessageBox.Ok)
                    error.exec_()
                else:
                    cursor.execute(
                        "INSERT INTO clients VALUES (NULL,?,?,?)",
                        (unicode(self.clientNameLineEdit.text()),
                         unicode(self.clientEmailLineEdit.text()),
                         unicode(self.clientRegisterLineEdit.text())))
                    conn.commit()
                    self.clients_list_instance.load_table()
                    self.hide()
 def remove_client(self):
     try:
         subscription_id = self.clients[self.subscriptionList.currentRow()][0]
         choice = QtGui.QMessageBox.question(self, u"Apagar inscrição",
                                             u"Tem certeza que deseja apagar esta inscrição?",
                                             QtGui.QMessageBox.Yes |
                                             QtGui.QMessageBox.No)
         if choice == QtGui.QMessageBox.Yes:
             cursor.execute("DELETE FROM subscriptions WHERE id=?",
                             str(subscription_id))
             conn.commit()
         else:
             pass
         self.load_list()
     except IndexError:
         self.errorMsg.setText(u"Selecione um cliente existente!")
Ejemplo n.º 15
0
 def remove_client(self):
     try:
         r = self.clientsTable.currentRow()
         client_id = self.clientsTable.item(r,0).text()
         choice = QtGui.QMessageBox.question(self, u"Apagar cliente",
                                             u"Tem certeza que deseja apagar este cliente?",
                                             QtGui.QMessageBox.Yes |
                                             QtGui.QMessageBox.No)
         if choice == QtGui.QMessageBox.Yes:
             cursor.execute("DELETE FROM clients WHERE id=?", str(client_id))
             conn.commit()
         else:
             pass
         self.load_table()
     except AttributeError:
         self.errorMsg.setText(u"Selecione um registro existente!")
Ejemplo n.º 16
0
 def remove_event(self):
     try:
         r = self.eventsTable.currentRow()
         event_id = self.eventsTable.item(r,0).text()
         choice = QtGui.QMessageBox.question(self, "Apagar evento",
                                             "Tem certeza que deseja apagar este evento?",
                                             QtGui.QMessageBox.Yes |
                                             QtGui.QMessageBox.No)
         if choice == QtGui.QMessageBox.Yes:
             cursor.execute("DELETE FROM events WHERE id=?", str(event_id))
             conn.commit()
         else:
             pass
         self.load_table()
     except AttributeError:
         self.errorMsg.setText("Selecione um registro existente!")
Ejemplo n.º 17
0
 def remove_signature(self):
     try:
         sig_id = self.signatures[self.signaturesList.currentRow()][0]
         choice = QtGui.QMessageBox.question(
             self, "Apagar assinatura",
             "Tem certeza que deseja apagar esta assinatura?",
             QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)
         if choice == QtGui.QMessageBox.Yes:
             cursor.execute("DELETE FROM signatures WHERE id=?",
                            str(sig_id))
             conn.commit()
         else:
             pass
         self.load_list()
     except IndexError:
         self.errorMsg.setText("Selecione um registro existente!")
Ejemplo n.º 18
0
    def save_data(self):
        if unicode(self.clientNameLineEdit.text()) == "":
            self.errorMsg.setText(u"O nome precisa estar preenchido!")
        elif unicode(self.clientEmailLineEdit.text()) == "":
            self.errorMsg.setText(u"O email precisa estar preenchido!")
        elif unicode(validar_cpf(self.clientRegisterLineEdit.text())) == False:
            self.errorMsg.setText(u"O CPF é inválido!")
        else:
            if self.client_id:
                cursor.execute("""
                                UPDATE clients
                                SET name=?,
                                email=?,
                                register=?
                                WHERE id=?
                               """,(
                               unicode(self.clientNameLineEdit.text()),
                               unicode(self.clientEmailLineEdit.text()),
                               unicode(self.clientRegisterLineEdit.text()),
                               str(self.client_id)
                               ))
                conn.commit()
                self.clients_list_instance.load_table()
                self.hide()
            else:
                cursor.execute("SELECT id FROM clients WHERE register=?",
                              [str(self.clientRegisterLineEdit.text())])
                existing_user = cursor.fetchone()

                if existing_user:
                    error = QtGui.QMessageBox()
                    error.setIcon(QtGui.QMessageBox.Critical)
                    error.setText(u"O cliente já está cadastrado!")
                    error.setInformativeText(u"Já existe um cliente com este CPF cadastrado no programa.")
                    error.setWindowTitle(u"Cliente já cadastrado!")
                    error.setStandardButtons(QtGui.QMessageBox.Ok)
                    error.exec_()
                else:
                    cursor.execute("INSERT INTO clients VALUES (NULL,?,?,?)",
                                  (
                                    unicode(self.clientNameLineEdit.text()),
                                    unicode(self.clientEmailLineEdit.text()),
                                    unicode(self.clientRegisterLineEdit.text())
                                  ))
                    conn.commit()
                    self.clients_list_instance.load_table()
                    self.hide()
 def save_data(self):
     """
         Saves the event data.
     """
     # Verifies if all fields are filled
     if unicode(self.eventTitleLineEdit.text()) == "":
         self.errorMsg.setText(u"O título precisa ser preenchido!")
     elif len(unicode(self.eventStartDateLineEdit.text())) < 10 or \
             len(unicode(self.eventEndDateLineEdit.text())) < 10:
         self.errorMsg.setText(u"As datas precisam estar \
                               em um formato xx/xx/xxxx!")
     elif unicode(self.eventHoursLineEdit.text()) == "":
         self.errorMsg.setText(u"As horas precisam ser um inteiro!")
     else:
         if self.event_id:
             # Updates the record if it is an existing event
             cursor.execute(
                 "UPDATE events SET title=?, start_date=?, end_date=?, \
                 hours=?, content=? WHERE id=?",
                 (
                     unicode(self.eventTitleLineEdit.text()),
                     unicode(self.eventStartDateLineEdit.text()),
                     unicode(self.eventEndDateLineEdit.text()),
                     unicode(self.eventHoursLineEdit.text()),
                     unicode(self.eventContentTextEdit.toPlainText()),
                     str(self.event_id)
                 )
             )
         else:
             # Register the event
             cursor.execute(
                 "INSERT INTO events VALUES (NULL,?,?,?,?,?)",
                 (
                     unicode(self.eventTitleLineEdit.text()),
                     unicode(self.eventStartDateLineEdit.text()),
                     unicode(self.eventEndDateLineEdit.text()),
                     unicode(self.eventHoursLineEdit.text()),
                     unicode(self.eventContentTextEdit.toPlainText())
                 )
             )
         # Saves the database
         conn.commit()
         # Update the table
         self.events_list_instance.load_table()
         # Hide the dialog
         self.hide()
Ejemplo n.º 20
0
 def remove_client(self):
     try:
         subscription_id = self.clients[
             self.subscriptionList.currentRow()][0]
         choice = QtGui.QMessageBox.question(
             self, u"Apagar inscrição",
             u"Tem certeza que deseja apagar esta inscrição?",
             QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)
         if choice == QtGui.QMessageBox.Yes:
             cursor.execute("DELETE FROM subscriptions WHERE id=?",
                            str(subscription_id))
             conn.commit()
         else:
             pass
         self.load_list()
     except IndexError:
         self.errorMsg.setText("Selecione um cliente existente!")
Ejemplo n.º 21
0
    def save_data(self):
        if self.sigNameLineEdit.text() == "":
            self.errorMsg.setText("O nome precisa estar preenchido!")
        elif self.sigRoleLineEdit.text() == "":
            self.errorMsg.setText("O cargo precisa estar preenchido!")
        elif self.sigEmailLineEdit.text() == "":
            self.errorMsg.setText("O email precisa estar preenchido!")
        elif self.sigUploadName.text() == u"Faça o upload da assinatura":
            self.errorMsg.setText(u"É necessário fazer upload da assinatura em .png!")
        else:
            if self.sig_id:
                cursor.execute("""
                               UPDATE signatures
                               SET name=?,
                               role=?,
                               email=?,
                               register=?
                               WHERE id=?
                               """,(
                               str(self.sigNameLineEdit.text()),
                               str(self.sigRoleLineEdit.text()),
                               str(self.sigEmailLineEdit.text()),
                               str(self.sigRegisterLineEdit.text()),
                               str(self.sig_id)
                               ))
            else:
                cursor.execute("INSERT INTO signatures VALUES (NULL,?,?,?,?)",
                              (
                                str(self.sigNameLineEdit.text()),
                                str(self.sigRoleLineEdit.text()),
                                str(self.sigEmailLineEdit.text()),
                                str(self.sigRegisterLineEdit.text())
                              ))
                self.sig_id = cursor.lastrowid

            if self.filename:
                new_filename = "signatures/"+str(self.sig_id)+".png"
                copyfile(self.filename, new_filename)

            conn.commit()
            self.sig_list_instance.load_list()
            self.hide()
Ejemplo n.º 22
0
 def save_data(self):
     """
         Saves the event data.
     """
     # Verifies if all fields are filled
     if unicode(self.eventTitleLineEdit.text()) == "":
         self.errorMsg.setText(u"O título precisa ser preenchido!")
     elif len(unicode(self.eventStartDateLineEdit.text())) < 10 or \
             len(unicode(self.eventEndDateLineEdit.text())) < 10:
         self.errorMsg.setText(u"As datas precisam estar \
                               em um formato xx/xx/xxxx!")
     elif unicode(self.eventHoursLineEdit.text()) == "":
         self.errorMsg.setText(u"As horas precisam ser um inteiro!")
     else:
         if self.event_id:
             # Updates the record if it is an existing event
             cursor.execute(
                 "UPDATE events SET title=?, start_date=?, end_date=?, \
                 hours=?, content=? WHERE id=?",
                 (unicode(self.eventTitleLineEdit.text()),
                  unicode(self.eventStartDateLineEdit.text()),
                  unicode(self.eventEndDateLineEdit.text()),
                  unicode(self.eventHoursLineEdit.text()),
                  unicode(self.eventContentTextEdit.toPlainText()),
                  str(self.event_id)))
         else:
             # Register the event
             cursor.execute(
                 "INSERT INTO events VALUES (NULL,?,?,?,?,?)",
                 (unicode(self.eventTitleLineEdit.text()),
                  unicode(self.eventStartDateLineEdit.text()),
                  unicode(self.eventEndDateLineEdit.text()),
                  unicode(self.eventHoursLineEdit.text()),
                  unicode(self.eventContentTextEdit.toPlainText())))
         # Saves the database
         conn.commit()
         # Update the table
         self.events_list_instance.load_table()
         # Hide the dialog
         self.hide()
Ejemplo n.º 23
0
    def save_data(self):
        if self.sigNameLineEdit.text() == "":
            self.errorMsg.setText("O nome precisa estar preenchido!")
        elif self.sigRoleLineEdit.text() == "":
            self.errorMsg.setText("O cargo precisa estar preenchido!")
        elif self.sigEmailLineEdit.text() == "":
            self.errorMsg.setText("O email precisa estar preenchido!")
        elif self.sigUploadName.text() == u"Faça o upload da assinatura":
            self.errorMsg.setText(
                u"É necessário fazer upload da assinatura em .png!")
        else:
            if self.sig_id:
                cursor.execute(
                    """
                               UPDATE signatures
                               SET name=?,
                               role=?,
                               email=?,
                               register=?
                               WHERE id=?
                               """,
                    (str(self.sigNameLineEdit.text()),
                     str(self.sigRoleLineEdit.text()),
                     str(self.sigEmailLineEdit.text()),
                     str(self.sigRegisterLineEdit.text()), str(self.sig_id)))
            else:
                cursor.execute("INSERT INTO signatures VALUES (NULL,?,?,?,?)",
                               (str(self.sigNameLineEdit.text()),
                                str(self.sigRoleLineEdit.text()),
                                str(self.sigEmailLineEdit.text()),
                                str(self.sigRegisterLineEdit.text())))
                self.sig_id = cursor.lastrowid

            if self.filename:
                new_filename = "signatures/" + str(self.sig_id) + ".png"
                copyfile(self.filename, new_filename)

            conn.commit()
            self.sig_list_instance.load_list()
            self.hide()
    def add_client(self):
        """
            Inserts the selected user into the database
            as a subscription to the selected event.
        """

        # Inserts data into the database
        cursor.execute(
            "INSERT INTO subscriptions VALUES (NULL,?,?)",
            (
                str(self.event_id),
                str(self.clients[self.clientsList.currentIndex()][0])
            )
        )
        conn.commit()

        # Update the listwidget that contains
        # the subscripted clients
        self.certificates_instance.load_list()

        # Hide the dialog
        self.hide()
Ejemplo n.º 25
0
    def add_client(self):
        """
            Inserts the selected user into the database
            as a subscription to the selected event.
        """

        # Inserts data into the database
        cursor.execute(
            "INSERT INTO subscriptions VALUES (NULL,?,?)",
            (
                str(self.event_id),
                str(self.clients[self.clientsList.currentIndex()][0])
            )
        )
        conn.commit()

        # Update the listwidget that contains
        # the subscripted clients
        self.certificates_instance.load_list()

        # Hide the dialog
        self.hide()
Ejemplo n.º 26
0
 def save_data(self):
     if self.eventTitleLineEdit.text() == "":
         self.errorMsg.setText("O titulo precisa ser preenchido!")
     elif len(self.eventStartDateLineEdit.text()) < 10 or \
             len(self.eventEndDateLineEdit.text()) < 10:
         self.errorMsg.setText("As datas precisam estar em um formato xx/xx/xxxx!")
     elif self.eventHoursLineEdit.text() == "":
         self.errorMsg.setText("As horas precisam ser um inteiro!")
     else:
         if self.event_id:
             cursor.execute("""
                             UPDATE events
                             SET title=?,
                             start_date=?,
                             end_date=?,
                             hours=?,
                             content=?
                             WHERE id=?
                             """, (
                             str(self.eventTitleLineEdit.text()),
                             str(self.eventStartDateLineEdit.text()),
                             str(self.eventEndDateLineEdit.text()),
                             str(self.eventHoursLineEdit.text()),
                             str(self.eventContentTextEdit.toPlainText()),
                             str(self.event_id)
                             ))
         else:
             cursor.execute("INSERT INTO events VALUES (NULL,?,?,?,?,?)",
                             (
                             str(self.eventTitleLineEdit.text()),
                             str(self.eventStartDateLineEdit.text()),
                             str(self.eventEndDateLineEdit.text()),
                             str(self.eventHoursLineEdit.text()),
                             str(self.eventContentTextEdit.toPlainText())
                             ))
         conn.commit()
         self.events_list_instance.load_table()
         self.hide()
Ejemplo n.º 27
0
 def save_data(self):
     if unicode(self.eventTitleLineEdit.text()) == "":
         self.errorMsg.setText(u"O título precisa ser preenchido!")
     elif len(unicode(self.eventStartDateLineEdit.text())) < 10 or \
             len(unicode(self.eventEndDateLineEdit.text())) < 10:
         self.errorMsg.setText(u"As datas precisam estar em um formato xx/xx/xxxx!")
     elif unicode(self.eventHoursLineEdit.text()) == "":
         self.errorMsg.setText(u"As horas precisam ser um inteiro!")
     else:
         if self.event_id:
             cursor.execute("""
                             UPDATE events
                             SET title=?,
                             start_date=?,
                             end_date=?,
                             hours=?,
                             content=?
                             WHERE id=?
                             """, (
                             unicode(self.eventTitleLineEdit.text()),
                             unicode(self.eventStartDateLineEdit.text()),
                             unicode(self.eventEndDateLineEdit.text()),
                             unicode(self.eventHoursLineEdit.text()),
                             unicode(self.eventContentTextEdit.toPlainText()),
                             str(self.event_id)
                             ))
         else:
             cursor.execute("INSERT INTO events VALUES (NULL,?,?,?,?,?)",
                             (
                             unicode(self.eventTitleLineEdit.text()),
                             unicode(self.eventStartDateLineEdit.text()),
                             unicode(self.eventEndDateLineEdit.text()),
                             unicode(self.eventHoursLineEdit.text()),
                             unicode(self.eventContentTextEdit.toPlainText())
                             ))
         conn.commit()
         self.events_list_instance.load_table()
         self.hide()
Ejemplo n.º 28
0
def profile(page_num):
    profile = db.session.query(
        USERGAMESPLAYED.ID_USER, USERGAMESPLAYED.NM_GAME,
        V_GAMES.DT_YEAROFRELEASE, V_GAMES.NM_GENRE,
        V_GAMES.NR_CRITICSCORE).select_from(USERGAMESPLAYED).join(
            V_GAMES, V_GAMES.ID_GAME == USERGAMESPLAYED.ID_GAME).filter(
                USERGAMESPLAYED.ID_USER == current_user.id).paginate(
                    per_page=len(qtd_rows), page=page_num, error_out=True)
    df_profile = db.session.query(
        USERGAMESPLAYED.ID_USER, USERGAMESPLAYED.NM_GAME,
        V_GAMES.DT_YEAROFRELEASE, V_GAMES.NM_GENRE,
        V_GAMES.NR_CRITICSCORE).select_from(USERGAMESPLAYED).join(
            V_GAMES, V_GAMES.ID_GAME == USERGAMESPLAYED.ID_GAME).filter(
                USERGAMESPLAYED.ID_USER == current_user.id).count()

    if " " not in current_user.name:
        first_name = current_user.name.rsplit(' ', 1)[0]
        last_name = " "
    else:
        first_name = current_user.name.rsplit(' ', 1)[0]
        last_name = current_user.name.rsplit(' ', 1)[1]

    df_checkgamesplayed = check_gamesplayed()
    if df_checkgamesplayed is None or df_profile == 0:
        recommendations_df = pd.DataFrame()
        recommendations_df[[
            "ID_USER", "ID_GAME", "NM_GAME", "NM_PUBLISHER", "NM_GENRE",
            "QT_GAMES", "NR_CRITICSCORE", "DT_YEAROFRELEASE", "IC_PLAYED",
            "Score"
        ]] = ""
        disable = True
    else:
        disable = False
        recommendations_df = get_recommendation()

    if request.method == 'POST':
        if request.form.getlist('delete_checkbox'):
            for id in request.form.getlist('delete_checkbox'):
                # Delete the games that were checked and commit in the database
                #USERGAMESPLAYED.query.filter_by(NM_GAME=id, ID_USER=current_user.id).delete(synchronize_session='fetch')
                cursor = conn.cursor()
                cursor.execute(
                    'DELETE FROM "USERGAMESPLAYED" WHERE "NM_GAME" = %s AND "ID_USER" = %s',
                    (id, current_user.id))
                conn.commit()
                #db.session.commit()
            recommendations_df = get_recommendation()
            profile = db.session.query(
                USERGAMESPLAYED.ID_USER, USERGAMESPLAYED.NM_GAME,
                V_GAMES.DT_YEAROFRELEASE, V_GAMES.NM_GENRE,
                V_GAMES.NR_CRITICSCORE).select_from(USERGAMESPLAYED).join(
                    V_GAMES,
                    V_GAMES.ID_GAME == USERGAMESPLAYED.ID_GAME).filter(
                        USERGAMESPLAYED.ID_USER == current_user.id).paginate(
                            per_page=len(qtd_rows),
                            page=page_num,
                            error_out=True)
            flash('Games have been successfully deleted from your profile.')
            return render_template('profile.html',
                                   name=current_user.name,
                                   profile=profile,
                                   first_name=first_name,
                                   last_name=last_name,
                                   len=len(recommendations_df),
                                   recommendations_profile=recommendations_df,
                                   disable=disable)

        if not request.form.getlist('delete_checkbox'):
            flash(
                'You have to check at least one game to delete from your profile!'
            )
            return render_template('profile.html',
                                   name=current_user.name,
                                   profile=profile,
                                   first_name=first_name,
                                   last_name=last_name,
                                   len=len(recommendations_df),
                                   recommendations_profile=recommendations_df,
                                   disable=disable)

    return render_template('profile.html',
                           name=current_user.name,
                           profile=profile,
                           first_name=first_name,
                           last_name=last_name,
                           len=len(recommendations_df),
                           recommendations_profile=recommendations_df,
                           disable=disable)
    def save_data(self):
        if unicode(self.sigNameLineEdit.text()) == "":
            self.errorMsg.setText(u"O nome precisa estar preenchido!")
        elif unicode(self.sigRoleLineEdit.text()) == "":
            self.errorMsg.setText(u"O cargo precisa estar preenchido!")
        elif unicode(self.sigEmailLineEdit.text()) == "":
            self.errorMsg.setText(u"O email precisa estar preenchido!")
        elif unicode(self.sigUploadName.text()) == u"Faça o upload da assinatura":
            self.errorMsg.setText(u"É necessário fazer upload da assinatura em .png!")
        else:
            if self.sig_id:
                cursor.execute("""
                               UPDATE signatures
                               SET name=?,
                               role=?,
                               email=?,
                               register=?
                               WHERE id=?
                               """,(
                               unicode(self.sigNameLineEdit.text()),
                               unicode(self.sigRoleLineEdit.text()),
                               unicode(self.sigEmailLineEdit.text()),
                               unicode(self.sigRegisterLineEdit.text()),
                               unicode(self.sig_id)
                               ))

                if self.filename:
                    new_filename = os.path.join(app_dir,"signatures","{0}.png".format(str(self.sig_id)))
                    copyfile(self.filename, new_filename)

                conn.commit()
                self.sig_list_instance.load_list()
                self.hide()
            else:
                cursor.execute("SELECT id FROM signatures WHERE register=?",
                              [str(self.sigRegisterLineEdit.text())])
                existing_user = cursor.fetchone()

                if existing_user:
                    error = QtGui.QMessageBox()
                    error.setIcon(QtGui.QMessageBox.Critical)
                    error.setText(u"A assinatura já está cadastrada!")
                    error.setInformativeText(u"Já existe uma assinatura com este CPF cadastrada no programa.")
                    error.setWindowTitle(u"Assinatura já cadastrada!")
                    error.setStandardButtons(QtGui.QMessageBox.Ok)
                    error.exec_()
                else:
                    cursor.execute("INSERT INTO signatures VALUES (NULL,?,?,?,?)",
                                  (
                                    unicode(self.sigNameLineEdit.text()),
                                    unicode(self.sigRoleLineEdit.text()),
                                    unicode(self.sigEmailLineEdit.text()),
                                    unicode(self.sigRegisterLineEdit.text())
                                  ))
                    self.sig_id = cursor.lastrowid

                    if self.filename:
                        new_filename = os.path.join(app_dir,"signatures","{0}.png".format(str(self.sig_id)))
                        copyfile(self.filename, new_filename)

                    conn.commit()
                    self.sig_list_instance.load_list()
                    self.hide()
    def save_data(self):
        """
            Saves the client data.
        """
        # Verifies if all fields are filled
        if unicode(self.clientNameLineEdit.text()) == "":
            self.errorMsg.setText(u"O nome precisa estar preenchido!")
        elif unicode(self.clientEmailLineEdit.text()) == "":
            self.errorMsg.setText(u"O email precisa estar preenchido!")
        elif unicode(validar_cpf(self.clientRegisterLineEdit.text())) is False:
            self.errorMsg.setText(u"O CPF é inválido!")
        else:
            if self.client_id:
                # Updates the record if it is an existing client
                cursor.execute(
                    "UPDATE clients SET name=?, email=?, register=? \
                    WHERE id=?",
                    (
                        unicode(self.clientNameLineEdit.text()),
                        unicode(self.clientEmailLineEdit.text()),
                        unicode(self.clientRegisterLineEdit.text()),
                        str(self.client_id)
                    )
                )
                conn.commit()
                # Updates the table
                self.clients_list_instance.load_table()
                # Hide the dialog
                self.hide()
            else:
                # Verifies if the user is trying to
                # register an existent client
                cursor.execute(
                    "SELECT id FROM clients WHERE register=?",
                    [str(self.clientRegisterLineEdit.text())]
                )
                existing_user = cursor.fetchone()

                if existing_user:
                    # Shows up an error message
                    error = QtGui.QMessageBox()
                    error.setIcon(QtGui.QMessageBox.Critical)
                    error.setText(u"O cliente já está cadastrado!")
                    error.setInformativeText(u"Já existe um cliente \
                                            com este CPF cadastrado \
                                            no programa.")
                    error.setWindowTitle(u"Cliente já cadastrado!")
                    error.setStandardButtons(QtGui.QMessageBox.Ok)
                    error.exec_()
                else:
                    # Register the client
                    cursor.execute(
                        "INSERT INTO clients VALUES (NULL,?,?,?)",
                        (
                            unicode(self.clientNameLineEdit.text()),
                            unicode(self.clientEmailLineEdit.text()),
                            unicode(self.clientRegisterLineEdit.text())
                        )
                    )
                    conn.commit()
                    # Updates the table
                    self.clients_list_instance.load_table()
                    # Hide the dialog
                    self.hide()
Ejemplo n.º 31
0
    def save_data(self):
        """
            Save the signature data.
        """

        # Verifies if all fields are filled
        if unicode(self.sigNameLineEdit.text()) == "":
            self.errorMsg.setText(u"O nome precisa estar preenchido!")
        elif unicode(self.sigRoleLineEdit.text()) == "":
            self.errorMsg.setText(u"O cargo precisa estar preenchido!")
        elif unicode(self.sigEmailLineEdit.text()) == "":
            self.errorMsg.setText(u"O email precisa estar preenchido!")
        elif unicode(self.sigUploadName.text()) == \
                u"Faça o upload da assinatura":
            self.errorMsg.setText(u"É necessário fazer upload "
                                  u"da assinatura em .png!")
        else:
            # Verifies if creating or updating the signature
            if self.sig_id:
                # Updates the signature in the database
                cursor.execute(
                    "UPDATE signatures SET name=?, role=?, email=?, \
                    register=? WHERE id=?",
                    (
                        unicode(self.sigNameLineEdit.text()),
                        unicode(self.sigRoleLineEdit.text()),
                        unicode(self.sigEmailLineEdit.text()),
                        unicode(self.sigRegisterLineEdit.text()),
                        unicode(self.sig_id)
                    )
                )

                # Replace signature image for the new one
                if self.filename:
                    new_filename = os.path.join(
                        app_dir,
                        "signatures",
                        "{0}.png".format(str(self.sig_id))
                    )
                    copyfile(self.filename, new_filename)

                # Save changes to the database
                conn.commit()
                # Updates the signatures list
                self.sig_list_instance.load_list()
                # Hide the dialog
                self.hide()
            else:
                # Verifies if the signature already exists
                cursor.execute(
                    "SELECT id FROM signatures WHERE register=?",
                    (str(self.sigRegisterLineEdit.text()),)
                )
                existing_user = cursor.fetchone()

                if existing_user:
                    # If the signature exists, show an error message
                    error = QtGui.QMessageBox()
                    error.setIcon(QtGui.QMessageBox.Critical)
                    error.setText(u"A assinatura já está cadastrada!")
                    error.setInformativeText(u"Já existe uma assinatura "
                                             u"com este CPF cadastrada "
                                             u"no programa.")
                    error.setWindowTitle(u"Assinatura já cadastrada!")
                    error.setStandardButtons(QtGui.QMessageBox.Ok)
                    error.exec_()
                else:
                    # Else, insert data in the database
                    cursor.execute(
                        "INSERT INTO signatures VALUES (NULL,?,?,?,?)",
                        (
                            unicode(self.sigNameLineEdit.text()),
                            unicode(self.sigRoleLineEdit.text()),
                            unicode(self.sigEmailLineEdit.text()),
                            unicode(self.sigRegisterLineEdit.text())
                        )
                    )
                    self.sig_id = cursor.lastrowid

                    # Create the new signature file
                    if self.filename:
                        new_filename = os.path.join(
                            app_dir,
                            "signatures",
                            "{0}.png".format(str(self.sig_id))
                        )
                        copyfile(self.filename, new_filename)

                    # Save changes to the database
                    conn.commit()
                    # Updates the signatures list
                    self.sig_list_instance.load_list()
                    # Hide the dialog
                    self.hide()
Ejemplo n.º 32
0
    def save_data(self):
        if unicode(self.sigNameLineEdit.text()) == "":
            self.errorMsg.setText(u"O nome precisa estar preenchido!")
        elif unicode(self.sigRoleLineEdit.text()) == "":
            self.errorMsg.setText(u"O cargo precisa estar preenchido!")
        elif unicode(self.sigEmailLineEdit.text()) == "":
            self.errorMsg.setText(u"O email precisa estar preenchido!")
        elif unicode(
                self.sigUploadName.text()) == u"Faça o upload da assinatura":
            self.errorMsg.setText(
                u"É necessário fazer upload da assinatura em .png!")
        else:
            if self.sig_id:
                cursor.execute(
                    """
                               UPDATE signatures
                               SET name=?,
                               role=?,
                               email=?,
                               register=?
                               WHERE id=?
                               """, (unicode(self.sigNameLineEdit.text()),
                                     unicode(self.sigRoleLineEdit.text()),
                                     unicode(self.sigEmailLineEdit.text()),
                                     unicode(self.sigRegisterLineEdit.text()),
                                     unicode(self.sig_id)))

                if self.filename:
                    new_filename = "signatures/" + str(self.sig_id) + ".png"
                    copyfile(self.filename, new_filename)

                conn.commit()
                self.sig_list_instance.load_list()
                self.hide()
            else:
                cursor.execute("SELECT id FROM signatures WHERE register=?",
                               [str(self.sigRegisterLineEdit.text())])
                existing_user = cursor.fetchone()

                if existing_user:
                    error = QtGui.QMessageBox()
                    error.setIcon(QtGui.QMessageBox.Critical)
                    error.setText(u"A assinatura já está cadastrada!")
                    error.setInformativeText(
                        u"Já existe uma assinatura com este CPF cadastrada no programa."
                    )
                    error.setWindowTitle(u"Assinatura já cadastrada!")
                    error.setStandardButtons(QtGui.QMessageBox.Ok)
                    error.exec_()
                else:
                    cursor.execute(
                        "INSERT INTO signatures VALUES (NULL,?,?,?,?)",
                        (unicode(self.sigNameLineEdit.text()),
                         unicode(self.sigRoleLineEdit.text()),
                         unicode(self.sigEmailLineEdit.text()),
                         unicode(self.sigRegisterLineEdit.text())))
                    self.sig_id = cursor.lastrowid

                    if self.filename:
                        new_filename = "signatures/" + str(
                            self.sig_id) + ".png"
                        copyfile(self.filename, new_filename)

                    conn.commit()
                    self.sig_list_instance.load_list()
                    self.hide()
Ejemplo n.º 33
0
    def save_data(self):
        """
            Save the signature data.
        """

        # Verifies if all fields are filled
        if unicode(self.sigNameLineEdit.text()) == "":
            self.errorMsg.setText(u"O nome precisa estar preenchido!")
        elif unicode(self.sigRoleLineEdit.text()) == "":
            self.errorMsg.setText(u"O cargo precisa estar preenchido!")
        elif unicode(self.sigEmailLineEdit.text()) == "":
            self.errorMsg.setText(u"O email precisa estar preenchido!")
        elif unicode(self.sigUploadName.text()) == \
                u"Faça o upload da assinatura":
            self.errorMsg.setText(u"É necessário fazer upload "
                                  u"da assinatura em .png!")
        else:
            # Verifies if creating or updating the signature
            if self.sig_id:
                # Updates the signature in the database
                cursor.execute(
                    "UPDATE signatures SET name=?, role=?, email=?, \
                    register=? WHERE id=?",
                    (unicode(self.sigNameLineEdit.text()),
                     unicode(self.sigRoleLineEdit.text()),
                     unicode(self.sigEmailLineEdit.text()),
                     unicode(self.sigRegisterLineEdit.text()),
                     unicode(self.sig_id)))

                # Replace signature image for the new one
                if self.filename:
                    new_filename = os.path.join(
                        app_dir, "signatures",
                        "{0}.png".format(str(self.sig_id)))
                    copyfile(self.filename, new_filename)

                # Save changes to the database
                conn.commit()
                # Updates the signatures list
                self.sig_list_instance.load_list()
                # Hide the dialog
                self.hide()
            else:
                # Verifies if the signature already exists
                cursor.execute("SELECT id FROM signatures WHERE register=?",
                               (str(self.sigRegisterLineEdit.text()), ))
                existing_user = cursor.fetchone()

                if existing_user:
                    # If the signature exists, show an error message
                    error = QtGui.QMessageBox()
                    error.setIcon(QtGui.QMessageBox.Critical)
                    error.setText(u"A assinatura já está cadastrada!")
                    error.setInformativeText(u"Já existe uma assinatura "
                                             u"com este CPF cadastrada "
                                             u"no programa.")
                    error.setWindowTitle(u"Assinatura já cadastrada!")
                    error.setStandardButtons(QtGui.QMessageBox.Ok)
                    error.exec_()
                else:
                    # Else, insert data in the database
                    cursor.execute(
                        "INSERT INTO signatures VALUES (NULL,?,?,?,?)",
                        (unicode(self.sigNameLineEdit.text()),
                         unicode(self.sigRoleLineEdit.text()),
                         unicode(self.sigEmailLineEdit.text()),
                         unicode(self.sigRegisterLineEdit.text())))
                    self.sig_id = cursor.lastrowid

                    # Create the new signature file
                    if self.filename:
                        new_filename = os.path.join(
                            app_dir, "signatures",
                            "{0}.png".format(str(self.sig_id)))
                        copyfile(self.filename, new_filename)

                    # Save changes to the database
                    conn.commit()
                    # Updates the signatures list
                    self.sig_list_instance.load_list()
                    # Hide the dialog
                    self.hide()