def invoice(config, get_csrf_request_with_db, project, user): print(Invoice.query().all()) assert len(Invoice.query().all()) == 0 from autonomie.views.invoice import InvoiceAdd config.add_route('project', '/') request = get_csrf_request_with_db(post=APPSTRUCT) request.context = project request.context.__name__ = 'project' request.matched_route = "project_invoices" request.user = user request.context = project view = InvoiceAdd(request) view.submit_success(APPSTRUCT) return getone()
def invoice(config, get_csrf_request_with_db, project, user): print(Invoice.query().all()) assert len(Invoice.query().all()) == 0 from autonomie.views.invoice import InvoiceAdd config.add_route('project', '/') request = get_csrf_request_with_db(post=APPSTRUCT) request.context = project request.context.__name__ = 'project' request.matched_route = "project_invoices" request.user = user request.context = project view = InvoiceAdd(request) view.submit_success(APPSTRUCT) return getone()
def test_add_invoice( config, get_csrf_request_with_db, project, phase, company, user, customer, default_business_type, ): from autonomie.models.task.invoice import Invoice from autonomie.views.project.routes import PROJECT_ITEM_INVOICE_ROUTE from autonomie.views.invoices.invoice import InvoiceAddView config.add_route('/invoices/{id}', "/") value = { "name": u"Facture", 'business_type_id': default_business_type.id, 'project_id': project.id, 'phase_id': phase.id, 'customer_id': customer.id, } request = get_csrf_request_with_db() request.context = project request.current_company = company.id request.matched_route = Dummy(name=PROJECT_ITEM_INVOICE_ROUTE) request.user = user view = InvoiceAddView(request) view.submit_success(value) # view.submit_success(value) invoice = Invoice.query().first() assert invoice.name == u"Facture" assert invoice.phase_id == phase.id assert invoice.customer_id == customer.id assert invoice.project_id == project.id assert invoice.business_type_id == default_business_type.id
def getOne(self): try: invoice = Invoice.query().filter(Invoice.phase_id==1).first() invoice.__name__ = 'invoice' return invoice except: return None
def test_add_invoice(config, get_csrf_request_with_db, project, phase, company, user, customer, ): from autonomie.models.task.invoice import Invoice from autonomie.views.invoices.invoice import InvoiceAddView config.add_route('/invoices/{id}', "/") value = { "name": u"Facture", 'course': True, 'project_id': project.id, 'phase_id': phase.id, 'customer_id': customer.id, } request = get_csrf_request_with_db() request.context = project request.current_company = company.id request.matched_route = Dummy(name="project_invoices") request.user = user view = InvoiceAddView(request) view.submit_success(value) # view.submit_success(value) invoice = Invoice.query().first() assert invoice.name == u"Facture" assert invoice.phase_id == phase.id assert invoice.customer_id == customer.id assert invoice.project_id == project.id assert invoice.course is True
def upgrade(): # Devis op.add_column("estimation_line", sa.Column("tva", sa.Integer)) # Adding tva to the lines op.execute(""" update estimation_line as l join estimation as e on e.id=l.task_id set l.tva=e.tva; """) # Moving dicounts to a discount table for est in Estimation.query().all(): id_ = est.id op.execute(""" insert discount (description, amount, tva, task_id) select "Remise", discountHT, tva, id from estimation where estimation.id='%s' and estimation.discountHT!= 0 and estimation.discountHT is not null ; """% (id_)) # Factures op.add_column("invoice_line", sa.Column("tva", sa.Integer)) # Adding tva to the lines op.execute(""" update invoice_line as l join invoice as i on i.id=l.task_id set l.tva=i.tva; """) # Moving discounts to discount table for inv in Invoice.query().all(): id_ = inv.id op.execute(""" insert discount (description, amount, tva, task_id) select "Remise", discountHT, tva, id from invoice where invoice.id='%s' and invoice.discountHT!= 0 and invoice.discountHT is not null ; """% (id_)) # Avoirs add_column("cancelinvoice_line", sa.Column("tva", sa.Integer)) if column_exists("cancelinvoice", "tva"): # If the column exists, there may be some cancelinvoices op.execute(""" update cancelinvoice_line as l join cancelinvoice as i on i.id=l.task_id set l.tva=i.tva; """)
def test_duplicate(self): self.config.testing_securitypolicy(userid="test", groupids=('admin',), permissive=True) self.config.add_route('invoice', '/inv') self.addOne() invoice = self.getOne() #The invoice status need to be at least wait to be duplicated invoice.CAEStatus = 'wait' request = self.request(task=invoice, post_args={'submit':'duplicate', 'phase':"1", 'project':"1", 'customer':"1"}) duplicate(request) invoices = Invoice.query().filter(Invoice.phase_id==1).all() self.assertEqual(len(invoices), 2)
def deferred_invoice_widget(node, kw): """ Return a select for estimation selection """ query = Invoice.query() query = query.filter_by(project_id=kw['request'].context.project_id) choices = [] for invoice in query: if invoice.estimation_id is None: label = invoice.name else: label = u"{0} (est déjà rattachée à un devis)".format(invoice.name) choices.append((invoice.id, label)) return deform.widget.CheckboxChoiceWidget(values=choices)
def deferred_invoice_widget(node, kw): """ Return a select for estimation selection """ query = Invoice.query() query = query.filter_by(project_id=kw['request'].context.project_id) choices = [] for invoice in query: if invoice.estimation_id is None: label = invoice.name else: label = u"{0} (est déjà rattachée à un devis)".format(invoice.name) choices.append((invoice.id, label)) return deform.widget.CheckboxChoiceWidget(values=choices)
def test_duplicate(config, content, dbsession, invoice, get_csrf_request_with_db): from autonomie.views.invoice import duplicate config.testing_securitypolicy(userid="test", groupids=('admin',), permissive=True) config.add_route('invoice', '/inv') #The invoice status need to be at least wait to be duplicated invoice.CAEStatus = 'wait' request = get_csrf_request_with_db( post={'submit':'duplicate', 'phase':"1", 'project':"1", 'customer':"1"} ) request.context = invoice request.matched_route = "invoice" duplicate(request) dbsession.flush() invoices = Invoice.query().filter(Invoice.phase_id==1).all() assert len(invoices) == 2
def test_duplicate(config, content, dbsession, invoice, get_csrf_request_with_db): from autonomie.views.invoice import duplicate config.testing_securitypolicy(userid="test", groupids=('admin', ), permissive=True) config.add_route('invoice', '/inv') #The invoice status need to be at least wait to be duplicated invoice.CAEStatus = 'wait' request = get_csrf_request_with_db(post={ 'submit': 'duplicate', 'phase': "1", 'project': "1", 'customer': "1" }) request.context = invoice request.matched_route = "invoice" duplicate(request) dbsession.flush() invoices = Invoice.query().filter(Invoice.phase_id == 1).all() assert len(invoices) == 2
def getone(): invoice = Invoice.query().filter(Invoice.phase_id == 1).first() if invoice is not None: invoice.__name__ = 'invoice' return invoice
def getone(): invoice = Invoice.query().filter(Invoice.phase_id==1).first() if invoice is not None: invoice.__name__ = 'invoice' return invoice