def on_button_login_clicked(self, button=None): """ """ #username = self.username_comboxentry.child.get_text() username = self.username_entry.get_text() password = self.password_entry.get_text() if username == '' or password == '': messageInfo(msg=_('Inserire nome utente e password')) return elif Environment.engine.name != "sqlite" and \ findStrFromCombobox(self.azienda_combobox, 0) == '': messageInfo(msg=_("Occorre selezionare un'azienda")) return else: #if hasattr(self,"azienda_combobox"): self.azienda = findStrFromCombobox(self.azienda_combobox, 0) findComboboxRowFromStr(self.azienda_combobox, self.azienda, 0) self.azienda_combobox.get_active() != -1 #if not self.azienda: #self.azienda = "AziendaPromo" #superati i check di login users = User().select(username=username, password=hashlib.md5(username + password).hexdigest()) if not users: users = User().select(username=str(username).strip()) if users: try: from promogest.lib.utils import AESCipher, ops r = AESCipher(ops).decrypt( users[0].password) if r != password: messageInfo(msg=_('Password errata')) except: rows = [] if len(users) == 1: if users[0].active == False: messageInfo(msg=_('Utente Presente Ma non ATTIVO')) return else: Environment.workingYear = str(self.anno_lavoro_spinbutton.get_value_as_int()) oldSchema = Environment.params["schema"] Environment.azienda = self.azienda for a in self.azs: if a.schemaa == self.azienda: a.tipo_schemaa = "last" else: a.tipo_schemaa = "" Environment.session.add(a) Environment.session.commit() if Environment.tipodb == "postgresql": Environment.params["schema"] = self.azienda Environment.fk_prefix = Environment.params["schema"] + '.' if self.azienda not in Environment.meta._schemas: print(" PICKLE NON VA BENE") #Environment.azienda = oldSchema Environment.delete_pickle() # import pickle # cachefile = 'orm.p' # Environment.meta.create_all() # with open(cachefile, 'w') as cache: # pickle.dump(Environment.meta, cache) # cache.close() # Lancio la funzione di generazione della dir di configurazione from promogest.buildEnv import set_configuration Environment.conf = set_configuration(Environment.azienda, Environment.workingYear) # if setconf("Feed","feed"): # if True == True: # thread = threading.Thread(target=self.feddretreive) # thread.start() # thread.join(2.3) files = glob.glob(Environment.tempDir+"/*") for f in files: os.remove(f) Environment.params['usernameLoggedList'][0] = users[0].id Environment.params['usernameLoggedList'][1] =\ users[0].username try: Environment.params['usernameLoggedList'][2] =\ users[0].id_role except: Environment.params['usernameLoggedList'][2] = 1 if hasAction(actionID=1): self.login_window.hide() Environment.windowGroup.remove(self.getTopLevel()) installId() Environment.pg2log.info( "LOGIN id, user, role azienda: %s, %s" % ( repr(Environment.params['usernameLoggedList']), self.azienda)) checkInstallation() from promogest.dao.Setconf import SetConf avv = SetConf().select(key="avvii") if avv: avv[0].value = int(avv[0].value)+1 Environment.avvii = int(avv[0].value)+1 avv[0].persist() Environment.settaggi = Environment.session.query( SetConf.key, SetConf.value).all() Environment.pg2log.info( "SETAGGI: %s" % (str(Environment.settaggi))) self.importModulesFromDir('promogest/modules') # ATTENZIONE!!! RIATTIVARE!!! from promogest.dao.DaoOrderedImport import orderedImport orderedImport() def mainmain(): from Main import Main main = Main(self.azienda, self.anagrafiche_modules, self.parametri_modules, self.anagrafiche_dirette_modules, self.frame_modules, self.permanent_frames) main.getTopLevel().connect("destroy", on_main_window_closed, self.login_window) main.show() glib.idle_add(mainmain) else: messageInfo(msg=_('Nome utente o password errati, Riprova'))
# You should have received a copy of the GNU General Public License # along with Promogest. If not, see <http://www.gnu.org/licenses/>. import unittest import sys path = ".." if path not in sys.path: sys.path.append(path) from promogest import preEnv preEnv.tipodbforce = "postgresql" preEnv.aziendaforce = "urbani" from promogest.buildEnv import set_configuration from promogest import Environment conf = set_configuration("urbani", "2013") Environment.conf = conf from promogest.Environment import session from promogest.dao.TestataDocumento import TestataDocumento from decimal import Decimal class TestTestataDocumentoTotali(unittest.TestCase): #def test_doc1(self): #"""controllo totali per il documento 23701""" #doc = session.query(TestataDocumento).filter_by(operazione="Fattura differita vendita", id=23701).one() #doc.totali #assert doc._totaleImponibile == Decimal('88.52') #assert doc._totaleImposta == Decimal('8.85')