[MOV][QUA]Pure quality / renaming

This commit is contained in:
Fabien BOURGEOIS 2018-03-26 16:22:57 +02:00
parent a5c51123f3
commit 9b25450a4a
4 changed files with 55 additions and 84 deletions

View File

@ -27,6 +27,6 @@
'application': True, 'application': True,
'installable': True, 'installable': True,
'depends': ['golem_resource', 'account'], 'depends': ['golem_resource', 'account'],
'data': ['wizard/golem_reservation_invoice.xml', 'data': ['wizard/golem_reservation_invoice_views.xml',
'views/golem_resource_reservation_views.xml'] 'views/golem_resource_reservation_views.xml']
} }

View File

@ -95,26 +95,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
view_mode="form" view_mode="form"
view_id="golem_reservation_invoice_wizard_form" view_id="golem_reservation_invoice_wizard_form"
multi="True" multi="True"
target="new" target="new" />
/> <act_window id="action_golem_reservation_invoice_editable_wizard"
<act_window id="action_golem_reservation_invoice_editable_wizard" name="Reservations to invoice-edition"
name="Reservations to invoice-edition" res_model="golem.reservation.invoice.wizard"
res_model="golem.reservation.invoice.wizard" src_model="golem.resource.reservation"
src_model="golem.resource.reservation" view_mode="form"
view_mode="form" view_id="golem_reservation_invoice_wizard_form_editable"
view_id="golem_reservation_invoice_wizard_form_editable" multi="True"
multi="True" target="new" />
target="new"
/>
<!-- Actions -->
<!--<act_window id="golem_resource_reservation_action" name="Reservations"
res_model="golem.resource.reservation" view_mode="tree,form,calendar" />-->
<!-- Menus -->
<!--<menuitem id="golem_resource_reservation_menu" name="Reservations"
parent="golem_resource_menu" action="golem_resource_reservation_action"
sequence="20" />-->
</data> </data>
</odoo> </odoo>

View File

@ -26,52 +26,51 @@ class GolemReservationInvoiceWizard(models.TransientModel):
""" GOLEM Resource Reservation Invoice Wizard """ """ GOLEM Resource Reservation Invoice Wizard """
_name = 'golem.reservation.invoice.wizard' _name = 'golem.reservation.invoice.wizard'
reservation_ids = fields.Many2many('golem.resource.reservation', reservation_ids = fields.Many2many(
default=lambda self: self._context.get('active_ids', []), 'golem.resource.reservation', required=True, string='Reservations to invoice',
string='Reservations to invoice') default=lambda self: self._context.get('active_ids', []))
@api.multi @api.multi
def create_invoices(self): def create_invoices(self):
""" Invoice creations """ """ Invoice creations """
self.ensure_one() self.ensure_one()
if self.reservation_ids:
inv_obj = self.env['account.invoice'] inv_obj = self.env['account.invoice']
partner_id = self.reservation_ids[0].partner_id partner_id = self.reservation_ids[0].partner_id
product = self.reservation_ids[0].resource_id.product_tmpl_id product = self.reservation_ids[0].resource_id.product_tmpl_id
if product.id: if product.id:
account_id = product.property_account_income_id.id account_id = product.property_account_income_id.id
if not account_id: if not account_id:
account_id = product.categ_id.property_account_income_categ_id.id account_id = product.categ_id.property_account_income_categ_id.id
if not account_id: if not account_id:
raise UserError( raise UserError(
_('There is no income account defined for this product: "%s". \ _('There is no income account defined for this product: "%s". \
You may have to install a chart of account from Accounting \ You may have to install a chart of account from Accounting \
app, settings menu.') % (product.name,)) app, settings menu.') % (product.name,))
lines = [] lines = []
for reservation in self.reservation_ids: for reservation in self.reservation_ids:
product = reservation.resource_id.product_tmpl_id product = reservation.resource_id.product_tmpl_id
amount = product.standard_price amount = product.standard_price
lines.append((0, 0, { lines.append((0, 0, {
'name': reservation.resource_id.name, 'name': reservation.resource_id.name,
#'origin': , #'origin': ,
'account_id': account_id, 'account_id': account_id,
'price_unit': amount, 'price_unit': amount,
'quantity': 1.0, 'quantity': 1.0,
'discount': 0.0, 'discount': 0.0,
'uom_id': product.uom_id.id, 'uom_id': product.uom_id.id,
'product_id': product.id, 'product_id': product.id,
})) }))
invoice = inv_obj.create({ invoice = inv_obj.create({
'name': self.reservation_ids[-1].name, 'name': self.reservation_ids[-1].name,
#'origin': self.application_number, #'origin': self.application_number,
'type': 'out_invoice', 'type': 'out_invoice',
'reference': False, 'reference': False,
'account_id': partner_id.property_account_receivable_id.id, 'account_id': partner_id.property_account_receivable_id.id,
'partner_id': partner_id.id, 'partner_id': partner_id.id,
'invoice_line_ids': lines, 'invoice_line_ids': lines,
}) })
self.reservation_ids.write({'invoice_id': invoice.id}) self.reservation_ids.write({'invoice_id': invoice.id})

View File

@ -19,24 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<odoo> <odoo>
<data> <data>
<!-- Trees -->
<!--<record model="ir.ui.view" id="golem_resource_reservation_view_tree">
<field name="name">GOLEM Resource Reservation Tree</field>
<field name="model">golem.resource.reservation</field>
<field name="arch" type="xml">
<tree>
<field name="resource_id" />
<field name="date" />
<field name="hour_start" widget="float_time" />
<field name="hour_stop" widget="float_time" />
<field name="partner_id" />
<field name="state" />
</tree>
</field>
</record>-->
<!-- Forms --> <!-- Forms -->
<record model="ir.ui.view" <record model="ir.ui.view"
id="golem_reservation_invoice_wizard_form_editable"> id="golem_reservation_invoice_wizard_form_editable">
@ -45,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Reservation to invoice"> <form string="Reservation to invoice">
<group> <group>
<field name="reservation_ids" context="{'default_reservation_ids': active_ids}" /> <field name="reservation_ids" />
</group> </group>
<footer> <footer>
<button name="create_invoices" string="Create Invoices" type="object" <button name="create_invoices" string="Create Invoices" type="object"
@ -62,7 +44,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<field name="model">golem.reservation.invoice.wizard</field> <field name="model">golem.reservation.invoice.wizard</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Reservation to invoice"> <form string="Reservation to invoice">
<label string="Invoices will be created in draft so that you can review them before validation" /> <p>
<strong>
Invoices will be created in draft so that you can review them before validation
</strong>
</p>
<footer> <footer>
<button name="create_invoices" string="Create Invoices" type="object" <button name="create_invoices" string="Create Invoices" type="object"
class="oe_highlight" /> class="oe_highlight" />
@ -72,8 +58,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
</field> </field>
</record> </record>
</data> </data>
</odoo> </odoo>