def __init__(self, table_group, parent, *args, **kwargs): QDialog.__init__(self, parent, *args, **kwargs) vbox = QVBoxLayout() vbox.addWidget(FBoxTitle(u"Ajout d'un nouveau groupe")) self.parent = table_group self.name = LineEdit() formbox = QGridLayout() self.error_field = FLabel(u"") formbox.addWidget(self.error_field, 0, 1) formbox.addWidget(FLabel(u"Nom"), 1, 0) formbox.addWidget(self.name, 1, 1) butt = Button(u"Enregistrer") butt.clicked.connect(self.edit_prod) cancel_but = Button(u"Annuler") cancel_but.clicked.connect(self.cancel) formbox.addWidget(butt, 2, 1) formbox.addWidget(cancel_but, 2, 0) formbox.setColumnStretch(3, 3) formbox.setRowStretch(2, 2) vbox.addLayout(formbox) self.setLayout(vbox)
def __init__(self, parent=0, *args, **kwargs): super(ResgistrationManagerWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.search_field = LineEdit() self.search_field.setPlaceholderText("Rechercher une demande") self.search_field.setMinimumSize(600, 80) self.search_field.textChanged.connect(self.finder) self.string_list = [] self.title_field = FPageTitle("Gestion des demandes") self.new_demande_btt = Button("Nouvelle demande") self.new_demande_btt.setMaximumWidth(400) self.new_demande_btt.setIcon( QIcon.fromTheme('save', QIcon(u"{}add.png".format(Config.img_media)))) self.new_demande_btt.clicked.connect(self.goto_demande) self.table = DemandeTableWidget(parent=self) editbox = QGridLayout() editbox.addWidget(self.search_field, 1, 0) editbox.setColumnStretch(1, 1) editbox.addWidget(self.new_demande_btt, 1, 3) vbox = QVBoxLayout() vbox.addWidget(self.title_field) vbox.addLayout(editbox) vbox.addWidget(self.table) self.setLayout(vbox)
def __init__(self, parent, *args, **kwargs): QtGui.QDialog.__init__(self, parent, *args, **kwargs) super(OrderRemoveWidget, self).__init__(parent=parent, *args, **kwargs) self.setWindowTitle(u"Confirmation de le suppression") self.title = FPageTitle(u"Voulez vous vraiment supprimer" u" de la sauvegarde?") self.title.setAlignment(QtCore.Qt.AlignHCenter) title_hbox = QtGui.QHBoxLayout() title_hbox.addWidget(self.title) report_hbox = QtGui.QGridLayout() # delete and cancel hbox Button_hbox = QtGui.QHBoxLayout() # Delete Button widget. delete_but = Button(u"Supprimer") Button_hbox.addWidget(delete_but) delete_but.clicked.connect(self.delete) # Cancel Button widget. cancel_but = Button(u"Annuler") Button_hbox.addWidget(cancel_but) cancel_but.clicked.connect(self.cancel) # Create the QVBoxLayout contenaire. vbox = QtGui.QVBoxLayout() vbox.addLayout(title_hbox) vbox.addLayout(report_hbox) vbox.addLayout(Button_hbox) self.setLayout(vbox)
def __init__(self, parent, dmd=None, *args, **kwargs): super(FWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.dmd = parent.dmd self.search_field = LineEdit() self.search_field.setPlaceholderText("Rechercher un membre") # self.search_field.setMaximumWidth(400) self.search_field.setMaximumSize(900, 100) self.search_field.textChanged.connect(self.finder) self.string_list = [] self.new_demande_btt = Button("Nouveau Membre") self.new_demande_btt.setMaximumWidth(400) self.new_demande_btt.setIcon(QIcon.fromTheme('save', QIcon( u"{}add.png".format(Config.img_media)))) self.new_demande_btt.clicked.connect(self.add_member) self.table = MemberTableWidget(parent=self) editbox = QGridLayout() editbox.addWidget(self.search_field, 1, 0) editbox.setColumnStretch(1, 1) editbox.addWidget(self.new_demande_btt, 1, 3) vbox = QVBoxLayout() vbox.addLayout(editbox) vbox.addWidget(self.table) self.setLayout(vbox)
class OperationWidget(FWidget): """docstring for OperationWidget""" def __init__(self, parent, *args, **kwargs): super(FWidget, self).__init__(parent=parent, *args, **kwargs) vbox = QVBoxLayout(self) gridbox = QGridLayout() self.parent = parent self.add_ow_but = Button(_(u"Nouvel utilisateur")) self.add_ow_but.setIcon( QIcon.fromTheme('', QIcon(u"{}user_add.png".format(Config.img_cmedia)))) self.add_ow_but.clicked.connect(self.add_owner) gridbox.addWidget(self.add_ow_but, 0, 0) gridbox.setColumnStretch(1, 5) vbox.addLayout(gridbox) self.setLayout(vbox) def add_owner(self): self.parent.parent.open_dialog( NewOrEditUserViewWidget, modal=True, pp=self.parent.table_owner)
def __init__(self, table_group, parent, *args, **kwargs): QDialog.__init__(self, parent, *args, **kwargs) self.parent = table_group group_id = self.parent.table_group.group.group_id self.group = Group.select().where(Group.id == group_id).get() vbox = QVBoxLayout() vbox.addWidget( FBoxTitle(u"<h3>Groupe: {}</h3>".format(self.group.name))) self.order_number = LineEdit() # form transfer self.amount = LineEdit() self.amount.setFont(QFont("Arial", 15)) self.amount.setValidator(QIntValidator()) self.amount.setToolTip(u"Taper le montant du transfert") # self.solde = FLabel(get_solde()) self.amount_error = ErrorLabel(u"") send_butt = Button(u"Envoyer") send_butt.clicked.connect(self.sender) cancel_but = Button(u"Annuler") cancel_but.clicked.connect(self.cancel) formbox = QGridLayout() formbox.addWidget(FLabel(u"Montant: "), 0, 0) formbox.addWidget(self.amount, 0, 1) formbox.addWidget(send_butt, 2, 1) formbox.addWidget(cancel_but, 2, 0) vbox.addLayout(formbox) self.setLayout(vbox)
def __init__(self, table_p, obj, parent, *args, **kwargs): QDialog.__init__(self, parent, *args, **kwargs) self.setWindowTitle(u"Confirmation de le suppression") self.title = FPageTitle(u"Voulez vous vraiment le supprimer?") self.obj = obj self.table_p = table_p self.parent = parent # self.title.setAlignment(Qt.AlignHCenter) title_hbox = QHBoxLayout() title_hbox.addWidget(self.title) report_hbox = QGridLayout() report_hbox.addWidget(FLabel(obj.display_name()), 0, 0) # delete and cancel hbox Button_hbox = QHBoxLayout() # Delete Button widget. delete_but = Button(u"Supprimer") Button_hbox.addWidget(delete_but) delete_but.clicked.connect(self.delete) # Cancel Button widget. cancel_but = Button(u"Annuler") Button_hbox.addWidget(cancel_but) cancel_but.clicked.connect(self.cancel) # Create the QVBoxLayout contenaire. vbox = QVBoxLayout() vbox.addLayout(title_hbox) vbox.addLayout(report_hbox) vbox.addLayout(Button_hbox) self.setLayout(vbox)
def __init__(self, parent, *args, **kwargs): QDialog.__init__(self, parent, *args, **kwargs) vbox = QVBoxLayout() vbox.addWidget(FBoxTitle(u" Configuration ")) self.sttg = LocalSetting.get(LocalSetting.slug == 1) self.baudrate = LineEdit(self.sttg.baudrate) self.code_consultation = LineEdit(self.sttg.code_consultation) self.code_send = LineEdit(self.sttg.code_send) self.code_send.setEchoMode(LineEdit.Password) self.port = LineEdit(self.sttg.port) formbox = QGridLayout() formbox.addWidget(FLabel(u"Mon de passe"), 1, 0) formbox.addWidget(self.baudrate, 1, 1) formbox.addWidget(FLabel(u"Consultation"), 2, 0) formbox.addWidget(self.code_consultation, 2, 1) formbox.addWidget(FLabel(u"Code envoi"), 3, 0) formbox.addWidget(self.code_send, 3, 1) formbox.addWidget(FLabel(u"PORT"), 4, 0) formbox.addWidget(self.port, 4, 1) butt = Button(u"Enregistrer") butt.clicked.connect(self.edit_prod) cancel_but = Button(u"Annuler") cancel_but.clicked.connect(self.cancel) formbox.addWidget(butt, 5, 1) formbox.addWidget(cancel_but, 5, 0) formbox.setColumnStretch(3, 3) formbox.setRowStretch(2, 2) vbox.addLayout(formbox) self.setLayout(vbox)
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)
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)
def __init__(self, parent=0, *args, **kwargs): super(PaymentViewWidget, self).__init__(parent=parent, *args, **kwargs) FPeriodHolder.__init__(self, *args, **kwargs) self.parentWidget().setWindowTitle(Config.APP_NAME + u" Movements") self.parent = parent self.title = u"Movements" self.on_date = FormatDate( QDate(date.today().year, date.today().month, 1)) self.end_date = FormatDate(QDate.currentDate()) self.now = datetime.now().strftime("%x") self.soldeField = FormLabel("0") self.label_balance = FormLabel(u"Solde au {} ".format(self.now)) balanceBox = QGridLayout() balanceBox.addWidget(self.label_balance, 0, 2) balanceBox.addWidget(self.soldeField, 0, 3) balanceBox.setColumnStretch(0, 1) self.table = RapportTableWidget(parent=self) self.button = Button(u"Ok") self.button.clicked.connect(self.table.refresh_) self.btt_export = BttExportXLSX(u"Exporter") self.btt_export.clicked.connect(self.export_xls) self.add_btt = Button("Créditer") self.add_btt.setIcon( QIcon(u"{img_media}{img}".format(img_media=Config.img_media, img="in.png"))) self.add_btt.clicked.connect(self.add_payment) self.sub_btt = Button("Débiter") self.sub_btt.setIcon( QIcon(u"{img_media}{img}".format(img_media=Config.img_media, img="out.png"))) self.sub_btt.clicked.connect(self.sub_payment) editbox = QGridLayout() editbox.addWidget(FormLabel(u"Date debut"), 0, 1) editbox.addWidget(self.on_date, 0, 2) editbox.addWidget(FormLabel(u"Date fin"), 1, 1) editbox.addWidget(self.end_date, 1, 2) editbox.addWidget(self.button, 1, 3) editbox.addWidget(self.sub_btt, 1, 5) editbox.addWidget(self.add_btt, 1, 6) editbox.addWidget(self.btt_export, 1, 7) editbox.setColumnStretch(4, 2) vbox = QVBoxLayout() vbox.addWidget(FPageTitle(self.title)) vbox.addLayout(editbox) vbox.addWidget(self.table) vbox.addLayout(balanceBox) self.setLayout(vbox)
def __init__(self, parent=0, *args, **kwargs): super(BuyViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parentWidget().setWindowTitle(Config.APP_NAME + u" Arrivage d'article") self.parent = parent vbox = QVBoxLayout() hbox = QHBoxLayout() editbox = QGridLayout() self.date = FormatDate(QDate.currentDate()) self.name_client = LineEdit() self.search_field = LineEdit() self.search_field.setPlaceholderText("Rechercher un article") self.search_field.setMaximumHeight(40) self.search_field.textChanged.connect(self.finder) # self.search_field.setFixedWidth(200) self.add_prod = Button(u"+ &Article") self.add_prod.clicked.connect(self.add_product) self.add_prod.setFixedWidth(80) # self.add_prod.setFixedHeight(20) self.add_prod.setStyleSheet("Text-align:botton") self.add_prod.setToolTip("Ajouter un nouvel article") self.table_buy = BuyTableWidget(parent=self) self.table_resultat = ResultatTableWidget(parent=self) self.table_info = InfoTableWidget(parent=self) editbox.addWidget(self.add_prod, 0, 1) editbox.addWidget(FormLabel(u"Date d'achat:"), 0, 4) editbox.addWidget(self.date, 0, 5) editbox.setColumnStretch(3, 3) splitter = QSplitter(Qt.Horizontal) splitter_left = QSplitter(Qt.Vertical) splitter_down = QSplitter(Qt.Vertical) splitter_left.addWidget(self.search_field) splitter_left.addWidget(self.table_resultat) splitter_down.resize(35, 20) splitter_down.addWidget(self.table_info) splitter_rigth = QSplitter(Qt.Vertical) splitter_rigth.addWidget(self.table_buy) splitter_rigth.resize(800, 900) splitter_left.addWidget(splitter_down) splitter.addWidget(splitter_left) splitter.addWidget(splitter_rigth) hbox.addWidget(splitter) vbox.addLayout(editbox) vbox.addLayout(hbox) self.setLayout(vbox)
class InfoTableWidget(FWidget): def __init__(self, parent, *args, **kwargs): super(FWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.refresh() self.details = FLabel() self.edit_ow_but = Button(u"Mettre à jour") self.edit_ow_but.setIcon(QIcon.fromTheme('document-new', QIcon(u"{}edit_user.png".format(Config.img_cmedia)))) self.edit_ow_but.setEnabled(False) self.edit_ow_but.clicked.connect(self.edit_owner) self.formbox = QGridLayout() self.formbox.addWidget(self.details, 0, 0) self.formbox.addWidget(self.edit_ow_but, 0, 1) # self.formbox.ColumnStretch(4, 2) # self.formbox.RowStretch(6, 2) vbox = QVBoxLayout() vbox.addLayout(self.formbox) self.setLayout(vbox) def refresh_(self, owner): self.refresh() self.owner = owner if isinstance(self.owner, int): return self.details.setText( """<h2>Nom: {username}</h2> <h4><b>Active:</b> {isactive}</h4> <h4><b>Numéro tel:</b> {phone}</h4> <h4><b>Dernière login:</b> {last_login}</h4> <h4><b>Nombre de connexion:</b> {login_count}</h4> <h4><b>Groupe:</b> {group}</h4> """.format(group=self.owner.group, login_count=self.owner.login_count, last_login=self.owner.last_login.strftime(u"%c"), phone=self.owner.phone, isactive=self.owner.isactive, username=self.owner.username)) def edit_owner(self): self.parent.parent.open_dialog(NewOrEditUserViewWidget, owner=self.owner, modal=True, pp=self.parent.table_info)
def __init__(self, parent=0, *args, **kwargs): super(InventoryViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parentWidget().setWindowTitle(Config.APP_NAME + u" INVENTAIRE") self.parent = parent self.title = u"Inventaire" self.on_date = FormatDate(QDate(date.today().year, 1, 1)) self.end_date = FormatDate(QDate.currentDate()) self.button = Button(u"Ok") self.button.clicked.connect(self.rapport_filter) self.btt_export = BttExportXLSX(u"Exporter") self.btt_export.clicked.connect(self.export_xls) self.invent_table = InventaireTableWidget(parent=self) # Grid gridbox = QGridLayout() gridbox.addWidget(FormLabel(u"Date debut"), 0, 1) gridbox.addWidget(self.on_date, 0, 2) gridbox.addWidget(FormLabel(u"Date fin"), 1, 1) gridbox.addWidget(self.end_date, 1, 2) gridbox.addWidget(self.button, 1, 3) gridbox.addWidget(self.btt_export, 1, 6) gridbox.setColumnStretch(4, 5) vbox = QVBoxLayout() vbox.addWidget(FPageTitle(self.title)) vbox.addLayout(gridbox) vbox.addWidget(self.invent_table) self.setLayout(vbox) self.refresh()
def __init__(self, parent=0, *args, **kwargs): super(PeriodByViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.title = FPageTitle(_(u"Periodic report")) self.on_date = FormatDate(QDate(date.today().year, 1, 1)) self.end_date = FormatDate(QDate.currentDate()) self.Button = Button(u"OK") self.Button.clicked.connect(self.rapport_filter) self.current_period = FLabel( self.format_period(self.on_date.text(), self.end_date.text())) vbox = QVBoxLayout() # Grid gridbox = QGridLayout() gridbox.addWidget(FormLabel(u"Date debut"), 0, 0) gridbox.addWidget(self.on_date, 0, 1) gridbox.addWidget(FormLabel(u"Date fin"), 1, 0) gridbox.addWidget(self.end_date, 1, 1) gridbox.addWidget(self.Button, 1, 2) gridbox.setColumnStretch(3, 1) gridbox.addWidget(self.current_period, 1, 4) self.table = By_periodTableWidget(parent=self) vbox.addWidget(self.title) vbox.addLayout(gridbox) vbox.addWidget(self.table) self.setLayout(vbox)
def __init__(self, parent, *args, **kwargs): QDialog.__init__(self, parent, *args, **kwargs) vbox = QVBoxLayout() vbox.addWidget(FBoxTitle(u"<h3>Ajout de contact </h3>")) self.combo_grp = QComboBox() groups = Group() groups.name = "Aucun" self.list_grp = Group.all() self.list_grp.append(groups) self.list_grp.reverse() for index in self.list_grp: sentence = u"%(name)s" % {'name': index.name} self.combo_grp.addItem(sentence) self.full_name = LineEdit() self.msg_e_or_c = FLabel("") self.full_name.setFont(QFont("Arial", 16)) self.phone_number = IntLineEdit() self.phone_number.setInputMask("D9.99.99.99") self.phone_number.setAlignment(Qt.AlignCenter) self.phone_number.setFont(QFont("Arial", 16)) send_butt = Button(u"Enregistrer") send_butt.clicked.connect(self.save_form) cancel_but = Button(u"Fermer") cancel_but.clicked.connect(self.cancel) formbox = QGridLayout() formbox.addWidget(FLabel(u"Groupes:"), 0, 0) formbox.addWidget(self.combo_grp, 1, 0) formbox.addWidget(FLabel(u"Nom complèt: "), 0, 1) formbox.addWidget(self.full_name, 1, 1) formbox.addWidget(FLabel(u"Numéro: "), 0, 2) formbox.addWidget(self.phone_number, 1, 2) formbox.addWidget(send_butt, 2, 1) formbox.addWidget(cancel_but, 2, 0) formbox.addWidget(self.msg_e_or_c, 3, 0, 3, 2) vbox.addLayout(formbox) self.setLayout(vbox)
def __init__(self, parent=0, *args, **kwargs): super(ProvidersViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.title = u"Movements" self.on_date = FormatDate(QDate(date.today().year, 1, 1)) self.end_date = FormatDate(QDate.currentDate()) # self.now = datetime.now().strftime("%x") self.soldeField = FormLabel("{}".format(device_amount(0))) balanceBox = QGridLayout() balanceBox.addWidget(self.soldeField, 0, 3) balanceBox.setColumnStretch(0, 1) self.string_list = [""] + [ "{},{}".format(clt.name, clt.phone) for clt in ProviderOrClient.select().where( ProviderOrClient.type_ == ProviderOrClient.CLT).order_by( ProviderOrClient.name.desc()) ] self.name_client_field = ExtendedComboBox() self.name_client_field.addItems(self.string_list) self.name_client_field.setMaximumSize( 200, self.name_client_field.maximumSize().height()) self.name_client_field.setToolTip("Nom, numero du client") self.table = RapportTableWidget(parent=self) self.button = Button(u"Ok") self.button.clicked.connect(self.refresh_prov_clt) self.btt_export = BttExportXLSX(u"Exporter") self.btt_export.clicked.connect(self.export_xls) editbox = QGridLayout() editbox.addWidget(FormLabel(u"Date debut"), 0, 1) editbox.addWidget(self.on_date, 0, 2) editbox.addWidget(FormLabel(u"Date fin"), 1, 1) editbox.addWidget(self.end_date, 1, 2) editbox.addWidget(self.name_client_field, 0, 3) editbox.addWidget(self.button, 1, 3) editbox.addWidget(self.btt_export, 1, 7) editbox.setColumnStretch(4, 2) vbox = QVBoxLayout() vbox.addWidget(FPageTitle(self.title)) vbox.addLayout(editbox) vbox.addWidget(self.table) vbox.addLayout(balanceBox) self.setLayout(vbox)
def __init__(self, parent=0, *args, **kwargs): super(BuyViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parentWidget().setWindowTitle( Config.APP_NAME + u" Arrivage d'article") self.parent = parent vbox = QVBoxLayout(self) hbox = QHBoxLayout(self) editbox = QGridLayout() self.date = FormatDate(QDate.currentDate()) self.name_client = LineEdit() self.search_field = LineEdit() self.search_field.setPlaceholderText("Rechercher un article") self.search_field.textChanged.connect(self.finder) # self.search_field.setFixedWidth(200) self.add_prod = Button(u"+ &Article") self.add_prod.clicked.connect(self.add_product) self.add_prod.setFixedWidth(80) # self.add_prod.setFixedHeight(20) self.add_prod.setStyleSheet("Text-align:botton") self.add_prod.setToolTip("Ajouter un nouvel article") self.table_buy = BuyTableWidget(parent=self) self.table_resultat = ResultatTableWidget(parent=self) self.table_info = InfoTableWidget(parent=self) editbox.addWidget(self.add_prod, 0, 1) editbox.addWidget(FormLabel(u"Date d'achat:"), 0, 4) editbox.addWidget(self.date, 0, 5) editbox.setColumnStretch(3, 3) splitter = QSplitter(Qt.Horizontal) splitter_left = QSplitter(Qt.Vertical) splitter_down = QSplitter(Qt.Vertical) splitter_left.addWidget(self.search_field) splitter_left.addWidget(self.table_resultat) splitter_down.resize(35, 20) splitter_down.addWidget(self.table_info) splitter_rigth = QSplitter(Qt.Vertical) splitter_rigth.addWidget(self.table_buy) splitter_rigth.resize(800, 900) splitter_left.addWidget(splitter_down) splitter.addWidget(splitter_left) splitter.addWidget(splitter_rigth) hbox.addWidget(splitter) vbox.addLayout(editbox) vbox.addLayout(hbox) self.setLayout(vbox)
def __init__(self, parent=0, *args, **kwargs): super(AdminViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.parentWidget().setWindowTitle( Config.APP_NAME + u" ADMINISTRATION") editbox = QGridLayout() table_config = QVBoxLayout() self.table_config = OrganizationTableWidget(parent=self) table_config.addLayout(editbox) table_config.addWidget(self.table_config) self.bttrestor = Button(_(u"Restaurer")) self.bttrestor.clicked.connect(self.restorseleted) self.bttrestor.setEnabled(False) self.bttempty = Button(_(u"Vide")) self.bttempty.clicked.connect(self.deletedseleted) self.bttempty.setEnabled(False) # Grid gridbox = QGridLayout() history_table = QVBoxLayout() self.history_table = TrashTableWidget(parent=self) history_table.addLayout(gridbox) history_table.addWidget(self.history_table) table_login = QVBoxLayout() self.table_login = LoginManageWidget(parent=self) table_login.addLayout(gridbox) table_login.addWidget(self.table_login) tab_widget = tabbox((table_config, _(u"Gestion de l'organisation")), (history_table, _(u"Historique")), (table_login, _(u"Gestion d'Utilisateurs")), ) vbox = QVBoxLayout() vbox.addWidget(tab_widget) self.setLayout(vbox)
def __init__(self, parent=0, dmd=None, *args, **kwargs): super(MemberManagerWidget, self).__init__( parent=parent, *args, **kwargs) FPeriodHolder.__init__(self, *args, **kwargs) self.parent = parent self.dmd = dmd self.search_field = LineEdit() self.search_field.setPlaceholderText("Rechercher un membre") # self.search_field.setMaximumWidth(400) self.search_field.setMaximumSize(900, 100) self.search_field.textChanged.connect(self.finder) self.string_list = [] self.title_field = FPageTitle( "Gestion des membres de la {}".format(self.dmd.scoop)) self.end_demande_btt = Button("Fin de l'ajout") self.end_demande_btt.setMaximumWidth(400) self.end_demande_btt.clicked.connect(self.goto_immatriculation) if self.dmd.scoop.membres().count() < 4: self.end_demande_btt.setEnabled(False) self.new_demande_btt = Button("Nouveau Membre") self.new_demande_btt.setMaximumWidth(400) self.new_demande_btt.setIcon(QIcon.fromTheme('save', QIcon( u"{}add.png".format(Config.img_media)))) self.new_demande_btt.clicked.connect(self.add_member) self.table = MemberTableWidget(parent=self) editbox = QGridLayout() editbox.addWidget(self.search_field, 1, 0) editbox.setColumnStretch(1, 1) editbox.addWidget(self.new_demande_btt, 1, 3) editbox.addWidget(self.end_demande_btt, 1, 4) vbox = QVBoxLayout() vbox.addWidget(self.title_field) vbox.addLayout(editbox) vbox.addWidget(self.table) self.setLayout(vbox)
def __init__(self, table_group, parent, *args, **kwargs): QDialog.__init__(self, parent, *args, **kwargs) self.parent = table_group group_id = self.parent.table_group.group.group_id self.group = Group.select().where(Group.id == group_id).get() vbox = QVBoxLayout() vbox.addWidget( FBoxTitle( u"<h2>Envoi pour les ({0}) contactes du groupe <b>{1}</b></h2>" .format(len(self.group.contacts), self.group.name))) # form transfer self.amount = LineEdit() self.amount.setFont(QFont("Arial", 15)) self.amount.setValidator(QIntValidator()) self.amount.setToolTip(u"Taper le montant du transfert") self.amount_error = ErrorLabel(u"") self.password_field = EnterTabbedLineEdit() self.password_field.setEchoMode(LineEdit.Password) self.password_field.setToolTip(u"Taper le code orange money") self.send_butt = Button(u"Envoyer") self.send_butt.clicked.connect(self.sender) cancel_but = Button(u"Annuler") cancel_but.clicked.connect(self.cancel) formbox = QGridLayout() formbox.addWidget(FLabel(u"Montant: "), 0, 0) formbox.addWidget(self.amount, 0, 1) formbox.addWidget(FLabel(u"Code: "), 1, 0) formbox.addWidget(self.password_field, 1, 1) formbox.addWidget(self.send_butt, 2, 1) formbox.addWidget(cancel_but, 2, 0) self.isvalid() vbox.addLayout(formbox) 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 __init__(self, parent, *args, **kwargs): super(FWidget, self).__init__(parent=parent, *args, **kwargs) vbox = QVBoxLayout(self) gridbox = QGridLayout() self.parent = parent self.add_ow_but = Button(_(u"Nouvel utilisateur")) self.add_ow_but.setIcon( QIcon.fromTheme('', QIcon(u"{}user_add.png".format(Config.img_cmedia)))) self.add_ow_but.clicked.connect(self.add_owner) gridbox.addWidget(self.add_ow_but, 0, 0) gridbox.setColumnStretch(1, 5) vbox.addLayout(gridbox) self.setLayout(vbox)
def __init__(self, parent, *args, **kwargs): super(FWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.refresh() self.details = FLabel() self.edit_ow_but = Button(u"Mettre à jour") self.edit_ow_but.setIcon(QIcon.fromTheme('document-new', QIcon(u"{}edit_user.png".format(Config.img_cmedia)))) self.edit_ow_but.setEnabled(False) self.edit_ow_but.clicked.connect(self.edit_owner) self.formbox = QGridLayout() self.formbox.addWidget(self.details, 0, 0) self.formbox.addWidget(self.edit_ow_but, 0, 1) # self.formbox.ColumnStretch(4, 2) # self.formbox.RowStretch(6, 2) vbox = QVBoxLayout() vbox.addLayout(self.formbox) self.setLayout(vbox)
def __init__(self, table_group, parent, *args, **kwargs): QDialog.__init__(self, parent, *args, **kwargs) self.parent = table_group group_id = self.parent.table_group.group.group_id self.group = Group.select().where(Group.id == group_id).get() vbox = QVBoxLayout() vbox.addWidget(FBoxTitle( u"<h2>Envoi pour les ({0}) contactes du groupe <b>{1}</b></h2>".format(len(self.group.contacts), self.group.name))) # form transfer self.amount = LineEdit() self.amount.setFont(QFont("Arial", 15)) self.amount.setValidator(QIntValidator()) self.amount.setToolTip(u"Taper le montant du transfert") self.amount_error = ErrorLabel(u"") self.password_field = EnterTabbedLineEdit() self.password_field.setEchoMode(LineEdit.Password) self.password_field.setToolTip(u"Taper le code orange money") self.send_butt = Button(u"Envoyer") self.send_butt.clicked.connect(self.sender) cancel_but = Button(u"Annuler") cancel_but.clicked.connect(self.cancel) formbox = QGridLayout() formbox.addWidget(FLabel(u"Montant: "), 0, 0) formbox.addWidget(self.amount, 0, 1) formbox.addWidget(FLabel(u"Code: "), 1, 0) formbox.addWidget(self.password_field, 1, 1) formbox.addWidget(self.send_butt, 2, 1) formbox.addWidget(cancel_but, 2, 0) self.isvalid() vbox.addLayout(formbox) self.setLayout(vbox)
def __init__(self, table_p, parent, scoop=None, member=None, *args, **kwargs): FWidget.__init__(self, parent, *args, **kwargs) self.table_p = table_p self.member = member self.scoop = scoop self.parent = parent full_name = "" self.ddn_field = FormatDate(QDate(QDate.currentDate())) addres = "" nationality = "" phone = "" if self.member: self.new = False full_name = self.member.full_name mddn = self.member.ddn if mddn: day, month, year = mddn.split("/") ddn = datetime.strptime(mddn, '%d/%m/%Y') self.ddn_field.setDate(QDate(ddn)) addres = self.member.addres nationality = self.member.nationality phone = str(self.member.phone or "") self.title = u"Modification de {}".format(self.member) self.succes_msg = u"{} a été bien mise à jour".format(self.member) else: self.new = True self.succes_msg = u"Client a été bien enregistré" self.title = u"Ajout nouveau membre" self.member = CooperativeMember() self.setWindowTitle(self.title) vbox = QVBoxLayout() # vbox.addWidget(FPageTitle(u"Utilisateur: %s " % self.member.name)) self.full_name_field = LineEdit(full_name) self.sex_list = CooperativeMember.SEX.items() # Combobox widget self.sex_box = QComboBox() for index, value in enumerate(self.sex_list): # form = self.sex_list[index] self.sex_box.addItem("{}".format(value[1].upper()), value[0]) if self.member.sex == value[0]: self.sex_box.setCurrentIndex(index) # print("DE", ddn) # self.ddn_field.setDate(ddn) # self.ddn_field = QDateEdit(QDate(ddn)) self.addres_field = QTextEdit(addres) self.nationality_field = LineEdit(nationality) self.phone_field = IntLineEdit(phone) self.phone_field.setInputMask("## ## ## ##") self.poste_list = get_postes() self.poste_box = QComboBox() for index, value in enumerate(self.poste_list): self.poste_box.addItem( "{}".format(self.poste_list.get(value).upper()), value) if self.member.poste == value: print(value) self.poste_box.setCurrentIndex(index) formbox = QFormLayout() formbox.addRow(FormLabel(u"Nom complet : *"), self.full_name_field) formbox.addRow(FormLabel(u"Sexe *:"), self.sex_box) formbox.addRow(FormLabel(u"Date de naissance *:"), self.ddn_field) formbox.addRow(FormLabel(u"Poste occupé *:"), self.poste_box) formbox.addRow(FormLabel(u"Nationalité *:"), self.nationality_field) formbox.addRow(FormLabel(u"Téléphone :"), self.phone_field) formbox.addRow(FormLabel(u"Adresse :"), self.addres_field) butt = Button(u"Enregistrer") butt.clicked.connect(self.save_edit) formbox.addRow("", butt) vbox.addLayout(formbox) self.setLayout(vbox)
class PaymentViewWidget(FWidget, FPeriodHolder): def __init__(self, parent=0, *args, **kwargs): super(PaymentViewWidget, self).__init__(parent=parent, *args, **kwargs) FPeriodHolder.__init__(self, *args, **kwargs) self.parentWidget().setWindowTitle(Config.APP_NAME + u" Movements") self.parent = parent self.title = u"Movements" self.on_date = FormatDate( QDate(date.today().year, date.today().month, 1)) self.end_date = FormatDate(QDate.currentDate()) self.now = datetime.now().strftime("%x") self.soldeField = FormLabel("0") self.label_balance = FormLabel(u"Solde au {} ".format(self.now)) balanceBox = QGridLayout() balanceBox.addWidget(self.label_balance, 0, 2) balanceBox.addWidget(self.soldeField, 0, 3) balanceBox.setColumnStretch(0, 1) self.table = RapportTableWidget(parent=self) self.button = Button(u"Ok") self.button.clicked.connect(self.table.refresh_) self.btt_export = BttExportXLSX(u"Exporter") self.btt_export.clicked.connect(self.export_xls) self.add_btt = Button("Créditer") self.add_btt.setIcon( QIcon(u"{img_media}{img}".format(img_media=Config.img_media, img="in.png"))) self.add_btt.clicked.connect(self.add_payment) self.sub_btt = Button("Débiter") self.sub_btt.setIcon( QIcon(u"{img_media}{img}".format(img_media=Config.img_media, img="out.png"))) self.sub_btt.clicked.connect(self.sub_payment) editbox = QGridLayout() editbox.addWidget(FormLabel(u"Date debut"), 0, 1) editbox.addWidget(self.on_date, 0, 2) editbox.addWidget(FormLabel(u"Date fin"), 1, 1) editbox.addWidget(self.end_date, 1, 2) editbox.addWidget(self.button, 1, 3) editbox.addWidget(self.sub_btt, 1, 5) editbox.addWidget(self.add_btt, 1, 6) editbox.addWidget(self.btt_export, 1, 7) editbox.setColumnStretch(4, 2) vbox = QVBoxLayout() vbox.addWidget(FPageTitle(self.title)) vbox.addLayout(editbox) vbox.addWidget(self.table) vbox.addLayout(balanceBox) self.setLayout(vbox) def export_xls(self): from Common.exports_xlsx import export_dynamic_data dict_data = { 'file_name': "versements.xlsx", 'headers': self.table.hheaders[:-1], 'data': self.table.data, "extend_rows": [ (1, self.table.label_mov_tt), (2, self.table.totals_debit), (3, self.table.totals_credit), ], "footers": [ ("C", "E", "Solde au {} = {}".format(self.now, self.table.balance_tt)), ], 'sheet': self.title, # 'title': self.title, 'format_money': [ 'C:C', 'D:D', 'E:E', ], 'widths': self.table.stretch_columns, 'exclude_row': len(self.table.data) - 1, "date": "Du {} au {}".format( date_to_datetime(self.on_date.text()).strftime(u'%d/%m/%Y'), date_to_datetime(self.end_date.text()).strftime(u'%d/%m/%Y')) } export_dynamic_data(dict_data) def add_payment(self): print("add_payment") self.open_dialog(EditOrAddPaymentrDialog, modal=True, payment=None, type_=Payment.CREDIT, table_p=self.table) def sub_payment(self): print("sub_payment") self.open_dialog(EditOrAddPaymentrDialog, modal=True, payment=None, type_=Payment.DEBIT, table_p=self.table)
class SendGroupViewWidget(QDialog, FWidget): def __init__(self, table_group, parent, *args, **kwargs): QDialog.__init__(self, parent, *args, **kwargs) self.parent = table_group group_id = self.parent.table_group.group.group_id self.group = Group.select().where(Group.id == group_id).get() vbox = QVBoxLayout() vbox.addWidget(FBoxTitle( u"<h2>Envoi pour les ({0}) contactes du groupe <b>{1}</b></h2>".format(len(self.group.contacts), self.group.name))) # form transfer self.amount = LineEdit() self.amount.setFont(QFont("Arial", 15)) self.amount.setValidator(QIntValidator()) self.amount.setToolTip(u"Taper le montant du transfert") self.amount_error = ErrorLabel(u"") self.password_field = EnterTabbedLineEdit() self.password_field.setEchoMode(LineEdit.Password) self.password_field.setToolTip(u"Taper le code orange money") self.send_butt = Button(u"Envoyer") self.send_butt.clicked.connect(self.sender) cancel_but = Button(u"Annuler") cancel_but.clicked.connect(self.cancel) formbox = QGridLayout() formbox.addWidget(FLabel(u"Montant: "), 0, 0) formbox.addWidget(self.amount, 0, 1) formbox.addWidget(FLabel(u"Code: "), 1, 0) formbox.addWidget(self.password_field, 1, 1) formbox.addWidget(self.send_butt, 2, 1) formbox.addWidget(cancel_but, 2, 0) self.isvalid() vbox.addLayout(formbox) self.setLayout(vbox) def cancel(self): self.close() def isvalid(self): self.list_phone_num = [(i.contact.number) for i in ContactGroup.filter(group__id=self.group.id)] if self.list_phone_num == []: self.send_butt.setEnabled(False) self.send_butt.setToolTip(u"""Ce groupe n'a pas le numéro de téléphone.""") def iscomplet(self): self.amount.setStyleSheet("") self.amount.setText(u"") self.password_field.setStyleSheet("") self.password_field.setText(u"") 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 sender(self): if not self.iscomplet: return data = {"phone_num": self.list_phone_num, "code": unicode(self.password_field.text()), "amount": unicode(self.amount.text()) } multiple_sender(data) self.cancel() self.parent.table_group.refresh_()
class SendGroupViewWidget(QDialog, FWidget): def __init__(self, table_group, parent, *args, **kwargs): QDialog.__init__(self, parent, *args, **kwargs) self.parent = table_group group_id = self.parent.table_group.group.group_id self.group = Group.select().where(Group.id == group_id).get() vbox = QVBoxLayout() vbox.addWidget( FBoxTitle( u"<h2>Envoi pour les ({0}) contactes du groupe <b>{1}</b></h2>" .format(len(self.group.contacts), self.group.name))) # form transfer self.amount = LineEdit() self.amount.setFont(QFont("Arial", 15)) self.amount.setValidator(QIntValidator()) self.amount.setToolTip(u"Taper le montant du transfert") self.amount_error = ErrorLabel(u"") self.password_field = EnterTabbedLineEdit() self.password_field.setEchoMode(LineEdit.Password) self.password_field.setToolTip(u"Taper le code orange money") self.send_butt = Button(u"Envoyer") self.send_butt.clicked.connect(self.sender) cancel_but = Button(u"Annuler") cancel_but.clicked.connect(self.cancel) formbox = QGridLayout() formbox.addWidget(FLabel(u"Montant: "), 0, 0) formbox.addWidget(self.amount, 0, 1) formbox.addWidget(FLabel(u"Code: "), 1, 0) formbox.addWidget(self.password_field, 1, 1) formbox.addWidget(self.send_butt, 2, 1) formbox.addWidget(cancel_but, 2, 0) self.isvalid() vbox.addLayout(formbox) self.setLayout(vbox) def cancel(self): self.close() def isvalid(self): self.list_phone_num = [ (i.contact.number) for i in ContactGroup.filter(group__id=self.group.id) ] if self.list_phone_num == []: self.send_butt.setEnabled(False) self.send_butt.setToolTip(u"""Ce groupe n'a pas le numéro de téléphone.""") def iscomplet(self): self.amount.setStyleSheet("") self.amount.setText(u"") self.password_field.setStyleSheet("") self.password_field.setText(u"") 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 sender(self): if not self.iscomplet: return data = { "phone_num": self.list_phone_num, "code": unicode(self.password_field.text()), "amount": unicode(self.amount.text()) } multiple_sender(data) self.cancel() self.parent.table_group.refresh_()
class AdminViewWidget(FWidget): def __init__(self, parent=0, *args, **kwargs): super(AdminViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parent = parent self.parentWidget().setWindowTitle( Config.APP_NAME + u" ADMINISTRATION") editbox = QGridLayout() table_config = QVBoxLayout() self.table_config = OrganizationTableWidget(parent=self) table_config.addLayout(editbox) table_config.addWidget(self.table_config) self.bttrestor = Button(_(u"Restaurer")) self.bttrestor.clicked.connect(self.restorseleted) self.bttrestor.setEnabled(False) self.bttempty = Button(_(u"Vide")) self.bttempty.clicked.connect(self.deletedseleted) self.bttempty.setEnabled(False) # Grid gridbox = QGridLayout() history_table = QVBoxLayout() self.history_table = TrashTableWidget(parent=self) history_table.addLayout(gridbox) history_table.addWidget(self.history_table) table_login = QVBoxLayout() self.table_login = LoginManageWidget(parent=self) table_login.addLayout(gridbox) table_login.addWidget(self.table_login) tab_widget = tabbox((table_config, _(u"Gestion de l'organisation")), (history_table, _(u"Historique")), (table_login, _(u"Gestion d'Utilisateurs")), ) vbox = QVBoxLayout() vbox.addWidget(tab_widget) self.setLayout(vbox) def enablebtt(self): self.bttrestor.setEnabled(True) self.bttempty.setEnabled(True) def restorseleted(self): for doc in self.history_table.getSelectTableItems(): doc.isnottrash() self.history_table.refresh_() def deletedseleted(self): reply = QMessageBox.question( self, 'Suppression definitive', self.tr("Voulez vous vraiment le supprimer?"), QMessageBox.Yes, QMessageBox.No) if reply == QMessageBox.Yes: for doc in self.history_table.getSelectTableItems(): doc.remove_doc() self.history_table.refresh_()
class MemberManagerWidget(FWidget, FPeriodHolder): def __init__(self, parent=0, dmd=None, *args, **kwargs): super(MemberManagerWidget, self).__init__( parent=parent, *args, **kwargs) FPeriodHolder.__init__(self, *args, **kwargs) self.parent = parent self.dmd = dmd self.search_field = LineEdit() self.search_field.setPlaceholderText("Rechercher un membre") # self.search_field.setMaximumWidth(400) self.search_field.setMaximumSize(900, 100) self.search_field.textChanged.connect(self.finder) self.string_list = [] self.title_field = FPageTitle( "Gestion des membres de la {}".format(self.dmd.scoop)) self.end_demande_btt = Button("Fin de l'ajout") self.end_demande_btt.setMaximumWidth(400) self.end_demande_btt.clicked.connect(self.goto_immatriculation) if self.dmd.scoop.membres().count() < 4: self.end_demande_btt.setEnabled(False) self.new_demande_btt = Button("Nouveau Membre") self.new_demande_btt.setMaximumWidth(400) self.new_demande_btt.setIcon(QIcon.fromTheme('save', QIcon( u"{}add.png".format(Config.img_media)))) self.new_demande_btt.clicked.connect(self.add_member) self.table = MemberTableWidget(parent=self) editbox = QGridLayout() editbox.addWidget(self.search_field, 1, 0) editbox.setColumnStretch(1, 1) editbox.addWidget(self.new_demande_btt, 1, 3) editbox.addWidget(self.end_demande_btt, 1, 4) vbox = QVBoxLayout() vbox.addWidget(self.title_field) vbox.addLayout(editbox) vbox.addWidget(self.table) self.setLayout(vbox) # def end_add_member(self): # self.dmd.status = self.dmd.CHECKLIST # self.dmd.save_() # from ui.check_list_view import CheckListViewWidget # self.change_main_context(CheckListViewWidget, dmd=self.dmd) def goto_immatriculation(self): # self.dmd.status = self.dmd.CHECKLIST self.dmd.status = self.dmd.IMMATRICULAITON self.dmd.save_() from ui.immatriculation import ImmatriculationSCoopViewWidget self.change_main_context( ImmatriculationSCoopViewWidget, dmd=self.dmd) def add_member(self): self.open_dialog( EditOrAddMemberDialog, modal=True, scoop=self.dmd.scoop, table_p=self.table) def finder(self): self.search = self.search_field.text() self.table.refresh_() def refresh_b(self): if self.dmd.scoop.membres().count() >= 3: self.end_demande_btt.setEnabled(True)
class BuyViewWidget(FWidget): def __init__(self, parent=0, *args, **kwargs): super(BuyViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parentWidget().setWindowTitle( Config.APP_NAME + u" Arrivage d'article") self.parent = parent vbox = QVBoxLayout(self) hbox = QHBoxLayout(self) editbox = QGridLayout() self.date = FormatDate(QDate.currentDate()) self.name_client = LineEdit() self.search_field = LineEdit() self.search_field.setPlaceholderText("Rechercher un article") self.search_field.textChanged.connect(self.finder) # self.search_field.setFixedWidth(200) self.add_prod = Button(u"+ &Article") self.add_prod.clicked.connect(self.add_product) self.add_prod.setFixedWidth(80) # self.add_prod.setFixedHeight(20) self.add_prod.setStyleSheet("Text-align:botton") self.add_prod.setToolTip("Ajouter un nouvel article") self.table_buy = BuyTableWidget(parent=self) self.table_resultat = ResultatTableWidget(parent=self) self.table_info = InfoTableWidget(parent=self) editbox.addWidget(self.add_prod, 0, 1) editbox.addWidget(FormLabel(u"Date d'achat:"), 0, 4) editbox.addWidget(self.date, 0, 5) editbox.setColumnStretch(3, 3) splitter = QSplitter(Qt.Horizontal) splitter_left = QSplitter(Qt.Vertical) splitter_down = QSplitter(Qt.Vertical) splitter_left.addWidget(self.search_field) splitter_left.addWidget(self.table_resultat) splitter_down.resize(35, 20) splitter_down.addWidget(self.table_info) splitter_rigth = QSplitter(Qt.Vertical) splitter_rigth.addWidget(self.table_buy) splitter_rigth.resize(800, 900) splitter_left.addWidget(splitter_down) splitter.addWidget(splitter_left) splitter.addWidget(splitter_rigth) hbox.addWidget(splitter) vbox.addLayout(editbox) vbox.addLayout(hbox) self.setLayout(vbox) def add_product(self): """ """ self.open_dialog(EditOrAddProductsDialog, modal=True, product=None, table_p=self.table_resultat) def finder(self): search_term = str(self.search_field.text()) self.table_resultat.refresh_(search_term) def save_b(self): ''' add operation ''' # entete de la facture if not self.table_buy.isvalid: return False owner = Owner.get(Owner.islog == True) date = str(self.date.text()) values_t = self.table_buy.get_table_items() buy = Buy() # buy.date = datetime_ buy.provd_or_clt = \ ProviderOrClient.get_or_create( "Fournisseur", 000000, ProviderOrClient.FSEUR) buy.owner = owner try: buy.save() err = False except: raise raise_error( "Erreur", u"Impossible d'enregistrer l'entête de la facture") return False for name, qty, cost_buying, selling_price in values_t: rep = Report() rep.buy = buy rep.type_ = Report.E rep.store = 1 rep.date = date_to_datetime(date) rep.product = Product.get(name=name) rep.qty = int(qty) rep.cost_buying = int(cost_buying) rep.selling_price = int(selling_price) try: rep.save() except Exception as e: print(e) err = True if err: buy.delete_instance() raise_error("Erreur", u"Ce mouvement n'a pas pu etre " u"enregistré dans les rapports") return False else: self.parent.Notify(u"L'entrée des articles avec succès", "success") self.change_main_context(BuyShowViewWidget, buy=buy)
def __init__(self, table_p, report, parent, *args, **kwargs): QDialog.__init__(self, parent, *args, **kwargs) self.setWindowTitle(u"Modification") self.table_p = table_p self.rpt = report self.parent = parent self.out_op = True if self.rpt.type_ == Report.E: self.out_op = False self.selling_price_field = IntLineEdit(unicode(self.rpt.selling_price)) self.cost_buying_field = IntLineEdit(unicode(self.rpt.cost_buying)) self.qty_field = IntLineEdit(unicode(self.rpt.qty)) self.date_field = FormatDate(QDate(self.rpt.date)) self.date_field.setEnabled(False) butt = Button(u"Mise à jour") butt.clicked.connect(self.edit_report) cancel_but = Button(u"Annuler") cancel_but.clicked.connect(self.cancel) # Combobox widget i = 0 self.liste_type = [Report.E, Report.S] self.box_type = QComboBox() self.box_type.setEnabled(False) for index in xrange(0, len(self.liste_type)): ty = self.liste_type[index] if ty == self.rpt.type_: i = index sentence = u"%(ty)s" % {'ty': ty} self.box_type.addItem(sentence, ty) self.box_type.setCurrentIndex(i) # Combobox widget # self.liste_store = Store.order_by(desc(Store.id)).all() # self.box_mag = QComboBox() # for index in xrange(0, len(self.liste_store)): # op = self.liste_store[index] # sentence = u"%(name)s" % {'name': op.name} # self.box_mag.addItem(sentence, QVariant(op.id)) # Combobox widget self.liste_product = Product.all() self.box_prod_field = QComboBox() self.box_prod_field.setEnabled(False) for index in xrange(0, len(self.liste_product)): prod = self.liste_product[index] if prod.name == self.rpt.product.name: i = index sentence = u"%(name)s" % {'name': prod.name} self.box_prod_field.addItem(sentence, prod.id) self.box_prod_field.setCurrentIndex(i) vbox = QVBoxLayout() formbox = QFormLayout() # editbox.addWidget(FormLabel((_(u"Store"))), 0, 1) # editbox.addWidget(self.box_mag, 1, 1) formbox.addRow(FormLabel(u"Type"), FormLabel(self.rpt.type_)) formbox.addRow(FormLabel(u"Désignation"), self.box_prod_field) formbox.addRow(FormLabel(u"Quantité"), self.qty_field) formbox.addRow(FormLabel("Prix d'achat"), self.cost_buying_field) formbox.addRow(FormLabel("Prix vente"), self.selling_price_field) formbox.addRow(FormLabel(u"Date"), self.date_field) formbox.addRow(butt, cancel_but) vbox.addLayout(formbox) self.setLayout(vbox)
class BuyViewWidget(FWidget): def __init__(self, parent=0, *args, **kwargs): super(BuyViewWidget, self).__init__(parent=parent, *args, **kwargs) self.parentWidget().setWindowTitle(Config.APP_NAME + u" Arrivage d'article") self.parent = parent vbox = QVBoxLayout() hbox = QHBoxLayout() editbox = QGridLayout() self.date = FormatDate(QDate.currentDate()) self.name_client = LineEdit() self.search_field = LineEdit() self.search_field.setPlaceholderText("Rechercher un article") self.search_field.setMaximumHeight(40) self.search_field.textChanged.connect(self.finder) # self.search_field.setFixedWidth(200) self.add_prod = Button(u"+ &Article") self.add_prod.clicked.connect(self.add_product) self.add_prod.setFixedWidth(80) # self.add_prod.setFixedHeight(20) self.add_prod.setStyleSheet("Text-align:botton") self.add_prod.setToolTip("Ajouter un nouvel article") self.table_buy = BuyTableWidget(parent=self) self.table_resultat = ResultatTableWidget(parent=self) self.table_info = InfoTableWidget(parent=self) editbox.addWidget(self.add_prod, 0, 1) editbox.addWidget(FormLabel(u"Date d'achat:"), 0, 4) editbox.addWidget(self.date, 0, 5) editbox.setColumnStretch(3, 3) splitter = QSplitter(Qt.Horizontal) splitter_left = QSplitter(Qt.Vertical) splitter_down = QSplitter(Qt.Vertical) splitter_left.addWidget(self.search_field) splitter_left.addWidget(self.table_resultat) splitter_down.resize(35, 20) splitter_down.addWidget(self.table_info) splitter_rigth = QSplitter(Qt.Vertical) splitter_rigth.addWidget(self.table_buy) splitter_rigth.resize(800, 900) splitter_left.addWidget(splitter_down) splitter.addWidget(splitter_left) splitter.addWidget(splitter_rigth) hbox.addWidget(splitter) vbox.addLayout(editbox) vbox.addLayout(hbox) self.setLayout(vbox) def add_product(self): """ """ self.open_dialog(EditOrAddProductsDialog, modal=True, product=None, table_p=self.table_resultat) def finder(self): search_term = str(self.search_field.text()) self.table_resultat.refresh_(search_term) def save_b(self): ''' add operation ''' # entete de la facture if not self.table_buy.isvalid: return False owner = Owner.get(Owner.islog == True) date = str(self.date.text()) values_t = self.table_buy.get_table_items() buy = Buy() # buy.date = datetime_ buy.provd_or_clt = \ ProviderOrClient.get_or_create( "Fournisseur", 000000, ProviderOrClient.FSEUR) buy.owner = owner try: buy.save() err = False except: raise raise_error("Erreur", u"Impossible d'enregistrer l'entête de la facture") return False for name, qty, cost_buying, selling_price in values_t: rep = Report() rep.buy = buy rep.type_ = Report.E rep.store = 1 rep.date = date_to_datetime(date) rep.product = Product.get(name=name) rep.qty = int(qty) rep.cost_buying = int(cost_buying) rep.selling_price = int(selling_price) try: rep.save() except Exception as e: print(e) err = True if err: buy.delete_instance() raise_error( "Erreur", u"Ce mouvement n'a pas pu etre " u"enregistré dans les rapports") return False else: self.parent.Notify(u"L'entrée des articles avec succès", "success") self.change_main_context(BuyShowViewWidget, buy=buy)