def remove_from_DB(self):
        # try/except
        DBconnection = connection.SQLConnect()
        DBconnection.delete_user(self.template_number)

        DBconnection = connection.SQLConnect()
        DBconnection.log_entry_fire_employee(self.dni)
    def employee_to_DB(self):

        if self.template_number != -1:
            try:
                if self.former_employee:
                    DBconnection = connection.SQLConnect()
                    self.employee.fingerprint = self.template_number
                    DBconnection.update_user(self.employee)

                else:
                    DBconnection = connection.SQLConnect()
                    self.employee.fingerprint = self.template_number
                    DBconnection.new_user(self.employee)

            except Exception as e:
                self.create_error_frame('Database Error/n' + str(e))

            finally:
                time.sleep(2)
                self.init_view = iv.InitialFrame(self.parent)
                self.view.destroy()
                self.init_view.pack()

        else:
            self.create_error_frame("Can't create Employee")
    def delete_employee(self, delete_view):
        self.delete_view = delete_view
        self.dni = delete_view.dni_TF.get()
        # try/except
        DBconnection = connection.SQLConnect()
        template = DBconnection.template_from_dni(self.dni)
        if template == -1:
            self.create_error_frame("The employee doesn't exist")
        else:
            self.template_number = template

        FPDeletethread = threading.Thread(target=self.finger_print_delete_init)
        FPDeletethread.start()
 def inser_time_in_DB(self, dni):
     DBConnection = connection.SQLConnect()
     DBConnection.new_clocking_reg(dni)
 def check_finger_in_DB(self, template_position):
     DBConnection = connection.SQLConnect()
     return DBConnection.dni_from_template(template_position)
    def create_employee(self, user_form):

        dni = user_form.dni_TF.get()
        name = user_form.name_TF.get()
        passwd = user_form.passwd_TF.get()
        bossmail = user_form.bossmail_TF.get()
        contract = user_form.contract_combo.get()
        rol = user_form.rol_combo.get()

        if dni == '' or name == '' or passwd == '' or bossmail == '':
            self.create_error_frame('Empty field')

        elif not self.validateDNI(dni):
            self.create_error_frame('Invalid DNI')

        elif not self.validateEmail(bossmail):
            self.create_error_frame('Invalid Email')

        else:
            try:
                DBconnection = connection.SQLConnect()
                check_result = DBconnection.user_exist(dni)
                if check_result == 1:
                    self.create_error_frame('User already exists')
                elif check_result == 0:

                    self.former_employee = True

                    DBconnection = connection.SQLConnect()
                    self.employee = DBconnection.get_employee(dni)

                    rol_num = 0
                    if rol == "Admin":
                        rol_num = 1

                    self.employee.name = name
                    self.employee.password = passwd
                    self.employee.bossmail = bossmail
                    self.employee.contract = contract
                    self.employee.rol = rol_num

                    DBconnection = connection.SQLConnect()
                    DBconnection.update_user(self.employee)

                elif check_result == -1:
                    rol_num = 0
                    if rol == "Admin":
                        rol_num = 1

                    self.employee = emp.Employee(name, dni, passwd, contract,
                                                 bossmail, rol_num)

                self.parent = user_form.parent

                self.view = fv.FPView(self.parent)
                user_form.destroy()
                self.view.pack()

                FPthread = threading.Thread(target=self.finger_print_init)
                FPthread.start()

            except:
                self.create_error_frame("Database Error")