def save(self): try: data = self.form.validate(self.request) except formish.FormError: return False session = meta.Session() currencies=dict(session.query(Currency.code, Currency.id)\ .filter(Currency.until==None).all()) self.context.payment_term = data["payment_term"] self.context.note = data["note"] current = dict([(entry.id, entry) for entry in self.context.entries]) for (position, entry) in enumerate(data["entries"]): if entry["id"]: c = current.get(entry["id"]) if c is None: continue del current[c.id] else: c = InvoiceEntry(invoice=self.context) session.add(c) c.position = position c.currency_id = currencies[entry["currency_code"]] c.unit_price = entry["unit_price"] c.units = entry["units"] c.description = entry["description"] c.vat = entry["vat"] for entry in current.values(): session.delete(entry) return True
def save(self): try: data = self.form.validate(self.request) except formish.FormError: return False del data["terms"] account = Account(**data) session = meta.Session() session.add(account) session.flush() return account
def View(context, request): session = meta.Session() invoices=session.query(Invoice)\ .filter(Invoice.customer==context)\ .order_by(Invoice.sent.desc())\ .options(orm.joinedload(Invoice.entries)) summary = summaryInvoices(invoices) return render("customer_view.pt", request, context, section="customers", edit_url=route_url("customer_edit", request, id=context.id), **summary)
def Overview(request): user = currentUser(request) session = meta.Session() invoices=session.query(Invoice)\ .select_from(orm.join(Invoice, Customer))\ .filter(Customer.account==user)\ .order_by(Invoice.sent.desc())\ .options(orm.joinedload(Invoice.entries)) summary = summaryInvoices(invoices) return render("invoice_overview.pt", request, section="invoices", **summary)
def Overview(request): user = currentUser(request) session = meta.Session() customers=session.query(Customer.id, Customer.title, Customer.invoice_code)\ .filter(Customer.account==user)\ .order_by(Customer.title) customers = [ dict(id=row.id, title=row.title, invoice_code=row.invoice_code, url=route_url("customer_view", request, id=row.id)) for row in customers ] return render("customer_overview.pt", request, section="customers", customers=customers)
def populateDatabase(): from checking.model.account import Account session=meta.Session() admin=session.query(Account).filter(Account.login=="admin").first() if admin is None: log.info("Adding initial admin user") admin=Account(login="******", password="******", firstname=u"Admin", surname=u"Admin", email="*****@*****.**", company=u"Simplon B.V.") session.add(admin) from checking.model.currency import Currency euro=session.query(Currency).filter(Currency.code=="EUR").first() if euro is None: log.info("Adding EUR currency") euro=Currency(code="EUR", rate=1) session.add(euro)