Ejemplo n.º 1
0
    def submit_success(self, appstruct):
        log.debug("Submitting invoice add")
        appstruct = get_invoice_dbdatas(appstruct)

        # Since the call to get_next_invoice_number commits the current
        # transaction, it needs to be called before creating our invoice, to
        # avoid missing arguments errors
        snumber = self.context.get_next_invoice_number()

        invoice = Invoice()
        invoice.project = self.context
        invoice.owner = self.request.user
        invoice = merge_session_with_post(invoice, appstruct["invoice"])
        invoice.set_sequence_number(snumber)
        invoice.set_number()
        invoice.set_name()
        try:
            invoice = self.set_task_status(invoice)
            # Line handling
            invoice = add_lines_to_invoice(invoice, appstruct)
            self.dbsession.add(invoice)
            self.dbsession.flush()
            self.session.flash(u"La facture a bien été ajoutée.")
        except Forbidden, err:
            self.request.session.flash(err.message, queue='error')
Ejemplo n.º 2
0
    def submit_success(self, appstruct):
        log.debug("Submitting invoice add")
        appstruct = get_invoice_dbdatas(appstruct)

        # Since the call to get_next_invoice_number commits the current
        # transaction, it needs to be called before creating our invoice, to
        # avoid missing arguments errors
        snumber = self.context.get_next_invoice_number()

        invoice = Invoice()
        invoice.project = self.context
        invoice.owner = self.request.user
        invoice = merge_session_with_post(invoice, appstruct["invoice"])
        invoice.set_sequence_number(snumber)
        invoice.set_number()
        invoice.set_name()
        try:
            invoice = self.set_task_status(invoice)
            # Line handling
            invoice = add_lines_to_invoice(invoice, appstruct)
            self.dbsession.add(invoice)
            self.dbsession.flush()
            self.session.flash(u"La facture a bien été ajoutée.")
        except Forbidden, err:
            self.request.session.flash(err.message, queue='error')
Ejemplo n.º 3
0
def test_invoice(dbsession, objects):
    user, phase, project = objects
    inv = Invoice(**INVOICE)
    inv.project = project
    inv.phase = phase
    dbsession.add(inv)
    dbsession.flush()
    task = dbsession.query(Task)\
            .filter(Task.phase_id==phase.id).first()
    assert isinstance(task, Invoice)
Ejemplo n.º 4
0
def test_invoice(dbsession, objects):
    user, phase, project = objects
    inv = Invoice(**INVOICE)
    inv.project = project
    inv.phase = phase
    dbsession.add(inv)
    dbsession.flush()
    task = dbsession.query(Task)\
            .filter(Task.phase_id==phase.id).first()
    assert isinstance(task, Invoice)
Ejemplo n.º 5
0
 def test_invoice(self):
     self.setitUp()
     inv = Invoice(**INVOICE)
     inv.project = self.project
     inv.phase = self.phase
     self.session.add(inv)
     self.session.flush()
     task = self.session.query(Task)\
             .filter(Task.phase_id==self.phase.id).first()
     self.assertTrue(isinstance(task, Invoice))