Fall 5430: Änderungswünsche - Andruck Zolltarifnummer
							parent
							
								
									923a7a2efa
								
							
						
					
					
						commit
						8532166c1e
					
				|  | @ -43,6 +43,7 @@ | |||
|         'views/commission_account.xml', | ||||
|         'wizards/wizard_confirm_production.xml', | ||||
|         'wizards/portal_assign_company.xml', | ||||
|         'wizards/wizard_confirm_print_invoice.xml', | ||||
|         'security/security.xml', | ||||
|         'data/dp_custom_data.xml', | ||||
|         'data/glaser_company_data.xml', | ||||
|  |  | |||
|  | @ -121,3 +121,21 @@ class AccountInvoice(models.Model): | |||
|             elif currency_obj and currency_obj.position == 'before': | ||||
|                 res = '%s %s' % (currency_obj.symbol, res) | ||||
|         return res | ||||
| 
 | ||||
|     @api.multi | ||||
|     def print_intrastat_invoice(self): | ||||
|         self.ensure_one() | ||||
|         info = "Bei folgenden Produkten fehlt die Zolltarifnummer:\n" | ||||
|         intrastrat_not_set = False | ||||
|         for invoice_line in self.invoice_line_ids: | ||||
|             if invoice_line.product_id and invoice_line.product_id.type != 'service': | ||||
|                 if not invoice_line.intrastat_id: | ||||
|                     info += invoice_line.name + "\n" | ||||
|                     intrastrat_not_set = True | ||||
|         if intrastrat_not_set: | ||||
|             action = self.env.ref('dp_custom.action_wizard_confirm_print_invoice').read()[0] | ||||
|             action['context'] = '{"default_info": "'+info+'"}' | ||||
|             return action | ||||
|         return self.env.ref('dp_reports_account.account_invoices_with_intrastat').report_action(self) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,14 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <odoo> | ||||
| 
 | ||||
|     <record id="action_print_intrastat_invoice" model="ir.actions.server"> | ||||
|         <field name="name">Rechnung mit Zolltarifnummer</field> | ||||
|         <field name="type">ir.actions.server</field> | ||||
|         <field name="model_id" ref="account.model_account_invoice"/> | ||||
|         <field name="binding_model_id" ref="account.model_account_invoice"/> | ||||
|         <field name="state">code</field> | ||||
|         <field name="code">action = record.print_intrastat_invoice()</field> | ||||
|         <field name="binding_type">report</field> | ||||
|     </record> | ||||
| 
 | ||||
| </odoo> | ||||
|  |  | |||
|  | @ -1,2 +1,3 @@ | |||
| from . import wizard_confirm_production | ||||
| from . import wizard_confirm_print_invoice | ||||
| from . import portal_assign_company | ||||
|  |  | |||
|  | @ -0,0 +1,18 @@ | |||
| # Copyright 2018-Today datenpol gmbh (<http://www.datenpol.at>) | ||||
| # License OPL-1 or later (https://www.odoo.com/documentation/user/11.0/legal/licenses/licenses.html#licenses). | ||||
| 
 | ||||
| from odoo import fields, models | ||||
| 
 | ||||
| 
 | ||||
| class ConfirmPrintInvoice(models.TransientModel): | ||||
|     _name = 'wizard.confirm_print_invoice' | ||||
|     _description = 'Bestätige Rechnungsdruck' | ||||
|     _order = 'name' | ||||
| 
 | ||||
|     info = fields.Text('Info', readonly=True) | ||||
| 
 | ||||
|     def print_invoice(self): | ||||
|         self.ensure_one() | ||||
|         invoice = self.env['account.invoice'].browse(self.env.context.get('active_ids', [])) | ||||
| 
 | ||||
