[MERGE] branch merged with lp:~openerp-dev/openobject-addons/trunk-dev-addons1
bzr revid: mtr@mtr-20100526052329-qkr01lj2oa281xqm
This commit is contained in:
@@ -167,7 +167,7 @@ class res_partner(osv.osv):
|
||||
|
||||
_columns = {
|
||||
'contract_ids': fields.one2many('account.analytic.account', \
|
||||
'partner_id', 'Contracts'),
|
||||
'partner_id', 'Contracts', readonly=True),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
@@ -351,7 +351,7 @@
|
||||
<field name="amount_total"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="12" col="10">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Journal" icon="terp-account" domain="[]" context="{'group_by':'journal_id'}"/>
|
||||
<filter string="Period" icon="terp-account" domain="[]" context="{'group_by':'period_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
@@ -481,21 +481,5 @@
|
||||
|
||||
<act_window domain="[('partner_id', '=', partner_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_invoice_account_move_unreconciled" name="Unreconciled Receivables & Payables" res_model="account.move.line" src_model="account.invoice"/>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_invoice_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.invoice.info.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 position="inside">
|
||||
<page string="Account Info">
|
||||
<field name="invoice_ids" colspan="4" nolabel="1" context="{'group_by':'product_id'}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1525,7 +1525,7 @@ class res_partner(osv.osv):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'invoice_ids': fields.one2many('account.invoice.line', 'partner_id', 'Invoices'),
|
||||
'invoice_ids': fields.one2many('account.invoice.line', 'partner_id', 'Invoices', readonly=True),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
<page string="Accounting" position="inside">
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Customer Accounting Properties" colspan="2"/>
|
||||
<field name="property_account_receivable"/>
|
||||
<field name="property_account_receivable" />
|
||||
<field name="property_account_position" widget="selection"/>
|
||||
<field name="property_payment_term" widget="selection"/>
|
||||
</group>
|
||||
@@ -118,10 +118,27 @@
|
||||
<field name="acc_number"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="invoice_ids" colspan="4" nolabel="1" context="{'group_by':'product_id'}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Partners info tab view-->
|
||||
|
||||
<record id="view_account_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.account.info.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 position="inside">
|
||||
<page string="Project">
|
||||
<field name="contract_ids" colspan="4" nolabel="1" />
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
<field name="name" select="1" colspan="4"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="parent_id" on_change="on_change_parent(parent_id)"/>
|
||||
<field name="company_id" select="2" widget="selection"/>
|
||||
<field name="company_id" select="2" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="type" select="2"/>
|
||||
<field name="company_currency_id" select="2"/>
|
||||
</group>
|
||||
@@ -153,7 +153,7 @@
|
||||
<field name="ref" select="2"/>
|
||||
<field name="currency_id" select="2"/>
|
||||
<field name="amount_currency" select="2"/>
|
||||
<field name="company_id" select="2"/>
|
||||
<field name="company_id" select="2" groups="base.group_multi_company"/>
|
||||
<newline/>
|
||||
<field name="product_id" select="2"/>
|
||||
<field name="product_uom_id" select="2"/>
|
||||
@@ -178,7 +178,7 @@
|
||||
<field name="ref"/>
|
||||
<field name="currency_id" />
|
||||
<field name="amount_currency" />
|
||||
<field name="company_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/>
|
||||
<field name="company_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -288,7 +288,7 @@
|
||||
<field name="code" select="1"/>
|
||||
<field name="type" select="2"/>
|
||||
<field name="active" select="2"/>
|
||||
<field name="company_id" widget="selection"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
@@ -443,21 +443,6 @@
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_contract_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.contract.info.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">
|
||||
<field name="invoice_ids" position="after">
|
||||
<field name="contract_ids" colspan="4" nolabel="1" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -57,22 +57,23 @@
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<field name="type" />
|
||||
<field name="user_type" widget="selection"/>
|
||||
<field name="parent_account_id" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Account" name="Account" icon="terp-account" context="{'group_by':'name'}"/>
|
||||
<filter string="Code" icon="terp-account" context="{'group_by':'code'}"/>
|
||||
<filter string="Company" icon="terp-account" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Currencies Rate" icon="terp-account" context="{'group_by':'currency_mode'}"/>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Account" name="Account" icon="terp-account" context="{'group_by':'name'}"/>
|
||||
<filter string="Code" icon="terp-account" context="{'group_by':'code'}"/>
|
||||
<filter string="Company" icon="terp-account" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Currencies Rate" icon="terp-account" context="{'group_by':'currency_mode'}"/>
|
||||
<filter string="Internal Type" icon="terp-account" context="{'group_by':'type'}"/>
|
||||
<filter string="Account Type" icon="terp-account" context="{'group_by':'user_type'}"/>
|
||||
<filter string="Parent Account" icon="terp-account" context="{'group_by':'parent_account_id'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<field name="type" />
|
||||
<field name="user_type" widget="selection"/>
|
||||
<field name="parent_account_id" />
|
||||
</group>
|
||||
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -55,17 +55,7 @@
|
||||
<field name="currency_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<field name="account_id" />
|
||||
<field name="general_account_id" widget="selection"/>
|
||||
<field name="journal_id" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="product_id" />
|
||||
<field name="product_uom_id" widget="selection"/>
|
||||
<field name="company_id" widget="selection" groups="base.multi_company"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="User" name="User" icon="terp-account" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Currency" icon="terp-account" context="{'group_by':'currency_id'}"/>
|
||||
<filter string="Company" icon="terp-account" context="{'group_by':'company_id'}" groups="base.multi_company"/>
|
||||
@@ -81,6 +71,17 @@
|
||||
<filter string="Month" icon="terp-account" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-account" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<field name="account_id" />
|
||||
<field name="general_account_id" widget="selection"/>
|
||||
<field name="journal_id" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="product_id" />
|
||||
<field name="product_uom_id" widget="selection"/>
|
||||
<field name="company_id" widget="selection" groups="base.multi_company"/>
|
||||
</group>
|
||||
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -69,7 +69,34 @@
|
||||
<field name="partner_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="User" name="User" icon="terp-account" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Associated Partner" icon="terp-account" context="{'group_by':'partner_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Company" icon="terp-account" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<filter string="Analytic Account" icon="terp-account" context="{'group_by':'parent_id'}"/>
|
||||
<filter string="Analytic Journal" icon="terp-account" context="{'group_by':'journal_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Product" icon="terp-account" context="{'group_by':'product_id'}"/>
|
||||
<filter string="Account Type" icon="terp-account" context="{'group_by':'type'}"/>
|
||||
<filter string="State" icon="terp-account" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-account" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-account" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-account" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12" groups="base.group_extended">
|
||||
<filter icon="terp-account"
|
||||
string="Draft"
|
||||
domain="[('state','=','draft')]"/>
|
||||
<filter icon="terp-account"
|
||||
string="Open"
|
||||
domain="[('state','=','open')]"/>
|
||||
<filter icon="terp-account"
|
||||
string="Pending"
|
||||
domain="[('state','=','pending')]"/>
|
||||
<filter icon="terp-account"
|
||||
string="Close"
|
||||
domain="[('state','=','close')]"/>
|
||||
@@ -87,24 +114,7 @@
|
||||
<field name="date_start"/>
|
||||
<field name="date_end"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="User" name="User" icon="terp-account" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Associated Partner" icon="terp-account" context="{'group_by':'partner_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Company" icon="terp-account" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<filter string="Analytic Account" icon="terp-account" context="{'group_by':'parent_id'}"/>
|
||||
<filter string="Analytic Journal" icon="terp-account" context="{'group_by':'journal_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Product" icon="terp-account" context="{'group_by':'product_id'}"/>
|
||||
<filter string="Account Type" icon="terp-account" context="{'group_by':'type'}"/>
|
||||
<filter string="State" icon="terp-account" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-account" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-account" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-account" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_account_analytic_report_search" model="ir.ui.view">
|
||||
|
||||
@@ -74,25 +74,6 @@
|
||||
<field name="partner_id" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<filter string="Posted"
|
||||
icon="terp-account"
|
||||
domain="[('state','=','posted')]"
|
||||
help = "Posted tasks"/>
|
||||
<field name="state_2"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="period_id" widget="selection"/>
|
||||
<field name="period_id2" widget="selection"/>
|
||||
<field name="type"/>
|
||||
<field name="product_id" />
|
||||
<field name="analytic_account_id"/>
|
||||
<newline/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="date_created"/>
|
||||
<field name="date"/>
|
||||
<field name="date_maturity"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Journal" name="Journal" icon="terp-account" context="{'group_by':'journal_id'}"/>
|
||||
<filter string="Account" name="Account" icon="terp-account" context="{'group_by':'account_id'}"/>
|
||||
@@ -111,6 +92,25 @@
|
||||
<filter string="Month" icon="terp-account" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-account" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<filter string="Posted"
|
||||
icon="terp-account"
|
||||
domain="[('state','=','posted')]"
|
||||
help = "Posted tasks"/>
|
||||
<field name="state_2"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="period_id" widget="selection"/>
|
||||
<field name="period_id2" widget="selection"/>
|
||||
<field name="type"/>
|
||||
<field name="product_id" />
|
||||
<field name="analytic_account_id"/>
|
||||
<newline/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="date_created"/>
|
||||
<field name="date"/>
|
||||
<field name="date_maturity"/>
|
||||
</group>
|
||||
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -56,10 +56,10 @@
|
||||
<field name="arch" type="xml">
|
||||
<search string="Invoices">
|
||||
<group col="10" colspan="12">
|
||||
<filter icon="terp-account" string="Last 365 Days"
|
||||
<filter icon="gtk-media-rewind" string="Last 365 Days"
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')),('date','>',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Invoices of last 365 days"/>
|
||||
<filter icon="terp-account" string="Last 30 Days"
|
||||
<filter icon="gtk-media-rewind" string="Last 30 Days"
|
||||
name="month"
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Invoices of last 30 days"/>
|
||||
@@ -94,29 +94,8 @@
|
||||
domain="[('user_id','=',False)]"/>
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<field name="type"/>
|
||||
<field name="currency_id" widget="selection"/>
|
||||
<field name="partner_bank" widget="selection"/>
|
||||
<field name="fiscal_position" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="address_contact_id"/>
|
||||
<field name="account_id"/>
|
||||
<newline/>
|
||||
<field name="payment_term" widget="selection"/>
|
||||
<field name="journal_id" widget="selection"/>
|
||||
<field name="period_id" widget="selection"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="address_invoice_id"/>
|
||||
<field name="product_id"/>
|
||||
<newline/>
|
||||
<field name="date" string="Date Invoiced"/>
|
||||
<field name="date_due"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<newline/>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Salesman" name='User' icon="terp-account" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Partner" icon="terp-account" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Product" icon="terp-account" context="{'group_by':'product_id'}"/>
|
||||
@@ -138,6 +117,27 @@
|
||||
<filter string="Month" icon="terp-account" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-account" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<field name="type"/>
|
||||
<field name="currency_id" widget="selection"/>
|
||||
<field name="partner_bank" widget="selection"/>
|
||||
<field name="fiscal_position" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="address_contact_id"/>
|
||||
<field name="account_id"/>
|
||||
<newline/>
|
||||
<field name="payment_term" widget="selection"/>
|
||||
<field name="journal_id" widget="selection"/>
|
||||
<field name="period_id" widget="selection"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="address_invoice_id"/>
|
||||
<field name="product_id"/>
|
||||
<newline/>
|
||||
<field name="date" string="Date Invoiced"/>
|
||||
<field name="date_due"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Print Aged Trial Balance">
|
||||
<field name="company_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<newline/>
|
||||
<field name="date1"/>
|
||||
<field name="period_length"/>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select period">
|
||||
<field name="company_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="display_account" required = "True"/>
|
||||
<newline/>
|
||||
<field name="fiscalyear"/>
|
||||
|
||||
@@ -24,7 +24,7 @@ from tools.translate import _
|
||||
class account_chart(osv.osv_memory):
|
||||
"""
|
||||
For Chart of Accounrs
|
||||
"""
|
||||
"""
|
||||
_name = "account.chart"
|
||||
_description = "chart"
|
||||
_columns = {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Date-Period">
|
||||
<field name="company_id" colspan="4"/>
|
||||
<field name="company_id" colspan="4" groups="base.group_multi_company"/>
|
||||
<newline/>
|
||||
<field name="fiscalyear"/>
|
||||
<label colspan="2" string="(Keep empty for all open fiscal years)" align="0.0"/>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Date-Period">
|
||||
<field name="company_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="result_selection" required = "True"/>
|
||||
<newline/>
|
||||
<field name="fiscalyear"/>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Date-Period">
|
||||
<field name="company_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="result_selection"/>
|
||||
<newline/>
|
||||
<field name="fiscalyear"/>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Period">
|
||||
<field name="company_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<newline/>
|
||||
<field name="based_on"/>
|
||||
<newline/>
|
||||
|
||||
@@ -47,7 +47,7 @@ class account_analytic_default(osv.osv):
|
||||
domain += ['|',('partner_id','=',partner_id)]
|
||||
domain += [('partner_id','=',False)]
|
||||
if user_id:
|
||||
domain += ['|',('user_id','=',uid)]
|
||||
domain += ['|',('user_id','=',user_id)]
|
||||
domain += [('user_id','=',False)]
|
||||
if date:
|
||||
domain += ['|',('date_start','<=',date),('date_start','=',False)]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-
|
||||
In order to test the auction module in the Open-ERP I start the process by creating a product
|
||||
In order to test the auction module in the Open-ERP I start the process by creating a product.
|
||||
-
|
||||
I create a new product furniture
|
||||
I create a new product furniture.
|
||||
-
|
||||
!record {model: product.product, id: product_product_furniture0}:
|
||||
categ_id: product.cat1
|
||||
@@ -19,13 +19,13 @@
|
||||
weight: 0.0
|
||||
weight_net: 0.0
|
||||
-
|
||||
I create a new artist for an object
|
||||
I create a new artist for an object.
|
||||
-
|
||||
!record {model: auction.artists, id: auction_artists_vincentvangogh0}:
|
||||
birth_death_dates: 1853-1900
|
||||
name: Vincent van Gogh
|
||||
-
|
||||
Now I want to associate an object with the auction so for that I create an auction "Antique furniture exhibition"
|
||||
Now I want to associate an object with the auction so for that I create an auction "Antique furniture exhibition"
|
||||
-
|
||||
!record {model: auction.dates, id: auction_dates_antiquefurnitureexhibition0}:
|
||||
acc_expense: account.a_pay
|
||||
@@ -39,7 +39,7 @@
|
||||
journal_seller_id: account.sales_journal
|
||||
name: Antique furniture exhibition
|
||||
-
|
||||
An object is being deposited for an auction,I create a seller's deposit record
|
||||
An object is being deposited for an auction,I create a seller's deposit record.
|
||||
-
|
||||
!record {model: auction.deposit, id: auction_deposit_ad0}:
|
||||
date_dep: '2010-05-18'
|
||||
@@ -47,7 +47,7 @@
|
||||
name: AD/006
|
||||
partner_id: base.res_partner_4
|
||||
-
|
||||
I create a new object wooden-chair which is to be auctioned
|
||||
I create a new object wooden-chair which is to be auctioned.
|
||||
-
|
||||
!record {model: auction.lots, id: auction_lots_woodenchair0}:
|
||||
ach_uid: base.res_partner_2
|
||||
@@ -66,13 +66,15 @@
|
||||
state: draft
|
||||
vnd_lim: 5000.0
|
||||
-
|
||||
I create a bid for an object "wooden-chair" which is to be auctioned in Antique furniture exhibition
|
||||
I create a bid for an object "wooden-chair" which is to be auctioned in Antique furniture exhibition.
|
||||
-
|
||||
!record {model: auction.bid, id: auction_bid_bid0}:
|
||||
auction_id: auction_dates_antiquefurnitureexhibition0
|
||||
contact_tel: (+32)2 211 34 83
|
||||
name: bid/001
|
||||
partner_id: auction.partner_record1
|
||||
-
|
||||
I create a bid line.
|
||||
-
|
||||
!record {model: auction.bid_line, id: auction_bid_line_0}:
|
||||
auction: Antique furniture exhibition
|
||||
@@ -80,12 +82,14 @@
|
||||
lot_id: auction.auction_lots_woodenchair0
|
||||
price: 3500.0
|
||||
-
|
||||
I create another bid for an object "wooden-chair" bided by a different partner
|
||||
I create another bid for an object "wooden-chair" bided by a different partner
|
||||
-
|
||||
!record {model: auction.bid, id: auction_bid_bid1}:
|
||||
auction_id: auction_dates_antiquefurnitureexhibition0
|
||||
name: bid/002
|
||||
partner_id: base.res_partner_2
|
||||
-
|
||||
I create a bid line.
|
||||
-
|
||||
!record {model: auction.bid_line, id: auction_bid_line_1}:
|
||||
auction: Antique furniture exhibition
|
||||
@@ -94,14 +98,14 @@
|
||||
lot_id: auction.auction_lots_woodenchair0
|
||||
price: 4000.0
|
||||
-
|
||||
I check that buyer price and seller price gets bind with the value
|
||||
I check that buyer price and seller price gets bind with the value
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0"))
|
||||
assert(auc_id.buyer_price,auc_id.seller_price), _('Buyer price and seller price are not available!')
|
||||
-
|
||||
I check that a record gets created in the Seller's Summary
|
||||
I check that a record gets created in the Seller's Summary.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
@@ -111,7 +115,7 @@
|
||||
ids =rep_sell_obj.search(cr, uid, [('auction', '=', auc_id.auction_id.id),('seller', '=',auc_id.bord_vnd_id.partner_id.id)])
|
||||
assert ids, _('No record found!')
|
||||
-
|
||||
I check that a record gets created in the Seller's Revenues
|
||||
I check that a record gets created in the Seller's Revenues.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
@@ -121,7 +125,7 @@
|
||||
ids =rep_sell_obj.search(cr, uid, [('auction', '=', auc_id.auction_id.id),('seller', '=',auc_id.bord_vnd_id.partner_id.id)])
|
||||
assert ids, _('No record found!')
|
||||
-
|
||||
I check that a record gets created in the Buyer's Summary
|
||||
I check that a record gets created in the Buyer's Summary.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
@@ -130,7 +134,7 @@
|
||||
ids1=rep_buy_obj1.search(cr, uid, [('auction', '=', auc_id1.auction_id.id),('buyer', '=',auc_id1.ach_uid.id)])
|
||||
assert ids1, _('No record found!')
|
||||
-
|
||||
I check that a record gets created in the Buyer's Revenue
|
||||
I check that a record gets created in the Buyer's Revenue.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
@@ -139,7 +143,7 @@
|
||||
ids1=rep_buy_obj1.search(cr, uid, [('auction', '=', auc_id1.auction_id.id),('buyer', '=',auc_id1.ach_uid.id)])
|
||||
assert ids1, _('No record found!')
|
||||
-
|
||||
I check that a record gets created in the Auction's Summary
|
||||
I check that a record gets created in the Auction's Summary.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
@@ -148,7 +152,7 @@
|
||||
ids2=rep_auc_obj1.search(cr, uid, [('auction_id', '=', auc_id2.auction_id.id)])
|
||||
assert ids2, _('No record found!')
|
||||
-
|
||||
I check that a record gets created in the Auction's Revenues
|
||||
I check that a record gets created in the Auction's Revenues.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
@@ -157,42 +161,42 @@
|
||||
ids3=rep_auc_obj1.search(cr, uid, [('auction', '=', auc_id3.auction_id.id)])
|
||||
assert ids3, _('No record found!')
|
||||
-
|
||||
An object has been sold,so I click on the "Sold" button
|
||||
An object has been sold,so I click on the "Sold" button.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
self.button_bought(cr, uid, [ref("auction_lots_woodenchair0")], {"lang": "en_US", "tz":
|
||||
False, "active_model": "ir.ui.menu", "active_ids": [ref("auction.auction_lots_woodenchair0")],
|
||||
"active_id": ref("auction.auction_lots_woodenchair0")})
|
||||
-
|
||||
I check that the order which was initially in the draft state has transit to sold state
|
||||
I check that the order which was initially in the draft state has transit to sold state.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0"))
|
||||
assert(auc_id.state == 'sold'), _('State not changed!')
|
||||
-
|
||||
Then I click on the Taken Away button
|
||||
Then I click on the Taken Away button.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
self.button_taken_away(cr, uid, [ref("auction_lots_woodenchair0")], {"lang":
|
||||
"en_US", "tz": False, "active_model": "ir.ui.menu", "active_ids": [ref("auction.auction_all_objects_menu")],
|
||||
"active_id": ref("auction.auction_all_objects_menu")})
|
||||
-
|
||||
I check that the order which was initially in the sold state has transit to taken away state.
|
||||
I check that the order which was initially in the sold state has transit to taken away state.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0"))
|
||||
assert(auc_id.state == 'taken_away'), _('State not changed!')
|
||||
-
|
||||
I click on the "Close + Create all invoices" button
|
||||
I click on the "Close + Create all invoices" button
|
||||
-
|
||||
!python {model: auction.dates}: |
|
||||
self.close(cr, uid, [ref("auction.auction_dates_antiquefurnitureexhibition0")],
|
||||
{"lang": "en_US", "tz": False, "active_model": "ir.ui.menu", "active_ids":
|
||||
[ref("auction.menu_auction_dates_next1")], "active_id": ref("auction.menu_auction_dates_next1")})
|
||||
-
|
||||
I check that a record gets created in the "Supplier Invoices"
|
||||
I check that a record gets created in the "Supplier Invoices".
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-
|
||||
In order to test the wizards of auction module I create a new record
|
||||
In order to test the wizards of auction module I create a new record.
|
||||
-
|
||||
I start the process by creating a new product Paintings
|
||||
I start the process by creating a new product Paintings.
|
||||
-
|
||||
!record {model: product.product, id: product_product_paintings0}:
|
||||
categ_id: product.cat1
|
||||
@@ -19,7 +19,7 @@
|
||||
weight: 0.0
|
||||
weight_net: 0.0
|
||||
-
|
||||
I create a new artist-Picasso's record
|
||||
I create a new artist-Picasso's record.
|
||||
-
|
||||
!record {model: auction.artists, id: auction_artists_picasso0}:
|
||||
birth_death_dates: 1881-1973
|
||||
@@ -39,7 +39,7 @@
|
||||
journal_seller_id: account.sales_journal
|
||||
name: Picasso's painting exhibition
|
||||
-
|
||||
An object is being deposited for an auction,I create a seller's deposit record
|
||||
An object is being deposited for an auction,I create a seller's deposit record.
|
||||
-
|
||||
!record {model: auction.deposit, id: auction_deposit_ad1}:
|
||||
date_dep: '2010-05-18'
|
||||
@@ -47,7 +47,7 @@
|
||||
name: AD/007
|
||||
partner_id: base.res_partner_9
|
||||
-
|
||||
I create a new object painting which is to be auctioned
|
||||
I create a new object painting which is to be auctioned.
|
||||
-
|
||||
!record {model: auction.lots, id: auction_lots_painting0}:
|
||||
ach_login: 'Mr.Chang'
|
||||
@@ -66,13 +66,13 @@
|
||||
state: draft
|
||||
vnd_lim: 4000.0
|
||||
-
|
||||
I assign the buyer through "Map buyer username to Partners" wizard
|
||||
I assign the buyer through "Map buyer user name to Partners" wizard.
|
||||
-
|
||||
!record {model: auction.lots.buyer_map, id: auction_lots_buyer_map_0}:
|
||||
ach_login: 'Mr.Chang'
|
||||
ach_uid: base.res_partner_3
|
||||
-
|
||||
I click on the "Update" button
|
||||
I click on the "Update" button.
|
||||
-
|
||||
!python {model: auction.lots.buyer_map}: |
|
||||
auc_obj=self.pool.get('auction.lots')
|
||||
@@ -81,72 +81,72 @@
|
||||
"tz": False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")],
|
||||
"active_id": ref("auction_lots_painting0")})
|
||||
-
|
||||
I check that the buyer field gets bind with the value
|
||||
I check that the buyer field gets bind with the value.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
auc_id=self.browse(cr, uid, ref("auction_lots_painting0"))
|
||||
assert(auc_id.ach_uid), _('Buyer not assigned!')
|
||||
-
|
||||
I mark that a seller has been paid by using the "Mark as paid for seller" wizard
|
||||
I mark that a seller has been paid by using the "Mark as paid for seller" wizard.
|
||||
-
|
||||
!record {model: auction.payer.sel, id: auction_payer_sel_0}:
|
||||
{}
|
||||
-
|
||||
I click on the "Pay" button
|
||||
I click on the "Pay" button.
|
||||
-
|
||||
!python {model: auction.payer.sel}: |
|
||||
self.payer_sel(cr, uid, [ref("auction_payer_sel_0")], {"lang": "en_US", "tz":
|
||||
False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")], "active_id": ref("auction_lots_painting0")})
|
||||
-
|
||||
I check that the Seller paid field is set to True
|
||||
I check that the Seller paid field is set to True.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
auc_id=self.browse(cr, uid, ref("auction_lots_painting0"))
|
||||
assert(auc_id.paid_vnd == True), _('Seller paid is not marked!')
|
||||
-
|
||||
I use the "Mark as taken away" wizard to indicate that an object is taken away
|
||||
I use the "Mark as taken away" wizard to indicate that an object is taken away.
|
||||
-
|
||||
!record {model: auction.lots.able, id: auction_lots_able_0}:
|
||||
{}
|
||||
-
|
||||
Then I click on the "Able Taken away" wizard
|
||||
Then I click on the "Able Taken away" wizard.
|
||||
-
|
||||
!python {model: auction.lots.able}: |
|
||||
self.confirm_able(cr, uid, [ref("auction_lots_able_0")], {"lang":"en_US", "tz":
|
||||
False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")],
|
||||
"active_id": ref("auction_lots_painting0")})
|
||||
-
|
||||
I check that Taken away field is set to True
|
||||
I check that Taken away field is set to True.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
auc_id=self.browse(cr, uid, ref("auction_lots_painting0"))
|
||||
assert(auc_id.ach_emp == True), _('Taken away is not marked!')
|
||||
-
|
||||
I use the "Unmark as taken away" wizard to unmark the Taken Away field
|
||||
I use the "Unmark as taken away" wizard to unmark the Taken Away field.
|
||||
-
|
||||
!record {model: auction.lots.enable, id: auction_lots_enable_0}:
|
||||
confirm_en: 0.0
|
||||
-
|
||||
Then I click on the "Enable Taken away" button
|
||||
Then I click on the "Enable Taken away" button.
|
||||
-
|
||||
!python {model: auction.lots.enable}: |
|
||||
self.confirm_enable(cr, uid, [ref("auction_lots_enable_0")], {"lang": "en_US",
|
||||
"tz": False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")],
|
||||
"active_id": ref("auction_lots_painting0"),})
|
||||
-
|
||||
I check that Taken away field is set to False
|
||||
I check that Taken away field is set to False.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
auc_id=self.browse(cr, uid, ref("auction_lots_painting0"))
|
||||
assert(auc_id.ach_emp == False), _('Taken away is marked!')
|
||||
-
|
||||
I create statement lines for an object's payment by using the "Pay objects of the buyer" wizard
|
||||
I create statement lines for an object's payment by using the "Pay objects of the buyer" wizard
|
||||
-
|
||||
Creating a account.bank.statement record
|
||||
I create a bank statement.
|
||||
-
|
||||
!record {model: account.bank.statement, id: account_bank_statement_st0}:
|
||||
balance_end_real: 0.0
|
||||
@@ -156,7 +156,7 @@
|
||||
period_id: account.period_5
|
||||
state: draft
|
||||
-
|
||||
Creating a auction.pay.buy record
|
||||
I create auction payment record.
|
||||
-
|
||||
!record {model: auction.pay.buy, id: auction_pay_buy_0}:
|
||||
amount: 2000.0
|
||||
@@ -168,14 +168,14 @@
|
||||
statement_id3: account_bank_statement_st0
|
||||
total: 4000.0
|
||||
-
|
||||
Then I click "Pay" button
|
||||
Then I click "Pay" button.
|
||||
-
|
||||
!python {model: auction.pay.buy}: |
|
||||
self.pay_and_reconcile(cr, uid, [ref("auction_pay_buy_0")], {"lang": "en_US", "tz":
|
||||
False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")],
|
||||
"active_id": ref("auction_lots_painting0"),})
|
||||
-
|
||||
I check that a record gets created in the 'auction_statement_line_rel' table
|
||||
I check that a record gets created in the 'auction_statement_line_rel' table
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
@@ -183,28 +183,28 @@
|
||||
ans=cr.fetchall()
|
||||
assert ans, _('statement_id not found!')
|
||||
-
|
||||
I create the seller's invoice by using the "Invoice Seller objects" wizard
|
||||
I create the seller's invoice by using the "Invoice Seller objects" wizard.
|
||||
-
|
||||
!record {model: auction.lots.make.invoice, id: auction_lots_make_invoice_0}:
|
||||
amount: 3500.0
|
||||
number: 2010/002
|
||||
objects: 1
|
||||
-
|
||||
Then I click on the "Create Invoices" button
|
||||
Then I click on the "Create Invoices" button.
|
||||
-
|
||||
!python {model: auction.lots.make.invoice}: |
|
||||
self.makeInvoices(cr, uid, [ref("auction_lots_make_invoice_0")], {"lang": "en_US",
|
||||
"active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")],
|
||||
"tz": False, "active_id": ref("auction_lots_painting0"),})
|
||||
-
|
||||
I check that a "Seller Invoice" field gets bind with the value
|
||||
I check that a "Seller Invoice" field gets bind with the value.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
auc_id=self.browse(cr, uid, ref("auction_lots_painting0"))
|
||||
assert(auc_id.sel_inv_id), _('Seller Invoice has not been created!')
|
||||
-
|
||||
I create a buyer's invoice by using the "Invoice Buyer objects" wizard
|
||||
I create a buyer's invoice by using the "Invoice Buyer objects" wizard.
|
||||
-
|
||||
!record {model: auction.lots.make.invoice.buyer, id: auction_lots_make_invoice_buyer_0}:
|
||||
amount: 3500.0
|
||||
@@ -212,33 +212,33 @@
|
||||
number: 2010/003
|
||||
objects: 1
|
||||
-
|
||||
Then I click on the "Create Invoices" button
|
||||
Then I click on the "Create Invoices" button.
|
||||
-
|
||||
!python {model: auction.lots.make.invoice.buyer}: |
|
||||
self.makeInvoices(cr, uid, [ref("auction_lots_make_invoice_buyer_0")], {"lang":
|
||||
"en_US", "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")],
|
||||
"tz": False, "active_id": ref("auction_lots_painting0"), })
|
||||
-
|
||||
I check that a "Buyer Invoice" field gets bind with the value
|
||||
I check that a "Buyer Invoice" field gets bind with the value.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
auc_id=self.browse(cr, uid, ref("auction_lots_painting0"))
|
||||
assert(auc_id.ach_inv_id), _('Seller Invoice has not been created!')
|
||||
-
|
||||
In order to change the auction for an object I use the "Change auction date" wizard
|
||||
In order to change the auction for an object I use the "Change auction date" wizard.
|
||||
-
|
||||
!record {model: auction.lots.auction.move, id: auction_lots_auction_move_0}:
|
||||
auction_id: auction.auction_date_2
|
||||
-
|
||||
Then I click on the "Move to Auction date" button
|
||||
Then I click on the "Move to Auction date" button.
|
||||
-
|
||||
!python {model: auction.lots.auction.move}: |
|
||||
self.auction_move_set(cr, uid, [ref("auction_lots_auction_move_0")], {"lang":
|
||||
"en_US", "tz": False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")],
|
||||
"active_id": ref("auction_lots_painting0"), })
|
||||
-
|
||||
I check that a record gets created in the auction.lot.history
|
||||
I check that a record gets created in the lot history.
|
||||
-
|
||||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
|
||||
<!-- Attendee form view-->
|
||||
|
||||
<record id="base_calendar_attendee_form_view" model="ir.ui.view">
|
||||
@@ -24,7 +24,7 @@
|
||||
<field name="user_id" string="Invited User"/>
|
||||
<newline/>
|
||||
<field name="partner_address_id"
|
||||
string="Partner Contact" />
|
||||
string="Contact" />
|
||||
<field name="partner_id"
|
||||
string="Partner" readonly="1" />
|
||||
</group>
|
||||
@@ -67,7 +67,7 @@
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Attendee tree view-->
|
||||
|
||||
<record id="base_calendar_attendee_tree_view" model="ir.ui.view">
|
||||
@@ -86,9 +86,9 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Attendee search view-->
|
||||
|
||||
|
||||
<record id="base_calendar_attendee_search_view" model="ir.ui.view">
|
||||
<field name="name">calendar.attendee.search</field>
|
||||
<field name="model">calendar.attendee</field>
|
||||
@@ -108,7 +108,7 @@
|
||||
<field name="cutype" string="Invitation type" select="1"/>
|
||||
<field name="event_date" select="1"/>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="16">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Type" icon="terp-project" help="Invitation Type"
|
||||
domain="[]" context="{'group_by':'cutype'}" />
|
||||
<filter string="Role" icon="terp-project"
|
||||
@@ -119,14 +119,13 @@
|
||||
<filter string="User" icon="terp-partner" domain="[]"
|
||||
context="{'group_by':'user_id'}" />
|
||||
<filter string="Contact" icon="terp-partner" domain="[]"
|
||||
context="{'group_by':'partner_address_id'}" />
|
||||
context="{'group_by':'partner_address_id'}" />
|
||||
<filter string="State" icon="terp-project" help="Invitation Type"
|
||||
domain="[]" context="{'group_by':' state'}" />
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Action for attendee view-->
|
||||
|
||||
<record id="action_view_attendee_form" model="ir.actions.act_window">
|
||||
<field name="name">Event Invitations</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
@@ -136,14 +135,14 @@
|
||||
<field name="view_id" ref="base_calendar.base_calendar_attendee_tree_view" />
|
||||
<field name="context">{'default_sent_by_uid': uid}</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Calenadar's menu -->
|
||||
|
||||
|
||||
<menuitem id="base.menu_calendar_configuration" name="Calendar"
|
||||
parent="base.menu_base_config" sequence="10" />
|
||||
|
||||
|
||||
<!-- Invitation menu -->
|
||||
|
||||
|
||||
<menuitem id="menu_attendee_invitations"
|
||||
name="Event Invitations" parent="base.menu_calendar_configuration"
|
||||
sequence="10" action="action_view_attendee_form" />
|
||||
@@ -183,9 +182,6 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Action for alarms view-->
|
||||
|
||||
<record id="action_res_alarm_view" model="ir.actions.act_window">
|
||||
<field name="name">Available Alarms</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
@@ -193,7 +189,7 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Menu for Alarms-->
|
||||
|
||||
<menuitem id="menu_crm_meeting_avail_alarm"
|
||||
@@ -201,8 +197,8 @@
|
||||
action="base_calendar.action_res_alarm_view"
|
||||
parent="base.menu_calendar_configuration" />
|
||||
|
||||
<!-- Event Form View-->
|
||||
|
||||
<!-- Event Form View-->
|
||||
|
||||
<record model="ir.ui.view" id="event_form_view">
|
||||
<field name="name">Event Form</field>
|
||||
<field name="model">calendar.event</field>
|
||||
@@ -300,7 +296,7 @@
|
||||
nolabel="1" widget="one2many" mode="tree,form">
|
||||
<tree string="Invitation details" editable="top">
|
||||
<field name="email" />
|
||||
<field name="role" select="1" />
|
||||
<field name="role" width="200" select="1" />
|
||||
<field name="state" />
|
||||
</tree>
|
||||
<form string="Invitation details">
|
||||
@@ -363,7 +359,7 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Event Calendar View -->
|
||||
|
||||
<record model="ir.ui.view" id="event_calendar_view">
|
||||
@@ -379,9 +375,9 @@
|
||||
</calendar>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Event Search View-->
|
||||
|
||||
|
||||
<record id="view_calendar_event_filter" model="ir.ui.view">
|
||||
<field name="name">Calendar Events Search</field>
|
||||
<field name="model">calendar.event</field>
|
||||
@@ -402,7 +398,7 @@
|
||||
<field name="class" select="1"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="16">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Date" icon="terp-project"
|
||||
domain="[]" context="{'group_by':'date'}" />
|
||||
<filter string="Availability" icon="terp-project"
|
||||
@@ -419,7 +415,7 @@
|
||||
|
||||
|
||||
<!-- Event action -->
|
||||
|
||||
|
||||
<record id="action_view_event" model="ir.actions.act_window">
|
||||
<field name="name">Events</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
@@ -428,12 +424,12 @@
|
||||
<field name="view_mode">tree,form,calendar</field>
|
||||
<field name="search_view_id" ref="view_calendar_event_filter"/>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Event menu -->
|
||||
|
||||
<menuitem id="menu_events"
|
||||
name="Events" parent="base.menu_calendar_configuration"
|
||||
sequence="5" action="action_view_event" />
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -6,3 +6,4 @@
|
||||
"access_calendar_todo","calendar.todo","model_calendar_todo",,1,1,1,1
|
||||
"access_base_calendar_invite_attendee","base_calendar.invite.attendee","model_base_calendar_invite_attendee",,1,1,1,1
|
||||
"access_calendar_event_edit_all","calendar_event_edit_all","model_calendar_event_edit_all",,1,1,1,1
|
||||
"access_base_calendar_set_exrule","base.calendar.set.exrule","model_base_calendar_set_exrule",,1,1,1,1
|
||||
|
||||
|
@@ -7,24 +7,24 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 12:10+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-05-25 16:41+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-17 04:16+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-26 03:47+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
msgid "Analytic accounts to close"
|
||||
msgstr ""
|
||||
msgstr "Konta analityczne do zamknięcia"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
msgid "Draft invoices"
|
||||
msgstr ""
|
||||
msgstr "Projekty faktur"
|
||||
|
||||
#. module: board_account
|
||||
#: constraint:ir.ui.view:0
|
||||
@@ -35,61 +35,61 @@ msgstr "XML niewłaściwy dla tej architektury wyświetlania!"
|
||||
#: model:ir.actions.act_window,name:board_account.open_board_account
|
||||
#: model:ir.ui.menu,name:board_account.menu_board_account
|
||||
msgid "Accounting Dashboard"
|
||||
msgstr ""
|
||||
msgstr "Konsola księgowości"
|
||||
|
||||
#. module: board_account
|
||||
#: model:ir.actions.act_window,name:board_account.action_aged_receivable
|
||||
msgid "Receivable Accounts"
|
||||
msgstr ""
|
||||
msgstr "Konta wierzytelności"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board_account.act_my_account
|
||||
msgid "Accounts to invoice"
|
||||
msgstr ""
|
||||
msgstr "Konta do faktur"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board_account.action_account_analytic_line_to_invoice
|
||||
msgid "Costs to invoice"
|
||||
msgstr ""
|
||||
msgstr "Koszty do faktur"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
msgid "Aged receivables"
|
||||
msgstr ""
|
||||
msgstr "Przeterminowane wierzytelności"
|
||||
|
||||
#. module: board_account
|
||||
#: model:ir.module.module,shortdesc:board_account.module_meta_information
|
||||
msgid "Board for accountant"
|
||||
msgstr ""
|
||||
msgstr "Konsola dla księgowści"
|
||||
|
||||
#. module: board_account
|
||||
#: model:ir.actions.act_window,name:board_account.action_aged_income
|
||||
msgid "Income Accounts"
|
||||
msgstr ""
|
||||
msgstr "Konta przychodowe"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
msgid "My indicators"
|
||||
msgstr ""
|
||||
msgstr "Moje wskaźniki"
|
||||
|
||||
#. module: board_account
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
|
||||
|
||||
#. module: board_account
|
||||
#: model:ir.ui.menu,name:board_account.next_id_68
|
||||
msgid "Accounting"
|
||||
msgstr ""
|
||||
msgstr "Księgowość"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
msgid "Account Board"
|
||||
msgstr ""
|
||||
msgstr "Konsola kont"
|
||||
|
||||
#. module: board_account
|
||||
#: view:board.board:0
|
||||
msgid "Aged income"
|
||||
msgstr ""
|
||||
msgstr "Przeterminowany dochód"
|
||||
|
||||
@@ -33,6 +33,7 @@ import crm_installer
|
||||
import report
|
||||
import wizard
|
||||
|
||||
import res_partner
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -96,7 +96,9 @@ between mails and Open ERP.""",
|
||||
'report/crm_phonecall_report_view.xml',
|
||||
|
||||
'process/crm_configuration_process.xml',
|
||||
'crm_installer_view.xml'
|
||||
'crm_installer_view.xml',
|
||||
|
||||
'res_partner_view.xml'
|
||||
],
|
||||
'demo_xml': [
|
||||
'crm_demo.xml',
|
||||
|
||||
@@ -306,7 +306,7 @@
|
||||
help="Show Sales Team"/>
|
||||
</field>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="14">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Stage" icon="terp-crm" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||
<filter string="State" icon="terp-crm" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Source" icon="terp-crm" domain="[]" context="{'group_by':'categ_id'}"/>
|
||||
|
||||
@@ -175,16 +175,4 @@ class res_users(osv.osv):
|
||||
res_users()
|
||||
|
||||
|
||||
class res_partner(osv.osv):
|
||||
""" Inherits partner and adds meetings information in the partner form """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'meeting_ids': fields.one2many('crm.meeting', 'partner_id',\
|
||||
'Meetings'),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -277,7 +277,7 @@
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="16">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Date" icon="terp-project"
|
||||
domain="[]" context="{'group_by':'date'}" />
|
||||
<filter string="Privacy" icon="terp-crm"
|
||||
@@ -324,21 +324,5 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_meeting_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.meeting.info.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 position="inside">
|
||||
<page string="CRM Info">
|
||||
<field name="meeting_ids" colspan="4" nolabel="1" />
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -163,16 +163,4 @@ class crm_opportunity(osv.osv):
|
||||
|
||||
crm_opportunity()
|
||||
|
||||
class res_partner(osv.osv):
|
||||
""" Inherits partner and adds Opportunities information in the partner form """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'opportunity_ids': fields.one2many('crm.lead', 'partner_id',\
|
||||
'Opportunities', domain=[('type', '=', 'opportunity')]),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -307,7 +307,7 @@
|
||||
help="My Sale Team" />
|
||||
</field>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="16">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Stage" icon="terp-crm" domain="[]"
|
||||
context="{'group_by':'stage_id'}" />
|
||||
<filter string="Priority" icon="terp-crm" domain="[]"
|
||||
@@ -327,60 +327,5 @@
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_opp_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.opportunity.info.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">
|
||||
<field name="phonecall_ids" position="after">
|
||||
<field name="opportunity_ids" colspan="4" nolabel="1" domain="[('type', '=', 'opportunity')]">
|
||||
<tree string="Opportunities" colors="blue:state=='pending';grey:state in ('cancel', 'done')">
|
||||
<field name="create_date"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="name"/>
|
||||
<field name="email_from"/>
|
||||
<field name="phone"/>
|
||||
|
||||
<field name="categ_id" invisible="1"/>
|
||||
<field name="type_id" invisible="1"/>
|
||||
<field name="referred" invisible="1"/>
|
||||
|
||||
<field name="stage_id"/>
|
||||
<button name="stage_previous" string="Previous"
|
||||
states="open,pending" type="object" icon="gtk-go-back" />
|
||||
<button name="stage_next" string="Next"
|
||||
states="open,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
<field name="section_id"
|
||||
invisible="context.get('invisible_section', True)" />
|
||||
<field name="user_id" />
|
||||
<field name="state" />
|
||||
<button name="case_open" string="Open"
|
||||
states="draft,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
<button name="case_close" string="Close"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-close" />
|
||||
<button string="Convert to Opportunity"
|
||||
name="convert_opportunity"
|
||||
states="draft,open,pending" icon="gtk-index"
|
||||
type="object" />
|
||||
<button name="case_escalate" string="Escalate"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-go-up" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
</tree>
|
||||
</field>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -178,15 +178,5 @@ class crm_phonecall(osv.osv, crm_case):
|
||||
|
||||
crm_phonecall()
|
||||
|
||||
class res_partner(osv.osv):
|
||||
""" Inherits partner and adds Phonecalls information in the partner form """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'phonecall_ids': fields.one2many('crm.phonecall', 'partner_id', 'Phonecalls'),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -289,19 +289,5 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_phonecall_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.phonecall.info.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">
|
||||
<field name="meeting_ids" position="after">
|
||||
<field name="phonecall_ids" colspan="4" nolabel="1" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
help="My section" />
|
||||
|
||||
</field>
|
||||
<field name="company_id" widget="selection">
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company">
|
||||
<filter icon="terp-crm"
|
||||
context="{'invisible_section': False}"
|
||||
domain="[('section_id.user_id.company_id','=',uid)]"
|
||||
@@ -119,21 +119,7 @@
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Extended options..." colspan="10" col="12" groups="base.group_extended">
|
||||
<filter icon="terp-sale"
|
||||
string="Done"
|
||||
domain="[('state','=','done')]"/>
|
||||
<filter icon="terp-sale"
|
||||
string="Cancel"
|
||||
domain="[('state','=','cancel')]"/>
|
||||
<group>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
|
||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="8">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="User" name="User" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'user_id'}" />
|
||||
|
||||
@@ -166,6 +152,21 @@
|
||||
domain="[]" context="{'group_by':'name'}" />
|
||||
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
|
||||
<filter icon="terp-sale"
|
||||
string="Done"
|
||||
domain="[('state','=','done')]"/>
|
||||
<filter icon="terp-sale"
|
||||
string="Cancel"
|
||||
domain="[('state','=','cancel')]"/>
|
||||
<group>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
|
||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
|
||||
</group>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
</record>
|
||||
|
||||
<!-- Phone calls by user and section Search View -->
|
||||
|
||||
|
||||
<record id="view_report_crm_phonecall_filter" model="ir.ui.view">
|
||||
<field name="name">crm.phonecall.report.select</field>
|
||||
<field name="model">crm.phonecall.report</field>
|
||||
@@ -107,7 +107,7 @@
|
||||
help="My section" />
|
||||
|
||||
</field>
|
||||
<field name="company_id" widget="selection">
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company">
|
||||
<filter icon="terp-crm"
|
||||
context="{'invisible_section': False}"
|
||||
domain="[('section_id.user_id.company_id','=',uid)]"
|
||||
@@ -118,8 +118,39 @@
|
||||
<filter icon="terp-crm" string="My Case" help="My Case" domain="[('user_id','=',uid)]" />
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="User" name="User" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'user_id'}" />
|
||||
|
||||
<filter string="Company" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'company_id'}" />
|
||||
|
||||
<filter string="Section" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'section_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="State" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'state'}" />
|
||||
|
||||
<filter string="Category" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'categ_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Day" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'day'}"/>
|
||||
|
||||
<filter string="Month" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'month'}" />
|
||||
|
||||
<filter string="Year" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'name'}" />
|
||||
</group>
|
||||
|
||||
<newline/>
|
||||
<group expand="1" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<filter icon="terp-sale"
|
||||
string="Done"
|
||||
domain="[('state','=','done')]"/>
|
||||
@@ -131,39 +162,8 @@
|
||||
<separator orientation="vertical"/>
|
||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
|
||||
</group>
|
||||
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="8">
|
||||
<filter string="User" name="User" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'user_id'}" />
|
||||
|
||||
<filter string="Company" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'company_id'}" />
|
||||
|
||||
<filter string="Section" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'section_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="State" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'state'}" />
|
||||
|
||||
<filter string="Category" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'categ_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Day" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'day'}"/>
|
||||
|
||||
<filter string="Month" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'month'}" />
|
||||
|
||||
<filter string="Year" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'name'}" />
|
||||
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import fields,osv
|
||||
|
||||
class res_partner(osv.osv):
|
||||
""" Inherits partner and adds CRM information in the partner form """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'opportunity_ids': fields.one2many('crm.lead', 'partner_id',\
|
||||
'Opportunities', domain=[('type', '=', 'opportunity')]),
|
||||
'meeting_ids': fields.one2many('crm.meeting', 'partner_id',\
|
||||
'Meetings'),
|
||||
'phonecall_ids': fields.one2many('crm.phonecall', 'partner_id', 'Phonecalls'),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_crm_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.crm.info.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 position="inside">
|
||||
<page string="CRM">
|
||||
<field name="meeting_ids" colspan="4" nolabel="1" />
|
||||
<field name="phonecall_ids" colspan="4" nolabel="1" />
|
||||
<field name="opportunity_ids" colspan="4" nolabel="1" domain="[('type', '=', 'opportunity')]">
|
||||
<tree string="Opportunities" colors="blue:state=='pending';grey:state in ('cancel', 'done')">
|
||||
<field name="create_date"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="name"/>
|
||||
<field name="email_from"/>
|
||||
<field name="phone"/>
|
||||
|
||||
<field name="categ_id" invisible="1"/>
|
||||
<field name="type_id" invisible="1"/>
|
||||
<field name="referred" invisible="1"/>
|
||||
|
||||
<field name="stage_id"/>
|
||||
<button name="stage_previous" string="Previous"
|
||||
states="open,pending" type="object" icon="gtk-go-back" />
|
||||
<button name="stage_next" string="Next"
|
||||
states="open,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
<field name="section_id"
|
||||
invisible="context.get('invisible_section', True)" />
|
||||
<field name="user_id" />
|
||||
<field name="state" />
|
||||
<button name="case_open" string="Open"
|
||||
states="draft,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
<button name="case_close" string="Close"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-close" />
|
||||
<button string="Convert to Opportunity"
|
||||
name="convert_opportunity"
|
||||
states="draft,open,pending" icon="gtk-index"
|
||||
type="object" />
|
||||
<button name="case_escalate" string="Escalate"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-go-up" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -147,7 +147,6 @@ class crm_lead2partner(osv.osv_memory):
|
||||
'user_id': lead.user_id.id,
|
||||
'comment': lead.description,
|
||||
})
|
||||
function_id = self.pool.get('res.partner.function').search(cr,uid,[('name','=',lead.function_name)])
|
||||
contact_id = contact_obj.create(cr, uid, {
|
||||
'partner_id': partner_id,
|
||||
'name': lead.name,
|
||||
@@ -156,7 +155,7 @@ class crm_lead2partner(osv.osv_memory):
|
||||
'email': lead.email_from,
|
||||
'fax': lead.fax,
|
||||
'title': lead.title,
|
||||
'function': function_id and function_id[0] or False,
|
||||
'function': lead.function_name,
|
||||
'street': lead.street,
|
||||
'street2': lead.street2,
|
||||
'zip': lead.zip,
|
||||
|
||||
@@ -271,7 +271,7 @@
|
||||
<field name="section_id" select="1"
|
||||
widget="selection"/>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="10" col="20">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Deadline" icon="terp-crm"
|
||||
domain="[]"
|
||||
context="{'group_by':'date_deadline'}" />
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
</record>
|
||||
|
||||
<!-- CRM Claim Report Search View -->
|
||||
|
||||
|
||||
<record id="view_report_crm_claim_filter" model="ir.ui.view">
|
||||
<field name="name">crm.claim.report.select</field>
|
||||
<field name="model">crm.claim.report</field>
|
||||
@@ -122,8 +122,47 @@
|
||||
<filter icon="terp-crm" string="My Case" help="My Case" domain="[('user_id','=',uid)]" />
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="User" name="User" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'user_id'}" />
|
||||
|
||||
<filter string="Company" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
|
||||
<filter string="Section" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'section_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="State" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'state'}" />
|
||||
|
||||
<filter string="Stage" icon="terp-sale" domain="[]"
|
||||
context="{'group_by':'stage_id'}" />
|
||||
|
||||
<filter string="Category" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'categ_id'}" />
|
||||
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Priority" icon="terp-sale" domain="[]"
|
||||
context="{'group_by':'priority'}" />
|
||||
<filter string="Type" icon="terp-sale" domain="[]"
|
||||
context="{'group_by':'type_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Day" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'day'}"/>
|
||||
|
||||
<filter string="Month" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'month'}" />
|
||||
|
||||
<filter string="Year" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'name'}" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<filter icon="terp-sale"
|
||||
string="Done"
|
||||
domain="[('state','=','done')]"/>
|
||||
@@ -141,46 +180,6 @@
|
||||
<field name="type_id" widget="selection" domain="[('object_id.model', '=', 'crm.claim')]"/>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="8">
|
||||
<filter string="User" name="User" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'user_id'}" />
|
||||
|
||||
<filter string="Company" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'company_id'}" />
|
||||
|
||||
<filter string="Section" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'section_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="State" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'state'}" />
|
||||
|
||||
<filter string="Stage" icon="terp-sale" domain="[]"
|
||||
context="{'group_by':'stage_id'}" />
|
||||
|
||||
<filter string="Category" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'categ_id'}" />
|
||||
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Priority" icon="terp-sale" domain="[]"
|
||||
context="{'group_by':'priority'}" />
|
||||
<filter string="Type" icon="terp-sale" domain="[]"
|
||||
context="{'group_by':'type_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Day" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'day'}"/>
|
||||
|
||||
<filter string="Month" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'month'}" />
|
||||
|
||||
<filter string="Year" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'name'}" />
|
||||
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -256,7 +256,7 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Funds">
|
||||
<group col='6' colspan='4'>
|
||||
<group>
|
||||
<filter icon="gtk-new" string="Current"
|
||||
domain="[('state','in',('draft', 'open'))]" name="current"
|
||||
help="Current Funds" />
|
||||
@@ -284,7 +284,7 @@
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="10" col="20">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Partner" icon="terp-partner"
|
||||
domain="[]"
|
||||
context="{'group_by':'partner_id'}" />
|
||||
|
||||
@@ -121,8 +121,38 @@
|
||||
<filter icon="terp-crm" string="My Case" help="My Case" domain="[('user_id','=',uid)]" />
|
||||
</field>
|
||||
</group>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="User" name="User" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'user_id'}" />
|
||||
|
||||
<filter string="Company" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'company_id'}" />
|
||||
|
||||
<filter string="Section" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'section_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="State" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'state'}" />
|
||||
|
||||
<filter string="Category" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'categ_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Day" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'day'}"/>
|
||||
|
||||
<filter string="Month" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'month'}" />
|
||||
|
||||
<filter string="Year" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'name'}" />
|
||||
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<filter icon="terp-sale"
|
||||
string="Done"
|
||||
domain="[('state','=','done')]"/>
|
||||
@@ -130,44 +160,12 @@
|
||||
<filter icon="terp-sale"
|
||||
string="Cancel"
|
||||
domain="[('state','=','cancel')]"/>
|
||||
|
||||
|
||||
<group>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.fundraising')]"/>
|
||||
</group>
|
||||
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="8">
|
||||
<filter string="User" name="User" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'user_id'}" />
|
||||
|
||||
<filter string="Company" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'company_id'}" />
|
||||
|
||||
<filter string="Section" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'section_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="State" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'state'}" />
|
||||
|
||||
<filter string="Category" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'categ_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Day" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'day'}"/>
|
||||
|
||||
<filter string="Month" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'month'}" />
|
||||
|
||||
<filter string="Year" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'name'}" />
|
||||
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -243,7 +243,7 @@
|
||||
help="My section" />
|
||||
</field>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="12" col="20">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Customer" icon="terp-crm"
|
||||
domain="[]" context="{'group_by':'partner_id'}" />
|
||||
<filter string="State" icon="terp-crm" domain="[]"
|
||||
|
||||
@@ -114,36 +114,10 @@
|
||||
<field name="user_id" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Extended options..." colspan="4" col="5">
|
||||
<filter icon="terp-sale"
|
||||
string="Lowest"
|
||||
domain="[('priority','=','5')]"/>
|
||||
|
||||
<filter icon="terp-sale"
|
||||
string="Low"
|
||||
domain="[('priority','=','4')]"/>
|
||||
|
||||
<filter icon="terp-sale"
|
||||
string="Normal"
|
||||
domain="[('priority','=','3')]"/>
|
||||
|
||||
<filter icon="terp-sale"
|
||||
string="High"
|
||||
domain="[('priority','=','2')]"/>
|
||||
|
||||
<filter icon="terp-sale"
|
||||
string="Highest"
|
||||
domain="[('priority','=','1')]"/>
|
||||
|
||||
</group>
|
||||
<newline/>
|
||||
|
||||
<!-- Helpdesk report after Sales Services Apply Group -->
|
||||
|
||||
<group expand="1" string="Group By..." colspan="4" col="8">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="User" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'user_id'}"
|
||||
default="1" />
|
||||
domain="[]" context="{'group_by':'user_id'}"
|
||||
default="1" />
|
||||
|
||||
<filter string="Company" icon="terp-sale"
|
||||
domain="[]"
|
||||
@@ -169,6 +143,31 @@
|
||||
domain="[]" context="{'group_by':'name'}" />
|
||||
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<filter icon="terp-sale"
|
||||
string="Lowest"
|
||||
domain="[('priority','=','5')]"/>
|
||||
|
||||
<filter icon="terp-sale"
|
||||
string="Low"
|
||||
domain="[('priority','=','4')]"/>
|
||||
|
||||
<filter icon="terp-sale"
|
||||
string="Normal"
|
||||
domain="[('priority','=','3')]"/>
|
||||
|
||||
<filter icon="terp-sale"
|
||||
string="High"
|
||||
domain="[('priority','=','2')]"/>
|
||||
|
||||
<filter icon="terp-sale"
|
||||
string="Highest"
|
||||
domain="[('priority','=','1')]"/>
|
||||
|
||||
</group>
|
||||
|
||||
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
<field name="job_id" widget="selection"/>
|
||||
<field name="parent_id" widget="selection" />
|
||||
<newline />
|
||||
<group expand="1" string="Group By..." colspan="11" col="11">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Manager" icon="terp-sale" domain="[]" context="{'group_by':'parent_id'}"/>
|
||||
<filter string="Coach" icon="terp-sale" domain="[]" context="{'group_by':'coach_id'}" groups="base.group_extended"/>
|
||||
<separator orientation="vertical" />
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<field name="name" select="1" />
|
||||
<field name="action" select="1" />
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="11" col="11">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter name="employee" string="Employee" icon="terp-sale" domain="[]" context="{'group_by':'employee_id'}"/>
|
||||
<filter string="Day" icon="terp-sale" domain="[]" context="{'group_by':'day'}"/>
|
||||
</group>
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
<field name="date_end"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="20">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Department" icon="terp-project" domain="[]" context="{'group_by':'department_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
<search string="Search Evaluation Plan">
|
||||
<group col='15' colspan='4'>
|
||||
<field name="name"/>
|
||||
<field name="company_id" widget="selection"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="20">
|
||||
<group expand="1" string="Group By..." groups="base.group_multi_company">
|
||||
<filter string="Company" icon="terp-project" domain="[]" context="{'group_by':'company_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
@@ -28,7 +28,7 @@
|
||||
<form string="Evaluation Plan">
|
||||
<group col="6" colspan="4">
|
||||
<field name="name" select="1"/>
|
||||
<field name="company_id" select="1" widget="selection"/>
|
||||
<field name="company_id" select="1" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="active"/>
|
||||
<field name="month_first"/>
|
||||
<field name="month_next"/>
|
||||
@@ -51,7 +51,7 @@
|
||||
<field name="name"/>
|
||||
<field name="month_first"/>
|
||||
<field name="month_next"/>
|
||||
<field name="company_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -71,7 +71,19 @@
|
||||
<field name="employee_id" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Employee" name="employee" icon="terp-hr" context="{'group_by':'employee_id'}"/>
|
||||
<filter string="Rating" icon="terp-hr" context="{'group_by':'rating'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Plan" icon="terp-hr" context="{'group_by':'plan_id'}"/>
|
||||
<filter string="State" icon="terp-hr" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-hr" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-hr" context="{'group_by':'create_date'}"/>
|
||||
<filter string="Year" icon="terp-hr" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<filter icon="terp-hr"
|
||||
string="Done"
|
||||
domain="[('state','=','done')]"/>
|
||||
@@ -87,18 +99,6 @@
|
||||
<field name="create_date"/>
|
||||
<field name="closed"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Employee" name="employee" icon="terp-hr" context="{'group_by':'employee_id'}"/>
|
||||
<filter string="Rating" icon="terp-hr" context="{'group_by':'rating'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Plan" icon="terp-hr" context="{'group_by':'plan_id'}"/>
|
||||
<filter string="State" icon="terp-hr" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-hr" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-hr" context="{'group_by':'create_date'}"/>
|
||||
<filter string="Year" icon="terp-hr" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
<field name="department_id" widget="selection" groups="base.group_extended"/>
|
||||
</group>
|
||||
<newline />
|
||||
<group expand="1" string="Group By..." colspan="11" col="11">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Department" icon="terp-sale" domain="[]" context="{'group_by':'department_id'}"/>
|
||||
<filter string="User" icon="terp-sale" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
|
||||
@@ -87,7 +87,25 @@
|
||||
<field name="employee_id" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="User" name="User" icon="terp-hr" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Employee" icon="terp-hr" context="{'group_by':'employee_id'}"/>
|
||||
<filter string="Company" icon="terp-hr" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Analytic account" icon="terp-hr" context="{'group_by':'analytic_account'}"/>
|
||||
<filter string="Currency" icon="terp-hr" context="{'group_by':'currency_id'}"/>
|
||||
<filter string="Department" icon="terp-hr" context="{'group_by':'department_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Product" icon="terp-hr" context="{'group_by':'product_id'}"/>
|
||||
<filter string="State" icon="terp-hr" context="{'group_by':'state'}"/>
|
||||
<filter string="Force Journal" icon="terp-hr" context="{'group_by':'journal_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-hr" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-hr" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-hr" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended filters..." groups="base.group_extended">
|
||||
<filter string="Invoiced"
|
||||
icon="terp-hr"
|
||||
domain="[('state','=','invoiced')]"
|
||||
@@ -109,24 +127,6 @@
|
||||
<field name="date_confirm"/>
|
||||
<field name="date_valid"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="User" name="User" icon="terp-hr" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Employee" icon="terp-hr" context="{'group_by':'employee_id'}"/>
|
||||
<filter string="Company" icon="terp-hr" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Analytic account" icon="terp-hr" context="{'group_by':'analytic_account'}"/>
|
||||
<filter string="Currency" icon="terp-hr" context="{'group_by':'currency_id'}"/>
|
||||
<filter string="Department" icon="terp-hr" context="{'group_by':'department_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Product" icon="terp-hr" context="{'group_by':'product_id'}"/>
|
||||
<filter string="State" icon="terp-hr" context="{'group_by':'state'}"/>
|
||||
<filter string="Force Journal" icon="terp-hr" context="{'group_by':'journal_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-hr" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-hr" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-hr" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<field name="holiday_status_id" widget="selection"/>
|
||||
</group>
|
||||
<newline />
|
||||
<group expand="1" string="Group By..." colspan="11" col="11">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Department" icon="terp-sale" domain="[]" context="{'group_by':'department_id'}"/>
|
||||
<filter string="Manager" icon="terp-sale" domain="[]" context="{'group_by':'manager_id'}"/>
|
||||
<filter string="User" icon="terp-sale" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
|
||||
@@ -60,22 +60,8 @@
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Leaves during last 7 days"/>
|
||||
<separator orientation="vertical"/>
|
||||
<<<<<<< TREE
|
||||
<field name="employee_id"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<filter icon="terp-hr"
|
||||
string="My Leaves"
|
||||
domain="[('user_id','=',uid)]"/>
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<field name="holiday_status_id" widget="selection"/>
|
||||
<field name="department_id" widget="selection"/>
|
||||
=======
|
||||
<field name="employee_id"/>
|
||||
<field name="user_id" widget="selection"/>
|
||||
>>>>>>> MERGE-SOURCE
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
|
||||
@@ -77,7 +77,20 @@
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Employee" name="Employee" icon="terp-hr" context="{'group_by':'employee_id'}"/>
|
||||
<filter string="User" name="User" icon="terp-hr" context="{'group_by':'user_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Type" icon="terp-hr" context="{'group_by':'holiday_status_id'}"/>
|
||||
<filter string="Department" icon="terp-hr" context="{'group_by':'department_id'}"/>
|
||||
<filter string="State" icon="terp-hr" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-hr" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-hr" context="{'group_by':'date'}"/>
|
||||
<filter string="Year" icon="terp-hr" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<filter icon="terp-hr"
|
||||
string="Refused"
|
||||
name="done"
|
||||
@@ -95,19 +108,7 @@
|
||||
<separator orientation="vertical"/>
|
||||
<field name="department_id" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Employee" name="Employee" icon="terp-hr" context="{'group_by':'employee_id'}"/>
|
||||
<filter string="User" name="User" icon="terp-hr" context="{'group_by':'user_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Type" icon="terp-hr" context="{'group_by':'holiday_status_id'}"/>
|
||||
<filter string="Department" icon="terp-hr" context="{'group_by':'department_id'}"/>
|
||||
<filter string="State" icon="terp-hr" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-hr" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-hr" context="{'group_by':'date'}"/>
|
||||
<filter string="Year" icon="terp-hr" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -232,7 +232,7 @@
|
||||
help="My Department"/>
|
||||
</field>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="11" col="20">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Department" icon="terp-project" domain="[]" context="{'group_by':'department_id'}"/>
|
||||
<filter string="Responsible" icon="terp-project" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
|
||||
@@ -92,8 +92,26 @@
|
||||
domain="[('user_id','=',False)]"/>
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By ...">
|
||||
<filter string="User" name='User' icon="terp-hr" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Company" icon="terp-hr" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<filter string="Partner" icon="terp-hr" domain="[]" context="{'group_by':'partner_id'}" />
|
||||
<filter string="Stage" icon="terp-hr" domain="[]" context="{'group_by':'stage_id'}" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Partner Contact Name" icon="terp-hr" domain="[]" context="{'group_by':'partner_address_id'}" />
|
||||
<filter string="Jobs" name="job" icon="terp-sale" domain="[]" context="{'group_by':'job_id'}"/>
|
||||
<filter string="Department" name="department" icon="terp-hr" domain="[]" context="{'group_by':'department_id'}"/>
|
||||
<filter string="Degree" name="degree" icon="terp-hr" domain="[]" context="{'group_by':'type_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="State" icon="terp-hr" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Day" name = "day" icon="terp-hr" domain="[]" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-hr" domain="[]" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-hr" domain="[]" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
|
||||
<newline/>
|
||||
<group expand="1" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<filter icon="terp-hr"
|
||||
string="Hired"
|
||||
name="done"
|
||||
@@ -114,25 +132,8 @@
|
||||
<field name="type_id" widget="selection"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="partner_address_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By ..." colspan="10" col="12">
|
||||
<filter string="User" name='User' icon="terp-hr" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Company" icon="terp-hr" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<filter string="Partner" icon="terp-hr" domain="[]" context="{'group_by':'partner_id'}" />
|
||||
<filter string="Stage" icon="terp-hr" domain="[]" context="{'group_by':'stage_id'}" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Partner Contact Name" icon="terp-hr" domain="[]" context="{'group_by':'partner_address_id'}" />
|
||||
<filter string="Jobs" name="job" icon="terp-sale" domain="[]" context="{'group_by':'job_id'}"/>
|
||||
<filter string="Department" name="department" icon="terp-hr" domain="[]" context="{'group_by':'department_id'}"/>
|
||||
<filter string="Degree" name="degree" icon="terp-hr" domain="[]" context="{'group_by':'type_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="State" icon="terp-hr" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Day" name = "day" icon="terp-hr" domain="[]" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-hr" domain="[]" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-hr" domain="[]" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -69,24 +69,24 @@
|
||||
<field name="account_id"/>
|
||||
<field name="product_id"/>
|
||||
</group>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="User" name="User" icon="terp-hr" context="{'group_by':'user_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Account" icon="terp-hr" context="{'group_by':'account_id'}"/>
|
||||
<filter string="Product" icon="terp-hr" context="{'group_by':'product_id'}"/>
|
||||
<filter string="Invoice" icon="terp-hr" context="{'group_by':'invoice_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-hr" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-hr" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-hr" context="{'group_by':'name'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="0" string="Extended filters..." groups="base.group_extended">
|
||||
<field name="date"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="invoice_id" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="User" name="User" icon="terp-hr" context="{'group_by':'user_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Account" icon="terp-hr" context="{'group_by':'account_id'}"/>
|
||||
<filter string="Product" icon="terp-hr" context="{'group_by':'product_id'}"/>
|
||||
<filter string="Invoice" icon="terp-hr" context="{'group_by':'invoice_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-hr" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-hr" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-hr" context="{'group_by':'name'}"/>
|
||||
</group>
|
||||
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -450,7 +450,7 @@
|
||||
<field name="general_account_id" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="20">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="User" icon="terp-project" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Product" icon="terp-project" domain="[]" context="{'group_by':'product_id'}"/>
|
||||
<filter string="Analytic Account" icon="terp-project" domain="[]" context="{'group_by':'analytic_account_id'}"/>
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="20">
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Users" icon="terp-project" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Department" icon="terp-project" domain="[]" context="{'group_by':'department_id'}"/>
|
||||
</group>
|
||||
|
||||
@@ -74,9 +74,26 @@
|
||||
domain="[('user_id','=',False)]"/>
|
||||
</field>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="User" name="User" icon="terp-hr" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Product" icon="terp-hr" context="{'group_by':'product_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Type of Invoicing" icon="terp-hr" context="{'group_by':'to_invoice'}"/>
|
||||
<filter string="Analytic Account" icon="terp-hr" context="{'group_by':'account_id'}"/>
|
||||
<filter string="General Account" icon="terp-hr" context="{'group_by':'general_account_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Company" icon="terp-hr" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<filter string="Department" icon="terp-hr" context="{'group_by':'department_id'}"/>
|
||||
<filter string="State" icon="terp-hr" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-hr" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-hr" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-hr" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<filter icon="terp-hr"
|
||||
string="New"
|
||||
domain="[('state','=','new')]"/>
|
||||
@@ -94,24 +111,7 @@
|
||||
<separator orientation="vertical"/>
|
||||
<field name="general_account_id"/>
|
||||
<field name="to_invoice" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="User" name="User" icon="terp-hr" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Product" icon="terp-hr" context="{'group_by':'product_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Type of Invoicing" icon="terp-hr" context="{'group_by':'to_invoice'}"/>
|
||||
<filter string="Analytic Account" icon="terp-hr" context="{'group_by':'account_id'}"/>
|
||||
<filter string="General Account" icon="terp-hr" context="{'group_by':'general_account_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Company" icon="terp-hr" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<filter string="Department" icon="terp-hr" context="{'group_by':'department_id'}"/>
|
||||
<filter string="State" icon="terp-hr" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-hr" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-hr" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-hr" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -21,6 +21,5 @@
|
||||
|
||||
import idea
|
||||
import wizard
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ from dateutil.relativedelta import relativedelta
|
||||
|
||||
from osv import fields, osv
|
||||
import netsvc
|
||||
import tools
|
||||
|
||||
_intervalTypes = {
|
||||
'hours': lambda interval: relativedelta(hours=interval),
|
||||
@@ -44,7 +45,7 @@ class marketing_campaign(osv.osv): #{{{
|
||||
('test_realtime', 'Realtime Time'),
|
||||
('manual', 'Manual'),
|
||||
('active', 'Active')],
|
||||
'Mode'),
|
||||
'Mode', required=True),
|
||||
'state': fields.selection([('draft', 'Draft'),
|
||||
('running', 'Running'),
|
||||
('done', 'Done'),
|
||||
@@ -58,8 +59,9 @@ class marketing_campaign(osv.osv): #{{{
|
||||
|
||||
_defaults = {
|
||||
'state': lambda *a: 'draft',
|
||||
'mode': lambda *a: 'test',
|
||||
}
|
||||
|
||||
|
||||
def state_running_set(self, cr, uid, ids, *args):
|
||||
campaign = self.browse(cr, uid, ids[0])
|
||||
if not campaign.activity_ids :
|
||||
@@ -72,8 +74,6 @@ class marketing_campaign(osv.osv): #{{{
|
||||
segment_ids = self.pool.get('marketing.campaign.segment').search(cr, uid,
|
||||
[('campaign_id', '=', campaign.id),
|
||||
('state', '=', 'draft')])
|
||||
if not segment_ids :
|
||||
raise osv.except_osv("Error", "There is no associate semgnet for the campaign")
|
||||
self.write(cr, uid, ids, {'state': 'running'})
|
||||
return True
|
||||
|
||||
@@ -124,15 +124,17 @@ class marketing_campaign_segment(osv.osv): #{{{
|
||||
def state_running_set(self, cr, uid, ids, *args):
|
||||
segment = self.browse(cr, uid, ids[0])
|
||||
curr_date = time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
vals = {'state': 'running'}
|
||||
if not segment.date_run:
|
||||
raise osv.except_osv("Error", "Segment can't be start before giving running date")
|
||||
if segment.campaign_id.state != 'running' :
|
||||
raise osv.except_osv("Error", "You have to start campaign first")
|
||||
if (segment.date_run >= curr_date):
|
||||
raise osv.except_osv("Error", "Segment cannot start before run date")
|
||||
vals['date_run'] = segment.campaign_id.date_run and \
|
||||
segment.campaign_id.date_run or \
|
||||
time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
if not segment.sync_last_date:
|
||||
self.write(cr, uid, ids, {'sync_last_date':curr_date})
|
||||
self.write(cr, uid, ids, {'state': 'running','date_done': curr_date})
|
||||
vals['sync_last_date']=curr_date
|
||||
if not segment.date_done:
|
||||
vals['date_done']= (datetime.now() + _intervalTypes['years'](1) \
|
||||
).strftime('%Y-%m-%d %H:%M:%S')
|
||||
self.write(cr, uid, ids, vals)
|
||||
return True
|
||||
|
||||
def state_done_set(self, cr, uid, ids, *args):
|
||||
@@ -191,27 +193,30 @@ class marketing_campaign_activity(osv.osv): #{{{
|
||||
_description = "Campaign Activity"
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64),
|
||||
'campaign_id': fields.many2one('marketing.campaign', 'Campaign'),
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'campaign_id': fields.many2one('marketing.campaign', 'Campaign',
|
||||
required = True, ondelete='cascade'),
|
||||
'object_id': fields.related('campaign_id','object_id',
|
||||
type='many2one', relation='ir.model',
|
||||
string='Object'),
|
||||
'start': fields.boolean('Start'),
|
||||
'condition': fields.text('Condition'),
|
||||
'condition': fields.char('Condition', size=256, required=True, help="Condition that is to be tested before action is executed"),
|
||||
'type': fields.selection([('email', 'E-mail'),
|
||||
('paper', 'Paper'),
|
||||
('action', 'Action'),
|
||||
('subcampaign', 'Sub-Campaign')],
|
||||
'Type', required=True),
|
||||
'email_template_id': fields.many2one('poweremail.templates','Email Template'),
|
||||
'report_id': fields.many2one('ir.actions.report.xml', 'Reports'),
|
||||
'report_directory_id': fields.many2one('document.directory', 'Directory'),
|
||||
'report_id': fields.many2one('ir.actions.report.xml', 'Reports', ),
|
||||
'report_directory_id': fields.many2one('document.directory',
|
||||
'Directory to Store Reports',
|
||||
help="Folder is used to store the genreated reports"),
|
||||
'server_action_id': fields.many2one('ir.actions.server', string='Action'),
|
||||
'to_ids': fields.one2many('marketing.campaign.transition',
|
||||
'activity_to_id',
|
||||
'activity_from_id',
|
||||
'Next Activities'),
|
||||
'from_ids': fields.one2many('marketing.campaign.transition',
|
||||
'activity_from_id',
|
||||
'activity_to_id',
|
||||
'Previous Activities'),
|
||||
'subcampaign_id': fields.many2one('marketing.campaign', 'Sub-Campaign'),
|
||||
'subcampaign_segment_id': fields.many2one('marketing.campaign.segment',
|
||||
@@ -220,7 +225,12 @@ class marketing_campaign_activity(osv.osv): #{{{
|
||||
'revenue': fields.float('Revenue')
|
||||
}
|
||||
|
||||
|
||||
_defaults = {
|
||||
'type': lambda *a: 'email',
|
||||
'condition': lambda *a: 'True',
|
||||
'object_id' : lambda obj, cr, uid, context : context.get('object_id',False),
|
||||
}
|
||||
|
||||
def search(self, cr, uid, args, offset=0, limit=None, order=None,
|
||||
context=None, count=False):
|
||||
if context == None:
|
||||
@@ -237,7 +247,8 @@ class marketing_campaign_activity(osv.osv): #{{{
|
||||
|
||||
def process(self, cr, uid, act_id, wi_id, context={}):
|
||||
activity = self.browse(cr, uid, act_id)
|
||||
workitem = self.pool.get('marketing.campaign.workitem').browse(cr, uid, wi_id)
|
||||
workitem_obj = self.pool.get('marketing.campaign.workitem')
|
||||
workitem = workitem_obj.browse(cr, uid, wi_id)
|
||||
if activity.type == 'paper' :
|
||||
service = netsvc.LocalService('report.%s'%activity.report_id.report_name)
|
||||
(report_data, format) = service.create(cr, uid, [activity.report_id.id], {}, {})
|
||||
@@ -251,7 +262,36 @@ class marketing_campaign_activity(osv.osv): #{{{
|
||||
'file_type': format
|
||||
}
|
||||
self.pool.get('ir.attachment').create(cr, uid, attach_vals)
|
||||
# elif activity.type == 'email' :
|
||||
elif activity.type == 'email' :
|
||||
context = {}
|
||||
template = activity.email_template_id
|
||||
accounts = template.enforce_from_account
|
||||
if not template.enforce_from_account:
|
||||
return {'error_msg' : "There is no account defined for the email"}
|
||||
if not workitem.partner_id.email:
|
||||
return {'error_msg' : "There is no email defined for the partner"}
|
||||
vals = {
|
||||
'pem_from': tools.ustr(accounts.name) + "<" + tools.ustr(accounts.email_id) + ">",
|
||||
'pem_to': workitem.partner_id.email,
|
||||
'pem_subject': template.def_subject,
|
||||
'pem_body_text': template.def_body_text,
|
||||
'pem_body_html': template.def_body_html,
|
||||
'pem_account_id':accounts.id,
|
||||
'state':'na',
|
||||
'mail_type':'multipart/alternative' #Options:'multipart/mixed','multipart/alternative','text/plain','text/html'
|
||||
}
|
||||
# if accounts.use_sign:
|
||||
# signature = self.pool.get('res.users').read(cr, uid, uid, ['signature'], context)['signature']
|
||||
# if signature:
|
||||
# vals['pem_body_text'] = tools.ustr(vals['pem_body_text'] or '') + signature
|
||||
# vals['pem_body_html'] = tools.ustr(vals['pem_body_html'] or '') + signature
|
||||
|
||||
#Create partly the mail and later update attachments
|
||||
mail_id = self.pool.get('poweremail.mailbox').create(cr, uid, vals, context)
|
||||
elif activity.type == 'action' :
|
||||
server_obj = self.pool.get('ir.actions.server')
|
||||
server_obj.run(cr, uid, [activity.server_action_id.id], context)
|
||||
#???
|
||||
|
||||
return True
|
||||
marketing_campaign_activity()#}}}
|
||||
@@ -259,6 +299,7 @@ marketing_campaign_activity()#}}}
|
||||
class marketing_campaign_transition(osv.osv): #{{{
|
||||
_name = "marketing.campaign.transition"
|
||||
_description = "Campaign Transition"
|
||||
_rec_name = "interval_type"
|
||||
|
||||
_columns = {
|
||||
'activity_from_id': fields.many2one('marketing.campaign.activity',
|
||||
@@ -297,7 +338,9 @@ class marketing_campaign_workitem(osv.osv): #{{{
|
||||
'partner_id': fields.many2one('res.partner', 'Partner',required=True),
|
||||
'state': fields.selection([('todo', 'ToDo'), ('inprogress', 'In Progress'),
|
||||
('exception', 'Exception'), ('done', 'Done'),
|
||||
('cancelled', 'Cancelled')], 'State')
|
||||
('cancelled', 'Cancelled')], 'State'),
|
||||
|
||||
'error_msg' : fields.text('Error Message')
|
||||
}
|
||||
_defaults = {
|
||||
'state': lambda *a: 'draft',
|
||||
@@ -334,15 +377,17 @@ class marketing_campaign_workitem(osv.osv): #{{{
|
||||
'object': wi.activity_id,
|
||||
'transition' : wi.activity_id.to_ids
|
||||
}
|
||||
val = {}
|
||||
exec wi.activity_id.condition.replace('\r','') in \
|
||||
eval_context, val
|
||||
if 'action' in val and val['action']:
|
||||
expr = eval(str(wi.activity_id.condition), cxt)
|
||||
if expr:
|
||||
try :
|
||||
self.pool.get('marketing.campaign.activity').process(cr,
|
||||
uid, wi.activity_id.id, wi.id, context)
|
||||
self.write(cr, uid, wi.id, {'state':'done'})
|
||||
self.process_chain(cr, uid, wi.id, context)
|
||||
res = self.pool.get('marketing.campaign.activity').process(
|
||||
cr, uid, wi.activity_id.id, wi.id, context)
|
||||
if res :
|
||||
self.write(cr, uid, wi.id, {'state':'done'})
|
||||
self.process_chain(cr, uid, wi.id, context)
|
||||
else :
|
||||
self.write(cr, uid, wi.id, {'state':'exception',
|
||||
'error_msg' : res['error_msg']})
|
||||
except Exception,e:
|
||||
self.write(cr, uid, wi.id, {'state':'exception'})
|
||||
else :
|
||||
@@ -357,5 +402,28 @@ class marketing_campaign_workitem(osv.osv): #{{{
|
||||
self.process(cr, uid, workitem_ids, context)
|
||||
|
||||
marketing_campaign_workitem() #}}}
|
||||
|
||||
class poweremail_templates(osv.osv):
|
||||
_inherit = "poweremail.templates"
|
||||
|
||||
_defaults = {
|
||||
'object_name' : lambda obj, cr, uid, context : context.get('object_id',False),
|
||||
}
|
||||
poweremail_templates()
|
||||
|
||||
class report_xml(osv.osv):
|
||||
|
||||
_inherit = 'ir.actions.report.xml'
|
||||
|
||||
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
|
||||
if not context :
|
||||
context = {}
|
||||
if context and 'object_id' in context and context['object_id']:
|
||||
model = self.pool.get('ir.model').browse(cr, uid,
|
||||
context['object_id']).model
|
||||
args.append(('model','=',model))
|
||||
return super(report_xml, self).search(cr, uid, args, offset, limit, order, context, count)
|
||||
|
||||
report_xml()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -20,19 +20,20 @@
|
||||
<field name="mode"/>
|
||||
<field name="fixed_cost"/>
|
||||
</group>
|
||||
<field name="activity_ids" nolabel = "1" colspan="4">
|
||||
<field name="activity_ids" nolabel = "1" colspan="4" default_get="{'object_id':object_id}">
|
||||
<form string="Activities">
|
||||
<field name="name" select="1" />
|
||||
<field name="object_id" readonly="True"/>
|
||||
<field name="start"/>
|
||||
<field name="object_id" readonly="True"/>
|
||||
<field name="variable_cost" select="1"/>
|
||||
<field name="start"/>
|
||||
<field name="condition" colspan="4"/>
|
||||
<field name="variable_cost" select="1"/>
|
||||
<field name="type"/>
|
||||
<newline/>
|
||||
<field name="type" colspan="4"/>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','email')]}" >
|
||||
<field name="email_template_id" attrs="{'required':[('type','=','email')]}" />
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','paper')]}" >
|
||||
<field name="report_id" attrs="{'required':[('type','=','paper')]}" />
|
||||
<field name="report_id" attrs="{'required':[('type','=','paper')]}"/>
|
||||
<field name="report_directory_id" attrs="{'required':[('type','=','paper')]}" />
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','action')]}" >
|
||||
@@ -42,14 +43,34 @@
|
||||
<field name="subcampaign_id" attrs="{'required':[('type','=','subcampaign')]}" />
|
||||
<field name="subcampaign_segment_id" attrs="{'required':[('type','=','subcampaign')]}" />
|
||||
</group>
|
||||
<field name="to_ids" nolabel="1" colspan="4" mode="tree" default_get="{'type_id':'activity_from_id','activity_id':active_id or False}">
|
||||
<tree string="All Transitions" editable="bottom">
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="to_ids" nolabel="1" colspan="4" mode="tree" default_get="{'type_id':'activity_from_id','activity_id':active_id or False}">
|
||||
<form string="Out Transitions" >
|
||||
<field name="activity_from_id" readonly="True"/>
|
||||
<field name="activity_to_id"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</form>
|
||||
<tree string="Out Transitions" editable="bottom">
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="from_ids" nolabel="1" colspan="4" mode="tree" default_get="{'type_id':'activity_to_id','activity_id':active_id or False}">
|
||||
<form string="In Transitions" >
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id" readonly="True"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</form>
|
||||
<tree string="In Transitions" editable="bottom">
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</tree>
|
||||
</field>
|
||||
</form>
|
||||
<tree string="All Activities">
|
||||
<field name="name" select="1"/>
|
||||
@@ -67,9 +88,9 @@
|
||||
<separator string="Status" colspan="4" />
|
||||
<group col="10" colspan="4">
|
||||
<field name="state" readonly="1" select="2" nolabel="1"/>
|
||||
<button name="state_running_set" string="Run" states="draft" />
|
||||
<button name="state_done_set" string="Done" states="running" />
|
||||
<button name="state_cancel_set" string="Cancelled" states="running"/>
|
||||
<button name="state_running_set" string="Run" states="draft" icon="gtk-apply"/>
|
||||
<button name="state_done_set" string="Done" states="running" icon="gtk-ok"/>
|
||||
<button name="state_cancel_set" string="Cancelled" states="running" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
@@ -96,13 +117,13 @@
|
||||
<field name="type">diagram</field>
|
||||
<field name="arch" type="xml">
|
||||
<diagram string="Campaign Editor">
|
||||
<node object="marketing.campaign.activity" shape="rectangle:type!='subcampaign'" bgcolor="gray:start==True">
|
||||
<node object="marketing.campaign.activity" shape="rectangle:type=='subcampaign'" bgcolor="gray:start==True">
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
<field name="start" invisible="1"/>
|
||||
<field name="condition"/>
|
||||
</node>
|
||||
<arrow object="marketing.campaign.transition" source="activity_from_id" destination="activity_to_id">
|
||||
<arrow object="marketing.campaign.transition" source="activity_from_id" destination="activity_to_id" label="['interval_type']">
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id"/>
|
||||
<field name="interval_nbr"/>
|
||||
@@ -112,6 +133,29 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_marketing_campaign_search" model="ir.ui.view">
|
||||
<field name="name">marketing.campaign.search</field>
|
||||
<field name="model">marketing.campaign</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Campaigns">
|
||||
<filter icon="terp-project" string="Draft" name = "draft" domain="[('state','=','draft')]"/>
|
||||
<filter icon="terp-project" string="Running" domain="[('state','=','running')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-project" string="Test Mode" name = "test" domain="[('mode','=','test')]"/>
|
||||
<filter icon="terp-project" string="Manual Mode" domain="[('mode','=','manual')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="object_id" select="1"/>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Object" name="Object" icon="terp-project" context="{'group_by':'object_id'}" />
|
||||
<filter string="State" name="State" icon="terp-project" context="{'group_by':'state'}" />
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_marketing_campaign_form">
|
||||
<field name="name">All Campaigns</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
@@ -119,9 +163,12 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,diagram</field>
|
||||
<field name="view_id" ref="view_marketing_campaign_tree"/>
|
||||
<field name="context">{'group_by': [], 'search_default_draft': 1, 'search_default_test': 1}</field>
|
||||
<field name="search_view_id" ref="view_marketing_campaign_search"/>
|
||||
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_marketing_campaign_form" parent="menu_marketing" action="action_marketing_campaign_form" sequence="20" />
|
||||
<menuitem id="menu_marketing_campaign_form" parent="menu_marketing" action="action_marketing_campaign_form" sequence="10" />
|
||||
|
||||
<!--
|
||||
======================
|
||||
@@ -143,7 +190,7 @@
|
||||
<newline/>
|
||||
<field name="ir_filter_id" select="1"/>
|
||||
<newline/>
|
||||
<field name="date_run" attrs="{'readonly':[('date_run','!=',False)]}"/>
|
||||
<field name="date_run" attrs="{'readonly':[('date_run','!=',False),('state','=','running')]}"/>
|
||||
<field name="date_done"/>
|
||||
<separator string="Synchronization" colspan="4" />
|
||||
<field name="sync_last_date"/>
|
||||
@@ -152,9 +199,9 @@
|
||||
<separator string="Status" colspan="4" />
|
||||
<group col="10" colspan="4">
|
||||
<field name="state" readonly="1" select="2" nolabel="1"/>
|
||||
<button name="state_running_set" string="Run" states="draft" />
|
||||
<button name="state_done_set" string="Done" states="running" />
|
||||
<button name="state_cancel_set" string="Cancelled" states="running" />
|
||||
<button name="state_running_set" string="Run" states="draft" icon="gtk-apply"/>
|
||||
<button name="state_done_set" string="Done" states="running" icon="gtk-ok"/>
|
||||
<button name="state_cancel_set" string="Cancelled" states="running" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
@@ -178,6 +225,32 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_marketing_campaign_segment_search" model="ir.ui.view">
|
||||
<field name="name">marketing.campaign.segment.search</field>
|
||||
<field name="model">marketing.campaign.segment</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Segments">
|
||||
<filter icon="terp-project" string="Draft" name="draft" domain="[('state','=','draft')]"/>
|
||||
<filter icon="terp-project" string="Running" domain="[('state','=','running')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-project" string="Create Date" name="create_date" domain="[('sync_mode','=','create_date')]"/>
|
||||
<filter icon="terp-project" string="Write Date" domain="[('sync_mode','=','write_date')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="object_id" select="1"/>
|
||||
<field name="campaign_id" select="1"/>
|
||||
<field name="date_run" select="1"/>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Campaign" name="Campaign" icon="terp-project" context="{'group_by':'campaign_id'}" />
|
||||
<filter string="Date Run" name="Date Run" icon="terp-project" context="{'group_by':'date_run'}" />
|
||||
<filter string="State" name="State" icon="terp-project" context="{'group_by':'state'}" />
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
+
|
||||
<record model="ir.actions.act_window" id="action_marketing_campaign_segment_form">
|
||||
<field name="name">All Segments</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
@@ -185,9 +258,11 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_marketing_campaign_segment_tree"/>
|
||||
<field name="search_view_id" ref="view_marketing_campaign_segment_search"/>
|
||||
<field name="context">{'group_by': [], 'search_default_draft': 1, 'search_default_create_date': 1}</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_marketing_campaign_segment_form" parent="menu_marketing" action="action_marketing_campaign_segment_form" sequence="10" />
|
||||
<menuitem id="menu_marketing_campaign_segment_form" parent="menu_marketing" action="action_marketing_campaign_segment_form" sequence="20" />
|
||||
|
||||
<!--
|
||||
======================
|
||||
@@ -204,8 +279,7 @@
|
||||
<field name="name" select="1" />
|
||||
<field name="start"/>
|
||||
<field name="campaign_id" select="1"/>
|
||||
<field name="object_id" readonly="True"/>
|
||||
<field name="condition" colspan="4"/>
|
||||
<field name="object_id" readonly="True"/>
|
||||
<newline/>
|
||||
<field name="type"/>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','email')]}" >
|
||||
@@ -222,14 +296,34 @@
|
||||
<field name="subcampaign_id" attrs="{'required':[('type','=','subcampaign')]}" />
|
||||
<field name="subcampaign_segment_id" attrs="{'required':[('type','=','subcampaign')]}" />
|
||||
</group>
|
||||
<field name="to_ids" nolabel="1" colspan="4" mode="tree,form">
|
||||
<tree string="All Transitions" editable="bottom">
|
||||
<field name="activity_from_id" />
|
||||
<field name="activity_to_id" />
|
||||
<field name="interval_nbr" />
|
||||
<field name="interval_type"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="to_ids" nolabel="1" colspan="4" mode="tree" default_get="{'type_id':'activity_from_id','activity_id':active_id or False}">
|
||||
<form string="Out Transitions" >
|
||||
<field name="activity_from_id" readonly="True"/>
|
||||
<field name="activity_to_id"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</form>
|
||||
<tree string="Out Transitions" editable="bottom">
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="from_ids" nolabel="1" colspan="4" mode="tree" default_get="{'type_id':'activity_to_id','activity_id':active_id or False}">
|
||||
<form string="In Transitions" >
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id" readonly="True"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</form>
|
||||
<tree string="In Transitions" editable="bottom">
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</tree>
|
||||
</field>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
@@ -306,6 +400,32 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_marketing_campaign_workitem_search" model="ir.ui.view">
|
||||
<field name="name">marketing.campaign.workitem.search</field>
|
||||
<field name="model">marketing.campaign.workitem</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Workitems">
|
||||
<filter icon="terp-marketing" string="To Do" name = "todo" domain="[('state','=','todo')]"/>
|
||||
<filter icon="terp-marketing" string="In Progress" domain="[('state','=','inprogress')]"/>
|
||||
<filter icon="terp-marketing" string="Exception" domain="[('state','=','exception')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="segment_id" select="1"/>
|
||||
<field name="object_id" select="1"/>
|
||||
<field name="partner_id" select="1"/>
|
||||
<field name="date" select="1"/>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Segment" name="Segment" icon="terp-marketing" context="{'group_by':'segment_id'}" />
|
||||
<filter string="Activity" name="Activity" icon="terp-marketing" context="{'group_by':'activity_id'}" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Date" name="Date" icon="terp-marketing" context="{'group_by':'date'}" />
|
||||
<filter string="State" name="State" icon="terp-marketing" context="{'group_by':'state'}" />
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_marketing_campaign_workitem">
|
||||
<field name="name">All Workitems</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
@@ -313,6 +433,8 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_marketing_campaign_workitem_tree"/>
|
||||
<field name="search_view_id" ref="view_marketing_campaign_workitem_search"/>
|
||||
<field name="context">{'group_by': [], 'search_default_todo': 1}</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_action_marketing_campaign_workitem" parent="menu_marketing" action="action_marketing_campaign_workitem" sequence="30" groups="base.group_extended"/>
|
||||
|
||||
+38
-39
@@ -117,7 +117,7 @@ class mrp_bom(osv.osv):
|
||||
"""
|
||||
Defines bills of material for a product.
|
||||
"""
|
||||
_name = 'mrp.bom'
|
||||
_name = 'mrp.bom'
|
||||
_description = 'Bill of Material'
|
||||
|
||||
def _child_compute(self, cr, uid, ids, name, arg, context={}):
|
||||
@@ -154,13 +154,13 @@ class mrp_bom(osv.osv):
|
||||
result[bom.id] += map(lambda x: x.id, bom2.bom_lines)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def _compute_type(self, cr, uid, ids, field_name, arg, context):
|
||||
""" Sets particular method for the selected bom type.
|
||||
@param field_name: Name of the field
|
||||
@param arg: User defined argument
|
||||
@return: Dictionary of values
|
||||
"""
|
||||
"""
|
||||
res = dict(map(lambda x: (x,''), ids))
|
||||
for line in self.browse(cr, uid, ids):
|
||||
if line.type == 'phantom' and not line.bom_id:
|
||||
@@ -174,10 +174,10 @@ class mrp_bom(osv.osv):
|
||||
else:
|
||||
res[line.id] = 'order'
|
||||
return res
|
||||
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'code': fields.char('Code', size=16),
|
||||
'code': fields.char('Reference', size=16),
|
||||
'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the bills of material without removing it."),
|
||||
'type': fields.selection([('normal','Normal BoM'),('phantom','Sets / Phantom')], 'BoM Type', required=True,
|
||||
help= "If a sub-product is used in several products, it can be useful to create its own BoM."\
|
||||
@@ -212,7 +212,7 @@ class mrp_bom(osv.osv):
|
||||
'product_rounding': lambda *a: 1.0,
|
||||
'type': lambda *a: 'normal',
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'mrp.bom', context=c),
|
||||
'multi_level_bom': lambda *a: 0,
|
||||
'multi_level_bom': lambda *a: 0,
|
||||
}
|
||||
_order = "sequence"
|
||||
_sql_constraints = [
|
||||
@@ -262,7 +262,6 @@ class mrp_bom(osv.osv):
|
||||
else:
|
||||
self.write(cr, uid, line_ids, {'multi_level_bom': multi_level_bom})
|
||||
return {'value': {}}
|
||||
|
||||
def _bom_find(self, cr, uid, product_id, product_uom, properties=[]):
|
||||
""" Finds BoM for particular product and product uom.
|
||||
@param product_id: Selected product.
|
||||
@@ -412,7 +411,7 @@ class one2many_domain(fields.one2many):
|
||||
def set(self, cr, obj, id, field, values, user=None, context=None):
|
||||
if not values:
|
||||
return
|
||||
return super(one2many_domain, self).set(cr, obj, id, field, values,
|
||||
return super(one2many_domain, self).set(cr, obj, id, field, values,
|
||||
user=user, context=context)
|
||||
|
||||
def get(self, cr, obj, ids, name, user=None, offset=0, context=None, values=None):
|
||||
@@ -439,7 +438,7 @@ class mrp_production(osv.osv):
|
||||
def _production_calc(self, cr, uid, ids, prop, unknow_none, context={}):
|
||||
""" Calculates total hours and total no. of cycles for a production order.
|
||||
@param prop: Name of field.
|
||||
@param unknow_none:
|
||||
@param unknow_none:
|
||||
@return: Dictionary of values.
|
||||
"""
|
||||
result = {}
|
||||
@@ -456,7 +455,7 @@ class mrp_production(osv.osv):
|
||||
def _production_date_end(self, cr, uid, ids, prop, unknow_none, context={}):
|
||||
""" Finds production end date.
|
||||
@param prop: Name of field.
|
||||
@param unknow_none:
|
||||
@param unknow_none:
|
||||
@return: Dictionary of values.
|
||||
"""
|
||||
result = {}
|
||||
@@ -467,7 +466,7 @@ class mrp_production(osv.osv):
|
||||
def _production_date(self, cr, uid, ids, prop, unknow_none, context={}):
|
||||
""" Finds production planned date.
|
||||
@param prop: Name of field.
|
||||
@param unknow_none:
|
||||
@param unknow_none:
|
||||
@return: Dictionary of values.
|
||||
"""
|
||||
result = {}
|
||||
@@ -540,7 +539,7 @@ class mrp_production(osv.osv):
|
||||
'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'mrp.production', context=c),
|
||||
}
|
||||
_order = 'date_planned asc, priority desc';
|
||||
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
productions = self.read(cr, uid, ids, ['state'])
|
||||
unlink_ids = []
|
||||
@@ -600,7 +599,7 @@ class mrp_production(osv.osv):
|
||||
|
||||
def action_picking_except(self, cr, uid, ids):
|
||||
""" Changes the state to Exception.
|
||||
@return: True
|
||||
@return: True
|
||||
"""
|
||||
self.write(cr, uid, ids, {'state': 'picking_except'})
|
||||
return True
|
||||
@@ -686,12 +685,12 @@ class mrp_production(osv.osv):
|
||||
@return: True or False
|
||||
"""
|
||||
res = True
|
||||
for production in self.browse(cr, uid, ids):
|
||||
if production.move_lines:
|
||||
for production in self.browse(cr, uid, ids):
|
||||
if production.move_lines:
|
||||
res = False
|
||||
|
||||
if production.move_created_ids:
|
||||
res = False
|
||||
if production.move_created_ids:
|
||||
res = False
|
||||
return res
|
||||
|
||||
def action_produce(self, cr, uid, production_id, production_qty, production_mode, context=None):
|
||||
@@ -703,15 +702,15 @@ class mrp_production(osv.osv):
|
||||
@param production_qty: specify qty to produce
|
||||
@param production_mode: specify production mode (consume/consume&produce).
|
||||
@return: True
|
||||
"""
|
||||
"""
|
||||
stock_mov_obj = self.pool.get('stock.move')
|
||||
production = self.browse(cr, uid, production_id)
|
||||
|
||||
|
||||
raw_product_todo = []
|
||||
final_product_todo = []
|
||||
|
||||
final_product_todo = []
|
||||
|
||||
if production_mode in ['consume','consume_produce']:
|
||||
# To consume remaining qty of raw materials
|
||||
# To consume remaining qty of raw materials
|
||||
consumed_products = {}
|
||||
produced_qty = 0
|
||||
for consumed_product in production.move_lines2:
|
||||
@@ -720,18 +719,18 @@ class mrp_production(osv.osv):
|
||||
if not consumed_products.get(consumed_product.product_id.id, False):
|
||||
consumed_products[consumed_product.product_id.id] = 0
|
||||
consumed_products[consumed_product.product_id.id] += consumed_product.product_qty
|
||||
|
||||
|
||||
for produced_product in production.move_created_ids2:
|
||||
if produced_product.scraped:
|
||||
continue
|
||||
produced_qty += produced_product.product_qty
|
||||
|
||||
for raw_product in production.move_lines:
|
||||
consumed_qty = consumed_products.get(raw_product.product_id.id, 0)
|
||||
consumed_qty -= produced_qty
|
||||
rest_qty = production_qty - consumed_qty
|
||||
for raw_product in production.move_lines:
|
||||
consumed_qty = consumed_products.get(raw_product.product_id.id, 0)
|
||||
consumed_qty -= produced_qty
|
||||
rest_qty = production_qty - consumed_qty
|
||||
if rest_qty > production.product_qty:
|
||||
rest_qty = production.product_qty
|
||||
rest_qty = production.product_qty
|
||||
if rest_qty > 0:
|
||||
stock_mov_obj.action_consume(cr, uid, [raw_product.id], rest_qty, production.location_src_id.id, context=context)
|
||||
|
||||
@@ -748,17 +747,17 @@ class mrp_production(osv.osv):
|
||||
produced_products[produced_product.product_id.id] = 0
|
||||
produced_products[produced_product.product_id.id] += produced_product.product_qty
|
||||
|
||||
for produce_product in production.move_created_ids:
|
||||
produced_qty = produced_products.get(produce_product.product_id.id, 0)
|
||||
for produce_product in production.move_created_ids:
|
||||
produced_qty = produced_products.get(produce_product.product_id.id, 0)
|
||||
rest_qty = production.product_qty - produced_qty
|
||||
if rest_qty <= production_qty:
|
||||
production_qty = rest_qty
|
||||
production_qty = rest_qty
|
||||
if rest_qty > 0 :
|
||||
stock_mov_obj.action_consume(cr, uid, [produce_product.id], production_qty, production.location_dest_id.id, context=context)
|
||||
|
||||
|
||||
for raw_product in production.move_lines2:
|
||||
new_parent_ids = []
|
||||
stock_mov_obj.action_consume(cr, uid, [produce_product.id], production_qty, production.location_dest_id.id, context=context)
|
||||
|
||||
|
||||
for raw_product in production.move_lines2:
|
||||
new_parent_ids = []
|
||||
parent_move_ids = [x.id for x in raw_product.move_history_ids]
|
||||
for final_product in production.move_created_ids2:
|
||||
if final_product.id not in parent_move_ids:
|
||||
@@ -809,9 +808,9 @@ class mrp_production(osv.osv):
|
||||
|
||||
def action_in_production(self, cr, uid, ids):
|
||||
""" Changes state to In Production and writes starting date.
|
||||
@return: True
|
||||
@return: True
|
||||
"""
|
||||
move_ids = []
|
||||
move_ids = []
|
||||
self.write(cr, uid, ids, {'state': 'in_production', 'date_start': time.strftime('%Y-%m-%d %H:%M:%S')})
|
||||
return True
|
||||
|
||||
@@ -953,7 +952,7 @@ class mrp_production_workcenter_line(osv.osv):
|
||||
_name = 'mrp.production.workcenter.line'
|
||||
_description = 'Work Order'
|
||||
_order = 'sequence'
|
||||
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Work Order', size=64, required=True),
|
||||
'workcenter_id': fields.many2one('mrp.workcenter', 'Work Center', required=True),
|
||||
|
||||
+53
-29
@@ -7,7 +7,7 @@
|
||||
<menuitem id="menu_mrp_reordering" name="Automatic Procurements" parent="stock.menu_stock_root" sequence="4"/>
|
||||
<menuitem id="menu_mrp_manufacturing" name="Manufacturing" parent="base.menu_mrp_root" sequence="1"/>
|
||||
|
||||
<menuitem name="Control" id="menu_mrp_control" parent="base.menu_mrp_root" sequence="3" />
|
||||
<!-- <menuitem name="Control" id="menu_mrp_control" parent="base.menu_mrp_root" sequence="3" />-->
|
||||
<menuitem name="Master Data"
|
||||
id="menu_mrp_bom"
|
||||
parent="base.menu_mrp_root"
|
||||
@@ -23,9 +23,10 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Properties categories">
|
||||
<separator colspan="4" string="General Information"/>
|
||||
<field colspan="4" name="name" select="1"/>
|
||||
<field colspan="4" name="description"/>
|
||||
<separator colspan="4" string="Property Group"/>
|
||||
<field colspan="4" name="name" select="1" nolabel="1"/>
|
||||
<separator colspan="4" string="Description"/>
|
||||
<field colspan="4" name="description" nolabel="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
@@ -122,7 +123,7 @@
|
||||
<notebook colspan="4">
|
||||
<page string="Work Center">
|
||||
<field name="resource_type"/>
|
||||
<field name="calendar_id"/>
|
||||
<field name="calendar_id" widget="selection"/>
|
||||
<separator colspan="4" string="Description"/>
|
||||
<field colspan="4" name="note" nolabel="1"/>
|
||||
<separator colspan="4" string="Capacity Information"/>
|
||||
@@ -245,21 +246,21 @@
|
||||
<group colspan="4" col="6">
|
||||
<field name="product_id" on_change="onchange_product_id(product_id, name)" select="1"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1" groups="base.group_extended"/>
|
||||
<field name="code" select="1" string="Reference" groups="base.group_extended"/>
|
||||
<newline/>
|
||||
<field name="product_uom"/>
|
||||
<field name="product_uom" widget="selection"/>
|
||||
<field name="product_qty"/>
|
||||
<field name="routing_id" groups="base.group_extended" select="1"/>
|
||||
<field name="routing_id" widget="selection" groups="base.group_extended"/>
|
||||
<newline/>
|
||||
<field name="product_uos" groups="product.group_uos"/>
|
||||
<field name="product_uos_qty" groups="product.group_uos"/>
|
||||
<field name="product_uos" groups="product.group_uos,base.group_extended" widget="selection"/>
|
||||
<field name="product_uos_qty" groups="product.group_uos,base.group_extended" />
|
||||
<newline/>
|
||||
<field name="multi_level_bom" on_change="onchange_multi_level_bom(multi_level_bom)"/>
|
||||
<field name="type" groups="base.group_extended"/>
|
||||
<field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
<notebook colspan="4" >
|
||||
<page string="General Information" attrs="{'invisible': [('bom_id','!=',False),('multi_level_bom','=',False)]}">
|
||||
<page string="Components" attrs="{'invisible': [('bom_id','!=',False),('multi_level_bom','=',False)]}">
|
||||
<field colspan="4" name="bom_lines" nolabel="1" widget="one2many_list" />
|
||||
</page>
|
||||
<page string="Revisions" groups="base.group_extended" attrs="{'invisible': [('bom_id','!=',False),('multi_level_bom','=',False)]}">
|
||||
@@ -274,7 +275,7 @@
|
||||
<field name="date_start"/>
|
||||
<field name="date_stop"/>
|
||||
<field name="product_rounding"/>
|
||||
<field name="product_efficiency"/>
|
||||
<field name="product_efficiency" groups="base.group_extended"/>
|
||||
<field colspan="4" name="property_ids" nolabel="2" groups="base.group_extended"/>
|
||||
</page>
|
||||
</notebook>
|
||||
@@ -282,6 +283,27 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_mrp_bom_filter" model="ir.ui.view">
|
||||
<field name="name">mrp.bom.select</field>
|
||||
<field name="model">mrp.bom</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Bill Of Material">
|
||||
<group col='4' colspan='4'>
|
||||
<field name="name"/>
|
||||
<field name="code" string="Reference"/>
|
||||
<field name="product_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By" colspan="4" col="8" groups="base.group_extended">
|
||||
<filter string="Product" icon="terp-mrp" domain="[]" context="{'group_by':'product_id'}"/>
|
||||
<filter string="Routing" icon="terp-mrp" domain="[]" context="{'group_by':'routing_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mrp_bom_tree_view" model="ir.ui.view">
|
||||
<field name="name">mrp.bom.tree</field>
|
||||
<field name="model">mrp.bom</field>
|
||||
@@ -308,7 +330,7 @@
|
||||
<field name="res_model">mrp.bom</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="domain">[('bom_id','=',False)]</field>
|
||||
<field name="view_id" ref="mrp_bom_tree_view"/>
|
||||
<field name="search_view_id" ref="view_mrp_bom_filter"/>
|
||||
</record>
|
||||
<record id="mrp_bom_form_action2" model="ir.actions.act_window">
|
||||
<field name="name">Bill of Material Components</field>
|
||||
@@ -386,8 +408,8 @@
|
||||
|
||||
<menuitem action="mrp_procurement.mrp_procurement_action" id="menu_mrp_procurement_action"
|
||||
parent="mrp.menu_mrp_manufacturing" sequence="2" />
|
||||
<menuitem action="mrp_procurement.mrp_procurement_action5" id="menu_mrp_procurement_exception_action"
|
||||
parent="mrp.menu_mrp_control" sequence="1" />
|
||||
<!-- <menuitem action="mrp_procurement.mrp_procurement_action5" id="menu_mrp_procurement_exception_action"-->
|
||||
<!-- parent="mrp.menu_mrp_control" sequence="1" />-->
|
||||
|
||||
<menuitem id="menu_mrp_scheduler" name="Schedulers" parent="base.menu_mrp_root" sequence="4"/>
|
||||
<menuitem action="mrp_procurement.action_compute_schedulers" id="mrp_Sched_all" parent="mrp.menu_mrp_scheduler" sequence="90"/>
|
||||
@@ -406,7 +428,7 @@
|
||||
<field name="model">mrp.production</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="red:date_planned<current_date and state not in ('done','cancel');black:date_planned>=current_date and state in ('done','cancel') " string="Manufacturing Orders">
|
||||
<tree colors="blue:state in ('confirmed');red:date_planned<current_date and state not in ('done','cancel');black:date_planned>=current_date;gray:state in ('done','cancel') " string="Manufacturing Orders">
|
||||
<field name="name"/>
|
||||
<field name="product_id"/>
|
||||
<field name="product_qty" sum="Total Qty"/>
|
||||
@@ -477,25 +499,25 @@
|
||||
<field name="product_id" on_change="product_id_change(product_id)"/>
|
||||
<field name="product_qty"/>
|
||||
<group colspan="2" col="3">
|
||||
<field name="product_uom"/>
|
||||
<field name="product_uom" widget="selection"/>
|
||||
<button type="action"
|
||||
name="%(mrp.action_change_production_qty)d"
|
||||
string="Change Qty" states="ready,confirmed" />
|
||||
</group>
|
||||
<label string="" colspan="2"/>
|
||||
<field name="product_uos_qty" groups="product.group_uos"/>
|
||||
<group colspan="2" col="3" groups="product.group_uos">
|
||||
<field name="product_uos"/>
|
||||
<field name="product_uos_qty" groups="product.group_uos,base.group_extended"/>
|
||||
<group colspan="2" col="3" groups="product.group_uos,base.group_extended">
|
||||
<field name="product_uos" widget="selection"/>
|
||||
<label string=""/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
<notebook colspan="4">
|
||||
<page string="Consumed Products">
|
||||
<field name="bom_id" domain="[('product_id','=',product_id),('bom_id','=',False)]" on_change="bom_id_change(bom_id)"/>
|
||||
<field name="routing_id" groups="base.group_extended"/>
|
||||
<field name="location_src_id" domain="[('usage','=','internal')]" on_change="location_id_change(location_src_id,location_dest_id)"/>
|
||||
<field name="location_dest_id" domain="[('usage','=','internal')]"/>
|
||||
<field name="bom_id" domain="[('product_id','=',product_id),('bom_id','=',False)]" on_change="bom_id_change(bom_id)" />
|
||||
<field name="routing_id" groups="base.group_extended" select="1" widget="selection"/>
|
||||
<field name="location_src_id" domain="[('usage','=','internal')]" widget="selection" on_change="location_id_change(location_src_id,location_dest_id)"/>
|
||||
<field name="location_dest_id" domain="[('usage','=','internal')]" widget="selection"/>
|
||||
<separator string="" colspan="4"/>
|
||||
|
||||
<field colspan="2" name="move_lines" nolabel="1" widget="one2many_list"
|
||||
@@ -636,8 +658,9 @@
|
||||
<filter icon="terp-mrp" string="Draft"
|
||||
domain="[('state','=','draft')]"
|
||||
help="Non confirmed manufacturing orders"/>
|
||||
<filter icon="terp-mrp" name="current" string="Current"
|
||||
domain="[('state','in',('confirmed','ready'))]"
|
||||
<filter icon="terp-mrp" string="Current" name="Current"
|
||||
default="1"
|
||||
domain="[('state','in',('confirmed','ready','exception'))]"
|
||||
help="Manufacturing Orders which are waiting for raw materials"/>
|
||||
<filter icon="terp-mrp" string="Ready"
|
||||
domain="[('state','=','ready')]"
|
||||
@@ -676,6 +699,7 @@
|
||||
<field name="context">{'search_default_current':1}</field>
|
||||
<field name="view_id" eval="False"/>
|
||||
<field name="search_view_id" ref="view_mrp_production_filter"/>
|
||||
<field name="context">{'search_default_Current':1}</field>
|
||||
</record>
|
||||
<menuitem action="mrp_production_action" id="menu_mrp_production_action" parent="menu_mrp_manufacturing" sequence="1"/>
|
||||
|
||||
@@ -778,8 +802,8 @@
|
||||
<field name="product_id"/>
|
||||
<field name="product_qty"/>
|
||||
<field name="product_uom"/>
|
||||
<field name="product_uos_qty" groups="product.group_uos"/>
|
||||
<field name="product_uos" groups="product.group_uos"/>
|
||||
<field name="product_uos_qty" groups="product.group_uos,base.group_extended"/>
|
||||
<field name="product_uos" groups="product.group_uos,base.group_extended"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -823,7 +847,7 @@
|
||||
groups="base.group_extended"
|
||||
sequence="2"/>
|
||||
<menuitem action="resource.action_resource_resource_tree" id="menu_view_resource_search_mrp" parent="menu_pm_resources_mrp" sequence="1"/>
|
||||
<menuitem action="resource.action_resource_calendar_form" id="menu_view_resource_calendar_search_mrp" parent="menu_pm_resources_mrp" sequence="1"/>
|
||||
<menuitem action="resource.action_resource_calendar_form" id="menu_view_resource_calendar_search_mrp" parent="menu_mrp_configuration" sequence="1"/>
|
||||
<menuitem action="resource.action_resource_calendar_leave_tree" id="menu_view_resource_calendar_leaves_search_mrp" parent="menu_pm_resources_mrp" sequence="1"/>
|
||||
|
||||
</data>
|
||||
|
||||
@@ -57,7 +57,22 @@
|
||||
<field name="date_planned"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Extended options..." colspan="10" col="12">
|
||||
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Source Location" icon="terp-mrp" context="{'group_by':'location_src_id'}"/>
|
||||
<filter string="Destination Location" icon="terp-mrp" context="{'group_by':'location_dest_id'}"/>
|
||||
<filter string="Picking" icon="terp-mrp" context="{'group_by':'picking_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Routing" icon="terp-mrp" context="{'group_by':'routing_id'}"/>
|
||||
<filter string="Product" name="Product" icon="terp-mrp" context="{'group_by':'product_id'}" />
|
||||
<filter string="State" icon="terp-mrp" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="BOM" icon="terp-mrp" context="{'group_by':'bom_id'}"/>
|
||||
<filter string="Month" icon="terp-mrp" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-mrp" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<filter icon="terp-mrp" string="Draft" domain="[('state','=','draft')]"/>
|
||||
<filter icon="terp-mrp" string="Picking Exception" domain="[('state','=','picking_except')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
@@ -76,22 +91,8 @@
|
||||
<separator orientation="vertical"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_finnished"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="6">
|
||||
<filter string="Source Location" icon="terp-mrp" context="{'group_by':'location_src_id'}"/>
|
||||
<filter string="Destination Location" icon="terp-mrp" context="{'group_by':'location_dest_id'}"/>
|
||||
<filter string="Picking" icon="terp-mrp" context="{'group_by':'picking_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Routing" icon="terp-mrp" context="{'group_by':'routing_id'}"/>
|
||||
<filter string="Product" name="Product" icon="terp-mrp" context="{'group_by':'product_id'}" />
|
||||
<filter string="State" icon="terp-mrp" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="BOM" icon="terp-mrp" context="{'group_by':'bom_id'}"/>
|
||||
<filter string="Month" icon="terp-mrp" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-mrp" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_report_mrp_production_order" model="ir.actions.act_window">
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
'process/mrp_operation_process.xml'
|
||||
],
|
||||
'demo_xml': ['mrp_operation_data.xml'],
|
||||
'test': ['test/mrp_operations.yml'],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0056233813133',
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
model="mrp.workcenter"
|
||||
name="mrp.wc.barcode"
|
||||
rml="mrp_operations/report/mrp_wc_barcode.rml"
|
||||
header="False"/>
|
||||
header="False" />
|
||||
|
||||
<report
|
||||
id="report_code_barcode"
|
||||
|
||||
@@ -71,12 +71,12 @@
|
||||
<separator string="Status" colspan="4"/>
|
||||
<group colspan="8" col="8">
|
||||
<field name="state"/>
|
||||
<button name="button_draft" string="Set Draft" states="cancel"/>
|
||||
<button name="button_start_working" string="Start" states="draft"/>
|
||||
<button name="button_resume" string="Resume" states="pause"/>
|
||||
<button name="button_cancel" string="Cancel" states="draft,startworking"/>
|
||||
<button name="button_pause" string="Pause" states="startworking"/>
|
||||
<button name="button_done" string="Finished" states="startworking"/>
|
||||
<button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert"/>
|
||||
<button name="button_start_working" string="Start" states="draft" icon="gtk-execute"/>
|
||||
<button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause"/>
|
||||
<button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-cancel"/>
|
||||
<button name="button_pause" string="Pause" states="startworking" icon="gtk-execute"/>
|
||||
<button name="button_done" string="Finished" states="startworking" icon="gtk-ok"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
@@ -84,6 +84,27 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_mrp_production_workcenter_form_view_filter" model="ir.ui.view">
|
||||
<field name="name">mrp.production.workcenter.line.select</field>
|
||||
<field name="model">mrp.production.workcenter.line</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Work Orders">
|
||||
<group col='6' colspan='4'>
|
||||
<field name="name"/>
|
||||
<field name="workcenter_id"/>
|
||||
<field name="production_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By" colspan="10" col="8" groups="base.group_extended">
|
||||
<filter string="Product" icon="terp-mrp" domain="[]" context="{'group_by':'product'}"/>
|
||||
<filter string="State" icon="terp-mrp" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Date" icon="terp-mrp" domain="[]" context="{'group_by':'date_planned'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="workcenter_line_calendar" model="ir.ui.view">
|
||||
<field name="name">mrp.production.workcenter.line.calendar</field>
|
||||
<field name="model">mrp.production.workcenter.line</field>
|
||||
@@ -121,6 +142,7 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,gantt,calendar,graph</field>
|
||||
<field name="domain">[('id','=',active_id)]</field>
|
||||
<field name="search_view_id" ref="view_mrp_production_workcenter_form_view_filter"/>
|
||||
</record>
|
||||
|
||||
<!-- Action for All Operations -->
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
-
|
||||
In order to test mrp_operations module in OpenERP I will put a Production order
|
||||
and check its effects on Work orders.
|
||||
-
|
||||
I create a production order.
|
||||
-
|
||||
!record {model: mrp.production, id: mrp_production_mo0}:
|
||||
company_id: base.main_company
|
||||
date_planned: '2010-05-25 11:17:34'
|
||||
location_dest_id: stock.stock_location_stock
|
||||
location_src_id: stock.stock_location_stock
|
||||
name: MO/00002
|
||||
product_id: product.product_product_pc1
|
||||
product_qty: 5.0
|
||||
product_uom: product.product_uom_unit
|
||||
product_uos_qty: 0.0
|
||||
-
|
||||
I am computing the data.
|
||||
-
|
||||
!python {model: mrp.production}: |
|
||||
self.action_compute(cr, uid, [ref("mrp_production_mo0")], {"lang": "en_US", "tz":
|
||||
False, "search_default_current": 1, "active_model": "ir.ui.menu", "active_ids":
|
||||
[ref("mrp.menu_mrp_production_action")], "active_id": ref("mrp.menu_mrp_production_action"),
|
||||
})
|
||||
-
|
||||
Now I confirm my production order.
|
||||
-
|
||||
!workflow {model: mrp.production, action: button_confirm, ref: mrp_production_mo0}
|
||||
-
|
||||
I check that there is one Work order generated related to my production order.
|
||||
-
|
||||
!python {model: mrp.production.workcenter.line}: |
|
||||
from tools.translate import _
|
||||
order_id = self.search(cr, uid, [('production_id','=', ref('mrp_production_mo0')),('state','=','draft')])
|
||||
assert order_id, _('No Work order!')
|
||||
-
|
||||
I am checking Procurement orders.
|
||||
-
|
||||
!python {model: mrp.procurement}: |
|
||||
from tools.translate import _
|
||||
proc_ids = self.search(cr, uid, [('state','=','confirmed')])
|
||||
assert proc_ids, _('No Procurements!')
|
||||
-
|
||||
The scheduler runs.
|
||||
-
|
||||
!function {model: mrp.procurement, name: run_scheduler}:
|
||||
- model: mrp.procurement
|
||||
search: "[('state','=','confirmed')]"
|
||||
-
|
||||
I am checking Internal picking.
|
||||
-
|
||||
!python {model: stock.picking}: |
|
||||
from tools.translate import _
|
||||
pick_ids = self.search(cr, uid, [('state','!=','done'),('type','=','internal')])
|
||||
assert pick_ids, _('No Internal Pickings!')
|
||||
-
|
||||
I see that there is a manufacturing order for the sub product CPU_GEN of PC1 with ready state.
|
||||
-
|
||||
!python {model: mrp.production}: |
|
||||
from tools.translate import _
|
||||
order_ids = self.search(cr, uid, [('state','=','ready')])
|
||||
assert order_ids, _('No new manufacturing order!')
|
||||
-
|
||||
I check that there one more work order created for new production order.
|
||||
-
|
||||
!python {model: mrp.production.workcenter.line}: |
|
||||
from tools.translate import _
|
||||
prod_obj = self.pool.get('mrp.production')
|
||||
prod_order_ids = prod_obj.search(cr, uid, [('state','=','ready')])
|
||||
workorder_id = self.search(cr, uid, [('production_id','=', prod_order_ids[0]),('state','=','draft')])
|
||||
assert workorder_id, _('No Work order!')
|
||||
-
|
||||
I start the second production order of the CPU_GEN product.
|
||||
-
|
||||
!python {model: mrp.production}: |
|
||||
import netsvc
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
prod_order_ids = self.search(cr, uid, [('state','=','ready')])
|
||||
for po in prod_order_ids:
|
||||
wf_service.trg_validate(uid, 'mrp.production', po, 'button_produce', cr)
|
||||
-
|
||||
I am creating a mrp.product.produce record
|
||||
-
|
||||
!record {model: mrp.product.produce, id: mrp_product_produce_0}:
|
||||
mode: consume_produce
|
||||
product_qty: 5.0
|
||||
-
|
||||
I produce the product CPU_GEN.
|
||||
-
|
||||
!python {model: mrp.product.produce}: |
|
||||
prod_obj = self.pool.get('mrp.production')
|
||||
prod_order_ids = prod_obj.search(cr, uid, [('state','=','in_production')])
|
||||
self.do_produce(cr, uid, [ref("mrp_product_produce_0")], {"lang": "en_US", "tz":
|
||||
False, "search_default_current": 1, "active_model": "mrp.production", "active_ids":
|
||||
prod_order_ids, "active_id": prod_order_ids[0], })
|
||||
-
|
||||
I check that my production order and its related work order is in done state.
|
||||
-
|
||||
!python {model: mrp.production.workcenter.line}: |
|
||||
from tools.translate import _
|
||||
prod_obj = self.pool.get('mrp.production')
|
||||
prod_order_ids = prod_obj.search(cr, uid, [('state','=','done')])
|
||||
workorder_id = self.search(cr, uid, [('production_id','=', prod_order_ids[0]),('state','=','done')])
|
||||
assert workorder_id, _('Work order is not done!')
|
||||
-
|
||||
Now I check my original production order is now ready.
|
||||
-
|
||||
!python {model: mrp.production}: |
|
||||
from tools.translate import _
|
||||
prod_ids = self.search(cr, uid, [('id','=',ref('mrp_production_mo0')),('state','=','ready')])
|
||||
assert prod_ids, _('Production order is not ready!')
|
||||
-
|
||||
I check that both internal pickings are done.
|
||||
-
|
||||
!python {model: stock.picking}: |
|
||||
from tools.translate import _
|
||||
pick_ids = self.search(cr, uid, [('state','=','done'),('type','=','internal')])
|
||||
assert pick_ids, _('Internal pickings are not done!')
|
||||
-
|
||||
Now I start my first production order.
|
||||
-
|
||||
!workflow {model: mrp.production, action: button_produce, ref: mrp_production_mo0}
|
||||
-
|
||||
I check that the related work order is in progress state.
|
||||
-
|
||||
!python {model: mrp.production.workcenter.line}: |
|
||||
from tools.translate import _
|
||||
order_id = self.search(cr, uid, [('production_id','=', ref('mrp_production_mo0')),('state','=','startworking')])
|
||||
assert order_id, _('Work order not started yet!')
|
||||
-
|
||||
I am creating a mrp.product.produce record.
|
||||
-
|
||||
!record {model: mrp.product.produce, id: mrp_product_produce_0}:
|
||||
mode: consume_produce
|
||||
product_qty: 5.0
|
||||
-
|
||||
I produce the product PC1.
|
||||
-
|
||||
!python {model: mrp.product.produce}: |
|
||||
prod_obj = self.pool.get('mrp.production')
|
||||
prod_order_ids = prod_obj.search(cr, uid, [('state','=','in_production')])
|
||||
self.do_produce(cr, uid, [ref("mrp_product_produce_0")], {"lang": "en_US", "tz":
|
||||
False, "search_default_current": 1, "active_model": "mrp.production", "active_ids":
|
||||
[ref("mrp_production_mo0")], "active_id": ref("mrp_production_mo0"), })
|
||||
-
|
||||
I check the related work order is done.
|
||||
-
|
||||
!python {model: mrp.production.workcenter.line}: |
|
||||
from tools.translate import _
|
||||
order_id = self.search(cr, uid, [('production_id','=', ref('mrp_production_mo0')),('state','=','done')])
|
||||
assert order_id, _('Work order not done yet!')
|
||||
@@ -91,7 +91,7 @@ class mrp_procurement(osv.osv):
|
||||
" a make to order method."),
|
||||
|
||||
'note': fields.text('Note'),
|
||||
|
||||
|
||||
'property_ids': fields.many2many('mrp.property', 'mrp_procurement_property_rel', 'procurement_id','property_id', 'Properties'),
|
||||
|
||||
'message': fields.char('Latest error', size=64, help="Exception occurred while computing procurement orders."),
|
||||
@@ -144,7 +144,7 @@ class mrp_procurement(osv.osv):
|
||||
|
||||
def check_product(self, cr, uid, ids):
|
||||
""" Checks product type.
|
||||
@return: True or False
|
||||
@return: True or False
|
||||
"""
|
||||
for procurement in self.browse(cr, uid, ids):
|
||||
if procurement.product_id.type in ('product', 'consu'):
|
||||
@@ -153,7 +153,7 @@ class mrp_procurement(osv.osv):
|
||||
|
||||
def check_move_cancel(self, cr, uid, ids, context={}):
|
||||
""" Checks if move is cancelled or not.
|
||||
@return: True or False.
|
||||
@return: True or False.
|
||||
"""
|
||||
res = True
|
||||
ok = False
|
||||
@@ -166,7 +166,7 @@ class mrp_procurement(osv.osv):
|
||||
|
||||
def check_move_done(self, cr, uid, ids, context={}):
|
||||
""" Checks if move is done or not.
|
||||
@return: True or False.
|
||||
@return: True or False.
|
||||
"""
|
||||
res = True
|
||||
for proc in self.browse(cr, uid, ids, context):
|
||||
@@ -190,7 +190,7 @@ class mrp_procurement(osv.osv):
|
||||
return False
|
||||
|
||||
def _uom_compute_get(self, cr, uid, proc, context={}):
|
||||
""" Finds UoS if product is Stockable Product.
|
||||
""" Finds UoS if product is Stockable Product.
|
||||
@param proc: Current procurement.
|
||||
@return: UoS or False.
|
||||
"""
|
||||
@@ -205,7 +205,7 @@ class mrp_procurement(osv.osv):
|
||||
#
|
||||
def quantity_get(self, cr, uid, id, context={}):
|
||||
""" Finds quantity of product used in procurement.
|
||||
@return: Quantity of product.
|
||||
@return: Quantity of product.
|
||||
"""
|
||||
proc = self.browse(cr, uid, id, context)
|
||||
result = self._quantity_compute_get(cr, uid, proc, context)
|
||||
@@ -215,7 +215,7 @@ class mrp_procurement(osv.osv):
|
||||
|
||||
def uom_get(self, cr, uid, id, context=None):
|
||||
""" Finds UoM of product used in procurement.
|
||||
@return: UoM of product.
|
||||
@return: UoM of product.
|
||||
"""
|
||||
proc = self.browse(cr, uid, id, context)
|
||||
result = self._uom_compute_get(cr, uid, proc, context)
|
||||
@@ -225,7 +225,7 @@ class mrp_procurement(osv.osv):
|
||||
|
||||
def check_waiting(self, cr, uid, ids, context=[]):
|
||||
""" Checks state of move.
|
||||
@return: True or False
|
||||
@return: True or False
|
||||
"""
|
||||
for procurement in self.browse(cr, uid, ids, context=context):
|
||||
if procurement.move_id and procurement.move_id.state == 'auto':
|
||||
@@ -244,7 +244,7 @@ class mrp_procurement(osv.osv):
|
||||
|
||||
def check_make_to_stock(self, cr, uid, ids, context={}):
|
||||
""" Checks product type.
|
||||
@return: True or False
|
||||
@return: True or False
|
||||
"""
|
||||
ok = True
|
||||
for procurement in self.browse(cr, uid, ids, context=context):
|
||||
@@ -299,7 +299,7 @@ class mrp_procurement(osv.osv):
|
||||
return True
|
||||
|
||||
def test_cancel(self, cr, uid, ids):
|
||||
""" Tests whether state of move is cancelled or not.
|
||||
""" Tests whether state of move is cancelled or not.
|
||||
@return: True or False
|
||||
"""
|
||||
for record in self.browse(cr, uid, ids):
|
||||
@@ -338,7 +338,7 @@ class mrp_procurement(osv.osv):
|
||||
|
||||
def action_move_assigned(self, cr, uid, ids, context={}):
|
||||
""" Changes procurement state to Running and writes message.
|
||||
@return: True
|
||||
@return: True
|
||||
"""
|
||||
self.write(cr, uid, ids, {'state': 'running', 'message': _('from stock: products assigned.')})
|
||||
return True
|
||||
@@ -358,12 +358,12 @@ class mrp_procurement(osv.osv):
|
||||
ok = ok and self.pool.get('stock.move').action_assign(cr, uid, [id])
|
||||
cr.execute('select count(id) from stock_warehouse_orderpoint where product_id=%s', (procurement.product_id.id,))
|
||||
if not cr.fetchone()[0]:
|
||||
cr.execute('update mrp_procurement set message=%s where id=%s', (_('from stock and no minimum orderpoint rule defined'), procurement.id))
|
||||
cr.execute('update mrp_procurement set message=%s where id=%s', (_('Stock is not enough and No minimum orderpoint rule defined'), procurement.id))
|
||||
return ok
|
||||
|
||||
def action_produce_assign_service(self, cr, uid, ids, context={}):
|
||||
""" Changes procurement state to Running.
|
||||
@return: True
|
||||
@return: True
|
||||
"""
|
||||
for procurement in self.browse(cr, uid, ids):
|
||||
self.write(cr, uid, [procurement.id], {'state': 'running'})
|
||||
@@ -375,7 +375,7 @@ class mrp_procurement(osv.osv):
|
||||
"""
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
def action_po_assign(self, cr, uid, ids, context={}):
|
||||
""" This is action which call from workflow to assign purchase order to procurements
|
||||
@return: True
|
||||
@@ -384,7 +384,7 @@ class mrp_procurement(osv.osv):
|
||||
|
||||
def action_cancel(self, cr, uid, ids):
|
||||
""" Cancels procurement and writes move state to Assigned.
|
||||
@return: True
|
||||
@return: True
|
||||
"""
|
||||
todo = []
|
||||
todo2 = []
|
||||
@@ -410,8 +410,8 @@ class mrp_procurement(osv.osv):
|
||||
return self.check_move_done(cr, uid, ids)
|
||||
|
||||
def action_check(self, cr, uid, ids):
|
||||
""" Checks procurement move state whether assigned or done.
|
||||
@return: True
|
||||
""" Checks procurement move state whether assigned or done.
|
||||
@return: True
|
||||
"""
|
||||
ok = False
|
||||
for procurement in self.browse(cr, uid, ids):
|
||||
@@ -422,14 +422,14 @@ class mrp_procurement(osv.osv):
|
||||
|
||||
def action_ready(self, cr, uid, ids):
|
||||
""" Changes procurement state to Ready.
|
||||
@return: True
|
||||
@return: True
|
||||
"""
|
||||
res = self.write(cr, uid, ids, {'state': 'ready'})
|
||||
return res
|
||||
|
||||
def action_done(self, cr, uid, ids):
|
||||
""" Changes procurement state to Done and writes Closed date.
|
||||
@return: True
|
||||
@return: True
|
||||
"""
|
||||
move_obj = self.pool.get('stock.move')
|
||||
for procurement in self.browse(cr, uid, ids):
|
||||
@@ -451,7 +451,7 @@ class mrp_procurement(osv.osv):
|
||||
self._procure_confirm(cr, uid, use_new_cursor=use_new_cursor, context=context)
|
||||
self._procure_orderpoint_confirm(cr, uid, automatic=automatic,\
|
||||
use_new_cursor=use_new_cursor, context=context)
|
||||
|
||||
|
||||
mrp_procurement()
|
||||
|
||||
|
||||
@@ -461,7 +461,7 @@ class stock_warehouse_orderpoint(osv.osv):
|
||||
"""
|
||||
_name = "stock.warehouse.orderpoint"
|
||||
_description = "Orderpoint minimum rule"
|
||||
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=32, required=True),
|
||||
'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the orderpoint without removing it."),
|
||||
@@ -489,7 +489,7 @@ class stock_warehouse_orderpoint(osv.osv):
|
||||
'product_uom': lambda sel, cr, uid, context: context.get('product_uom', False),
|
||||
'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'stock.warehouse.orderpoint', context=c)
|
||||
}
|
||||
|
||||
|
||||
def onchange_warehouse_id(self, cr, uid, ids, warehouse_id, context={}):
|
||||
""" Finds location id for changed warehouse.
|
||||
@param warehouse_id: Changed id of warehouse.
|
||||
@@ -500,7 +500,7 @@ class stock_warehouse_orderpoint(osv.osv):
|
||||
v = {'location_id': w.lot_stock_id.id}
|
||||
return {'value': v}
|
||||
return {}
|
||||
|
||||
|
||||
def onchange_product_id(self, cr, uid, ids, product_id, context={}):
|
||||
""" Finds UoM for changed product.
|
||||
@param product_id: Changed id of product.
|
||||
@@ -511,7 +511,7 @@ class stock_warehouse_orderpoint(osv.osv):
|
||||
v = {'product_uom': prod.uom_id.id}
|
||||
return {'value': v}
|
||||
return {}
|
||||
|
||||
|
||||
def copy(self, cr, uid, id, default=None,context={}):
|
||||
if not default:
|
||||
default = {}
|
||||
@@ -519,6 +519,6 @@ class stock_warehouse_orderpoint(osv.osv):
|
||||
'name': self.pool.get('ir.sequence').get(cr, uid, 'mrp.warehouse.orderpoint') or '',
|
||||
})
|
||||
return super(stock_warehouse_orderpoint, self).copy(cr, uid, id, default, context)
|
||||
|
||||
|
||||
stock_warehouse_orderpoint()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<data>
|
||||
<!--
|
||||
Procurement
|
||||
-->
|
||||
|
||||
|
||||
<record id="mrp_procurement_tree_view" model="ir.ui.view">
|
||||
<field name="name">mrp.procurement.tree</field>
|
||||
<field name="model">mrp.procurement</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Procurement Lines" colors="red:state=='draft';black:state=='running';green:state=='confirmed';gray:state in ['done','cancel']">
|
||||
<tree string="Procurement Lines" colors="red:date_planned<current_date and state in ('exception');black:state=='running';green:state=='confirmed';gray:state in ['done','cancel'];blue:state in ('ready')">
|
||||
<field name="date_planned" widget="date"/>
|
||||
<field name="origin"/>
|
||||
<field name="product_id"/>
|
||||
@@ -18,6 +18,7 @@
|
||||
<field name="product_uom" string="UOM"/>
|
||||
<field name="procure_method"/>
|
||||
<field name="state"/>
|
||||
<field name="message"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -45,10 +46,10 @@
|
||||
<field name="product_id" on_change="onchange_product_id(product_id)"/>
|
||||
<field name="location_id" domain="[('usage','=','internal')]"/>
|
||||
<field name="product_qty"/>
|
||||
<field name="product_uom"/>
|
||||
<field name="product_uom" widget="selection"/>
|
||||
|
||||
<field name="product_uos_qty" groups="product.group_uos"/>
|
||||
<field name="product_uos" groups="product.group_uos"/>
|
||||
<field name="product_uos_qty" groups="product.group_uos,base.group_extended"/>
|
||||
<field name="product_uos" widget="selection" groups="product.group_uos,base.group_extended"/>
|
||||
|
||||
<separator colspan="4" string="Status"/>
|
||||
<field colspan="4" name="message" readonly="1"/>
|
||||
@@ -90,6 +91,7 @@
|
||||
<filter icon="terp-mrp" string="Late"
|
||||
domain="['&', ('date_planned::date','<', current_date), ('state', 'in', ('draft', 'confirmed'))]"
|
||||
help="Procurement started late" />
|
||||
<filter icon="terp-mrp" string="To Fix" domain="[('state', '=', 'exception'),('message','=','')]" help="Procurement Orders with exceptions and without message"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name"/>
|
||||
<field name="origin"/>
|
||||
@@ -98,10 +100,11 @@
|
||||
<field name="state" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By" colspan="4" col="8">
|
||||
<group expand="1" string="Group By" colspan="4" col="8" groups="base.group_extended">
|
||||
<filter string="Product" icon="terp-mrp" domain="[]" context="{'group_by':'product_id'}"/>
|
||||
<filter string="Reason" icon="terp-mrp" domain="[]" context="{'group_by':'name'}"/>
|
||||
<filter string="Scheduled Date" icon="terp-mrp" domain="[]" context="{'group_by':'date_planned'}"/>
|
||||
<filter string="State" icon="terp-mrp" domain="[]" context="{'group_by':'state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
@@ -114,6 +117,7 @@
|
||||
<field name="view_id" eval="False"/>
|
||||
<field name="context">{'search_default_current':1}</field>
|
||||
<field name="search_view_id" ref="view_mrp_procurement_filter"/>
|
||||
<field name="context">{'search_default_Current':1}</field>
|
||||
</record>
|
||||
|
||||
<record id="mrp_procurement_action3" model="ir.actions.act_window">
|
||||
@@ -154,7 +158,7 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('state','=','exception'), ('message', '=', '')]</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Order Point -->
|
||||
<record id="view_warehouse_orderpoint_tree" model="ir.ui.view">
|
||||
<field name="name">stock.warehouse.orderpoint.tree</field>
|
||||
@@ -183,7 +187,7 @@
|
||||
<field name="name"/>
|
||||
<field name="warehouse_id" widget="selection"/>
|
||||
<field name="location_id"/>
|
||||
<field name="company_id" widget="selection"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="product_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
@@ -247,6 +251,21 @@
|
||||
name="Minimum Stock Rules"
|
||||
res_model="stock.warehouse.orderpoint"
|
||||
src_model="product.product"/>
|
||||
|
||||
|
||||
<act_window
|
||||
context="{'product_uom': locals().has_key('uom_id') and uom_id}"
|
||||
domain="[('product_id', '=', active_id)]"
|
||||
id="act_mrp_procurement_2_stock_warehouse_orderpoint"
|
||||
name="Minimum Stock Rules"
|
||||
res_model="stock.warehouse.orderpoint"
|
||||
src_model="mrp.procurement"/>
|
||||
|
||||
<act_window
|
||||
domain="[('id', '=', product_id)]"
|
||||
id="act_product_product_2_stock_warehouse_orderpoint"
|
||||
name="Product"
|
||||
res_model="product.product"
|
||||
src_model="mrp.procurement"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
<field name="date_planned"/>
|
||||
<field name="warehouse_id" colspan="4"/>
|
||||
<newline/>
|
||||
<separator colspan="4"/>
|
||||
<group col="2" colspan="4">
|
||||
<button icon='gtk-cancel' special="cancel"
|
||||
string="Cancel" />
|
||||
|
||||
@@ -2,174 +2,196 @@
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_repair_order_form" model="ir.ui.view">
|
||||
<field name="name">mrp.repair.form</field>
|
||||
<field name="model">mrp.repair</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Repairs order">
|
||||
<group col="6" colspan="4">
|
||||
<field name="name"/>
|
||||
<field name="product_id" select="1" on_change="onchange_product_id(product_id)"/>
|
||||
<field name="deliver_bool"/>
|
||||
<newline/>
|
||||
<field name="prodlot_id" on_change="onchange_lot_id(prodlot_id,product_id)"/>
|
||||
<field name="move_id" on_change="onchange_move_id(product_id, move_id)"/>
|
||||
<field name="repaired"/>
|
||||
<newline/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id,address_id)"/>
|
||||
<field name="address_id" attrs="{'readonly':[('deliver_bool','=', False)]}"/>
|
||||
<field name="invoiced"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Operations">
|
||||
<field name="guarantee_limit" />
|
||||
<newline/>
|
||||
<field colspan="4" mode="tree,form" name="operations" nolabel="1" widget="one2many_list">
|
||||
<form string="Operations">
|
||||
<notebook>
|
||||
<page string="Repair Line">
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="product_id" on_change="product_id_change(parent.pricelist_id,product_id,product_uom,product_uom_qty, parent.partner_id)" colspan="4"/>
|
||||
<field name="product_uom_qty" string="Qty" />
|
||||
<field name="product_uom" string="UoM"/>
|
||||
<field name="price_unit"/>
|
||||
<field name="price_subtotal"/>
|
||||
<field name="location_id"/>
|
||||
<field name="location_dest_id"/>
|
||||
<newline/>
|
||||
<field name="type" on_change="onchange_operation_type(type,parent.guarantee_limit)"/>
|
||||
<group colspan="2">
|
||||
<field name="to_invoice"/>
|
||||
<field name="invoiced"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field colspan="4" name="tax_id" domain="[('parent_id','=',False),('type_tax_use','<>','purchase')]"/>
|
||||
<separator colspan="4" string="States"/>
|
||||
<field name="state"/>
|
||||
</page>
|
||||
<page string="History" groups="base.group_extended">
|
||||
<field colspan="4" name="move_id" />
|
||||
<field colspan="4" name="invoice_line_id"/>
|
||||
</page>
|
||||
|
||||
</notebook>
|
||||
</form>
|
||||
<tree string="Operations" editable="bottom">
|
||||
<field name="type" on_change="onchange_operation_type(type,parent.guarantee_limit)"/>
|
||||
<field name="product_id" on_change="product_id_change(parent.pricelist_id,product_id,product_uom,product_uom_qty, parent.partner_id)"/>
|
||||
<field name='name'/>
|
||||
<field name="location_id"/>
|
||||
<field name="location_dest_id"/>
|
||||
<field name="product_uom_qty" string="Qty"/>
|
||||
<field name="product_uom" string="UoM"/>
|
||||
<field name="price_unit"/>
|
||||
<field name="tax_id"/>
|
||||
<field name="to_invoice"/>
|
||||
<field name="price_subtotal"/>
|
||||
</tree>
|
||||
</field>
|
||||
<newline/>
|
||||
<group col="7" colspan="4">
|
||||
<field name="amount_untaxed" sum="Untaxed amount"/>
|
||||
<field name="amount_tax"/>
|
||||
<field name="amount_total" sum="Total amount"/>
|
||||
<button name="button_dummy" states="draft" string="Compute" type="object"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group col="13" colspan="4">
|
||||
<field name="state"/>
|
||||
<button name="repair_confirm" states="draft" string="Confirm Repair"/>
|
||||
<button name="repair_ready" states="confirmed" string="Start Repair"/>
|
||||
<button name="action_repair_start" states="ready" string="Start Repair"/>
|
||||
<button name="action_repair_end" states="under_repair" string="End Repair"/>
|
||||
<button name="invoice_recreate" states="invoice_except" string="Recreate Invoice"/>
|
||||
<button name="invoice_corrected" states="invoice_except" string="Invoice Corrected"/>
|
||||
<button name="action_invoice_create" states="2binvoiced" string="Make Invoice"/>
|
||||
<button name="%(action_cancel_repair)d" states="invoice_except" string="Cancel Repair" type="action"/>
|
||||
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
|
||||
<button name="cancel" states="draft" string="Cancel Repair"/>
|
||||
<button name="%(action_cancel_repair)d" states="confirmed,2binvoiced,ready,under_repair" string="Cancel Repair" type="action"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Invoicing">
|
||||
<field name="invoice_method" colspan="4"/>
|
||||
<field
|
||||
name="pricelist_id" context="product_id=product_id"
|
||||
attrs="{'readonly':[('invoice_method','=', 'none')]}"/>
|
||||
<field name="partner_invoice_id" attrs="{'readonly':[('invoice_method','=', 'none')]}"/>
|
||||
<!-- <field name="invoice_id"/> -->
|
||||
<field colspan="4" mode="tree,form" name="fees_lines" nolabel="1" widget="one2many_list">
|
||||
<form string="Fees">
|
||||
<notebook>
|
||||
<page string="Fees Line">
|
||||
<field name='name'/>
|
||||
<field name="product_id" on_change="product_id_change(parent.pricelist_id,product_id,product_uom,product_uom_qty, parent.partner_id,parent.guarantee_limit)" colspan="4"/>
|
||||
<field name="product_uom_qty" string="Qty"/>
|
||||
<field name="product_uom" string="UoM" />
|
||||
<field name="price_unit"/>
|
||||
<field name="price_subtotal"/>
|
||||
<newline/>
|
||||
<group colspan="2">
|
||||
<field name="to_invoice"/>
|
||||
<field name="invoiced"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field colspan="4" name="tax_id" domain="[('parent_id','=',False),('type_tax_use','<>','purchase')]"/>
|
||||
</page>
|
||||
<page string="History" groups="base.group_extended">
|
||||
<field colspan="4" name="invoice_line_id" />
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
<tree string="Fees" editable="bottom">
|
||||
<field name="product_id" on_change="product_id_change(parent.pricelist_id,product_id,product_uom,product_uom_qty, parent.partner_id,parent.guarantee_limit)"/>
|
||||
<field name='name'/>
|
||||
<field name="product_uom_qty" string="Qty"/>
|
||||
<field name="product_uom" string="UoM"/>
|
||||
<field name="price_unit"/>
|
||||
<field name="to_invoice"/>
|
||||
<field name="price_subtotal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Quality">
|
||||
<separator colspan="4" string="Internal Notes"/>
|
||||
<field colspan="4" name="internal_notes" nolabel="1"/>
|
||||
<separator colspan="4" string="Quotation Notes"/>
|
||||
<field colspan="4" name="quotation_notes" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Extra Info" groups="base.group_extended">
|
||||
<field name="invoice_id"/>
|
||||
<field name="picking_id"/>
|
||||
<field name="location_id"/>
|
||||
<field name="location_dest_id" attrs="{'readonly':[('deliver_bool','=', False)], 'required':[('deliver_bool','=', True)]}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_repair_order_tree" model="ir.ui.view">
|
||||
<record id="view_repair_order_tree" model="ir.ui.view">
|
||||
<field name="name">mrp.repair.tree</field>
|
||||
<field name="model">mrp.repair</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Repairs order">
|
||||
<field name="name" select="1" />
|
||||
<field name="product_id" select="1" />
|
||||
<field name="prodlot_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="address_id"/>
|
||||
<field name="location_id"/>
|
||||
<field name="state"/>
|
||||
<field name="move_id"/>
|
||||
<field name="location_dest_id"/>
|
||||
<field name="guarantee_limit"/>
|
||||
<field name="product_id" select="1" />
|
||||
<field name="prodlot_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="address_id"/>
|
||||
<field name="location_id"/>
|
||||
<field name="move_id"/>
|
||||
<field name="location_dest_id"/>
|
||||
<field name="guarantee_limit"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_repair_order_form" model="ir.ui.view">
|
||||
<field name="name">mrp.repair.form</field>
|
||||
<field name="model">mrp.repair</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Repairs order">
|
||||
<group col="6" colspan="4">
|
||||
<field name="name"/>
|
||||
<field name="product_id" select="1" on_change="onchange_product_id(product_id)"/>
|
||||
<field name="deliver_bool"/>
|
||||
<newline/>
|
||||
<field name="prodlot_id" on_change="onchange_lot_id(prodlot_id,product_id)"/>
|
||||
<field name="move_id" on_change="onchange_move_id(product_id, move_id)"/>
|
||||
<field name="repaired"/>
|
||||
<newline/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id,address_id)"/>
|
||||
<field name="address_id" attrs="{'readonly':[('deliver_bool','=', False)]}"/>
|
||||
<field name="invoiced"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Operations">
|
||||
<field name="guarantee_limit" />
|
||||
<newline/>
|
||||
<field colspan="4" mode="tree,form" name="operations" nolabel="1" widget="one2many_list">
|
||||
<form string="Operations">
|
||||
<notebook>
|
||||
<page string="Repair Line">
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="product_id" on_change="product_id_change(parent.pricelist_id,product_id,product_uom,product_uom_qty, parent.partner_id)" colspan="4"/>
|
||||
<field name="product_uom_qty" string="Qty" />
|
||||
<field name="product_uom" string="UoM"/>
|
||||
<field name="price_unit"/>
|
||||
<field name="price_subtotal"/>
|
||||
<field name="location_id"/>
|
||||
<field name="location_dest_id"/>
|
||||
<newline/>
|
||||
<field name="type" on_change="onchange_operation_type(type,parent.guarantee_limit)"/>
|
||||
<group colspan="2">
|
||||
<field name="to_invoice"/>
|
||||
<field name="invoiced"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field colspan="4" name="tax_id" domain="[('parent_id','=',False),('type_tax_use','<>','purchase')]"/>
|
||||
<separator colspan="4" string="States"/>
|
||||
<field name="state"/>
|
||||
</page>
|
||||
<page string="History" groups="base.group_extended">
|
||||
<field colspan="4" name="move_id" />
|
||||
<field colspan="4" name="invoice_line_id"/>
|
||||
</page>
|
||||
|
||||
</notebook>
|
||||
</form>
|
||||
<tree string="Operations" editable="bottom">
|
||||
<field name="type" on_change="onchange_operation_type(type,parent.guarantee_limit)"/>
|
||||
<field name="product_id" on_change="product_id_change(parent.pricelist_id,product_id,product_uom,product_uom_qty, parent.partner_id)"/>
|
||||
<field name='name'/>
|
||||
<field name="location_id"/>
|
||||
<field name="location_dest_id"/>
|
||||
<field name="product_uom_qty" string="Qty"/>
|
||||
<field name="product_uom" string="UoM"/>
|
||||
<field name="price_unit"/>
|
||||
<field name="tax_id"/>
|
||||
<field name="to_invoice"/>
|
||||
<field name="price_subtotal"/>
|
||||
</tree>
|
||||
</field>
|
||||
<newline/>
|
||||
<group col="7" colspan="4">
|
||||
<field name="amount_untaxed" sum="Untaxed amount"/>
|
||||
<field name="amount_tax"/>
|
||||
<field name="amount_total" sum="Total amount"/>
|
||||
<button name="button_dummy" states="draft" string="Compute" type="object"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group col="13" colspan="4">
|
||||
<field name="state"/>
|
||||
<button name="repair_confirm" states="draft" string="Confirm Repair" icon="gtk-apply"/>
|
||||
<button name="repair_ready" states="confirmed" string="Start Repair" icon="gtk-execute"/>
|
||||
<button name="action_repair_start" states="ready" string="Start Repair" icon="gtk-execute"/>
|
||||
<button name="action_repair_end" states="under_repair" string="End Repair" icon="gtk-ok"/>
|
||||
<button name="invoice_recreate" states="invoice_except" string="Recreate Invoice" icon="gtk-convert"/>
|
||||
<button name="invoice_corrected" states="invoice_except" string="Invoice Corrected" icon="gtk-apply"/>
|
||||
<button name="action_invoice_create" states="2binvoiced" string="Make Invoice" icon="gtk-ok"/>
|
||||
<button name="%(action_cancel_repair)d" states="invoice_except" string="Cancel Repair" type="action" icon="gtk-cancel"/>
|
||||
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
|
||||
<button name="cancel" states="draft" string="Cancel Repair" icon="gtk-cancel"/>
|
||||
<button name="%(action_cancel_repair)d" states="confirmed,2binvoiced,ready,under_repair" string="Cancel Repair" type="action" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Invoicing">
|
||||
<field name="invoice_method" colspan="4"/>
|
||||
<field
|
||||
name="pricelist_id" context="product_id=product_id"
|
||||
attrs="{'readonly':[('invoice_method','=', 'none')]}"/>
|
||||
<field name="partner_invoice_id" attrs="{'readonly':[('invoice_method','=', 'none')]}"/>
|
||||
<!-- <field name="invoice_id"/> -->
|
||||
<field colspan="4" mode="tree,form" name="fees_lines" nolabel="1" widget="one2many_list">
|
||||
<form string="Fees">
|
||||
<notebook>
|
||||
<page string="Fees Line">
|
||||
<field name='name'/>
|
||||
<field name="product_id" on_change="product_id_change(parent.pricelist_id,product_id,product_uom,product_uom_qty, parent.partner_id,parent.guarantee_limit)" colspan="4"/>
|
||||
<field name="product_uom_qty" string="Qty"/>
|
||||
<field name="product_uom" string="UoM" />
|
||||
<field name="price_unit"/>
|
||||
<field name="price_subtotal"/>
|
||||
<newline/>
|
||||
<group colspan="2">
|
||||
<field name="to_invoice"/>
|
||||
<field name="invoiced"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field colspan="4" name="tax_id" domain="[('parent_id','=',False),('type_tax_use','<>','purchase')]"/>
|
||||
</page>
|
||||
<page string="History" groups="base.group_extended">
|
||||
<field colspan="4" name="invoice_line_id" />
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
<tree string="Fees" editable="bottom">
|
||||
<field name="product_id" on_change="product_id_change(parent.pricelist_id,product_id,product_uom,product_uom_qty, parent.partner_id,parent.guarantee_limit)"/>
|
||||
<field name='name'/>
|
||||
<field name="product_uom_qty" string="Qty"/>
|
||||
<field name="product_uom" string="UoM"/>
|
||||
<field name="price_unit"/>
|
||||
<field name="to_invoice"/>
|
||||
<field name="price_subtotal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Quality">
|
||||
<separator colspan="4" string="Internal Notes"/>
|
||||
<field colspan="4" name="internal_notes" nolabel="1"/>
|
||||
<separator colspan="4" string="Quotation Notes"/>
|
||||
<field colspan="4" name="quotation_notes" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Extra Info" groups="base.group_extended">
|
||||
<field name="invoice_id"/>
|
||||
<field name="picking_id"/>
|
||||
<field name="location_id"/>
|
||||
<field name="location_dest_id" attrs="{'readonly':[('deliver_bool','=', False)], 'required':[('deliver_bool','=', True)]}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<record id="view_repair_order_form_filter" model="ir.ui.view">
|
||||
<field name="name">mrp.repair.select</field>
|
||||
<field name="model">mrp.repair</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Reair Orders">
|
||||
<group col='4' colspan='4'>
|
||||
<field name="name" />
|
||||
<field name="product_id" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By" colspan="10" col="8" groups="base.group_extended">
|
||||
<filter string="Product" icon="terp-mrp" domain="[]" context="{'group_by':'product_id'}"/>
|
||||
<filter string="State" icon="terp-mrp" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Partner" icon="terp-mrp" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_repair_order_form" model="ir.actions.act_window">
|
||||
<field name="name">New Repair</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
@@ -184,6 +206,7 @@
|
||||
<field name="res_model">mrp.repair</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_repair_order_form_filter"/>
|
||||
</record>
|
||||
|
||||
<record id="action_repair_quotation_tree" model="ir.actions.act_window">
|
||||
|
||||
@@ -10,13 +10,14 @@
|
||||
multi="True"
|
||||
id="bi_conf_cube_query_builder"/>
|
||||
|
||||
<wizard
|
||||
|
||||
<!-- <wizard
|
||||
string="Load Tables"
|
||||
model="olap.schema"
|
||||
name="olap.load.table"
|
||||
menu= "False"
|
||||
multi="True"
|
||||
id="bi_menu_olap_load_table"/>
|
||||
id="bi_menu_olap_load_table"/>-->
|
||||
|
||||
|
||||
<wizard
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
import pos
|
||||
import account_bank_statement
|
||||
import pos_account_bank_statement
|
||||
import stock
|
||||
import wizard
|
||||
import report
|
||||
|
||||
|
||||
@@ -1331,4 +1331,13 @@ class product_product(osv.osv):
|
||||
'disc_controle': lambda *a: True,
|
||||
}
|
||||
product_product()
|
||||
|
||||
class stock_picking(osv.osv):
|
||||
|
||||
_inherit = 'stock.picking'
|
||||
_columns = {
|
||||
'pos_order': fields.many2one('pos.order', 'Pos order'),
|
||||
}
|
||||
stock_picking()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -12,15 +12,15 @@
|
||||
<field name="user_salesman_id" />
|
||||
<field name="partner_id" on_change="onchange_partner_pricelist(partner_id)"/>
|
||||
<field name="contract_number" groups="base.group_extended"/>
|
||||
|
||||
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Sale Order ">
|
||||
<page string="Sale Order ">
|
||||
<field name="lines" colspan="4" nolabel="1">
|
||||
<tree string="Order lines" editable="bottom">
|
||||
<field name="product_id" on_change="onchange_product_id(parent.pricelist_id,product_id,qty,parent.partner_id)" width="275" />
|
||||
<field name="qty" />
|
||||
<field name="qty_rfd" groups="base.group_extended"/>
|
||||
<field name="qty_rfd" groups="base.group_extended"/>
|
||||
<field name="discount" on_change="onchange_discount(discount,price_unit)" />
|
||||
<field name="price_ded" on_change="onchange_ded(price_ded, price_unit)" />
|
||||
<field name="price_unit" readonly="1"/>
|
||||
@@ -66,14 +66,14 @@
|
||||
<button name="%(action_report_pos_receipt)d" string="_Reprint" icon="gtk-print" type="action" states="paid,done,invoiced"/>
|
||||
<button name="set_to_draft" string="Set to draft" states="paid" icon="gtk-execute" type="object" />
|
||||
<button name="%(action_view_pos_return)d" string="Return Picking" type="action" icon="gtk-ok" states="paid"
|
||||
attrs="{'invisible':[('state','!=','paid'),('state','!=','invoiced')]}"/>
|
||||
attrs="{'invisible':[('state','!=','paid'),('state','!=','invoiced')]}" context="{'return':'return'}" />
|
||||
</group>
|
||||
</page>
|
||||
|
||||
<page string="Order and Payment">
|
||||
<group colspan="2" col="2" name="Type">
|
||||
<separator string="Order Information" colspan="4"/>
|
||||
<field name="company_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="shop_id" widget="selection" />
|
||||
<field name="name"/>
|
||||
<field name="user_id" />
|
||||
@@ -143,7 +143,7 @@
|
||||
<field name="invoice_id"/>
|
||||
<field name="state" />
|
||||
<field name="amount_total" sum="Amount total"/>
|
||||
<field name="company_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -161,7 +161,7 @@
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
<field name="date_order" select="1" string="Order date" />
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="11" col="11">
|
||||
<group expand="1" string="Group By..." colspan="11" col="11" groups="base.group_extended">
|
||||
<filter string="Customer" icon="terp-sale" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="State" icon="terp-sale" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Order Date" icon="terp-sale" domain="[]" context="{'group_by':'date_order'}"/>
|
||||
@@ -729,7 +729,7 @@
|
||||
<field name="expense_pdt"/>
|
||||
<field name="am_out"/>
|
||||
<field name="disc_controle"/>
|
||||
<field name="company_id" groups="base.group_extended"/>
|
||||
<field name="company_id" groups="base.group_extended,base.group_multi_company"/>
|
||||
</group>
|
||||
<group colspan="2" col="2" name="Prices">
|
||||
<separator string="Prices" colspan="2"/>
|
||||
@@ -825,7 +825,7 @@
|
||||
<field name="note" select="1" />
|
||||
<field name="state" select="1"/>
|
||||
<field name="amount_total" sum="Amount total"/>
|
||||
<field name="company_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<form string="Statement">
|
||||
<field name="name" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="company_id" select="1"/>
|
||||
<field name="company_id" select="1" groups="base.group_multi_company"/>
|
||||
<field name="journal_id" on_change="onchange_journal_id(journal_id)" domain="[('type','=','cash'),('auto_cash','=',False)]" select="1" />
|
||||
<newline/>
|
||||
<field name="date" select="1" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
@@ -123,7 +123,7 @@
|
||||
<form string="Statement">
|
||||
<field name="name" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="company_id" select="1"/>
|
||||
<field name="company_id" select="1" groups="base.group_multi_company"/>
|
||||
<field name="journal_id" on_change="onchange_journal_id(journal_id)" domain="[('type','=','cash')]" select="1" readonly="1"/>
|
||||
<newline/>
|
||||
<field name="date" select="1" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
@@ -236,7 +236,7 @@
|
||||
<form string="Statement">
|
||||
<field name="name" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="company_id" select="1"/>
|
||||
<field name="company_id" select="1" groups="base.group_multi_company"/>
|
||||
<field name="journal_id" on_change="onchange_journal_id(journal_id)" domain="[('type','=','cash')]" select="1" readonly="1"/>
|
||||
<newline/>
|
||||
<field name="date" select="1" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
@@ -417,7 +417,7 @@
|
||||
<menuitem name="Cashboxes to Close" parent="menu_pos_bank_statment_tree"
|
||||
action="action_cashboxes_to_close" id="menu_cashboxes_to_close_tree" groups="base.group_extended"/>
|
||||
|
||||
|
||||
|
||||
<menuitem
|
||||
name="Open Registers" parent="point_of_sale.menu_point_config"
|
||||
string="Open Register"
|
||||
@@ -434,11 +434,11 @@
|
||||
string="Close Register"
|
||||
action="action_pos_close_statement"
|
||||
id="menu_close_statement" sequence="2" />
|
||||
|
||||
|
||||
<menuitem icon="STOCK_PRINT"
|
||||
action="action_report_all_closed_cashbox_of_the_day"
|
||||
id="menu_all_closed_cashbox_of_the_day"
|
||||
parent="menu_point_report_register"/>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
|
||||
# $Id$
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import osv, fields
|
||||
import time
|
||||
import netsvc
|
||||
|
||||
|
||||
class stock_picking(osv.osv):
|
||||
|
||||
_inherit = 'stock.picking'
|
||||
_columns = {
|
||||
'pos_order': fields.many2one('pos.order', 'Pos order'),
|
||||
}
|
||||
stock_picking()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -123,8 +123,7 @@ class pos_make_payment(osv.osv_memory):
|
||||
"""
|
||||
return result
|
||||
|
||||
def check(self, cr, uid, ids, context=None):
|
||||
|
||||
def check(self, cr, uid, ids, context):
|
||||
"""Check the order:
|
||||
if the order is not paid: continue payment,
|
||||
if the order is paid print invoice (if wanted) or ticket.
|
||||
@@ -153,8 +152,11 @@ class pos_make_payment(osv.osv_memory):
|
||||
return self.create_invoice(cr,uid,ids,context)
|
||||
else:
|
||||
context.update({'flag': True})
|
||||
order_obj.action_paid(cr,uid,[active_id],context)
|
||||
order_obj.write(cr, uid, [active_id],{'state':'paid'})
|
||||
order_obj.action_paid(cr,uid,[active_id],context)
|
||||
if context.get('return'):
|
||||
order_obj.write(cr, uid, [active_id],{'state':'done'})
|
||||
else:
|
||||
order_obj.write(cr, uid, [active_id],{'state':'paid'})
|
||||
return self.print_report(cr, uid, ids, context)
|
||||
if order.amount_paid > 0.0:
|
||||
context.update({'flag': True})
|
||||
|
||||
@@ -186,6 +186,7 @@ class pos_return(osv.osv_memory):
|
||||
line_obj.copy(cr,uid,line.id,{'qty':-qty ,
|
||||
'order_id': new_order,
|
||||
})
|
||||
order_obj.write(cr,uid, active_id, {'state':'done'})
|
||||
order_obj.write(cr,uid, new_order, {'state':'done'})
|
||||
wf_service.trg_validate(uid, 'stock.picking',new_picking,'button_confirm', cr)
|
||||
picking_obj.force_assign(cr, uid, [new_picking], context)
|
||||
@@ -334,8 +335,9 @@ class add_product(osv.osv_memory):
|
||||
})
|
||||
wf_service.trg_validate(uid, 'stock.picking',new_picking,'button_confirm', cr)
|
||||
picking_obj.force_assign(cr, uid, [new_picking], context)
|
||||
obj=order_obj.browse(cr,uid, active_ids[0])
|
||||
|
||||
obj=order_obj.browse(cr,uid, active_ids[0])
|
||||
context.update({'return':'return'})
|
||||
|
||||
if obj.amount_total != obj.amount_paid:
|
||||
return {
|
||||
'name': _('Make Payment'),
|
||||
|
||||
@@ -262,7 +262,7 @@ class product_template(osv.osv):
|
||||
'produce_delay': fields.float('Manufacturing Lead Time', help="Average time to produce this product. This is only for the production order and, if it is a multi-level bill of material, it's only for the level of this product. Different lead times will be summed for all levels and purchase orders."),
|
||||
'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procurement Method', required=True, help="'Make to Stock': When needed, take from the stock or wait until re-supplying. 'Make to Order': When needed, purchase or produce for the procurement request."),
|
||||
'rental': fields.boolean('Can be Rent'),
|
||||
'categ_id': fields.many2one('product.category','Category', required=True, change_default=True, domain="[('type','=','normal')]"),
|
||||
'categ_id': fields.many2one('product.category','Category', required=True, change_default=True, domain="[('type','=','normal')]" ,help="Select category for the current product"),
|
||||
'list_price': fields.float('Sale Price', digits_compute=dp.get_precision('Sale Price'), help="Base price for computing the customer price. Sometimes called the catalog price."),
|
||||
'standard_price': fields.float('Cost Price', required=True, digits_compute=dp.get_precision('Account'), help="Product's cost for accounting stock valuation. It is the base price for the supplier price."),
|
||||
'volume': fields.float('Volume', help="The volume in m3."),
|
||||
@@ -586,7 +586,7 @@ class product_packaging(osv.osv):
|
||||
_rec_name = 'ean'
|
||||
_columns = {
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of packaging."),
|
||||
'name' : fields.char('Description', size=64),
|
||||
'name' : fields.text('Description', size=64),
|
||||
'qty' : fields.float('Quantity by Package',
|
||||
help="The total number of products you can put by pallet or box."),
|
||||
'ul' : fields.many2one('product.ul', 'Type of Package', required=True),
|
||||
@@ -645,9 +645,9 @@ class product_supplierinfo(osv.osv):
|
||||
_name = "product.supplierinfo"
|
||||
_description = "Information about a product supplier"
|
||||
_columns = {
|
||||
'name' : fields.many2one('res.partner', 'Partner', required=True, ondelete='cascade', help="Supplier of this product"),
|
||||
'product_name': fields.char('Partner Product Name', size=128, help="This partner's product name will be used when printing a request for quotation. Keep empty to use the internal one."),
|
||||
'product_code': fields.char('Partner Product Code', size=64, help="This partner's product code will be used when printing a request for quotation. Keep empty to use the internal one."),
|
||||
'name' : fields.many2one('res.partner', 'Supplier', required=True, ondelete='cascade', help="Supplier of this product"),
|
||||
'product_name': fields.char('Supplier Product Name', size=128, help="This supplier's product name will be used when printing a request for quotation. Keep empty to use the internal one."),
|
||||
'product_code': fields.char('Supplier Product Code', size=64, help="This supplier's product code will be used when printing a request for quotation. Keep empty to use the internal one."),
|
||||
'sequence' : fields.integer('Sequence', help="Assigns the priority to the list of product supplier."),
|
||||
'qty' : fields.float('Minimal Quantity', required=True, help="The minimal quantity to purchase to this supplier, expressed in the default unit of measure."),
|
||||
'product_id' : fields.many2one('product.template', 'Product', required=True, ondelete='cascade', select=True),
|
||||
|
||||
@@ -18,17 +18,17 @@
|
||||
<field name="name"/>
|
||||
<field name="categ_id" widget="selection" operator="child_of"/>
|
||||
<newline/>
|
||||
<group col='8' colspan='14' expand="1" string="Extended options...">
|
||||
<field name="pricelist_id" widget="selection" context="{'pricelist': self}" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group col='8' colspan='15' expand='1' string='Group by...'>
|
||||
<group expand='1' string='Group by...' groups="base.group_extended">
|
||||
<filter string='Category' icon="terp-stock" domain="[]" context="{'group_by' : 'categ_id'}" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter string='Default UOM' icon="terp-stock" domain="[]" context="{'group_by' : 'uom_id'}" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter string='Type' icon="terp-stock" domain="[]" context="{'group_by' : 'type'}" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<field name="pricelist_id" widget="selection" context="{'pricelist': self}" />
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -104,7 +104,7 @@
|
||||
</group>
|
||||
|
||||
<group colspan="2" col="2" name="uom">
|
||||
<separator string="UOM" colspan="2"/>
|
||||
<separator string="Unit of Measure" colspan="2"/>
|
||||
<field name="uom_id" on_change="onchange_uom(uom_id,uom_po_id)" widget="selection"/>
|
||||
<field name="uom_po_id" widget="selection"/>
|
||||
</group>
|
||||
@@ -175,8 +175,8 @@
|
||||
<field name="height"/>
|
||||
<field name="width"/>
|
||||
<field name="length"/>
|
||||
<separator colspan="4" string="Other Info"/>
|
||||
<field colspan="4" name="name"/>
|
||||
<separator colspan="4" string="Description"/>
|
||||
<field colspan="4" name="name" nolabel="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
@@ -465,8 +465,7 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Product Variant">
|
||||
<separator colspan="4" string="Description"/>
|
||||
<field name="product_tmpl_id" select="1"/>
|
||||
<field name="product_tmpl_id" select="1"/>
|
||||
<field name="active" select="1"/>
|
||||
<field name="variants" select="1"/>
|
||||
<field name="default_code" select="1"/>
|
||||
|
||||
@@ -10,16 +10,17 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Price list">
|
||||
<field name="price_list" />
|
||||
<field name="price_list" widget="selection"/>
|
||||
<field name="qty1" colspan="2" />
|
||||
<field name="qty2" colspan="2" />
|
||||
<field name="qty3" colspan="2" />
|
||||
<field name="qty4" colspan="2" />
|
||||
<field name="qty5" colspan="2" />
|
||||
<button icon='gtk-cancel' special="cancel"
|
||||
string="Close" />
|
||||
<button name="print_report" string="Print Report"
|
||||
colspan="1" type="object" icon="gtk-print" />
|
||||
<separator colspan="4"/>
|
||||
<group col="2" colspan="4">
|
||||
<button icon="gtk-cancel" special="cancel" string="Close"/>
|
||||
<button name="print_report" string="Print Report" type="object" icon="gtk-print"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 12:59+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-05-25 16:49+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-17 03:55+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-26 03:47+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: profile_accounting
|
||||
@@ -23,6 +23,8 @@ msgid ""
|
||||
"Profile you selected. You will be able to install them based on our "
|
||||
"requirements."
|
||||
msgstr ""
|
||||
"Instaluj więcej modułów. Proponujemy moduły zalecane do profilu księgowego, "
|
||||
"który wybrałeś. Będziesz mógł je instalować według naszych wskazań."
|
||||
|
||||
#. module: profile_accounting
|
||||
#: constraint:ir.model:0
|
||||
@@ -35,7 +37,7 @@ msgstr ""
|
||||
#. module: profile_accounting
|
||||
#: view:profile.accounting.config.install_modules_wizard:0
|
||||
msgid "Services Management"
|
||||
msgstr ""
|
||||
msgstr "Zarządzanie usługami"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: help:profile.accounting.config.install_modules_wizard,board_document:0
|
||||
@@ -45,51 +47,55 @@ msgid ""
|
||||
"documents, printed reports, calendar system). It opens an FTP access for the "
|
||||
"users to easily browse association's document."
|
||||
msgstr ""
|
||||
"System zarządzania dokumentami w OpenERP pozwala przechowywać, przeglądać, "
|
||||
"automatycznie indeksować, przeszukiwać i podglądać wszystkie rodzaje "
|
||||
"dokumentów (dokumenty wewnętrzne, drukowane raporty, kalendarze). Otwiera on "
|
||||
"dla użytkowników dostęp FTP do łatwego przeglądania powiązanych dokumentów."
|
||||
|
||||
#. module: profile_accounting
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
|
||||
|
||||
#. module: profile_accounting
|
||||
#: view:profile.accounting.config.install_modules_wizard:0
|
||||
msgid "Resources Management"
|
||||
msgstr ""
|
||||
msgstr "Zarządzanie zasobami"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: field:profile.accounting.config.install_modules_wizard,account_payment:0
|
||||
msgid "Suppliers Payment Management"
|
||||
msgstr ""
|
||||
msgstr "Zarządzanie płatnościami dla dostawców"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: field:profile.accounting.config.install_modules_wizard,account_asset:0
|
||||
msgid "Asset Management"
|
||||
msgstr ""
|
||||
msgstr "Środki trwałe"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: field:profile.accounting.config.install_modules_wizard,account_analytic_plans:0
|
||||
msgid "Multiple Analytic Plans"
|
||||
msgstr ""
|
||||
msgstr "Planowanie analityczne"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: model:ir.actions.act_window,name:profile_accounting.action_config_install_module
|
||||
msgid "Accounting Profile : Install Extra Modules"
|
||||
msgstr ""
|
||||
msgstr "Profil księgowy: Instaluj dodatkowe moduły"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: field:profile.accounting.config.install_modules_wizard,hr_timesheet_invoice:0
|
||||
msgid "Invoice on Analytic Entries"
|
||||
msgstr ""
|
||||
msgstr "Faktura z zapisów analitycznych"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: model:ir.module.module,description:profile_accounting.module_meta_information
|
||||
msgid "Profile for Accounting"
|
||||
msgstr ""
|
||||
msgstr "Profil dla księgowości"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: help:profile.accounting.config.install_modules_wizard,account_budget:0
|
||||
msgid "Helps you to manage financial and analytic budgets."
|
||||
msgstr ""
|
||||
msgstr "Pomaga zarządzać budżetami finansowymi i analitycznymi."
|
||||
|
||||
#. module: profile_accounting
|
||||
#: constraint:ir.ui.view:0
|
||||
@@ -99,37 +105,37 @@ msgstr "XML niewłaściwy dla tej architektury wyświetlania!"
|
||||
#. module: profile_accounting
|
||||
#: field:profile.accounting.config.install_modules_wizard,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
msgstr "Nazwa"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: field:profile.accounting.config.install_modules_wizard,account_budget:0
|
||||
msgid "Budgets"
|
||||
msgstr ""
|
||||
msgstr "Budżety"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: view:profile.accounting.config.install_modules_wizard:0
|
||||
msgid "Install"
|
||||
msgstr ""
|
||||
msgstr "Instaluj"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: view:profile.accounting.config.install_modules_wizard:0
|
||||
msgid "Install Extra Module"
|
||||
msgstr ""
|
||||
msgstr "Instaluj dodatkowe moduły"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: model:ir.module.module,shortdesc:profile_accounting.module_meta_information
|
||||
msgid "Accounting only profile"
|
||||
msgstr ""
|
||||
msgstr "Profil tylko księgowy"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: field:profile.accounting.config.install_modules_wizard,account_analytic_analysis:0
|
||||
msgid "Analytic Accounting"
|
||||
msgstr ""
|
||||
msgstr "Księgowość analityczna"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: field:profile.accounting.config.install_modules_wizard,board_document:0
|
||||
msgid "Document Management"
|
||||
msgstr ""
|
||||
msgstr "Zarządzanie dokumentami"
|
||||
|
||||
#. module: profile_accounting
|
||||
#: model:ir.model,name:profile_accounting.model_profile_accounting_config_install_modules_wizard
|
||||
@@ -139,4 +145,4 @@ msgstr ""
|
||||
#. module: profile_accounting
|
||||
#: view:profile.accounting.config.install_modules_wizard:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Anuluj"
|
||||
|
||||
@@ -7,24 +7,24 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 13:28+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-05-25 16:49+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-17 04:16+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-26 03:47+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: field:profile.manufacturing.config.install_modules_wizard,mrp_operation:0
|
||||
msgid "Manufacturing Operations"
|
||||
msgstr ""
|
||||
msgstr "Operacje produkcyjne"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: model:ir.module.module,description:profile_manufacturing.module_meta_information
|
||||
msgid "Profile for manufacturing industries"
|
||||
msgstr ""
|
||||
msgstr "Profil dla firm produkcyjnych"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: constraint:ir.model:0
|
||||
@@ -37,22 +37,22 @@ msgstr ""
|
||||
#. module: profile_manufacturing
|
||||
#: field:profile.manufacturing.config.install_modules_wizard,mrp_jit:0
|
||||
msgid "Just in Time Scheduling"
|
||||
msgstr ""
|
||||
msgstr "Planowanie natychmiastowe (JiT)"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: field:profile.manufacturing.config.install_modules_wizard,sale_journal:0
|
||||
msgid "Manage by Journals"
|
||||
msgstr ""
|
||||
msgstr "Zarządzanie wg dzienników"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: view:profile.manufacturing.config.install_modules_wizard:0
|
||||
msgid "Relationship Management"
|
||||
msgstr ""
|
||||
msgstr "Zarządzanie relacjami"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: help:profile.manufacturing.config.install_modules_wizard,portal:0
|
||||
msgid "This module allows you to manage a Portal system."
|
||||
msgstr ""
|
||||
msgstr "Ten moduł pozwoli ci zarządzać systemem portalu."
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: help:profile.manufacturing.config.install_modules_wizard,board_document:0
|
||||
@@ -62,6 +62,10 @@ msgid ""
|
||||
"documents, printed reports, calendar system). It opens an FTP access for the "
|
||||
"users to easily browse association's document."
|
||||
msgstr ""
|
||||
"System zarządzania dokumentami w OpenERP pozwala przechowywać, przeglądać, "
|
||||
"automatycznie indeksować, przeszukiwać i podglądać wszystkie rodzaje "
|
||||
"dokumentów (dokumenty wewnętrzne, drukowane raporty, kalendarze). Otwiera on "
|
||||
"dla użytkowników dostęp FTP do łatwego przeglądania powiązanych dokumentów."
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: help:profile.manufacturing.config.install_modules_wizard,sale_journal:0
|
||||
@@ -70,17 +74,20 @@ msgid ""
|
||||
"journals. You can define journals for trucks, salesman, departments, "
|
||||
"invoicing date delivery period, etc."
|
||||
msgstr ""
|
||||
"Ten moduł pozwala zarządzać sprzedażą, fakturowaniem i pobieraniem produktów "
|
||||
"przez dzinniki. Możesz definiować dzienniki dla ciężarówek, sprzedawców, "
|
||||
"działów, dat fakturowania, okresów dostaw itp."
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: model:ir.actions.act_window,name:profile_manufacturing.action_config_install_module
|
||||
#: view:profile.manufacturing.config.install_modules_wizard:0
|
||||
msgid "Manufacturing Profile: Install Extra Modules"
|
||||
msgstr ""
|
||||
msgstr "Profil produkcyjny: Instaluj dodatkowe moduły"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: help:profile.manufacturing.config.install_modules_wizard,mrp_jit:0
|
||||
@@ -89,6 +96,9 @@ msgid ""
|
||||
"and faster for real time stock computation but, in counter-part, it manages "
|
||||
"less efficiently priorities in procurements."
|
||||
msgstr ""
|
||||
"Moduł JIT pozwala działać planiście bez jego uruchamiania. Jest to szybsze i "
|
||||
"łatwiejsze dla obliczeń zapasów w czasie rzeczywistym, ale nieefektywne w "
|
||||
"zarządzaniu priorytetami w nabyciach."
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: help:profile.manufacturing.config.install_modules_wizard,mrp_operation:0
|
||||
@@ -97,11 +107,15 @@ msgid ""
|
||||
"work order/operation. You will be able to planify, analyse the cost, check "
|
||||
"times, ... on all operations of each manufacturing order"
|
||||
msgstr ""
|
||||
"Ten moduł pozwala nie tylko zarządzać produkcją przez zamówienia produkcji, "
|
||||
"ale również przez zamówienia czynności/operacje. Będziesz mógł planować, "
|
||||
"analizować koszt, sprawdzać czas, ... dla wszystkich operacji w każdym "
|
||||
"zamówieniu produkcyjnym"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: field:profile.manufacturing.config.install_modules_wizard,board_document:0
|
||||
msgid "Document Management"
|
||||
msgstr ""
|
||||
msgstr "Zarządzanie dokumentami"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: field:profile.manufacturing.config.install_modules_wizard,portal:0
|
||||
@@ -111,7 +125,7 @@ msgstr ""
|
||||
#. module: profile_manufacturing
|
||||
#: view:profile.manufacturing.config.install_modules_wizard:0
|
||||
msgid "Stock & Manufacturing"
|
||||
msgstr ""
|
||||
msgstr "Zapasy i Produkcja"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: help:profile.manufacturing.config.install_modules_wizard,mrp_repair:0
|
||||
@@ -119,6 +133,8 @@ msgid ""
|
||||
"Allow to manage product repairs. Handle the guarantee limit date and the "
|
||||
"invoicing of products and services."
|
||||
msgstr ""
|
||||
"Pozwala zarządzać naprawami produktów. Obsługuje czasy gwarancji i "
|
||||
"fakturowanie produktów i usług."
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: constraint:ir.ui.view:0
|
||||
@@ -132,16 +148,20 @@ msgid ""
|
||||
"manufacturing profile you selected. You will be able to install them based "
|
||||
"on our requirements."
|
||||
msgstr ""
|
||||
"Instaluj więcej modułów. Proponujemy moduły zalecane do profilu "
|
||||
"produkcyjnego, który wybrałeś. Będziesz mógł je instalować według naszych "
|
||||
"wskazań."
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: help:profile.manufacturing.config.install_modules_wizard,mrp_subproduct:0
|
||||
msgid "This module allows you to add sub poducts in mrp bom."
|
||||
msgstr ""
|
||||
"Ten moduł pozwala dodać produkty uboczne w zestawieniu materiałowym MRP."
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: model:ir.module.module,shortdesc:profile_manufacturing.module_meta_information
|
||||
msgid "Manufacturing industry profile"
|
||||
msgstr ""
|
||||
msgstr "Profil firm produkcyjnych"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: model:ir.model,name:profile_manufacturing.model_profile_manufacturing_config_install_modules_wizard
|
||||
@@ -155,26 +175,28 @@ msgid ""
|
||||
"opportunities tracking, shared calendar, jobs tracking, bug tracker, and so "
|
||||
"on."
|
||||
msgstr ""
|
||||
"To instaluje funkcjonalność relacji z klientami jak: obsługa sygnałów i "
|
||||
"szans, współdzielone kalendarze, obsadzanie stanowisk, obsługa błędów itp."
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: view:profile.manufacturing.config.install_modules_wizard:0
|
||||
msgid "Install"
|
||||
msgstr ""
|
||||
msgstr "Instaluj"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: field:profile.manufacturing.config.install_modules_wizard,sale_crm:0
|
||||
msgid "CRM and Calendars"
|
||||
msgstr ""
|
||||
msgstr "CRM i kalendarze"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: field:profile.manufacturing.config.install_modules_wizard,mrp_repair:0
|
||||
msgid "Repair"
|
||||
msgstr ""
|
||||
msgstr "Naprawa"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: help:profile.manufacturing.config.install_modules_wizard,sale_margin:0
|
||||
msgid "Display margins on the sale order form."
|
||||
msgstr ""
|
||||
msgstr "Wyświetlaj marże na formularzu zamówienia sprzedaży."
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: help:profile.manufacturing.config.install_modules_wizard,point_of_sale:0
|
||||
@@ -184,26 +206,30 @@ msgid ""
|
||||
"a perfect ergonomy with touchscreen materials and payment processing "
|
||||
"hardware."
|
||||
msgstr ""
|
||||
"Ten moduł pozwala obsługiwać punkt sprzedaży. Zawiera podstawową formę "
|
||||
"operacji punktu sprzedaży. Musisz sprawdzić jeszcze nasz punkt sprzedaży dla "
|
||||
"sprzedawcy (frontend), zby się przekonać o ergonomii ekranu dotykowego i "
|
||||
"urządzeń do obsługi płatności."
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: field:profile.manufacturing.config.install_modules_wizard,mrp_subproduct:0
|
||||
msgid "Mrp Sub Product"
|
||||
msgstr ""
|
||||
msgstr "Produkt uboczny MRP"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: view:profile.manufacturing.config.install_modules_wizard:0
|
||||
msgid "Sales Management"
|
||||
msgstr ""
|
||||
msgstr "Sprzedaż"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: field:profile.manufacturing.config.install_modules_wizard,warning:0
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
msgstr "Ostrzeżenie"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: field:profile.manufacturing.config.install_modules_wizard,sale_margin:0
|
||||
msgid "Margins on Sales Order"
|
||||
msgstr ""
|
||||
msgstr "Marże w zamówieniu sprzedaży"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: help:profile.manufacturing.config.install_modules_wizard,stock_location:0
|
||||
@@ -214,18 +240,23 @@ msgid ""
|
||||
"managing a manufacturing chain, a quality control location, product that you "
|
||||
"rent, etc."
|
||||
msgstr ""
|
||||
"Pozwala zarządzać zaawansowaną logistyką z różnymi strefami. Możesz "
|
||||
"zdefiniować, według produktu: domyślną strefę, ścieżkę stref dla różnych "
|
||||
"operacji, itp. Moduł ten jest zwykle stosowany do: lokalizacji produktów, "
|
||||
"zarządzania łańcuchem produkcyjnym, stref kontroli jakości, produktów "
|
||||
"wypożyczanych, itp."
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: view:profile.manufacturing.config.install_modules_wizard:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Anuluj"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: field:profile.manufacturing.config.install_modules_wizard,point_of_sale:0
|
||||
msgid "Point of Sale"
|
||||
msgstr ""
|
||||
msgstr "Punkt sprzedaży"
|
||||
|
||||
#. module: profile_manufacturing
|
||||
#: field:profile.manufacturing.config.install_modules_wizard,stock_location:0
|
||||
msgid "Advanced Locations"
|
||||
msgstr ""
|
||||
msgstr "Zaawansowane strefy"
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-05-13 17:05+0000\n"
|
||||
"PO-Revision-Date: 2010-05-25 15:03+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-14 04:55+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-26 03:47+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: project
|
||||
@@ -1130,7 +1130,7 @@ msgstr "Błąd ! Nie możesz tworzyć rekurencyjnych projektów."
|
||||
#. module: project
|
||||
#: field:project.task,date_deadline:0
|
||||
msgid "Deadline"
|
||||
msgstr "Ostateczny czas ukończenia"
|
||||
msgstr "Termin"
|
||||
|
||||
#. module: project
|
||||
#: wizard_field:project.task.delegate,init,user_id:0
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
<field name="user_id" string="Project Manager" default="1"/>
|
||||
<field name="partner_id" string="Partner"/>
|
||||
</group>
|
||||
<group expand="1" string="Group By..." colspan="4" col="20">
|
||||
<group expand="1" string="Group By..." colspan="4" col="20" groups="base.group_extended">
|
||||
<filter string="Users" name="Users" icon="terp-project" domain = "[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Partner" name="Partner" icon="terp-project" domain = "[]" context="{'group_by':'partner_id'}"/>
|
||||
</group>
|
||||
|
||||
@@ -55,10 +55,10 @@
|
||||
<field name="arch" type="xml">
|
||||
<search string="Tasks Analysis">
|
||||
<group>
|
||||
<filter icon="terp-project" string="Last 365 Days"
|
||||
<filter icon="gtk-media-rewind" string="Last 365 Days"
|
||||
domain="[('date_start','<=', time.strftime('%%Y-%%m-%%d')),('date_start','>',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Tasks performed in last 365 Days"/>
|
||||
<filter icon="terp-project" string="Last 30 Days"
|
||||
<filter icon="gtk-media-rewind" string="Last 30 Days"
|
||||
name="month"
|
||||
domain="[('date_start','<=', time.strftime('%%Y-%%m-%%d')), ('date_start','>',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Tasks performed in last 30 days"/>
|
||||
@@ -98,26 +98,11 @@
|
||||
</field>
|
||||
<field name="project_id" widget="selection">
|
||||
<filter icon="terp-project"
|
||||
string="My Task"
|
||||
help="My Tasks"
|
||||
string="My Projects"
|
||||
help="My Projects"
|
||||
domain="[('project_id','=',context.get('project_id', False)]"/>
|
||||
<filter icon="terp-project"
|
||||
string="Non assigned tasks to projects"
|
||||
help ="Non assigned tasks to projects"
|
||||
domain="[('project_id','=',False"/>
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<field name="type" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_deadline"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="priority"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="11">
|
||||
<filter string="User" name="User" icon="terp-project" context="{'group_by':'user_id'}" />
|
||||
<filter string="Project" icon="terp-project" context="{'group_by':'project_id'}"/>
|
||||
@@ -133,6 +118,16 @@
|
||||
<filter string="Month" icon="terp-project" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-project" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12" groups="base.group_extended">
|
||||
<field name="type" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_deadline"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="priority"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 14:25+0000\n"
|
||||
"PO-Revision-Date: 2010-05-25 10:02+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-17 04:15+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-26 03:47+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: project_gtd
|
||||
@@ -37,7 +37,7 @@ msgstr ""
|
||||
#. module: project_gtd
|
||||
#: model:ir.actions.act_window,name:project_gtd.act_timebox_tasks_my_deadline_open
|
||||
msgid "My Deadlines"
|
||||
msgstr ""
|
||||
msgstr "Moje terminy"
|
||||
|
||||
#. module: project_gtd
|
||||
#: selection:project.gtd.timebox,type:0
|
||||
@@ -83,7 +83,7 @@ msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
|
||||
#. module: project_gtd
|
||||
#: field:project.gtd.timebox,context4_id:0
|
||||
msgid "Context 4"
|
||||
msgstr ""
|
||||
msgstr "Kontekst 4"
|
||||
|
||||
#. module: project_gtd
|
||||
#: wizard_field:project.gtd.timebox.fill,init,timebox_to_id:0
|
||||
@@ -110,7 +110,7 @@ msgstr ""
|
||||
#. module: project_gtd
|
||||
#: model:ir.module.module,shortdesc:project_gtd.module_meta_information
|
||||
msgid "Getting Things Done - Time Management Module"
|
||||
msgstr ""
|
||||
msgstr "GTD - personalny moduł zarządzania czasem"
|
||||
|
||||
#. module: project_gtd
|
||||
#: model:ir.actions.act_window,name:project_gtd.act_timebox_tasks
|
||||
@@ -140,7 +140,7 @@ msgstr ""
|
||||
#. module: project_gtd
|
||||
#: model:ir.actions.act_window,name:project_gtd.act_timebox_tasks_my_pending
|
||||
msgid "My Pending Tasks"
|
||||
msgstr ""
|
||||
msgstr "Moje zadania oczekujące"
|
||||
|
||||
#. module: project_gtd
|
||||
#: view:project.gtd.timebox:0
|
||||
@@ -166,17 +166,17 @@ msgstr ""
|
||||
#. module: project_gtd
|
||||
#: field:project.gtd.timebox,context1_id:0
|
||||
msgid "Context 1"
|
||||
msgstr ""
|
||||
msgstr "Kontekst 1"
|
||||
|
||||
#. module: project_gtd
|
||||
#: field:project.gtd.timebox,context2_id:0
|
||||
msgid "Context 2"
|
||||
msgstr ""
|
||||
msgstr "Kontekst 2"
|
||||
|
||||
#. module: project_gtd
|
||||
#: field:project.gtd.timebox,context3_id:0
|
||||
msgid "Context 3"
|
||||
msgstr ""
|
||||
msgstr "Kontekst 3"
|
||||
|
||||
#. module: project_gtd
|
||||
#: wizard_button:project.gtd.timebox.fill,init,process:0
|
||||
@@ -186,12 +186,12 @@ msgstr ""
|
||||
#. module: project_gtd
|
||||
#: field:project.gtd.timebox,context5_id:0
|
||||
msgid "Context 5"
|
||||
msgstr ""
|
||||
msgstr "Kontekst 5"
|
||||
|
||||
#. module: project_gtd
|
||||
#: field:project.gtd.timebox,context6_id:0
|
||||
msgid "Context 6"
|
||||
msgstr ""
|
||||
msgstr "Kontekst 6"
|
||||
|
||||
#. module: project_gtd
|
||||
#: model:ir.actions.act_window,name:project_gtd.open_gtd_context_tree
|
||||
@@ -244,18 +244,18 @@ msgstr "Kontekst"
|
||||
#. module: project_gtd
|
||||
#: model:ir.actions.act_window,name:project_gtd.act_timebox_tasks_my_open
|
||||
msgid "My Open Tasks"
|
||||
msgstr ""
|
||||
msgstr "Moje otwarte zadania"
|
||||
|
||||
#. module: project_gtd
|
||||
#: model:ir.ui.menu,name:project_gtd.menu_open_gtd_time
|
||||
#: model:ir.ui.menu,name:project_gtd.menu_open_time
|
||||
msgid "Time Management"
|
||||
msgstr ""
|
||||
msgstr "Zarządzanie czasem"
|
||||
|
||||
#. module: project_gtd
|
||||
#: view:project.task:0
|
||||
msgid "Getting Things Done"
|
||||
msgstr ""
|
||||
msgstr "GTD - planowanie osobiste"
|
||||
|
||||
#. module: project_gtd
|
||||
#: field:project.gtd.timebox,task1_ids:0
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
<field name="project_id" select="1" widget="selection" string="Project"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="16">
|
||||
<group expand="1" string="Group By..." colspan="16" groups="base.group_extended">
|
||||
<filter string="Stage" icon="terp-crm" domain="[]"
|
||||
context="{'group_by':'stage_id'}" />
|
||||
<filter string="Priority" icon="terp-crm" domain="[]"
|
||||
|
||||
@@ -96,7 +96,50 @@
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="1" string="Group By..." colspan="4" col="8">
|
||||
<filter string="User" name="User" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'user_id'}" />
|
||||
|
||||
<filter string="Company" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'company_id'}" />
|
||||
|
||||
<filter string="Section" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'section_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="State" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'state'}" />
|
||||
|
||||
<filter string="Category" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'categ_id'}" />
|
||||
|
||||
<filter string="Stage" icon="terp-sale" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Project" icon="terp-sale" domain="[]" context="{'group_by':'project_id'}" />
|
||||
<filter string="Priority" icon="terp-sale" domain="[]" context="{'group_by':'priority'}" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Type" icon="terp-sale" domain="[]" context="{'group_by':'type_id'}"/>
|
||||
<filter string="Task" icon="terp-sale" domain="[]" context="{'group_by':'task_id'}"/>
|
||||
<newline/>
|
||||
<filter string="Assigned To" icon="terp-sale" domain="[]" context="{'group_by':'assigned_to'}"/>
|
||||
<filter string="Partner" icon="terp-sale" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Channel" icon="terp-sale" domain="[]" context="{'group_by':'canal_id'}"/>
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Day" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'day'}"/>
|
||||
|
||||
<filter string="Month" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'month'}" />
|
||||
|
||||
<filter string="Year" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'name'}" />
|
||||
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12" groups="base.group_extended">
|
||||
<filter icon="terp-sale"
|
||||
string="Done"
|
||||
domain="[('state','=','done')]"/>
|
||||
@@ -127,49 +170,6 @@
|
||||
</group>
|
||||
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="8">
|
||||
<filter string="User" name="User" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'user_id'}" />
|
||||
|
||||
<filter string="Company" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'company_id'}" />
|
||||
|
||||
<filter string="Section" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'section_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="State" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'state'}" />
|
||||
|
||||
<filter string="Category" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'categ_id'}" />
|
||||
|
||||
<filter string="Stage" icon="terp-sale" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Project" icon="terp-sale" domain="[]" context="{'group_by':'project_id'}" />
|
||||
<filter string="Priority" icon="terp-sale" domain="[]" context="{'group_by':'priority'}" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Type" icon="terp-sale" domain="[]" context="{'group_by':'type_id'}"/>
|
||||
<filter string="Task" icon="terp-sale" domain="[]" context="{'group_by':'task_id'}"/>
|
||||
<newline/>
|
||||
<filter string="Assigned To" icon="terp-sale" domain="[]" context="{'group_by':'assigned_to'}"/>
|
||||
<filter string="Partner" icon="terp-sale" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Channel" icon="terp-sale" domain="[]" context="{'group_by':'canal_id'}"/>
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Day" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'day'}"/>
|
||||
|
||||
<filter string="Month" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'month'}" />
|
||||
|
||||
<filter string="Year" icon="terp-sale"
|
||||
domain="[]" context="{'group_by':'name'}" />
|
||||
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -34,13 +34,11 @@ from tools.translate import _
|
||||
|
||||
class project_issue(osv.osv):
|
||||
_inherit = 'project.issue'
|
||||
|
||||
_columns = {
|
||||
'timesheet_ids' : fields.one2many('hr.analytic.timesheet', 'issue_id', 'Timesheets'),
|
||||
'analytic_account_id' : fields.many2one('account.analytic.account', 'Analytic Account',
|
||||
domain="[('partner_id', '=', partner_id)]",
|
||||
required=True),
|
||||
'analytic_account_id': fields.related('project_id','category_id',string='Analytic Account')
|
||||
}
|
||||
project_issue()
|
||||
|
||||
class account_analytic_line(osv.osv):
|
||||
_inherit = 'account.analytic.line'
|
||||
@@ -53,10 +51,8 @@ account_analytic_line()
|
||||
|
||||
class hr_analytic_issue(osv.osv):
|
||||
_inherit = 'hr.analytic.timesheet'
|
||||
|
||||
_columns = {
|
||||
'issue_id' : fields.many2one('project.issue', 'Issue'),
|
||||
}
|
||||
|
||||
hr_analytic_issue()
|
||||
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
<field name="arch" type="xml">
|
||||
<notebook colspan="4">
|
||||
<page string="Worklogs">
|
||||
<separator string="Timesheets" colspan="4" />
|
||||
<field name="analytic_account_id" invisible="1"/>
|
||||
<field name="timesheet_ids" colspan="4" nolabel="1" context="{'default_user_id' : user_id, 'default_account_id' : analytic_account_id}">
|
||||
<tree editable="top" string="Timesheet">
|
||||
<field name="create_date" string="Date" />
|
||||
<field name="user_id" readonly="1" />
|
||||
<field name="date"/>
|
||||
<field name="user_id"/>
|
||||
<field name="account_id" invisible="0" domain="[('partner_id', '=', parent.partner_id)]" on_change="on_change_account_id(account_id)"/>
|
||||
<field name="name"/>
|
||||
<field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, product_uom_id)" widget="float_time"/>
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
<field name="date_start"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="20">
|
||||
<group expand="1" string="Group By..." colspan="4" col="20" groups="base.group_extended">
|
||||
<filter string="Project" icon="terp-project" domain="[]" context="{'group_by':'project_id'}"/>
|
||||
<filter string="State" icon="terp-project" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="User" icon="terp-project" domain="[]" context="{'group_by':'responsible_id'}"/>
|
||||
|
||||
@@ -7,19 +7,19 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-12-10 21:08+0000\n"
|
||||
"PO-Revision-Date: 2010-05-25 15:08+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-17 04:13+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-26 03:47+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: project_mrp
|
||||
#: model:process.node,note:project_mrp.process_node_procuretasktask0
|
||||
msgid "For each product, on type service and on order"
|
||||
msgstr ""
|
||||
msgstr "Dla każdego produktu o typie usługa i na zamówienie"
|
||||
|
||||
#. module: project_mrp
|
||||
#: model:process.node,name:project_mrp.process_node_mrptask0
|
||||
@@ -31,7 +31,7 @@ msgstr "Zadanie"
|
||||
#: model:process.transition,note:project_mrp.process_transition_ordertask0
|
||||
msgid "If procure method is Make to order and supply method is produce"
|
||||
msgstr ""
|
||||
"Jeśli metoda nabycia jest \"Na zamówienie' i metoda zaopatrzenia jest "
|
||||
"Jeśli metoda nabycia jest 'Na zamówienie' i metoda zaopatrzenia jest "
|
||||
"'Produkcja'"
|
||||
|
||||
#. module: project_mrp
|
||||
@@ -57,29 +57,29 @@ msgstr "Zarządzanie projektami - Integracja ze sprzedażą i MRP"
|
||||
#. module: project_mrp
|
||||
#: model:process.transition,name:project_mrp.process_transition_procuretask0
|
||||
msgid "Procure Task"
|
||||
msgstr ""
|
||||
msgstr "Utwórz zadanie"
|
||||
|
||||
#. module: project_mrp
|
||||
#: model:process.node,note:project_mrp.process_node_mrptask0
|
||||
msgid "A task is created to provide the service."
|
||||
msgstr ""
|
||||
msgstr "Utworzono zadanie dla wykonywanej usługi"
|
||||
|
||||
#. module: project_mrp
|
||||
#: model:process.transition,name:project_mrp.process_transition_ordertask0
|
||||
msgid "Order Task"
|
||||
msgstr ""
|
||||
msgstr "Zamów zadanie"
|
||||
|
||||
#. module: project_mrp
|
||||
#: model:process.node,name:project_mrp.process_node_saleordertask0
|
||||
msgid "Sale Order Task"
|
||||
msgstr ""
|
||||
msgstr "Zadanie do zamówienia sprzedaży"
|
||||
|
||||
#. module: project_mrp
|
||||
#: model:process.transition,name:project_mrp.process_transition_createtask0
|
||||
msgid "Create Task"
|
||||
msgstr ""
|
||||
msgstr "Utwórz zadanie"
|
||||
|
||||
#. module: project_mrp
|
||||
#: model:process.node,note:project_mrp.process_node_saleordertask0
|
||||
msgid "In case you sell services on sale order"
|
||||
msgstr ""
|
||||
msgstr "W przypadku sprzedaży usług na zamówienie sprzedaży"
|
||||
|
||||
@@ -7,21 +7,21 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 15:12+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-05-25 15:04+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-17 04:16+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-26 03:47+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.module.module,shortdesc:project_timesheet.module_meta_information
|
||||
msgid "Project Timesheet"
|
||||
msgstr ""
|
||||
msgstr "Karta czasu pracy projektu"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: field:project.task.work,hr_analytic_timesheet_id:0
|
||||
msgid "Related Timeline Id"
|
||||
msgstr ""
|
||||
msgstr "ID związanej karty czasu pracy"
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
<field name="project_id" select="1"/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
<newline/>
|
||||
<group expand="1" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="1" string="Extended filters..." colspan="10" col="12" groups="base.group_extended">
|
||||
<filter icon="terp-project"
|
||||
string="Very urgent"
|
||||
domain="[('priority','=','0')]"/>
|
||||
@@ -96,7 +96,7 @@
|
||||
domain="[('priority','=','4')]"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="11">
|
||||
<group expand="1" string="Group By..." colspan="10" col="11" groups="base.group_extended">
|
||||
<filter string="User" icon="terp-project" context="{'group_by':'user_id'}" />
|
||||
<filter string="Project" icon="terp-project" context="{'group_by':'project_id'}" />
|
||||
<filter string="Company" icon="terp-project" context="{'group_by':'company_id'}" />
|
||||
|
||||
@@ -163,7 +163,7 @@
|
||||
<field name="create_uid" select="1" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="10">
|
||||
<group expand="1" string="Group By..." colspan="4" col="10" groups="base.group_extended">
|
||||
<filter string="Supplier" icon="terp-purchase" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="State" icon="terp-sale" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Order Date" icon="terp-purchase" domain="[]" context="{'group_by':'date_order'}"/>
|
||||
|
||||
@@ -88,7 +88,29 @@
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Company" icon="terp-purchase" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<filter string="Warehouse" icon="terp-purchase" context="{'group_by':'warehouse_id'}"/>
|
||||
<filter string="Location" icon="terp-purchase" context="{'group_by':'location_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Responsible" name="Responsible" icon="terp-purchase" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Pricelist" icon="terp-purchase" context="{'group_by':'pricelist_id'}"/>
|
||||
<filter string="Validated by" icon="terp-purchase" context="{'group_by':'validator'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Address Contact Name" icon="terp-purchase" context="{'group_by':'partner_address_id'}"/>
|
||||
<filter string="Dest. Contact Name" icon="terp-purchase" context="{'group_by':'dest_address_id'}"/>
|
||||
<filter string="Product" icon="terp-purchase" context="{'group_by':'product_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Supplier" name="partner_id" icon="terp-purchase" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="State" icon="terp-purchase" context="{'group_by':'state'}"/>
|
||||
<filter string="Fiscal Position" icon="terp-purchase" context="{'group_by':'fiscal_position'}"/>
|
||||
<newline/>
|
||||
<filter string="Day" icon="terp-purchase" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-purchase" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-purchase" context="{'group_by':'name'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended filters..." colspan="10" col="12" groups="base.group_extended">
|
||||
<filter icon="terp-purchase" string="Shipping Exception" domain="[('state','=','shipping_except')]"/>
|
||||
<filter icon="terp-purchase" string="Done" domain="[('state','=','done')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
@@ -113,28 +135,6 @@
|
||||
<newline/>
|
||||
<field name="date"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Company" icon="terp-purchase" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<filter string="Warehouse" icon="terp-purchase" context="{'group_by':'warehouse_id'}"/>
|
||||
<filter string="Location" icon="terp-purchase" context="{'group_by':'location_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Responsible" name="Responsible" icon="terp-purchase" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Pricelist" icon="terp-purchase" context="{'group_by':'pricelist_id'}"/>
|
||||
<filter string="Validated by" icon="terp-purchase" context="{'group_by':'validator'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Address Contact Name" icon="terp-purchase" context="{'group_by':'partner_address_id'}"/>
|
||||
<filter string="Dest. Contact Name" icon="terp-purchase" context="{'group_by':'dest_address_id'}"/>
|
||||
<filter string="Product" icon="terp-purchase" context="{'group_by':'product_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Supplier" name="partner_id" icon="terp-purchase" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="State" icon="terp-purchase" context="{'group_by':'state'}"/>
|
||||
<filter string="Fiscal Position" icon="terp-purchase" context="{'group_by':'fiscal_position'}"/>
|
||||
<newline/>
|
||||
<filter string="Day" icon="terp-purchase" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-purchase" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-purchase" context="{'group_by':'name'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
<field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="10">
|
||||
<group expand="1" string="Group By..." colspan="4" col="10" groups="base.group_extended">
|
||||
<filter string="State" icon="terp-sale" domain="[]" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Date Start" icon="terp-purchase" domain="[]" context="{'group_by':'date_start'}"/>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user