Beispiel #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["task"]
        )
        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')
Beispiel #2
0
 def test_set_number(self):
     invoice = Invoice()
     invoice.customer = MagicMock(code="CLI1")
     invoice.project = MagicMock(code="PRO1")
     seq_number = 15
     invoice.set_sequenceNumber(15)
     invoice.set_name()
     date = datetime.date(1969, 07, 31)
     invoice.taskDate = date
     invoice.set_number()
     self.assertEqual(invoice.number, u"PRO1_CLI1_F15_0769")
     invoice.set_number(deposit=True)
     self.assertEqual(invoice.number, u"PRO1_CLI1_FA15_0769")
Beispiel #3
0
def test_set_number():
    invoice = Invoice()
    invoice.customer = MagicMock(code="CLI1")
    invoice.project = MagicMock(code="PRO1")
    seq_number = 15
    invoice.set_sequence_number(15)
    invoice.set_name()
    date = datetime.date(1969, 07, 31)
    invoice.taskDate = date
    invoice.set_number()
    assert invoice.number == u"PRO1_CLI1_F15_0769"
    invoice.set_number(deposit=True)
    assert invoice.number == u"PRO1_CLI1_FA15_0769"