|         return self.env.ref('dp_reports_account.account_invoices_with_intrastat').report_action(invoice) | ||||
|  | @ -0,0 +1,32 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!-- Copyright 2018-Today datenpol gmbh(<http://www.datenpol.at>) | ||||
|      License OPL-1 or later (https://www.odoo.com/documentation/user/11.0/legal/licenses/licenses.html#licenses). --> | ||||
| 
 | ||||
| <odoo> | ||||
| 
 | ||||
|     <record id="wizard_confirm_print_invoice_form_view" model="ir.ui.view"> | ||||
|         <field name="name">wizard_confirm_print_invoice_form_view</field> | ||||
|         <field name="model">wizard.confirm_print_invoice</field> | ||||
|         <field name="arch" type="xml"> | ||||
|             <form string="Bestätige Rechnungsdruck"> | ||||
|                 <group> | ||||
|                     <field name="info"/> | ||||
|                 </group> | ||||
|                 <footer> | ||||
|                     <button name="print_invoice" string="Rechnung trotzdem drucken" class="btn-primary" type="object"/> | ||||
|                     <button string="Abbrechen" class="btn-default" special="cancel"/> | ||||
|                 </footer> | ||||
|             </form> | ||||
|         </field> | ||||
|     </record> | ||||
| 
 | ||||
|     <record id="action_wizard_confirm_print_invoice" model="ir.actions.act_window"> | ||||
|         <field name="name">Bestätige Rechnungsdruck</field> | ||||
|         <field name="type">ir.actions.act_window</field> | ||||
|         <field name="res_model">wizard.confirm_print_invoice</field> | ||||
|         <field name="target">new</field> | ||||
|         <field name="view_type">form</field> | ||||
|         <field name="view_mode">form</field> | ||||
|     </record> | ||||
| 
 | ||||
| </odoo> | ||||
|  | @ -32,10 +32,6 @@ class AccountInvoiceWithIntrastat(models.AbstractModel): | |||
|     def get_report_values(self, docids, data=None): | ||||
|         model = 'account.invoice' | ||||
|         docs = self.env[model].browse(docids) | ||||
|         for doc in docs: | ||||
|             for line in doc.invoice_line_ids: | ||||
|                 if not line.intrastat_id: | ||||
|                     raise ValidationError(_('Es muss bei allen Produkten/Lots eine Zolltarifnummer hinterlegt sein!')) | ||||
|         return { | ||||
|             'doc_ids': docids, | ||||
|             'doc_model': model, | ||||
|  |  | |||
|  | @ -107,7 +107,7 @@ | |||
|                                             <t t-esc="layout_category['name']"/> | ||||
|                                             - | ||||
|                                             <t t-esc="o.partner_id.ref"/> | ||||
|                                             <t t-if="layout_category['order_id']"> | ||||
|                                             <t t-if="layout_category.get('order_id')"> | ||||
|                                                 <t t-if="layout_category['order_id'].origin"> | ||||
|                                                     - | ||||
|                                                     <t t-esc="layout_category['order_id'].origin"/> | ||||
|  | @ -152,7 +152,7 @@ | |||
|                                                 </strong> | ||||
|                                                 <br/> | ||||
|                                             </t> | ||||
|                                             <span t-if="with_intrastat"> | ||||
|                                             <span t-if="with_intrastat and invoice_line.intrastat_id"> | ||||
|                                                 <strong>Zolltarif Nr.:</strong> | ||||
|                                                 <span t-field="invoice_line.intrastat_id"/> | ||||
|                                                 <br/> | ||||
|  | @ -163,7 +163,8 @@ | |||
|                                             <span t-field="invoice_line.price_unit"/> | ||||
|                                         </td> | ||||
|                                         <td class="text-right" t-if="discount_is_set"> | ||||
|                                             <span t-if="not invoice_line.hide_discount" t-field="invoice_line.discount"/> | ||||
|                                             <span t-if="not invoice_line.hide_discount" | ||||
|                                                   t-field="invoice_line.discount"/> | ||||
|                                         </td> | ||||
|                                         <td class="text-right"> | ||||
|                                             <span t-field="invoice_line.price_subtotal"/> | ||||
|  | @ -273,6 +274,7 @@ | |||
|             attachment="(object.state in ('open','paid')) and ('INV'+(object.number or '').replace('/','')+'.pdf')" | ||||
|             print_report_name="(object._get_printed_report_name())" | ||||
|             paperformat="dp_reports.paperformat_a4_european" | ||||
|             menu="False" | ||||
|     /> | ||||
| 
 | ||||
|     <record id="account.account_invoices_without_payment" model="ir.actions.report"> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue