def adjust_date_field(self): ''' adjusts the date ''' if period_for(qdate2date(self.invoice_date.date())) ==\ self.main_period: # keep what's on return if period_for(date.today()) == self.main_period: new_date = date.today() else: new_date = self.main_period.start_on self.invoice_date.setDate(new_date)
def initial_setup(): DB_REVISION = 1 try: revision = session.query(Revision.num)\ .order_by(desc(Revision.num)).scalar() except: revision = 0 if revision >= DB_REVISION: return period = period_for(date(2011, 1, 1)) data = [ ('2-611-00', u"Personnel", 938882000), ('2-613-23', u"Indemnité de session", 0), ('3-621-10', u"Dépenses Matériel-fonctionnement des services", \ 227325000), ('3-621-20', u"Besoins nouveaux des Services", 44100000), ('3-622-30', u"Entretien des bâtiments", 26265000), ('3-623-10', u"Honoraires et frais d'étude administrative", 0), ('3-625-10', u"Électricité et eau", 59678000), ('3-626-10', u"Redevances téléphoniques", 56403000), ('3-626-20', u"Frais postaux", 1128000), ('3-628-10', u"Indemnité de déplacement", 302565000), ('3-628-20', u"Frais de transport", 479251000), ('3-629-76', u"Autres dépenses de matériel", 20371000), ('4-641-36', u"Appui PAGAMGFP (CF/AN)", 0), ('4-643-10', u"Participation au fonctionnement", 263400000), ('4-645-20', u"Contribution du fonct. des organismes", 18652000), ('5-234-10', u"Dépenses en Investissement", 0), ] r = Revision(DB_REVISION) session.add(r) import_account_budget_data(data, first_period=period)
def add_operation(self): ''' add operation ''' year, month, day = self.invoice_date.text().split('-') invoice_date = date(int(year), int(month), int(day)) period = period_for(invoice_date) try: amount = int(self.amount.text()) except ValueError: amount = 0 if self.order_number.text() and self.invoice_number.text() and \ invoice_date and self.provider.text() and self.amount.text()\ and invoice_date >= self.main_period.start_on and invoice_date <= \ self.main_period.end_on and amount < self.balance: operation = Operation(unicode(self.order_number.text()), unicode(self.invoice_number.text()), invoice_date, \ unicode(self.provider.text()), amount) operation.account = self.account operation.period = period session.add(operation) session.commit() raise_success(_(u'Confirmation'), _(u'Registered opération')) self.order_number.clear() self.invoice_number.clear() self.provider.clear() self.amount.clear() self.adjust_balance(period) self.refresh() elif invoice_date > self.main_period.end_on or\ invoice_date < self.main_period.start_on: raise_error(_(u'Error date'), \ _(u'The date is not included in the current quarter.')) elif amount >= self.balance: raise_error(_(u'Error money'),\ _(u"There is not enough money for this operation.")) else: raise_error(_(u'Error field'), _(u'You must fill in all fields.'))
def next(self): from data_helpers import next_quarter, quarter_dates, period_for ns, ne = quarter_dates(*next_quarter(self.quarter, self.year)) return period_for(ns)
def previous(self): from data_helpers import previous_quarter, quarter_dates, period_for ns, ne = quarter_dates(*previous_quarter(self.quarter, self.year)) return period_for(ns)