class OperationWidget(FWidget): """docstring for OperationWidget""" def __init__(self, parent, *args, **kwargs): super(FWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent vbox = QVBoxLayout() editbox = QGridLayout() self.search_field = LineEdit() # self.search_field.textChanged.connect(self.search) self.search_field.setToolTip(u"Taper le nom ou le numéro de " u"téléphone à chercher") editbox.addWidget(self.search_field, 0, 0) search_but = Button("") search_but.setIcon(QIcon.fromTheme('search', QIcon(''))) search_but.clicked.connect(self.search) editbox.addWidget(search_but, 0, 1) # self.empty = FLabel(u"") # editbox.addWidget(self.empty, 1, 0) addgroup_but = Button(u"Nouveau groupe") addgroup_but.setIcon(QIcon.fromTheme('document-new', QIcon(''))) addgroup_but.clicked.connect(self.addgroup) self.contact_grp = Button(u"Envoyer à groupe") self.contact_grp.setIcon(QIcon.fromTheme('document-new', QIcon(''))) self.contact_grp.clicked.connect(self.contact_group) self.contact_grp.setEnabled(False) editbox.addWidget(addgroup_but, 2, 0) editbox.addWidget(self.contact_grp, 1, 0) vbox.addLayout(editbox) self.setLayout(vbox) def search(self): search_term = self.search_field.text() self.search_field.setStyleSheet("") self.search_field.setText(u"") self.parent.table_contact.refresh_(search=search_term) self.search_field.clear() # self.search_field.setStyleSheet("font-size:20px; color: red") # self.search_field.setToolTip(u"{} n'existe pas".format(search_term)) def addgroup(self): """ Affiche un QDialog qui permet d'ajouter un nouveau groupe """ self.parent.open_dialog(GroupViewWidget, modal=True, table_group=self.parent) def contact_group(self): self.parent.open_dialog(SendGroupViewWidget, modal=True, table_group=self.parent)
class HomeViewWidget(FWidget): """ Shows the home page """ def __init__(self, parent=0, *args, **kwargs): super(HomeViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.parentWidget().setWindowTitle(u"Bienvenu sur transfert Wari") self.title = FPageTitle(u"Tranfert") vbox = QVBoxLayout(self) vbox.addWidget(self.title) self.sttg = SettingsAdmin().select().where(SettingsAdmin.id == 1).get() if self.sttg.can_use: self.createHomeGroupBox() vbox.addWidget(self.homegbox) else: self.activationGroupBox() vbox.addWidget(self.topLeftGroupBoxBtt) self.setLayout(vbox) def createHomeGroupBox(self): self.homegbox = QGroupBox() self.table = OperationTableWidget(parent=self) table_box = QVBoxLayout() self.title_table = FPageTitle(u"Historique des transferts") table_box.addWidget(self.title_table) table_box.addWidget(self.table) # form transfer self.number = LineEdit() self.number.setInputMask("D9.99.99.99") self.number.setAlignment(Qt.AlignCenter) self.number.setFont(QFont("Arial", 17)) self.number.setToolTip(u"""Taper le nom ou le numéro de téléphone du beneficiare""") self.amount = LineEdit() self.amount.setFont(QFont("Arial", 15)) self.amount.setValidator(QIntValidator()) self.amount.setToolTip(u"Taper le montant du transfert") self.password_field = EnterTabbedLineEdit() self.password_field.setFont(QFont("Arial", 15)) self.password_field.setEchoMode(LineEdit.Password) self.password_field.setToolTip(u"Taper le code orange money") self.msg_field = FLabel("") butt = Button(u"Envoyer") butt.clicked.connect(self.get_or_creat_nbr) formbox = QGridLayout() formbox.addWidget(FLabel(u"Numéro"), 0, 0) formbox.addWidget(self.number, 1, 0) formbox.addWidget(FLabel(u"Montant"), 0, 1) formbox.addWidget(self.amount, 1, 1) formbox.addWidget(FLabel(u"code"), 0, 2) formbox.addWidget(self.password_field, 1, 2) formbox.addWidget(self.msg_field, 0, 5) formbox.addWidget(butt, 1, 4) formbox.setColumnStretch(5, 3) transfer_box = QVBoxLayout() # formbox.setSizeConstraint(QLayout.SetFixedSize) transfer_box.addWidget(self.title) transfer_box.addLayout(formbox) transfer_box.addLayout(table_box) # self.setLayout(transfer_box) self.homegbox.setLayout(transfer_box) def activationGroupBox(self): self.topLeftGroupBoxBtt = QGroupBox(self.tr("Nouvelle license")) self.setWindowTitle(u"License") self.parentWidget().setWindowTitle(u"Activation de la license") self.code_field = PyTextViewer( u"""Vous avez besoin du code ci desous pour l'activation:<hr> <b>{code}</b><hr> <h4>Contacts:</h4>{contact}""". format(code=SettingsAdmin().select().get().clean_mac, contact=Constants.TEL_AUT)) self.name_field = LineEdit() self.license_field = QTextEdit() self.pixmap = QPixmap("") self.image = FLabel(self) self.image.setPixmap(self.pixmap) butt = Button_save(u"Enregistrer") butt.clicked.connect(self.add_lience) editbox = QGridLayout() editbox.addWidget(FLabel(u"Nom: "), 0, 0) editbox.addWidget(self.name_field, 0, 1) editbox.addWidget(FLabel(u"License: "), 1, 0) editbox.addWidget(self.license_field, 1, 1) editbox.addWidget(self.code_field, 1, 2) editbox.addWidget(self.image, 5, 1) editbox.addWidget(butt, 6, 1) self.topLeftGroupBoxBtt.setLayout(editbox) def get_or_creat_nbr(self): ''' add operation ''' if not self.is_complete(): return number = unicode(self.number.text().replace('.', '')) amount = unicode(self.amount.text()) Contact.get_or_create(number) data = { "phone_num": [ number, ], "amount": amount, "code": unicode(self.password_field.text()) } # print(data) # multiple_sender(data) self.number.clear() self.amount.clear() self.password_field.clear() self.table.refresh_() self.msg_field.setText( u"Transfert vers ({}) a été effectué.".format(number)) self.msg_field.setStyleSheet("color: green") def is_complete(self): self.amount.setStyleSheet("") self.password_field.setStyleSheet("") if unicode(self.amount.text()) == "": self.amount.setStyleSheet("font-size:20px; color: red") self.amount.setText(u"Ce champ est obligatoire.") return False if unicode(self.password_field.text()) == "": self.password_field.setStyleSheet("font-size:20px; color: red") self.password_field.setText(u"Ce champ est obligatoire.") return False return True def check_license(self, license): self.flog = False if (SettingsAdmin().is_valide_mac(license)): self.pixmap = QPixmap(u"{}accept.png".format(Constants.img_cmedia)) self.image.setToolTip("License correct") self.flog = True else: self.pixmap = QPixmap(u"{}decline.png".format( Constants.img_cmedia)) self.image.setToolTip("License incorrect") self.image.setPixmap(self.pixmap) def add_lience(self): """ add User """ name = unicode(self.name_field.text()).strip() license = unicode(self.license_field.toPlainText()) self.check_license(license) if self.flog: sttg = self.sttg sttg.user = name sttg.license = license sttg.save() raise_success( u"Confirmation", u"""La license (<b>{}</b>) à éte bien enregistré pour cette machine.\n Elle doit être bien gardé""".format(license)) self.goto_archi()
class HomeViewWidget(FWidget): """ Shows the home page """ def __init__(self, parent=0, *args, **kwargs): super(HomeViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.parentWidget().setWindowTitle(u"Bienvenu sur transfert Wari") self.title = FPageTitle(u"Tranfert") vbox = QVBoxLayout(self) vbox.addWidget(self.title) self.sttg = SettingsAdmin().select().where(SettingsAdmin.id == 1).get() if self.sttg.can_use: self.createHomeGroupBox() vbox.addWidget(self.homegbox) else: self.activationGroupBox() vbox.addWidget(self.topLeftGroupBoxBtt) self.setLayout(vbox) def createHomeGroupBox(self): self.homegbox = QGroupBox() self.table = OperationTableWidget(parent=self) table_box = QVBoxLayout() self.title_table = FPageTitle(u"Historique des transferts") table_box.addWidget(self.title_table) table_box.addWidget(self.table) # form transfer self.number = LineEdit() self.number.setInputMask("D9.99.99.99") self.number.setAlignment(Qt.AlignCenter) self.number.setFont(QFont("Arial", 17)) self.number.setToolTip(u"""Taper le nom ou le numéro de téléphone du beneficiare""") self.amount = LineEdit() self.amount.setFont(QFont("Arial", 15)) self.amount.setValidator(QIntValidator()) self.amount.setToolTip(u"Taper le montant du transfert") self.password_field = EnterTabbedLineEdit() self.password_field.setFont(QFont("Arial", 15)) self.password_field.setEchoMode(LineEdit.Password) self.password_field.setToolTip(u"Taper le code orange money") self.msg_field = FLabel("") butt = Button(u"Envoyer") butt.clicked.connect(self.get_or_creat_nbr) formbox = QGridLayout() formbox.addWidget(FLabel(u"Numéro"), 0, 0) formbox.addWidget(self.number, 1, 0) formbox.addWidget(FLabel(u"Montant"), 0, 1) formbox.addWidget(self.amount, 1, 1) formbox.addWidget(FLabel(u"code"), 0, 2) formbox.addWidget(self.password_field, 1, 2) formbox.addWidget(self.msg_field, 0, 5) formbox.addWidget(butt, 1, 4) formbox.setColumnStretch(5, 3) transfer_box = QVBoxLayout() # formbox.setSizeConstraint(QLayout.SetFixedSize) transfer_box.addWidget(self.title) transfer_box.addLayout(formbox) transfer_box.addLayout(table_box) # self.setLayout(transfer_box) self.homegbox.setLayout(transfer_box) def activationGroupBox(self): self.topLeftGroupBoxBtt = QGroupBox(self.tr("Nouvelle license")) self.setWindowTitle(u"License") self.parentWidget().setWindowTitle(u"Activation de la license") self.code_field = PyTextViewer(u"""Vous avez besoin du code ci desous pour l'activation:<hr> <b>{code}</b><hr> <h4>Contacts:</h4>{contact}""" .format(code=SettingsAdmin().select().get().clean_mac, contact=Constants.TEL_AUT)) self.name_field = LineEdit() self.license_field = QTextEdit() self.pixmap = QPixmap("") self.image = FLabel(self) self.image.setPixmap(self.pixmap) butt = Button_save(u"Enregistrer") butt.clicked.connect(self.add_lience) editbox = QGridLayout() editbox.addWidget(FLabel(u"Nom: "), 0, 0) editbox.addWidget(self.name_field, 0, 1) editbox.addWidget(FLabel(u"License: "), 1, 0) editbox.addWidget(self.license_field, 1, 1) editbox.addWidget(self.code_field, 1, 2) editbox.addWidget(self.image, 5, 1) editbox.addWidget(butt, 6, 1) self.topLeftGroupBoxBtt.setLayout(editbox) def get_or_creat_nbr(self): ''' add operation ''' if not self.is_complete(): return number = unicode(self.number.text().replace('.', '')) amount = unicode(self.amount.text()) Contact.get_or_create(number) data = {"phone_num": [number, ], "amount": amount, "code": unicode(self.password_field.text())} # print(data) # multiple_sender(data) self.number.clear() self.amount.clear() self.password_field.clear() self.table.refresh_() self.msg_field.setText( u"Transfert vers ({}) a été effectué.".format(number)) self.msg_field.setStyleSheet("color: green") def is_complete(self): self.amount.setStyleSheet("") self.password_field.setStyleSheet("") if unicode(self.amount.text()) == "": self.amount.setStyleSheet("font-size:20px; color: red") self.amount.setText(u"Ce champ est obligatoire.") return False if unicode(self.password_field.text()) == "": self.password_field.setStyleSheet("font-size:20px; color: red") self.password_field.setText(u"Ce champ est obligatoire.") return False return True def check_license(self, license): self.flog = False if (SettingsAdmin().is_valide_mac(license)): self.pixmap = QPixmap(u"{}accept.png".format(Constants.img_cmedia)) self.image.setToolTip("License correct") self.flog = True else: self.pixmap = QPixmap( u"{}decline.png".format(Constants.img_cmedia)) self.image.setToolTip("License incorrect") self.image.setPixmap(self.pixmap) def add_lience(self): """ add User """ name = unicode(self.name_field.text()).strip() license = unicode(self.license_field.toPlainText()) self.check_license(license) if self.flog: sttg = self.sttg sttg.user = name sttg.license = license sttg.save() raise_success(u"Confirmation", u"""La license (<b>{}</b>) à éte bien enregistré pour cette machine.\n Elle doit être bien gardé""".format(license)) self.goto_archi()