@@ -194,7 +194,7 @@ class account_invoice(osv.osv):
|
||||
'journal_id': fields.many2one('account.journal', 'Journal', required=True,readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'check_total': fields.float('Total', digits=(16,2), states={'open':[('readonly',True)],'close':[('readonly',True)]}),
|
||||
'reconciled': fields.function(_reconciled, method=True, string='Paid/Reconciled', type='boolean', help="The account moves of the invoice have been reconciled with account moves of the payment(s)."),
|
||||
'reconciled': fields.function(_reconciled, method=True, string='Paid/Reconciled', type='boolean', store=True, help="The account moves of the invoice have been reconciled with account moves of the payment(s)."),
|
||||
'partner_bank': fields.many2one('res.partner.bank', 'Bank Account',
|
||||
help='The bank account to pay to or to be paid from'),
|
||||
'move_lines':fields.function(_get_lines , method=True,type='many2many' , relation='account.move.line',string='Move Lines'),
|
||||
|
||||
@@ -407,22 +407,22 @@ class account_analytic_account(osv.osv):
|
||||
return res
|
||||
|
||||
_columns ={
|
||||
'ca_invoiced': fields.function(_ca_invoiced_calc, method=True, type='float', string='Invoiced amount'),
|
||||
'total_cost': fields.function(_total_cost_calc, method=True, type='float', string='Total cost'),
|
||||
'ca_to_invoice': fields.function(_ca_to_invoice_calc, method=True, type='float', string='Uninvoiced amount'),
|
||||
'ca_theorical': fields.function(_ca_theorical_calc, method=True, type='float', string='Theorical revenue'),
|
||||
'hours_quantity': fields.function(_hours_quantity_calc, method=True, type='float', string='Hours tot'),
|
||||
'last_invoice_date': fields.function(_last_invoice_date_calc, method=True, type='date', string='Last invoice date'),
|
||||
'last_worked_invoiced_date': fields.function(_last_worked_invoiced_date_calc, method=True, type='date', string='Last invoiced worked date'),
|
||||
'last_worked_date': fields.function(_last_worked_date_calc, method=True, type='date', string='Last worked date'),
|
||||
'hours_qtt_non_invoiced': fields.function(_hours_qtt_non_invoiced_calc, method=True, type='float', string='Uninvoiced hours'),
|
||||
'hours_qtt_invoiced': fields.function(_hours_qtt_invoiced_calc, method=True, type='float', string='Invoiced hours'),
|
||||
'remaining_hours': fields.function(_remaining_hours_calc, method=True, type='float', string='Remaining hours'),
|
||||
'remaining_ca': fields.function(_remaining_ca_calc, method=True, type='float', string='Remaining revenue'),
|
||||
'revenue_per_hour': fields.function(_revenue_per_hour_calc, method=True, type='float', string='Revenue per hours (real)'),
|
||||
'real_margin': fields.function(_real_margin_calc, method=True, type='float', string='Real margin'),
|
||||
'theorical_margin': fields.function(_theorical_margin_calc, method=True, type='float', string='Theorical margin'),
|
||||
'real_margin_rate': fields.function(_real_margin_rate_calc, method=True, type='float', string='Real margin rate (%)'),
|
||||
'ca_invoiced': fields.function(_ca_invoiced_calc, method=True, type='float', string='Invoiced Amount', help="Total customer invoiced amount for this account."),
|
||||
'total_cost': fields.function(_total_cost_calc, method=True, type='float', string='Total Costs', help="Total of costs for this account. It includes real costs (from invoices) and indirect costs, like time spent on timesheets."),
|
||||
'ca_to_invoice': fields.function(_ca_to_invoice_calc, method=True, type='float', string='Uninvoiced Amount', help="If invoice from analytic account, the remaining amount you can invoice to the customer based on the total costs."),
|
||||
'ca_theorical': fields.function(_ca_theorical_calc, method=True, type='float', string='Theorical Revenue', help="Based on the costs you had on the project, what would have been the revenue of all these costs have been invoiced at the normal sale price provided by the pricelist."),
|
||||
'hours_quantity': fields.function(_hours_quantity_calc, method=True, type='float', string='Hours Tot', help="Number of hours on spent on the analytic account (from timesheet). It computes on all journal of type 'general'."),
|
||||
'last_invoice_date': fields.function(_last_invoice_date_calc, method=True, type='date', string='Last Invoice Date', help="Date of the last invoice created for this analytic account."),
|
||||
'last_worked_invoiced_date': fields.function(_last_worked_invoiced_date_calc, method=True, type='date', string='Last Invoiced Worked Date', help="If invoice from the costs, this is the date of the latest work or cost that have been invoiced."),
|
||||
'last_worked_date': fields.function(_last_worked_date_calc, method=True, type='date', string='Last Worked Date', help="Date of the latest work done on this account."),
|
||||
'hours_qtt_non_invoiced': fields.function(_hours_qtt_non_invoiced_calc, method=True, type='float', string='Uninvoiced Hours', help="Number of hours (from journal of type 'general') that can be invoiced if you invoice based on analytic account."),
|
||||
'hours_qtt_invoiced': fields.function(_hours_qtt_invoiced_calc, method=True, type='float', string='Invoiced Hours', help="Number of hours that already have invoiced. If you don't invoice based on costs, it's the number of hours spent. If you invoice based on hours, it's the hours that have been invoiced."),
|
||||
'remaining_hours': fields.function(_remaining_hours_calc, method=True, type='float', string='Remaining Hours', help="Computed using the forumla: Maximum Quantity - Hours Tot."),
|
||||
'remaining_ca': fields.function(_remaining_ca_calc, method=True, type='float', string='Remaining Revenue', help="If you invoice based on costs, this is the revenue you will invoice to the customer when you will launch the invoicing wizard."),
|
||||
'revenue_per_hour': fields.function(_revenue_per_hour_calc, method=True, type='float', string='Revenue per Hours (real)', help="Computed using the formula: Invoiced Amount / Hours Tot."),
|
||||
'real_margin': fields.function(_real_margin_calc, method=True, type='float', string='Real Margin', help="Computed using the formula: Invoiced Amount - Total Costs."),
|
||||
'theorical_margin': fields.function(_theorical_margin_calc, method=True, type='float', string='Theorical Margin', help="Computed using the formula: (Theorical Revenue / Total Costs) * 100."),
|
||||
'real_margin_rate': fields.function(_real_margin_rate_calc, method=True, type='float', string='Real Margin Rate (%)', help="Computes using the formula: (Invoiced Amount / Total Costs) * 100."),
|
||||
'month_ids': fields.function(_month, method=True, type='many2many', relation='account_analytic_analysis.summary.month', string='Month'),
|
||||
'user_ids': fields.function(_user, method=True, type="many2many", relation='account_analytic_analysis.summary.user', string='User'),
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<field name="name">My managed accounts</field>
|
||||
<field name="res_model">account.analytic.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="domain">[('user_id','=',uid)]</field>
|
||||
</record>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<field name="name">Uninvoiced entries of my accounts</field>
|
||||
<field name="res_model">account.analytic.line</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="domain">[('invoice_id','=',False),('to_invoice','!=',False),('account_id.user_id','=',uid)]</field>
|
||||
</record>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<field name="name">My Open Managed Accounts</field>
|
||||
<field name="res_model">account.analytic.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="domain">[('user_id','=',uid),('state','=','open')]</field>
|
||||
</record>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<field name="name">My Pending Managed Accounts</field>
|
||||
<field name="res_model">account.analytic.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="domain">[('user_id','=',uid),('state','=','pending')]</field>
|
||||
</record>
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
<field name="name">Overpassed accounts</field>
|
||||
<field name="res_model">account.analytic.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="domain">[('date','<=',time.strftime('%Y-%m-%d')),('state','=','open')]</field>
|
||||
</record>
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<field name="name">All Analytic Accounts</field>
|
||||
<field name="res_model">account.analytic.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="view_id" ref="account.view_account_analytic_account_list"/>
|
||||
<field name="domain">[]</field>
|
||||
</record>
|
||||
@@ -69,45 +69,45 @@
|
||||
<field name="name">Draft Analytic Accounts</field>
|
||||
<field name="res_model">account.analytic.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="view_id" ref="account.view_account_analytic_account_list"/>
|
||||
<field name="domain">[('state','=','draft')]</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="next_id_72" name="All Analytic Accounts" parent="account_analytic_analysis.next_id_71"/><menuitem action="action_account_analytic_all_draft" id="menu_action_account_analytic_all_draft" parent="next_id_72"/>
|
||||
<menuitem action="action_account_analytic_all_draft" id="menu_action_account_analytic_all_draft" parent="next_id_71"/>
|
||||
|
||||
<record id="action_account_analytic_all_open" model="ir.actions.act_window">
|
||||
<field name="name">Open Analytic Accounts</field>
|
||||
<field name="res_model">account.analytic.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="view_id" ref="account.view_account_analytic_account_list"/>
|
||||
<field name="domain">[('state','=','open')]</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_account_analytic_all_open" id="menu_action_account_analytic_all_open" parent="account_analytic_analysis.next_id_72"/>
|
||||
<menuitem action="action_account_analytic_all_open" id="menu_action_account_analytic_all_open" parent="account_analytic_analysis.next_id_71"/>
|
||||
|
||||
<record id="action_account_analytic_all_pending" model="ir.actions.act_window">
|
||||
<field name="name">Pending Analytic Accounts</field>
|
||||
<field name="res_model">account.analytic.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="view_id" ref="account.view_account_analytic_account_list"/>
|
||||
<field name="domain">[('state','=','pending')]</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_account_analytic_all_pending" id="menu_action_account_analytic_all_pending" parent="account_analytic_analysis.next_id_72"/>
|
||||
<menuitem action="action_account_analytic_all_pending" id="menu_action_account_analytic_all_pending" parent="account_analytic_analysis.next_id_71"/>
|
||||
|
||||
<record id="action_account_analytic_all_simplified" model="ir.actions.act_window">
|
||||
<field name="name">Simplified View Analytic Accounts</field>
|
||||
<field name="res_model">account.analytic.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="view_id" ref="view_account_analytic_simplified"/>
|
||||
<field name="domain">[]</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_account_analytic_all_simplified" id="menu_action_account_analytic_all_simplified" parent="account_analytic_analysis.next_id_72"/>
|
||||
<menuitem action="action_account_analytic_all_simplified" id="menu_action_account_analytic_all_simplified" parent="account_analytic_analysis.next_id_71"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<field name="ca_to_invoice" select="2"/>
|
||||
|
||||
</page>
|
||||
<page string="Stats by month">
|
||||
<page string="Stats by month">
|
||||
<field colspan="4" name="month_ids" nolabel="1">
|
||||
<tree string="Month">
|
||||
<field name="month"/>
|
||||
|
||||
@@ -119,14 +119,13 @@
|
||||
<menuitem action="open_view_project_open" id="menu_open_view_project_open" parent="menu_all_project"/>
|
||||
|
||||
<record id="open_view_template_project" model="ir.actions.act_window">
|
||||
<field name="name">Template projects</field>
|
||||
<field name="name">Template of Projects</field>
|
||||
<field name="res_model">project.project</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="domain">[('state','=','template')]</field>
|
||||
<field name="view_id" ref="view_project"/>
|
||||
</record>
|
||||
<menuitem id="next_id_54" name="Projects" parent="project.menu_definitions"/>
|
||||
<menuitem action="open_view_template_project" id="menu_template_project" parent="next_id_54"/>
|
||||
<menuitem action="open_view_template_project" id="menu_template_project" parent="project.menu_definitions"/>
|
||||
|
||||
<record id="open_view_project" model="ir.actions.act_window">
|
||||
<field name="name">New Project</field>
|
||||
|
||||
@@ -66,6 +66,7 @@ class wizard_delegate(wizard.interface):
|
||||
'name': data['form']['name'],
|
||||
'user_id': data['form']['user_id'],
|
||||
'planned_hours': data['form']['planned_hours'],
|
||||
'remaining_hours': data['form']['planned_hours'],
|
||||
'parent_id': data['id'],
|
||||
'state': 'open',
|
||||
'description': data['form']['include_info'] and task.description or '',
|
||||
|
||||
@@ -671,6 +671,7 @@ class sale_order_line(osv.osv):
|
||||
'notes': fields.text('Notes'),
|
||||
'th_weight' : fields.float('Weight'),
|
||||
'state': fields.selection([('draft','Draft'),('confirmed','Confirmed'),('done','Done'),('cancel','Canceled')], 'Status', required=True, readonly=True),
|
||||
'order_partner_id': fields.related('order_id', 'partner_id', type='many2one', relation='res.partner', string='Customer')
|
||||
}
|
||||
_order = 'sequence, id'
|
||||
_defaults = {
|
||||
|
||||
@@ -360,7 +360,8 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Sales order lines">
|
||||
<field name="order_id"/>
|
||||
<field colspan="4" name="name"/>
|
||||
<field name="order_partner_id"/>
|
||||
<field name="name"/>
|
||||
<field name="product_id"/>
|
||||
<field name="product_uom_qty" string="Qty"/>
|
||||
<field name="product_uom" string="UoM"/>
|
||||
@@ -368,6 +369,7 @@
|
||||
<field name="price_unit"/>
|
||||
<field name="price_net"/>
|
||||
<field name="price_subtotal"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -612,6 +612,9 @@ class stock_picking(osv.osv):
|
||||
continue
|
||||
payment_term_id = False
|
||||
partner = picking.address_id and picking.address_id.partner_id
|
||||
raise osv.except_osv(_('Error, no partner !'),
|
||||
_('Please put a partner on the picking list if you want to generate invoice.'))
|
||||
|
||||
if type in ('out_invoice', 'out_refund'):
|
||||
account_id = partner.property_account_receivable.id
|
||||
if picking.sale_id and picking.sale_id.payment_term:
|
||||
|
||||
+42
-22
@@ -264,15 +264,15 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<wizard
|
||||
id="action_lot2"
|
||||
model="stock.production.lot"
|
||||
name="stock.traceability.lot.amont"
|
||||
<wizard
|
||||
id="action_lot2"
|
||||
model="stock.production.lot"
|
||||
name="stock.traceability.lot.amont"
|
||||
string="Downstream traceability"/>
|
||||
<wizard
|
||||
id="action_lot4"
|
||||
model="stock.production.lot"
|
||||
name="stock.traceability.lot.aval"
|
||||
<wizard
|
||||
id="action_lot4"
|
||||
model="stock.production.lot"
|
||||
name="stock.traceability.lot.aval"
|
||||
string="Upstream traceability"/>
|
||||
|
||||
<wizard id="action2" model="stock.tracking" name="stock.traceability.amont" string="Upstream traceability"/>
|
||||
@@ -794,7 +794,7 @@
|
||||
<field name="address_id" select="2"/>
|
||||
<field name="name" select="1" readonly="1"/>
|
||||
<field name="min_date" select="2"/>
|
||||
<field name="invoice_state"/>
|
||||
<field name="invoice_state"/>
|
||||
<field name="backorder_id" select="2" readonly="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
@@ -1302,31 +1302,51 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<menuitem action="action_incoterms_tree" id="menu_action_incoterms_tree" parent="menu_stock_configuration"/>
|
||||
<menuitem action="action_incoterms_tree" id="menu_action_incoterms_tree" parent="menu_stock_configuration"/>
|
||||
|
||||
<act_window context="{'location': active_id}" domain="[('type','<>','service')]" id="act_product_location_open" name="Products" res_model="product.product" src_model="stock.location"/>
|
||||
<act_window
|
||||
context="{'location': active_id}"
|
||||
domain="[('type','<>','service')]"
|
||||
id="act_product_location_open"
|
||||
name="Products"
|
||||
res_model="product.product"
|
||||
src_model="stock.location"/>
|
||||
|
||||
<act_window context="{'location': active_id}" domain="[('product_id','=',active_id)]" id="act_product_stock_move_open" name="Stock Moves" res_model="stock.move" src_model="product.product"/>
|
||||
|
||||
<record id="ir_act_product_location_open" model="ir.values">
|
||||
<act_window
|
||||
context="{'location': active_id}"
|
||||
domain="[('product_id','=',active_id)]"
|
||||
id="act_product_stock_move_open"
|
||||
name="All Stock Moves"
|
||||
res_model="stock.move"
|
||||
src_model="product.product"/>
|
||||
|
||||
<act_window
|
||||
context="{'location': active_id}"
|
||||
domain="[('product_id','=',active_id),('state','in',('waiting','confirmed','assigned'))]"
|
||||
id="act_product_stock_move_futur_open"
|
||||
name="Futur Stock Moves"
|
||||
res_model="stock.move"
|
||||
src_model="product.product"/>
|
||||
|
||||
<record id="ir_act_product_location_open" model="ir.values">
|
||||
<field name="key2">tree_but_open</field>
|
||||
<field name="model">stock.location</field>
|
||||
<field name="name">Products</field>
|
||||
<field eval="'ir.actions.act_window,%d'%act_product_location_open" name="value"/>
|
||||
<field eval="True" name="object"/>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="ir_act_product_location_open" model="ir.values">
|
||||
|
||||
<record id="ir_act_product_location_open" model="ir.values">
|
||||
<field name="key2">tree_but_open</field>
|
||||
<field name="model">stock.location</field>
|
||||
<field name="name">Open Products</field>
|
||||
<field eval="'ir.actions.wizard,%d'%ref('location_product')" name="value"/>
|
||||
<field eval="True" name="object"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<field eval="True" name="object"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -15,12 +15,14 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Subscriptions">
|
||||
<notebook>
|
||||
<group colspan="4">
|
||||
<field name="name" select="1"/>
|
||||
<field name="active" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="partner_id" select="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Subsription Data">
|
||||
<field name="name" select="1"/>
|
||||
<field name="active" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="partner_id" select="1"/>
|
||||
<newline/>
|
||||
<field name="interval_number"/>
|
||||
<field name="interval_type"/>
|
||||
|
||||
@@ -35,13 +35,13 @@ class res_partner(osv.osv):
|
||||
_inherit = 'res.partner'
|
||||
_columns = {
|
||||
'sale_warn' : fields.boolean('Sale Order'),
|
||||
'sale_warn_msg' : fields.char('Message for Sale Order', size=64),
|
||||
'sale_warn_msg' : fields.text('Message for Sale Order'),
|
||||
'purchase_warn' : fields.boolean('Purchase Order'),
|
||||
'purchase_warn_msg' : fields.char('Message for Purchase Order', size=64),
|
||||
'purchase_warn_msg' : fields.text('Message for Purchase Order'),
|
||||
'picking_warn' : fields.boolean('Stock Picking'),
|
||||
'picking_warn_msg' : fields.char('Message for Stock Picking', size=64),
|
||||
'picking_warn_msg' : fields.text('Message for Stock Picking'),
|
||||
'invoice_warn' : fields.boolean('Invoice'),
|
||||
'invoice_warn_msg' : fields.char('Message for Invoice', size=64),
|
||||
'invoice_warn_msg' : fields.text('Message for Invoice'),
|
||||
}
|
||||
res_partner()
|
||||
|
||||
@@ -131,11 +131,11 @@ stock_picking()
|
||||
class product_product(osv.osv):
|
||||
_inherit = 'product.product'
|
||||
_columns = {
|
||||
'sale_line_warn' : fields.boolean('Sale Order Line'),
|
||||
'sale_line_warn_msg' : fields.char('Message for Sale Order Line', size=64),
|
||||
'purchase_line_warn' : fields.boolean('Purchase Order Line'),
|
||||
'purchase_line_warn_msg' : fields.char('Message for Purchase Order Line', size=64),
|
||||
}
|
||||
'sale_line_warn' : fields.boolean('Sale Order Line'),
|
||||
'sale_line_warn_msg' : fields.text('Message for Sale Order Line'),
|
||||
'purchase_line_warn' : fields.boolean('Purchase Order Line'),
|
||||
'purchase_line_warn_msg' : fields.text('Message for Purchase Order Line'),
|
||||
}
|
||||
product_product()
|
||||
|
||||
class sale_order_line(osv.osv):
|
||||
|
||||
@@ -1,30 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
|
||||
<record id="view_partner_warning_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.warning.form.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook>
|
||||
<page string="Messages" position="inside">
|
||||
<newline/>
|
||||
<field name="sale_warn"/>
|
||||
<field name="sale_warn_msg"/>
|
||||
<field name="purchase_warn"/>
|
||||
<field name="purchase_warn_msg"/>
|
||||
<field name="picking_warn"/>
|
||||
<field name="picking_warn_msg"/>
|
||||
<field name="invoice_warn"/>
|
||||
<field name="invoice_warn_msg"/>
|
||||
</page>
|
||||
<notebook position="inside">
|
||||
<page string="Warnings">
|
||||
<separator string="Warning on the sale order" colspan="4"/>
|
||||
<field name="sale_warn"/>
|
||||
<field name="sale_warn_msg" colspan="4" nolabel="1"/>
|
||||
<separator string="Warning on the sale order" colspan="4"/>
|
||||
<field name="purchase_warn"/>
|
||||
<field name="purchase_warn_msg" colspan="4" nolabel="1"/>
|
||||
<separator string="Warning on the picking" colspan="4"/>
|
||||
<field name="picking_warn"/>
|
||||
<field name="picking_warn_msg" colspan="4" nolabel="1"/>
|
||||
<separator string="Warning on the invoice" colspan="4"/>
|
||||
<field name="invoice_warn"/>
|
||||
<field name="invoice_warn_msg" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<record id="product_warning_form_view" model="ir.ui.view">
|
||||
<field name="name">product.warning.form.inherit</field>
|
||||
<field name="model">product.product</field>
|
||||
@@ -32,15 +34,17 @@
|
||||
<field name="inherit_id" ref="product.product_normal_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="Messages">
|
||||
<field name="sale_line_warn"/>
|
||||
<field name="sale_line_warn_msg"/>
|
||||
<field name="purchase_line_warn"/>
|
||||
<field name="purchase_line_warn_msg"/>
|
||||
<page string="Warnings">
|
||||
<separator string="Warning when selling this product" colspan="4"/>
|
||||
<field name="sale_line_warn"/>
|
||||
<field name="sale_line_warn_msg" colspan="4" nolabel="1"/>
|
||||
<separator string="Warning when puchasing this product" colspan="4"/>
|
||||
<field name="purchase_line_warn"/>
|
||||
<field name="purchase_line_warn_msg" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
Reference in New Issue
Block a user