def __init__(self, parent=0, *args, **kwargs): QtGui.QWidget.__init__(self, parent, *args, **kwargs) self.setWindowTitle(_(u"Choice of type and period")) #Title widget title = QtGui.QLabel() title.setText(_(u"Choose a account and a period")) title.setAlignment(QtCore.Qt.AlignHCenter) title_hbox = QtGui.QHBoxLayout() title_hbox.addWidget(title) #Combobox widget self.box_account = QtGui.QComboBox() self.box_period = QtGui.QComboBox() self.box_type = QtGui.QComboBox() # Data self.all_active_periods = all_active_periods(session.query(Period).\ order_by(desc(Period.start_on)).all()) self.data_account = session.query(Account).all() self.box_account.addItem(_(u"All Accounts")) for index in xrange(0, len(self.data_account)): account = self.data_account[index] self.box_account.addItem(_(u'%(number)s %(name)s') %\ {'number': account.number, 'name': account.name}) sel_index = 0 for index in xrange(0, len(self.all_active_periods)): ped = self.all_active_periods[index] if ped == current_period(): sel_index = index self.box_period.addItem(_(u'%(display_name)s') %\ {'display_name': ped.display_name()}) self.box_period.setCurrentIndex(sel_index) #Ok and cancel hbox button_hbox = QtGui.QHBoxLayout() #Ok Button widget. operation_but = QtGui.QPushButton(_("list of operations per account")) button_hbox.addWidget(operation_but) operation_but.clicked.connect(self.Operation_pdf) #Cancel Button widget. balance_but = QtGui.QPushButton(_("Balances (All accounts)")) button_hbox.addWidget(balance_but) balance_but.clicked.connect(self.balance_pdf) combo_hbox = QtGui.QHBoxLayout() combo_hbox.addWidget(self.box_account) combo_hbox.addWidget(self.box_period) vbox = QtGui.QVBoxLayout() vbox.addLayout(title_hbox) vbox.addLayout(combo_hbox) vbox.addLayout(button_hbox) self.setLayout(vbox)
def set_data_for(self, period=current_period()): self.data = [(operation.order_number, operation.invoice_number,\ operation.invoice_date.strftime(u'%d-%m-%Y'),\ operation.provider, operation.amount, operation) \ for operation in session.query(Operation).\ filter_by(account=self.account, period=period).\ order_by(desc(Operation.invoice_date)).all()]
def __init__(self, parent, account, *args, **kwargs): QtGui.QDialog.__init__(self, parent, *args, **kwargs) self.data = session.query(Operation).\ filter_by(account=self.account, period=current_period()).\ order_by(desc(Operation.invoice_date)).all() self.account = account title = QtGui.QLabel() self.setWindowTitle(_(u"Delete an operation")) if self.data == []: title.setText(_(u"There is no operation removed for this account")) ok_butt = QtGui.QPushButton(_(u"OK")) ok_butt.clicked.connect(self.close) vbox = QtGui.QVBoxLayout() vbox.addWidget(title) vbox.addWidget(ok_butt) self.setLayout(vbox) else: title.setText(_(u"Select an operation to delete")) title.setAlignment(QtCore.Qt.AlignHCenter) title_hbox = QtGui.QHBoxLayout() title_hbox.addWidget(title) #Combobox widget self.box = QtGui.QComboBox() for index in xrange(0, len(self.data)): op = self.data[index] sentence = _(u"%(date)s - %(amount)s to " \ u"%(provider)s/%(invoice_num)s " \ u"(Order #%(order_num)s)") \ % {'order_num': op.order_number, \ 'invoice_num': op.invoice_number, \ 'provider': op.provider, \ 'amount': formatted_number(op.amount), \ 'date': op.invoice_date.strftime('%x')} self.box.addItem(sentence, QtCore.QVariant(op.id)) combo_hbox = QtGui.QHBoxLayout() combo_hbox.addWidget(self.box) #delete and cancel hbox button_hbox = QtGui.QHBoxLayout() #Delete Button widget. delete_but = QtGui.QPushButton(_(u"Delete operation")) button_hbox.addWidget(delete_but) delete_but.clicked.connect(self.delete) #Cancel Button widget. cancel_but = QtGui.QPushButton(_(u"Cancel")) button_hbox.addWidget(cancel_but) cancel_but.clicked.connect(self.cancel) #Create the QVBoxLayout contenaire. vbox = QtGui.QVBoxLayout() vbox.addLayout(title_hbox) vbox.addLayout(combo_hbox) vbox.addLayout(button_hbox) self.setLayout(vbox)
def __init__(self): QtGui.QMainWindow.__init__(self) self.resize(900, 650) self.setWindowTitle(_(u"AN Budgets Manager")) self.setWindowIcon(QtGui.QIcon("images/icon32.png")) self._account = None self.menubar = MenuBar(self) self.setMenuBar(self.menubar) if not period_has_budgets(current_period()): from balanceupdateview import BalanceUpdateWidget create_empty_budgets(current_period()) self.change_context(BalanceUpdateWidget, force_current=True) else: self.change_context(BalanceViewWidget)
def __init__(self, parent=0, force_current=False, *args, **kwargs): super(BalanceUpdateWidget, self).__init__(parent=parent, \ *args, **kwargs) self.title = ANMPageTitle(_(u"Update Budgets for next Quarter.")) # periods self.period1 = current_period() # need to change data for current period since it does not exist. if force_current: self.period2 = current_period() self.title = ANMPageTitle(_(u"You must enter bugets for current period before you can continue.")) else: self.period2 = self.period1.next() self.table = NextBalanceUpdateTableWidget(parent=self, \ period1=self.period1, \ period2=self.period2) vbox = QtGui.QVBoxLayout() vbox.addWidget(self.title) vbox.addWidget(self.table) self.setLayout(vbox)
def __init__(self, parent=0, *args, **kwargs): super(BalanceViewWidget, self).__init__(parent=parent, *args, **kwargs) ANMPeriodHolder.__init__(self, *args, **kwargs) self.title = ANMPageTitle(_(u"Account's Summary.")) self.table = BalanceTableWidget(parent=self, period=self.main_period) # periods period = current_period() vbox = QtGui.QVBoxLayout() vbox.addWidget(self.title) vbox.addWidget(self.periods_bar) vbox.addWidget(self.table) self.setLayout(vbox)
def set_data_for(self, period=current_period()): self.data = [account_summary(account, period) for account in session.query(Account).all()]
def set_data_from(self, period=current_period()): self.main_period = period self.periods = [self.main_period.previous(), \ self.main_period, \ self.main_period.next()]
def __init__(self, period=current_period(), *args, **kwargs): self.main_period = period self.periods_bar = self.gen_bar_for(self.main_period)
def __init__(self, account, period=current_period(), \ parent=0, *args, **kwargs): super(OperationWidget, self).__init__(parent=parent, *args, **kwargs) ANMPeriodHolder.__init__(self, period, *args, **kwargs) # set global account self.account = account self.main_period = period self.balance = account_balance(self.account, period) self.table = OperationTableWidget(parent=self, period=self.main_period) self.title = ANMPageTitle(_(u"Transactions List for Account " \ u"%(number)s: %(name)s.") \ % {'name': self.account.name, \ 'number': self.account.number}) self.balance_title = ANMPageTitle(_(u"Balance: " u"%(balance)s FCFA") \ % {'balance': \ formatted_number(account_balance(self.account, period))}) hbox = QtGui.QHBoxLayout() hbox.addWidget(self.table) formbox = QtGui.QFormLayout() self.order_number = QtGui.QLineEdit() self.invoice_number = QtGui.QLineEdit() self.invoice_date = QtGui.QDateTimeEdit(QtCore.QDate.currentDate()) self.invoice_date.setDisplayFormat("yyyy-MM-dd") # change date if appropriate self.adjust_date_field() self.provider = QtGui.QLineEdit() self.amount = QtGui.QLineEdit() self.amount.setValidator(QtGui.QIntValidator()) butt = QtGui.QPushButton(_(u"Add")) butt.clicked.connect(self.add_operation) formbox1 = QtGui.QHBoxLayout() formbox1.addWidget(QtGui.QLabel(_(u'Order number'))) formbox1.addWidget(QtGui.QLabel(_(u'Invoice number'))) formbox1.addWidget(QtGui.QLabel(_(u'Invoice date'))) formbox1.addWidget(QtGui.QLabel(_(u'Provider'))) formbox1.addWidget(QtGui.QLabel(_(u'Amount'))) formbox1.addSpacing(90) formbox = QtGui.QHBoxLayout() formbox.addWidget(self.order_number) formbox.addWidget(self.invoice_number) formbox.addWidget(self.invoice_date) formbox.addWidget(self.provider) formbox.addWidget(self.amount) formbox.addWidget(butt) vbox = QtGui.QVBoxLayout() vbox.addWidget(self.title) vbox.addWidget(self.balance_title) vbox.addWidget(self.periods_bar) vbox.addLayout(formbox1) vbox.addLayout(formbox) vbox.addLayout(hbox) self.setLayout(vbox)