diff options
Diffstat (limited to 'addons')
192 files changed, 3963 insertions, 4131 deletions
diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py index 927ce94db31..ae225cc60de 100644 --- a/addons/account/account_cash_statement.py +++ b/addons/account/account_cash_statement.py @@ -32,7 +32,7 @@ class account_cashbox_line(osv.osv): _name = 'account.cashbox.line' _description = 'CashBox Line' - _rec_name = 'number' + _rec_name = 'pieces' def _sub_total(self, cr, uid, ids, name, arg, context=None): @@ -325,7 +325,7 @@ account_journal() class account_journal_cashbox_line(osv.osv): _name = 'account.journal.cashbox.line' - _rec_name = 'value' + _rec_name = 'pieces' _columns = { 'pieces': fields.float('Values', digits_compute=dp.get_precision('Account')), 'journal_id' : fields.many2one('account.journal', 'Journal', required=True, select=1), diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 393c468c952..f1a8c82b382 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -442,32 +442,22 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Invoice"> - <group> - <field name="number" - string="Invoice" - filter_domain="['|', ('number','ilike',self),('origin','ilike',self)]"/> - <separator orientation="vertical"/> - <filter name="draft" icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Invoices"/> - <filter name="proforma" icon="terp-gtk-media-pause" string="Proforma" domain="[('state','=','proforma2')]" help="Proforma Invoices" groups="account.group_proforma_invoices"/> - <filter name="invoices" icon="terp-dolar" string="Invoices" domain="[('state','not in',['draft','cancel'])]" help="Proforma/Open/Paid Invoices"/> - <separator orientation="vertical"/> - <filter name="unpaid" icon="terp-dolar_ok!" string="Unpaid" domain="[('state','=','open')]" help="Unpaid Invoices"/> - <separator orientation="vertical"/> - <filter domain="[('user_id','=',uid)]" help="My Invoices" icon="terp-personal"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="user_id" widget="selection" string="Salesperson"/> - <field name="journal_id" widget="selection"/> - <field name="period_id" string="Period"/> - </group> - <newline/> + <field name="number" string="Invoice" filter_domain="['|', ('number','ilike',self),('origin','ilike',self)]"/> + <filter name="draft" icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Invoices"/> + <filter name="proforma" icon="terp-gtk-media-pause" string="Proforma" domain="[('state','=','proforma2')]" help="Proforma Invoices" groups="account.group_proforma_invoices"/> + <filter name="invoices" icon="terp-dolar" string="Invoices" domain="[('state','not in',['draft','cancel'])]" help="Proforma/Open/Paid Invoices"/> + <filter name="unpaid" icon="terp-dolar_ok!" string="Unpaid" domain="[('state','=','open')]" help="Unpaid Invoices"/> + <separator/> + <filter domain="[('user_id','=',uid)]" help="My Invoices" icon="terp-personal"/> + <field name="partner_id"/> + <field name="user_id" string="Salesperson"/> + <field name="journal_id"/> + <field name="period_id" string="Period"/> <group expand="0" string="Group By..."> <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/> <filter string="Invoice Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_invoice'}"/> <filter string="Due Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_due'}"/> diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index d342dc5d3b9..26e66c66281 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -63,15 +63,10 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Fiscalyear"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Fiscal Year"/> - <separator orientation="vertical"/> - <filter string="Open" domain="[('state','=','draft')]" icon="terp-camera_test"/> - <filter string="Closed" domain="[('state','=','done')]" icon="terp-dialog-close"/> - <separator orientation="vertical"/> - <field name="state"/> - </group> - <newline/> + <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Fiscal Year"/> + <filter string="Open" domain="[('state','=','draft')]" icon="terp-camera_test"/> + <filter string="Closed" domain="[('state','=','done')]" icon="terp-dialog-close"/> + <field name="state"/> <group expand="0" string="Group By..."> <filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/> </group> @@ -146,11 +141,8 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Period"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Period"/> - <separator orientation="vertical"/> - <filter string="To Close" name="draft" domain="[('state','=','draft')]" icon="terp-dialog-close"/> - </group> + <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Period"/> + <filter string="To Close" name="draft" domain="[('state','=','draft')]" icon="terp-dialog-close"/> </search> </field> </record> @@ -217,18 +209,12 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Accounts"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Account"/> - <separator orientation="vertical"/> - <filter icon="terp-sale" string="Receivable Accounts" domain="[('type','=','receivable')]"/> - <filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/> - <separator orientation="vertical"/> - <field name="user_type"/> - </group> - <newline/> + <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Account"/> + <filter icon="terp-sale" string="Receivable Accounts" domain="[('type','=','receivable')]"/> + <filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/> + <field name="user_type"/> <group expand="0" string="Group By..."> <filter string="Parent Account" icon="terp-folder-orange" domain="" context="{'group_by':'parent_id'}"/> - <separator orientation="vertical"/> <filter string="Account Type" icon="terp-stock_symbol-selection" domain="" context="{'group_by':'user_type'}"/> <filter string="Internal Type" icon="terp-stock_symbol-selection" domain="" context="{'group_by':'type'}"/> </group> @@ -440,21 +426,15 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Account Journal"> - <group> <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Journal"/> - <separator orientation="vertical"/> <filter domain="['|', ('type', '=', 'sale'), ('type', '=', 'sale_refund')]" string="Sale" icon="terp-camera_test"/> <filter domain="['|', ('type', '=', 'purchase'), ('type', '=', 'purchase_refund')]" string="Purchase" icon="terp-purchase"/> <filter domain="['|', ('type', '=', 'cash'), ('type', '=', 'bank')]" string="Liquidity" icon="terp-dolar"/> <filter domain="['|', ('type', '=', 'general'), ('type', '=', 'situation')]" string="Others" icon="terp-stock"/> - <separator orientation="vertical"/> <field name="user_id"/> - </group> - <newline/> <group expand="0" string="Group By..."> - <filter string="User" context="{'group_by':'user_id'}" icon="terp-personal"/> - <separator orientation="vertical"/> - <filter string="Type" context="{'group_by':'type'}" icon="terp-stock_symbol-selection"/> + <filter string="User" context="{'group_by':'user_id'}" icon="terp-personal"/> + <filter string="Type" context="{'group_by':'type'}" icon="terp-stock_symbol-selection"/> </group> </search> </field> @@ -542,22 +522,15 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Bank Statements"> - <group> - <field name="name" string="Bank Statement"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter string="Draft" name="state_draft" domain="[('state','=','draft')]" icon="terp-document-new"/> - <filter string="Open" name="state_open" domain="[('state','=','open')]" icon="terp-check"/> - <filter string="Confirmed" name="state_confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test"/> - <separator orientation="vertical"/> - <field name="journal_id" widget='selection' domain="[('type', '=', 'cash')]" /> - </group> - <newline/> + <field name="name" string="Bank Statement"/> + <field name="date"/> + <filter string="Draft" name="state_draft" domain="[('state','=','draft')]" icon="terp-document-new"/> + <filter string="Open" name="state_open" domain="[('state','=','open')]" icon="terp-check"/> + <filter string="Confirmed" name="state_confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test"/> + <field name="journal_id" domain="[('type', '=', 'cash')]" /> <group expand="0" string="Group By..."> <filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/> <filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/> - <separator orientation="vertical"/> <filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/> </group> </search> @@ -587,22 +560,15 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Bank Statements"> - <group> - <field name="name" string="Bank Statement"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter string="Draft" domain="[('state','=','draft')]" icon="terp-document-new"/> - <filter string="Confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test"/> - <separator orientation="vertical"/> - <field name="period_id"/> - <field name="journal_id" widget="selection" domain="[('type', '=', 'bank')]" /> - </group> - <newline/> + <field name="name" string="Bank Statement"/> + <field name="date"/> + <filter string="Draft" domain="[('state','=','draft')]" icon="terp-document-new"/> + <filter string="Confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test"/> + <field name="period_id"/> + <field name="journal_id" domain="[('type', '=', 'bank')]" /> <group expand="0" string="Group By..."> <filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/> <filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/> - <separator orientation="vertical"/> <filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/> </group> </search> @@ -833,7 +799,7 @@ <search string="Account Tax Code"> <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Tax Code"/> <field name="parent_id"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> + <field name="company_id" groups="base.group_multi_company"/> </search> </field> </record> @@ -916,10 +882,8 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Taxes"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('description','ilike',self)]" string="Tax"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - </group> + <field name="name" filter_domain="['|', ('name','ilike',self), ('description','ilike',self)]" string="Tax"/> + <field name="company_id" groups="base.group_multi_company"/> </search> </field> </record> @@ -1195,38 +1159,26 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Journal Items"> - <group> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Unbalanced" domain="[('state','=','draft')]" help="Unbalanced Journal Items"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Unposted" domain="[('move_id.state','=','draft')]" help="Unposted Journal Items"/> - <filter name="posted" icon="terp-camera_test" string="Posted" domain="[('move_id.state','=','posted')]" help="Posted Journal Items"/> - <separator orientation="vertical"/> - <filter - icon="terp-dolar_ok!" - string="Unreconciled" - domain="[('reconcile_id','=',False), ('account_id.reconcile','=',True)]" help="Unreconciled Journal Items" - name="unreconciled"/> - <separator orientation="vertical"/> - <filter string="Next Partner to Reconcile" help="Next Partner Entries to reconcile" name="next_partner" context="{'next_partner_only': 1}" icon="terp-gtk-jump-to-ltr" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/> - <separator orientation="vertical"/> - <field name="move_id" string="Number (Move)"/> - <field name="account_id"/> - <field name="partner_id"/> - <field name="journal_id" widget="selection" context="{'journal_id':self}"/> - <field name="period_id" context="{'period_id':self}"/> - </group> - <newline/> + <field name="date"/> + <filter icon="terp-document-new" string="Unbalanced" domain="[('state','=','draft')]" help="Unbalanced Journal Items"/> + <separator/> + <filter icon="terp-document-new" string="Unposted" domain="[('move_id.state','=','draft')]" help="Unposted Journal Items"/> + <filter name="posted" icon="terp-camera_test" string="Posted" domain="[('move_id.state','=','posted')]" help="Posted Journal Items"/> + <separator/> + <filter icon="terp-dolar_ok!" string="Unreconciled" domain="[('reconcile_id','=',False), ('account_id.reconcile','=',True)]" help="Unreconciled Journal Items" name="unreconciled"/> + <separator/> + <filter string="Next Partner to Reconcile" help="Next Partner Entries to reconcile" name="next_partner" context="{'next_partner_only': 1}" icon="terp-gtk-jump-to-ltr" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/> + <field name="move_id" string="Number (Move)"/> + <field name="account_id"/> + <field name="partner_id"/> + <field name="journal_id" context="{'journal_id':self}"/> + <field name="period_id" context="{'period_id':self}"/> <group expand="0" string="Group By..."> <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> <filter string="Account" icon="terp-folder-green" context="{'group_by':'account_id'}"/> - <separator orientation="vertical"/> <filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/> </group> - <newline/> </search> </field> </record> @@ -1444,27 +1396,19 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Move"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" string="Move"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Unposted" domain="[('state','=','draft')]" help="Unposted Journal Entries"/> - <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Journal Entries"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('to_check','=',True)]" help="Journal Entries to Review"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="journal_id" widget="selection"/> - <field name="period_id"/> - </group> - <newline/> + <field name="name" filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" string="Move"/> + <field name="date"/> + <filter icon="terp-document-new" string="Unposted" domain="[('state','=','draft')]" help="Unposted Journal Entries"/> + <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Journal Entries"/> + <separator/> + <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('to_check','=',True)]" help="Journal Entries to Review"/> + <field name="partner_id"/> + <field name="journal_id"/> + <field name="period_id"/> <group expand="0" string="Group By..."> <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> <filter string="States" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/> <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/> </group> @@ -1673,16 +1617,11 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Journal Entry Model"> - <group> - <field name="name" string="Journal Entry Model"/> - <separator orientation="vertical"/> - <filter string="Sale" icon="terp-camera_test" domain="[('journal_id.type', '=', 'sale')]"/> - <filter string="Purchase" icon="terp-purchase" domain="[('journal_id.type', '=', 'purchase')]"/> - <separator orientation="vertical"/> - <field name="journal_id" widget="selection"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - </group> - <newline/> + <field name="name" string="Journal Entry Model"/> + <filter string="Sale" icon="terp-camera_test" domain="[('journal_id.type', '=', 'sale')]"/> + <filter string="Purchase" icon="terp-purchase" domain="[('journal_id.type', '=', 'purchase')]"/> + <field name="journal_id"/> + <field name="company_id" groups="base.group_multi_company"/> <group expand="0" string="Group By..."> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> </group> @@ -1852,17 +1791,11 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Entry Subscription"> - <group> - <field name="name" string="Account Subscription"/> - <separator orientation="vertical"/> - <field name="date_start"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Subscription"/> - <filter icon="terp-camera_test" string="Running" domain="[('state','=','running')]" help="Running Subscription"/> - <separator orientation="vertical"/> - <field name="model_id"/> - </group> - <newline/> + <field name="name" string="Account Subscription"/> + <field name="date_start"/> + <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Subscription"/> + <filter icon="terp-camera_test" string="Running" domain="[('state','=','running')]" help="Running Subscription"/> + <field name="model_id"/> <group expand="0" string="Group By..."> <filter string="Model" icon="terp-folder-orange" domain="[]" context="{'group_by':'model_id'}"/> <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> @@ -2119,17 +2052,12 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Account Templates"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Account Template"/> - <separator orientation="vertical"/> - <filter icon="terp-sale" string="Receivale Accounts" domain="[('type','=','receivable')]"/> - <filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/> - <separator orientation="vertical"/> - <field name="parent_id"/> - <field name="user_type"/> - <field name="type"/> - </group> - <newline/> + <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Account Template"/> + <filter icon="terp-sale" string="Receivale Accounts" domain="[('type','=','receivable')]"/> + <filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/> + <field name="parent_id"/> + <field name="user_type"/> + <field name="type"/> <group expand="0" string="Group By..."> <filter string="Internal Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/> <filter string="Account Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'user_type'}"/> @@ -2188,20 +2116,14 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Chart of Account Templates"> - <group> - <field name="name" string="Account Template"/> - <separator orientation="vertical"/> - <field name="account_root_id"/> - <field name="bank_account_view_id"/> - </group> - <newline/> + <field name="name" string="Account Template"/> + <field name="account_root_id"/> + <field name="bank_account_view_id"/> <group expand="0" string="Group By..."> <filter string="Root Account" icon="terp-folder-orange" domain="[]" context="{'group_by':'account_root_id'}"/> <filter string="Bank Account" icon="terp-folder-orange" domain="[]" context="{'group_by':'bank_account_view_id'}"/> - <separator orientation="vertical"/> <filter string="Receivable Account" icon="terp-sale" domain="[]" context="{'group_by':'property_account_receivable'}"/> <filter string="Payable Account" icon="terp-purchase" domain="[]" context="{'group_by':'property_account_payable'}"/> - <separator orientation="vertical"/> <filter string="Income Account" icon="terp-sale" domain="[]" context="{'group_by':'property_account_income_categ'}"/> <filter string="Expense Account" icon="terp-purchase" domain="[]" context="{'group_by':'property_account_expense_categ'}"/> </group> @@ -2310,14 +2232,10 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Tax Templates"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('description','ilike',self)]" string="Tax Template"/> - <separator orientation="vertical"/> - <filter icon="terp-sale" string="Sale" domain="[('type_tax_use','=','sale')]" help="Taxes used in Sales"/> - <filter icon="terp-purchase" string="Purchase" domain="[('type_tax_use','=','purchase')]" help="Taxes used in Purchases"/> - <separator orientation="vertical"/> - <field name="chart_template_id"/> - </group> + <field name="name" filter_domain="['|', ('name','ilike',self), ('description','ilike',self)]" string="Tax Template"/> + <filter icon="terp-sale" string="Sale" domain="[('type_tax_use','=','sale')]" help="Taxes used in Sales"/> + <filter icon="terp-purchase" string="Purchase" domain="[('type_tax_use','=','purchase')]" help="Taxes used in Purchases"/> + <field name="chart_template_id"/> </search> </field> </record> @@ -2353,11 +2271,8 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search tax template"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Tax Template"/> - <field name="parent_id"/> - </group> - <newline/> + <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Tax Template"/> + <field name="parent_id"/> <group expand="0" string="Group By..."> <filter string="Parent Code" icon="terp-folder-orange" domain="[]" context="{'group_by':'parent_id'}"/> </group> @@ -2789,16 +2704,11 @@ action = pool.get('res.config').next(cr, uid, [], context) <field name="type">search</field> <field name="arch" type="xml"> <search string="Account Report"> - <group> - <field name="name" string="Account Report"/> - <separator orientation="vertical"/> - <field name="account_report_id"/> - <field name="type"/> - </group> - <newline/> + <field name="name" string="Account Report"/> + <field name="type"/> + <field name="account_report_id"/> <group expand="0" string="Group By..."> <filter string="Parent Report" icon="terp-folder-orange" domain="" context="{'group_by':'parent_id'}"/> - <separator orientation="vertical"/> <filter string="Report Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/> </group> </search> diff --git a/addons/account/i18n/es_EC.po b/addons/account/i18n/es_EC.po index fba1c8ed099..14beb1f5d65 100644 --- a/addons/account/i18n/es_EC.po +++ b/addons/account/i18n/es_EC.po @@ -16,8 +16,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-31 04:58+0000\n" -"X-Generator: Launchpad (build 15702)\n" +"X-Launchpad-Export-Date: 2012-08-01 04:43+0000\n" +"X-Generator: Launchpad (build 15719)\n" #. module: account #: view:account.invoice.report:0 diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index 76aaaf7df6a..de1a087d9c5 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -30,22 +30,15 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Analytic Account"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Analytic Account"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Accounts"/> - <filter icon="terp-camera_test" string="Current" domain="[('state','=','open')]" help="Current Accounts"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="user_id" widget="selection"/> - </group> - <newline/> + <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Analytic Account"/> + <field name="date"/> + <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Accounts"/> + <filter icon="terp-camera_test" string="Current" domain="[('state','=','open')]" help="Current Accounts"/> + <field name="partner_id"/> + <field name="user_id"/> <group expand="0" string="Group By..."> <filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Associated Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Parent Account" icon="terp-folder-green" domain="[]" context="{'group_by':'parent_id'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/> </group> @@ -183,27 +176,20 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Analytic Lines"> - <group> - <field name="name" string="Analytic Line"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter name="sales" string="Sales" domain="[('journal_id.type','=','sale')]" icon="terp-camera_test" help="Analytic Journal Items related to a sale journal."/> - <filter name="purchases" string="Purchases" domain="[('journal_id.type','=','purchase')]" icon="terp-purchase" help="Analytic Journal Items related to a purchase journal."/> - <filter name="others" string="Others" domain="[('journal_id.type','in',('cash','general','situation'))]" icon="terp-folder-orange"/> - <filter string="My Entries" domain="[('user_id','=',uid)]" icon="terp-personal"/> - <separator orientation="vertical"/> - <field name="account_id"/> - <field name="user_id"/> - </group> - <newline/> + <field name="name" string="Analytic Line"/> + <field name="date"/> + <filter name="sales" string="Sales" domain="[('journal_id.type','=','sale')]" icon="terp-camera_test" help="Analytic Journal Items related to a sale journal."/> + <filter name="purchases" string="Purchases" domain="[('journal_id.type','=','purchase')]" icon="terp-purchase" help="Analytic Journal Items related to a purchase journal."/> + <filter name="others" string="Others" domain="[('journal_id.type','in',('cash','general','situation'))]" icon="terp-folder-orange"/> + <separator/> + <filter string="My Entries" domain="[('user_id','=',uid)]" icon="terp-personal"/> + <field name="account_id"/> + <field name="user_id"/> <group string="Group By..." expand="0"> <filter string="Account" context="{'group_by':'account_id'}" icon="terp-folder-green"/> <filter string="Journal" context="{'group_by':'journal_id'}" icon="terp-folder-orange"/> <filter string="User" context="{'group_by':'user_id'}" icon="terp-personal"/> - <separator orientation="vertical"/> <filter string="Fin.Account" context="{'group_by':'general_account_id'}" icon="terp-folder-green"/> - <separator orientation="vertical"/> <filter string="Product" context="{'group_by':'product_id'}" icon="terp-accessories-archiver"/> </group> </search> @@ -304,11 +290,8 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Analytic Journals"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Analytic Journal"/> - <field name="type"/> - </group> - <newline/> + <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Analytic Journal"/> + <field name="type"/> <group expand="0" string="Group By..."> <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/> </group> diff --git a/addons/account/report/account_analytic_entries_report_view.xml b/addons/account/report/account_analytic_entries_report_view.xml index 7c9870ca07e..35031180523 100644 --- a/addons/account/report/account_analytic_entries_report_view.xml +++ b/addons/account/report/account_analytic_entries_report_view.xml @@ -34,31 +34,21 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Analytic Entries Analysis"> - <group> - <field name="day" string="Day"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter string="My Entries" icon="terp-personal" domain="[('user_id','=',uid)]" help="My Entries"/> - <separator orientation="vertical"/> - <field name="account_id" groups="analytic.group_analytic_accounting"/> - <field name="product_id" /> - <field name="user_id"/> - </group> - <newline/> + <field name="day" string="Day"/> + <field name="date"/> + <filter string="My Entries" icon="terp-personal" domain="[('user_id','=',uid)]" help="My Entries"/> + <field name="account_id" groups="analytic.group_analytic_accounting"/> + <field name="product_id" /> + <field name="user_id"/> <group expand="0" string="Group By..."> <filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/> <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Account" name="Account" icon="terp-folder-green" context="{'group_by':'account_id'}" groups="analytic.group_analytic_accounting"/> <filter string="General Account" icon="terp-folder-orange" context="{'group_by':'general_account_id'}"/> <filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/> - <separator orientation="vertical"/> <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/> <filter string="Product Unit of Measure" icon="terp-mrp" context="{'group_by':'product_uom_id'}"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/> <filter string="Month" name="Month" icon="terp-go-month" context="{'group_by':'month'}"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/> diff --git a/addons/account/report/account_entries_report_view.xml b/addons/account/report/account_entries_report_view.xml index 54275f6a4b3..8c445052094 100644 --- a/addons/account/report/account_entries_report_view.xml +++ b/addons/account/report/account_entries_report_view.xml @@ -67,54 +67,35 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Entries Analysis"> - <group> - <field name="date"/> - <field name="date_created"/> - <field name="date_maturity"/> - <separator orientation="vertical"/> - <filter icon="terp-go-year" string="This F.Year" - name="thisyear" - context="{'year':'current_year'}" - help="Journal Entries with period in current year"/> - <filter icon="terp-go-month" string="This Period" - name="period" - context="{'period':'current_period'}" - help="Journal Entries with period in current period"/> - <separator orientation="vertical"/> - <filter string="Unposted" icon="terp-document-new" domain="[('move_state','=','draft')]" help = "entries"/> - <filter string="Posted" icon="terp-camera_test" domain="[('move_state','=','posted')]" help = "Posted entries"/> - <separator orientation="vertical"/> - <filter string="Unreconciled" icon="terp-dolar_ok!" domain="[('reconcile_id','=',False), ('account_id.reconcile','=',True)]" help = "Unreconciled entries"/> - <filter string="Reconciled" icon="terp-dolar" domain="[('reconcile_id','!=',False)]" help = "Reconciled entries"/> - <separator orientation="vertical"/> - <field name="account_id"/> - <field name="journal_id" widget="selection"/> - <field name="period_id"/> - </group> - <newline/> - <group expand="0" string="Extended Filters..."> + <field name="date"/> + <field name="date_created"/> + <field name="date_maturity"/> + <filter icon="terp-go-year" string="This F.Year" name="thisyear" context="{'year':'current_year'}" help="Journal Entries with period in current year"/> + <filter icon="terp-go-month" string="This Period" name="period" context="{'period':'current_period'}" help="Journal Entries with period in current period"/> + <separator/> + <filter string="Unposted" icon="terp-document-new" domain="[('move_state','=','draft')]" help = "entries"/> + <filter string="Posted" icon="terp-camera_test" domain="[('move_state','=','posted')]" help = "Posted entries"/> + <separator/> + <filter string="Unreconciled" icon="terp-dolar_ok!" domain="[('reconcile_id','=',False), ('account_id.reconcile','=',True)]" help = "Unreconciled entries"/> + <filter string="Reconciled" icon="terp-dolar" domain="[('reconcile_id','!=',False)]" help = "Reconciled entries"/> + <field name="account_id"/> + <field name="journal_id"/> + <field name="period_id"/> + <group expand="0" string="Extended Filters..."> <field name="fiscalyear_id"/> - <separator orientation="vertical"/> <field name="product_id"/> <field name="partner_id"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/> - </group> - <newline/> + </group> <group expand="1" string="Group By..."> <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':['product_id','product_uom_id'], 'quantity_visible':1}"/> - <separator orientation="vertical"/> <filter string="Currency" name="group_currency" icon="terp-dolar" context="{'group_by':'currency_id', 'currency_id_visible':1, 'amount_currency_visible':1}"/> <filter string="Journal" name="group_journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/> <filter string="Account" name="group_account" icon="terp-folder-green" context="{'group_by':'account_id'}"/> - <separator orientation="vertical"/> <filter string="Acc.Type" icon="terp-stock_symbol-selection" context="{'group_by':'user_type'}" name="usertype"/> <filter string="Int.Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical"/> <filter string="Date" icon="terp-go-today" context="{'group_by':'date'}"/> <filter string="Period" icon="terp-go-month" name="group_period" context="{'group_by':'period_id'}"/> <filter string="Fiscal Year" icon="terp-go-year" context="{'group_by':'fiscalyear_id'}"/> diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml index 7d6a4003b53..e3e0b210f20 100644 --- a/addons/account/report/account_invoice_report_view.xml +++ b/addons/account/report/account_invoice_report_view.xml @@ -55,68 +55,32 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Invoices Analysis"> - <group> - <filter icon="terp-go-year" string="Year" - name="year" - domain="[('date','<=', time.strftime('%%Y-%%m-%%d')),('date','>=',time.strftime('%%Y-01-01'))]" - help="year"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter string="Draft" - icon="terp-document-new" - domain="[('state','=','draft')]" - help = "Draft Invoices"/> - <filter string="Pro-forma" - icon="terp-gtk-media-pause" - domain="['|', ('state','=','proforma'),('state','=','proforma2')]" - help = "Pro-forma Invoices"/> - <filter string="Invoiced" - name="current" - icon="terp-check" - domain="[('state','not in', ('draft','cancel'))]" - help = "Open and Paid Invoices"/> - <separator orientation="vertical"/> - <filter icon="terp-personal" string="Customer" - name="customer" - domain="['|', ('type','=','out_invoice'),('type','=','out_refund')]" - help="Customer Invoices And Refunds"/> - <filter icon="terp-personal" - string="Supplier" - domain="['|', ('type','=','in_invoice'),('type','=','in_refund')]" - help="Supplier Invoices And Refunds"/> - <separator orientation="vertical"/> - <filter icon="terp-dolar" string="Invoice" - domain="['|', ('type','=','out_invoice'),('type','=','in_invoice')]" - help="Customer And Supplier Invoices"/> - <filter icon="terp-dolar_ok!" - string="Refund" - domain="['|', ('type','=','out_refund'),('type','=','in_refund')]" - help="Customer And Supplier Refunds"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="user_id" /> - <field name="categ_id" filter_domain="[('categ_id', 'child_of', self)]"/> - </group> - <newline/> + <field name="date"/> + <filter icon="terp-go-year" string="Year" name="year" domain="[('date','<=', time.strftime('%%Y-%%m-%%d')),('date','>=',time.strftime('%%Y-01-01'))]" help="year"/> + <separator/> + <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help = "Draft Invoices"/> + <filter string="Pro-forma" icon="terp-gtk-media-pause" domain="['|', ('state','=','proforma'),('state','=','proforma2')]" help = "Pro-forma Invoices"/> + <filter string="Invoiced" name="current" icon="terp-check" domain="[('state','not in', ('draft','cancel'))]" help = "Open and Paid Invoices"/> + <separator/> + <filter icon="terp-personal" string="Customer" name="customer" domain="['|', ('type','=','out_invoice'),('type','=','out_refund')]" help="Customer Invoices And Refunds"/> + <filter icon="terp-personal" string="Supplier" domain="['|', ('type','=','in_invoice'),('type','=','in_refund')]" help="Supplier Invoices And Refunds"/> + <filter icon="terp-dolar" string="Invoice" domain="['|', ('type','=','out_invoice'),('type','=','in_invoice')]" help="Customer And Supplier Invoices"/> + <filter icon="terp-dolar_ok!" string="Refund" domain="['|', ('type','=','out_refund'),('type','=','in_refund')]" help="Customer And Supplier Refunds"/> + <field name="partner_id"/> + <field name="user_id" /> + <field name="categ_id" filter_domain="[('categ_id', 'child_of', self)]"/> <group expand="1" string="Group By..."> <filter string="Partner" name="partner" icon="terp-partner" context="{'group_by':'partner_id','residual_visible':True}"/> <filter string="Salesperson" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Due Date" icon="terp-go-today" context="{'group_by':'date_due'}"/> <filter string="Period" icon="terp-go-month" context="{'group_by':'period_id'}" name="period"/> - <separator orientation="vertical"/> <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True,'residual_invisible':True}"/> <filter string="Category of Product" name="category_product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id','residual_invisible':True}"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> <filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/> - <separator orientation="vertical"/> <filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/> <filter string="Account" icon="terp-folder-orange" context="{'group_by':'account_line_id'}"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical"/> <filter string="Day" name="day" icon="terp-go-today" context="{'group_by':'day'}" help="Group by Invoice Date"/> <filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of Invoice Date"/> <filter string="Year" name="group_year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of Invoice Date"/> diff --git a/addons/account/report/account_treasury_report_view.xml b/addons/account/report/account_treasury_report_view.xml index 9e07c196f3c..f0096b561bb 100644 --- a/addons/account/report/account_treasury_report_view.xml +++ b/addons/account/report/account_treasury_report_view.xml @@ -36,12 +36,9 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Treasury Analysis"> - <group> - <field name="fiscalyear_id"/> - <field name="period_id"/> - <field name="company_id" groups="base.group_multi_company"/> - </group> - <newline/> + <field name="fiscalyear_id"/> + <field name="period_id"/> + <field name="company_id" groups="base.group_multi_company"/> </search> </field> </record> diff --git a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml index 8f86e9eeedc..bca6b2ab260 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml +++ b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml @@ -19,32 +19,24 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Analytic Account"> - <group col="8" colspan="4"> - <field name="name" filter_domain="['|', ('name','ilike',self),('code','ilike',self)]" string="Contract"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-camera_test" name="open" string="Open" domain="[('state','in',('open','draft'))]" help="Contracts in progress"/> - <filter icon="terp-gtk-media-pause" name="pending" string="Pending" domain="[('state','=','pending')]" help="Pending contracts to renew with your customer"/> - <separator orientation="vertical"/> - <filter icon="terp-go-today" string="To Renew" domain="['|', '&', ('date', '!=', False), ('date', '<=', time.strftime('%%Y-%%m-%%d')), ('is_overdue_quantity', '=', True)]" - name="renew" - help="The contracts to be renewed because the deadline is passed or the working hours are higher than the allocated hours" /> - <separator orientation="vertical"/> - <filter string="Contracts Having a Partner" help="A contract in OpenERP is an analytic account having a partner set on it." name="has_partner" domain="[('partner_id', '!=', False)]" icon="terp-partner" /> - <filter string="Contracts not assigned" help="Contracts that are not assigned to an account manager." domain="[('user_id', '=', False)]" icon="terp-personal-" /> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="user_id"/> - </group> - <newline/> + <field name="name" filter_domain="['|', ('name','ilike',self),('code','ilike',self)]" string="Contract"/> + <field name="date"/> + <filter icon="terp-camera_test" name="open" string="Open" domain="[('state','in',('open','draft'))]" help="Contracts in progress"/> + <filter icon="terp-gtk-media-pause" name="pending" string="Pending" domain="[('state','=','pending')]" help="Pending contracts to renew with your customer"/> + <separator/> + <filter icon="terp-go-today" string="To Renew" domain="['|', '&', ('date', '!=', False), ('date', '<=', time.strftime('%%Y-%%m-%%d')), ('is_overdue_quantity', '=', True)]" name="renew" + help="The contracts to be renewed because the deadline is passed or the working hours are higher than the allocated hours" /> + <separator/> + <filter string="Contracts Having a Partner" help="A contract in OpenERP is an analytic account having a partner set on it." name="has_partner" domain="[('partner_id', '!=', False)]" icon="terp-partner" /> + <separator/> + <filter string="Contracts not assigned" help="Contracts that are not assigned to an account manager." domain="[('user_id', '=', False)]" icon="terp-personal-" /> + <field name="partner_id"/> + <field name="user_id"/> <group expand="0" string="Group By..."> <filter string="Status" icon="terp-personal" domain="[]" context="{'group_by':'state'}"/> <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Parent" icon="terp-folder-orange" domain="[]" context="{'group_by':'parent_id'}"/> - <separator orientation="vertical"/> <filter string="Start Date" icon="terp-go-month" domain="[]" context="{'group_by' : 'date_start'}" /> <filter string="End Date" icon="terp-go-month" domain="[]" context="{'group_by' : 'date'}" /> </group> diff --git a/addons/account_analytic_default/account_analytic_default_view.xml b/addons/account_analytic_default/account_analytic_default_view.xml index beb4dcbd34e..3e2ba0fe5f3 100644 --- a/addons/account_analytic_default/account_analytic_default_view.xml +++ b/addons/account_analytic_default/account_analytic_default_view.xml @@ -46,23 +46,17 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Accounts"> - <group> - <field name="date_stop"/> - <separator orientation="vertical"/> - <field name="analytic_id" groups="analytic.group_analytic_accounting"/> - <field name="product_id"/> - <field name="partner_id"/> - <field name="user_id"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - </group> - <newline/> + <field name="date_stop"/> + <field name="analytic_id" groups="analytic.group_analytic_accounting"/> + <field name="product_id"/> + <field name="partner_id"/> + <field name="user_id"/> + <field name="company_id" groups="base.group_multi_company"/> <group expand="0" string="Group By..."> <filter string="User" icon="terp-personal" context="{'group_by':'user_id'}" help="User"/> <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" help="Partner"/> - <separator orientation="vertical"/> <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}" help="Product" /> <filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'analytic_id'}" help="Analytic Account" groups="analytic.group_analytic_accounting"/> - <separator orientation="vertical"/> <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company" /> </group> </search> diff --git a/addons/account_asset/account_asset_invoice_view.xml b/addons/account_asset/account_asset_invoice_view.xml index fe1435d4745..40ee51e10b8 100644 --- a/addons/account_asset/account_asset_invoice_view.xml +++ b/addons/account_asset/account_asset_invoice_view.xml @@ -1,22 +1,19 @@ <?xml version="1.0"?> <openerp> -<data> + <data> - #--------------------------------------------------------- - # Fiscal Year - #--------------------------------------------------------- - - <record model="ir.ui.view" id="view_account_invoice_asset_form"> - <field name="name">account.invoice.line.form</field> - <field name="model">account.invoice.line</field> - <field name="inherit_id" ref="account.view_invoice_line_form"/> - <field name="type">form</field> - <field name="arch" type="xml"> - <field name="account_id" position="after"> - <field name="asset_category_id"/> + <!-- Fiscal Year --> + <record model="ir.ui.view" id="view_account_invoice_asset_form"> + <field name="name">account.invoice.line.form</field> + <field name="model">account.invoice.line</field> + <field name="inherit_id" ref="account.view_invoice_line_form"/> + <field name="type">form</field> + <field name="arch" type="xml"> + <field name="account_id" position="after"> + <field name="asset_category_id"/> + </field> </field> - </field> - </record> + </record> -</data> + </data> </openerp> diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml index dec5f3714d6..cdc772ad65d 100644 --- a/addons/account_asset/account_asset_view.xml +++ b/addons/account_asset/account_asset_view.xml @@ -65,7 +65,6 @@ <field name="arch" type="xml"> <search string="Search Asset Category"> <field name="name" string="Asset Category"/> - <separator orientation="vertical"/> <field name="journal_id"/> </search> </field> @@ -231,17 +230,12 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Account Asset"> - <group col="10" colspan="12"> - <field name="name" string="Asset"/> - <separator orientation="vertical"/> - <field name="purchase_date"/> - <separator orientation="vertical"/> - <filter icon="terp-check" string="Current" domain="[('state','in', ('draft','open'))]" help="Assets in draft and open states"/> - <filter icon="terp-dialog-close" string="Closed" domain="[('state','=', 'close')]" help="Assets in closed state"/> - <separator orientation="vertical"/> - <field name="category_id"/> - <field name="partner_id"/> - </group> + <field name="name" string="Asset"/> + <field name="purchase_date"/> + <filter icon="terp-check" string="Current" domain="[('state','in', ('draft','open'))]" help="Assets in draft and open states"/> + <filter icon="terp-dialog-close" string="Closed" domain="[('state','=', 'close')]" help="Assets in closed state"/> + <field name="category_id"/> + <field name="partner_id"/> </search> </field> </record> diff --git a/addons/account_asset/i18n/es_EC.po b/addons/account_asset/i18n/es_EC.po index ec12e6c4a58..9ce2a26fcec 100644 --- a/addons/account_asset/i18n/es_EC.po +++ b/addons/account_asset/i18n/es_EC.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-31 04:58+0000\n" -"X-Generator: Launchpad (build 15702)\n" +"X-Launchpad-Export-Date: 2012-08-01 04:44+0000\n" +"X-Generator: Launchpad (build 15719)\n" #. module: account_asset #: view:account.asset.asset:0 diff --git a/addons/account_asset/report/account_asset_report_view.xml b/addons/account_asset/report/account_asset_report_view.xml index 6cb138b072a..a6652890ec5 100644 --- a/addons/account_asset/report/account_asset_report_view.xml +++ b/addons/account_asset/report/account_asset_report_view.xml @@ -43,34 +43,24 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Assets Analysis"> - <group col="10" colspan="12"> - <field name="purchase_date"/> - <field name="depreciation_date"/> - <separator orientation="vertical"/> - <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help="Assets in draft state"/> - <filter string="Running" icon="terp-check" domain="[('state','=','open')]" help="Assets in running state"/> - <separator orientation="vertical"/> - <filter string="Posted" name="posted" icon="terp-camera_test" domain="[('move_check','=',True)]" help="Posted depreciation lines" - context="{'unposted_value_visible': 0}"/> - <separator orientation="vertical"/> - <field name="asset_id"/> - <field name="asset_category_id"/> - </group> - <newline/> + <field name="purchase_date"/> + <field name="depreciation_date"/> + <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help="Assets in draft state"/> + <filter string="Running" icon="terp-check" domain="[('state','=','open')]" help="Assets in running state"/> + <separator/> + <filter string="Posted" name="posted" icon="terp-camera_test" domain="[('move_check','=',True)]" help="Posted depreciation lines" context="{'unposted_value_visible': 0}"/> + <field name="asset_id"/> + <field name="asset_category_id"/> <group expand="0" string="Extended Filters..."> <field name="partner_id"/> - <field name="company_id" groups="base.group_multi_company" widget="selection"/> + <field name="company_id" groups="base.group_multi_company"/> </group> - <newline/> <group expand="1" string="Group By..."> <filter string="Asset" name="asset" context="{'group_by':'asset_id'}"/> <filter string="Asset Category" name="asset_category" icon="terp-stock_symbol-selection" context="{'group_by':'asset_category_id'}"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical" /> <filter string="Purchase Date" icon="terp-go-month" domain="[]" context="{'group_by':'purchase_date'}" help="Date of asset purchase"/> - <separator orientation="vertical" /> <filter string="Depreciation Date" icon="terp-go-today" domain="[]" context="{'group_by':'depreciation_date'}" help="Date of depreciation"/> </group> diff --git a/addons/account_bank_statement_extensions/account_bank_statement_view.xml b/addons/account_bank_statement_extensions/account_bank_statement_view.xml index a3185db2c92..c77fb896840 100644 --- a/addons/account_bank_statement_extensions/account_bank_statement_view.xml +++ b/addons/account_bank_statement_extensions/account_bank_statement_view.xml @@ -123,22 +123,16 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Bank Transactions"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" string="Bank Transaction"/> - <separator orientation="vertical"/> - <field name="val_date"/> - <separator orientation="vertical"/> - <filter name="debit" string="Debit" domain="[('amount','>',0)]" icon="terp-folder-green" help="Debit Transactions."/> - <filter name="credit" string="Credit" domain="[('amount','<',0)]" icon="terp-folder-orange" help="Credit Transactions."/> - <separator orientation="vertical"/> - <filter name="draft" string="Draft" domain="[('state','=','draft')]" icon="terp-document-new" help="Draft Statement Lines."/> - <filter name="confirm" string="Confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test" help="Confirmed Statement Lines."/> - <separator orientation="vertical"/> - <field name="journal_id"/> - <field name="statement_id"/> - <field name="globalisation_id" string="Glob. Id"/> - </group> - <newline/> + <field name="name" filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" string="Bank Transaction"/> + <field name="val_date"/> + <filter name="debit" string="Debit" domain="[('amount','>',0)]" icon="terp-folder-green" help="Debit Transactions."/> + <filter name="credit" string="Credit" domain="[('amount','<',0)]" icon="terp-folder-orange" help="Credit Transactions."/> + <separator/> + <filter name="draft" string="Draft" domain="[('state','=','draft')]" icon="terp-document-new" help="Draft Statement Lines."/> + <filter name="confirm" string="Confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test" help="Confirmed Statement Lines."/> + <field name="journal_id"/> + <field name="statement_id"/> + <field name="globalisation_id" string="Glob. Id"/> <group string="Extended Filters..." expand="0"> <field name="account_id"/> <field name="partner_id"/> @@ -146,7 +140,6 @@ <field name="globalisation_amount" string="Glob. Amount"/> <field name="note"/> </group> - <newline/> <group string="Group By..." expand="1"> <filter string="Journal" context="{'group_by':'journal_id'}" icon="terp-folder-green"/> <filter string="Statement" context="{'group_by':'statement_id'}" icon="terp-folder-orange"/> diff --git a/addons/account_budget/account_budget_view.xml b/addons/account_budget/account_budget_view.xml index db83df9c07f..c2fba2c6917 100644 --- a/addons/account_budget/account_budget_view.xml +++ b/addons/account_budget/account_budget_view.xml @@ -19,7 +19,7 @@ <field name="arch" type="xml"> <search string="Budgetary Position"> <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Budgetary Position"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> + <field name="company_id" groups="base.group_multi_company"/> </search> </field> </record> @@ -201,17 +201,12 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Budget"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Budget"/> - <separator orientation="vertical"/> - <field name="date_from"/> - <field name="date_to"/> - <separator orientation="vertical"/> - <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help="Draft Budgets"/> - <filter string="To Approve" icon="terp-camera_test" domain="[('state','=','confirm')]" help="To Approve Budgets" /> - <separator orientation="vertical"/> - <field name="state"/> - </group> + <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Budget"/> + <field name="date_from"/> + <field name="date_to"/> + <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help="Draft Budgets"/> + <filter string="To Approve" icon="terp-camera_test" domain="[('state','=','confirm')]" help="To Approve Budgets" /> + <field name="state"/> </search> </field> </record> diff --git a/addons/account_coda/account_coda_view.xml b/addons/account_coda/account_coda_view.xml index bb2e833ce25..07f397c663f 100644 --- a/addons/account_coda/account_coda_view.xml +++ b/addons/account_coda/account_coda_view.xml @@ -12,18 +12,13 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="CODA Bank Account Configuration"> - <field name="name" - filter_domain="['|', ('name','ilike',self), ('description1','ilike',self)]" - string="CODA Bank Account"/> - <separator orientation="vertical"/> + <field name="name" filter_domain="['|', ('name','ilike',self), ('description1','ilike',self)]" string="CODA Bank Account"/> <filter string="Normal" domain="[('state','=','normal')]" icon="terp-folder-green"/> <filter string="Info" domain="[('state','=','info')]" icon="terp-folder-yellow"/> - <separator orientation="vertical"/> <field name="bank_id"/> <field name="journal"/> - <field name="currency" widget="selection"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - <newline/> + <field name="currency"/> + <field name="company_id" groups="base.group_multi_company"/> <group expand="0" string="Group By..."> <filter string="Bank Account" icon="terp-folder-yellow" domain="[]" context="{'group_by':'bank_id'}"/> <filter string="Currency" icon="terp-dolar" domain="[]" context="{'group_by':'currency'}"/> @@ -271,20 +266,15 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search CODA Files"> - <group col="10" colspan="4"> <field name="coda_creation_date"/> <field name="date"/> - <field name="user_id" widget='selection'/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - </group> - <newline/> - <group expand="0" string="Group By..."> - <filter string="CODA Creation Date" icon="terp-go-month" domain="[]" context="{'group_by':'coda_creation_date'}"/> - <separator orientation="vertical"/> - <filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> - <filter string="Company" icon="terp-go-home" domain="[]" groups="base.group_multi_company" context="{'group_by':'company_id'}"/> - </group> + <field name="user_id"/> + <field name="company_id" groups="base.group_multi_company"/> + <group expand="0" string="Group By..."> + <filter string="CODA Creation Date" icon="terp-go-month" domain="[]" context="{'group_by':'coda_creation_date'}"/> + <filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> + <filter string="Company" icon="terp-go-home" domain="[]" groups="base.group_multi_company" context="{'group_by':'company_id'}"/> + </group> </search> </field> </record> @@ -389,20 +379,13 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search CODA Bank Statements"> - <group col="8" colspan="4"> - <field name="name" - string="CODA Bank Statement"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter string="Normal" domain="[('type','=','normal')]" icon="terp-folder-green"/> - <filter string="Info" domain="[('type','=','info')]" icon="terp-folder-yellow"/> - <separator orientation="vertical"/> - <field name="period_id"/> - <field name="coda_bank_account_id"/> - <field name="journal_id" widget="selection" domain="[('type', '=', 'bank')]"/> - </group> - <newline/> + <field name="name" string="CODA Bank Statement"/> + <field name="date"/> + <filter string="Normal" domain="[('type','=','normal')]" icon="terp-folder-green"/> + <filter string="Info" domain="[('type','=','info')]" icon="terp-folder-yellow"/> + <field name="period_id"/> + <field name="coda_bank_account_id"/> + <field name="journal_id" domain="[('type', '=', 'bank')]"/> <group expand="0" string="Group By..."> <filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/> <filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/> @@ -481,20 +464,12 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Bank Transactions"> - <group col='6' colspan='4'> - <field name="name" - filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" - string="Bank Transaction"/> - <separator orientation="vertical"/> - <field name="val_date"/> - <separator orientation="vertical"/> - <filter name="debit" string="Debit" domain="[('amount','>',0)]" icon="terp-folder-green" help="Debit Transactions."/> - <filter name="credit" string="Credit" domain="[('amount','<',0)]" icon="terp-folder-orange" help="Credit Transactions."/> - <separator orientation="vertical"/> - <field name="statement_id"/> - <field name="globalisation_id" string="Glob. Id"/> - </group> - <newline/> + <field name="name" filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" string="Bank Transaction"/> + <field name="val_date"/> + <filter name="debit" string="Debit" domain="[('amount','>',0)]" icon="terp-folder-green" help="Debit Transactions."/> + <filter name="credit" string="Credit" domain="[('amount','<',0)]" icon="terp-folder-orange" help="Credit Transactions."/> + <field name="statement_id"/> + <field name="globalisation_id" string="Glob. Id"/> <group expand="0" string="Extended Filters..."> <field name="coda_bank_account_id"/> <field name="account_id"/> diff --git a/addons/account_followup/account_followup_view.xml b/addons/account_followup/account_followup_view.xml index 9c11815e05b..3f6591953de 100644 --- a/addons/account_followup/account_followup_view.xml +++ b/addons/account_followup/account_followup_view.xml @@ -71,11 +71,8 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Follow-up"> - <group> - <field name="name" string="Follow-up"/> - <separator orientation="vertical"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - </group> + <field name="name" string="Follow-up"/> + <field name="company_id" groups="base.group_multi_company"/> </search> </field> </record> diff --git a/addons/account_followup/report/account_followup_report.xml b/addons/account_followup/report/account_followup_report.xml index 2bdf8eb74bf..854bba0652e 100644 --- a/addons/account_followup/report/account_followup_report.xml +++ b/addons/account_followup/report/account_followup_report.xml @@ -40,31 +40,20 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Follow-ups Sent"> - <group> - <field name="date_move"/> - <field name="date_move_last"/> - <separator orientation="vertical"/> - <filter icon="terp-go-year" string="This Fiscal year" - name="fiscalyear" - domain="[('period_id','in','current_year')]" - help="Follow-up Entries with period in current year"/> - <separator orientation="vertical"/> - <filter icon="terp-camera_test" string="Not Litigation" - domain="[('blocked','=', False)]" - help = "Including journal entries marked as a litigation"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="balance"/> - </group> - <newline/> + <field name="date_move"/> + <field name="date_move_last"/> + <filter icon="terp-go-year" string="This Fiscal year" name="fiscalyear" domain="[('period_id','in','current_year')]" + help="Follow-up Entries with period in current year"/> + <separator/> + <filter icon="terp-camera_test" string="Not Litigation" domain="[('blocked','=', False)]" + help = "Including journal entries marked as a litigation"/> + <field name="partner_id"/> + <field name="balance"/> <group expand="1" string="Group By..."> <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" /> - <separator orientation="vertical"/> <filter string="Litigation" icon="terp-camera_test" context="{'group_by':'blocked'}" /> - <separator orientation="vertical"/> <filter string="Follow-up Level" icon="terp-stock_effects-object-colorize" name="followup_level" context="{'group_by':'followup_id'}" /> <filter string="Latest Follow-up Date" icon="terp-go-month" context="{'group_by':'date_followup'}" /> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}" /> </group> </search> diff --git a/addons/account_followup/wizard/account_followup_print_view.xml b/addons/account_followup/wizard/account_followup_print_view.xml index c897b283ab0..2949177205f 100644 --- a/addons/account_followup/wizard/account_followup_print_view.xml +++ b/addons/account_followup/wizard/account_followup_print_view.xml @@ -42,9 +42,7 @@ <field name="arch" type="xml"> <search string="Partner to Remind"> <field name="date_followup"/> - <separator orientation="vertical"/> <filter string="Balance > 0" domain="[('balance','>',0)]" icon="terp-dolar" name="balance_positive"/> - <separator orientation="vertical"/> <field name="partner_id"/> <field name="max_followup_id"/> <field name="company_id" groups="base.group_multi_company"/> diff --git a/addons/account_payment/account_payment_view.xml b/addons/account_payment/account_payment_view.xml index 1577d1b86bd..3d0f9c0a78c 100644 --- a/addons/account_payment/account_payment_view.xml +++ b/addons/account_payment/account_payment_view.xml @@ -47,12 +47,9 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Payment Mode"> - <field name="name" - string="Payment Mode"/> - <separator orientation="vertical"/> - <field name="journal" widget='selection'/> - <field name="company_id" widget='selection' groups="base.group_multi_company"/> - <newline/> + <field name="name" string="Payment Mode"/> + <field name="journal"/> + <field name="company_id" groups="base.group_multi_company"/> <group expand="0" string="Group By..."> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal'}"/> </group> @@ -216,20 +213,13 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Payment Orders"> - <group> - <field name="reference" - string="Payment Order"/> - <separator orientation="vertical"/> - <field name="date_done"/> - <separator orientation="vertical"/> - <filter string="Draft" domain="[('state','=','draft')]" icon="terp-document-new"/> - <filter string="Confirmed" domain="[('state','=','open')]" icon="terp-camera_test"/> - <filter string="Done" domain="[('state','=','done')]" icon="terp-dialog-close"/> - <separator orientation="vertical"/> - <field name="mode" widget='selection'/> - <field name="state"/> - </group> - <newline/> + <field name="reference" string="Payment Order"/> + <field name="date_done"/> + <filter string="Draft" domain="[('state','=','draft')]" icon="terp-document-new"/> + <filter string="Confirmed" domain="[('state','=','open')]" icon="terp-camera_test"/> + <filter string="Done" domain="[('state','=','done')]" icon="terp-dialog-close"/> + <field name="mode"/> + <field name="state"/> <group expand="0" string="Group By..."> <filter string="Payment Mode" context="{'group_by': 'mode'}" icon="terp-dolar"/> <filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/> diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml index d1912a58d1c..b212c07acb3 100644 --- a/addons/account_voucher/account_voucher_view.xml +++ b/addons/account_voucher/account_voucher_view.xml @@ -126,21 +126,15 @@ <field name="priority">1</field> <field name="arch" type="xml"> <search string="Search Vouchers"> - <group> - <field name="number" string="Voucher"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/> - <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('state','=','posted'), ('audit','=',False)]" help="To Review"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" /> - <field name="period_id"/> - </group> - <newline/> + <field name="number" string="Voucher"/> + <field name="date"/> + <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/> + <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/> + <separator/> + <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('state','=','posted'), ('audit','=',False)]" help="To Review"/> + <field name="partner_id"/> + <field name="journal_id" context="{'journal_id': self, 'set_visible':False}" /> + <field name="period_id"/> <group expand="0" string="Group By..."> <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> diff --git a/addons/account_voucher/report/account_voucher_sales_receipt_view.xml b/addons/account_voucher/report/account_voucher_sales_receipt_view.xml index 704135ba421..527c959c2ad 100644 --- a/addons/account_voucher/report/account_voucher_sales_receipt_view.xml +++ b/addons/account_voucher/report/account_voucher_sales_receipt_view.xml @@ -48,48 +48,26 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Sales Receipt Analysis"> - <group> - <field name="date"/> - <field name="date_due"/> - <separator orientation="vertical"/> - <filter string="Draft" - icon="terp-document-new" - domain="[('state','=','draft')]" - help = "Draft Vouchers"/> - <filter string="Pro-forma" - icon="terp-gtk-media-pause" - domain="[('state','=','proforma')]" - help = "Pro-forma Vouchers"/> - <filter string="Posted" - name="current" - icon="terp-check" - domain="[('state','not in', ('draft','cancel'))]" - help = "Validated Vouchers"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - </group> - <newline/> + <field name="date"/> + <field name="date_due"/> + <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help = "Draft Vouchers"/> + <filter string="Pro-forma" icon="terp-gtk-media-pause" domain="[('state','=','proforma')]" help = "Pro-forma Vouchers"/> + <filter string="Posted" name="current" icon="terp-check" domain="[('state','not in', ('draft','cancel'))]" help = "Validated Vouchers"/> + <field name="partner_id"/> <group expand="0" string="Extended Filters..."> - <field name="journal_id" widget="selection"/> + <field name="journal_id"/> <field name="account_id"/> <field name="pay_now"/> - <separator orientation="vertical" groups="base.group_multi_company"/> - <field name="company_id" groups="base.group_multi_company" widget="selection"/> + <field name="company_id" groups="base.group_multi_company"/> </group> - <newline/> <group expand="1" string="Group By..."> <filter string="Partner" name="partner" icon="terp-partner" context="{'group_by':'partner_id'}"/> <filter string="Salesperson" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> <filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/> - <separator orientation="vertical"/> <filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/> - <separator orientation="vertical"/> <filter string="Due Date" icon="terp-go-today" context="{'group_by':'date_due'}"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical"/> <filter string="Day" name="day" icon="terp-go-today" context="{'group_by':'day'}" help="Group by Invoice Date"/> <filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of Invoice Date"/> <filter string="Year" name="year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of Invoice Date"/> diff --git a/addons/account_voucher/voucher_payment_receipt_view.xml b/addons/account_voucher/voucher_payment_receipt_view.xml index 372d8aa1937..2c19cb621c4 100644 --- a/addons/account_voucher/voucher_payment_receipt_view.xml +++ b/addons/account_voucher/voucher_payment_receipt_view.xml @@ -8,21 +8,13 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Vouchers"> - <group> - <field name="number" string="Voucher"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/> - <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('state','=','posted')]" help="To Review"/> - <separator orientation="vertical"/> - <field name="partner_id" string="Customer"/> - <field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('bank','cash'))]"/> - <field name="period_id"/> - </group> - <newline/> + <field name="number" string="Voucher"/> + <field name="date"/> + <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/> + <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/> + <field name="partner_id" string="Customer"/> + <field name="journal_id" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('bank','cash'))]"/> + <field name="period_id"/> <group expand="0" string="Group By..."> <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> @@ -40,21 +32,13 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Vouchers"> - <group> - <field name="number" string="Voucher"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/> - <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('state','=','posted')]" help="To Review"/> - <separator orientation="vertical"/> - <field name="partner_id" string="Supplier"/> - <field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('bank','cash'))]"/> - <field name="period_id"/> - </group> - <newline/> + <field name="number" string="Voucher"/> + <field name="date"/> + <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/> + <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/> + <field name="partner_id" string="Supplier"/> + <field name="journal_id" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('bank','cash'))]"/> + <field name="period_id"/> <group expand="0" string="Group By..."> <filter string="Supplier" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> @@ -72,7 +56,7 @@ <field name="arch" type="xml"> <form string="Bill Payment" version="7.0"> <group col="6"> - <field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Supplier" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1, 'invoice_currency': currency_id}" /> + <field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Supplier" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1, 'invoice_currency': currency_id}"/> <field name="amount" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/> <field name="journal_id" domain="[('type','in',['bank', 'cash'])]" @@ -94,8 +78,7 @@ <tree string="Open Supplier Journal Entries" editable="bottom" colors="gray:amount==0"> <field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}" on_change="onchange_move_line_id(move_line_id)" - domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]" - /> + domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"/> <field name="account_id" domain="[('type','=','payable')]"/> <field name="date_original" readonly="1"/> <field name="date_due" readonly="1"/> @@ -108,8 +91,7 @@ <tree string="Open Customer Journal Entries" editable="bottom" colors="gray:amount==0"> <field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}" on_change="onchange_move_line_id(move_line_id)" - domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]" - /> + domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"/> <field name="account_id" domain="[('type','=','payable')]"/> <field name="date_original" readonly="1"/> <field name="date_due" readonly="1"/> @@ -156,11 +138,11 @@ <group> <group> <field name="partner_id" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'invoice_currency':currency_id, 'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" string="Supplier"/> - <label for="amount" string="Amount"/> - <div> + <label for="amount" string="Amount"/> + <div> <field name="amount" invisible="context.get('line_type', False)" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)" class="oe_inline"/> <field name="currency_id" class="oe_inline"/> - </div> + </div> <field name="journal_id" domain="[('type','in',['bank', 'cash'])]" invisible="context.get('line_type', False)" @@ -182,8 +164,7 @@ <field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}" on_change="onchange_move_line_id(move_line_id)" domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]" - required="1" - /> + required="1"/> <field name="account_id" groups="base.group_no_one" domain="[('type','=','payable')]"/> <field name="date_original" readonly="1"/> <field name="date_due" readonly="1"/> @@ -198,8 +179,7 @@ <field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}" on_change="onchange_move_line_id(move_line_id)" domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]" - required="1" - /> + required="1"/> <field name="account_id" groups="base.group_no_one" domain="[('type','=','payable')]"/> <field name="date_original" readonly="1"/> <field name="date_due" readonly="1"/> @@ -278,7 +258,7 @@ <field name="view_id" eval="False"/> <field name="search_view_id" ref="view_voucher_filter_vendor_pay"/> <field name="target">current</field> - <field name="help">Click on "Create" to register a supplier payment. + <field name="help">Click on "Create" to register a supplier payment. <p> Track payments you do to your supplier and amounts you pay.</field> </record> @@ -316,14 +296,13 @@ <group> <group> <field name="partner_id" domain="[('customer','=',True)]" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer" context="{'search_default_customer': 1}"/> - <label for="amount" - string="Paid Amount"/> - <div> + <label for="amount" string="Paid Amount"/> + <div> <field name="amount" class="oe_inline" invisible="context.get('line_type', False)" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/> <field name="currency_id" class="oe_inline"/> - </div> + </div> <field name="journal_id" domain="[('type','in',['bank', 'cash'])]" @@ -347,7 +326,7 @@ </group> <notebook> - <page string="Payment Information"> + <page string="Payment Information" groups="base.group_user"> <field name="line_cr_ids" context="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, currency_id, context)"> <tree string="Invoices and outstanding transactions" editable="bottom" colors="gray:amount==0"> <field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}" @@ -369,8 +348,7 @@ <field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}" on_change="onchange_move_line_id(move_line_id)" domain="[('account_id.type','in',('receivable','payable')), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]" - required="1" - /> + required="1"/> <field name="account_id" groups="base.group_no_one" domain="[('type','=','receivable')]"/> <field name="date_original" readonly="1"/> <field name="date_due" readonly="1"/> @@ -409,21 +387,21 @@ <field name="audit"/> </group> <field name="move_ids" readonly="1"> - <tree string="Journal Items"> - <field name="move_id"/> - <field name="ref"/> - <field name="date"/> - <field name="statement_id"/> - <field name="partner_id"/> - <field name="account_id"/> - <field name="name"/> - <field name="debit"/> - <field name="credit"/> - <field name="state"/> - <field name="reconcile_id"/> - <field name="amount_currency"/> - <field name="currency_id"/> - </tree> + <tree string="Journal Items"> + <field name="move_id"/> + <field name="ref"/> + <field name="date"/> + <field name="statement_id"/> + <field name="partner_id"/> + <field name="account_id"/> + <field name="name"/> + <field name="debit"/> + <field name="credit"/> + <field name="state"/> + <field name="reconcile_id"/> + <field name="amount_currency"/> + <field name="currency_id"/> + </tree> </field> </page> </notebook> @@ -464,5 +442,6 @@ <menuitem action="action_vendor_receipt" icon="STOCK_JUSTIFY_FILL" sequence="12" id="menu_action_vendor_receipt" parent="account.menu_finance_receivables"/> + </data> </openerp> diff --git a/addons/account_voucher/voucher_sales_purchase_view.xml b/addons/account_voucher/voucher_sales_purchase_view.xml index 833b7604bac..8390f20b4f0 100644 --- a/addons/account_voucher/voucher_sales_purchase_view.xml +++ b/addons/account_voucher/voucher_sales_purchase_view.xml @@ -7,21 +7,13 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Vouchers"> - <group> - <field name="number" string="Voucher"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/> - <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('state','=','posted')]" help="To Review"/> - <separator orientation="vertical"/> - <field name="partner_id" string="Supplier"/> - <field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('purchase','purchase_refund'))]"/> - <field name="period_id"/> - </group> - <newline/> + <field name="number" string="Voucher"/> + <field name="date"/> + <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/> + <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/> + <field name="partner_id" string="Supplier"/> + <field name="journal_id" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('purchase','purchase_refund'))]"/> + <field name="period_id"/> <group expand="0" string="Group By..."> <filter string="Supplier" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> @@ -38,21 +30,13 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Vouchers"> - <group> - <field name="number" string="Voucher"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/> - <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('state','=','posted')]" help="To Review"/> - <separator orientation="vertical"/> - <field name="partner_id" string="Customer"/> - <field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('sale','sale_refund'))]"/> - <field name="period_id"/> - </group> - <newline/> + <field name="number" string="Voucher"/> + <field name="date"/> + <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/> + <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/> + <field name="partner_id" string="Customer"/> + <field name="journal_id" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('sale','sale_refund'))]"/> + <field name="period_id"/> <group expand="0" string="Group By..."> <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> diff --git a/addons/association/profile_association.xml b/addons/association/profile_association.xml index 099a6f1ac97..0627d3dba51 100644 --- a/addons/association/profile_association.xml +++ b/addons/association/profile_association.xml @@ -5,6 +5,7 @@ <!-- Top menu item --> <menuitem name="Association" id="base.menu_association" + groups="base.group_user" sequence="70"/> <menuitem name="Configuration" id="base.menu_event_config" parent="base.menu_association" sequence="30"/> <menuitem name="Association" id="base.menu_report_association" parent="base.menu_reporting" sequence="23"/> diff --git a/addons/audittrail/audittrail_view.xml b/addons/audittrail/audittrail_view.xml index 55c55398f4e..65eca09a9a1 100644 --- a/addons/audittrail/audittrail_view.xml +++ b/addons/audittrail/audittrail_view.xml @@ -63,15 +63,10 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Audittrail Rule"> - <group> - <field name="name" string="Audittrail Rule"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Rule"/> - <filter icon="terp-camera_test" string="Subscribed" domain="[('state','=','subscribed')]" help="Subscribed Rule"/> - <separator orientation="vertical"/> - <field name="object_id"/> - </group> - <newline/> + <field name="name" string="Audittrail Rule"/> + <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Rule"/> + <filter icon="terp-camera_test" string="Subscribed" domain="[('state','=','subscribed')]" help="Subscribed Rule"/> + <field name="object_id" string="Model"/> <group expand="0" string="Group By..."> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> </group> @@ -171,16 +166,11 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Audittrail Log"> - <group> - <field name="name" string="Audittrail Log"/> - <separator orientation="vertical"/> - <field name="object_id"/> - <field name="user_id" widget="selection"/> - </group> - <newline/> + <field name="name" string="Audittrail Log"/> + <field name="object_id" string="Model"/> + <field name="user_id"/> <group expand="0" string="Group By..."> <filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'object_id'}"/> <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'timestamp'}"/> </group> diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml index 642f8f7b9e9..164331b2372 100644 --- a/addons/base_calendar/base_calendar_view.xml +++ b/addons/base_calendar/base_calendar_view.xml @@ -84,40 +84,20 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Invitations"> - <field name="email" string="Email"/> - <separator orientation="vertical"/> - <field name="event_date"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-jump-to-ltr" name="toreview" string="To Review" - domain="[('state','=', 'needs-action')]" - help="Invitations To Review" /> - <filter icon="terp-check" string="Accepted" - domain="[('state','=', 'accepted')]" - help="Accepted Invitations" /> - <filter icon="terp-dialog-close" string="Declined" - domain="[('state','=', 'declined')]" - help="Declined Invitations" /> - <filter icon="gtk-sort-descending" string="Delegated" - domain="[('state','=', 'delegated')]" - help="Delegated Invitations" /> - <separator orientation="vertical"/> - <field name="user_id" string="Responsible"/> - <separator orientation="vertical"/> - <field name="cutype" string="Invitation type"/> - <newline/> + <field name="email" string="Email"/> + <field name="event_date"/> + <filter icon="terp-gtk-jump-to-ltr" name="toreview" string="To Review" domain="[('state','=', 'needs-action')]" help="Invitations To Review" /> + <filter icon="terp-check" string="Accepted" domain="[('state','=', 'accepted')]" help="Accepted Invitations" /> + <filter icon="terp-dialog-close" string="Declined" domain="[('state','=', 'declined')]" help="Declined Invitations" /> + <filter icon="gtk-sort-descending" string="Delegated" domain="[('state','=', 'delegated')]" help="Delegated Invitations" /> + <field name="user_id" string="Responsible"/> + <field name="cutype" string="Invitation type"/> <group expand="0" string="Group By..."> - <filter string="Responsible" icon="terp-personal" domain="[]" - context="{'group_by':'user_id'}" /> - <filter string="Contact" icon="terp-personal" domain="[]" - context="{'group_by':'partner_id'}" /> - <separator orientation="vertical" /> - <filter string="Type" icon="terp-stock_symbol-selection" help="Invitation Type" - domain="[]" context="{'group_by':'cutype'}" /> - <filter string="Role" icon="terp-gtk-select-all" - domain="[]" context="{'group_by':'role'}" /> - <filter string="Required Reply" icon="terp-mail-replied" - domain="[]" context="{'group_by':'rsvp'}" /> - <separator orientation="vertical" /> + <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> + <filter string="Contact" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}" /> + <filter string="Type" icon="terp-stock_symbol-selection" help="Invitation Type" domain="[]" context="{'group_by':'cutype'}" /> + <filter string="Role" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'role'}" /> + <filter string="Required Reply" icon="terp-mail-replied" domain="[]" context="{'group_by':'rsvp'}" /> <filter string="Status" icon="terp-stock_effects-object-colorize" help="Invitation Type" domain="[]" context="{'group_by':'state'}" /> </group> @@ -414,37 +394,20 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Events"> - <group> - <field name="name" filter_domain="['|',('name','ilike',self),('location','ilike',self)]" string="Event"/> - <separator orientation="vertical"/> - <filter icon="terp-go-today" string="My Events" - domain="[('user_id','=',uid)]" - help="My Events" /> - <separator orientation="vertical"/> - <filter icon="terp-check" string="Confirmed" - domain="[('state','=','confirmed')]" - help="Confirmed Events" /> - <separator orientation="vertical"/> - <field name="user_id"/> - <separator orientation="vertical"/> - <field name="show_as"/> - <field name="class" string="Privacy"/> - </group> - <newline/> - <group expand="0" string="Group By..."> - <filter string="Responsible" icon="terp-personal" domain="[]" - context="{'group_by':'user_id'}" /> - <separator orientation="vertical" /> - <filter string="Availability" icon="terp-camera_test" - domain="[]" context="{'group_by':'show_as'}" /> - <filter string="Privacy" icon="terp-locked" - domain="[]" context="{'group_by':'class'}" /> - <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" - context="{'group_by':'state'}" /> - <separator orientation="vertical" /> - <filter string="Date" icon="terp-go-month" - domain="[]" context="{'group_by':'date'}" /> - </group> + <field name="name" filter_domain="['|',('name','ilike',self),('location','ilike',self)]" string="Event"/> + <field name="show_as"/> + <field name="class" string="Privacy"/> + <filter icon="terp-go-today" string="My Events" domain="[('user_id','=',uid)]" help="My Events" /> + <separator/> + <filter icon="terp-check" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Events" /> + <field name="user_id"/> + <group expand="0" string="Group By..."> + <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> + <filter string="Availability" icon="terp-camera_test" domain="[]" context="{'group_by':'show_as'}" /> + <filter string="Privacy" icon="terp-locked" domain="[]" context="{'group_by':'class'}" /> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" /> + <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" /> + </group> </search> </field> </record> diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml index 77244addd9f..c99c77e4799 100644 --- a/addons/base_calendar/crm_meeting_view.xml +++ b/addons/base_calendar/crm_meeting_view.xml @@ -302,18 +302,12 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Meetings"> - <group> - <field name="name" string="Meeting" - filter_domain="[('name','ilike',self)]"/> - <filter string="Inbox" help="Unread messages" icon="terp-mail-message-new" - name="needaction_pending" domain="[('needaction_pending','=',True)]"/> - <separator orientation="vertical"/> - <filter string="My Meetings" help="My Meetings" icon="terp-personal" - domain="[('user_id','=',uid)]"/> - <separator orientation="vertical"/> - <field name="user_id"/> - <field name="partner_ids"/> - </group> + <field name="name" string="Meeting" filter_domain="[('name','ilike',self)]"/> + <filter string="Inbox" help="Unread messages" icon="terp-mail-message-new" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> + <filter string="My Meetings" help="My Meetings" icon="terp-personal" domain="[('user_id','=',uid)]"/> + <field name="user_id"/> + <field name="partner_ids"/> </search> </field> </record> diff --git a/addons/caldav/caldav_view.xml b/addons/caldav/caldav_view.xml index 02025ab5261..b72c43e4298 100644 --- a/addons/caldav/caldav_view.xml +++ b/addons/caldav/caldav_view.xml @@ -159,15 +159,15 @@ <field name="arch" type="xml"> <search string="Calendars"> <field name="name" string="Calendar"/> - <separator orientation="vertical"/> <filter string="WebCal" icon="terp-calendar" domain="[('has_webcal', '=', True)]" help="Webcal Calendar"/> + <separator/> <filter string="Event" icon="terp-calendar" domain="[('type', '=', 'vevent')]"/> <filter string="Todo" icon="terp-calendar" domain="[('type', '=', 'vtodo')]"/> + <separator/> <filter string="My Calendar(s)" icon="terp-personal" domain="[('user_id', '=', uid)]" help="My Calendar(s)"/> - <separator orientation="vertical"/> - <field name="user_id" widget="selection"/> - <field name="collection_id"/> <field name="type"/> + <field name="user_id"/> + <field name="collection_id"/> </search> </field> </record> diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 2c139470fdf..a62f2e0c0b8 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -51,7 +51,6 @@ <field name="arch" type="xml"> <search string="Stage Search"> <field name="name" string="Stage Name"/> - <separator orientation="vertical"/> <field name="state"/> <field name="type"/> </search> @@ -351,44 +350,30 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Leads"> - <filter icon="terp-mail-message-new" - string="Inbox" help="Unread messages" - name="needaction_pending" - domain="[('needaction_pending','=',True)]"/> <field name="name" string="Lead / Customer" filter_domain="['|','|',('partner_name','ilike',self),('email_from','ilike',self),('name','ilike',self)]"/> <!-- subjects is not set as store=True so, it is placed outside filter_domain--> - <field name="subjects"/> - <separator orientation="vertical"/> + <field name="subjects"/> <field name="create_date"/> - <separator orientation="vertical"/> - <filter icon="terp-check" - string="New" - name="new" help="New Leads" - domain="[('state','=','draft')]"/> - <filter icon="terp-camera_test" - string="Open" - name="open" - domain="[('state','=','open')]"/> - <filter string="Unassigned Leads" - icon="terp-personal-" - domain="[('user_id','=', False)]" - help="Unassigned Leads" /> - <filter string="Leads Assigned to Me or My Team(s)" - icon="terp-personal+" - context="{'invisible_section': False}" + <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> + <filter icon="terp-check" string="New" name="new" help="New Leads" domain="[('state','=','draft')]"/> + <filter icon="terp-camera_test" string="Open" name="open" domain="[('state','=','open')]"/> + <separator/> + <filter string="Unassigned Leads" icon="terp-personal-" domain="[('user_id','=', False)]" help="Unassigned Leads" /> + <separator/> + <filter string="Leads Assigned to Me or My Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" help="Leads that are assigned to one of the sale teams I manage, or to me"/> - <separator orientation="vertical"/> <field name="user_id"/> - <field name="section_id" widget="selection" - context="{'invisible_section': False}"/> + <field name="section_id" context="{'invisible_section': False}"/> <field name="country_id" context="{'invisible_country': False}"/> - <separator orientation="vertical"/> - <newline/> <group expand="0" string="Group By..."> <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/> <filter string="Referrer" icon="terp-personal" domain="[]" context="{'group_by':'referred'}"/> + <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/> + <filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}" /> + <filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" /> <separator orientation="vertical"/> <filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}" /> @@ -397,18 +382,11 @@ <separator orientation="vertical"/> <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical" groups="base.group_no_one"/> - <filter string="Creation" help="Create date" icon="terp-go-month" - domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/> + <filter string="Creation" help="Create date" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/> </group> - <separator orientation="vertical"/> <group string="Display"> <filter string="Show Countries" icon="terp-personal+" context="{'invisible_country': False}" help="Show Countries"/> - <filter string="Show Sales Team" - icon="terp-personal+" - context="{'invisible_section': False}" - domain="[]" - help="Show Sales Team"/> + <filter string="Show Sales Team" icon="terp-personal+" context="{'invisible_section': False}" domain="[]" help="Show Sales Team"/> </group> </search> </field> @@ -604,56 +582,36 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Opportunities"> - <filter icon="terp-mail-message-new" - string="Inbox" help="Unread messages" - name="needaction_pending" - domain="[('needaction_pending','=',True)]"/> <field name="name" string="Opportunity / Customer" filter_domain="['|','|','|',('partner_id','ilike',self),('partner_name','ilike',self),('email_from','ilike',self),('name', 'ilike', self)]"/> - <separator orientation="vertical"/> - <filter icon="terp-check" - string="New" help="New Opportunities" - name="new" - domain="[('state','=','draft')]"/> - <filter icon="terp-camera_test" - string="Open" help="Open Opportunities" - name="open" - domain="[('state','=','open')]"/> - <filter string="Unassigned Opportunities" - icon="terp-personal-" - domain="[('user_id','=', False)]" - help="Unassigned Opportunities" /> - <filter string="Opportunities Assigned to Me or My Team(s)" icon="terp-personal+" - domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" - context="{'invisible_section': False}" + <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> + <filter icon="terp-check" string="New" help="New Opportunities" name="new" domain="[('state','=','draft')]"/> + <filter icon="terp-camera_test" string="Open" help="Open Opportunities" name="open" domain="[('state','=','open')]"/> + <separator/> + <filter string="Unassigned Opportunities" icon="terp-personal-" domain="[('user_id','=', False)]" help="Unassigned Opportunities" /> + <separator/> + <filter string="Opportunities Assigned to Me or My Team(s)" icon="terp-personal+" + domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" context="{'invisible_section': False}" help="Opportunities that are assigned to either me or one of the sale teams I manage" /> - <separator orientation="vertical"/> <field name="user_id"/> <field name="country_id"/> <field name="partner_id"/> - <field name="section_id" - context="{'invisible_section': False, 'default_section_id': self}"/> - <newline/> + <field name="section_id" context="{'invisible_section': False, 'default_section_id': self}"/> <group expand="0" string="Group By..." colspan="16"> <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> <filter string="Team" help="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/> <filter string="Customer" help="Partner" icon="terp-personal+" domain="[]" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical" /> <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}" /> <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" /> <filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}"/> <filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" /> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical" /> <filter string="Creation" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/> <filter string="Exp.Closing" icon="terp-go-month" help="Expected Closing" domain="[]" context="{'group_by':'date_deadline'}" /> </group> <group string="Display"> - <filter string="Show Sales Team" - icon="terp-personal+" - context="{'invisible_section': False}" - domain="[]" - help="Show Sales Team"/> + <filter string="Show Sales Team" icon="terp-personal+" context="{'invisible_section': False}" domain="[]" help="Show Sales Team"/> </group> </search> </field> diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml index ac0fe3b4b98..2953e963647 100644 --- a/addons/crm/crm_phonecall_view.xml +++ b/addons/crm/crm_phonecall_view.xml @@ -214,40 +214,24 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Phonecalls"> - <filter icon="terp-mail-message-new" - string="Inbox" help="Unread messages" - name="needaction_pending" - domain="[('needaction_pending','=',True)]"/> - <separator orientation="vertical"/> <field name="name" string="Phonecalls"/> - <separator orientation="vertical"/> <field name="date"/> - <separator orientation="vertical"/> + <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> <filter icon="terp-gtk-go-back-rtl" string="To Do" name="current" domain="[('state','=','open')]"/> - <filter string="Unassigned Phonecalls" - icon="terp-personal-" - domain="[('user_id','=',False)]" - help="Unassigned Phonecalls"/> - <filter string="Phone Calls Assigned to Me or My Team(s)" - icon="terp-personal+" - domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" + <separator/> + <filter string="Unassigned Phonecalls" icon="terp-personal-" domain="[('user_id','=',False)]" help="Unassigned Phonecalls"/> + <separator/> + <filter string="Phone Calls Assigned to Me or My Team(s)" icon="terp-personal+" domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" help="Phone Calls that are assigned to me or to my team(s)" /> - <separator orientation="vertical"/> <field name="partner_id"/> <field name="user_id"/> - <field name="section_id" - widget="selection" string="Sales Team"/> - <newline/> + <field name="section_id" string="Sales Team"/> <group expand="0" string="Group By..."> - <filter string="Partner" icon="terp-partner" domain="[]" - context="{'group_by':'partner_id'}" /> - <filter string="Responsible" icon="terp-personal" - domain="[]" context="{'group_by':'user_id'}" /> - <separator orientation="vertical" /> - <filter string="Creation" icon="terp-go-month" help="Creation Date" - domain="[]" context="{'group_by':'create_date'}" /> - <filter string="Date" icon="terp-go-month" domain="[]" - context="{'group_by':'date'}" help="Date of Call" /> + <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" /> + <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> + <filter string="Creation" icon="terp-go-month" help="Creation Date" domain="[]" context="{'group_by':'create_date'}" /> + <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" help="Date of Call" /> </group> </search> </field> diff --git a/addons/crm/crm_report_view.xml b/addons/crm/crm_report_view.xml index c3ccde5360b..eaed4564424 100644 --- a/addons/crm/crm_report_view.xml +++ b/addons/crm/crm_report_view.xml @@ -69,15 +69,12 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Cases by Team and Type"> - <group> - <field name="name"/> - <separator orientation="vertical"/> - <field name="month"/> - <field name="section_id" widget="selection" /> - <field name="category2_id"/> - <field name="nbr"/> - <field name="state"/> - </group> + <field name="name"/> + <field name="month"/> + <field name="nbr"/> + <field name="state"/> + <field name="section_id"/> + <field name="category2_id"/> </search> </field> </record> @@ -157,14 +154,11 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Cases by Team and Stage"> - <group> - <field name="name"/> - <separator orientation="vertical"/> - <field name="month"/> - <field name="section_id" widget="selection"/> - <field name="nbr"/> - <field name="state"/> - </group> + <field name="name"/> + <field name="month"/> + <field name="nbr"/> + <field name="state"/> + <field name="section_id"/> </search> </field> </record> @@ -229,14 +223,11 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Cases by Section, Category and Stage"> - <group> - <field name="name"/> - <separator orientation="vertical"/> - <field name="month"/> - <field name="section_id" widget="selection"/> - <field name="nbr"/> - <field name="state"/> - </group> + <field name="name"/> + <field name="month"/> + <field name="nbr"/> + <field name="state"/> + <field name="section_id"/> </search> </field> </record> @@ -318,14 +309,11 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Cases by User"> - <group> - <field name="name"/> - <separator orientation="vertical"/> - <field name="month"/> - <field name="section_id" widget="selection"/> - <field name="nbr"/> - <field name="state"/> - </group> + <field name="name"/> + <field name="month"/> + <field name="nbr"/> + <field name="state"/> + <field name="section_id"/> </search> </field> </record> diff --git a/addons/crm/report/crm_lead_report_view.xml b/addons/crm/report/crm_lead_report_view.xml index f45b9d621da..9d0050be69c 100644 --- a/addons/crm/report/crm_lead_report_view.xml +++ b/addons/crm/report/crm_lead_report_view.xml @@ -70,47 +70,26 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Leads Analysis"> - <group> - <filter icon="terp-personal" - name="lead" - string="Lead" - domain="[('type','=', 'lead')]" - help="Show only lead"/> - <filter icon="terp-personal+" - string="Opportunity" - name="opportunity" - domain="[('type','=','opportunity')]" - help="Show only opportunity"/> - <separator orientation="vertical" /> - <filter icon="terp-check" - string="New" - domain="[('state','=','draft')]" - help="Leads/Opportunities which are in New state"/> - <filter icon="terp-camera_test" - string="Open" - domain="[('state','=','open')]" - help="Leads/Opportunities which are in open state"/> - <filter icon="gtk-media-pause" - string="Pending" - domain="[('state','=','pending')]" - help="Leads/Opportunities which are in pending state"/> - <filter icon="terp-dialog-close" - string="Closed" - domain="[('state','=','done')]" - help="Leads/Opportunities which are in done state"/> - <filter string="My Sales Team(s)" icon="terp-personal+" - context="{'invisible_section': False}" - domain="[('section_id.user_id','=',uid)]" - help="Leads/Opportunities that are assigned to one of the sale teams I manage"/> - <filter icon="terp-personal" string="My Case(s)" help="Leads/Opportunities that are assigned to me" domain="[('user_id','=',uid)]"/> - <separator orientation="vertical" /> - <field name="section_id" - context="{'invisible_section': False}"/> - <field name="user_id" string="Salesperson"/> - </group> - <newline/> + <filter icon="terp-personal" name="lead" string="Lead" domain="[('type','=', 'lead')]" help="Show only lead"/> + <filter icon="terp-personal+" string="Opportunity" name="opportunity" domain="[('type','=','opportunity')]" help="Show only opportunity"/> + <separator/> + <filter icon="terp-check" string="New" domain="[('state','=','draft')]" help="Leads/Opportunities which are in New state"/> + <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]" help="Leads/Opportunities which are in open state"/> + <filter icon="gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Leads/Opportunities which are in pending state"/> + <filter icon="terp-dialog-close" string="Closed" domain="[('state','=','done')]" help="Leads/Opportunities which are in done state"/> + <separator/> + <filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]" + help="Leads/Opportunities that are assigned to one of the sale teams I manage"/> + <separator/> + <filter icon="terp-personal" string="My Case(s)" help="Leads/Opportunities that are assigned to me" domain="[('user_id','=',uid)]"/> + <field name="section_id" context="{'invisible_section': False}"/> + <field name="user_id" string="Salesperson"/> <group expand="0" string="Extended Filters..."> <field name="partner_id"/> + <field name="stage_id" domain="[('section_ids', '=', 'section_id')]" /> + <field name="type_id"/> + <field name="channel_id"/> + <field name="company_id" groups="base.group_multi_company"/> <separator orientation="vertical"/> <field name="stage_id" widget="selection" domain="[('section_ids', '=', 'section_id')]" /> <field name="type_id" widget="selection"/> @@ -122,22 +101,21 @@ <field name="opening_date"/> <field name="date_closed"/> </group> - <newline/> <group expand="1" string="Group By..."> - <filter string="Salesperson" name="user" icon="terp-personal" - domain="[]" context="{'group_by':'user_id'}" /> - <filter string="Sales Team" icon="terp-personal+" - domain="[]" - context="{'group_by':'section_id'}" /> + <filter string="Salesperson" name="user" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> + <filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" /> <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" /> <filter string="Country" icon="terp-go-home" context="{'group_by':'country_id'}" /> - <filter string="Company" icon="terp-go-home" - domain="[]" - context="{'group_by':'company_id'}" - groups="base.group_multi_company"/> - <separator orientation="vertical" /> + <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> <filter string="Stage" name="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/> <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" /> + <filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}" /> + <filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" /> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" /> + <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'creation_year'}"/> + <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'creation_month'}"/> + <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'creation_day'}"/> + <filter string="Exp. Closing" icon="terp-go-month" domain="[]" context="{'group_by':'deadline_month'}"/> <filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}" /> <filter string="Channel" icon="terp-call-start" diff --git a/addons/crm/report/crm_phonecall_report_view.xml b/addons/crm/report/crm_phonecall_report_view.xml index 3f28fb8730e..2eeff7a0981 100644 --- a/addons/crm/report/crm_phonecall_report_view.xml +++ b/addons/crm/report/crm_phonecall_report_view.xml @@ -51,65 +51,37 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search"> - <group> - <filter icon="terp-gtk-go-back-rtl" - string="Todo" - domain="[('state','in',('draft','open'))]" - help="Phone calls which are in draft and open state"/> - <filter icon="terp-camera_test" - string="Held" - domain="[('state','=','done')]" - help="Phone calls which are in closed state"/> - <filter icon="gtk-media-pause" - string="Not Held" - domain="[('state','=','pending')]" - help="Phone calls which are in pending state"/> - <filter string="My Sales Team(s)" - icon="terp-personal+" - context="{'invisible_section': False}" - domain="[('section_id.user_id','=',uid)]" - help="Phone calls that are assigned to one of the sale teams I manage"/> - <filter icon="terp-personal" string="My Phone Calls" help="Phone Calls that are assigned to me" domain="[('user_id','=',uid)]" /> - <separator orientation="vertical"/> - <field name="section_id" string="Sales Team" - context="{'invisible_section': False}"/> - <field name="user_id" string="Salesperson"/> - </group> - <newline/> + <filter icon="terp-gtk-go-back-rtl" string="Todo" domain="[('state','in',('draft','open'))]" + help="Phone calls which are in draft and open state"/> + <filter icon="terp-camera_test" string="Held" domain="[('state','=','done')]" + help="Phone calls which are in closed state"/> + <filter icon="gtk-media-pause" string="Not Held" domain="[('state','=','pending')]" + help="Phone calls which are in pending state"/> + <separator/> + <filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]" + help="Phone calls that are assigned to one of the sale teams I manage"/> + <separator/> + <filter icon="terp-personal" string="My Phone Calls" help="Phone Calls that are assigned to me" domain="[('user_id','=',uid)]" /> + <field name="section_id" string="Sales Team" context="{'invisible_section': False}"/> + <field name="user_id" string="Salesperson"/> <group expand="0" string="Extended Filters..."> <field name="partner_id"/> - <separator orientation="vertical"/> <field name="company_id" groups="base.group_multi_company"/> - <newline/> <field name="creation_date"/> <field name="opening_date"/> <field name="date_closed"/> </group> - <newline/> <group expand="1" string="Group By..."> - <filter string="Salesperson" name="Salesperson" icon="terp-personal" - domain="[]" context="{'group_by':'user_id'}" /> - <filter string="Sales Team" icon="terp-personal+" - domain="[]" - context="{'group_by':'section_id'}" /> + <filter string="Salesperson" name="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> + <filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" /> <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" /> - <separator orientation="vertical" /> <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" /> - <filter string="Category" icon="terp-stock_symbol-selection" - domain="[]" context="{'group_by':'categ_id'}" /> - <filter string="Status" icon="terp-stock_effects-object-colorize" - domain="[]" context="{'group_by':'state'}" /> - <separator orientation="vertical" /> - <filter string="Company" icon="terp-go-home" - domain="[]" - context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical" /> - <filter string="Day" icon="terp-go-today" - domain="[]" context="{'group_by':'day'}" help="Date of call"/> - <filter string="Month" icon="terp-go-month" - domain="[]" context="{'group_by':'month'}" help="Month of call"/> - <filter string="Year" icon="terp-go-year" - domain="[]" context="{'group_by':'name'}" help="Year of call"/> + <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" /> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" /> + <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> + <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}" help="Date of call"/> + <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Month of call"/> + <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'name'}" help="Year of call"/> </group> </search> </field> diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml index 8ddf435138a..43bac76833f 100644 --- a/addons/crm/res_partner_view.xml +++ b/addons/crm/res_partner_view.xml @@ -37,6 +37,7 @@ <field eval="18" name="priority"/> <field name="arch" type="xml"> <field name="category_id" position="after"> + <field name="section_id" completion="1"/> <field name="section_id" completion="1" widget="selection" context="{'invisible_section': False}"/> </field> <xpath expr="//field[@name='user_id']" position="after"> diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml index 80e373160be..6c508049e5e 100644 --- a/addons/crm_claim/crm_claim_view.xml +++ b/addons/crm_claim/crm_claim_view.xml @@ -199,50 +199,22 @@ <field name="arch" type="xml"> <search string="Search Claims"> <field name="name" string="Claims"/> - <separator orientation="vertical"/> - <filter icon="terp-check" string="New" name="current" - domain="[('state','=','draft')]" - help="New Claims"/> - <filter icon="terp-camera_test" - string="In Progress" - domain="[('state','=','open')]" - help="In Progress Claims"/> - <filter icon="terp-gtk-media-pause" - string="Pending" - domain="[('state','=','pending')]"/> - <filter string="Unassigned Claims" - icon="terp-personal-" - domain="[('user_id','=', False)]" - help="Unassigned Claims" /> - <separator orientation="vertical"/> + <filter icon="terp-check" string="New" name="current" domain="[('state','=','draft')]" help="New Claims"/> + <filter icon="terp-camera_test" string="In Progress" domain="[('state','=','open')]" help="In Progress Claims"/> + <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]"/> + <separator/> + <filter string="Unassigned Claims" icon="terp-personal-" domain="[('user_id','=', False)]" help="Unassigned Claims" /> <field name="partner_id"/> - <field name="user_id" widget="selection"/> - <newline/> + <field name="user_id"/> <group expand="0" string="Group By..."> - <filter string="Partner" icon="terp-partner" - domain="[]" help="Partner" - context="{'group_by':'partner_id'}"/> - <filter string="Responsible" icon="terp-personal" - domain="[]" help="Responsible User" - context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> - <filter string="Stage" icon="terp-stage" - domain="[]" context="{'group_by':'stage_id'}"/> - <filter string="Type" icon="terp-stock_symbol-selection" - domain="[]" context="{'group_by':'categ_id'}"/> - <filter string="Status" - icon="terp-stock_effects-object-colorize" - domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/> - <separator orientation="vertical"/> - <filter string="Claim Date" icon="terp-go-month" - domain="[]" help="Claim Date" - context="{'group_by':'date'}"/> - <filter string="Deadline" icon="terp-go-month" - domain="[]" - context="{'group_by':'date_deadline'}"/> - <filter string="Closure" icon="terp-go-month" - domain="[]" help="Date Closed" - context="{'group_by':'date_closed'}" groups="base.group_no_one"/> + <filter string="Partner" icon="terp-partner" domain="[]" help="Partner" context="{'group_by':'partner_id'}"/> + <filter string="Responsible" icon="terp-personal" domain="[]" help="Responsible User" context="{'group_by':'user_id'}"/> + <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/> + <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/> + <filter string="Claim Date" icon="terp-go-month" domain="[]" help="Claim Date" context="{'group_by':'date'}"/> + <filter string="Deadline" icon="terp-go-month" domain="[]" context="{'group_by':'date_deadline'}"/> + <filter string="Closure" icon="terp-go-month" domain="[]" help="Date Closed" context="{'group_by':'date_closed'}" groups="base.group_no_one"/> </group> </search> </field> diff --git a/addons/crm_claim/report/crm_claim_report_view.xml b/addons/crm_claim/report/crm_claim_report_view.xml index e92102f889d..adfb97a28f0 100644 --- a/addons/crm_claim/report/crm_claim_report_view.xml +++ b/addons/crm_claim/report/crm_claim_report_view.xml @@ -53,93 +53,43 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search"> - <group> - <filter icon="terp-document-new" - string="New" - domain="[('state','=','draft')]"/> - <filter icon="terp-camera_test" - string="Open" - domain="[('state','=','open')]"/> - <filter icon="terp-gtk-media-pause" - string="Pending" - domain="[('state','=','pending')]"/> - <filter string="My Sales Team(s)" - icon="terp-personal+" - context="{'invisible_section': False}" - domain="[('section_id.user_id','=',uid)]" - help="My Sales Team(s)" /> - <filter string="My Company" - icon="terp-go-home" - context="{'invisible_section': False}" - domain="[('section_id.user_id.company_id','=',uid)]" - help="My company"/> - <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" /> - <separator orientation="vertical"/> - <field name="company_id" groups="base.group_multi_company"/> - <field name="user_id" string="Salesperson"/> - <field name="section_id" string="Sales Team" - context="{'invisible_section': False}"/> - </group> - <newline/> + <filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/> + <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]"/> + <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]"/> + <separator/> + <filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]" help="My Sales Team(s)" /> + <separator/> + <filter string="My Company" icon="terp-go-home" context="{'invisible_section': False}" domain="[('section_id.user_id.company_id','=',uid)]" help="My company"/> + <separator/> + <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" /> + <field name="company_id" groups="base.group_multi_company"/> + <field name="user_id" string="Salesperson"/> + <field name="section_id" string="Sales Team" context="{'invisible_section': False}"/> <group expand="0" string="Extended Filters..."> - <filter icon="terp-dialog-close" - string="Done" - domain="[('state','=','done')]"/> - <filter icon="gtk-cancel" - string="Cancel" - domain="[('state','=','cancel')]"/> - <separator orientation="vertical"/> <field name="partner_id"/> - <separator orientation="vertical"/> - <field name="stage_id" widget="selection" domain="[('section_ids', '=', 'section_id')]"/> - <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.claim')]"/> - <separator orientation="vertical"/> - <field name="priority" /> - <field name="type_action" /> - <newline/> + <field name="stage_id" domain="[('section_ids', '=', 'section_id')]"/> + <field name="categ_id" domain="[('object_id.model', '=', 'crm.claim')]"/> + <field name="priority"/> + <field name="type_action"/> <field name="create_date" /> <field name="date_closed" /> <field name="date_deadline" /> + <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/> + <filter icon="gtk-cancel" string="Cancel" domain="[('state','=','cancel')]"/> </group> - <newline/> <group expand="1" string="Group By..."> - <filter string="Salesperson" name="Salesperson" icon="terp-personal" - domain="[]" context="{'group_by':'user_id'}" /> - <filter string="Sales Team" icon="terp-personal+" - domain="[]" - context="{'group_by':'section_id'}" /> - <filter string="Partner" name="partner" icon="terp-partner" - domain="[]" context="{'group_by':'partner_id'}" /> - <separator orientation="vertical" /> - <filter string="Stage" icon="terp-stage" domain="[]" - context="{'group_by':'stage_id'}" /> - <filter string="Priority" icon="terp-rating-rated" domain="[]" - context="{'group_by':'priority'}" /> - <filter string="Category" icon="terp-stock_symbol-selection" - domain="[]" context="{'group_by':'categ_id'}" /> - - <separator orientation="vertical"/> - <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" - context="{'group_by':'type_action'}" help="Action Type"/> - <filter string="Status" icon="terp-stock_effects-object-colorize" - domain="[]" context="{'group_by':'state'}" /> - <separator orientation="vertical" /> - <filter string="Company" icon="terp-go-home" - domain="[]" - context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - - <separator orientation="vertical" /> - <filter string="Day" icon="terp-go-today" - domain="[]" context="{'group_by':'day'}" - help="Date of claim"/> - - <filter string="Month" icon="terp-go-month" - domain="[]" context="{'group_by':'month'}" - help="Month of claim"/> - - <filter string="Year" icon="terp-go-year" - domain="[]" context="{'group_by':'name'}" - help="Year of claim"/> + <filter string="Salesperson" name="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> + <filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" /> + <filter string="Partner" name="partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" /> + <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}" /> + <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" /> + <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" /> + <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type_action'}" help="Action Type"/> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" /> + <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> + <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}" help="Date of claim"/> + <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Month of claim"/> + <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'name'}" help="Year of claim"/> </group> </search> </field> diff --git a/addons/crm_fundraising/crm_fundraising_view.xml b/addons/crm_fundraising/crm_fundraising_view.xml index 9e67a4001a7..7ee3f35d2a6 100644 --- a/addons/crm_fundraising/crm_fundraising_view.xml +++ b/addons/crm_fundraising/crm_fundraising_view.xml @@ -172,50 +172,24 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Funds"> - <group> - <field name="name" string="Fund Description"/> - <separator orientation="vertical" /> - <filter icon="terp-check" string="New" - domain="[('state','=','draft')]" name="current" - help="New Funds" /> - <filter icon="terp-camera_test" string="Open" - domain="[('state','=','open')]" - help="Open Funds" /> - <filter icon="terp-gtk-media-pause" - string="Pending" - domain="[('state','=','pending')]" - help="Pending Funds" /> - <separator orientation="vertical" /> - <filter string="Unassigned" - icon="terp-personal-" - domain="[('user_id','=', False)]" - help="Unassigned" /> - <filter string="Assigned to Me or to My Sales Team(s)" - icon="terp-personal+" - domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" - help="Fund Raisings that are assigned to me or to one of the sale teams I manage" /> - <separator orientation="vertical" /> - <field name="state"/> - <field name="user_id" - widget="selection"/> - <field name="section_id" widget="selection" string="Sales Team"/> - </group> - <newline/> + <field name="name" string="Fund Description"/> + <field name="state"/> + <filter icon="terp-check" string="New" domain="[('state','=','draft')]" name="current" help="New Funds" /> + <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]" help="Open Funds" /> + <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Funds" /> + <separator/> + <filter string="Unassigned" icon="terp-personal-" domain="[('user_id','=', False)]" help="Unassigned" /> + <separator/> + <filter string="Assigned to Me or to My Sales Team(s)" icon="terp-personal+" domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" + help="Fund Raisings that are assigned to me or to one of the sale teams I manage" /> + <field name="user_id"/> + <field name="section_id" string="Sales Team"/> <group expand="0" string="Group By..."> - <filter string="Partner" icon="terp-partner" - domain="[]" - context="{'group_by':'partner_id'}" /> - <filter string="Responsible" icon="terp-personal" - domain="[]" - context="{'group_by':'user_id'}" /> - <filter string="Category" help="Fund Category" - icon="terp-stock_symbol-selection" domain="[]" - context="{'group_by':'categ_id'}" /> - <filter string="Payment Mode" help="Payment Mode" - icon="terp-dolar" domain="[]" - context="{'group_by':'type_id'}" /> - <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" - context="{'group_by':'state'}" /> + <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" /> + <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> + <filter string="Category" help="Fund Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" /> + <filter string="Payment Mode" help="Payment Mode" icon="terp-dolar" domain="[]" context="{'group_by':'type_id'}" /> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" /> </group> </search> </field> diff --git a/addons/crm_fundraising/report/crm_fundraising_report_view.xml b/addons/crm_fundraising/report/crm_fundraising_report_view.xml index 5a3ed924567..028635b083c 100644 --- a/addons/crm_fundraising/report/crm_fundraising_report_view.xml +++ b/addons/crm_fundraising/report/crm_fundraising_report_view.xml @@ -77,74 +77,34 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search"> - <group> - <filter icon="terp-document-new" - string="New" - domain="[('state','=','draft')]"/> - <filter icon="terp-camera_test" - string="Open" - domain="[('state','=','open')]"/> - <filter icon="terp-gtk-media-pause" - string="Pending" - domain="[('state','=','pending')]"/> - <filter string="My Sales Team(s)" - icon="terp-personal+" - context="{'invisible_section': False}" - domain="[('section_id.user_id','=',uid)]" - help="My Sales Team(s)" /> - <filter string="My Company" - icon="terp-go-home" - context="{'invisible_section': False}" - domain="[('section_id.user_id.company_id','=',uid)]" - help="My company"/> - <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" /> - <separator orientation="vertical"/> - <field name="section_id" string="Sales Team" - context="{'invisible_section': False}"/> - <field name="company_id" groups="base.group_multi_company"/> - <field name="user_id" string="Salesperson"/> - </group> - <newline/> + <filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/> + <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]"/> + <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]"/> + <separator/> + <filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]" help="My Sales Team(s)" /> + <separator/> + <filter string="My Company" icon="terp-go-home" context="{'invisible_section': False}" domain="[('section_id.user_id.company_id','=',uid)]" help="My company"/> + <separator/> + <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" /> + <field name="section_id" string="Sales Team" context="{'invisible_section': False}"/> + <field name="company_id" groups="base.group_multi_company"/> + <field name="user_id" string="Salesperson"/> <group expand="0" string="Extended Filters..."> - <filter icon="terp-dialog-close" - string="Done" - domain="[('state','=','done')]"/> - <filter icon="gtk-cancel" - string="Cancel" - domain="[('state','=','cancel')]"/> - <separator orientation="vertical"/> - <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.fundraising')]"/> + <field name="categ_id" domain="[('object_id.model', '=', 'crm.fundraising')]"/> <field name="create_date"/> + <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/> + <filter icon="gtk-cancel" string="Cancel" domain="[('state','=','cancel')]"/> </group> - <newline/> <group expand="1" string="Group By..."> - <filter string="Salesperson" name="Salesperson" icon="terp-personal" - domain="[]" context="{'group_by':'user_id'}" /> - <filter string="Sales Team" icon="terp-personal+" - domain="[]" - context="{'group_by':'section_id'}" /> - <separator orientation="vertical" /> - <filter string="Status" icon="terp-stock_effects-object-colorize" - domain="[]" context="{'group_by':'state'}" /> - <filter string="Category" icon="terp-stock_symbol-selection" - domain="[]" context="{'group_by':'categ_id'}" /> - <filter string="Payment Mode" help="Payment Mode" - icon="terp-dolar" domain="[]" - context="{'group_by':'type_id'}" /> - <separator orientation="vertical" /> - <filter string="Company" icon="terp-go-home" - domain="[]" - groups="base.group_multi_company" - context="{'group_by':'company_id'}" /> - <separator orientation="vertical" groups="base.group_multi_company"/> - <filter string="Day" icon="terp-go-today" - domain="[]" context="{'group_by':'day'}" - help="Date of fundraising"/> - <filter string="Month" icon="terp-go-month" - domain="[]" context="{'group_by':'month'}" - help="Month of fundraising"/> - <filter string="Year" icon="terp-go-year" - domain="[]" context="{'group_by':'name'}" /> + <filter string="Salesperson" name="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> + <filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" /> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" /> + <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" /> + <filter string="Payment Mode" help="Payment Mode" icon="terp-dolar" domain="[]" context="{'group_by':'type_id'}" /> + <filter string="Company" icon="terp-go-home" domain="[]" groups="base.group_multi_company" context="{'group_by':'company_id'}" /> + <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}" help="Date of fundraising"/> + <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Month of fundraising"/> + <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'name'}" /> </group> </search> </field> diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml index 4c2d81f94e3..0fb0cbf825f 100644 --- a/addons/crm_helpdesk/crm_helpdesk_view.xml +++ b/addons/crm_helpdesk/crm_helpdesk_view.xml @@ -152,54 +152,24 @@ <field name="arch" type="xml"> <search string="Search Helpdesk"> <field name="name" string="Query"/> - <separator orientation="vertical"/> <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-check" string="New" - name="current" - domain="[('state','=','draft')]" - help="New Helpdesk Request" /> - <filter icon="terp-camera_test" - string="Open" - domain="[('state','=','open')]" - help="Open Helpdesk Request" - /> - <filter icon="terp-gtk-media-pause" - string="Pending" - domain="[('state','=','pending')]" - help="All pending Helpdesk Request" - /> - <filter string="Assigned to Me or My Sales Team(s)" - icon="terp-personal+" - domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" + <filter icon="terp-check" string="New" name="current" domain="[('state','=','draft')]" help="New Helpdesk Request" /> + <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]" help="Open Helpdesk Request" /> + <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="All pending Helpdesk Request" /> + <separator/> + <filter string="Assigned to Me or My Sales Team(s)" icon="terp-personal+" domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" help="Helpdesk requests that are assigned to me or to one of the sale teams I manage" /> - <separator orientation="vertical"/> <field name="partner_id" /> - <field name="user_id" widget="selection"/> - <field name="section_id" widget="selection" string="Sales Team"/> - <newline/> + <field name="user_id"/> + <field name="section_id" string="Sales Team"/> <group expand="0" string="Group By..."> - <filter string="Partner" icon="terp-partner" - domain="[]" help="Partner" - context="{'group_by':'partner_id'}" /> - <filter string="Responsible" icon="terp-personal" - domain="[]" help="Responsible User" - context="{'group_by':'user_id'}" /> - <filter string="Sales Team" icon="terp-personal+" - domain="[]" help="Sales Team" - context="{'group_by':'section_id'}" /> - <separator orientation="vertical"/> - <filter string="Priority" icon="terp-rating-rated" - domain="[]" context="{'group_by':'priority'}" /> - <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" - context="{'group_by':'state'}" /> - <separator orientation="vertical"/> - <filter string="Date" icon="terp-go-month" - domain="[]" help="Request Date" - context="{'group_by':'date'}" /> - <filter string="Deadline" icon="terp-go-month" - domain="[]" - context="{'group_by':'date_deadline'}" /> + <filter string="Partner" icon="terp-partner" domain="[]" help="Partner" context="{'group_by':'partner_id'}" /> + <filter string="Responsible" icon="terp-personal" domain="[]" help="Responsible User" context="{'group_by':'user_id'}" /> + <filter string="Sales Team" icon="terp-personal+" domain="[]" help="Sales Team" context="{'group_by':'section_id'}" /> + <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" /> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" /> + <filter string="Date" icon="terp-go-month" domain="[]" help="Request Date" context="{'group_by':'date'}" /> + <filter string="Deadline" icon="terp-go-month" domain="[]" context="{'group_by':'date_deadline'}" /> </group> </search> </field> diff --git a/addons/crm_helpdesk/report/crm_helpdesk_report_view.xml b/addons/crm_helpdesk/report/crm_helpdesk_report_view.xml index 6060c6c1f90..9aab23eab70 100644 --- a/addons/crm_helpdesk/report/crm_helpdesk_report_view.xml +++ b/addons/crm_helpdesk/report/crm_helpdesk_report_view.xml @@ -53,65 +53,34 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search"> - <group> - <filter string="New" icon="terp-check" - domain="[('state','=','draft')]" /> - <filter string="Open" icon="terp-camera_test" - domain="[('state','=','open')]" /> - <filter string="Closed" icon="terp-dialog-close" - domain="[('state','=','cancel')]" /> - <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" /> - <filter string="My Sales Team(s)" - icon="terp-personal+" - context="{'invisible_section': False}" - domain="[('section_id.user_id','=',uid)]" - help="My Sales Team(s)" /> - <filter string="My Company" - icon="terp-go-home" - context="{'invisible_section': False}" - domain="[('section_id.user_id.company_id','=',uid)]" - help="My company"/> - <separator orientation="vertical"/> - <field name="user_id" string="Salesperson"/> - <field name="section_id" string="Sales Team" - context="{'invisible_section': False}"/> - <field name="company_id" groups="base.group_multi_company"/> - </group> - <newline/> + <filter string="New" icon="terp-check" domain="[('state','=','draft')]" /> + <filter string="Open" icon="terp-camera_test" domain="[('state','=','open')]" /> + <filter string="Closed" icon="terp-dialog-close" domain="[('state','=','cancel')]" /> + <separator/> + <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" /> + <separator/> + <filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]" help="My Sales Team(s)" /> + <separator/> + <filter string="My Company" icon="terp-go-home" context="{'invisible_section': False}" domain="[('section_id.user_id.company_id','=',uid)]" help="My company"/> + <field name="user_id" string="Salesperson"/> + <field name="section_id" string="Sales Team" context="{'invisible_section': False}"/> + <field name="company_id" groups="base.group_multi_company"/> <group expand="0" string="Extended Filters..." groups="base.group_no_one"> <field name="priority" string="Priority"/> <field name="categ_id"/> - <newline/> <field name="create_date"/> <field name="date_closed" string="Close Date"/> </group> - <newline/> <group expand="1" string="Group By..."> - <filter string="Salesperson" icon="terp-personal" - domain="[]" context="{'group_by':'user_id'}"/> - <filter string="Sales Team" icon="terp-personal+" - domain="[]" - context="{'group_by':'section_id'}" /> - <filter string="Partner" icon="terp-partner" - domain="[]" - context="{'group_by':'partner_id'}" /> - <separator orientation="vertical" /> + <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> + <filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" /> + <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" /> <filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" /> - <separator orientation="vertical" /> - <filter string="Status" icon="terp-stock_effects-object-colorize" - domain="[]" context="{'group_by':'state'}" /> - <separator orientation="vertical" /> - <filter string="Company" icon="terp-go-home" - domain="[]" - groups="base.group_multi_company" - context="{'group_by':'company_id'}" /> - <separator orientation="vertical" groups="base.group_multi_company"/> - <filter string="Day" icon="terp-go-today" - domain="[]" context="{'group_by':'day'}" help="Date of helpdesk requests"/> - <filter string="Month" icon="terp-go-month" - domain="[]" context="{'group_by':'month'}" help="Month of helpdesk requests"/> - <filter string="Year" icon="terp-go-year" - domain="[]" context="{'group_by':'name'}" help="Year of helpdesk requests" /> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" /> + <filter string="Company" icon="terp-go-home" domain="[]" groups="base.group_multi_company" context="{'group_by':'company_id'}" /> + <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}" help="Date of helpdesk requests"/> + <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Month of helpdesk requests"/> + <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'name'}" help="Year of helpdesk requests" /> </group> </search> </field> diff --git a/addons/crm_partner_assign/crm_lead_view.xml b/addons/crm_partner_assign/crm_lead_view.xml index c45002c085c..258b16cea93 100644 --- a/addons/crm_partner_assign/crm_lead_view.xml +++ b/addons/crm_partner_assign/crm_lead_view.xml @@ -62,7 +62,6 @@ </filter> <field name="user_id" position="after"> - <separator orientation="vertical"/> <field name="partner_assigned_id"/> </field> </field> diff --git a/addons/crm_partner_assign/report/crm_lead_report_view.xml b/addons/crm_partner_assign/report/crm_lead_report_view.xml index a9a0cf75d25..f88d7e91f00 100644 --- a/addons/crm_partner_assign/report/crm_lead_report_view.xml +++ b/addons/crm_partner_assign/report/crm_lead_report_view.xml @@ -9,72 +9,42 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Leads Analysis"> - <group> - <filter icon="terp-check" - string="Current" - domain="[('state','in',('draft','open'))]"/> - <filter icon="terp-dialog-close" - string="Closed" - domain="[('state','=','done')]"/> - <separator orientation="vertical" /> - <field name="section_id" - widget="selection" - context="{'invisible_section': False}"/> - <field name="grade_id"/> - <field name="user_id"/> - <field name="partner_assigned_id"/> - </group> - <newline/> - <group expand="0" string="Extended Filters..."> + <filter icon="terp-check" string="Current" domain="[('state','in',('draft','open'))]"/> + <filter icon="terp-dialog-close" string="Closed" domain="[('state','=','done')]"/> + <field name="section_id" context="{'invisible_section': False}"/> + <field name="grade_id"/> + <field name="user_id"/> + <field name="partner_assigned_id"/> + <group expand="0" string="Extended Filters..."> <field name="partner_id"/> - <separator orientation="vertical"/> + <separator/> <field name="stage_id" widget="selection" domain="[('section_ids', '=', 'section_id')]"/> - <separator orientation="vertical"/> + <separator /> <field name="company_id" widget="selection" groups="base.group_multi_company"/> - <newline/> <field name="creation_date"/> <field name="opening_date"/> <field name="date_closed"/> - </group> - <newline/> - <group expand="1" string="Group By..."> - <filter string="Salesperson" name="user" icon="terp-personal" + </group> + <group expand="1" string="Group By..."> + <filter string="Salesperson" name="user" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> - <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_assigned_id'}" /> - <filter string="Country" icon="terp-go-home" context="{'group_by':'country_id'}" /> - <separator orientation="vertical" /> + <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_assigned_id'}" /> + <filter string="Country" icon="terp-go-home" context="{'group_by':'country_id'}" /> <filter string="Section" icon="terp-personal+" - domain="[]" - context="{'group_by':'section_id'}" /> + domain="[]" + context="{'group_by':'section_id'}" /> <filter string="Grade" name="group_grade" icon="terp-stock_symbol-selection" - domain="[]" context="{'group_by':'grade_id'}" /> - - <separator orientation="vertical" /> + domain="[]" context="{'group_by':'grade_id'}" /> <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/> - <separator orientation="vertical"/> <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" /> - <separator orientation="vertical" /> - <filter string="Status" icon="terp-stock_effects-object-colorize" - domain="[]" context="{'group_by':'state'}" /> - <separator orientation="vertical" /> - <filter string="Company" icon="terp-go-home" - domain="[]" - context="{'group_by':'company_id'}" /> - <separator orientation="vertical" /> - <filter string="Assign Date" icon="terp-go-today" - domain="[]" - name="group_partner_date" - context="{'group_by':'date_assign'}"/> - <separator orientation="vertical"/> - <filter string="Day" icon="terp-go-today" - domain="[]" context="{'group_by':'day'}"/> - <filter string="Month" icon="terp-go-month" - domain="[]" context="{'group_by':'month'}" /> - <filter string="Year" icon="terp-go-year" - domain="[]" context="{'group_by':'year'}" /> - </group> - - </search> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" /> + <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" /> + <filter string="Assign Date" icon="terp-go-today" domain="[]" name="group_partner_date" context="{'group_by':'date_assign'}"/> + <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}"/> + <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" /> + <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'year'}" /> + </group> + </search> </field> </record> diff --git a/addons/crm_partner_assign/report/crm_partner_report_view.xml b/addons/crm_partner_assign/report/crm_partner_report_view.xml index d652848f0fe..af811f8f869 100644 --- a/addons/crm_partner_assign/report/crm_partner_report_view.xml +++ b/addons/crm_partner_assign/report/crm_partner_report_view.xml @@ -9,36 +9,30 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Partner assigned Analysis"> - <group col="20" colspan="8"> - <field name="section_id"/> - <field name="user_id"/> - <field name="grade_id"/> - <field name="activation"/> - </group> - <newline/> - <group expand="1" string="Group By..."> - <filter string="Salesperson" name="user" icon="terp-personal" + <field name="section_id"/> + <field name="user_id"/> + <field name="grade_id"/> + <field name="activation"/> + <group expand="1" string="Group By..."> + <filter string="Salesperson" name="user" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> - <filter string="Country" icon="terp-go-home" name="group_country" context="{'group_by':'country_id'}" /> - <separator orientation="vertical" /> + <filter string="Country" icon="terp-go-home" name="group_country" context="{'group_by':'country_id'}" /> <filter string="Section" icon="terp-personal+" - domain="[]" - context="{'group_by':'section_id'}" /> + domain="[]" context="{'group_by':'section_id'}" /> <filter string="Activation" name="group_activation" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'activation'}" /> <filter string="Grade" name="group_grade" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'grade_id'}" /> <filter string="Partner" name="" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'partner_id'}" /> - <separator orientation="vertical" /> <filter string="Date Invoice" name="group_period_id" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'period_id'}" /> <filter string="Date Partnership" name="group_date_partnership" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'date_partnership'}" /> <filter string="Date Review" name="group_date_review" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'date_review'}" /> - </group> - </search> + </group> + </search> </field> </record> diff --git a/addons/delivery/delivery_view.xml b/addons/delivery/delivery_view.xml index 7a37cfcf4c6..ee1597b0b73 100644 --- a/addons/delivery/delivery_view.xml +++ b/addons/delivery/delivery_view.xml @@ -15,7 +15,7 @@ </tree> </field> </record> - + <record id="view_delivery_carrier_form" model="ir.ui.view"> <field name="name">delivery.carrier.form</field> <field name="model">delivery.carrier</field> @@ -90,7 +90,7 @@ </form> </field> </record> - + <record id="action_delivery_carrier_form" model="ir.actions.act_window"> <field name="name">Delivery Method</field> <field name="type">ir.actions.act_window</field> @@ -299,7 +299,7 @@ <field name="model">stock.picking</field> <field name="inherit_id" ref="stock.view_picking_out_form"/> <field name="arch" type="xml"> - <xpath expr="/form/header/button[@string='Create Invoice/Refund']" position="after"> + <xpath expr="/form/header//button[@string='Create Invoice/Refund']" position="after"> <button name="%(report_shipping)d" string="Delivery Order" states="done" type="action" icon="gtk-print"/> </xpath> </field> diff --git a/addons/document/document_view.xml b/addons/document/document_view.xml index 1b1864cabe0..3f5768b8c4a 100644 --- a/addons/document/document_view.xml +++ b/addons/document/document_view.xml @@ -41,7 +41,6 @@ <field name="arch" type="xml"> <search string="Search Document Storage"> <field name="name" string="Document Storage"/> - <newline/> <group expand="0" string="Group By..."> <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/> </group> @@ -172,20 +171,15 @@ <field name="arch" type="xml"> <search string="Search Document Directory"> <field name="name" string="Document Directory"/> - <separator orientation="vertical"/> <filter string="Static" domain="[('type','=','directory')]"/> <filter string="Resources" icon="terp-personal" domain="[('type','=','ressource')]"/> - <separator orientation="vertical"/> <field name="company_id" groups="base.group_multi_company"/> <field name="storage_id" /> <field name="user_id" /> - <newline/> <group expand="0" string="Group By..."> <filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/> <filter string="Storage" domain="[]" icon="terp-accessories-archiver" context="{'group_by':'storage_id'}"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" domain="[]" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> </group> </search> @@ -269,11 +263,7 @@ <field name="inherit_id" ref="base.view_attachment_search"/> <field name="arch" type="xml"> <xpath expr="//filter[@name='my_documents_filter']" position="replace"> - <filter name="my_documents_filter" - string="My Document(s)" - icon="terp-personal" - domain="[('user_id','=',uid)]" - help="Filter on my documents"/> + <filter name="my_documents_filter" string="My Document(s)" icon="terp-personal" domain="[('user_id','=',uid)]" help="Filter on my documents"/> </xpath> <xpath expr="//field[@name='create_uid']" position="replace"> <field name="user_id"/> diff --git a/addons/document/report/document_report_view.xml b/addons/document/report/document_report_view.xml index 98016d2fee2..6b3708d1a2f 100644 --- a/addons/document/report/document_report_view.xml +++ b/addons/document/report/document_report_view.xml @@ -41,13 +41,8 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="All users files"> - <group> - <field name="name" - filter_domain="['|', '|',('name','ilike',self), ('user','ilike',self), ('directory','ilike',self)]" - string="Users File"/> - <separator orientation="vertical"/> - <field name="month"/> - </group> + <field name="name" filter_domain="['|', '|',('name','ilike',self), ('user','ilike',self), ('directory','ilike',self)]" string="Users File"/> + <field name="month"/> </search> </field> </record> diff --git a/addons/document_webdav/webdav_view.xml b/addons/document_webdav/webdav_view.xml index 44af9f2af3a..35c37530f4d 100644 --- a/addons/document_webdav/webdav_view.xml +++ b/addons/document_webdav/webdav_view.xml @@ -38,10 +38,7 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Document properties"> - <field name="name" - filter_domain="['|', ('name','ilike',self), ('namespace','ilike',self)]" - string="Document property"/> - <newline/> + <field name="name" filter_domain="['|', ('name','ilike',self), ('namespace','ilike',self)]" string="Document property"/> <group expand="0" string="Group By..." groups="base.group_no_one"> <filter string="Dir" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'dir_id'}"/> <filter string="Namespace" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'namespace'}"/> @@ -140,10 +137,7 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Document properties"> - <field name="name" - filter_domain="['|', ('name','ilike',self), ('namespace','ilike',self)]" - string="Document Property"/> - <newline/> + <field name="name" filter_domain="['|', ('name','ilike',self), ('namespace','ilike',self)]" string="Document Property"/> <group expand="0" string="Group By..." groups="base.group_no_one"> <filter string="Document" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'file_id'}"/> <filter string="Namespace" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'namespace'}"/> diff --git a/addons/email_template/email_template_view.xml b/addons/email_template/email_template_view.xml index c05502cd3a0..daa4d028651 100644 --- a/addons/email_template/email_template_view.xml +++ b/addons/email_template/email_template_view.xml @@ -122,16 +122,11 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Templates"> - <group> - <field name="name" filter_domain="['|', '|', '|',('name','ilike',self), ('report_name','ilike',self), ('subject','ilike',self), ('email_to','ilike',self)]" string="Templates"/> - <separator orientation="vertical"/> - <field name="model_id"/> - <field name="lang"/> - </group> - <newline/> + <field name="name" filter_domain="['|', '|', '|',('name','ilike',self), ('report_name','ilike',self), ('subject','ilike',self), ('email_to','ilike',self)]" string="Templates"/> + <field name="lang"/> + <field name="model_id"/> <group expand="0" string="Group by..."> <filter string="SMTP Server" domain="[]" context="{'group_by':'mail_server_id'}" icon="terp-folder-orange"/> - <separator orientation="vertical"/> <filter string="Model" domain="[]" context="{'group_by':'model_id'}" icon="terp-accessories-archiver"/> </group> </search> diff --git a/addons/event/event.py b/addons/event/event.py index 6a8cf9f8a0b..c3942642b3d 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -23,6 +23,7 @@ import time from osv import fields, osv from tools.translate import _ import decimal_precision as dp +from openerp import SUPERUSER_ID class event_type(osv.osv): """ Event Type """ @@ -159,7 +160,7 @@ class event_event(osv.osv): elif field == 'register_prospect': number = reg_draft elif field == 'register_avail': - #the number of ticket is unlimited if the event.register_max field is not set. + #the number of ticket is unlimited if the event.register_max field is not set. #In that cas we arbitrary set it to 9999, it is used in the kanban view to special case the display of the 'subscribe' button number = event.register_max - reg_open if event.register_max != 0 else 9999 res[event.id][field] = number @@ -178,7 +179,7 @@ class event_event(osv.osv): if reg.state in ('open','done'): res[event.id]= True continue - return res + return res _columns = { 'name': fields.char('Name', size=64, required=True, translate=True, readonly=False, states={'done': [('readonly', True)]}), @@ -189,7 +190,7 @@ class event_event(osv.osv): 'register_current': fields.function(_get_register, string='Confirmed Registrations', multi='register_numbers'), 'register_avail': fields.function(_get_register, string='Available Registrations', multi='register_numbers',type='integer'), 'register_prospect': fields.function(_get_register, string='Unconfirmed Registrations', multi='register_numbers'), - 'register_attended': fields.function(_get_register, string='# of Participations', multi='register_numbers'), + 'register_attended': fields.function(_get_register, string='# of Participations', multi='register_numbers'), 'registration_ids': fields.one2many('event.registration', 'event_id', 'Registrations', readonly=False, states={'done': [('readonly', True)]}), 'date_begin': fields.datetime('Start Date', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'date_end': fields.datetime('End Date', required=True, readonly=True, states={'draft': [('readonly', False)]}), @@ -227,18 +228,18 @@ class event_event(osv.osv): self.check_registration_limits_before(cr, uid, ids, num_of_seats, context=context) user = user_pool.browse(cr, uid, uid, context=context) curr_reg_ids = register_pool.search(cr, uid, [('user_id', '=', user.id), ('event_id', '=' , ids[0])]) - #the subscription is done with UID = 1 because in case we share the kanban view, we want anyone to be able to subscribe + #the subscription is done with SUPERUSER_ID because in case we share the kanban view, we want anyone to be able to subscribe if not curr_reg_ids: - curr_reg_ids = [register_pool.create(cr, 1, {'event_id': ids[0] ,'email': user.user_email, 'name':user.name, 'user_id': user.id, 'nb_register': num_of_seats})] + curr_reg_ids = [register_pool.create(cr, SUPERUSER_ID, {'event_id': ids[0] ,'email': user.user_email, 'name':user.name, 'user_id': user.id, 'nb_register': num_of_seats})] else: register_pool.write(cr, uid, curr_reg_ids, {'nb_register': num_of_seats}, context=context) - return register_pool.confirm_registration(cr, 1, curr_reg_ids, context=context) + return register_pool.confirm_registration(cr, SUPERUSER_ID, curr_reg_ids, context=context) def unsubscribe_to_event(self, cr, uid, ids, context=None): register_pool = self.pool.get('event.registration') - #the unsubscription is done with UID = 1 because in case we share the kanban view, we want anyone to be able to unsubscribe - curr_reg_ids = register_pool.search(cr, 1, [('user_id', '=', uid), ('event_id', '=', ids[0])]) - return register_pool.button_reg_cancel(cr, 1, curr_reg_ids, context=context) + #the unsubscription is done with SUPERUSER_ID because in case we share the kanban view, we want anyone to be able to unsubscribe + curr_reg_ids = register_pool.search(cr, SUPERUSER_ID, [('user_id', '=', uid), ('event_id', '=', ids[0])]) + return register_pool.button_reg_cancel(cr, SUPERUSER_ID, curr_reg_ids, context=context) def _check_closing_date(self, cr, uid, ids, context=None): for event in self.browse(cr, uid, ids, context=context): @@ -260,7 +261,7 @@ class event_event(osv.osv): 'register_max': type_info.default_registration_max, } return {'value': dic} - + # ---------------------------------------- # OpenChatter methods and notifications # ---------------------------------------- @@ -415,7 +416,7 @@ class event_registration(osv.osv): return {} event_obj = self.pool.get('event.event') data_event = event_obj.browse(cr, uid, event_id, context=context) - return {'value': + return {'value': {'event_begin_date': data_event.date_begin, 'event_end_date': data_event.date_end, 'company_id': data_event.company_id and data_event.company_id.id or False, diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml index 890cb1be9e6..95997e6278c 100644 --- a/addons/event/event_view.xml +++ b/addons/event/event_view.xml @@ -1,6 +1,7 @@ <?xml version="1.0"?> <openerp> <data> + <act_window id="act_event_list_register_event" name="Registration" @@ -13,6 +14,7 @@ <!-- Top menu item --> <menuitem name="Events" id="event_main_menu" + groups="base.group_user" sequence="80"/> <menuitem name="Events Organisation" id="base.menu_event_main" parent="event_main_menu"/> @@ -102,10 +104,12 @@ <field name="arch" type="xml"> <form string="Events" version="7.0"> <header> - <button string="Confirm Event" name="button_confirm" states="draft" type="object" class="oe_highlight"/> - <button string="Event Ended" name="button_done" states="confirm" type="object" class="oe_highlight"/> - <button string="Set To Draft" name="button_draft" states="cancel,done" type="object" /> - <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object"/> + <span groups="base.user_group"> + <button string="Confirm Event" name="button_confirm" states="draft" type="object" class="oe_highlight"/> + <button string="Event Ended" name="button_done" states="confirm" type="object" class="oe_highlight"/> + <button string="Set To Draft" name="button_draft" states="cancel,done" type="object" /> + <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object"/> + </span> <field name="state" widget="statusbar" statusbar_visible="draft,confirm,done"/> </header> <sheet> @@ -126,20 +130,20 @@ <field name="address_id" widget="many2one_address_google_map" widget_option="{'placeholder':'.oe_google_map'}"/> <field name="street" placeholder="Street..."/> <div> - <field name="zip" class="oe_inline" placeholder="Zip"/> - <field name="city" class="oe_inline" placeholder="City"/> + <field name="zip" class="oe_inline" placeholder="Zip"/> + <field name="city" class="oe_inline" placeholder="City"/> </div> </div> </group> <group> - <field name="type" on_change="onchange_event_type(type,context)"/> - <field name="register_min"/> - <field name="register_max"/> - <label for="register_current" string="Current Registrations"/> - <div> - Confirmed: <field name="register_current" class="oe_inline"/>, Unconfirmed: <field name="register_prospect" class="oe_inline"/> - </div> - </group> + <field name="type" on_change="onchange_event_type(type,context)"/> + <field name="register_min"/> + <field name="register_max"/> + <label for="register_current" string="Current Registrations" groups="base.group_user"/> + <div groups="base.group_user"> + Confirmed: <field name="register_current" class="oe_inline"/>, Unconfirmed: <field name="register_prospect" class="oe_inline"/> + </div> + </group> </group> </div> <!-- <div class="oe_right" style="height: 200px"></div> --> @@ -328,37 +332,22 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Events"> - <filter icon="terp-mail-message-new" - string="Inbox" help="Unread messages" - name="needaction_pending" - domain="[('needaction_pending','=',True)]"/> - <separator orientation="vertical"/> - <group> - <field name="name" string="Events"/> - <separator orientation="vertical"/> - <filter icon="terp-check" string="Unconfirmed" name="draft" domain="[('state','=','draft')]" help="Events in New state"/> - <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/> - <filter icon="terp-personal" - string="My Events" - help="My Events" - domain="[('user_id','=',uid)]"/> - <filter icon="terp-go-today" string="Upcoming" - name="upcoming" - domain="[('date_begin','>=', time.strftime('%%Y-%%m-%%d 00:00:00'))]" - help="Upcoming events from today" /> - <separator orientation="vertical"/> - <field name="type" widget="selection"/> - <field name="user_id" widget="selection"/> - </group> - <newline/> + <field name="name" string="Events"/> + <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> + <filter icon="terp-check" string="Unconfirmed" name="draft" domain="[('state','=','draft')]" help="Events in New state"/> + <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/> + <separator/> + <filter icon="terp-personal" string="My Events" help="My Events" domain="[('user_id','=',uid)]"/> + <separator/> + <filter icon="terp-go-today" string="Upcoming" name="upcoming" domain="[('date_begin','>=', time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Upcoming events from today" /> + <field name="type"/> + <field name="user_id"/> <group expand="0" string="Group By..."> <filter string="Responsible" icon="terp-personal" context="{'group_by': 'user_id'}"/> - <separator orientation="vertical"/> <filter string="Event Type" icon="terp-crm" context="{'group_by':'type'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> - <filter string="Starting Date" icon="terp-go-month" - domain="[]" context="{'group_by':'date_begin'}"/> + <filter string="Starting Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_begin'}"/> </group> </search> </field> @@ -474,8 +463,8 @@ <div> <field name="email" class="oe_inline"/> <button class="oe_inline oe_right" string="Send Email" - name="%(mail.action_email_compose_message_wizard)d" - icon="terp-mail-message-new" context= '{"default_email_to":email}' type="action"/> + name="%(mail.action_email_compose_message_wizard)d" + icon="terp-mail-message-new" context= '{"default_email_to":email}' type="action"/> </div> </group> <group> @@ -529,34 +518,21 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Event Registration"> - <group> - <filter icon="terp-mail-message-new" - string="Inbox" help="Unread messages" - name="needaction_pending" - domain="[('needaction_pending','=',True)]"/> - <separator orientation="vertical"/> - <field name="name" string="Participant" - filter_domain="['|','|','|',('name','ilike',self),('partner_id','ilike',self),('email','ilike',self),('origin','ilike',self)]"/> - <separator orientation="vertical"/> - <filter icon="terp-check" string="New" name="draft" domain="[('state','=','draft')]" help="Registrations in unconfirmed state"/> - <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/> - <filter icon="terp-personal" - string="My Registrations" - help="My Registrations" - domain="[('user_id','=',uid)]"/> - <separator orientation="vertical"/> - <field name="event_id" widget="selection"/> - <field name="user_id"/> - </group> - <newline/> + <field name="name" string="Participant" filter_domain="['|','|','|',('name','ilike',self),('partner_id','ilike',self),('email','ilike',self),('origin','ilike',self)]"/> + <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> + <filter icon="terp-check" string="New" name="draft" domain="[('state','=','draft')]" help="Registrations in unconfirmed state"/> + <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/> + <separator/> + <filter icon="terp-personal" string="My Registrations" help="My Registrations" domain="[('user_id','=',uid)]"/> + <field name="event_id"/> + <field name="user_id"/> <group expand="0" string="Group By..."> <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Event" icon="terp-crm" domain="[]" context="{'group_by':'event_id'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> </group> - </search> </field> </record> @@ -571,12 +547,11 @@ <field name="search_view_id" ref="view_registration_search"/> </record>view_ - <menuitem - name="Registrations" + <menuitem name="Registrations" id="menu_action_registration" parent="base.menu_event_main" action="action_registration" groups="event.group_event_manager,event.group_event_user"/> - <menuitem name="Reporting" id="base.menu_report_association" parent="event_main_menu" sequence="20"/> + </data> </openerp> diff --git a/addons/event/report/report_event_registration_view.xml b/addons/event/report/report_event_registration_view.xml index 7ae6c0fae2e..f05fdcc09e1 100644 --- a/addons/event/report/report_event_registration_view.xml +++ b/addons/event/report/report_event_registration_view.xml @@ -52,24 +52,12 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Event on Registration"> - <group> - <filter icon="terp-document-new" - string="New" - domain="[('event_state','=','draft')]" - help="Events which are in New state"/> - <filter icon="terp-check" - string="Confirm" - domain="[('event_state','=','confirm')]" - help="Events which are in confirm state"/> - <filter icon="terp-personal" - string="My Events" - help="My Events" - domain="[('user_id','=',uid)]"/> - <separator orientation="vertical"/> - <field name="event_id" string="Event"/> - <field name="user_id" widget="selection"/> - </group> - <newline/> + <filter icon="terp-document-new" string="New" domain="[('event_state','=','draft')]" help="Events which are in New state"/> + <filter icon="terp-check" string="Confirm" domain="[('event_state','=','confirm')]" help="Events which are in confirm state"/> + <separator/> + <filter icon="terp-personal" string="My Events" help="My Events" domain="[('user_id','=',uid)]"/> + <field name="event_id" string="Event"/> + <field name="user_id"/> <group expand="0" string="Extended Filters..."> <field name="event_type" widget="selection"/> <field name="event_date"/> @@ -80,27 +68,18 @@ <filter string="Register" icon="terp-personal" context="{'group_by':'user_id_registration'}" help="Registration contact" groups="base.extended"/> <filter string="Speaker" name="speaker" icon="terp-personal+" context="{'group_by': 'speaker_id'}" groups="base.extended"/> <filter string="Event Responsible" name="user_id" icon="terp-personal" context="{'group_by': 'user_id'}"/> - <separator orientation="vertical"/> <filter string="Event" name="event" icon="terp-crm" context="{'group_by':'event_id', 'max_reg_event_visible':0}"/> <filter string="Event Type" icon="terp-crm" context="{'group_by':'event_type'}"/> - <separator orientation="vertical"/> <filter string="Event State" icon="terp-stock_effects-object-colorize" context="{'group_by':'event_state'}"/> <filter string="Registration State" icon="terp-stock_effects-object-colorize" context="{'group_by':'registration_state'}"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical" /> - <filter string="Day" icon="terp-go-month" - domain="[]" context="{'group_by':'event_date'}" help="Event Beginning Date"/> - <filter string="Month" icon="terp-go-month" - domain="[]" context="{'group_by':'month'}" help="Event Beginning Date"/> - <filter string="Year" icon="terp-go-year" - domain="[]" context="{'group_by':'year'}" help="Event Beginning Date"/> + <filter string="Day" icon="terp-go-month" domain="[]" context="{'group_by':'event_date'}" help="Event Beginning Date"/> + <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Event Beginning Date"/> + <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'year'}" help="Event Beginning Date"/> </group> <group expand="0" string="Display"> - <filter icon="terp-camera_test" - string="Show Confirmed Registrations" - help="Registrations in confirmed or done state" - context="{'no_of_draft_invisible':1}"/> + <filter icon="terp-camera_test" string="Show Confirmed Registrations" + help="Registrations in confirmed or done state" context="{'no_of_draft_invisible':1}"/> </group> </search> </field> diff --git a/addons/event/security/event_security.xml b/addons/event/security/event_security.xml index e0d17c3bacb..f46bc5fff96 100644 --- a/addons/event/security/event_security.xml +++ b/addons/event/security/event_security.xml @@ -1,45 +1,46 @@ <?xml version="1.0" encoding="utf-8"?> <openerp> -<data noupdate="0"> + <data> - <record model="ir.module.category" id="module_category_event_management"> + <record model="ir.module.category" id="module_category_event_management"> <field name="name">Event</field> <field name="description">Helps you manage your Events.</field> <field name="sequence">3</field> </record> - <record id="group_event_user" model="res.groups"> - <field name="name">User</field> - <field name="category_id" ref="module_category_event_management"/> - </record> + <record id="group_event_user" model="res.groups"> + <field name="name">User</field> + <field name="category_id" ref="module_category_event_management"/> + </record> + + <record id="group_event_manager" model="res.groups"> + <field name="name">Manager</field> + <field name="category_id" ref="module_category_event_management"/> + <field name="implied_ids" eval="[(4, ref('group_event_user'))]"/> + <field name="users" eval="[(4, ref('base.user_root'))]"/> + </record> - <record id="group_event_manager" model="res.groups"> - <field name="name">Manager</field> - <field name="category_id" ref="module_category_event_management"/> - <field name="implied_ids" eval="[(4, ref('group_event_user'))]"/> - <field name="users" eval="[(4, ref('base.user_root'))]"/> - </record> + <!-- Multi - Company Rules --> + <record model="ir.rule" id="event_event_comp_rule"> + <field name="name">Event multi-company</field> + <field name="model_id" ref="model_event_event"/> + <field name="global" eval="True"/> + <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> + </record> - <!-- Multi - Company Rules --> + <record model="ir.rule" id="event_registration_comp_rule"> + <field name="name">Event Registration multi-company</field> + <field name="model_id" ref="model_event_registration"/> + <field name="global" eval="True"/> + <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> + </record> - <record model="ir.rule" id="event_event_comp_rule"> - <field name="name">Event multi-company</field> - <field name="model_id" ref="model_event_event"/> - <field name="global" eval="True"/> - <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> - </record> - <record model="ir.rule" id="event_registration_comp_rule"> - <field name="name">Event Registration multi-company</field> - <field name="model_id" ref="model_event_registration"/> - <field name="global" eval="True"/> - <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> - </record> + <record model="ir.rule" id="report_event_registration_comp_rule"> + <field name="name">Report Event Registration multi-company</field> + <field name="model_id" ref="model_report_event_registration"/> + <field name="global" eval="True"/> + <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> + </record> - <record model="ir.rule" id="report_event_registration_comp_rule"> - <field name="name">Report Event Registration multi-company</field> - <field name="model_id" ref="model_report_event_registration"/> - <field name="global" eval="True"/> - <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> - </record>--> -</data> + </data> </openerp> diff --git a/addons/fetchmail/fetchmail_view.xml b/addons/fetchmail/fetchmail_view.xml index 9567f7746f3..3325ae38c0b 100644 --- a/addons/fetchmail/fetchmail_view.xml +++ b/addons/fetchmail/fetchmail_view.xml @@ -80,10 +80,9 @@ <field name="arch" type="xml"> <search string="Search Incoming Mail Servers"> <field name="name" string="Incoming Mail Server"/> - <separator orientation="vertical"/> <filter string="IMAP" icon="terp-folder-green" domain="[('type','=','imap')]" help="Server type IMAP."/> <filter string="POP" icon="terp-folder-orange" domain="[('type','=','pop')]" help="Server type POP."/> - <separator orientation="vertical"/> + <separator/> <filter string="SSL" icon="terp-camera_test" domain="[('is_ssl','=',True)]" help="If SSL required."/> </search> </field> diff --git a/addons/hr/hr_department_view.xml b/addons/hr/hr_department_view.xml index bbf66f0d4c3..ed0156e6cce 100644 --- a/addons/hr/hr_department_view.xml +++ b/addons/hr/hr_department_view.xml @@ -2,11 +2,7 @@ <openerp> <data> - <!-- - ====================== - department - ====================== - --> + <!-- Department --> <record id="view_department_form" model="ir.ui.view"> <field name="name">hr.department.form</field> <field name="model">hr.department</field> @@ -37,18 +33,17 @@ </tree> </field> </record> - <record id="view_department_filter" model="ir.ui.view"> + <record id="view_department_filter" model="ir.ui.view"> <field name="name">Departments</field> <field name="model">hr.department</field> <field name="type">search</field> <field name="arch" type="xml"> <search string="Departments"> <field name="name" string="Department"/> - <separator orientation="vertical"/> <field name="manager_id" /> </search> </field> - </record> + </record> <record id="open_module_tree_department" model="ir.actions.act_window"> <field name="name">Departments</field> @@ -60,5 +55,5 @@ <menuitem action="open_module_tree_department" id="menu_hr_department_tree" parent="hr.menu_hr_configuration" sequence="5"/> - </data> + </data> </openerp> diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index f160eda6301..ca07c8ce173 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -11,7 +11,7 @@ <menuitem id="menu_hr_configuration" name="Configuration" parent="hr.menu_hr_root" groups="base.group_hr_manager" sequence="50"/> <menuitem id="menu_hr_management" name="Human Resources" parent="hr.menu_hr_configuration" groups="base.group_no_one" sequence="25"/> <menuitem id="menu_hr_reporting_timesheet" name="Reports" - parent="menu_hr_reporting" sequence="6" /> + parent="menu_hr_reporting" sequence="6"/> <!--Employee form view --> <record id="view_employee_form" model="ir.ui.view"> @@ -40,9 +40,9 @@ <!-- Put here related buttons --> </div> <group colspan="4" col="4"> - <field name="work_email" widget="email" /> + <field name="work_email" widget="email"/> <field name="work_phone"/> - <field name="address_id" on_change="onchange_address_id(address_id)" /> + <field name="address_id" on_change="onchange_address_id(address_id)"/> <field name="mobile_phone"/> </group> <notebook> @@ -50,7 +50,7 @@ <group> <group> <field name="user_id" on_change="onchange_user(user_id)"/> - <field name="parent_id" /> + <field name="parent_id"/> <field name="coach_id"/> </group> <group> @@ -109,16 +109,13 @@ <field name="arch" type="xml"> <search string="Employees"> <field name="name" string="Employees"/> - <separator orientation="vertical"/> - <field name="department_id" widget="selection"/> - <field name="job_id" widget="selection"/> + <field name="department_id" /> + <field name="job_id"/> <field name="parent_id"/> <field name="category_ids"/> - <newline/> <group expand="0" string="Group By..."> <filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'parent_id'}"/> <filter string="Coach" icon="terp-personal" domain="[]" context="{'group_by':'coach_id'}"/> - <separator orientation="vertical"/> <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/> <filter string="Job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/> <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> @@ -142,7 +139,9 @@ <a type="edit"><img t-att-src="kanban_image('hr.employee', 'photo', record.id.value)" class="oe_employee_picture"/></a> </div> <div class="oe_employee_details"> - <h4><a type="edit"><field name="name"/> (<field name="login"/>)</a></h4> + <h4> + <a type="edit"><field name="name"/><t t-if="record.login.raw_value"> (<field name="login"/>)</t></a> + </h4> <ul> <li id="last_login"> <span t-if="record.last_login.raw_value && record.last_login.raw_value.is().today()" class="oe_kanban_button" style="font-size: 100%%"> @@ -225,12 +224,7 @@ <field name="res_id" ref="hr.menu_open_view_employee_list_my"/> </record> - <!-- - ======================= - Employee architecture - ======================= - --> - + <!-- Employee architecture --> <record id="view_partner_tree2" model="ir.ui.view"> <field name="name">hr.employee.tree</field> <field name="model">hr.employee</field> @@ -269,12 +263,7 @@ <field eval="True" name="replace"/> </ir_set> - <!-- - ============ - Employee Category - ============ - --> - + <!-- Employee Category --> <record id="view_employee_category_form" model="ir.ui.view"> <field name="name">hr.employee.category.form</field> <field name="model">hr.employee.category</field> @@ -373,8 +362,8 @@ </h1> <group> <group> - <field name="no_of_employee"/> - <field name="expected_employees"/> + <field name="no_of_employee" groups="base.group_user"/> + <field name="expected_employees" groups="base.group_user"/> <field name="no_of_recruitment" on_change="on_change_expected_employee(no_of_recruitment,no_of_employee)"/> </group> <group> @@ -418,16 +407,9 @@ <field name="arch" type="xml"> <search string="Jobs"> <field name="name" string="Job"/> - <separator orientation="vertical"/> - <filter icon="terp-camera_test" - domain="[('state','=','open')]" - string="In Position" - help="In Position"/> - <filter icon="terp-personal+" domain="[('state','=','recruit')]" string="In Recruitment" - help="In Recruitment"/> - <separator orientation="vertical"/> - <field name="department_id" widget="selection"/> - <newline /> + <filter icon="terp-camera_test" domain="[('state','=','open')]" string="In Position" help="In Position"/> + <filter icon="terp-personal+" domain="[('state','=','recruit')]" string="In Recruitment" help="In Recruitment"/> + <field name="department_id"/> <group expand="0" string="Group By..."> <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> diff --git a/addons/hr_attendance/hr_attendance_view.xml b/addons/hr_attendance/hr_attendance_view.xml index 448e6401cbd..8a671e8438f 100644 --- a/addons/hr_attendance/hr_attendance_view.xml +++ b/addons/hr_attendance/hr_attendance_view.xml @@ -55,16 +55,13 @@ <field name="arch" type="xml"> <search string="Hr Attendance Search"> <field name="name" string="Attendance"/> - <separator orientation="vertical"/> + <field name="action"/> <filter icon="terp-go-today" string="Today" name="today" domain="[('name','>=',current_date),('name','<=',current_date)]" /> + <separator/> <filter icon="terp-stock_align_left_24" string="My Attendance" domain="[('employee_id.user_id.id', '=', uid)]" /> - <separator orientation="vertical"/> <field name="employee_id"/> - <field name="action"/> - <newline/> <group expand="0" string="Group By..."> <filter name="employee" string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}"/> </group> </search> diff --git a/addons/hr_contract/hr_contract_view.xml b/addons/hr_contract/hr_contract_view.xml index 8065d3b16bf..2009e500bf9 100644 --- a/addons/hr_contract/hr_contract_view.xml +++ b/addons/hr_contract/hr_contract_view.xml @@ -40,22 +40,15 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Contract"> - <group> - <field name="name" string="Contracts"/> - <separator orientation="vertical"/> - <field name="date_start"/> - <field name="date_end"/> - <separator orientation="vertical"/> - <field name="employee_id"/> - <field name="working_hours"/> - </group> - <newline/> + <field name="name" string="Contracts"/> + <field name="date_start"/> + <field name="date_end"/> + <field name="working_hours"/> + <field name="employee_id"/> <group expand="0" string="Group By..."> <filter string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/> - <separator orientation="vertical"/> <filter string="Working Schedule" icon="terp-go-week" domain="[]" context="{'group_by':'working_hours'}"/> <filter string="Job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/> - <separator orientation="vertical"/> <filter string="Contract Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type_id'}"/> </group> </search> @@ -174,9 +167,7 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Contract Type"> - <group> - <field name="name" string="Contract Type"/> - </group> + <field name="name" string="Contract Type"/> </search> </field> </record> diff --git a/addons/hr_evaluation/hr_evaluation_view.xml b/addons/hr_evaluation/hr_evaluation_view.xml index b940313691f..c67b5b51d1f 100644 --- a/addons/hr_evaluation/hr_evaluation_view.xml +++ b/addons/hr_evaluation/hr_evaluation_view.xml @@ -8,12 +8,8 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Appraisal Plan"> - <group> - <field name="name" string="Appraisal Plans"/> - <separator orientation="vertical"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - </group> - <newline/> + <field name="name" string="Appraisal Plans"/> + <field name="company_id" groups="base.group_multi_company"/> <group expand="0" string="Group By..." groups="base.group_multi_company"> <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}"/> </group> @@ -234,22 +230,15 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Appraisal"> - <group> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-check" string="Pending" domain="[('state','=','wait')]" help="Appraisal that are in Plan In Progress state"/> - <filter icon="terp-camera_test" string="In progress" domain="[('state','=','progress')]" help="Appraisal that are in waiting appreciation state"/> - <separator orientation="vertical"/> - <field name="employee_id" /> - <field name="plan_id" widget="selection" /> - </group> - <newline/> + <field name="date"/> + <filter icon="terp-check" string="Pending" domain="[('state','=','wait')]" help="Appraisal that are in Plan In Progress state"/> + <filter icon="terp-camera_test" string="In progress" domain="[('state','=','progress')]" help="Appraisal that are in waiting appreciation state"/> + <field name="employee_id" /> + <field name="plan_id"/> <group expand='0' string='Group by...'> <filter string='Employee' icon="terp-personal" domain="[]" context="{'group_by' : 'employee_id'}" /> - <separator orientation="vertical"/> <filter string='Plan' icon="terp-stock_align_left_24" domain="[]" context="{'group_by' : 'plan_id'}" /> <filter string='Status' icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by' : 'state'}" /> - <separator orientation="vertical"/> <filter string='Date' icon="terp-go-month" domain="[]" context="{'group_by' : 'date'}" /> </group> </search> @@ -329,20 +318,13 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Appraisal"> - <group> - <field name="date_deadline"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','waiting_answer')]"/> - <separator orientation="vertical"/> - <field name="user_to_review_id"/> - <field name="user_id" string="Interviewer"/> - </group> - <newline/> + <field name="date_deadline"/> + <filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','waiting_answer')]"/> + <field name="user_to_review_id"/> + <field name="user_id" string="Interviewer"/> <group expand="0" string="Group By..."> <filter string="Interviewer" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/> - <separator orientation="vertical"/> <filter string="Status" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> </group> </search> diff --git a/addons/hr_evaluation/report/hr_evaluation_report_view.xml b/addons/hr_evaluation/report/hr_evaluation_report_view.xml index d855e02eea7..f92ff1efedb 100644 --- a/addons/hr_evaluation/report/hr_evaluation_report_view.xml +++ b/addons/hr_evaluation/report/hr_evaluation_report_view.xml @@ -45,34 +45,22 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Appraisal Analysis"> - <group> - <filter string="In Progress" icon="terp-camera_test" domain="[('state', '=' ,'wait')]" - help = "In progress Evaluations"/> - <filter string="Final Validation" icon="terp-camera_test" domain="[('state','=','progress')]" - help = "Final Validation Evaluations"/> - <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/> - <separator orientation="vertical"/> - <field name="employee_id"/> - <field name="plan_id" widget="selection"/> - </group> - <newline/> + <filter string="In Progress" icon="terp-camera_test" domain="[('state', '=' ,'wait')]" help = "In progress Evaluations"/> + <filter string="Final Validation" icon="terp-camera_test" domain="[('state','=','progress')]" help = "Final Validation Evaluations"/> + <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/> + <field name="employee_id"/> + <field name="plan_id"/> <group expand="0" string="Extended Filters..."> <field name="rating"/> - <newline/> <field name="deadline"/> - <separator orientation="vertical"/> <field name="state"/> <field name="create_date"/> </group> - <newline/> <group expand="1" string="Group By..."> <filter string="Employee" name="employee" icon="terp-personal" context="{'group_by':'employee_id'}"/> - <separator orientation="vertical"/> <filter string="Plan" icon="terp-stock_align_left_24" context="{'group_by':'plan_id'}"/> <filter string="Appreciation" icon="terp-face-plain" context="{'group_by':'rating'}"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Creation Date"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'create_date'}" help="Creation Date"/> <filter string="Year" icon="terp-go-month" context="{'group_by':'year'}" help="Creation Date"/> diff --git a/addons/hr_expense/hr_expense_view.xml b/addons/hr_expense/hr_expense_view.xml index 36ebd202dc8..24514241916 100644 --- a/addons/hr_expense/hr_expense_view.xml +++ b/addons/hr_expense/hr_expense_view.xml @@ -136,27 +136,19 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Expense"> - <group> - <field name="name" string="Expenses"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" domain="[('state','=','draft')]" string="New" help="New Expense"/> - <filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve" help="Confirmed Expense"/> - <filter icon="terp-dolar" domain="[('state','=','accepted')]" string="To Pay" help="Expenses to Invoice"/> - <separator orientation="vertical"/> - <field name="employee_id"/> - <field name="department_id" widget="selection" string="Department" context="{'invisible_department': False}"/> - <field name="user_id" string="User"/> - </group> - <newline /> - <group expand="0" string="Group By..."> - <filter string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/> - <separator orientation="vertical"/> - <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/> - <separator orientation="vertical"/> - <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/> - </group> + <field name="name" string="Expenses"/> + <field name="date"/> + <filter icon="terp-document-new" domain="[('state','=','draft')]" string="New" help="New Expense"/> + <filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve" help="Confirmed Expense"/> + <filter icon="terp-dolar" domain="[('state','=','accepted')]" string="To Pay" help="Expenses to Invoice"/> + <field name="employee_id"/> + <field name="department_id" string="Department" context="{'invisible_department': False}"/> + <field name="user_id" string="User"/> + <group expand="0" string="Group By..."> + <filter string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/> + <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/> + <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/> + </group> </search> </field> </record> diff --git a/addons/hr_expense/report/hr_expense_report_view.xml b/addons/hr_expense/report/hr_expense_report_view.xml index 7877edf4b3a..73ec45bde02 100644 --- a/addons/hr_expense/report/hr_expense_report_view.xml +++ b/addons/hr_expense/report/hr_expense_report_view.xml @@ -51,46 +51,31 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Expenses Analysis"> - <group> - <filter string="Waiting" icon="terp-gtk-media-pause" domain="[('state', '=' ,'confirm')]" - help = "Confirm Expenses"/> - <filter string="Approved" icon="terp-check" domain="[('state','=','accepted')]" - help = "Approved Expenses"/> - <filter string="Invoiced" icon="terp-dolar" domain="[('state','in', ('invoiced', 'paid'))]" - help = "Invoiced Expenses"/> - <separator orientation="vertical"/> - <field name="employee_id"/> - <field name="department_id"/> - </group> - <newline/> - <group expand="0" string="Extended Filters..."> - <field name="product_id"/> - <separator orientation="vertical"/> - <field name="user_id"/> - <separator orientation="vertical"/> - <field name="company_id" groups="base.group_multi_company" widget="selection"/> - <newline/> - <field name="date" string="Creation Date"/> - <field name="date_confirm"/> - <field name="date_valid"/> - </group> - <newline/> - <group expand="1" string="Group By..."> - <filter string="Employee" name="employee" icon="terp-personal" context="{'group_by':'employee_id'}"/> - <filter string="Validation User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/> - <filter string="Department" icon="terp-personal+" context="{'group_by':'department_id'}"/> - <separator orientation="vertical"/> - <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/> - <separator orientation="vertical" groups="analytic.group_analytic_accounting"/> - <filter string="Analytic account" icon="terp-folder-green" context="{'group_by':'analytic_account'}" groups="analytic.group_analytic_accounting"/> - <separator orientation="vertical" groups="analytic.group_analytic_accounting"/> - <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> - <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical"/> - <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Creation Date"/> - <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Creation Date"/> - <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Creation Date"/> - </group> + <filter string="Waiting" icon="terp-gtk-media-pause" domain="[('state', '=' ,'confirm')]" help = "Confirm Expenses"/> + <filter string="Approved" icon="terp-check" domain="[('state','=','accepted')]" help = "Approved Expenses"/> + <filter string="Invoiced" icon="terp-dolar" domain="[('state','in', ('invoiced', 'paid'))]" help = "Invoiced Expenses"/> + <field name="employee_id"/> + <field name="department_id"/> + <group expand="0" string="Extended Filters..."> + <field name="product_id"/> + <field name="user_id"/> + <field name="company_id" groups="base.group_multi_company"/> + <field name="date" string="Creation Date"/> + <field name="date_confirm"/> + <field name="date_valid"/> + </group> + <group expand="1" string="Group By..."> + <filter string="Employee" name="employee" icon="terp-personal" context="{'group_by':'employee_id'}"/> + <filter string="Validation User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/> + <filter string="Department" icon="terp-personal+" context="{'group_by':'department_id'}"/> + <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/> + <filter string="Analytic account" icon="terp-folder-green" context="{'group_by':'analytic_account'}" groups="analytic.group_analytic_accounting"/> + <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> + <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> + <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Creation Date"/> + <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Creation Date"/> + <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Creation Date"/> + </group> </search> </field> </record> diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index 26683e3de8a..29ca1e7b87d 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -44,36 +44,28 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Leave"> - <group> - <field name="date_from"/> - <separator orientation="vertical"/> - <filter icon="terp-mail-message-new" - string="Inbox" help="Unread messages" - name="needaction_pending" - domain="[('needaction_pending','=',True)]"/> - <separator orientation="vertical"/> - <filter string="My Leaves" icon="terp-personal" name="my_leaves" domain="[('employee_id.user_id','=', uid)]" help="My Leaves"/> - <filter string="My Department Leaves" icon="terp-personal+" help="My Department Leaves" domain="[('department_id.manager_id','=',uid)]"/> - <filter icon="terp-check" domain="[('state','=','draft')]" string="To Confirm"/> - <filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve" name="approve"/> - <filter icon="terp-camera_test" domain="[('state','=','validate')]" string="Validated" name="validated"/> - <filter icon="terp-go-year" name="year" string="Year" domain="[('holiday_status_id.active','=',True)]" help="Filters only on allocations and requests that belong to an holiday type that is 'active' (active field is True)"/> - <separator orientation="vertical"/> - <field name="employee_id"/> - <field name="department_id" widget="selection"/> - <field name="holiday_status_id" widget="selection"/> - </group> - <newline/> + <field name="date_from"/> + <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> + <filter icon="terp-check" domain="[('state','=','draft')]" string="To Confirm"/> + <filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve" name="approve"/> + <filter icon="terp-camera_test" domain="[('state','=','validate')]" string="Validated" name="validated"/> + <separator/> + <filter icon="terp-go-year" name="year" string="Year" domain="[('holiday_status_id.active','=',True)]" help="Filters only on allocations and requests that belong to an holiday type that is 'active' (active field is True)"/> + <separator/> + <filter string="My Leaves" icon="terp-personal" name="my_leaves" domain="[('employee_id.user_id','=', uid)]" help="My Leaves"/> + <separator/> + <filter string="My Department Leaves" icon="terp-personal+" help="My Department Leaves" domain="[('department_id.manager_id','=',uid)]"/> + <field name="employee_id"/> + <field name="department_id"/> + <field name="holiday_status_id"/> <group expand="0" string="Group By..."> <filter name="group_date_from" string="Start Date" icon="terp-personal" domain="[]" context="{'group_by':'date_from'}"/> - <separator orientation="vertical"/> <filter name="group_employee" string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/> <filter name="group_category" string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'category_id'}"/> <filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'manager_id'}"/> <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id','set_visible':True}"/> - <separator orientation="vertical"/> <filter name="group_type" string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'holiday_status_id'}"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> </group> </search> @@ -408,8 +400,7 @@ <field name="arch" type="xml"> <search string="Search Leave Type"> <field name="name" string="Leave Types"/> - <separator orientation="vertical"/> - <field name="categ_id" widget="selection"/> + <field name="categ_id"/> </search> </field> </record> @@ -475,8 +466,7 @@ <field name="arch" type="xml"> <search string="Leave Type"> <field name="name" string="Leave Types"/> - <separator orientation="vertical"/> - <field name="categ_id" widget="selection"/> + <field name="categ_id"/> </search> </field> </record> diff --git a/addons/hr_payroll/hr_payroll_view.xml b/addons/hr_payroll/hr_payroll_view.xml index e05910a27da..b08ce6983c6 100644 --- a/addons/hr_payroll/hr_payroll_view.xml +++ b/addons/hr_payroll/hr_payroll_view.xml @@ -61,10 +61,7 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Payroll Structures"> - <group col="8" colspan="4"> - <field name="name" string="Payroll Structures" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/> - </group> - <newline/> + <field name="name" string="Payroll Structures" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/> </search> </field> </record> @@ -179,19 +176,13 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Payslip Lines"> - <group col="8" colspan="4"> - <field name="name" string="Payslip Lines" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/> - <separator orientation="vertical"/> - <field name="slip_id"/> - <field name="amount_select"/> - </group> - <newline/> + <field name="name" string="Payslip Lines" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/> + <field name="amount_select"/> + <field name="slip_id"/> <group col="8" colspan="4" expand="0" string="Group By..."> <filter string="Salary Rule Category" icon="terp-camera_test" name="category_id" context="{'group_by':'category_id'}"/> <filter string="Contribution Register" name="register_id" icon="terp-folder-yellow" context="{'group_by':'register_id'}"/> - <separator orientation="vertical"/> <filter string="Amount Type" name="amount_select" icon="terp-stock_symbol-selection" context="{'group_by':'amount_select'}"/> - <separator orientation="vertical"/> <filter string="Employees" name="employee_id" icon="terp-personal" context="{'group_by':'employee_id'}"/> </group> </search> @@ -367,25 +358,16 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Payslips"> - <group> - <field name="name" string="Payslips" filter_domain="['|',('name','ilike',self),('number','ilike',self)]"/> - <separator orientation="vertical"/> - <field name="date_from"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Slip"/> - <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]" help="Done Slip"/> - <separator orientation="vertical"/> - <field name="employee_id"/> - <field name="payslip_run_id"/> - </group> - <newline/> + <field name="name" string="Payslips" filter_domain="['|',('name','ilike',self),('number','ilike',self)]"/> + <field name="date_from"/> + <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Slip"/> + <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]" help="Done Slip"/> + <field name="employee_id"/> + <field name="payslip_run_id"/> <group expand="0" string="Group By..."> <filter string="Employees" icon="terp-personal" name="employee_id" context="{'group_by':'employee_id'}"/> - <separator orientation="vertical"/> <filter string="PaySlip Batch" name="payslip_run_id" icon="terp-folder-orange" context="{'group_by':'payslip_run_id'}"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Companies" name="company_id" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}"/> - <separator orientation="vertical"/> <filter string="States" name="state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> </group> </search> @@ -526,8 +508,7 @@ <field name="arch" type="xml"> <search string="Contribution Registers"> <field name="name" string="Contribution Registers"/> - <separator orientation="vertical"/> - <field name="company_id" groups="base.group_multi_company" widget="selection"/> + <field name="company_id" groups="base.group_multi_company"/> </search> </field> </record> @@ -655,13 +636,9 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Salary Rule"> - <group col="8"> - <field name="name" string="Salary Rules" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/> - <separator orientation="vertical"/> - <field name="category_id"/> - <field name="condition_range_min"/> - </group> - <newline/> + <field name="name" string="Salary Rules" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/> + <field name="category_id"/> + <field name="condition_range_min"/> <group col="8" colspan="4" expand="0" string="Group By..."> <filter string="Category" icon="terp-folder-yellow" name="head" context="{'group_by':'category_id'}"/> </group> @@ -698,10 +675,8 @@ <field name="arch" type="xml"> <search string="Search Payslip Batches"> <field name="name" string="Payslip Batches"/> - <separator orientation="vertical"/> <field name="date_start"/> <field name="date_end"/> - <separator orientation="vertical"/> <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Payslip Batches"/> <filter name="done_filter" icon="terp-camera_test" string="Done" domain="[('state','=','close')]" help="Done Payslip Batches"/> </search> diff --git a/addons/hr_payroll/i18n/he.po b/addons/hr_payroll/i18n/he.po index 9b54273f823..2957d625576 100644 --- a/addons/hr_payroll/i18n/he.po +++ b/addons/hr_payroll/i18n/he.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-31 04:58+0000\n" -"X-Generator: Launchpad (build 15702)\n" +"X-Launchpad-Export-Date: 2012-08-01 04:44+0000\n" +"X-Generator: Launchpad (build 15719)\n" #. module: hr_payroll #: field:hr.payslip.line,condition_select:0 diff --git a/addons/hr_payroll_account/hr_payroll_account_view.xml b/addons/hr_payroll_account/hr_payroll_account_view.xml index 9e3aab3ecb6..d481ae3cdde 100644 --- a/addons/hr_payroll_account/hr_payroll_account_view.xml +++ b/addons/hr_payroll_account/hr_payroll_account_view.xml @@ -62,8 +62,7 @@ <field name="inherit_id" ref="hr_payroll.hr_payslip_run_filter"/> <field name="arch" type="xml"> <filter name='done_filter' position="after"> - <separator orientation="vertical"/> - <field name="journal_id" widget="selection"/> + <field name="journal_id"/> </filter> </field> </record> diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 4617011c2f9..ff20f18c1bd 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -1,23 +1,21 @@ <?xml version="1.0"?> <openerp> <data> - <menuitem - id="menu_hr_recruitment_recruitment" - name="Recruitment" - parent="hr.menu_hr_configuration" - sequence="40" /> - <act_window - id="act_hr_applicant_to_meeting" - name="Meetings" - res_model="crm.meeting" - src_model="hr.applicant" - view_mode="tree,form,calendar,graph" - view_type="form"/> + <menuitem name="Recruitment" + id="menu_hr_recruitment_recruitment" + parent="hr.menu_hr_configuration" + sequence="40"/> - # ------------------------------------------------------ - # Stage - # ------------------------------------------------------ + <act_window + id="act_hr_applicant_to_meeting" + name="Meetings" + res_model="crm.meeting" + src_model="hr.applicant" + view_mode="tree,form,calendar,graph" + view_type="form"/> + + <!-- Stage --> <record id="hr_job_stage_act" model="ir.actions.act_window"> <field name="name">Recruitment / Applicants Stages</field> <field name="res_model">hr.recruitment.stage</field> @@ -28,10 +26,7 @@ </record> - # ------------------------------------------------------ - # Jobs - # ------------------------------------------------------ - + <!-- Jobs --> <!-- Applicant Read/Unread actions --> <record id="actions_server_applicant_unread" model="ir.actions.server"> <field name="name">Mark unread</field> @@ -44,9 +39,9 @@ <record id="action_applicant_unread" model="ir.values"> <field name="name">action_project_unread</field> <field name="action_id" ref="actions_server_applicant_unread"/> - <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_applicant_unread'))" /> + <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_applicant_unread'))"/> <field name="key">action</field> - <field name="model_id" ref="model_hr_applicant" /> + <field name="model_id" ref="model_hr_applicant"/> <field name="model">hr.applicant</field> <field name="key2">client_action_multi</field> </record> @@ -62,9 +57,9 @@ <record id="action_applicant_read" model="ir.values"> <field name="name">action_project_read</field> <field name="action_id" ref="actions_server_applicant_read"/> - <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_applicant_read'))" /> + <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_applicant_read'))"/> <field name="key">action</field> - <field name="model_id" ref="model_hr_applicant" /> + <field name="model_id" ref="model_hr_applicant"/> <field name="model">hr.applicant</field> <field name="key2">client_action_multi</field> </record> @@ -175,12 +170,12 @@ <group string="Contract"> <label for="salary_expected"/> <div> - <field name="salary_expected" class="oe_inline"/>, + <field name="salary_expected" class="oe_inline"/>, <field name="salary_expected_extra" class="oe_inline" placeholder="Extra advantages..."/> </div> <label for="salary_proposed"/> <div> - <field name="salary_proposed" class="oe_inline"/>, + <field name="salary_proposed" class="oe_inline"/>, <field name="salary_proposed_extra" class="oe_inline" placeholder="Extra advantages..."/> </div> </group> @@ -214,45 +209,29 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Jobs"> - <filter icon="terp-mail-message-new" - string="Inbox" help="Unread messages" - name="needaction_pending" - domain="[('needaction_pending','=',True)]"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="New" name="filter_new"/> - <field name="partner_name" filter_domain="['|','|',('name','ilike',self),('partner_name','ilike',self),('email_from','ilike',self)]" string="Subject / Applicant"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="New" - domain="[('state','=','draft')]" - help="All Initial Jobs"/> - <filter icon="terp-camera_test" string="In Progress" - domain="[('state','=','open')]" - help="Open Jobs"/> - <filter icon="terp-gtk-media-pause" string="Pending" - domain="[('state','=','pending')]" - help="Pending Jobs"/> - <filter string="Unassigned Recruitments" domain="[('user_id','=',False)]" help="Unassigned Recruitments" icon="terp-personal-"/> - <filter icon="terp-gtk-jump-to-ltr" string="Next Actions" - context="{'invisible_next_action':False, 'invisible_next_date':False}" - domain="[('date_action','<>',False)]" - help="Filter and view on next actions and date"/> - <separator orientation="vertical"/> - <field name="job_id" widget="selection"/> - <field name="user_id"/> - <newline/> + <field name="partner_name" filter_domain="['|','|',('name','ilike',self),('partner_name','ilike',self),('email_from','ilike',self)]" string="Subject / Applicant"/> + <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> + <filter icon="terp-document-new" string="New" domain="[('state','=','draft')]" help="All Initial Jobs"/> + <filter icon="terp-camera_test" string="In Progress" domain="[('state','=','open')]" help="Open Jobs"/> + <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Jobs"/> + <separator/> + <filter string="Unassigned Recruitments" domain="[('user_id','=',False)]" help="Unassigned Recruitments" icon="terp-personal-"/> + <separator/> + <filter icon="terp-gtk-jump-to-ltr" string="Next Actions" context="{'invisible_next_action':False, 'invisible_next_date':False}" + domain="[('date_action','<>',False)]" help="Filter and view on next actions and date"/> + <field name="job_id"/> + <field name="user_id"/> <group expand="0" string="Group By..."> <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/> - <separator orientation="vertical"/> <filter string="Job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/> <filter string="Degree" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'type_id'}"/> <filter string="Availability" icon="terp-camera_test" domain="[]" context="{'group_by':'availability'}"/> - <separator orientation="vertical"/> <filter string="Appreciation" icon="terp-face-plain" domain="[]" context="{'group_by':'priority'}"/> <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="Source" icon="terp-face-plain" domain="[]" context="{'group_by':'source_id'}"/> - <separator orientation="vertical" groups="base.group_no_one"/> <filter string="Creation Date" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/> </group> </search> @@ -260,7 +239,6 @@ </record> <!-- CRM Lead Calendar View --> - <record model="ir.ui.view" id="hr_applicant_calendar_view"> <field name="name">Hr Applicants Calendar</field> <field name="model">hr.applicant</field> @@ -269,15 +247,14 @@ <field name="arch" type="xml"> <calendar string="Applicants" date_start="date_action" color="user_id"> - <field name="name" /> - <field name="partner_name" /> + <field name="name"/> + <field name="partner_name"/> <field name="title_action"/> </calendar> </field> </record> - <!-- hr Applicant Kanban View --> - + <!-- Hr Applicant Kanban View --> <record model="ir.ui.view" id="hr_kanban_view_applicant"> <field name="name">Hr Applicants kanban</field> <field name="model">hr.applicant</field> @@ -346,10 +323,7 @@ </field> </record> - # ------------------------------------------------------ - # HR Job - # ------------------------------------------------------ - + <!-- HR Job --> <record id="hr_job_survey" model="ir.ui.view"> <field name="name">hr.job.form1</field> <field name="model">hr.job</field> @@ -357,20 +331,19 @@ <field name="inherit_id" ref="hr.view_hr_job_form"/> <field name="arch" type="xml"> <field name="no_of_recruitment" version="7.0" position="after"> - <label for="survey_id" /> - <div> - <field name="survey_id" class="oe_inline"/> - <button class="oe_inline" - string="Interview" icon="gtk-print" - name="action_print_survey" type="object" - attrs="{'invisible':[('survey_id','=',False)]}"/> - </div> + <label for="survey_id" groups="base.group_user"/> + <div groups="base.group_user"> + <field name="survey_id" class="oe_inline"/> + <button class="oe_inline" + string="Interview" icon="gtk-print" + name="action_print_survey" type="object" + attrs="{'invisible':[('survey_id','=',False)]}"/> + </div> </field> </field> </record> -<!-- Stage Tree View --> - + <!-- Stage Tree View --> <record model="ir.ui.view" id="hr_recruitment_stage_tree"> <field name="name">hr.recruitment.stage.tree</field> <field name="model">hr.recruitment.stage</field> @@ -385,8 +358,7 @@ </field> </record> -<!-- Stage Form View --> - + <!-- Stage Form View --> <record model="ir.ui.view" id="hr_recruitment_stage_form"> <field name="name">hr.recruitment.stage.form</field> <field name="model">hr.recruitment.stage</field> @@ -405,8 +377,7 @@ </field> </record> -<!-- Stage Action --> - + <!-- Stage Action --> <record id="hr_recruitment_stage_act" model="ir.actions.act_window"> <field name="name">Stages</field> <field name="res_model">hr.recruitment.stage</field> @@ -422,8 +393,7 @@ action="hr_recruitment_stage_act" sequence="1" groups="base.group_no_one"/> -<!-- Degree Tree View --> - + <!-- Degree Tree View --> <record model="ir.ui.view" id="hr_recruitment_degree_tree"> <field name="name">hr.recruitment.degree.tree</field> <field name="model">hr.recruitment.degree</field> @@ -436,8 +406,7 @@ </field> </record> -<!-- Degree Form View --> - + <!-- Degree Form View --> <record model="ir.ui.view" id="hr_recruitment_degree_form"> <field name="name">hr.recruitment.degree.form</field> <field name="model">hr.recruitment.degree</field> @@ -452,8 +421,7 @@ </field> </record> -<!-- Degree Action --> - + <!-- Degree Action --> <record id="hr_recruitment_degree_action" model="ir.actions.act_window"> <field name="name">Degree</field> <field name="res_model">hr.recruitment.degree</field> @@ -468,8 +436,7 @@ action="hr_recruitment_degree_action" sequence="5" groups="base.group_no_one"/> -<!-- Source Tree View --> - + <!-- Source Tree View --> <record model="ir.ui.view" id="hr_recruitment_source_tree"> <field name="name">hr.recruitment.source.tree</field> <field name="model">hr.recruitment.source</field> @@ -496,11 +463,12 @@ <field name="view_type">form</field> </record> - <menuitem - id="menu_hr_recruitment_source" - parent="menu_hr_recruitment_recruitment" - action="hr_recruitment_source_action" - sequence="10" groups="base.group_no_one"/> + <menuitem + id="menu_hr_recruitment_source" + parent="menu_hr_recruitment_recruitment" + action="hr_recruitment_source_action" + groups="base.group_no_one" + sequence="10"/> </data> </openerp> diff --git a/addons/hr_recruitment/report/hr_recruitment_report_view.xml b/addons/hr_recruitment/report/hr_recruitment_report_view.xml index 9d81d39f240..afb87aba4ff 100644 --- a/addons/hr_recruitment/report/hr_recruitment_report_view.xml +++ b/addons/hr_recruitment/report/hr_recruitment_report_view.xml @@ -49,55 +49,32 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Recruitment Analysis"> - <group> - <filter string="New" - icon="terp-document-new" - domain="[('state','=','draft')]" - help = "Draft recruitment"/> - <filter string="In progress" - icon="terp-camera_test" - domain="[('state', '=' ,'open')]" - help = "In progress recruitment"/> - <filter string="Pending" - icon="terp-gtk-media-pause" - domain="[('state','=','pending')]" - help = "Pending recruitment"/> - <filter string="Hired" - icon="terp-camera_test" - domain="[('state','=','done')]" - help = "Hired employees"/> - <filter icon="terp-personal" - string="My Recruitment" - help="My Recruitment" - domain="[('user_id','=',uid)]"/> - <separator orientation="vertical"/> - <field name="job_id"/> - <field name="department_id" widget="selection"/> - <field name="user_id" string="Responsible"/> - </group> - <newline/> + <filter string="New" icon="terp-document-new" domain="[('state','=','draft')]" help = "Draft recruitment"/> + <filter string="In progress" icon="terp-camera_test" domain="[('state', '=' ,'open')]" help = "In progress recruitment"/> + <filter string="Pending" icon="terp-gtk-media-pause" domain="[('state','=','pending')]" help = "Pending recruitment"/> + <filter string="Hired" icon="terp-camera_test" domain="[('state','=','done')]" help = "Hired employees"/> + <separator/> + <filter icon="terp-personal" string="My Recruitment" help="My Recruitment" domain="[('user_id','=',uid)]"/> + <field name="job_id"/> + <field name="department_id"/> + <field name="user_id" string="Responsible"/> <group expand="0" string="Extended Filters..."> <!--field name="job_id"/--> <field name="priority"/> - <field name="stage_id" widget="selection"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> + <field name="stage_id"/> + <field name="company_id" groups="base.group_multi_company"/> <field name="date" string="Creation Date"/> <field name="date_closed"/> </group> - <newline/> <group expand="1" string="Group By ..."> <filter string="Responsible" name='User' icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" /> - <separator orientation="vertical"/> - <filter string="Jobs" name="job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/> + <filter string="Jobs" name="job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/> <filter string="Department" name="department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/> - <separator orientation="vertical"/> <filter string="Degree" name="degree" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'type_id'}"/> - <separator orientation="vertical"/> <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}" /> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Day" name = "day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}" help="Creation Date"/> <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Creation Date"/> <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'year'}" help="Creation Date"/> diff --git a/addons/hr_timesheet/hr_timesheet_view.xml b/addons/hr_timesheet/hr_timesheet_view.xml index 7875aff12a0..77dbc643a08 100644 --- a/addons/hr_timesheet/hr_timesheet_view.xml +++ b/addons/hr_timesheet/hr_timesheet_view.xml @@ -68,24 +68,17 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Timesheet"> - <group> - <field name="date"/> - <separator orientation="vertical"/> - <field name="user_id"/> - <field name="account_id"/> - </group> - <newline/> + <field name="date"/> + <field name="user_id"/> + <field name="account_id"/> <group expand="0" string="Group By..."> <filter string="Users" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Analytic account" icon="terp-folder-green" domain="[]" context="{'group_by':'account_id'}"/> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> - <separator orientation="vertical"/> <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/> </group> </search> </field> - </record> <record id="account_analytic_account_timesheet_form" model="ir.ui.view"> diff --git a/addons/hr_timesheet_invoice/hr_timesheet_invoice.py b/addons/hr_timesheet_invoice/hr_timesheet_invoice.py index 54257f5efba..a4f08a854ec 100644 --- a/addons/hr_timesheet_invoice/hr_timesheet_invoice.py +++ b/addons/hr_timesheet_invoice/hr_timesheet_invoice.py @@ -126,6 +126,25 @@ class account_analytic_line(osv.osv): 'to_invoice': fields.many2one('hr_timesheet_invoice.factor', 'Type of Invoicing', help="It allows to set the discount while making invoice"), } + def _default_journal(self, cr, uid, context=None): + proxy = self.pool.get('hr.employee') + record_ids = proxy.search(cr, uid, [('user_id', '=', uid)], context=context) + employee = proxy.browse(cr, uid, record_ids[0], context=context) + return employee.journal_id and employee.journal_id.id or False + + def _default_general_account(self, cr, uid, context=None): + proxy = self.pool.get('hr.employee') + record_ids = proxy.search(cr, uid, [('user_id', '=', uid)], context=context) + employee = proxy.browse(cr, uid, record_ids[0], context=context) + if employee.product_id and employee.product_id.property_account_income: + return employee.product_id.property_account_income.id + return False + + _defaults = { + 'journal_id' : _default_journal, + 'general_account_id' : _default_general_account, + } + def write(self, cr, uid, ids, vals, context=None): self._check_inv(cr, uid, ids, vals) return super(account_analytic_line,self).write(cr, uid, ids, vals, diff --git a/addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml b/addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml index 81dc1e3c9cf..90305c772cb 100644 --- a/addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml +++ b/addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml @@ -89,11 +89,11 @@ <field name="type">search</field> <field name="inherit_id" ref="account.view_account_analytic_line_filter"/> <field name="arch" type="xml"> - <field name="date" position="before"> + <xpath expr="//filter[@name='others']" position="after"> + <separator/> <filter name="to_invoice" string="To Invoice" context="{'to_invoice': 1}" domain="[('invoice_id','=',False), ('to_invoice','<>',False)]" icon="terp-dolar"/> <filter name="invoiced" string="Invoiced" domain="[('invoice_id','!=',False), ('to_invoice','<>',False)]" icon="terp-dolar"/> - <separator orientation="vertical"/> - </field> + </xpath> </field> </record> @@ -144,9 +144,7 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Type of invoicing"> - <group> - <field name="name" string="Type of invoicing"/> - </group> + <field name="name" string="Type of invoicing"/> </search> </field> </record> diff --git a/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml b/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml index 59b4ceb67a3..5048f2c9193 100644 --- a/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml +++ b/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml @@ -46,29 +46,19 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Timesheet by user"> - <group> - <filter icon="terp-personal" - string="Non Assigned timesheets to users" - help="Non Assigned timesheets to users" - domain="[('user_id','=',False)]"/> - <separator orientation="vertical"/> - <field name="user_id" widget="selection"/> - <field name="account_id" groups="analytic.group_analytic_accounting"/> - <field name="product_id"/> - </group> - <newline/> + <filter icon="terp-personal" string="Non Assigned timesheets to users" help="Non Assigned timesheets to users" domain="[('user_id','=',False)]"/> + <field name="user_id"/> + <field name="account_id" groups="analytic.group_analytic_accounting"/> + <field name="product_id"/> <group expand="0" string="Extended Filters..."> <field name="date"/> - <separator orientation="vertical"/> - <field name="invoice_id" widget="selection"/> + <field name="invoice_id"/> </group> <group expand="1" string="Group By..."> <filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Account" icon="terp-folder-orange" context="{'group_by':'account_id'}"/> <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/> <filter string="Invoice" icon="terp-dolar" context="{'group_by':'invoice_id'}"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'name'}"/> @@ -149,12 +139,9 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Timesheet by user"> - <group> - <field name="name" string="Timesheet by users"/> - <separator orientation="vertical"/> - <field name="user_id"/> - <field name="month"/> - </group> + <field name="name" string="Timesheet by users"/> + <field name="month"/> + <field name="user_id"/> </search> </field> </record> @@ -201,7 +188,6 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Timesheet by invoice"> - <separator orientation="vertical"/> <field name="account_id" groups="analytic.group_analytic_accounting"/> <field name="manager_id"/> <field name="user_id"/> @@ -282,13 +268,10 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Daily timesheet by account"> - <group> - <field name="name" string="Timesheet by account"/> - <separator orientation="vertical"/> - <field name="account_id" groups="analytic.group_analytic_accounting"/> - <field name="user_id"/> - <field name="month"/> - </group> + <field name="name" string="Timesheet by account"/> + <field name="month"/> + <field name="account_id" groups="analytic.group_analytic_accounting"/> + <field name="user_id"/> </search> </field> </record> @@ -351,13 +334,10 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Timesheet by account"> - <group> - <field name="name" string="Timesheet by account"/> - <separator orientation="vertical"/> - <field name="account_id" groups="analytic.group_analytic_accounting"/> - <field name="user_id"/> - <field name="month"/> - </group> + <field name="name" string="Timesheet by account"/> + <field name="month"/> + <field name="account_id" groups="analytic.group_analytic_accounting"/> + <field name="user_id"/> </search> </field> </record> diff --git a/addons/hr_timesheet_invoice/report/report_analytic_view.xml b/addons/hr_timesheet_invoice/report/report_analytic_view.xml index c7d0c6b7c25..6dbbb85aea9 100644 --- a/addons/hr_timesheet_invoice/report/report_analytic_view.xml +++ b/addons/hr_timesheet_invoice/report/report_analytic_view.xml @@ -113,13 +113,10 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Analytic Lines to Invoice"> - <group> - <field name="name" string="Analytic Lines"/> - <separator orientation="vertical"/> - <field name="product_id"/> - <field name="account_id" groups="analytic.group_analytic_accounting"/> - <field name="month"/> - </group> + <field name="name" string="Analytic Lines"/> + <field name="month"/> + <field name="product_id"/> + <field name="account_id" groups="analytic.group_analytic_accounting"/> </search> </field> </record> diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml index dbc9e1d6dac..86ef3255286 100644 --- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml +++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml @@ -23,11 +23,9 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Account"> - <group> - <field name="sheet_id" /> - <field name="name" groups="analytic.group_analytic_accounting"/> - <field name="invoice_rate"/> - </group> + <field name="name" groups="analytic.group_analytic_accounting"/> + <field name="invoice_rate"/> + <field name="sheet_id" /> </search> </field> </record> @@ -158,16 +156,11 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Timesheet"> - <group> - <field name="date_from"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="In Draft" domain="[('state','in',('draft', 'new'))]" help="Unvalidated Timesheets"/> - <filter icon="terp-camera_test" string="To Approve" domain="[('state','=','confirm')]" help="Confirmed Timesheets"/> - <separator orientation="vertical"/> - <field name="employee_id"/> - <field name="department_id" widget="selection"/> - </group> - <newline/> + <field name="date_from"/> + <filter icon="terp-document-new" string="In Draft" domain="[('state','in',('draft', 'new'))]" help="Unvalidated Timesheets"/> + <filter icon="terp-camera_test" string="To Approve" domain="[('state','=','confirm')]" help="Confirmed Timesheets"/> + <field name="employee_id"/> + <field name="department_id"/> <group expand="0" string="Group By..."> <filter string="Employees" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/> <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/> diff --git a/addons/hr_timesheet_sheet/report/hr_timesheet_report_view.xml b/addons/hr_timesheet_sheet/report/hr_timesheet_report_view.xml index fd5d6b0b6d1..7492d94cba2 100644 --- a/addons/hr_timesheet_sheet/report/hr_timesheet_report_view.xml +++ b/addons/hr_timesheet_sheet/report/hr_timesheet_report_view.xml @@ -40,29 +40,21 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Timesheet"> - <group> - <field name="account_id" groups="analytic.group_analytic_accounting"/> - <field name="user_id"/> - </group> - <newline/> + <field name="account_id" groups="analytic.group_analytic_accounting"/> + <field name="user_id"/> <group expand="0" string="Extended Filters..."> <field name="general_account_id"/> <field name="product_id"/> <field name="journal_id"/> - <separator orientation="vertical"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - <newline/> + <field name="company_id" groups="base.group_multi_company"/> <field name="date" /> </group> - <newline/> <group expand="1" string="Group By..."> <filter string="User" name="group_user_id" icon="terp-personal" context="{'group_by':'user_id'}"/> <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/> - <separator orientation="vertical" groups="analytic.group_analytic_accounting"/> <filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'account_id'}" groups="analytic.group_analytic_accounting"/> <filter string="General Account" icon="terp-folder-orange" context="{'group_by':'general_account_id'}"/> <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Group by day of date"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of date"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of date"/> diff --git a/addons/hr_timesheet_sheet/report/timesheet_report_view.xml b/addons/hr_timesheet_sheet/report/timesheet_report_view.xml index 613f92d3cf6..9956ed2655e 100644 --- a/addons/hr_timesheet_sheet/report/timesheet_report_view.xml +++ b/addons/hr_timesheet_sheet/report/timesheet_report_view.xml @@ -48,51 +48,30 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Timesheet"> - <group> - <filter icon="terp-document-new" - string="Draft" - domain="[('state','=','draft')]"/> - <filter icon="terp-camera_test" - string="Confirmed" - domain="[('state','=','confirm')]"/> - <filter icon="terp-dialog-close" - string="Done" - domain="[('state','=','done')]"/> - <separator orientation="vertical"/> - <field name="account_id"/> - <field name="user_id" /> - </group> - <newline/> + <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]"/> + <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]"/> + <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/> + <field name="account_id"/> + <field name="user_id" /> <group expand="0" string="Extended Filters..."> <field name="general_account_id"/> - <field name="to_invoice" widget="selection"/> - <separator orientation="vertical"/> + <field name="to_invoice"/> <field name="product_id"/> - <separator orientation="vertical"/> - <field name="department_id" widget="selection"/> - <separator orientation="vertical"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - <newline/> + <field name="department_id"/> + <field name="company_id" groups="base.group_multi_company"/> <field name="date_current"/> <field name="date_to"/> <field name="date_from"/> </group> - <newline/> <group expand="1" string="Group By..."> <filter string="User" name="User_id" icon="terp-personal" context="{'group_by':'user_id'}"/> <filter string="Department" icon="terp-personal+" context="{'group_by':'department_id'}"/> - <separator orientation="vertical"/> <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/> - <separator orientation="vertical"/> <filter string="Type of Invoicing" icon="terp-stock_symbol-selection" context="{'group_by':'to_invoice'}"/> - <separator orientation="vertical"/> <filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'account_id'}"/> <filter string="General Account" icon="terp-folder-orange" context="{'group_by':'general_account_id'}"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Group by day of date"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of date"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of date"/> diff --git a/addons/idea/idea_view.xml b/addons/idea/idea_view.xml index ec7f0e6d328..4508301ca8c 100644 --- a/addons/idea/idea_view.xml +++ b/addons/idea/idea_view.xml @@ -110,22 +110,14 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Ideas"> - <group> - <field name="name" string="Idea"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="New" domain="[('state','=', 'draft')]" help="New Ideas"/> - <filter icon="terp-camera_test" string="In Progress" domain="[('state','=', 'open')]" help="Open Ideas"/> - <filter icon="terp-check" string="Accepted" - domain="[('state','=','close')]" help="Accepted Ideas" /> - <separator orientation="vertical"/> - <field name="category_ids"/> - </group> - <newline/> + <field name="name" string="Idea"/> + <filter icon="terp-document-new" string="New" domain="[('state','=', 'draft')]" help="New Ideas"/> + <filter icon="terp-camera_test" string="In Progress" domain="[('state','=', 'open')]" help="Open Ideas"/> + <filter icon="terp-check" string="Accepted" domain="[('state','=','close')]" help="Accepted Ideas" /> + <field name="category_ids"/> <group expand="0" string="Group By..."> <filter icon="terp-personal" string="Creator" help="By Creators" context="{'group_by':'create_uid'}"/> - <separator orientation="vertical"/> <filter icon="terp-stock_symbol-selection" string="Category" help="By Idea Category" context="{'group_by':'category_ids'}"/> - <separator orientation="vertical"/> <filter icon="terp-stock_effects-object-colorize" string="Status" help="By States" context="{'group_by':'state'}"/> </group> </search> diff --git a/addons/import_base/i18n/pt_BR.po b/addons/import_base/i18n/pt_BR.po new file mode 100644 index 00000000000..9587acd607f --- /dev/null +++ b/addons/import_base/i18n/pt_BR.po @@ -0,0 +1,105 @@ +# Brazilian Portuguese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-08-01 01:59+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-08-01 04:44+0000\n" +"X-Generator: Launchpad (build 15719)\n" + +#. module: import_base +#: code:addons/import_base/import_framework.py:434 +#, python-format +msgid "Import failed due to an unexpected error" +msgstr "A importação falhou devido a um erro inesperado" + +#. module: import_base +#: code:addons/import_base/import_framework.py:461 +#, python-format +msgid "started at %s and finished at %s \n" +msgstr "Início em %s e término em %s \n" + +#. module: import_base +#: code:addons/import_base/import_framework.py:448 +#, python-format +msgid "Import of your data finished at %s" +msgstr "A Importação de seus dados terminou em %s" + +#. module: import_base +#: code:addons/import_base/import_framework.py:463 +#, python-format +msgid "" +"but failed, in consequence no data were imported to keep database " +"consistency \n" +" error : \n" +msgstr "" +"mas falhou, por isso nenhum dado foi importado para manter a consistência do " +"banco de dados \n" +" erro: \n" + +#. module: import_base +#: code:addons/import_base/import_framework.py:477 +#, python-format +msgid "" +"The import of data \n" +" instance name : %s \n" +msgstr "" +"A importação de dados \n" +" nome da instância: %s \n" + +#. module: import_base +#: code:addons/import_base/import_framework.py:470 +#, python-format +msgid "%s has been successfully imported from %s %s, %s \n" +msgstr "%s foi importada com sucesso de %s %s, %s \n" + +#. module: import_base +#: code:addons/import_base/import_framework.py:447 +#, python-format +msgid "Data Import failed at %s due to an unexpected error" +msgstr "A importação falhou em %s devido a um erro inesperado" + +#. module: import_base +#: code:addons/import_base/import_framework.py:436 +#, python-format +msgid "Import finished, notification email sended" +msgstr "Importação Concluída, o email de notificação foi enviado" + +#. module: import_base +#: code:addons/import_base/import_framework.py:190 +#, python-format +msgid "%s is not a valid model name" +msgstr "%s não é um nome de modelo válido" + +#. module: import_base +#: model:ir.ui.menu,name:import_base.menu_import_crm +msgid "Import" +msgstr "Importar" + +#. module: import_base +#: code:addons/import_base/import_framework.py:467 +#, python-format +msgid "with no warning" +msgstr "sem nenhum erro" + +#. module: import_base +#: code:addons/import_base/import_framework.py:469 +#, python-format +msgid "with warning : %s" +msgstr "com avisos: %s" + +#. module: import_base +#: code:addons/import_base/import_framework.py:191 +#, python-format +msgid " fields imported : " +msgstr " campos importados: " diff --git a/addons/lunch/lunch.py b/addons/lunch/lunch.py index 8cca4ced465..c249478ad48 100644 --- a/addons/lunch/lunch.py +++ b/addons/lunch/lunch.py @@ -210,7 +210,7 @@ class report_lunch_amount(osv.osv): _name = 'report.lunch.amount' _description = "Amount available by user and box" _auto = False - _rec_name = "user" + _rec_name = "user_id" _columns = { 'user_id': fields.many2one('res.users', 'User Name', readonly=True), diff --git a/addons/lunch/lunch_view.xml b/addons/lunch/lunch_view.xml index 5e870c085c9..d953dfbd1a9 100644 --- a/addons/lunch/lunch_view.xml +++ b/addons/lunch/lunch_view.xml @@ -76,12 +76,9 @@ <field name="arch" type="xml"> <search string="Search Lunch Order"> <field name="date"/> - <separator orientation="vertical"/> <filter icon="terp-check" string="To Confirm" domain="[('state','=','draft')]"/> <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=',('confirmed'))]"/> - <separator orientation="vertical"/> <field name="user_id"/> - <newline/> <group expand="0" string="Group By..."> <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'category'}"/> </group> @@ -192,12 +189,9 @@ <search string="Search CashMove"> <field name="create_date"/> <field name="user_cashmove"/> - <newline/> <group expand="0" string="Group By..."> <filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_cashmove'}"/> - <separator orientation="vertical"/> <filter string="Box" icon="terp-dolar" domain="[]" context="{'group_by':'box'}"/> - <separator orientation="vertical"/> <filter string="Date" icon="terp-go-today" domain="[]" context="{'group_by':'create_date'}"/> </group> </search> @@ -301,8 +295,8 @@ <field name="arch" type="xml"> <search string="Products"> <field name="name" string="Product"/> - <field name="category_id"/> <field name="price"/> + <field name="category_id"/> </search> </field> </record> @@ -375,14 +369,10 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Box Amount by User"> - <group> - <field name="date"/> - <separator orientation="vertical"/> - <field name="user_id"/> - <field name="box"/> - <field name="amount"/> - </group> - <newline/> + <field name="date"/> + <field name="box"/> + <field name="amount"/> + <field name="user_id"/> <group expand="0" string="Group By..."> <filter string="Box" icon="terp-dolar" context="{'group_by':'box'}"/> </group> diff --git a/addons/lunch/report/report_lunch_order_view.xml b/addons/lunch/report/report_lunch_order_view.xml index 01de4be1354..717573687df 100644 --- a/addons/lunch/report/report_lunch_order_view.xml +++ b/addons/lunch/report/report_lunch_order_view.xml @@ -25,19 +25,14 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Lunch Order Analysis"> - <group> - <field name="date"/> - </group> - <newline/> + <field name="date"/> <group expand="0" string="Group By..."> <filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/> <filter string="Box" icon="terp-dolar" context="{'group_by':'box_name'}"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/> </group> - <newline/> </search> </field> </record> diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml index 274259e544e..f9edb8b9e2f 100644 --- a/addons/mail/data/mail_demo.xml +++ b/addons/mail/data/mail_demo.xml @@ -29,10 +29,10 @@ <field name="model">mail.group</field> <field name="res_id" ref="group_all_company"/> <field name="content_subtype">html</field> - <field name="body_html"><![CDATA[Lorem ipsum dolor <b>sit amet</b>, consectetur <em>adipiscing elit</em>. Pellentesque et quam sapien, in sagittis tellus. - Praesent vel massa sed massa consequat egestas in tristique orci. Praesent iaculis libero et neque vehicula iaculis. Vivamus placerat tincidunt orci ac ornare. Proin ut dolor fringilla velit ultricies consequat. Maecenas sit amet ipsum non leo interdum imperdiet. Donec sapien mi, varius a consequat id, consectetur sit amet nulla. + <field name="body_html"><![CDATA[Lorem ipsum dolor <b>sit amet</b>, consectetur <em>adipiscing elit</em>. Pellentesque et quam sapien, in sagittis tellus. +Praesent vel massa sed massa consequat egestas in tristique orci. Praesent iaculis libero et neque vehicula iaculis. Vivamus placerat tincidunt orci ac ornare. Proin ut dolor fringilla velit ultricies consequat. Maecenas sit amet ipsum non leo interdum imperdiet. Donec sapien mi, varius a consequat id, consectetur sit amet nulla. -Fusce tempus elit volutpat mi auctor adipiscing. Nam congue luctus suscipit. Duis vestibulum dapibus enim vitae dignissim. Sed tellus libero, venenatis ut mollis ut, luctus quis dui. Sed rhoncus pulvinar orci in consectetur. +Fusce tempus elit volutpat mi auctor adipiscing. Nam congue luctus suscipit. Duis vestibulum dapibus enim vitae dignissim. Sed tellus libero, venenatis ut mollis ut, luctus quis dui. Sed rhoncus pulvinar orci in consectetur. Nulla turpis leo, rhoncus ut egestas sit amet, consectetur vitae urna. Mauris in dolor in sapien tempus vehicula.]]></field> <field name="type">comment</field> @@ -54,11 +54,11 @@ Nulla turpis leo, rhoncus ut egestas sit amet, consectetur vitae urna. Mauris in <field name="model">mail.group</field> <field name="res_id" ref="group_all_company"/> <field name="content_subtype">html</field> - <field name="body_html"><![CDATA[Agreed ! + <field name="body_html"><![CDATA[Agreed ! Would it be possible to learn more about the author ? (second comment)]]></field> <field name="parent_id" ref="message_blogpost0"/> <field name="type">comment</field> - <field name="user_id" ref="base.user_root"/> + <field name="user_id" ref="base.user_demo"/> </record> <record id="message_blogpost0_comment2_attachment0" model="ir.attachment"> @@ -76,10 +76,10 @@ Would it be possible to learn more about the author ? (second comment)]]></fiel <field name="model">mail.group</field> <field name="res_id" ref="group_all_company"/> <field name="content_subtype">html</field> - <field name="body_html"><![CDATA[Sure: Curabitur tempor bibendum diam, et euismod ante rutrum vel. + <field name="body_html"><![CDATA[Sure: Curabitur tempor bibendum diam, et euismod ante rutrum vel. -In quis purus neque. Integer sodales dolor eu elit fringilla blandit. Maecenas lacus nisi, facilisis sit amet viverra eu, tristique vel augue. -Donec viverra congue dui eu blandit. In lacinia molestie nulla, ut sagittis risus feugiat eu. +In quis purus neque. Integer sodales dolor eu elit fringilla blandit. Maecenas lacus nisi, facilisis sit amet viverra eu, tristique vel augue. +Donec viverra congue dui eu blandit. In lacinia molestie nulla, ut sagittis risus feugiat eu. Check the file in attachment for more information ! (third comment)]]></field> <field name="parent_id" ref="message_blogpost0"/> diff --git a/addons/mail/mail_group_view.xml b/addons/mail/mail_group_view.xml index c755209f952..bd01e50baa5 100644 --- a/addons/mail/mail_group_view.xml +++ b/addons/mail/mail_group_view.xml @@ -104,7 +104,6 @@ <field name="arch" type="xml"> <search string="Search Groups"> <field name="name" string="Group"/> - <separator orientation="vertical"/> <field name="responsible_id"/> </search> </field> diff --git a/addons/mail/mail_message_view.xml b/addons/mail/mail_message_view.xml index 986bb4bef38..b967035bec3 100644 --- a/addons/mail/mail_message_view.xml +++ b/addons/mail/mail_message_view.xml @@ -64,9 +64,7 @@ <field name="arch" type="xml"> <search string="Messages Search"> <field name="model" string="Message"/> - <separator orientation="vertical"/> <field name="date"/> - <separator orientation="vertical"/> <field name="user_id"/> </search> </field> @@ -80,7 +78,6 @@ <field name="priority">25</field> <field name="arch" type="xml"> <search string="Messages Search"> - <field name="user_id"/> <field name="subject" string="Content" filter_domain="['|', ('subject', 'ilike', self), ('body', 'ilike', self)]" /> <field name="type"/> <filter icon="terp-personal+" string="My Feeds" @@ -105,6 +102,7 @@ domain="[ ('date', '<=', datetime.date.today().strftime('%%Y-%%m-%%d 23:59:59')), ('date', '>=', (datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d 00:00:00')) ]"/> + <field name="user_id"/> </search> </field> </record> @@ -208,31 +206,26 @@ <field name="arch" type="xml"> <search string="Email Search"> <field name="email_from" filter_domain="['|' '|',('email_from','ilike',self), ('email_to','ilike',self), ('subject','ilike',self)]" string="Email"/> - <separator orientation="vertical"/> <field name="date"/> - <separator orientation="vertical"/> <filter icon="terp-camera_test" name="received" string="Received" domain="[('state','=','received')]"/> <filter icon="terp-call-start" name="outgoing" string="Outgoing" domain="[('state','=','outgoing')]"/> <filter icon="terp-check" name="sent" string="Sent" domain="[('state','=','sent')]"/> <filter icon="terp-gtk-stop" name="exception" string="Failed" domain="[('state','=','exception')]"/> + <separator/> <filter icon="terp-camera_test" name="type_email" string="Email" domain="[('type','=','email')]"/> <filter icon="terp-camera_test" name="type_comment" string="Comment" domain="[('type','=','comment')]"/> <filter icon="terp-camera_test" name="type_notification" string="Notification" domain="[('type','=','notification')]"/> - <newline/> <group expand="0" string="Extended Filters..."> <field name="user_id" string="User"/> <field name="partner_id" string="Partner Name"/> <field name="model"/> <field name="res_id"/> </group> - <newline/> <group expand="0" string="Group By..."> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Thread" icon="terp-mail-" domain="[]" context="{'group_by':'message_id'}"/> - <separator orientation="vertical"/> <filter string="Month" help="Creation Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/> </group> </search> diff --git a/addons/mail/mail_thread_view.xml b/addons/mail/mail_thread_view.xml index f07e1e467ee..68727832e53 100644 --- a/addons/mail/mail_thread_view.xml +++ b/addons/mail/mail_thread_view.xml @@ -9,7 +9,8 @@ sequence="10"/> <!-- left-side menu: Feeds !--> - <menuitem id="mail_feeds" name="Feeds" parent="mail_feeds_main"/> + <menuitem id="mail_feeds" name="Feeds" parent="mail_feeds_main" groups="base.group_user" sequence="10"/> + <record id="mail_wallfeeds" model="ir.ui.menu"> <field name="name">News Feed</field> <field name="sequence" eval="10"/> diff --git a/addons/marketing_campaign/marketing_campaign_view.xml b/addons/marketing_campaign/marketing_campaign_view.xml index 6a06cb33f1d..d0823b93ab1 100644 --- a/addons/marketing_campaign/marketing_campaign_view.xml +++ b/addons/marketing_campaign/marketing_campaign_view.xml @@ -4,19 +4,14 @@ <menuitem name="Configuration" id="menu_marketing_configuration" parent="base.marketing_menu" sequence="1"/> - <!-- - ====================== - Marketing Campaign - ====================== - --> + <!-- Marketing Campaign --> <act_window name="All Segments" res_model="marketing.campaign.segment" src_model="marketing.campaign" view_type="form" view_mode="tree,form" id="act_marketing_campaing_segment_opened" - context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}" - /> + context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}"/> <!-- Campaign Followups --> <act_window @@ -24,7 +19,7 @@ id="act_marketing_campaing_followup" name="Campaign Follow-up" res_model="marketing.campaign.workitem" src_model="marketing.campaign" view_mode="tree,form" - view_type="form" /> + view_type="form"/> <record model="ir.ui.view" id="view_marketing_campaign_form"> <field name="name">marketing.campaign.form</field> @@ -43,10 +38,10 @@ <div class="oe_right oe_button_box" name="button_box"> <button type="action" name="%(act_marketing_campaing_followup)d" - string="Follow-Up" /> + string="Follow-Up"/> <button type="action" name="%(act_marketing_campaing_segment_opened)d" - string="Segments" /> + string="Segments"/> </div> <div class="oe_title"> <label for="name" class="oe_edit_only"/> @@ -61,10 +56,10 @@ <field name="object_id"/> <field name="partner_field_id"/> <field name="unique_field_id"/> - </group> + </group> </group> <separator string="Activities"/> - <field name="activity_ids" context="{'default_object_id': object_id, 'default_campaign_id': active_id}" /> + <field name="activity_ids" context="{'default_object_id': object_id, 'default_campaign_id': active_id}"/> </sheet> </form> </field> @@ -114,19 +109,15 @@ <field name="arch" type="xml"> <search string="Campaigns"> <field name="name" string="Campaign"/> - <separator orientation="vertical"/> <filter icon="terp-document-new" string="Draft" name="draft" domain="[('state','=','draft')]"/> <filter icon="terp-check" string="Running" domain="[('state','=','running')]"/> + <separator/> <filter icon="terp-gtk-jump-to-rtl" string="Test Mode" name="test" domain="[('mode','=','test')]"/> <filter icon="terp-gtk-jump-to-rtl" string="Manual Mode" domain="[('mode','=','manual')]"/> - <separator orientation="vertical"/> <field name="object_id" string="Resource"/> - <newline/> <group expand="0" string="Group By..."> <filter string="Resource" name="Object" icon="terp-accessories-archiver" context="{'group_by':'object_id'}"/> - <separator orientation="vertical"/> <filter string="Mode" name="Mode" icon="terp-gtk-jump-to-rtl" context="{'group_by':'mode'}"/> - <separator orientation="vertical"/> <filter string="Status" name="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> </group> </search> @@ -146,14 +137,9 @@ </record> <menuitem name="Campaigns" id="menu_marketing_campaign" parent="base.marketing_menu"/> - <menuitem id="menu_marketing_campaign_form" parent="menu_marketing_campaign" action="action_marketing_campaign_form" sequence="30" /> - - <!-- - ====================== - Marketing Segments - ====================== - --> + <menuitem id="menu_marketing_campaign_form" parent="menu_marketing_campaign" action="action_marketing_campaign_form" sequence="30"/> + <!-- Marketing Segments --> <record model="ir.ui.view" id="view_marketing_campaign_segment_form"> <field name="name">marketing.campaign.segment.form</field> <field name="model">marketing.campaign.segment</field> @@ -202,7 +188,7 @@ <field name="campaign_id"/> <field name="date_run"/> <field name="sync_last_date"/> - <field name="state" /> + <field name="state"/> </tree> </field> </record> @@ -214,23 +200,18 @@ <field name="arch" type="xml"> <search string="Segments"> <field name="name" string="Segment"/> - <separator orientation="vertical"/> <field name="date_run"/> - <separator orientation="vertical"/> <filter icon="terp-check" string="Running" name="running" domain="[('state','=','running')]"/> <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]"/> + <separator/> <filter icon="terp-gtk-jump-to-ltr" string="Newly Created" help="Sync mode: only records created after last sync" domain="[('sync_mode','=','create_date')]"/> <filter icon="terp-stock_effects-object-colorize" string="Newly Modified" help="Sync mode: only records updated after last sync" domain="[('sync_mode','=','write_date')]"/> <filter icon="terp-emblem-documents" string="All" help="Sync mode: all records" domain="[('sync_mode','=','all')]"/> - <separator orientation="vertical"/> <field name="campaign_id"/> <field name="object_id"/> - <newline/> <group expand="0" string="Group By..."> <filter string="Campaign" name="Campaign" icon="terp-gtk-jump-to-rtl" context="{'group_by':'campaign_id'}"/> - <separator orientation="vertical"/> <filter string="Status" name="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Launch Date" name="Launch Date" icon="terp-go-month" context="{'group_by':'date_run'}"/> </group> </search> @@ -248,16 +229,12 @@ <field name="context">{'group_by': []}</field> </record> - <menuitem id="menu_marketing_campaign_segment_form" parent="menu_marketing_campaign" action="action_marketing_campaign_segment_form" sequence="20" /> + <menuitem id="menu_marketing_campaign_segment_form" parent="menu_marketing_campaign" action="action_marketing_campaign_segment_form" sequence="20"/> <!-- - ====================== - Marketing Activities - ====================== - - these views are not intended to be used outside the campaign context. + Marketing Activities + These views are not intended to be used outside the campaign context. --> - <record model="ir.ui.view" id="view_marketing_campaign_activity_form"> <field name="name">marketing.campaign.activity.form</field> <field name="model">marketing.campaign.activity</field> @@ -285,7 +262,7 @@ <group> <field name="type"/> <field name="email_template_id" attrs="{'required':[('type','=','email')], 'invisible':[('type','!=','email')]}" - context="{'default_model_id':object_id}" /> + context="{'default_model_id':object_id}"/> <field name="server_action_id" attrs="{'required':[('type','=','action')],'invisible':[('type','!=','action')]}" domain="[('model_id','=',object_id)]"/> <field name="report_id" attrs="{'required':[('type','=','report')],'invisible':[('type','!=','report')]}" context="{'object_id':object_id}"/> <field name="report_directory_id" attrs="{'required':[('type','=','report')],'invisible':[('type','!=','report')]}"/> @@ -344,12 +321,7 @@ </record> - <!-- - ====================== - Marketing Workitems - ====================== - --> - + <!-- Marketing Workitems --> <record model="ir.ui.view" id="view_marketing_campaign_workitem_tree"> <field name="name">marketing.campaign.workitem.tree</field> <field name="model">marketing.campaign.workitem</field> @@ -358,10 +330,10 @@ <tree colors="red:state == 'exception';black:state == 'todo';gray:state == 'cancelled'" string="Marketing Campaign Activities"> <field name="campaign_id"/> <field name="segment_id"/> - <field name="activity_id" /> + <field name="activity_id"/> <field name="object_id" invisible="1"/> <field name="res_id" invisible="1"/> - <field name="res_name" /> + <field name="res_name"/> <field name="partner_id"/> <field name="date"/> <field name="state"/> @@ -414,31 +386,22 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Marketing Campaign Activities"> - <group> - <field name="res_name" string="Marketing Campaign Activity"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','todo')]"/> - <filter icon="terp-emblem-important" string="Exception" domain="[('state','=','exception')]"/> - <separator orientation="vertical"/> - <field name="campaign_id"/> - <field name="segment_id"/> - <field name="object_id"/> - <field name="partner_id"/> - <field name="res_id"/> - </group> - <newline/> + <field name="res_name" string="Marketing Campaign Activity"/> + <field name="date"/> + <filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','todo')]"/> + <filter icon="terp-emblem-important" string="Exception" domain="[('state','=','exception')]"/> + <field name="campaign_id"/> + <field name="segment_id"/> + <field name="object_id"/> + <field name="partner_id"/> + <field name="res_id"/> <group expand="0" string="Group By..."> <filter string="Campaign" name="campaign" icon="terp-gtk-jump-to-rtl" context="{'group_by':'campaign_id'}"/> <filter string="Segment" name="segment" icon="terp-stock_symbol-selection" context="{'group_by':'segment_id'}"/> <filter string="Activity" name="activity" icon="terp-stock_align_left_24" context="{'group_by':'activity_id'}"/> - <separator orientation="vertical"/> <filter string="Resource" name="resource" icon="terp-accessories-archiver" context="{'group_by':'object_id'}"/> <filter string="Resource ID" name="res_id" icon="terp-accessories-archiver" context="{'group_by':'res_id'}"/> - <separator orientation="vertical"/> <filter string="Status" name="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Execution Date" name="Date" icon="terp-go-month" context="{'group_by':'date'}"/> </group> </search> @@ -464,8 +427,7 @@ view_type="form" view_mode="tree,form" id="act_marketing_campaing_segment_opened" - context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}" - /> + context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}"/> <!-- Campaign Follow-ups --> <act_window @@ -473,7 +435,7 @@ id="act_marketing_campaing_followup" name="Campaign Follow-up" res_model="marketing.campaign.workitem" src_model="marketing.campaign" view_mode="tree,form" - view_type="form" /> + view_type="form"/> <!-- Campaign Statistics --> <act_window @@ -481,7 +443,7 @@ id="act_marketing_campaing_stat" name="Campaign Statistics" res_model="campaign.analysis" src_model="marketing.campaign" view_mode="tree,form" - view_type="form" /> + view_type="form"/> </data> </openerp> diff --git a/addons/marketing_campaign/marketing_campaign_workflow.xml b/addons/marketing_campaign/marketing_campaign_workflow.xml index 4db60dbfa27..ad3fb0ddcca 100644 --- a/addons/marketing_campaign/marketing_campaign_workflow.xml +++ b/addons/marketing_campaign/marketing_campaign_workflow.xml @@ -1,16 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> <openerp> <data> - - <!-- ==================Marketing Campaigns================== --> - + + <!-- Marketing Campaigns --> <record id="wkf_marketing_campaign" model="workflow"> <field name="name">marketing.campaign.basic</field> <field name="osv">marketing.campaign</field> <field name="on_create">True</field> </record> - <!-- Activity --> + <!-- Activity --> <record id="act_marketing_campaign_draft" model="workflow.activity"> <field name="wkf_id" ref="wkf_marketing_campaign"/> <field name="flow_start">True</field> @@ -32,7 +31,7 @@ <field name="kind">function</field> <field name="action">state_done_set()</field> </record> - + <record id="act_marketing_campaign_cancel" model="workflow.activity"> <field name="wkf_id" ref="wkf_marketing_campaign"/> <field name="name">cancel</field> @@ -41,19 +40,19 @@ <field name="action">state_cancel_set()</field> </record> - <!-- Transition --> + <!-- Transition --> <record id="trans_marketing_campaign_draft_running" model="workflow.transition"> <field name="act_from" ref="act_marketing_campaign_draft"/> <field name="act_to" ref="act_marketing_campaign_running"/> <field name="signal">state_running_set</field> </record> - + <record id="trans_campaign_running_done" model="workflow.transition"> <field name="act_from" ref="act_marketing_campaign_running"/> <field name="act_to" ref="act_marketing_campaign_done"/> <field name="signal">state_done_set</field> </record> - + <record id="trans_campaign_running_cancel" model="workflow.transition"> <field name="act_from" ref="act_marketing_campaign_running"/> <field name="act_to" ref="act_marketing_campaign_cancel"/> @@ -72,15 +71,14 @@ <field name="signal">state_draft_set</field> </record> - <!-- ==================Marketing Campaign Segment================== --> - + <!-- Marketing Campaign Segment --> <record id="wkf_marketing_campaign_segment" model="workflow"> <field name="name">marketing.campaign.segment.basic</field> <field name="osv">marketing.campaign.segment</field> <field name="on_create">True</field> </record> - <!-- Activity --> + <!-- Activity --> <record id="act_marketing_campaign_segment_draft" model="workflow.activity"> <field name="wkf_id" ref="wkf_marketing_campaign_segment"/> <field name="flow_start">True</field> @@ -102,7 +100,7 @@ <field name="kind">function</field> <field name="action">state_done_set()</field> </record> - + <record id="act_marketing_campaign_segment_cancel" model="workflow.activity"> <field name="wkf_id" ref="wkf_marketing_campaign_segment"/> <field name="name">cancel</field> @@ -111,19 +109,19 @@ <field name="flow_stop" eval="False"/> </record> - <!-- Transition --> + <!-- Transition --> <record id="trans_marketing_campaign_segment_draft_running" model="workflow.transition"> <field name="act_from" ref="act_marketing_campaign_segment_draft"/> <field name="act_to" ref="act_marketing_campaign_segment_running"/> <field name="signal">state_running_set</field> </record> - + <record id="trans_campaign_segment_running_done" model="workflow.transition"> <field name="act_from" ref="act_marketing_campaign_segment_running"/> <field name="act_to" ref="act_marketing_campaign_segment_done"/> <field name="signal">state_done_set</field> </record> - + <record id="trans_campaign_segment_running_cancel" model="workflow.transition"> <field name="act_from" ref="act_marketing_campaign_segment_running"/> <field name="act_to" ref="act_marketing_campaign_segment_cancel"/> @@ -141,5 +139,6 @@ <field name="act_to" ref="act_marketing_campaign_segment_draft"/> <field name="signal">state_draft_set</field> </record> + </data> </openerp> diff --git a/addons/marketing_campaign/report/campaign_analysis_view.xml b/addons/marketing_campaign/report/campaign_analysis_view.xml index 7b3d848cc8b..30913f1b532 100644 --- a/addons/marketing_campaign/report/campaign_analysis_view.xml +++ b/addons/marketing_campaign/report/campaign_analysis_view.xml @@ -31,35 +31,22 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Campaign Analysis"> - <group> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-go-back-rtl" - string="To Do" - domain="[('state','=','todo')]"/> - <filter icon="terp-dialog-close" - string="Done" - domain="[('state','=','done')]"/> - <filter icon="terp-emblem-important" - string="Exceptions" - domain="[('state','=','exception')]"/> - <separator orientation="vertical"/> - <field name="campaign_id"/> - <field name="activity_id"/> - <field name="segment_id"/> - <field name="partner_id"/> - <field name="country_id"/> - </group> - <newline/> + <field name="date"/> + <filter icon="terp-gtk-go-back-rtl" string="To Do" domain="[('state','=','todo')]"/> + <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/> + <filter icon="terp-emblem-important" string="Exceptions" domain="[('state','=','exception')]"/> + <field name="campaign_id"/> + <field name="activity_id"/> + <field name="segment_id"/> + <field name="partner_id"/> + <field name="country_id"/> <group expand="0" string="Group By..."> <filter string="Campaign" name="Campaign" icon="terp-gtk-jump-to-rtl" context="{'group_by':'campaign_id'}" /> <filter string="Segment" name="Segment" icon="terp-stock_symbol-selection" context="{'group_by':'segment_id'}"/> <filter string="Activity" name="activity" icon="terp-stock_align_left_24" context="{'group_by':'activity_id'}"/> <filter string="Resource" icon="terp-accessories-archiver" context="{'group_by':'res_id'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/> diff --git a/addons/membership/membership.py b/addons/membership/membership.py index 06b84ec80c5..b75a813f285 100644 --- a/addons/membership/membership.py +++ b/addons/membership/membership.py @@ -146,7 +146,7 @@ class membership_line(osv.osv): 'date_to': fields.date('To', readonly=True), 'date_cancel': fields.date('Cancel date'), 'date': fields.date('Join Date', help="Date on which member has joined the membership"), - 'member_price': fields.float('Member Price', digits_compute= dp.get_precision('Sale Price'), required=True, help='Amount for the membership'), + 'member_price': fields.float('Member Price', digits_compute= dp.get_precision('Sale Price'), required=True, help='Amount for the membership'), 'account_invoice_line': fields.many2one('account.invoice.line', 'Account Invoice line', readonly=True), 'account_invoice_id': fields.related('account_invoice_line', 'invoice_id', type='many2one', relation='account.invoice', string='Invoice', readonly=True), 'state': fields.function(_state, diff --git a/addons/membership/membership_view.xml b/addons/membership/membership_view.xml index 5eea7170367..a06bcfcce5e 100644 --- a/addons/membership/membership_view.xml +++ b/addons/membership/membership_view.xml @@ -13,15 +13,11 @@ <field name="arch" type="xml"> <search string="Membership Products"> <field name="name" filter_domain="['|',('name','ilike',self),('code','ilike',self)]" string="Membership Product"/> - <separator orientation="vertical"/> <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',0)]"/> - <separator orientation="vertical"/> - <field name="categ_id" widget="selection" operator="child_of"/> - <newline/> + <field name="categ_id" operator="child_of"/> <group expand='0' string='Group by...'> - <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}" /> - <separator orientation="vertical"/> - <filter string='Date From' icon="terp-go-month" domain="[]" context="{'group_by' : 'membership_date_from'}" /> + <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}"/> + <filter string='Date From' icon="terp-go-month" domain="[]" context="{'group_by' : 'membership_date_from'}"/> </group> </search> </field> @@ -171,17 +167,16 @@ <search string="Membership Partners"> <field name="membership_start" invisible="1"/> <field name="membership_stop" string="End Membership Date"/> - <separator orientation="vertical"/> <filter string="Customers" name="customer" icon="terp-personal" domain="[('customer','=',1)]" help="Customer Partners"/> + <separator/> <filter string="Suppliers" name="supplier" icon="terp-personal" domain="[('supplier','=',1)]" help="Supplier Partners"/> + <separator/> <filter icon="terp-personal" name="all_non_members" domain="[('membership_state', 'in', ['none','canceled','old','waiting'])]" string="All non Members" help="None/Canceled/Old/Waiting"/> <filter icon="terp-personal" name="all_members" domain="[('membership_state', 'in', ['invoiced','paid','free'])]" string="All Members" help="Invoiced/Paid/Free"/> <group expand="0" string="Group By..." colspan="10" col="8"> - <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" /> + <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}"/> <filter string="Associate Member" name = "associate" icon="terp-partner" domain="[]" context="{'group_by':'associate_member'}"/> - <separator orientation="vertical"/> <filter string=" Membership State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'membership_state'}"/> - <separator orientation="vertical"/> <filter string="Start Date" help="Starting Date Of Membership" icon="terp-go-month" domain="[]" context="{'group_by':'membership_start'}"/> <filter string="End Date" help="Ending Date Of Membership" icon="terp-go-month" domain="[]" context="{'group_by':'membership_stop'}"/> </group> @@ -288,7 +283,7 @@ <field name="inherit_id" ref="product.product_normal_form_view"/> <field name="arch" type="xml"> <field name="list_price" position="after"> - <field name="member_price"/> + <field name="member_price" groups="base.group_user"/> </field> </field> </record> diff --git a/addons/membership/report/report_membership_view.xml b/addons/membership/report/report_membership_view.xml index 51e1f2499b7..71e1c6f7876 100644 --- a/addons/membership/report/report_membership_view.xml +++ b/addons/membership/report/report_membership_view.xml @@ -35,31 +35,23 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Membership"> - <group> - <field name="date_from"/> - <separator orientation="vertical"/> - <filter string="Forecast" icon="terp-gtk-jump-to-ltr" context="{'waiting_invoiced_totpending_visible':0}" help="This will display waiting, invoiced and total pending columns"/> - <filter string="Revenue Done" name="Revenue" icon="terp-dolar" context="{'paid_old_totearned_visible':0}" help="This will display paid, old and total earned columns"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="membership_id"/> - <field name="user_id"/> - </group> - <newline/> + <field name="date_from"/> + <filter string="Forecast" icon="terp-gtk-jump-to-ltr" context="{'waiting_invoiced_totpending_visible':0}" help="This will display waiting, invoiced and total pending columns"/> + <filter string="Revenue Done" name="Revenue" icon="terp-dolar" context="{'paid_old_totearned_visible':0}" help="This will display paid, old and total earned columns"/> + <field name="partner_id"/> + <field name="membership_id"/> + <field name="user_id"/> <group expand="1" string="Group By..."> <filter string="Salesperson" icon="terp-personal" name="salesman" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Associated Partner" icon="terp-partner" name="associate_member_id" domain="[]" context="{'group_by':'associate_member_id'}"/> - <separator orientation="vertical"/> <filter string="Membership Product" icon="terp-accessories-archiver" name="product" domain="[]" context="{'group_by':'membership_id'}"/> <filter string="Current Membership State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'membership_state'}"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical"/> <filter string="Year" name="year" icon="terp-go-year" domain="[]" context="{'group_by':'year'}"/> <filter string="Month" name="month" icon="terp-go-month" diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index 0449f590127..a197453c9a4 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -87,14 +87,10 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search"> - <group> - <field name="name" string="Name"/> - <separator orientation="vertical"/> - <field name="group_id" widget="selection"/> - <field name="composition"/> - </group> - <newline/> - <group expand="0" string="Group By..."> + <field name="name" string="Name"/> + <field name="composition"/> + <field name="group_id" /> + <group expand="0" string="Group By..."> <filter string="Property Group" icon="terp-personal" domain="[]" context="{'group_by':'group_id'}"/> </group> </search> @@ -206,20 +202,14 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search for mrp workcenter"> - <group> - <field name="name" string="Mrp Workcenter" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/> - <separator orientation="vertical"/> - <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/> - <separator orientation="vertical"/> - <field name="resource_type"/> - </group> - <newline/> - <group expand="0" string="Group By..."> + <field name="name" string="Mrp Workcenter" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/> + <field name="resource_type"/> + <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/> + <group expand="0" string="Group By..."> <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'resource_type'}"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - </group> - </search> + </group> + </search> </field> </record> @@ -311,9 +301,7 @@ <field name="arch" type="xml"> <search string="Routing"> <field name="name" string="Routing" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/> - <separator orientation="vertical"/> <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/> - <separator orientation="vertical"/> <field name="location_id"/> <field name="company_id" groups="base.group_multi_company"/> <group expand="0" string="Group By..."> @@ -419,20 +407,14 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Bill Of Material"> - <group> - <field name="name" string="Bill Of Material" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/> - <separator orientation="vertical"/> - <field name="product_id"/> - <field name="company_id" groups="base.group_multi_company"/> - </group> - <newline/> + <field name="name" string="Bill Of Material" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/> + <field name="product_id"/> + <field name="company_id" groups="base.group_multi_company"/> <group expand="0" string="Group By..."> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> <filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'product_uom'}"/> - <separator orientation="vertical"/> <filter string="Routing" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'routing_id'}"/> <filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}"/> - <separator orientation="vertical"/> <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Starting Date"/> </group> </search> @@ -837,32 +819,22 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Production"> - <group> - <field name="name" string="Production" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-media-pause" string="Pending" name="pending" - domain="[('state','=','confirmed')]" - help="Manufacturing Orders which are waiting for raw materials."/> - <filter icon="terp-camera_test" string="Ready" name="ready" - domain="[('state','=','ready')]" - help="Manufacturing Orders which are ready to start production."/> - <filter icon="terp-check" string="In Production" name="inprogress" - domain="[('state','=','in_production')]" - help="Manufacturing Orders which are currently in production."/> - <filter icon="terp-gnome-cpu-frequency-applet+" string="Late" - domain="['&', ('date_planned','<', current_date), ('state', 'in', ('draft', 'confirmed', 'ready'))]" - help="Production started late"/> - <separator orientation="vertical"/> - <field name="product_id"/> - <field name="routing_id" groups="mrp.group_mrp_routings"/> - </group> - <newline/> + <field name="name" string="Production" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/> + <filter icon="terp-gtk-media-pause" string="Pending" name="pending" domain="[('state','=','confirmed')]" + help="Manufacturing Orders which are waiting for raw materials."/> + <filter icon="terp-camera_test" string="Ready" name="ready" domain="[('state','=','ready')]" + help="Manufacturing Orders which are ready to start production."/> + <filter icon="terp-check" string="In Production" name="inprogress" domain="[('state','=','in_production')]" + help="Manufacturing Orders which are currently in production."/> + <separator/> + <filter icon="terp-gnome-cpu-frequency-applet+" string="Late" domain="['&', ('date_planned','<', current_date), ('state', 'in', ('draft', 'confirmed', 'ready'))]" + help="Production started late"/> + <field name="product_id"/> + <field name="routing_id" groups="mrp.group_mrp_routings"/> <group expand="0" string="Group By..."> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> - <separator orientation="vertical"/> <filter string="Routing" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'routing_id'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_planned'}" help="Scheduled Date"/> </group> </search> diff --git a/addons/mrp/report/mrp_report_view.xml b/addons/mrp/report/mrp_report_view.xml index eef6c89f702..99571903dde 100644 --- a/addons/mrp/report/mrp_report_view.xml +++ b/addons/mrp/report/mrp_report_view.xml @@ -37,8 +37,7 @@ <field name="arch" type="xml"> <search string="Work Center load"> <field name="name" string="Week"/> - <separator orientation="vertical"/> - <field name="workcenter_id" widget="selection"/> + <field name="workcenter_id"/> </search> </field> </record> diff --git a/addons/mrp_operations/mrp_operations_view.xml b/addons/mrp_operations/mrp_operations_view.xml index 2dccc92a51e..4e77100bb95 100644 --- a/addons/mrp_operations/mrp_operations_view.xml +++ b/addons/mrp_operations/mrp_operations_view.xml @@ -118,41 +118,30 @@ </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> - <field name="name" string="Work Orders"/> - <separator orientation="vertical"/> - <field name="date_planned"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Draft" - domain="[('state','=','draft')]"/> - <filter icon="terp-check" string="In Progress" name="Current" - domain="[('state','=','startworking')]"/> - <filter icon="terp-gtk-media-pause" string="Pending" - domain="[('state','=','pause')]"/> - <filter icon="terp-gnome-cpu-frequency-applet+" string="Late" - domain="['&', ('date_planned','<', current_date), ('state', 'in', ('draft', 'confirmed', 'ready'))]" - help="Production started late"/> - <separator orientation="vertical"/> - <field name="workcenter_id" widget="selection"/> - <field name="production_id"/> - <field name="state"/> - </group> - <newline/> - <group expand="0" string="Group By..."> - <filter string="Work Center" icon="terp-go-home" domain="[]" context="{'group_by':'workcenter_id'}"/> - <filter string="Production" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'production_id'}"/> - <separator orientation="vertical"/> - <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> - <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_planned'}"/> - </group> - </search> - </field> + <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"> + <field name="name" string="Work Orders"/> + <field name="date_planned"/> + <field name="state"/> + <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]"/> + <filter icon="terp-check" string="In Progress" name="Current" domain="[('state','=','startworking')]"/> + <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pause')]"/> + <separator/> + <filter icon="terp-gnome-cpu-frequency-applet+" string="Late" domain="['&', ('date_planned','<', current_date), ('state', 'in', ('draft', 'confirmed', 'ready'))]" + help="Production started late"/> + <field name="workcenter_id"/> + <field name="production_id"/> + <group expand="0" string="Group By..."> + <filter string="Work Center" icon="terp-go-home" domain="[]" context="{'group_by':'workcenter_id'}"/> + <filter string="Production" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'production_id'}"/> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> + <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_planned'}"/> + </group> + </search> + </field> </record> <record id="workcenter_line_calendar" model="ir.ui.view"> diff --git a/addons/mrp_operations/mrp_operations_workflow.xml b/addons/mrp_operations/mrp_operations_workflow.xml index a728ee6f3a4..8d022558cf9 100644 --- a/addons/mrp_operations/mrp_operations_workflow.xml +++ b/addons/mrp_operations/mrp_operations_workflow.xml @@ -1,112 +1,106 @@ <?xml version="1.0"?> <openerp> <data> - # ----------------------------------------------------------- - # Activities - # ----------------------------------------------------------- + <!-- Activities --> <record model="workflow" id="wkf_prod_workcenter"> <field name="name">mrp.production.workcenter.line.basic</field> <field name="osv">mrp.production.workcenter.line</field> <field name="on_create">True</field> </record> - <record model="workflow.activity" id="prod_act_wc_draft"> - <field name="wkf_id" ref="wkf_prod_workcenter"/> - <field name="flow_start">True</field> - <field name="name">draft</field> - <field name="kind">function</field> - <field name="action">action_draft()</field> - </record> - <record model="workflow.activity" id="prod_act_wc_start"> - <field name="wkf_id" ref="wkf_prod_workcenter"/> - <field name="name">startworking</field> - <field name="kind">function</field> - <field name="action">action_start_working()</field> - </record> - <record model="workflow.activity" id="prod_act_wc_cancel"> - <field name="wkf_id" ref="wkf_prod_workcenter"/> - <field name="name">cancel</field> - <field name="kind">function</field> - <field name="action">action_cancel()</field> - </record> - <record model="workflow.activity" id="prod_act_wc_pause"> - <field name="wkf_id" ref="wkf_prod_workcenter"/> - <field name="name">pause</field> - <field name="kind">function</field> - <field name="action">action_pause()</field> - </record> - <record model="workflow.activity" id="prod_act_wc_resume"> - <field name="wkf_id" ref="wkf_prod_workcenter"/> - <field name="name">resume</field> - <field name="kind">function</field> - <field name="action">action_resume()</field> - </record> - <record model="workflow.activity" id="prod_act_wc_done"> - <field name="wkf_id" ref="wkf_prod_workcenter"/> - <field name="name">done</field> - <field name="kind">function</field> - <field name="flow_stop">True</field> - <field name="action">action_done()</field> - </record> - - # ----------------------------------------------------------- - # Transition - # ----------------------------------------------------------- - - <record model="workflow.transition" id="prod_trans_wc_draft_start"> - <field name="act_from" ref="prod_act_wc_draft"/> - <field name="act_to" ref="prod_act_wc_start"/> - <field name="signal">button_start_working</field> - </record> - <record model="workflow.transition" id="prod_trans_wc_start_done"> - <field name="act_from" ref="prod_act_wc_start"/> - <field name="act_to" ref="prod_act_wc_done"/> - <field name="signal">button_done</field> - </record> - <record model="workflow.transition" id="prod_trans_wc_draft_cancel"> - <field name="act_from" ref="prod_act_wc_draft"/> - <field name="act_to" ref="prod_act_wc_cancel"/> - <field name="signal">button_cancel</field> - </record> - <record model="workflow.transition" id="prod_trans_wc_cancel_draft"> - <field name="act_from" ref="prod_act_wc_cancel"/> - <field name="act_to" ref="prod_act_wc_draft"/> - <field name="signal">button_draft</field> - </record> - <record model="workflow.transition" id="prod_trans_wc_start_cancel"> - <field name="act_from" ref="prod_act_wc_start"/> - <field name="act_to" ref="prod_act_wc_cancel"/> - <field name="signal">button_cancel</field> - </record> - <record model="workflow.transition" id="prod_trans_wc_start_pause"> - <field name="act_from" ref="prod_act_wc_start"/> - <field name="act_to" ref="prod_act_wc_pause"/> - <field name="signal">button_pause</field> - </record> + <record model="workflow.activity" id="prod_act_wc_draft"> + <field name="wkf_id" ref="wkf_prod_workcenter"/> + <field name="flow_start">True</field> + <field name="name">draft</field> + <field name="kind">function</field> + <field name="action">action_draft()</field> + </record> + <record model="workflow.activity" id="prod_act_wc_start"> + <field name="wkf_id" ref="wkf_prod_workcenter"/> + <field name="name">startworking</field> + <field name="kind">function</field> + <field name="action">action_start_working()</field> + </record> + <record model="workflow.activity" id="prod_act_wc_cancel"> + <field name="wkf_id" ref="wkf_prod_workcenter"/> + <field name="name">cancel</field> + <field name="kind">function</field> + <field name="action">action_cancel()</field> + </record> + <record model="workflow.activity" id="prod_act_wc_pause"> + <field name="wkf_id" ref="wkf_prod_workcenter"/> + <field name="name">pause</field> + <field name="kind">function</field> + <field name="action">action_pause()</field> + </record> + <record model="workflow.activity" id="prod_act_wc_resume"> + <field name="wkf_id" ref="wkf_prod_workcenter"/> + <field name="name">resume</field> + <field name="kind">function</field> + <field name="action">action_resume()</field> + </record> + <record model="workflow.activity" id="prod_act_wc_done"> + <field name="wkf_id" ref="wkf_prod_workcenter"/> + <field name="name">done</field> + <field name="kind">function</field> + <field name="flow_stop">True</field> + <field name="action">action_done()</field> + </record> - <record model="workflow.transition" id="prod_trans_wc_pause_resume"> - <field name="act_from" ref="prod_act_wc_pause"/> - <field name="act_to" ref="prod_act_wc_resume"/> - <field name="signal">button_resume</field> - </record> + <!-- Transition --> + <record model="workflow.transition" id="prod_trans_wc_draft_start"> + <field name="act_from" ref="prod_act_wc_draft"/> + <field name="act_to" ref="prod_act_wc_start"/> + <field name="signal">button_start_working</field> + </record> + <record model="workflow.transition" id="prod_trans_wc_start_done"> + <field name="act_from" ref="prod_act_wc_start"/> + <field name="act_to" ref="prod_act_wc_done"/> + <field name="signal">button_done</field> + </record> + <record model="workflow.transition" id="prod_trans_wc_draft_cancel"> + <field name="act_from" ref="prod_act_wc_draft"/> + <field name="act_to" ref="prod_act_wc_cancel"/> + <field name="signal">button_cancel</field> + </record> + <record model="workflow.transition" id="prod_trans_wc_cancel_draft"> + <field name="act_from" ref="prod_act_wc_cancel"/> + <field name="act_to" ref="prod_act_wc_draft"/> + <field name="signal">button_draft</field> + </record> + <record model="workflow.transition" id="prod_trans_wc_start_cancel"> + <field name="act_from" ref="prod_act_wc_start"/> + <field name="act_to" ref="prod_act_wc_cancel"/> + <field name="signal">button_cancel</field> + </record> + <record model="workflow.transition" id="prod_trans_wc_start_pause"> + <field name="act_from" ref="prod_act_wc_start"/> + <field name="act_to" ref="prod_act_wc_pause"/> + <field name="signal">button_pause</field> + </record> - <record model="workflow.transition" id="prod_trans_wc_resume_pause"> - <field name="act_from" ref="prod_act_wc_resume"/> - <field name="act_to" ref="prod_act_wc_pause"/> - <field name="signal">button_pause</field> - </record> - <record model="workflow.transition" id="prod_trans_wc_resume_cancel"> - <field name="act_from" ref="prod_act_wc_resume"/> - <field name="act_to" ref="prod_act_wc_cancel"/> - <field name="signal">button_cancel</field> - </record> - <record model="workflow.transition" id="prod_trans_wc_resume_done"> - <field name="act_from" ref="prod_act_wc_resume"/> - <field name="act_to" ref="prod_act_wc_done"/> - <field name="signal">button_done</field> - </record> + <record model="workflow.transition" id="prod_trans_wc_pause_resume"> + <field name="act_from" ref="prod_act_wc_pause"/> + <field name="act_to" ref="prod_act_wc_resume"/> + <field name="signal">button_resume</field> + </record> + <record model="workflow.transition" id="prod_trans_wc_resume_pause"> + <field name="act_from" ref="prod_act_wc_resume"/> + <field name="act_to" ref="prod_act_wc_pause"/> + <field name="signal">button_pause</field> + </record> + <record model="workflow.transition" id="prod_trans_wc_resume_cancel"> + <field name="act_from" ref="prod_act_wc_resume"/> + <field name="act_to" ref="prod_act_wc_cancel"/> + <field name="signal">button_cancel</field> + </record> + <record model="workflow.transition" id="prod_trans_wc_resume_done"> + <field name="act_from" ref="prod_act_wc_resume"/> + <field name="act_to" ref="prod_act_wc_done"/> + <field name="signal">button_done</field> + </record> </data> </openerp> diff --git a/addons/mrp_operations/report/mrp_workorder_analysis_view.xml b/addons/mrp_operations/report/mrp_workorder_analysis_view.xml index c84de780ee0..0c9ee4c6726 100644 --- a/addons/mrp_operations/report/mrp_workorder_analysis_view.xml +++ b/addons/mrp_operations/report/mrp_workorder_analysis_view.xml @@ -46,32 +46,22 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search"> - <group> - <field name="date"/> - <separator orientation="vertical"/> - <filter string="Current" icon="terp-check" domain="[('state','not in',('draft','cancel','done'))]"/> - <filter icon="terp-check" string="Started" domain="[('state','=','startworking')]"/> - <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]"/> - <separator orientation="vertical"/> - <field name="product_id" /> - <field name="workcenter_id"/> - </group> - <newline/> - <group expand="1" string="Group By..."> + <field name="date"/> + <filter string="Current" icon="terp-check" domain="[('state','not in',('draft','cancel','done'))]"/> + <filter icon="terp-check" string="Started" domain="[('state','=','startworking')]"/> + <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]"/> + <field name="product_id" /> + <field name="workcenter_id"/> + <group expand="1" string="Group By..."> <filter string="Product" name="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}" /> <filter string="Work Center" name="Workcenter" icon="terp-go-home" context="{'group_by':'workcenter_id'}" /> - <separator orientation="vertical"/> <filter string="Production" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'production_id'}"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Planned Day"/> - <separator orientation="vertical"/> <filter string="Month" name="terp-go-month" icon="terp-go-month" context="{'group_by':'month'}" help="Planned Month"/> - <separator orientation="vertical"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Planned Year"/> - </group> - </search> + </group> + </search> </field> </record> <record id="action_report_mrp_workorder" model="ir.actions.act_window"> diff --git a/addons/mrp_repair/i18n/mn.po b/addons/mrp_repair/i18n/mn.po new file mode 100644 index 00000000000..18991cfec3e --- /dev/null +++ b/addons/mrp_repair/i18n/mn.po @@ -0,0 +1,819 @@ +# Mongolian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-07-31 11:41+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Mongolian <mn@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-08-01 04:44+0000\n" +"X-Generator: Launchpad (build 15719)\n" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Fees Line" +msgstr "Ажлын хөлсний мөр" + +#. module: mrp_repair +#: help:mrp.repair,state:0 +msgid "" +" * The 'Draft' state is used when a user is encoding a new and unconfirmed " +"repair order. \n" +"* The 'Confirmed' state is used when a user confirms the repair order. " +" \n" +"* The 'Ready to Repair' state is used to start to repairing, user can start " +"repairing only after repair order is confirmed. \n" +"* The 'To be Invoiced' state is used to generate the invoice before or after " +"repairing done. \n" +"* The 'Done' state is set when repairing is completed. \n" +"* The 'Cancelled' state is used when user cancel repair order." +msgstr "" +" * Засварын захиалгыг шинээр оруулж батлаагүй байх үед 'Ноорог' төлөвтэй " +"байдаг. \n" +"* Хэрэглэгч засварын захиалгыг батлахад төлөв 'Батлагдсан' болдог.\n" +"* Засах ажлыг эхлүүлснээр 'Засахад бэлэн' төлөвтэй болдог. Хэрэглэгч зөвхөн " +"засварын захиалга батлагдсан дараа эхлүүлэх боломжтой. \n" +"* Засварын өмнө эсвэл хойно нэхэмжлэхээс хамааран 'Нэхэмжлэх' гэсэн төлөв " +"хэрэглэгддэг. \n" +"* Засвар дууссан дараа 'Хийгдсэн' төлөвтэй болдог. \n" +"* Засварын захиалга цуцлагдсан тохиолдолд 'Цуцлагдсан' төлөвтэй болдог." + +#. module: mrp_repair +#: field:mrp.repair.line,move_id:0 +msgid "Inventory Move" +msgstr "Барааны хөдөлгөөн" + +#. module: mrp_repair +#: model:ir.actions.act_window,help:mrp_repair.action_repair_order_tree +msgid "" +"Repair orders allow you to organize your product repairs. In a repair order, " +"you can detail the components you remove, add or replace and record the time " +"you spent on the different operations. The repair order uses the warranty " +"date on the production lot in order to know if whether the repair should be " +"invoiced to the customer or not." +msgstr "" +"Засварын захиалга нь барааны засварыг зохион байгуулах боломжийг олгодог. " +"Засварын захиалгад хасах, нэмэх, солих бүрэлдхүүнийг хөтлөх, мөн ажиллагааг " +"хийхэд зарцуулсан цагийг хөтлөх боломжтой. Засварын захиалга нь " +"үйлдвэрлэлийн цувралын баталгааны хугацааг ашиглан захиалагчийг нэхэмжлэх " +"эсэхиээ шийддэг." + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Group By..." +msgstr "Бүлэглэх..." + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Recreate Invoice" +msgstr "Дахин нэхэмжлэл үүсгэх" + +#. module: mrp_repair +#: help:mrp.repair,deliver_bool:0 +msgid "" +"Check this box if you want to manage the delivery once the product is " +"repaired. If cheked, it will create a picking with selected product. Note " +"that you can select the locations in the Info tab, if you have the extended " +"view." +msgstr "" +"Бараа засагдсан дараа хүргэлтийг менеж хийхээр бол үүнийг тэмдэглэнэ. Хэрэв " +"тэмдгэлэгдсэн бол сонгосон барааны бэлтгэлт үүсгэгдэнэ." + +#. module: mrp_repair +#: model:ir.actions.act_window,name:mrp_repair.action_cancel_repair +#: view:mrp.repair.cancel:0 +msgid "Cancel Repair Order" +msgstr "Засварын захиалгыг цуцлах" + +#. module: mrp_repair +#: field:mrp.repair.fee,to_invoice:0 +#: field:mrp.repair.line,to_invoice:0 +msgid "To Invoice" +msgstr "Нэхэмжлэх" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Printing Date" +msgstr "Хэвлэх огноо" + +#. module: mrp_repair +#: field:mrp.repair.make_invoice,group:0 +msgid "Group by partner invoice address" +msgstr "Захиалагчийн нэхэмжлэх хаягаар бүлэглэх" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:435 +#, python-format +msgid "No product defined on Fees!" +msgstr "Ажлын хөлс дээр бараа тодорхойлогдоогүй байна!" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair,company_id:0 +msgid "Company" +msgstr "Компани" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Set to Draft" +msgstr "Ноороглох" + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +msgid "Invoice Exception" +msgstr "Нэхэмжлэлийн сондгойрол" + +#. module: mrp_repair +#: field:mrp.repair,address_id:0 +msgid "Delivery Address" +msgstr "Хургэх Хаяг" + +#. module: mrp_repair +#: model:ir.actions.act_window,name:mrp_repair.act_mrp_repair_invoice +#: model:ir.model,name:mrp_repair.model_mrp_repair_make_invoice +#: view:mrp.repair:0 +msgid "Make Invoice" +msgstr "Нэхэмжлэл үүсгэх" + +#. module: mrp_repair +#: field:mrp.repair.fee,price_subtotal:0 +#: field:mrp.repair.line,price_subtotal:0 +msgid "Subtotal" +msgstr "Дэд дүн" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Invoice address :" +msgstr "Нэхэмжлэх хаяг :" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair,guarantee_limit:0 +msgid "Guarantee limit" +msgstr "Баталгааны хязгаар" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Notes" +msgstr "Тэмдэглэл" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair,amount_tax:0 +#: field:mrp.repair.fee,tax_id:0 +#: field:mrp.repair.line,tax_id:0 +msgid "Taxes" +msgstr "Татвар" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Net Total :" +msgstr "Цэвэр дүн :" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:435 +#, python-format +msgid "Warning !" +msgstr "Анхааруулга !" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Tax" +msgstr "" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Operations" +msgstr "Ажиллагаанууд" + +#. module: mrp_repair +#: field:mrp.repair,move_id:0 +msgid "Move" +msgstr "Хөдөлгөөн" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:370 +#, python-format +msgid "You have to select a Partner Invoice Address in the repair form !" +msgstr "Засварын маягтад харилцагчийн нэхэмжлэх хаягийг сонгох хэрэгтэй !" + +#. module: mrp_repair +#: model:ir.actions.act_window,name:mrp_repair.action_repair_order_tree +#: model:ir.ui.menu,name:mrp_repair.menu_repair_order +msgid "Repair Orders" +msgstr "Засварын захиалгууд" + +#. module: mrp_repair +#: model:ir.actions.report.xml,name:mrp_repair.report_mrp_repair +msgid "Quotation / Order" +msgstr "Үнийн санал / Захиалга" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:337 +#, python-format +msgid "Warning" +msgstr "Анхааруулга" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Extra Info" +msgstr "Нэмэлт мэдээлэл" + +#. module: mrp_repair +#: field:mrp.repair.fee,repair_id:0 +#: field:mrp.repair.line,repair_id:0 +msgid "Repair Order Reference" +msgstr "Засварын Захиалгын Код" + +#. module: mrp_repair +#: selection:mrp.repair.line,state:0 +msgid "Draft" +msgstr "Ноорог" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:384 +#, python-format +msgid "No account defined for partner \"%s\"." +msgstr "\"%s\" харилцагчид данс тодорхойлогдоогүй байна." + +#. module: mrp_repair +#: view:mrp.repair:0 +#: selection:mrp.repair,state:0 +#: selection:mrp.repair.line,state:0 +msgid "Confirmed" +msgstr "Батлагдсан" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Repairs order" +msgstr "Засварын захиалга" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Repair Order N° :" +msgstr "Засварын Захиалга № :" + +#. module: mrp_repair +#: field:mrp.repair,prodlot_id:0 +#: field:mrp.repair.line,prodlot_id:0 +#: report:repair.order:0 +msgid "Lot Number" +msgstr "Цувралын Дугаар" + +#. module: mrp_repair +#: field:mrp.repair,fees_lines:0 +msgid "Fees Lines" +msgstr "Ажлын хөлсний мөрүүд" + +#. module: mrp_repair +#: field:mrp.repair.line,type:0 +msgid "Type" +msgstr "Төрөл" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Fees Line(s)" +msgstr "Ажлын хөлсний мөрүүд" + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +msgid "To be Invoiced" +msgstr "Нэхэмжлэх" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Shipping address :" +msgstr "Хүргэх хаяг :" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:334 +#: code:addons/mrp_repair/mrp_repair.py:384 +#: code:addons/mrp_repair/mrp_repair.py:413 +#: code:addons/mrp_repair/mrp_repair.py:442 +#, python-format +msgid "Error !" +msgstr "Алдаа !" + +#. module: mrp_repair +#: field:mrp.repair.line,product_uom_qty:0 +msgid "Quantity (UoM)" +msgstr "Тоо хэмжээ (х.н)" + +#. module: mrp_repair +#: help:mrp.repair.line,state:0 +msgid "" +" * The 'Draft' state is set automatically as draft when repair order in " +"draft state. \n" +"* The 'Confirmed' state is set automatically as confirm when repair order in " +"confirm state. \n" +"* The 'Done' state is set automatically when repair order is completed. " +" \n" +"* The 'Cancelled' state is set automatically when user cancel repair order." +msgstr "" +" * Засварын захиалгын 'Ноорог' төлөв автоматаар олгогддог. " +" \n" +"* Засварын захиалга батлагдахад төлөв 'Батлагдсан' болдог. " +" \n" +"* Засварын захиалга дуусахад 'Хийгдсэн' төлөвтэй болдог. " +" \n" +"* Хэрэглэгч засварын захиалгыг цуцлахад 'Цуцлагдсан' төлөвтэй болдог." + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Total :" +msgstr "Нийт :" + +#. module: mrp_repair +#: view:mrp.repair.cancel:0 +msgid "" +"This operation will cancel the Repair process, but will not cancel it's " +"Invoice. Do you want to continue?" +msgstr "" +"Энэ үйлдэл нь засварын захиалгыг цуцлах боловч үүний нэхэмжлэлийг нь " +"цуцлахгүй. Та үргэлжлүүлэхийг хүсч байна уу?" + +#. module: mrp_repair +#: field:mrp.repair,pricelist_id:0 +msgid "Pricelist" +msgstr "Үнийн жагсаалт" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair,quotation_notes:0 +msgid "Quotation Notes" +msgstr "Үнийн саналын тэмдэглэл" + +#. module: mrp_repair +#: code:addons/mrp_repair/wizard/cancel_repair.py:49 +#, python-format +msgid "Warning!" +msgstr "Анхааруулга!" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Search Reair Orders" +msgstr "Засварын захиалгыг хайх" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "(Add)" +msgstr "(Нэмэх)" + +#. module: mrp_repair +#: model:ir.model,name:mrp_repair.model_mrp_repair_line +#: view:mrp.repair:0 +msgid "Repair Line" +msgstr "Засварын мөр" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair,partner_id:0 +msgid "Partner" +msgstr "Харилцагч" + +#. module: mrp_repair +#: field:mrp.repair,invoice_method:0 +msgid "Invoice Method" +msgstr "Нэхэмжлэх арга" + +#. module: mrp_repair +#: field:mrp.repair,repaired:0 +msgid "Repaired" +msgstr "Засагдсан" + +#. module: mrp_repair +#: field:mrp.repair.fee,invoice_line_id:0 +#: field:mrp.repair.line,invoice_line_id:0 +msgid "Invoice Line" +msgstr "Нэхэмжлэлийн мөр" + +#. module: mrp_repair +#: selection:mrp.repair.line,state:0 +msgid "Canceled" +msgstr "Цуцлагдсан" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:337 +#, python-format +msgid "Production lot is required for opration line with product '%s'" +msgstr "'%s' бараатай ажиллагааны үйлдвэрлэлийн цуврал шаардлагатай" + +#. module: mrp_repair +#: selection:mrp.repair,invoice_method:0 +msgid "Before Repair" +msgstr "Засварын өмнө" + +#. module: mrp_repair +#: field:mrp.repair,location_id:0 +msgid "Current Location" +msgstr "Одоогийн байрлал" + +#. module: mrp_repair +#: view:mrp.repair.cancel:0 +msgid "Yes" +msgstr "Тийм" + +#. module: mrp_repair +#: field:mrp.repair,invoiced:0 +#: field:mrp.repair.fee,invoiced:0 +#: field:mrp.repair.line,invoiced:0 +msgid "Invoiced" +msgstr "Нэхэмжилсэн" + +#. module: mrp_repair +#: view:mrp.repair.cancel:0 +msgid "No" +msgstr "Үгүй" + +#. module: mrp_repair +#: view:mrp.repair.make_invoice:0 +msgid "Create invoices" +msgstr "Нэхэмжлэлүүд үүсгэх" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "(Remove)" +msgstr "(Устгах)" + +#. module: mrp_repair +#: selection:mrp.repair.line,type:0 +msgid "Add" +msgstr "Нэмэх" + +#. module: mrp_repair +#: view:mrp.repair.make_invoice:0 +msgid "Do you really want to create the invoice(s)?" +msgstr "" + +#. module: mrp_repair +#: field:mrp.repair,name:0 +msgid "Repair Reference" +msgstr "Засварын Код" + +#. module: mrp_repair +#: model:ir.model,name:mrp_repair.model_mrp_repair +msgid "Repair Order" +msgstr "Засварын Захиалга" + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +msgid "Under Repair" +msgstr "Засагдаж буй" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Ready To Repair" +msgstr "Засахад Бэлэн" + +#. module: mrp_repair +#: field:mrp.repair,amount_untaxed:0 +msgid "Untaxed Amount" +msgstr "Татвар татахгүй дүн" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Guarantee Limit" +msgstr "Баталгааны Хязгаар" + +#. module: mrp_repair +#: field:mrp.repair,default_address_id:0 +msgid "unknown" +msgstr "үл мэдэгдэх" + +#. module: mrp_repair +#: field:mrp.repair,product_id:0 +#: report:repair.order:0 +msgid "Product to Repair" +msgstr "Засах бараа" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "N° :" +msgstr "№ :" + +#. module: mrp_repair +#: help:mrp.repair,pricelist_id:0 +msgid "The pricelist comes from the selected partner, by default." +msgstr "Үнийн жасгаалт сонгосон харилцагчаас анхны утгаараа ирнэ." + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Date" +msgstr "Огноо" + +#. module: mrp_repair +#: model:ir.model,name:mrp_repair.model_mrp_repair_fee +msgid "Repair Fees Line" +msgstr "Засварын Ажлын Хөлсний Мөр" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:334 +#, python-format +msgid "You cannot confirm a repair order which has no line." +msgstr "Мөр байхгүй засварын захиалгыг батлаж чадахгүй." + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +msgid "Quotation" +msgstr "Үнийн санал" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Compute" +msgstr "Тооцоолох" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Confirm Repair" +msgstr "Засварыг Батлах" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Repair Quotation" +msgstr "Засварын Үнийн Санал" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "End Repair" +msgstr "Засварыг Төгсгөх" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:413 +#: code:addons/mrp_repair/mrp_repair.py:442 +#, python-format +msgid "No account defined for product \"%s\"." +msgstr "\"%s\" бараанд данс тодорхойлогдоогүй байна." + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Quotations" +msgstr "Үнийн санал" + +#. module: mrp_repair +#: field:mrp.repair.fee,product_uom_qty:0 +#: report:repair.order:0 +msgid "Quantity" +msgstr "Тоо хэмжээ" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Start Repair" +msgstr "Засварыг эхлүүлэх" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair,state:0 +#: field:mrp.repair.line,state:0 +msgid "State" +msgstr "Төлөв" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Qty" +msgstr "Тоо хэмжээ" + +#. module: mrp_repair +#: field:mrp.repair.fee,price_unit:0 +#: field:mrp.repair.line,price_unit:0 +#: report:repair.order:0 +msgid "Unit Price" +msgstr "Нэгж үнэ" + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +#: selection:mrp.repair.line,state:0 +msgid "Done" +msgstr "Хийгдсэн" + +#. module: mrp_repair +#: help:mrp.repair,guarantee_limit:0 +msgid "" +"The guarantee limit is computed as: last move date + warranty defined on " +"selected product. If the current date is below the guarantee limit, each " +"operation and fee you will add will be set as 'not to invoiced' by default. " +"Note that you can change manually afterwards." +msgstr "" +"Баталгааны хязгаар дараах байдлаар тооцоологддог: сүүлийн хөдөлгөөний огноо " +"+ сонгосон бараанд тодорхойлогдсон баталгаа. Хэрэв одоогийн огноо нь " +"баталгааны хязгаараас бага бол бүх ажиллагаа болон ажлын хөлсүүд нь " +"'нэхэмжлэгдэхгүй' төлөвтэй болно. Гэхдээ эдгээрийг дараа нь гараараа өөрчлөх " +"боломжтой." + +#. module: mrp_repair +#: field:mrp.repair,invoice_id:0 +msgid "Invoice" +msgstr "Нэхэмжлэл" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Fees" +msgstr "Ажлын хөлс" + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +#: view:mrp.repair.make_invoice:0 +msgid "Cancel" +msgstr "Цуцлах" + +#. module: mrp_repair +#: field:mrp.repair.line,location_dest_id:0 +msgid "Dest. Location" +msgstr "Хүрэх байршил" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Operation Line(s)" +msgstr "Ажиллагааны Мөрүүд" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "History" +msgstr "Түүх" + +#. module: mrp_repair +#: field:mrp.repair,location_dest_id:0 +msgid "Delivery Location" +msgstr "Хүргэх Байрлал" + +#. module: mrp_repair +#: help:mrp.repair,invoice_method:0 +msgid "" +"This field allow you to change the workflow of the repair order. If value " +"selected is different from 'No Invoice', it also allow you to select the " +"pricelist and invoicing address." +msgstr "" +"Энэ талбар нь засварын захиалгын ажлын урсгалыг өөрчлөх боломжийг олгодог. " +"Хэрэв сонгосон утга нь 'Нэхэмжлэл үгүй'-с ялгаатай бол үнийн жагсаалт болон " +"нэхэмжлэх хаягийг сонгох боломжийг мөн олгоно." + +#. module: mrp_repair +#: view:mrp.repair.make_invoice:0 +msgid "Create Invoice" +msgstr "Нэхэмжлэл үүсгэх" + +#. module: mrp_repair +#: field:mrp.repair.fee,name:0 +#: field:mrp.repair.line,name:0 +#: report:repair.order:0 +msgid "Description" +msgstr "Тайлбар" + +#. module: mrp_repair +#: field:mrp.repair,operations:0 +msgid "Operation Lines" +msgstr "Ажиллагааны мөрүүд" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "invoiced" +msgstr "нэхэмжилсэн" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair.fee,product_id:0 +#: field:mrp.repair.line,product_id:0 +msgid "Product" +msgstr "Бараа" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Invoice Corrected" +msgstr "Нэхэмжлэлийг Зөв Болгосон" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Price" +msgstr "Үнэ" + +#. module: mrp_repair +#: field:mrp.repair,deliver_bool:0 +msgid "Deliver" +msgstr "Хүргэлт" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair,internal_notes:0 +msgid "Internal Notes" +msgstr "Дотоод тэмдэглэл" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Taxes:" +msgstr "Татвар:" + +#. module: mrp_repair +#: field:mrp.repair,picking_id:0 +msgid "Picking" +msgstr "Бэлтгэл" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Untaxed amount" +msgstr "Татваргүй дүн" + +#. module: mrp_repair +#: code:addons/mrp_repair/wizard/cancel_repair.py:41 +#, python-format +msgid "Active ID is not Found" +msgstr "Идэвхтэй ID олдсонгүй" + +#. module: mrp_repair +#: code:addons/mrp_repair/wizard/cancel_repair.py:49 +#, python-format +msgid "Repair order is not invoiced." +msgstr "Засварын захиалга нэхэмлэгдээгүй." + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Total amount" +msgstr "Нийт дүн" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "UoM" +msgstr "Х.Н" + +#. module: mrp_repair +#: selection:mrp.repair.line,type:0 +msgid "Remove" +msgstr "Хасах" + +#. module: mrp_repair +#: field:mrp.repair.fee,product_uom:0 +#: field:mrp.repair.line,product_uom:0 +msgid "Product UoM" +msgstr "Барааны х.н" + +#. module: mrp_repair +#: field:mrp.repair,partner_invoice_id:0 +msgid "Invoicing Address" +msgstr "Нэхэмжлэх Хаяг" + +#. module: mrp_repair +#: selection:mrp.repair,invoice_method:0 +msgid "After Repair" +msgstr "Засварын Дараа" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Invoicing" +msgstr "Нэхэмжлэл" + +#. module: mrp_repair +#: field:mrp.repair.line,location_id:0 +msgid "Source Location" +msgstr "Эх байрлал" + +#. module: mrp_repair +#: model:ir.model,name:mrp_repair.model_mrp_repair_cancel +#: view:mrp.repair:0 +msgid "Cancel Repair" +msgstr "Засвар Цуцлах" + +#. module: mrp_repair +#: selection:mrp.repair,invoice_method:0 +msgid "No Invoice" +msgstr "Нэхэмлэл үгүй" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "States" +msgstr "Төлөв" + +#. module: mrp_repair +#: help:mrp.repair,partner_id:0 +msgid "" +"This field allow you to choose the parner that will be invoiced and delivered" +msgstr "" +"Энэ талбар нь нэхэмжлэгдэх болон хүргэлт хийгдэх харилцагчийг сонгох " +"боломжийг олгоно" + +#. module: mrp_repair +#: field:mrp.repair,amount_total:0 +msgid "Total" +msgstr "Нийт" + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +msgid "Ready to Repair" +msgstr "Засахад Бэлэн" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:370 +#, python-format +msgid "No partner !" +msgstr "Харилцагч алга !" + +#~ msgid "VAT" +#~ msgstr "НӨАТ" + +#~ msgid "Do you really want to create the invoice(s) ?" +#~ msgstr "Та үнэхээр нэхэмжлэл үүсгэхийг хүсч байна уу ?" diff --git a/addons/mrp_repair/mrp_repair_view.xml b/addons/mrp_repair/mrp_repair_view.xml index 09951150d1a..ffa60b8fec5 100644 --- a/addons/mrp_repair/mrp_repair_view.xml +++ b/addons/mrp_repair/mrp_repair_view.xml @@ -205,30 +205,23 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Reair Orders"> - <group> - <field name="name" string="Reair Orders"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="Quotations" domain="[('state','=','draft')]"/> - <filter icon="terp-check" string="Confirmed" domain="[('state','=','confirmed')]" name="current" /> - <filter icon="terp-emblem-important" string="Ready To Repair" domain="[('state','=','ready')]"/> - <filter icon="terp-dolar" string="Invoiced" domain="[('invoiced','=',True)]"/> - <separator orientation="vertical"/> - <field name="product_id"/> - <field name="partner_id"/> - <field name="state"/> - </group> - <newline/> + <field name="name" string="Reair Orders"/> + <field name="state"/> + <filter icon="terp-document-new" string="Quotations" domain="[('state','=','draft')]"/> + <filter icon="terp-check" string="Confirmed" domain="[('state','=','confirmed')]" name="current" /> + <filter icon="terp-emblem-important" string="Ready To Repair" domain="[('state','=','ready')]"/> + <separator/> + <filter icon="terp-dolar" string="Invoiced" domain="[('invoiced','=',True)]"/> + <field name="product_id"/> + <field name="partner_id"/> <group expand="0" string="Group By..."> <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'guarantee_limit'}" help="Guarantee limit"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> </group> - </search> + </search> </field> </record> diff --git a/addons/multi_company/res_company_view.xml b/addons/multi_company/res_company_view.xml index 169f42d640e..5ea323175e6 100644 --- a/addons/multi_company/res_company_view.xml +++ b/addons/multi_company/res_company_view.xml @@ -51,9 +51,8 @@ <field name="arch" type="xml"> <search string="Multi Company"> <field name="name" string="Multi Company"/> - <separator orientation="vertical"/> - <field name="company_id" widget="selection"/> - <field name="company_dest_id" widget="selection"/> + <field name="company_id"/> + <field name="company_dest_id"/> <field name="object_id"/> </search> </field> diff --git a/addons/point_of_sale/account_statement_view.xml b/addons/point_of_sale/account_statement_view.xml index 3b3542bb777..8568c8d60d9 100644 --- a/addons/point_of_sale/account_statement_view.xml +++ b/addons/point_of_sale/account_statement_view.xml @@ -27,21 +27,13 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Cash Statements"> - <group> - <field name="name" string="Cash Statement"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter string="Open" domain="[('state','=','open')]" icon="terp-document-new" name="open"/> - <separator orientation="vertical"/> - <field name="journal_id"/> - </group> - <newline/> + <field name="name" string="Cash Statement"/> + <field name="date"/> + <filter string="Open" domain="[('state','=','open')]" icon="terp-document-new" name="open"/> + <field name="journal_id"/> <group expand="0" string="Group By..."> <filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/> - <separator orientation="vertical"/> <filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/> - <separator orientation="vertical"/> <filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/> </group> </search> @@ -54,22 +46,14 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Cash Statements"> - <group> - <field name="name" string="Cash Statement"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter string="Open" domain="[('state','=','open')]" icon="terp-document-new" name="open"/> - <filter string="Closed" domain="[('state','=','confirm')]" icon="terp-camera_test"/> - <separator orientation="vertical"/> - <field name="journal_id"/> - </group> - <newline/> + <field name="name" string="Cash Statement"/> + <field name="date"/> + <filter string="Open" domain="[('state','=','open')]" icon="terp-document-new" name="open"/> + <filter string="Closed" domain="[('state','=','confirm')]" icon="terp-camera_test"/> + <field name="journal_id"/> <group expand="0" string="Group By..."> <filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/> - <separator orientation="vertical"/> <filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/> - <separator orientation="vertical"/> <filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/> </group> </search> diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml index 6b1b9132344..fc0de4c9198 100644 --- a/addons/point_of_sale/point_of_sale_view.xml +++ b/addons/point_of_sale/point_of_sale_view.xml @@ -139,24 +139,19 @@ <field name="arch" type="xml"> <search string="Search Sales Order"> <field name="name" string="Sales Order"/> - <separator orientation="vertical"/> <field name="date_order"/> - <separator orientation="vertical"/> <filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/> <filter icon="gtk-apply" string="Done" domain="[('state','in',('paid','invoiced','done'))]"/> <filter icon="terp-check" string="Invoiced" domain="[('state','=','invoiced')]"/> <filter icon="gtk-convert" string="Posted" domain="[('state','=','done')]"/> - <separator orientation="vertical"/> <field name="user_id"/> <group expand="0" string="Group By..."> <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator string="" orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator string="" orientation="vertical"/> <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/> </group> - </search> + </search> </field> </record> @@ -835,12 +830,10 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Point of Sale Config"> + <field name="name" /> <filter string="Active" domain="[('state', '=', 'active')]" /> <filter string="Inactive" domain="[('state', '=', 'inactive')]" /> - <separator orientation="vertical"/> - <field name="name" /> <field name="shop_id" /> - </search> </field> </record> @@ -985,15 +978,12 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Point of Sale Session"> + <field name="name" /> <filter string="Open" domain="[('state', '=', 'opened')]" /> - <separator orientation="vertical"/> + <separator/> <filter string="Today" domain="[('start_at', '>=', time.strftime('%%Y-%%m-%%d 00:00:00'))]" /> - <separator orientation="vertical"/> <field name="config_id" /> - <field name="name" /> <field name="user_id" /> - - <newline /> <group expand="0" string="Group By..."> <filter string="User" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" /> <filter string="Point of Sales" domain="[]" context="{'group_by': 'user_id'}" /> @@ -1032,27 +1022,22 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Sales Order"> + <field name="name"/> + <field name="date_order"/> <filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/> <filter icon="gtk-apply" string="Done" domain="[('state','in',('paid','invoiced','done'))]"/> - <separator orientation="vertical"/> <filter icon="terp-check" string="Invoiced" domain="[('state','=','invoiced')]"/> <filter icon="gtk-convert" string="Posted" domain="[('state','=','done')]"/> - <separator orientation="vertical"/> - <field name="name"/> <field name="user_id"/> - <field name="date_order"/> <field name="session_id"/> - <newline/> <group expand="0" string="Group By..." groups="base.group_extended"> <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Session" icon="terp-personal" domain="[]" context="{'group_by':'session_id'}"/> - <separator string="" orientation="vertical"/> <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator string="" orientation="vertical"/> <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/> </group> - </search> + </search> </field> </record> diff --git a/addons/point_of_sale/report/pos_order_report_view.xml b/addons/point_of_sale/report/pos_order_report_view.xml index 00e0eb91f2f..e103fe4e6c0 100644 --- a/addons/point_of_sale/report/pos_order_report_view.xml +++ b/addons/point_of_sale/report/pos_order_report_view.xml @@ -34,41 +34,24 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Point of Sale Analysis"> - <group> - <filter icon="terp-go-year" string="Year" name="year" - domain="[('year','=',time.strftime('%%Y'))]" - help="POS ordered created during current year"/> - <filter icon="terp-go-today" - string="Today" - name="today" - domain="[('date','=', time.strftime('%%Y-%%m-%%d'))]" - help="POS ordered created by today"/> - <separator orientation="vertical"/> - <filter icon="terp-dolar" - string="Invoiced" - domain="[('state','=',('invoiced'))]"/> - <filter icon="terp-dolar" - string="Not Invoiced" - domain="[('state','=',('paid'))]"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="date"/> - <field name="user_id" widget="selection" /> - <filter icon="terp-personal" - string="My Sales" - help="My Sales" - domain="[('user_id','=',uid)]"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="user_id" widget="selection"/> - </group> - <newline/> + <field name="date"/> + <filter icon="terp-dolar" string="Invoiced" domain="[('state','=',('invoiced'))]"/> + <filter icon="terp-dolar" string="Not Invoiced" domain="[('state','=',('paid'))]"/> + <separator/> + <filter icon="terp-go-year" string="Year" name="year" domain="[('year','=',time.strftime('%%Y'))]" help="POS ordered created during current year"/> + <separator/> + <filter icon="terp-go-today" string="Today" name="today" domain="[('date','=', time.strftime('%%Y-%%m-%%d'))]" + help="POS ordered created by today"/> + <separator/> + <filter icon="terp-personal" string="My Sales" help="My Sales" domain="[('user_id','=',uid)]"/> + <field name="partner_id"/> + <field name="user_id"/> + <field name="partner_id"/> + <field name="user_id"/> <group expand="1" string="Group By..."> <filter string="Salesperson" icon="terp-personal" name="User" context="{'group_by':'user_id'}"/> <filter string="Customer" icon="terp-personal" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Day of order date"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Month of order date"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Year of order date"/> diff --git a/addons/portal/__openerp__.py b/addons/portal/__openerp__.py index 70791995958..6dd22a46ca2 100644 --- a/addons/portal/__openerp__.py +++ b/addons/portal/__openerp__.py @@ -22,18 +22,20 @@ { 'name' : "Portal", 'version' : "1.0", - 'depends' : ["base", "share"], + 'depends' : ["base", "share", "anonymous"], 'author' : "OpenERP SA", 'category': 'Portal', 'description': """ -This module defines 'portals' to customize the access to your OpenERP database for external users. -================================================================================================== +Customize access to your OpenERP database to external users by creating portals. -A portal defines customized user menu and access rights for a group of users -(the ones associated to that portal). It also associates user groups to the -portal users (adding a group in the portal automatically adds it to the portal -users). That feature is very handy when used in combination with the -module 'share'. +A portal defines a specific user menu and access rights for its members. This +menu can ben seen by portal members, anonymous users and any other user that +have the access to technical features (e.g. the administrator). +Also, each portal member is linked to a specific partner. + +The module also associates user groups to the portal users (adding a group in +the portal automatically adds it to the portal users, etc). That feature is +very handy when used in combination with the module 'share'. """, 'website': 'http://www.openerp.com', 'data': [ diff --git a/addons/portal/portal.py b/addons/portal/portal.py index 399377e8ccc..2c8b2db587d 100644 --- a/addons/portal/portal.py +++ b/addons/portal/portal.py @@ -32,7 +32,7 @@ class portal(osv.osv): _name = 'res.portal' _description = 'Portal' _inherits = {'res.groups': 'group_id'} - + _columns = { 'group_id': fields.many2one('res.groups', required=True, ondelete='cascade', string='Group', @@ -53,40 +53,40 @@ class portal(osv.osv): string='Widgets', help='Widgets assigned to portal users'), } - + def copy(self, cr, uid, id, values, context=None): """ override copy(): menu_action_id must be different """ values['menu_action_id'] = None return super(portal, self).copy(cr, uid, id, values, context) - + def create(self, cr, uid, values, context=None): """ extend create() to assign the portal menu to users """ if context is None: context = {} - + # create portal (admin should not be included) context['noadmin'] = True portal_id = super(portal, self).create(cr, uid, values, context) - + # assign menu action and widgets to users if values.get('users') or values.get('menu_action_id'): self._assign_menu(cr, uid, [portal_id], context) if values.get('users') or values.get('widget_ids'): self._assign_widgets(cr, uid, [portal_id], context) - + return portal_id - + def write(self, cr, uid, ids, values, context=None): """ extend write() to reflect changes on users """ # first apply portal changes super(portal, self).write(cr, uid, ids, values, context) - + # assign menu action and widgets to users if values.get('users') or values.get('menu_action_id'): self._assign_menu(cr, uid, ids, context) if values.get('users') or values.get('widget_ids'): self._assign_widgets(cr, uid, ids, context) - + # if parent_menu_id has changed, apply the change on menu_action_id if 'parent_menu_id' in values: act_window_obj = self.pool.get('ir.actions.act_window') @@ -95,7 +95,7 @@ class portal(osv.osv): if action_ids: action_values = {'domain': [('parent_id', '=', values['parent_menu_id'])]} act_window_obj.write(cr, uid, action_ids, action_values, context) - + return True def _assign_menu(self, cr, uid, ids, context=None): @@ -131,26 +131,26 @@ portal() class portal_override_menu(osv.osv): """ - extend res.portal with a boolean field 'Override Users Menu', that + Extend res.portal with a boolean field 'Override Users Menu', that triggers the creation or removal of menu_action_id """ _name = 'res.portal' _inherit = 'res.portal' - + def _get_override_menu(self, cr, uid, ids, field_name, arg, context=None): assert field_name == 'override_menu' result = {} for p in self.browse(cr, uid, ids, context): result[p.id] = bool(p.menu_action_id) return result - + def _set_override_menu(self, cr, uid, id, field_name, field_value, arg, context=None): assert field_name == 'override_menu' if field_value: self.create_menu_action(cr, uid, id, context) else: self.write(cr, uid, [id], {'menu_action_id': False}, context) - + def create_menu_action(self, cr, uid, id, context=None): """ create, if necessary, a menu action that opens the menu items below parent_menu_id """ @@ -169,7 +169,7 @@ class portal_override_menu(osv.osv): } action_id = actions_obj.create(cr, uid, action_values, context) self.write(cr, uid, [id], {'menu_action_id': action_id}, context) - + _columns = { 'override_menu': fields.function( _get_override_menu, fnct_inv=_set_override_menu, diff --git a/addons/portal/portal_data.xml b/addons/portal/portal_data.xml index 2cba3a1945a..74e08bc5343 100644 --- a/addons/portal/portal_data.xml +++ b/addons/portal/portal_data.xml @@ -1,13 +1,42 @@ <?xml version="1.0" encoding="utf-8"?> <openerp> - <data noupdate="1"> + <data> <record id="portal" model="res.portal"> <field name="name">Portal</field> <field name="group_id" ref="group_portal_member"/> - <field name="override_menu" eval="True"/> - <field name="parent_menu_id" ref="portal_members_root_menu"/> + <field name="override_menu" eval="False"/> </record> + <!-- Mail group for the company's news --> + <record id="company_news_feed" model="mail.group"> + <field name="name">Company's news feed</field> + </record> + + <record id="action_news" model="ir.actions.act_window"> + <field name="name">News</field> + <field name="res_model">mail.group</field> + <field name="res_id" ref="company_news_feed"/> + <field name="view_mode">form</field> + </record> + + <!-- Top menu item --> + <menuitem name="Portal" + id="portal_menu" + groups="base.group_no_one,portal.group_portal_member,anonymous.group_anonymous" + sequence="20"/> + + <menuitem name="Our company" id="portal_company" parent="portal_menu" sequence="10"/> + <menuitem name="News" id="portal_company_news" parent="portal_company" sequence="10" action="action_news"/> + + <!-- + Create menu items that we'll leave empty for now - they'll be + filled up by other portal modules. + --> + <menuitem name="Orders" id="portal_orders" parent="portal_menu" sequence="20"/> + <menuitem name="Invoices and Payments" id="portal_invoices_payements" parent="portal_menu" sequence="30"/> + <menuitem name="Projects" id="portal_projects" parent="portal_menu" sequence="40"/> + <menuitem name="After Sale Services" id="portal_after_sales" parent="portal_menu" sequence="50"/> + </data> </openerp> diff --git a/addons/portal/portal_demo.xml b/addons/portal/portal_demo.xml index 1776493eb32..e5b5ea2fe70 100644 --- a/addons/portal/portal_demo.xml +++ b/addons/portal/portal_demo.xml @@ -2,18 +2,58 @@ <openerp> <data> - <record id="portal_demo_user" model="res.users"> + <!-- Create a portal member attached to a partner --> + <record id="demo_user0" model="res.users"> <field name="name">Demo Portal User</field> <field name="login">portal</field> <field name="password">portal</field> <field name="avatar">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ODdBREI1PC94bXBNTTpJbnN0YW5jZUlEPgogIDx4bXBNTTpEb2N1bWVudElEIHJkZjpyZXNvdXJjZT0neG1wLmRpZDoyMTUxMUFDRjU4NzBFMDExQjE4OEJBMDcwREM1NDg5MicgLz4KICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6MjE1MTFBQ0Y1ODcwRTAxMUIxODhCQTA3MERDNTQ4OTI8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICA8eG1wTU06SGlzdG9yeT4KICAgPHJkZjpTZXE+CiAgIDwvcmRmOlNlcT4KICA8L3htcE1NOkhpc3Rvcnk+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHhtbG5zOmRjPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyc+CiAgPGRjOmZvcm1hdD5pbWFnZS9qcGVnPC9kYzpmb3JtYXQ+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHhtbG5zOnBob3Rvc2hvcD0naHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyc+CiAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiB4bWxuczp0aWZmPSdodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyc+CiAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgPHRpZmY6TmF0aXZlRGlnZXN0PjI1NiwyNTcsMjU4LDI1OSwyNjIsMjc0LDI3NywyODQsNTMwLDUzMSwyODIsMjgzLDI5NiwzMDEsMzE4LDMxOSw1MjksNTMyLDMwNiwyNzAsMjcxLDI3MiwzMDUsMzE1LDMzNDMyO0Q1MDVBNEM2MDlBQzIyNUVGMzcwM0UwMTE0NkQ4RTYzPC90aWZmOk5hdGl2ZURpZ2VzdD4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24geG1sbnM6ZXhpZj0naHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8nPgogIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yNTA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zNzA8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogIDxleGlmOk5hdGl2ZURpZ2VzdD4zNjg2NCw0MDk2MCw0MDk2MSwzNzEyMSwzNzEyMiw0MDk2Miw0MDk2MywzNzUxMCw0MDk2NCwzNjg2NywzNjg2OCwzMzQzNCwzMzQzNywzNDg1MCwzNDg1MiwzNDg1NSwzNDg1NiwzNzM3NywzNzM3OCwzNzM3OSwzNzM4MCwzNzM4MSwzNzM4MiwzNzM4MywzNzM4NCwzNzM4NSwzNzM4NiwzNzM5Niw0MTQ4Myw0MTQ4NCw0MTQ4Niw0MTQ4Nyw0MTQ4OCw0MTQ5Miw0MTQ5Myw0MTQ5NSw0MTcyOCw0MTcyOSw0MTczMCw0MTk4NSw0MTk4Niw0MTk4Nyw0MTk4OCw0MTk4OSw0MTk5MCw0MTk5MSw0MTk5Miw0MTk5Myw0MTk5NCw0MTk5NSw0MTk5Niw0MjAxNiwwLDIsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMjAsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMzA7MTM3NUU3MDc1MjVBMTE0RjBBRkNBNzg4RTM2QzAyN0I8L2V4aWY6TmF0aXZlRGlnZXN0PgogPC9yZGY6RGVzY3JpcHRpb24+Cgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSdyJz8+Cv/iDFhJQ0NfUFJPRklM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</field> - <!-- Avoid auto-including this demo user in any default group --> + <!-- Avoid auto-including this user in any default group --> <field name="groups_id" eval="[(5,)]"/> <field name="partner_id" eval="ref('base.res_partner_agrolait')"/> </record> + <!-- Add the demo user to the portal (and therefore to the portal member group) --> <record id="portal" model="res.portal"> - <field name="users" eval="[(4,ref('portal_demo_user'))]"/> + <field name="users" eval="[(4,ref('demo_user0'))]"/> + </record> + + <!-- Company news and comments --> + <record id="message_company_news0" model="mail.message"> + <field name="subject">Our first company's blogpost !</field> + <field name="model">mail.group</field> + <field name="res_id" ref="company_news_feed"/> + <field name="content_subtype">html</field> + <field name="body_html"><![CDATA[Hello, and welcome to our company's portal ! + +Lorem ipsum <b>sit amet</b>, consectetur <em>adipiscing elit</em>. Pellentesque et quam sapien, in sagittis tellus. +Praesent vel massa sed massa consequat egestas in tristique orci. Praesent iaculis libero et neque vehicula iaculis. Vivamus placerat tincidunt orci ac ornare. Proin ut dolor fringilla velit ultricies consequat. Maecenas sit amet ipsum non leo interdum imperdiet. Donec sapien mi. + +Fusce tempus elit volutpat mi auctor adipiscing. Nam congue luctus suscipit. Sed tellus libero, venenatis ut mollis ut, luctus quis dui. Sed rhoncus pulvinar orci in consectetur. + +Nulla turpis leo, rhoncus ut egestas sit amet, consectetur vitae urna. Mauris in dolor in sapien tempus vehicula.]]></field> + <field name="type">comment</field> + <field name="user_id" ref="base.user_root"/> + </record> + + <record id="message_company_news0_comment0" model="mail.message"> + <field name="model">mail.group</field> + <field name="res_id" ref="company_news_feed"/> + <field name="content_subtype">html</field> + <field name="body_html"><![CDATA[Great first blogpost ! (first comment)]]></field> + <field name="parent_id" ref="message_company_news0"/> + <field name="type">comment</field> + <field name="user_id" ref="base.user_demo"/> + </record> + + <record id="message_company_news0_comment1" model="mail.message"> + <field name="model">mail.group</field> + <field name="res_id" ref="company_news_feed"/> + <field name="content_subtype">html</field> + <field name="body_html"><![CDATA[Thanks ! (second comment)]]></field> + <field name="parent_id" ref="message_company_news0"/> + <field name="type">comment</field> + <field name="user_id" ref="base.user_root"/> </record> </data> diff --git a/addons/portal/portal_view.xml b/addons/portal/portal_view.xml index 794c8ed788b..c8db077edc7 100644 --- a/addons/portal/portal_view.xml +++ b/addons/portal/portal_view.xml @@ -2,21 +2,6 @@ <openerp> <data> - <!-- menu Administration/Portals/Portals --> - <record id="portal_list_action" model="ir.actions.act_window"> - <field name="name">Portals</field> - <field name="res_model">res.portal</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <!-- a context is necessary to get the right portal form view --> - <field name="context">{'form_view_ref': 'portal.portal_form_view'}</field> - <field name="help"> -A portal helps defining specific views and rules for a group of users (the -portal group). A portal menu, widgets and specific groups may be assigned to -the portal's users. - </field> - </record> - <!-- portal tree view --> <record id="portal_list_view" model="ir.ui.view"> <field name="name">Portal List</field> @@ -28,7 +13,6 @@ the portal's users. </tree> </field> </record> - <!-- portal form view --> <record id="portal_form_view" model="ir.ui.view"> <field name="name">Portal Form</field> @@ -63,42 +47,23 @@ the portal's users. </page> </field> </record> - - <record id="company_news_feed" model="mail.group"> - <field name="name">Company's news feed</field> - </record> - - <record id="action_news" model="ir.actions.act_window"> - <field name="name">News</field> - <field name="res_model">mail.group</field> - <field name="res_id" ref="company_news_feed"/> - <field name="view_mode">form</field> + <!-- action Administration/Portals/Portals --> + <record id="portal_list_action" model="ir.actions.act_window"> + <field name="name">Portals</field> + <field name="res_model">res.portal</field> + <field name="view_type">form</field> + <field name="view_mode">tree,form</field> + <!-- a context is necessary to get the right portal form view --> + <field name="context">{'form_view_ref': 'portal.portal_form_view'}</field> + <field name="help"> +A portal helps defining specific views and rules for a group of users (the +portal group). A portal menu, widgets and specific groups may be assigned to +the portal's users. + </field> </record> - - - <!-- module's menu --> - <!-- menu Administration/Portals --> - <menuitem name="Portals Settings" id="portal_menu_settings" parent="base.menu_administration" - groups="group_portal_manager"/> - + <!-- menu Administration/Portals/Portals --> + <menuitem name="Portals Settings" id="portal_menu_settings" parent="base.menu_administration" groups="group_portal_manager"/> <menuitem name="Portals" id="portal_list_menu" parent="portal_menu_settings" action="portal_list_action"/> - <!-- root menu for portal members (chrooted in this menu) --> - <menuitem name="Portal Members Root Menu" id="portal_members_root_menu" parent="portal_menu_settings"/> - <menuitem name="Portal Member's Menu" id="menu_portal" parent="portal_members_root_menu"/> - <menuitem name="Our company" id="portal_company" - parent="menu_portal" sequence="10"/> - <menuitem name="News" id="portal_company_news" - parent="portal_company" sequence="10" action="action_news"/> - - <menuitem name="Orders" id="portal_orders" - parent="menu_portal" sequence="20"/> - <menuitem name="Invoices and Payments" id="portal_invoices_payements" - parent="menu_portal" sequence="30"/> - <menuitem name="Projects" id="portal_projects" - parent="menu_portal" sequence="40"/> - <menuitem name="After Sale Services" id="portal_after_sales" - parent="menu_portal" sequence="50"/> - </data> </openerp> diff --git a/addons/portal/res_user.py b/addons/portal/res_user.py index 127c3079b29..9ed95a8a740 100644 --- a/addons/portal/res_user.py +++ b/addons/portal/res_user.py @@ -30,7 +30,5 @@ class res_users(osv.osv): string='Related Partner'), } -res_users() - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/portal/res_user_view.xml b/addons/portal/res_user_view.xml index 492c2ec5559..d481b865b79 100644 --- a/addons/portal/res_user_view.xml +++ b/addons/portal/res_user_view.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <openerp> <data> + <!-- add partner field in user form --> <record id="view_users_form" model="ir.ui.view"> <field name="name">res.portal.users.form</field> @@ -13,5 +14,6 @@ </field> </field> </record> + </data> </openerp> diff --git a/addons/portal/security/portal_security.xml b/addons/portal/security/portal_security.xml index 37e94581d77..4a493204d67 100644 --- a/addons/portal/security/portal_security.xml +++ b/addons/portal/security/portal_security.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="utf-8"?> <openerp> - <data> + <data noupdate="1"> - <!-- Don't use any implied_ids here; this group behavior is particular --> + <!-- Don't use any implied_ids here; this group's behavior is particular --> <record id="group_portal_member" model="res.groups"> <field name="name">Portal Member</field> - <field name="comment">Portal members can access information provided by the portal menu and the others module it's linked with. Also, portal members are chrooted in a specific menu.</field> + <field name="comment">Portal members can access information through the portal menu. Also, they are chrooted in this specific menu.</field> </record> <record id="module_category_portal" model="ir.module.category"> diff --git a/addons/portal_claim/__openerp__.py b/addons/portal_claim/__openerp__.py index 9fba57ba9ac..197227cc45f 100644 --- a/addons/portal_claim/__openerp__.py +++ b/addons/portal_claim/__openerp__.py @@ -26,15 +26,15 @@ 'category': 'Tools', 'complexity': "easy", 'description': """ -This module adds claim menu and features to your portal if claim and portal are +This module adds claim menu and features to your portal if claim and portal are installed. """, 'author': 'OpenERP SA', 'depends': ['crm_claim','portal'], 'data': [ - 'security/portal_security.xml', 'portal_claim_view.xml', - "security/ir.model.access.csv", + 'security/ir.model.access.csv', + 'security/portal_security.xml', ], 'installable': True, 'auto_install':True, diff --git a/addons/portal_claim/security/portal_security.xml b/addons/portal_claim/security/portal_security.xml index feff94ed43c..e902bd043ad 100644 --- a/addons/portal_claim/security/portal_security.xml +++ b/addons/portal_claim/security/portal_security.xml @@ -3,7 +3,7 @@ <data noupdate="1"> <record id="portal_stock_picking_user_rule" model="ir.rule"> - <field name="name">Personal Claims</field> + <field name="name">Portal Personal Claims</field> <field ref="crm_claim.model_crm_claim" name="model_id"/> <field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field> <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/> diff --git a/addons/portal_crm/__openerp__.py b/addons/portal_crm/__openerp__.py index 044f3280ce3..4fe023ccb48 100644 --- a/addons/portal_crm/__openerp__.py +++ b/addons/portal_crm/__openerp__.py @@ -26,18 +26,20 @@ 'category': 'Tools', 'complexity': "easy", 'description': """ -This module adds crm menu and features (contact form) to your portal if crm and -portal are installed. +This module adds a contact page (with a contact form creating a lead when +submitted) to your portal if crm and portal are installed. """, 'author': 'OpenERP SA', 'depends': ['crm','portal'], 'data': [ - 'security/ir.model.access.csv', 'wizard/contact_view.xml', ], - 'installable': True, - 'auto_install':True, + 'installable': True +, 'auto_install':True, 'category':'Hidden', + 'css': [ + 'static/src/css/portal_crm.css', + ], } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/portal_crm/security/ir.model.access.csv b/addons/portal_crm/security/ir.model.access.csv deleted file mode 100644 index 08145a00f54..00000000000 --- a/addons/portal_crm/security/ir.model.access.csv +++ /dev/null @@ -1,2 +0,0 @@ -id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink - diff --git a/addons/portal_crm/static/src/css/portal_crm.css b/addons/portal_crm/static/src/css/portal_crm.css new file mode 100644 index 00000000000..0589eb92e71 --- /dev/null +++ b/addons/portal_crm/static/src/css/portal_crm.css @@ -0,0 +1,42 @@ + /* Root container */ +.openerp .oe_portal_crm_contact { + width: 800px; + margin: auto; + padding: 8px 0 0 0; +} + +/* Contact form section */ +.openerp .oe_portal_crm_contact .oe_portal_crm_contact_form { + margin-right: 10px; +} +.openerp .oe_portal_crm_contact .oe_portal_crm_contact_form input[type="text"] { + width: 40%; +} + +/* Offices list section */ +.openerp .oe_portal_crm_contact .oe_portal_crm_office { + background: #DDD; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4); + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4); + -o-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4); + -box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4); +} +.openerp .oe_portal_crm_contact .oe_portal_crm_office * { + background: transparent !important; +} +.openerp .oe_portal_crm_contact .oe_portal_crm_office .oe_fold_column.oe_kanban_record { + float: none; + display: block; + width: 100%; + margin-bottom: 5px; + padding: 5px; +} +.openerp .oe_portal_crm_contact .oe_portal_crm_office li:last-child { + margin-bottom: 1em; +} +.openerp .oe_portal_crm_contact .oe_portal_crm_office ul:last-child li:last-child { + margin-bottom: 0; +} diff --git a/addons/portal_crm/wizard/contact.py b/addons/portal_crm/wizard/contact.py index be21decafa9..505bb62bb16 100644 --- a/addons/portal_crm/wizard/contact.py +++ b/addons/portal_crm/wizard/contact.py @@ -1,33 +1,90 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2011 OpenERP S.A (<http://www.openerp.com>). +# +# 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 openerp.osv import osv, fields +from openerp import SUPERUSER_ID class crm_contact_us(osv.TransientModel): """ Create new leads through the "contact us" form """ _name = 'portal_crm.crm_contact_us' _description = 'Contact form for the portal' _inherit = 'crm.lead' + _columns = { + 'company_ids' : fields.many2many('res.company', string='Companies', readonly=True), + } + + def _get_companies(self, cr, uid, context=None): + """ + Fetch companies in order to display them in the wizard view + + @return a list of ids of the companies + """ + r = self.pool.get('res.company').search(cr, uid, [], context=context) + return r + + def _get_current_user_email(self, cr, uid, context=None): + """ + If the user is logged in (i.e. not anonymous), get the user's email to + pre-fill the email_from field. + + @return current user's email if the user isn't "anonymous", None otherwise + """ + user = self.pool.get('res.users').browse(cr, uid, uid, context=context) + + if (user.login != 'anonymous'): + return user.user_email + else: + return None + + _defaults = { + 'email_from' : _get_current_user_email, + 'company_ids' : _get_companies, + } def create(self, cr, uid, values, context=None): - """ - Since they potentially sensitive, we don't want any user to be able to - read datas generated through this module. That's why we'll write those - information in the crm.lead table and leave blank entries in the - portal_crm.crm_contact_us table. This is why the create() method is - overridden. + """ + Since they potentially sensitive, we don't want any user to be able to + read datas generated through this module. That's why we'll write those + information in the crm.lead table and leave blank entries in the + portal_crm.crm_contact_us table. This is why the create() method is + overwritten. """ crm_lead = self.pool.get('crm.lead') - - """ - Because of the complex inheritance of the crm.lead model and the other - models implied (like mail.thread, among others, that performs a read - when its create() method is called (in method message_get_subscribers()), - it is quite complicated to set proper rights for this object. - Therefore, user #1 will perform the creation until a better workaround - is figured out. + + """ + Because of the complex inheritance of the crm.lead model and the other + models implied (like mail.thread, among others, that performs a read + when its create() method is called (in method message_get_subscribers()), + it is quite complicated to set proper rights for this object. + Therefore, user SUPERUSER_ID will perform the creation until a better + workaround is figured out. """ - crm_lead.create(cr, 1, dict(values,user_id=False), context) + values['contact_name'] = values['name'] + crm_lead.create(cr, SUPERUSER_ID, dict(values,user_id=False), context) - """ Create an empty record in the portal_crm.crm_contact_us table """ - return super(crm_contact_us, self).create(cr, uid, {}) + """ + Create an empty record in the portal_crm.crm_contact_us table. + Since the 'name' field is mandatory, give an empty string to avoid an integrity error. + """ + return super(crm_contact_us, self).create(cr, uid, {'name': ' '}) def submit(self, cr, uid, ids, context=None): """ When the form is submitted, redirect the user to a "Thanks" message """ @@ -36,5 +93,6 @@ class crm_contact_us(osv.TransientModel): 'view_type': 'form', 'res_model': self._name, 'res_id': ids[0], - 'view_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'portal_crm', 'wizard_contact_form_view_thanks')[1] + 'view_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'portal_crm', 'wizard_contact_form_view_thanks')[1], + 'target': 'inline' } diff --git a/addons/portal_crm/wizard/contact_view.xml b/addons/portal_crm/wizard/contact_view.xml index 904326ea409..96d55722752 100644 --- a/addons/portal_crm/wizard/contact_view.xml +++ b/addons/portal_crm/wizard/contact_view.xml @@ -8,16 +8,70 @@ <field name="model">portal_crm.crm_contact_us</field> <field name="type">form</field> <field name="arch" type="xml"> - <form string="Contact Us wizard view"> - <group col="2"> - <field name="contact_name" string="Name"/> - <field name="name" string="Company"/> - <field name="email_from"/> - <field name="phone"/> - <field name="description" string="Your question"/> - <label string=""/> - <button string="Submit" name="submit" type="object"/> - </group> + <form string="Contact wizard view" version="7.0"> + <div class="oe_portal_crm_contact"> + <h1>Contact us</h1> + <table> + <tr> + <td width="70%%"> + <div class="oe_portal_crm_contact_form"> + <group> + <field name="name"/> + <field name="partner_name"/> + <field name="email_from"/> + <field name="phone"/> + <field name="description"/> + <button string="Submit" name="submit" type="object"/> + </group> + </div> + </td> + <td> + <div class="oe_portal_crm_office"> + <field name="company_ids" widget="many2many_kanban"> + <kanban> + <field name="name"/> + <field name="email"/> + <field name="phone"/> + <field name="street"/> + <field name="street2"/> + <field name="zip"/> + <field name="city"/> + <field name="country_id"/> + <field name="state_id"/> + <templates> + <t t-name="kanban-box"> + <h4><field name="name"/></h4> + <ul class="oe_portal_crm_address"> + <li t-if="record.street"><field name="street"/></li> + <li t-if="record.street2"><field name="street2"/></li> + <li t-if="record.zip"><field name="zip"/></li> + <li t-if="record.city"><field name="city"/></li> + <li t-if="record.country_id"><field name="country_id"/></li> + </ul> + <ul class="oe_portal_crm_contact_info"> + <li t-if="record.phone"><field name="phone"/></li> + <li t-if="record.email.raw_value"> + <a title="Mail" t-att-href="'mailto:'+record.email.value"> + <field name="email"/> + </a> + </li> + </ul> + </t> + </templates> + </kanban> + </field> + </div> + </td> + </tr> + <tr> + <td colspan="2"> + <div class="oe_portal_crm_team"> + + </div> + </td> + </tr> + </table> + </div> </form> </field> </record> @@ -31,9 +85,9 @@ <field name="priority">99</field> <field name="arch" type="xml"> <form string="Thank you"> - <!-- - make sure there is at least one field in the view, - otherwise the orm will try to select all the model's + <!-- + make sure there is at least one field in the view, + otherwise the orm will try to select all the model's records and this will result in a permission denied error --> <field name="name" invisible="1"/> @@ -44,9 +98,10 @@ <!-- wizard action --> <record id="action_wizard_contact_us" model="ir.actions.act_window"> - <field name="name">Contact Us</field> + <field name="name">Contact</field> <field name="res_model">portal_crm.crm_contact_us</field> <field name="view_mode">form</field> + <field name="target">inline</field> </record> <!-- attach it to the portal menu --> diff --git a/addons/portal_event/__init__.py b/addons/portal_event/__init__.py index 26c654db9dd..60fb460545a 100644 --- a/addons/portal_event/__init__.py +++ b/addons/portal_event/__init__.py @@ -19,3 +19,4 @@ # ############################################################################## +import event diff --git a/addons/portal_event/__openerp__.py b/addons/portal_event/__openerp__.py index 865f18604d6..2f5220c9f36 100644 --- a/addons/portal_event/__openerp__.py +++ b/addons/portal_event/__openerp__.py @@ -26,12 +26,13 @@ 'category': 'Tools', 'complexity': "easy", 'description': """ -This module adds event menu and features to your portal if event and portal are +This module adds event menu and features to your portal if event and portal are installed. """, 'author': 'OpenERP SA', 'depends': ['event','portal'], 'data': [ + 'event_view.xml', 'security/portal_security.xml', 'portal_event_view.xml', 'security/ir.model.access.csv', diff --git a/addons/portal_event/event.py b/addons/portal_event/event.py new file mode 100644 index 00000000000..6faf83eff36 --- /dev/null +++ b/addons/portal_event/event.py @@ -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 osv, fields + +class event_event(osv.osv): + _description = 'Portal event' + _inherit = 'event.event' + + """ + ``visibility``: defines if the event appears on the portal's event page + - 'public' means the event will appear for everyone (anonymous) + - 'private' means the event won't appear + """ + _columns = { + 'visibility': fields.selection([('public', 'Public'),('private', 'Private')], + string='Visibility', help='Event\'s visibility in the portal\'s contact page'), + } + _defaults = { + 'visibility': 'private', + } diff --git a/addons/portal_event/event_view.xml b/addons/portal_event/event_view.xml new file mode 100644 index 00000000000..6966add58e8 --- /dev/null +++ b/addons/portal_event/event_view.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> + <data> + + <!-- add visibility field to the event form view --> + <record id="view_employee_form" model="ir.ui.view"> + <field name="name">portal.event.form</field> + <field name="model">event.event</field> + <field name="type">form</field> + <field name="inherit_id" ref="event.view_event_form"/> + <field name="arch" type="xml"> + <xpath expr="//page[last()]" position="after"> + <page string="Portal Settings"> + <group> + <field name="visibility"/> + </group> + </page> + </xpath> + </field> + </record> + + </data> +</openerp> diff --git a/addons/portal_event/portal_event_view.xml b/addons/portal_event/portal_event_view.xml index 70bb408b32d..8b1f21bbef0 100644 --- a/addons/portal_event/portal_event_view.xml +++ b/addons/portal_event/portal_event_view.xml @@ -2,7 +2,7 @@ <openerp> <data> - <menuitem name="Events" id="portal_company_events" parent="portal.portal_company" + <menuitem name="Events" id="portal_company_events" parent="portal.portal_company" action="event.action_event_view" sequence="40"/> </data> diff --git a/addons/portal_event/security/portal_security.xml b/addons/portal_event/security/portal_security.xml index 82044fb8b11..6a3ed0ac786 100644 --- a/addons/portal_event/security/portal_security.xml +++ b/addons/portal_event/security/portal_security.xml @@ -1,16 +1,16 @@ <?xml version="1.0" encoding="utf-8"?> <openerp> - <data> + <data noupdate="1"> <record id="portal_event_rule" model="ir.rule"> - <field name="name">Personal Events</field> + <field name="name">Portal Visible Events</field> <field ref="event.model_event_event" name="model_id"/> - <field name="domain_force">[]</field> + <field name="domain_force">[('visibility', '=', 'public')]</field> <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/> </record> <record id="portal_registration_rule" model="ir.rule"> - <field name="name">Personal Registrations</field> + <field name="name">Portal Personal Registrations</field> <field ref="event.model_event_registration" name="model_id"/> <field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field> <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/> diff --git a/addons/portal_hr_employees/__init__.py b/addons/portal_hr_employees/__init__.py new file mode 100644 index 00000000000..f0abe52049a --- /dev/null +++ b/addons/portal_hr_employees/__init__.py @@ -0,0 +1,22 @@ +# -*- 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/>. +# +############################################################################## + +import hr_employee diff --git a/addons/portal_hr_employees/__openerp__.py b/addons/portal_hr_employees/__openerp__.py new file mode 100644 index 00000000000..ec883e78acf --- /dev/null +++ b/addons/portal_hr_employees/__openerp__.py @@ -0,0 +1,46 @@ +# -*- 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/>. +# +############################################################################## + + +{ + 'name': 'Portal HR employees', + 'version': '0.1', + 'category': 'Tools', + 'complexity': "easy", + 'description': """ +This module adds a list of employees to your portal's contact page if hr and +portal_crm (which creates the contact page) are installed. + """, + 'author': 'OpenERP SA', + 'depends': ['hr','portal_crm'], + 'data': [ + 'hr_employee_view.xml', + 'security/ir.model.access.csv', + ], + 'installable': True, + 'auto_install':True, + 'category':'Hidden', + 'css': [ + 'static/src/css/portal_hr_employees.css', + ], + +} +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/portal_hr_employees/hr_employee.py b/addons/portal_hr_employees/hr_employee.py new file mode 100644 index 00000000000..b54e544a744 --- /dev/null +++ b/addons/portal_hr_employees/hr_employee.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2011 OpenERP S.A (<http://www.openerp.com>). +# +# 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 osv, fields + +class crm_contact_us(osv.TransientModel): + """ Add employees list to the portal's contact page """ + _description = 'Contact form for the portal' + _inherit = 'portal_crm.crm_contact_us' + _columns = { + 'employee_ids' : fields.many2many('hr.employee', string='Employees', readonly=True), + } + + """ Little trick to display employees in our wizard view """ + def _get_employee(self, cr, uid, context=None): + """ Employees flagged as 'private' won't appear on the contact page """ + r = self.pool.get('hr.employee').search(cr, uid, [('visibility', '!=', 'private')], context=context) + return r + + _defaults = { + 'employee_ids' : _get_employee, + } + +class hr_employee(osv.osv): + _description = 'Portal employee' + _inherit = 'hr.employee' + + """ + ``visibility``: defines if the employee appears on the portal's contact page + - 'public' means the employee will appear for everyone (anonymous) + - 'private' means the employee won't appear + """ + _columns = { + 'visibility': fields.selection([('public', 'Public'),('private', 'Private')], + string='Visibility', help='Employee\'s visibility in the portal\'s contact page'), + } + _defaults = { + 'visibility': 'private', + } diff --git a/addons/portal_hr_employees/hr_employee_view.xml b/addons/portal_hr_employees/hr_employee_view.xml new file mode 100644 index 00000000000..849157ad44a --- /dev/null +++ b/addons/portal_hr_employees/hr_employee_view.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> + <data> + + <!-- add visibility field to the employee form view --> + <record id="view_employee_form" model="ir.ui.view"> + <field name="name">portal_hr_employees.employee.form</field> + <field name="model">hr.employee</field> + <field name="type">form</field> + <field name="inherit_id" ref="hr.view_employee_form"/> + <field name="arch" type="xml"> + <xpath expr="//page[last()]" position="after"> + <page string="Portal Settings"> + <group> + <field name="visibility"/> + </group> + </page> + </xpath> + </field> + </record> + + <!-- a kanban view of the employees to the portal's contact page --> + <record id="wizard_contact_form_view_employees_list" model="ir.ui.view"> + <field name="name">portal_hr_employees.employees_list</field> + <field name="model">portal_crm.crm_contact_us</field> + <field name="type">form</field> + <field name="inherit_id" ref="portal_crm.wizard_contact_form_view"/> + <field name="arch" type="xml"> + <xpath expr="//div[@class='oe_portal_crm_team']" position="inside"> + <h1>Meet the team</h1> + <field name="employee_ids" widget="many2many_kanban"> + <kanban> + <field name="visibility"/> + + <templates> + <t t-name="kanban-box"> + <div class="oe_employee_vignette"> + <div class="oe_employee_image"> + <img t-att-src="kanban_image('hr.employee', 'photo', record.id.value)" class="oe_employee_picture"/> + </div> + <div class="oe_employee_details"> + <h4> + <a type="edit"><field name="name"/><t t-if="record.login.raw_value"> (<field name="login"/>)</t></a> + </h4> + <ul> + <li t-if="record.job_id.raw_value"><field name="job_id"/></li> + <li t-if="record.work_phone.raw_value">Tel: <field name="work_phone"/></li> + <li t-if="record.mobile_phone.raw_value">Mobile: <field name="mobile_phone"/></li> + <li t-if="record.work_email.raw_value"><a t-attf-href="mailto:#{record.work_email.value}"><field name="work_email"/></a></li> + </ul> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </xpath> + </field> + </record> + + </data> +</openerp> diff --git a/addons/portal_hr_employees/security/ir.model.access.csv b/addons/portal_hr_employees/security/ir.model.access.csv new file mode 100644 index 00000000000..6131f49d749 --- /dev/null +++ b/addons/portal_hr_employees/security/ir.model.access.csv @@ -0,0 +1,6 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_hr_employee_user,hr.employee user,hr.model_hr_employee,portal.group_portal_member,1,0,0,0 +access_res_partner,res.partner,base.model_res_partner,portal.group_portal_member,1,0,0,0 +access_res_partner_address,res.partner_address,base.model_res_partner_address,portal.group_portal_member,1,0,0,0 +access_res_partner_category,res.partner_category,base.model_res_partner_category,portal.group_portal_member,1,0,0,0 +access_res_partner_title,res.partner_title,base.model_res_partner_title,portal.group_portal_member,1,0,0,0 diff --git a/addons/portal_hr_employees/static/src/css/portal_hr_employees.css b/addons/portal_hr_employees/static/src/css/portal_hr_employees.css new file mode 100644 index 00000000000..351fd442f20 --- /dev/null +++ b/addons/portal_hr_employees/static/src/css/portal_hr_employees.css @@ -0,0 +1,14 @@ +/* Employees list section */ +.openerp .oe_portal_crm_contact .oe_kanban_groups { + width: 100%; +} +.openerp .oe_portal_crm_contact .oe_portal_crm_team { + padding: 8px 0 0 0; +} +.openerp .oe_portal_crm_contact .oe_portal_crm_team .oe_employee_details { + width: 170px; +} +.openerp .oe_portal_crm_contact .oe_portal_crm_team .oe_employee_image { + width: 65px; + height: 65px; +} diff --git a/addons/portal_hr_recruitment/__openerp__.py b/addons/portal_hr_recruitment/__openerp__.py index 015e76d3d06..0b7fb78b7f0 100644 --- a/addons/portal_hr_recruitment/__openerp__.py +++ b/addons/portal_hr_recruitment/__openerp__.py @@ -21,13 +21,12 @@ { - 'name': 'Portal Jobs', + 'name': 'Portal HR recruitment', 'version': '0.1', 'category': 'Tools', 'complexity': "easy", 'description': """ -This module adds applications menu and features to your portal if hr and portal -are installed. +This module adds a jobs page to your portal if hr and portal are installed. """, 'author': 'OpenERP SA', 'depends': ['hr','portal'], diff --git a/addons/portal_hr_recruitment/portal_jobs_view.xml b/addons/portal_hr_recruitment/portal_jobs_view.xml index 30976fc1954..e3e9cffb063 100644 --- a/addons/portal_hr_recruitment/portal_jobs_view.xml +++ b/addons/portal_hr_recruitment/portal_jobs_view.xml @@ -2,8 +2,8 @@ <openerp> <data> - <menuitem name="Jobs" id="portal_company_jobs" - parent="portal.portal_company" action="hr.action_hr_job" + <menuitem name="Jobs" id="portal_company_jobs" + parent="portal.portal_company" action="hr.action_hr_job" sequence="20"/> </data> diff --git a/addons/portal_project/__openerp__.py b/addons/portal_project/__openerp__.py index f90c0cf9df2..4f8774bf99e 100644 --- a/addons/portal_project/__openerp__.py +++ b/addons/portal_project/__openerp__.py @@ -21,12 +21,12 @@ { - 'name': 'Portal Issue', + 'name': 'Portal Project', 'version': '0.1', 'category': 'Tools', 'complexity': "easy", 'description': """ -This module adds project menu and features (tasks) to your portal if project +This module adds project menu and features (tasks) to your portal if project and portal are installed. """, 'author': 'OpenERP SA', diff --git a/addons/portal_project/security/ir.model.access.csv b/addons/portal_project/security/ir.model.access.csv index 212230634c3..dceca5ba8bb 100644 --- a/addons/portal_project/security/ir.model.access.csv +++ b/addons/portal_project/security/ir.model.access.csv @@ -2,3 +2,4 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_task,tasks,project.model_project_task,portal.group_portal_member,1,0,0,0 access_task_type,task_type,project.model_project_task_type,portal.group_portal_member,1,0,0,0 access_task_work,task_work,project.model_project_task_work,portal.group_portal_member,1,0,0,0 +access_project_category,project_category,project.model_project_category,portal.group_portal_member,1,0,0,0 diff --git a/addons/portal_project/security/portal_security.xml b/addons/portal_project/security/portal_security.xml index f9983861c68..b995c79bbbc 100644 --- a/addons/portal_project/security/portal_security.xml +++ b/addons/portal_project/security/portal_security.xml @@ -3,7 +3,7 @@ <data noupdate="1"> <record id="portal_task_rule" model="ir.rule"> - <field name="name">Personal Task</field> + <field name="name">Portal Personal Task</field> <field ref="project.model_project_task" name="model_id"/> <field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field> <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/> diff --git a/addons/portal_project_issue/__openerp__.py b/addons/portal_project_issue/__openerp__.py index d1be2ec604d..17ba4b0d5aa 100644 --- a/addons/portal_project_issue/__openerp__.py +++ b/addons/portal_project_issue/__openerp__.py @@ -26,7 +26,7 @@ 'category': 'Tools', 'complexity': "easy", 'description': """ -This module adds issue menu and features to your portal if project_issue and +This module adds issue menu and features to your portal if project_issue and portal are installed. """, 'author': 'OpenERP SA', @@ -39,5 +39,8 @@ portal are installed. 'installable': True, 'auto_install':True, 'category':'Hidden', + 'css': [ + 'static/src/css/portal_project_issue.css', + ], } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/portal_project_issue/portal_project_issue_view.xml b/addons/portal_project_issue/portal_project_issue_view.xml index fdbf1037c20..54e7038ed8d 100644 --- a/addons/portal_project_issue/portal_project_issue_view.xml +++ b/addons/portal_project_issue/portal_project_issue_view.xml @@ -2,12 +2,71 @@ <openerp> <data> + <record id="portal_project_issue_kanban_view" model="ir.ui.view"> + <field name="name">Project Issue Kanban</field> + <field name="model">project.issue</field> + <field name="type">kanban</field> + <field name="arch" type="xml"> + <kanban version="7.0" class="oe_portal_project_issue"> + <field name="priority"/> + <field name="user_email"/> + <field name="user_id"/> + <field name="date_deadline"/> + <field name="create_date"/> + <field name="categ_ids"/> + <templates> + <t t-name="kanban-box"> + <div class="oe_kanban_card oe_kanban_global_click"> + <div class="oe_kanban_content"> + <div> + <h1><a type="edit"><field name="name"/></a></h1> + <field name="partner_id"/> <br/> + <field name="version_id"/> + </div> + <div class="oe_kanban_footer_left"> + <div class="oe_left oe_tags"> + <t t-foreach="record.categ_ids.raw_value" t-as="categ_id"> + <span class="oe_tag" t-att-data-categ_id="categ_id"></span> + </t> + </div> + <div class="oe_right"> + Creation: <field name="create_date"/> + <span class="oe_kanban_highlight"> + <t t-set="priority" t-value="record.priority.raw_value || 5"/> + <a type="object" name="set_priority" args="['3']" t-if="priority gt 3" title="Normal Priority"> + <img src="/web/static/src/img/icons/star-off.png" width="16" height="16"/> + </a> + <a type="object" name="set_priority" args="['5']" t-if="priority lte 3" title="Normal Priority"> + <img t-attf-src="/web/static/src/img/icons/star-#{priority lte 3 ? 'on' : 'off'}.png" width="16" height="16"/> + </a> + <a type="object" name="set_priority" args="['2']" title="High Priority"> + <img t-attf-src="/web/static/src/img/icons/star-#{priority lte 2 ? 'on' : 'off'}.png" width="16" height="16"/> + </a> + <a type="object" name="set_priority" args="['1']" title="Highest Priority"> + <img t-attf-src="/web/static/src/img/icons/star-#{priority == 1 ? 'on' : 'off'}.png" width="16" height="16"/> + </a> + </span> + <t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())"> + <span t-attf-class="oe_kanban_status oe_kaban_status_red"> </span> + </t> + <img t-att-src="kanban_image('res.users', 'avatar', record.user_id.raw_value[0])" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/> + </div> + </div> + </div> + <div class="oe_clear"></div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + <record id="project_issue_categ_act0" model="ir.actions.act_window"> <field name="name">Issues</field> <field name="res_model">project.issue</field> <field name="view_type">form</field> - <field name="view_mode">kanban,tree,calendar</field> - <field name="view_id" eval="False"/> + <field name="view_mode">kanban,form</field> + <field name="view_id" ref="portal_project_issue_kanban_view"/> <field name="domain" eval=""/> <field name="context">{"search_default_user_id":'', "search_default_draft":'', "search_default_todo":''}</field> <field name="search_view_id" ref="project_issue.view_project_issue_filter"/> diff --git a/addons/portal_project_issue/security/ir.model.access.csv b/addons/portal_project_issue/security/ir.model.access.csv index 8ddfff0f398..5257f9b6d02 100644 --- a/addons/portal_project_issue/security/ir.model.access.csv +++ b/addons/portal_project_issue/security/ir.model.access.csv @@ -1,2 +1,3 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_issues,project_issue,project_issue.model_project_issue,portal.group_portal_member,1,0,1,0 +access_issues,project_issue,project_issue.model_project_issue,portal.group_portal_member,1,0,0,0 +access_case_section,crm_case_section,crm.model_crm_case_section,portal.group_portal_member,1,0,0,0 diff --git a/addons/portal_project_issue/security/portal_security.xml b/addons/portal_project_issue/security/portal_security.xml index 1bae1ef8e8c..4ef8da5e4b6 100644 --- a/addons/portal_project_issue/security/portal_security.xml +++ b/addons/portal_project_issue/security/portal_security.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <openerp> <data noupdate="1"> - + <record id="portal_issue_rule" model="ir.rule"> - <field name="name">Personal Issues</field> + <field name="name">Portal Personal Issues</field> <field ref="project_issue.model_project_issue" name="model_id"/> <field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field> <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/> diff --git a/addons/portal_project_issue/static/src/css/portal_project_issue.css b/addons/portal_project_issue/static/src/css/portal_project_issue.css new file mode 100644 index 00000000000..39c12c6076d --- /dev/null +++ b/addons/portal_project_issue/static/src/css/portal_project_issue.css @@ -0,0 +1,32 @@ +.oe_portal_project_issue { + width: 960px; + margin: 0 auto; +} + +.oe_portal_project_issue .oe_kanban_groups { + width: 100%; +} + +.oe_portal_project_issue .oe_fold_column.oe_kanban_record { + float: none; + display: block; + width: 100%; + border-width: 1px; + border-radius: 4px; + border-style: solid; + border-bottom-color: #B9B9B9; + border-left-color: #D8D8D8; + border-right-color: #D8D8D8; + border-top-color: #D8D8D8; + margin-bottom: 5px; +} + +.oe_portal_project_issue .oe_fold_column.oe_kanban_record .oe_kanban_content { + padding: 5px; +} + +.oe_portal_project_issue .oe_fold_column.oe_kanban_record h1 { + margin: 0; + font-size: 1.2em; + font-weight: bold; +} diff --git a/addons/portal_sale/portal_sale_view.xml b/addons/portal_sale/portal_sale_view.xml index a644be7be61..7743573fda6 100644 --- a/addons/portal_sale/portal_sale_view.xml +++ b/addons/portal_sale/portal_sale_view.xml @@ -4,10 +4,10 @@ <record id="action_picking_tree" model="ir.actions.act_window"> <field name="name">Delivery Orders</field> - <field name="res_model">stock.picking</field> + <field name="res_model">stock.picking.out</field> <field name="type">ir.actions.act_window</field> <field name="view_type">form</field> - <field name="view_mode">tree</field> + <field name="view_mode">tree,form</field> <field name="domain">[('type','=','out')]</field> <field name="context">{'default_type': 'out', 'contact_display': 'partner_address'}</field> <field name="search_view_id" ref="stock.view_picking_out_search"/> @@ -25,18 +25,18 @@ <field name="help">You must define a Product for everything you buy or sell. Products can be raw materials, stockable products, consumables or services. The Product form contains detailed information about your products related to procurement logistics, sales price, product category, suppliers and so on.</field> </record> - <menuitem name="Quotations" id="portal_quotations" parent="portal.portal_orders" + <menuitem name="Quotations" id="portal_quotations" parent="portal.portal_orders" action="sale.action_order_tree5" sequence="10"/> - <menuitem name="Sales Orders" id="portal_sales_orders" parent="portal.portal_orders" + <menuitem name="Sales Orders" id="portal_sales_orders" parent="portal.portal_orders" action="sale.action_order_form" sequence="20"/> - <menuitem name="Delivery Orders" id="portal_delivery" parent="portal.portal_orders" + <menuitem name="Delivery Orders" id="portal_delivery" parent="portal.portal_orders" action="action_picking_tree" sequence="30"/> - <menuitem name="Products" id="portal_products" parent="portal.portal_orders" + <menuitem name="Products" id="portal_products" parent="portal.portal_orders" action="product_normal_action" sequence="40"/> - <menuitem name="Invoice" id="portal_invoices" parent="portal.portal_invoices_payements" + <menuitem name="Invoice" id="portal_invoices" parent="portal.portal_invoices_payements" action="account.action_invoice_tree1" sequence="10"/> - <menuitem name="Refund/Payments" id="portal_payments" parent="portal.portal_invoices_payements" + <menuitem name="Refund/Payments" id="portal_payments" parent="portal.portal_invoices_payements" action="account_voucher.action_vendor_receipt" sequence="20"/> </data> diff --git a/addons/portal_sale/security/ir.model.access.csv b/addons/portal_sale/security/ir.model.access.csv index 5a016f00a05..32266499af7 100644 --- a/addons/portal_sale/security/ir.model.access.csv +++ b/addons/portal_sale/security/ir.model.access.csv @@ -2,6 +2,7 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_sale_order,sale.order,sale.model_sale_order,portal.group_portal_member,1,0,0,0 access_sale_order_line,sale.order.line,sale.model_sale_order_line,portal.group_portal_member,1,0,0,0 access_stock_picking,stock.picking,stock.model_stock_picking,portal.group_portal_member,1,0,0,0 +access_stock_picking.out,stock.picking.out,stock.model_stock_picking_out,portal.group_portal_member,1,0,0,0 access_stock_move,stock.move,stock.model_stock_move,portal.group_portal_member,1,0,0,0 access_stock_warehouse_orderpoint,stock.warehouse.orderpoint,procurement.model_stock_warehouse_orderpoint,portal.group_portal_member,1,0,0,0 access_account_invoice,account.invoice,account.model_account_invoice,portal.group_portal_member,1,0,0,0 diff --git a/addons/portal_sale/security/portal_security.xml b/addons/portal_sale/security/portal_security.xml index 43e6867dfd9..f69fd283db6 100644 --- a/addons/portal_sale/security/portal_security.xml +++ b/addons/portal_sale/security/portal_security.xml @@ -1,39 +1,45 @@ <?xml version="1.0" encoding="utf-8"?> <openerp> - <data noupdate="1"> + <data noupdate="1"> <!-- Sale Portal Access Rules --> - <record id="portal_sale_order_user_rule" model="ir.rule"> - <field name="name">Personal Quotations/Sales Orders</field> + <field name="name">Portal Personal Quotations/Sales Orders</field> <field ref="sale.model_sale_order" name="model_id"/> <field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field> <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/> </record> <record id="portal_stock_picking_user_rule" model="ir.rule"> - <field name="name">Personal Delivery Orders</field> + <field name="name">Portal Personal Delivery Orders</field> <field ref="stock.model_stock_picking" name="model_id"/> <field name="domain_force">[('partner_id','child_of',[user.partner_id.id])]</field> <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/> </record> + <record id="portal_stock_picking_user_rule" model="ir.rule"> + <field name="name">Portal Personal Delivery Orders Out</field> + <field ref="stock.model_stock_picking_out" name="model_id"/> + <field name="domain_force">[('partner_id','child_of',[user.partner_id.id])]</field> + <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/> + </record> + <record id="portal_account_invoice_user_rule" model="ir.rule"> - <field name="name">Personal Account Invoices</field> + <field name="name">Portal Personal Account Invoices</field> <field ref="account.model_account_invoice" name="model_id"/> <field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field> <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/> </record> <record id="portal_personal_payment" model="ir.rule"> - <field name="name">Personal Payments</field> + <field name="name">Portal Personal Payments</field> <field ref="account_voucher.model_account_voucher" name="model_id"/> <field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field> <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/> </record> <record id="portal_personal_contact" model="ir.rule"> - <field name="name">Personal Contacts</field> + <field name="name">Portal Personal Contacts</field> <field ref="base.model_res_partner" name="model_id"/> <field name="domain_force">[('id','child_of',user.partner_id.id)]</field> <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/> diff --git a/addons/process/process_view.xml b/addons/process/process_view.xml index c5c152f9930..66dcb87289a 100644 --- a/addons/process/process_view.xml +++ b/addons/process/process_view.xml @@ -113,12 +113,8 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Process"> - <group> - <field name="name" string="Process"/> - <separator orientation="vertical"/> - <field name="model_id"/> - </group> - <newline/> + <field name="name" string="Process"/> + <field name="model_id"/> <group expand="0" string="Group By..."> <filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model_id'}"/> </group> @@ -217,13 +213,9 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search ProcessNode"> - <group> - <field name="name" string="Process Node"/> - <separator orientation="vertical"/> - <field name="model_id"/> - <field name="kind" /> - </group> - <newline/> + <field name="name" string="Process Node"/> + <field name="kind" /> + <field name="model_id"/> <group expand="0" string="Group By..."> <filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model_id'}"/> <filter string="Kind Of Node" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'kind'}"/> @@ -310,12 +302,9 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Process Transition"> - <group> - <field name="name" string="Process Transition"/> - <separator orientation="vertical"/> - <field name="source_node_id"/> - <field name="target_node_id"/> - </group> + <field name="name" string="Process Transition"/> + <field name="source_node_id"/> + <field name="target_node_id"/> <!-- <newline/> <group expand="0" string="Group By..." colspan="4" col="4"> diff --git a/addons/procurement/procurement_view.xml b/addons/procurement/procurement_view.xml index fe2b1d0ca69..93e7a39088a 100644 --- a/addons/procurement/procurement_view.xml +++ b/addons/procurement/procurement_view.xml @@ -117,22 +117,16 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Procurement"> - <group> - <field name="origin" string="Procurement"/> - <separator orientation="vertical"/> - <field name="date_planned"/> - <separator orientation="vertical"/> - <filter icon="terp-emblem-important" string="Exceptions" name="exceptions" domain="[('state','=','exception')]" help="Procurement Exceptions"/> - <filter icon="terp-emblem-important" string="To Fix" name="perm_exceptions" domain="[('state','=','exception'),('message', '!=', '')]" help="Permanent Procurement Exceptions"/> - <filter icon="terp-emblem-important" string="Temporary" name="temp_exceptions" domain="[('state','=','exception'),('message', '=', '')]" help="Temporary Procurement Exceptions"/> - <filter icon="terp-gnome-cpu-frequency-applet+" string="Late" - domain="['&', ('date_planned','<', current_date), ('state', 'in', ('draft', 'confirmed'))]" - help="Procurement started late" /> - <separator orientation="vertical"/> - <field name="product_id" /> - <field name="state" /> - </group> - <newline/> + <field name="origin" string="Procurement"/> + <field name="date_planned"/> + <filter icon="terp-emblem-important" string="Exceptions" name="exceptions" domain="[('state','=','exception')]" help="Procurement Exceptions"/> + <separator/> + <filter icon="terp-emblem-important" string="To Fix" name="perm_exceptions" domain="[('state','=','exception'),('message', '!=', '')]" help="Permanent Procurement Exceptions"/> + <filter icon="terp-emblem-important" string="Temporary" name="temp_exceptions" domain="[('state','=','exception'),('message', '=', '')]" help="Temporary Procurement Exceptions"/> + <separator/> + <filter icon="terp-gnome-cpu-frequency-applet+" string="Late" domain="['&', ('date_planned','<', current_date), ('state', 'in', ('draft', 'confirmed'))]" help="Procurement started late" /> + <field name="product_id" /> + <field name="state" /> <group expand="0" string="Group By"> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> <filter string="Reason" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'name'}"/> @@ -198,15 +192,11 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Reordering Rules Search"> - <group> - <field name="name" string="Reordering Rules"/> - <separator orientation="vertical"/> - <field name="warehouse_id" widget="selection"/> - <field name="location_id" groups="stock.group_locations"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - <field name="product_id"/> - </group> - <newline/> + <field name="name" string="Reordering Rules"/> + <field name="warehouse_id"/> + <field name="location_id" groups="stock.group_locations"/> + <field name="company_id" groups="base.group_multi_company"/> + <field name="product_id"/> <group expand="0" string="Group By..."> <filter string="Warehouse" icon="terp-go-home" domain="[]" context="{'group_by':'warehouse_id'}"/> <filter string="Location" icon="terp-go-home" domain="[]" context="{'group_by':'location_id'}"/> diff --git a/addons/product/pricelist_view.xml b/addons/product/pricelist_view.xml index 0492881d9bd..529add848bf 100644 --- a/addons/product/pricelist_view.xml +++ b/addons/product/pricelist_view.xml @@ -113,10 +113,9 @@ <field name="arch" type="xml"> <search string="Products Price Search"> <field name="name" string="Products Price"/> - <separator orientation="vertical"/> - <field name="currency_id"/> <field name="type"/> <field name="active" /> + <field name="currency_id"/> </search> </field> </record> diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml index 53e57f14309..e182cb01bed 100644 --- a/addons/product/product_view.xml +++ b/addons/product/product_view.xml @@ -10,29 +10,25 @@ <field name="arch" type="xml"> <search string="Product"> <field name="name" string="Product" filter_domain="['|',('name','ilike',self),('default_code','ilike',self)]"/> - <separator orientation="vertical"/> <filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/> <filter string="Products" icon="terp-accessories-archiver" domain="['|',('type','=','product'),('type','=','consu')]" help="Both stockable and consumable products"/> + <separator/> + <filter string="To Sell" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/> + <separator/> + <filter name="filter_to_purchase" string="To Purchase" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]"/> <filter string="Can be Sold" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/> <filter name="filter_to_purchase" string="Can be Purchased" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]"/> - <separator orientation="vertical"/> - <field name="categ_id" widget="selection" operator="child_of"/> + <field name="categ_id" operator="child_of"/> <group expand="0" string="Context..."> - <field name="pricelist_id" widget="selection" context="{'pricelist': self}" groups="product.group_sale_pricelist"/> - <separator orientation="vertical" groups="base.group_multi_company"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> + <field name="pricelist_id" context="{'pricelist': self}" groups="product.group_sale_pricelist"/> + <field name="company_id" groups="base.group_multi_company"/> </group> - <newline/> <group expand='0' string='Group by...'> <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}"/> - <separator orientation="vertical"/> <filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'uom_id'}"/> - <separator orientation="vertical"/> <filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string='Company' icon="terp-go-home" domain="[]" context="{'group_by' : 'company_id'}" groups="base.group_multi_company"/> </group> - </search> </field> </record> @@ -73,7 +69,7 @@ <div class="oe_title"> <div class="oe_edit_only"> - <label for="name" string="Product Name"/> + <label for="name" string="Product Name"/> </div> <h1> <field name="name"/> @@ -95,12 +91,12 @@ </group> <group string="Procurement"> <field name="type"/> - <field name="procure_method"/> + <field name="procure_method" groups="base.group_user"/> <field name="supply_method" groups="base.group_user"/> </group> <group string="Prices"> <field name="list_price"/> - <field name="cost_method"/> + <field name="cost_method" groups="base.group_user"/> <field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}"/> <field name="price_margin" groups="product.group_product_variant"/> <field name="price_extra" groups="product.group_product_variant"/> @@ -301,7 +297,6 @@ <field name="arch" type="xml"> <search string="Product Categories"> <field name="name" string="Product Categories"/> - <separator orientation="vertical"/> <field name="parent_id"/> </search> </field> diff --git a/addons/product_visible_discount/product_visible_discount_view.xml b/addons/product_visible_discount/product_visible_discount_view.xml index 6607fe3e9b4..2bb9e7b9b12 100644 --- a/addons/product_visible_discount/product_visible_discount_view.xml +++ b/addons/product_visible_discount/product_visible_discount_view.xml @@ -2,9 +2,7 @@ <openerp> <data> - #--------------------------------------------------------- - # product price list - #--------------------------------------------------------- + <!-- Product price list --> <record model="ir.ui.view" id="product_pricelist_view_tree"> <field name="name">product.pricelist.tree</field> <field name="model">product.pricelist</field> @@ -26,5 +24,6 @@ </field> </field> </record> + </data> -</openerp>
\ No newline at end of file +</openerp> diff --git a/addons/project/project.py b/addons/project/project.py index 09b260597f6..dda2b86c8bb 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -220,7 +220,7 @@ class project(osv.osv): 'followers': fields.function(_get_followers, method=True, fnct_search=_search_followers, type='many2many', relation='res.users', string='Followers'), } - + def dummy(self, cr, uid, ids, context): return True @@ -566,7 +566,7 @@ class task(base_stage, osv.osv): # restore order of the search result.sort(lambda x,y: cmp(stage_ids.index(x[0]), stage_ids.index(y[0]))) return result - + def _read_group_user_id(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None): res_users = self.pool.get('res.users') project_id = self._resolve_project_id_from_context(cr, uid, context=context) @@ -700,6 +700,7 @@ class task(base_stage, osv.osv): When the case is over, the state is set to \'Done\'.\ If the case needs to be reviewed then the state is \ set to \'Pending\'.'), + 'categ_ids': fields.many2many('project.category', string='Categories'), 'kanban_state': fields.selection([('normal', 'Normal'),('blocked', 'Blocked'),('done', 'Ready To Pull')], 'Kanban State', help="A task's kanban state indicates special situations affecting it:\n" " * Normal is the default situation\n" @@ -903,7 +904,7 @@ class task(base_stage, osv.osv): return True def action_close(self, cr, uid, ids, context=None): - """ This action closes the task + """ This action closes the task """ task_id = len(ids) and ids[0] or False self._check_child_task(cr, uid, ids, context=context) @@ -913,7 +914,7 @@ class task(base_stage, osv.osv): def do_close(self, cr, uid, ids, context=None): """ Compatibility when changing to case_close. """ return self.case_close(cr, uid, ids, context=context) - + def case_close(self, cr, uid, ids, context=None): """ Closes Task """ if not isinstance(ids, list): ids = [ids] @@ -946,7 +947,7 @@ class task(base_stage, osv.osv): def do_cancel(self, cr, uid, ids, context=None): """ Compatibility when changing to case_cancel. """ return self.case_cancel(cr, uid, ids, context=context) - + def case_cancel(self, cr, uid, ids, context=None): tasks = self.browse(cr, uid, ids, context=context) self._check_child_task(cr, uid, ids, context=context) @@ -958,7 +959,7 @@ class task(base_stage, osv.osv): def do_open(self, cr, uid, ids, context=None): """ Compatibility when changing to case_open. """ return self.case_open(cr, uid, ids, context=context) - + def case_open(self, cr, uid, ids, context=None): if not isinstance(ids,list): ids = [ids] self.case_set(cr, uid, ids, 'open', {'date_start': fields.datetime.now()}, context=context) @@ -968,7 +969,7 @@ class task(base_stage, osv.osv): def do_draft(self, cr, uid, ids, context=None): """ Compatibility when changing to case_draft. """ return self.case_draft(cr, uid, ids, context=context) - + def case_draft(self, cr, uid, ids, context=None): self.case_set(cr, uid, ids, 'draft', {}, context=context) self.case_draft_send_note(cr, uid, ids, context=context) @@ -977,11 +978,11 @@ class task(base_stage, osv.osv): def do_pending(self, cr, uid, ids, context=None): """ Compatibility when changing to case_pending. """ return self.case_pending(cr, uid, ids, context=context) - + def case_pending(self, cr, uid, ids, context=None): self.case_set(cr, uid, ids, 'pending', {}, context=context) return self.case_pending_send_note(cr, uid, ids, context=context) - + def _delegate_task_attachments(self, cr, uid, task_id, delegated_task_id, context=None): attachment = self.pool.get('ir.attachment') attachment_ids = attachment.search(cr, uid, [('res_model', '=', self._name), ('res_id', '=', task_id)], context=context) @@ -1083,7 +1084,7 @@ class task(base_stage, osv.osv): new_stage = vals.get('stage_id') vals_reset_kstate = dict(vals, kanban_state='normal') for t in self.browse(cr, uid, ids, context=context): - #TO FIX:Kanban view doesn't raise warning + #TO FIX:Kanban view doesn't raise warning #stages = [stage.id for stage in t.project_id.type_ids] #if new_stage not in stages: #raise osv.except_osv(_('Warning !'), _('Stage is not defined in the project.')) @@ -1130,7 +1131,7 @@ class task(base_stage, osv.osv): result += "\n" return result - + # --------------------------------------------------- # OpenChatter methods and notifications # --------------------------------------------------- @@ -1367,3 +1368,11 @@ class project_task_history_cumulative(osv.osv): ) """) + +class project_category(osv.osv): + """ Category of project's task (or issue) """ + _name = "project.category" + _description = "Category of project's task, issue, ..." + _columns = { + 'name': fields.char('Name', size=64, required=True, translate=True), + } diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml index 7f96ff87198..1f9885d9151 100644 --- a/addons/project/project_demo.xml +++ b/addons/project/project_demo.xml @@ -2,50 +2,50 @@ <openerp> <data noupdate="1"> - <!-- Users --> + <!-- Users --> <record id="base.user_demo" model="res.users"> - <field eval="[(4, ref('base.group_sale_salesman')),(4, ref('group_project_user'))]" name="groups_id"/> + <field name="groups_id" eval="[(4, ref('base.group_sale_salesman')),(4, ref('group_project_user'))]"/> </record> <record id="base.user_niv" model="res.users"> <field name="name">Nicolas</field> - <field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_manager')])]" name="groups_id"/> + <field name="groups_id" eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_manager')])]"/> <field name="login">niv</field> <field name="password">niv</field> </record> <record id="base.user_al" model="res.users"> <field name="name">Antony</field> - <field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_manager')])]" name="groups_id"/> + <field name="groups_id" eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_manager')])]"/> <field name="login">al</field> <field name="password">al</field> </record> <record id="base.user_qdp" model="res.users"> <field name="name">Quentin</field> - <field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]" name="groups_id"/> + <field name="groups_id" eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]"/> <field name="login">qdp</field> <field name="password">qdp</field> </record> <record id="base.user_fpi" model="res.users"> <field name="name">Francois</field> - <field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]" name="groups_id"/> + <field name="groups_id" eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]"/> <field name="login">fpi</field> <field name="password">fpi</field> </record> <record id="base.user_jth" model="res.users"> <field name="name">Julien</field> - <field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]" name="groups_id"/> + <field name="groups_id" eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]"/> <field name="login">jth</field> <field name="password">jth</field> </record> <record id="base.user_mit" model="res.users"> <field name="name">Minh</field> - <field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]" name="groups_id"/> + <field name="groups_id" eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]"/> <field name="login">mit</field> <field name="password">mit</field> </record> <record id="base.user_vad" model="res.users"> <field name="name">Valérie</field> - <field eval="[(6, 0, [ref('base.group_user')])]" name="groups_id"/> + <field name="groups_id" eval="[(6, 0, [ref('base.group_user')])]"/> <field name="login">vad</field> <field name="password">vad</field> </record> @@ -56,68 +56,83 @@ <field name="state">open</field> <field name="type">normal</field> <field name="description">Integrate a Sale and Warehouse Management.</field> - <field eval="[(6, 0, [ + <field name="members" eval="[(6, 0, [ ref('base.user_niv'), ref('base.user_al'), ref('base.user_qdp'), ref('base.user_fpi'), ref('base.user_jth'), ref('base.user_mit'), - ref('base.user_vad')])]" name="members"/> + ref('base.user_vad')])]"/> <field name="user_id" ref="base.user_al"/> <field name="name">Integrate a Sale and Warehouse Management.</field> </record> - <!-- Tasks --> + <!-- Categories --> + <record id="project_category_01" model="project.category"> + <field name="name">Partner's suggestion</field> + </record> + <record id="project_category_02" model="project.category"> + <field name="name">Feature request</field> + </record> + <record id="project_category_03" model="project.category"> + <field name="name">Experiment</field> + </record> + <record id="project_category_04" model="project.category"> + <field name="name">Usability</field> + </record> + <!-- Tasks --> <record id="project_task_1" model="project.task"> - <field eval="100.0" name="planned_hours"/> - <field eval="100.0" name="remaining_hours"/> + <field name="planned_hours" eval="100.0"/> + <field name="remaining_hours" eval="100.0"/> <field name="user_id" ref="base.user_niv"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> <field name="name">Prepare Requirements Document</field> <field name="stage_id" ref="project_tt_specification"/> <field name="color">3</field> + <field name="categ_ids" eval="[(6, 0, [ + ref('project.project_category_02')])]"/> </record> - <record id="project_task_2" model="project.task"> - <field eval="80.0" name="planned_hours"/> - <field eval="80.0" name="remaining_hours"/> + <field name="planned_hours" eval="80.0"/> + <field name="remaining_hours" eval="80.0"/> <field name="user_id" ref="base.user_niv"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> <field name="name">Make SRS</field> <field name="stage_id" ref="project_tt_specification"/> </record> - <record id="project_task_3" model="project.task"> - <field eval="40.0" name="planned_hours"/> - <field eval="40.0" name="remaining_hours"/> + <field name="planned_hours" eval="40.0"/> + <field name="remaining_hours" eval="40.0"/> <field name="user_id" ref="base.user_al"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> <field name="name">Design Use Cases</field> <field name="date_deadline" eval="time.strftime('%Y-%m-24')"/> <field name="stage_id" ref="project_tt_specification"/> + <field name="color">4</field> + <field name="categ_ids" eval="[(6, 0, [ + ref('project_category_02'), + ref('project_category_04')])]"/> </record> - <record id="project_task_4" model="project.task"> - <field eval="25.0" name="planned_hours"/> - <field eval="25.0" name="remaining_hours"/> + <field name="planned_hours" eval="25.0"/> + <field name="remaining_hours" eval="25.0"/> <field name="user_id" ref="base.user_al"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> <field name="name">Budget Planning</field> <field name="description">Use the account_budget module</field> <field name="date_deadline" eval="time.strftime('%Y-%m-19')"/> - <field name="color">3</field> + <field name="color">5</field> <field name="stage_id" ref="project_tt_specification"/> </record> - <record id="project_task_5" model="project.task"> - <field eval="25.0" name="planned_hours"/> - <field eval="25.0" name="remaining_hours"/> + <field name="planned_hours" eval="25.0"/> + <field name="remaining_hours" eval="25.0"/> <field name="user_id" ref="base.user_al"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> @@ -127,51 +142,48 @@ <field name="date_deadline" eval="time.strftime('%Y-%m-%d')"/> <field name="stage_id" ref="project_tt_specification"/> </record> - <record id="project_task_6" model="project.task"> - <field eval="20.0" name="planned_hours"/> - <field eval="20.0" name="remaining_hours"/> + <field name="planned_hours" eval="20.0"/> + <field name="remaining_hours" eval="20.0"/> <field name="user_id" ref="base.user_al"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> <field name="name">Risk Management Planning</field> <field name="stage_id" ref="project_tt_specification"/> </record> - <record id="project_task_7" model="project.task"> - <field eval="30.0" name="planned_hours"/> - <field eval="30.0" name="remaining_hours"/> + <field name="planned_hours" eval="30.0"/> + <field name="remaining_hours" eval="30.0"/> <field name="user_id" ref="base.user_al"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> <field name="name">Create Project Schedules</field> <field name="stage_id" ref="project_tt_specification"/> </record> - <record id="project_task_8" model="project.task"> - <field eval="10.0" name="planned_hours"/> - <field eval="10.0" name="remaining_hours"/> + <field name="planned_hours" eval="10.0"/> + <field name="remaining_hours" eval="10.0"/> <field name="user_id" ref="base.user_al"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> <field name="name">Dataflow Design</field> <field name="priority">0</field> <field name="stage_id" ref="project_tt_specification"/> + <field name="categ_ids" eval="[(6, 0, [ + ref('project.project_category_01')])]"/> </record> - <record id="project_task_9" model="project.task"> - <field eval="50.0" name="planned_hours"/> - <field eval="50.0" name="remaining_hours"/> + <field name="planned_hours" eval="50.0"/> + <field name="remaining_hours" eval="50.0"/> <field name="user_id" ref="base.user_al"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> <field name="name">User Interface Design</field> <field name="stage_id" ref="project_tt_specification"/> </record> - <record id="project_task_10" model="project.task"> - <field eval="40.0" name="planned_hours"/> - <field eval="40.0" name="remaining_hours"/> + <field name="planned_hours" eval="40.0"/> + <field name="remaining_hours" eval="40.0"/> <field name="user_id" ref="base.user_fpi"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> @@ -179,56 +191,55 @@ <field name="kanban_state">blocked</field> <field name="stage_id" ref="project_tt_development"/> </record> - <record id="project_task_11" model="project.task"> - <field eval="90.0" name="planned_hours"/> - <field eval="90.0" name="remaining_hours"/> + <field name="planned_hours" eval="90.0"/> + <field name="remaining_hours" eval="90.0"/> <field name="user_id" ref="base.user_fpi"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> <field name="name">Develop module in Warehouse</field> <field name="stage_id" ref="project_tt_merge"/> </record> - <function model="project.task" name="do_close" eval="[ref('project_task_11')], {'install_mode': True}"/> - + <record id="project_task_12" model="project.task"> - <field eval="20.0" name="planned_hours"/> - <field eval="20.0" name="remaining_hours"/> + <field name="planned_hours" eval="20.0"/> + <field name="remaining_hours" eval="20.0"/> <field name="user_id" ref="base.user_fpi"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> <field name="name">Integrate Modules</field> <field name="stage_id" ref="project_tt_development"/> + <field name="color">6</field> + <field name="categ_ids" eval="[(6, 0, [ + ref('project_category_01'), + ref('project_category_03')])]"/> </record> - <function model="project.task" name="do_close" eval="[ref('project_task_12')], {'install_mode': True}"/> - + <record id="project_task_13" model="project.task"> - <field eval="50.0" name="planned_hours"/> - <field eval="50.0" name="remaining_hours"/> + <field name="planned_hours" eval="50.0"/> + <field name="remaining_hours" eval="50.0"/> <field name="user_id" ref="base.user_mit"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> <field name="name">Unit Testing</field> <field name="stage_id" ref="project_tt_development"/> </record> - <function model="project.task" name="do_pending" eval="[ref('project_task_13')], {'install_mode': True}"/> <record id="project_task_14" model="project.task"> - <field eval="30.0" name="planned_hours"/> - <field eval="30.0" name="remaining_hours"/> + <field name="planned_hours" eval="30.0"/> + <field name="remaining_hours" eval="30.0"/> <field name="user_id" ref="base.user_mit"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> <field name="name">Regression Test</field> - <field name="stage_id" ref="project_tt_development"/> + <field name="stage_id" ref="project_tt_development"/> </record> - <record id="project_task_15" model="project.task"> - <field eval="15.0" name="planned_hours"/> - <field eval="15.0" name="remaining_hours"/> + <field name="planned_hours" eval="15.0"/> + <field name="remaining_hours" eval="15.0"/> <field name="user_id" ref="base.user_fpi"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> @@ -236,11 +247,10 @@ <field name="stage_id" ref="project_tt_specification"/> <field name="date_start">2011-02-06</field> </record> - <record id="project_task_16" model="project.task"> - <field eval="10" name="sequence"/> - <field eval="40.0" name="planned_hours"/> - <field eval="40.0" name="remaining_hours"/> + <field name="sequence" eval="10"/> + <field name="planned_hours" eval="40.0"/> + <field name="remaining_hours" eval="40.0"/> <field name="user_id" ref="base.user_mit"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> @@ -251,8 +261,8 @@ <function model="project.task" name="do_open" eval="[ref('project_task_16')], {'install_mode': True}"/> <record id="project_task_17" model="project.task"> - <field eval="5.0" name="planned_hours"/> - <field eval="5.0" name="remaining_hours"/> + <field name="planned_hours" eval="5.0"/> + <field name="remaining_hours" eval="5.0"/> <field name="user_id" ref="base.user_niv"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> @@ -262,8 +272,8 @@ <function model="project.task" name="do_open" eval="[ref('project_task_17')], {'install_mode': True}"/> <record id="project_task_18" model="project.task"> - <field eval="10.0" name="planned_hours"/> - <field eval="10.0" name="remaining_hours"/> + <field name="planned_hours" eval="10.0"/> + <field name="remaining_hours" eval="10.0"/> <field name="user_id" ref="base.user_niv"/> <field name="priority">2</field> <field name="project_id" ref="project.project_integrate_openerp"/> @@ -271,45 +281,37 @@ <field name="stage_id" ref="project_tt_specification"/> </record> - <!-- - Resource: project.project - --> + <!-- Resource: project.project--> <!-- Projects --> - <!-- <record id="all_projects_account" model="project.project"> - <field name="name">Projects</field> - <field name="code">3</field> - </record> --> - - <record id="project_project_9" model="project.project"> <field name="name">OpenERP Integration</field> <field name="parent_id" ref="all_projects_account"/> <field name="user_id" ref="base.user_root"/> - <field eval="[(6, 0, [ref('project_tt_specification'),ref('project_tt_development'),ref('project_tt_testing'),ref('project_tt_merge')])]" name="type_ids"/> + <field name="type_ids" eval="[(6, 0, [ref('project_tt_specification'),ref('project_tt_development'),ref('project_tt_testing'),ref('project_tt_merge')])]"/> </record> <record id="project_project_21" model="project.project"> <field name="priority">10</field> <field name="parent_id" ref="all_projects_account"/> <field name="name">Study + Prototype</field> <field name="user_id" ref="base.user_root"/> - <field eval="[(6, 0, [ref('project_tt_specification'),ref('project_tt_development')])]" name="type_ids"/> - <field eval="[(6, 0, [ref('base.user_root'),ref('base.user_demo')])]" name="members"/> + <field name="type_ids" eval="[(6, 0, [ref('project_tt_specification'),ref('project_tt_development')])]"/> + <field name="members" eval="[(6, 0, [ref('base.user_root'),ref('base.user_demo')])]"/> </record> <record id="project_project_22" model="project.project"> <field name="priority">20</field> <field name="parent_id" ref="all_projects_account"/> <field name="name">Specific Developments</field> <field name="user_id" ref="base.user_root"/> - <field eval="[(6, 0, [ref('project_tt_specification'), ref('project_tt_development')])]" name="type_ids"/> - <field eval="[(6, 0, [ref('base.user_root'),ref('base.user_demo')])]" name="members"/> + <field name="type_ids" eval="[(6, 0, [ref('project_tt_specification'), ref('project_tt_development')])]"/> + <field name="members" eval="[(6, 0, [ref('base.user_root'),ref('base.user_demo')])]"/> </record> <record id="project_project_23" model="project.project"> <field name="priority">30</field> <field name="parent_id" ref="all_projects_account"/> <field name="name">Install, data import, configuration</field> - <field eval="[(6, 0, [ref('project_tt_development')])]" name="type_ids"/> - <field eval="[(6, 0, [ref('base.user_root'),ref('base.user_demo')])]" name="members"/> + <field name="type_ids" eval="[(6, 0, [ref('project_tt_development')])]"/> + <field name="members" eval="[(6, 0, [ref('base.user_root'),ref('base.user_demo')])]"/> </record> <!-- Tasks --> @@ -323,7 +325,7 @@ <field name="name">Specific adaptation to MRP</field> </record> <function model="project.task" name="do_open" eval="[ref('project_task_116')], {'install_mode': True}"/> - + <record id="project_task_130" model="project.task"> <field name="planned_hours">16.0</field> <field name="remaining_hours">16.0</field> @@ -343,7 +345,7 @@ <field name="name">Modifications asked by the customer.</field> </record> <function model="project.task" name="do_open" eval="[ref('project_task_131')], {'install_mode': True}"/> - + <record id="project_task_184" model="project.task"> <field name="planned_hours">16.0</field> <field name="remaining_hours">16.0</field> @@ -352,7 +354,7 @@ <field name="priority">0</field> <field name="project_id" ref="project_project_21"/> <field name="name">Customer analysis + Architecture</field> - <field name="color">3</field> + <field name="color">7</field> </record> <record id="project_task_186" model="project.task"> <field name="sequence">15</field> @@ -362,7 +364,7 @@ <field name="user_id" eval="False"/> <field name="project_id" ref="project_project_21"/> <field name="name">Internal testing + Software Install</field> - <field name="color">4</field> + <field name="color">8</field> </record> <record id="project_task_188" model="project.task"> <field name="sequence">17</field> @@ -375,7 +377,7 @@ <field name="name">Analysis, Data Importation</field> </record> <function model="project.task" name="do_open" eval="[ref('project_task_188')], {'install_mode': True}"/> - + <record id="project_task_189" model="project.task"> <field name="sequence">20</field> <field name="planned_hours">16.0</field> @@ -386,7 +388,7 @@ <field name="stage_id" ref="project_tt_specification"/> </record> <function model="project.task" name="do_open" eval="[ref('project_task_189')], {'install_mode': True}"/> - + <record id="project_task_190" model="project.task"> <field name="sequence">20</field> <field name="planned_hours">32.0</field> @@ -399,8 +401,7 @@ <!-- Schedule tasks to assign users and dates --> <function model="project.project" name="schedule_tasks" - eval="[ref('project_project_21'), ref('project_project_22'), ref('project_project_23')], {'install_mode': True}" - /> + eval="[ref('project_project_21'), ref('project_project_22'), ref('project_project_23')], {'install_mode': True}"/> </data> </openerp> diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index cc6f5b05ad8..ae86f9712a3 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -155,28 +155,21 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Project"> - <group> - <field name="complete_name" string="Project Name"/> - <separator orientation="vertical"/> - <filter icon="terp-mail-message-new" - string="Inbox" help="Unread messages" - name="needaction_pending" - domain="[('needaction_pending','=',True)]"/> - <separator orientation="vertical"/> - <filter icon="terp-check" string="Open" name="Current" domain="[('state', '=','open')]" help="Open Projects"/> - <filter icon="gtk-media-pause" string="Pending" name="Pending" domain="[('state', '=','pending')]" help="Pending Projects"/> - <filter icon="gtk-media-pause" string="Template" name="Template" domain="[('state', '=','template')]" help="Templates of Projects"/> - <filter icon="terp-personal+" string="Member" domain="['|',('user_id', '=', uid),('members', '=', uid)]" help="Projects in which I am a member."/> - <filter string="Project(s) Manager" domain="[('user_id','=',uid)]" help="Projects in which I am a manager" icon="terp-personal"/> - <separator orientation="vertical"/> - <field name="user_id" string="Project Manager"/> - <field name="partner_id" string="Partner"/> - </group> - <newline/> + <field name="complete_name" string="Project Name"/> + <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> + <filter icon="terp-check" string="Open" name="Current" domain="[('state', '=','open')]" help="Open Projects"/> + <filter icon="gtk-media-pause" string="Pending" name="Pending" domain="[('state', '=','pending')]" help="Pending Projects"/> + <filter icon="gtk-media-pause" string="Template" name="Template" domain="[('state', '=','template')]" help="Templates of Projects"/> + <separator/> + <filter icon="terp-personal+" string="Member" domain="['|',('user_id', '=', uid),('members', '=', uid)]" help="Projects in which I am a member."/> + <separator/> + <filter string="Project(s) Manager" domain="[('user_id','=',uid)]" help="Projects in which I am a manager" icon="terp-personal"/> + <field name="user_id" string="Project Manager"/> + <field name="partner_id" string="Partner"/> <group expand="0" string="Group By..."> <filter string="Manager" name="Manager" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Partner" name="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Parent" name="Parent" help="Parent" icon="terp-folder-blue" domain = "[]" context="{'group_by':'parent_id'}"/> </group> </search> @@ -431,6 +424,9 @@ <field name="progress" widget="progressbar" groups="project.group_time_work_estimation_tasks"/> </group> + <group> + <field name="categ_ids" widget="many2many_tags"/> + </group> </group> <notebook> <page string="Description"> @@ -512,6 +508,7 @@ <field name="date_deadline"/> <field name="message_summary"/> <field name="needaction_pending"/> + <field name="categ_ids"/> <templates> <t t-name="kanban-box"> <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click"> @@ -554,6 +551,13 @@ <t t-esc="Math.round(record.remaining_hours.raw_value)"/> </span> </div> + <div class="oe_kanban_footer_left" style="margin-top:5px;"> + <div class="oe_left oe_tags"> + <t t-foreach="record.categ_ids.raw_value" t-as="categ_id"> + <span class="oe_tag" t-att-data-categ_id="categ_id"></span> + </t> + </div> + </div> </div> <div class="oe_clear"></div> </div> @@ -633,37 +637,28 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Tasks"> - <group> - <field name="name" string="Tasks"/> - <separator orientation="vertical"/> - <filter icon="terp-mail-message-new" - string="Inbox" help="Unread messages" - name="needaction_pending" - domain="[('needaction_pending','=',True)]"/> - <separator orientation="vertical"/> - <filter name="draft" string="New" domain="[('state','=','draft')]" help="New Tasks" icon="terp-check"/> - <filter name="open" string="In Progress" domain="[('state','=','open')]" help="In Progress Tasks" icon="terp-camera_test"/> - <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/> - <filter name="project" string="Project" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-check"/> - <filter string="My Tasks" domain="[('user_id','=',uid)]" help="My Tasks" icon="terp-personal"/> - <filter string="Unassigned Tasks" domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="terp-personal-"/> - <filter string="Deadlines" context="{'deadline_visible': False}" domain="[('date_deadline','<>',False)]" - help="Show only tasks having a deadline" icon="terp-gnome-cpu-frequency-applet+"/> - <separator orientation="vertical"/> - <field name="project_id"/> - <field name="user_id"/> - </group> - <newline/> + <field name="name" string="Tasks"/> + <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> + <filter name="draft" string="New" domain="[('state','=','draft')]" help="New Tasks" icon="terp-check"/> + <filter name="open" string="In Progress" domain="[('state','=','open')]" help="In Progress Tasks" icon="terp-camera_test"/> + <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/> + <separator/> + <filter name="My project" string="Project" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-check"/> + <separator/> + <filter string="My Tasks" domain="[('user_id','=',uid)]" help="My Tasks" icon="terp-personal"/> + <filter string="Unassigned Tasks" domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="terp-personal-"/> + <separator/> + <filter string="Deadlines" context="{'deadline_visible': False}" domain="[('date_deadline','<>',False)]" + help="Show only tasks having a deadline" icon="terp-gnome-cpu-frequency-applet+"/> + <field name="project_id"/> + <field name="user_id"/> <group expand="0" string="Group By..."> <filter string="Users" name="group_user_id" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Project" name="group_project_id" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/> - <separator orientation="vertical"/> <filter string="Stage" name="group_stage_id" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/> <filter string="Status" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Deadline" icon="terp-gnome-cpu-frequency-applet+" domain="[]" context="{'group_by':'date_deadline'}"/> - <separator orientation="vertical" groups="base.group_no_one"/> <filter string="Start Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" groups="base.group_no_one"/> <filter string="End Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_end'}" groups="base.group_no_one"/> </group> @@ -745,11 +740,8 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Tasks Stages"> - <group> - <field name="name" string="Tasks Stages"/> - <separator orientation="vertical"/> - <filter icon="terp-check" string="Common" name="common" domain="[('case_default', '=', 1)]" help="Stages common to all projects"/> - </group> + <field name="name" string="Tasks Stages"/> + <filter icon="terp-check" string="Common" name="common" domain="[('case_default', '=', 1)]" help="Stages common to all projects"/> </search> </field> </record> @@ -820,7 +812,7 @@ </field> </record> - <!-- User Form--> + <!-- User Form --> <act_window context="{'search_default_user_id': [active_id], 'default_user_id': active_id}" domain="[('state', '<>', 'cancelled'),('state', '<>', 'done')]" id="act_res_users_2_project_task_opened" name="Assigned Tasks" res_model="project.task" src_model="res.users" view_mode="tree,form,gantt,calendar,graph" view_type="form"/> </data> diff --git a/addons/project/report/project_cumulative.xml b/addons/project/report/project_cumulative.xml index 3f7f3b26d96..ae87b3f2fe2 100644 --- a/addons/project/report/project_cumulative.xml +++ b/addons/project/report/project_cumulative.xml @@ -53,21 +53,20 @@ <field name="model">project.task.history.cumulative</field> <field name="type">search</field> <field name="arch" type="xml"> - <search string="Task's Analysis"> - <group> - <field name="date"/> - <separator orientation="vertical"/> - <filter name="open" string="In Progress" domain="[('state','in',('open','draft'))]" help="In Progress Tasks" icon="terp-camera_test"/> - <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/> - <filter name="kanban_blocked" string="Blocked" domain="[('kanban_state','=','blocked')]" icon="terp-gtk-media-pause"/> - <filter name="kanban_ready" string="Ready" domain="[('kanban_state','=','done')]" icon="terp-camera_test"/> - <filter string="My Tasks" domain="[('user_id','=',uid)]" help="My Tasks" icon="terp-personal" /> - <filter string="Unassigned Tasks" domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="terp-personal-" /> - <filter string="My Projects" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-personal"/> - <separator orientation="vertical"/> - <field name="project_id"/> - <field name="user_id"/> - </group> + <search string="Task's Analysis"> + <field name="date"/> + <filter name="open" string="In Progress" domain="[('state','in',('open','draft'))]" help="In Progress Tasks" icon="terp-camera_test"/> + <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/> + <separator/> + <filter name="kanban_blocked" string="Blocked" domain="[('kanban_state','=','blocked')]" icon="terp-gtk-media-pause"/> + <filter name="kanban_ready" string="Ready" domain="[('kanban_state','=','done')]" icon="terp-camera_test"/> + <separator/> + <filter string="My Tasks" domain="[('user_id','=',uid)]" help="My Tasks" icon="terp-personal" /> + <filter string="Unassigned Tasks" domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="terp-personal-" /> + <separator/> + <filter string="My Projects" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-personal"/> + <field name="project_id"/> + <field name="user_id"/> </search> </field> </record> diff --git a/addons/project/report/project_report_view.xml b/addons/project/report/project_report_view.xml index 40235ad03b7..ab880536ced 100644 --- a/addons/project/report/project_report_view.xml +++ b/addons/project/report/project_report_view.xml @@ -58,60 +58,32 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Tasks Analysis"> - <group> - <field name="date_start"/> - <field name="date_end"/> - <field name="date_deadline"/> - <separator orientation="vertical"/> - <filter string="New" - icon="terp-document-new" - domain="[('state','=','draft')]" - help = "New tasks"/> - <filter string="In progress" - icon="terp-check" - domain="[('state', '=' ,'open')]" - help = "In progress tasks"/> - <filter string="Pending" - icon="terp-gtk-media-pause" - domain="[('state','=','pending')]" - help = "Pending tasks"/> - <filter string="Done" - icon="terp-dialog-close" - name="done" - domain="[('state','=','done')]"/> - <filter icon="terp-folder-violet" - string="My Projects" - help="My Projects" domain="[('project_id.user_id','=',uid)]"/> - <filter icon="terp-personal" - string="My Task" - help = "My tasks" - domain="[('user_id','=',uid)]" /> - <filter icon="terp-personal-" - string="Non Assigned Tasks to users" - help="Non Assigned Tasks to users" - domain="[('user_id','=',False)]"/> - <separator orientation="vertical"/> - <field name="project_id"/> - <field name="user_id" widget="selection"/> - <field name="partner_id" /> - </group> - <newline/> + <field name="date_start"/> + <field name="date_end"/> + <field name="date_deadline"/> + <filter string="New" icon="terp-document-new" domain="[('state','=','draft')]" help = "New tasks"/> + <filter string="In progress" icon="terp-check" domain="[('state', '=' ,'open')]" help = "In progress tasks"/> + <filter string="Pending" icon="terp-gtk-media-pause" domain="[('state','=','pending')]" help = "Pending tasks"/> + <filter string="Done" icon="terp-dialog-close" name="done" domain="[('state','=','done')]"/> + <separator/> + <filter icon="terp-folder-violet" string="My Projects" help="My Projects" domain="[('project_id.user_id','=',uid)]"/> + <separator/> + <filter icon="terp-personal" string="My Task" help = "My tasks" domain="[('user_id','=',uid)]" /> + <filter icon="terp-personal-" string="Non Assigned Tasks to users" help="Non Assigned Tasks to users" domain="[('user_id','=',False)]"/> + <field name="project_id"/> + <field name="user_id"/> + <field name="partner_id" /> <group expand="0" string="Extended Filters..."> <field name="priority"/> - <separator orientation="vertical"/> - <field name="company_id" groups="base.group_multi_company" widget="selection"/> + <field name="company_id" groups="base.group_multi_company"/> </group> - <newline/> <group expand="1" string="Group By..."> <filter string="Project" name="project" icon="terp-folder-violet" context="{'group_by':'project_id'}"/> <filter string="Task" icon="terp-stock_align_left_24" context="{'group_by':'name'}" /> - <separator orientation="vertical"/> <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" /> <filter string="Assigned to" name="User" icon="terp-personal" context="{'group_by':'user_id'}" /> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Creation Date"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Creation Date"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Creation Date"/> diff --git a/addons/project/res_partner_view.xml b/addons/project/res_partner_view.xml index 09170c43434..e16c18d1582 100644 --- a/addons/project/res_partner_view.xml +++ b/addons/project/res_partner_view.xml @@ -28,7 +28,5 @@ </xpath> </field> </record> - </data> </openerp> - diff --git a/addons/project/static/src/js/project.js b/addons/project/static/src/js/project.js index 510fcbb99e7..c8250edcafd 100644 --- a/addons/project/static/src/js/project.js +++ b/addons/project/static/src/js/project.js @@ -1,25 +1,61 @@ openerp.project = function(openerp) { openerp.web_kanban.KanbanView.include({ - on_groups_started: function() { + project_display_members_names: function() { + /* + * Set avatar title for members. + * In kanban views, many2many fields only return a list of ids. + * We can implement return value of m2m fields like [(1,"Adminstration"),...]. + */ var self = this; - self._super.apply(this, arguments); - if (this.dataset.model === 'project.project') { - /* Set avatar title for members. - In many2many fields, returns only list of ids. - we can implement return value of m2m fields like [(1,"Adminstration"),...]. - */ - var members_ids = []; - this.$element.find('.oe_kanban_project_avatars img').each(function() { - members_ids.push($(this).data('member_id')); - }); - var dataset = new openerp.web.DataSetSearch(this, 'res.users', self.session.context, [['id', 'in', _.uniq(members_ids)]]); - dataset.read_slice(['id', 'name']).then(function(result) { - _.each(result, function(v, k) { - self.$element.find('.oe_kanban_project_avatars img[data-member_id=' + v.id + ']').attr('title', v.name).tipsy({ - offset: 10 - }); + var members_ids = []; + + // Collect members ids + self.$element.find('img[data-member_id]').each(function() { + members_ids.push($(this).data('member_id')); + }); + + // Find their matching names + var dataset = new openerp.web.DataSetSearch(self, 'res.users', self.session.context, [['id', 'in', _.uniq(members_ids)]]); + dataset.read_slice(['id', 'name']).then(function(result) { + _.each(result, function(v, k) { + // Set the proper value in the DOM + self.$element.find('img[data-member_id=' + v.id + ']').attr('title', v.name).tipsy({ + offset: 10 }); }); + }); + }, + project_display_categ_names: function() { + /* + * Set proper names to project categories. + * In kanban views, many2many fields only return a list of ids. + * Therefore, we have to fetch the matching data by ourselves. + */ + var self = this; + var categ_ids = []; + + // Collect categories ids + self.$element.find('span[data-categ_id]').each(function() { + categ_ids.push($(this).data('categ_id')); + }); + + // Find their matching names + var dataset = new openerp.web.DataSetSearch(self, 'project.category', self.session.context, [['id', 'in', _.uniq(categ_ids)]]); + dataset.read_slice(['id', 'name']).then(function(result) { + _.each(result, function(v, k) { + // Set the proper value in the DOM and display the element + self.$element.find('span[data-categ_id=' + v.id + ']').text(v.name); + }); + }); + }, + on_groups_started: function() { + var self = this; + self._super.apply(self, arguments); + + if (self.dataset.model === 'project.project') { + self.project_display_members_names(); + } else if (self.dataset.model === 'project.task') { + self.project_display_categ_names(); } } }); diff --git a/addons/project_gtd/project_gtd_view.xml b/addons/project_gtd/project_gtd_view.xml index 5b48f6b4648..cce02ab329d 100644 --- a/addons/project_gtd/project_gtd_view.xml +++ b/addons/project_gtd/project_gtd_view.xml @@ -112,9 +112,9 @@ <field name="arch" type="xml"> <search string="My Tasks"> <field name="name" string="My Tasks"/> - <separator orientation="vertical"/> <filter name="open" string="In Progress" domain="[('state','in',('draft','open'))]" help="In Progress and draft tasks" icon="terp-camera_test"/> <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/> + <separator/> <filter string="Inbox" domain="[('timebox_id','=', False)]" help="Tasks having no timebox assigned yet"/> <group expand="0" string="Display"> <filter string="Show Context" name="context_show" context="{'context_show': True}" domain="[]" icon="terp-camera_test" help="Show the context field"/> diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py index d5e7ee1985f..8aeecf2985e 100644 --- a/addons/project_issue/__openerp__.py +++ b/addons/project_issue/__openerp__.py @@ -39,7 +39,7 @@ and decide on their status as they evolve. 'website': 'http://www.openerp.com', 'images': ['images/issue_analysis.jpeg','images/project_issue.jpeg'], 'depends': [ - 'base_status', + 'base_status', 'crm', 'project', ], @@ -66,6 +66,9 @@ and decide on their status as they evolve. 'auto_install': False, 'application': True, 'certificate' : '001236490750848623845', + 'js': [ + 'static/src/js/project_issue.js', + ], } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_issue/board_project_issue_view.xml b/addons/project_issue/board_project_issue_view.xml index cedcd85d4fc..8bc34177d7d 100644 --- a/addons/project_issue/board_project_issue_view.xml +++ b/addons/project_issue/board_project_issue_view.xml @@ -18,7 +18,7 @@ <field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/> <field name="stage_id" widget="selection" readonly="1"/> <field name="state" groups="base.group_no_one"/> - <field name="categ_id" invisible="1"/> + <field name="categ_ids" invisible="1"/> <field name="task_id" invisible="1"/> </tree> </field> diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index a7c9d2b5bc3..4c973eed068 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -236,7 +236,7 @@ class project_issue(base_stage, osv.osv): 'date_closed': fields.datetime('Closed', readonly=True,select=True), 'date': fields.datetime('Date'), 'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."), - 'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('object_id.model', '=', 'crm.project.bug')]"), + 'categ_ids': fields.many2many('project.category', string='Categories'), 'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True), 'version_id': fields.many2one('project.issue.version', 'Version'), 'stage_id': fields.many2one ('project.task.type', 'Stage', @@ -279,7 +279,6 @@ class project_issue(base_stage, osv.osv): 'section_id': lambda s, cr, uid, c: s._get_default_section_id(cr, uid, c), 'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c), 'priority': crm.AVAILABLE_PRIORITIES[2][0], - 'categ_id' : lambda *a: False, } _group_by_full = { @@ -304,11 +303,11 @@ class project_issue(base_stage, osv.osv): def convert_issue_task(self, cr, uid, ids, context=None): if context is None: context = {} - + case_obj = self.pool.get('project.issue') data_obj = self.pool.get('ir.model.data') task_obj = self.pool.get('project.task') - + result = data_obj._get_id(cr, uid, 'project', 'view_task_search_form') res = data_obj.read(cr, uid, result, ['res_id']) id2 = data_obj._get_id(cr, uid, 'project', 'view_task_form2') @@ -351,23 +350,6 @@ class project_issue(base_stage, osv.osv): 'nodestroy': True } - - def _convert(self, cr, uid, ids, xml_id, context=None): - data_obj = self.pool.get('ir.model.data') - id2 = data_obj._get_id(cr, uid, 'project_issue', xml_id) - categ_id = False - if id2: - categ_id = data_obj.browse(cr, uid, id2, context=context).res_id - if categ_id: - self.write(cr, uid, ids, {'categ_id': categ_id}) - return True - - def convert_to_feature(self, cr, uid, ids, context=None): - return self._convert(cr, uid, ids, 'feature_request_categ', context=context) - - def convert_to_bug(self, cr, uid, ids, context=None): - return self._convert(cr, uid, ids, 'bug_categ', context=context) - def copy(self, cr, uid, id, default=None, context=None): issue = self.read(cr, uid, id, ['name'], context=context) if not default: @@ -376,7 +358,7 @@ class project_issue(base_stage, osv.osv): default['name'] = issue['name'] + _(' (copy)') return super(project_issue, self).copy(cr, uid, id, default=default, context=context) - + def write(self, cr, uid, ids, vals, context=None): #Update last action date every time the user change the stage, the state or send a new email logged_fields = ['stage_id', 'state', 'message_ids'] @@ -463,7 +445,7 @@ class project_issue(base_stage, osv.osv): # ------------------------------------------------------- # Mail gateway # ------------------------------------------------------- - + def message_new(self, cr, uid, msg, custom_values=None, context=None): """ Overrides mail_thread message_new that is called by the mailgateway through message_process. @@ -485,7 +467,7 @@ class project_issue(base_stage, osv.osv): custom_values.update(self.message_partner_by_email(cr, uid, msg.get('from'), context=context)) res_id = super(project_issue, self).message_new(cr, uid, msg, custom_values=custom_values, context=context) - self.convert_to_bug(cr, uid, [res_id], context=context) + # self.convert_to_bug(cr, uid, [res_id], context=context) return res_id def message_update(self, cr, uid, ids, msg, update_vals=None, context=None): @@ -515,7 +497,7 @@ class project_issue(base_stage, osv.osv): update_vals[key] = res.group(2).lower() return super(project_issue, self).message_update(cr, uid, ids, update_vals=update_vals, context=context) - + # ------------------------------------------------------- # OpenChatter methods and notifications # ------------------------------------------------------- @@ -588,18 +570,18 @@ project() class account_analytic_account(osv.osv): _inherit = 'account.analytic.account' _description = 'Analytic Account' - + _columns = { 'use_issues' : fields.boolean('Issues Tracking', help="Check this field if this project manages issues"), } - + def on_change_template(self, cr, uid, ids, template_id, context=None): res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, context=context) if template_id and 'value' in res: template = self.browse(cr, uid, template_id, context=context) res['value']['use_issues'] = template.use_issues return res - + def _trigger_project_creation(self, cr, uid, vals, context=None): res = super(account_analytic_account, self)._trigger_project_creation(cr, uid, vals, context=context) return res or vals.get('use_issues') diff --git a/addons/project_issue/project_issue_demo.xml b/addons/project_issue/project_issue_demo.xml index b3fb4582cf2..298dd6a25d9 100644 --- a/addons/project_issue/project_issue_demo.xml +++ b/addons/project_issue/project_issue_demo.xml @@ -1,236 +1,239 @@ <?xml version="1.0"?> <openerp> -<data noupdate="1"> - - <record id="crm_case_buginaccountsmodule0" model="project.issue"> - <field eval="time.strftime('%Y-%m-08 10:15:00')" name="date"/> - <field eval=""5"" name="priority"/> - <field name="user_id" ref="base.user_root"/> - <field name="partner_id" ref="base.res_partner_agrolait"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field name="categ_id" ref="bug_categ"/> - <field name="project_id" ref="project.project_project_22"/> - <field eval="15.0" name="duration"/> - <field eval=""Bug in Accounts module"" name="name"/> - <field eval=""agr@agrolait.com"" name="email_from"/> - <field name="stage_id" ref="project.project_tt_specification"/> - </record> - - <record id="crm_case_programnotgivingproperoutput0" model="project.issue"> - <field eval="time.strftime('%Y-%m-15 12:50:00')" name="date"/> - <field eval=""3"" name="priority"/> - <field name="user_id" ref="base.user_root"/> - <field name="partner_id" ref="base.res_partner_asus"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="3.5" name="duration"/> - <field name="categ_id" ref="bug_categ"/> - <field eval=""Program not giving proper output"" name="name"/> - <field name="project_id" ref="project.project_project_22"/> - <field name="stage_id" ref="project.project_tt_specification"/> - </record> - - <record id="crm_case_outputincorrect0" model="project.issue"> - <field eval="time.strftime('%Y-%m-18 14:30:00')" name="date"/> - <field eval=""4"" name="priority"/> - <field name="user_id" ref="base.user_demo"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="2.3" name="duration"/> - <field name="categ_id" ref="bug_categ"/> - <field name="project_id" ref="project.project_project_23"/> - <field eval=""Output incorrect"" name="name"/> - <field name="stage_id" ref="project.project_tt_development"/> - </record> - - <record id="crm_case_problemloadingpage0" model="project.issue"> - <field eval="time.strftime('%Y-%m-20 15:25:05')" name="date"/> - <field eval=""3"" name="priority"/> - <field name="user_id" ref="base.user_root"/> - <field name="partner_id" ref="base.res_partner_14"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="4.0" name="duration"/> - <field name="categ_id" ref="bug_categ"/> - <field name="project_id" ref="project.project_project_22"/> - <field eval=""Problem loading page"" name="name"/> - <field name="stage_id" ref="project.project_tt_testing"/> - </record> - - <record id="crm_case_pagenotfound0" model="project.issue"> - <field eval="time.strftime('%Y-%m-22 18:15:00')" name="date"/> - <field eval=""3"" name="priority"/> - <field name="user_id" ref="base.user_root"/> - <field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="1.0" name="duration"/> - <field name="categ_id" ref="bug_categ"/> - <field name="project_id" ref="project.project_project_22"/> - <field eval=""Page not Found"" name="name"/> - <field name="stage_id" ref="project.project_tt_development"/> - </record> - - <record id="crm_case_programmingerror0" model="project.issue"> - <field eval="time.strftime('%Y-%m-24 09:45:00')" name="date"/> - <field eval=""3"" name="priority"/> - <field name="user_id" ref="base.user_root"/> - <field name="partner_id" ref="base.res_partner_5"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="4.0" name="duration"/> - <field name="categ_id" ref="bug_categ"/> - <field name="project_id" ref="project.project_project_22"/> - <field eval=""Programming Error"" name="name"/> - <field name="stage_id" ref="project.project_tt_testing"/> - </record> - - <record id="crm_case_logicalerrorinprogram0" model="project.issue"> - <field eval="time.strftime('%Y-%m-26 11:10:00')" name="date"/> - <field eval=""2"" name="priority"/> - <field name="user_id" ref="base.user_root"/> - <field name="partner_id" ref="base.res_partner_6"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="2.0" name="duration"/> - <field name="categ_id" ref="bug_categ"/> - <field name="project_id" ref="project.project_project_9"/> - <field eval=""Logical Error in Program"" name="name"/> - <field name="stage_id" ref="project.project_tt_testing"/> - </record> - - <record id="crm_case_constrainterror0" model="project.issue"> - <field eval="time.strftime('%Y-%m-25 13:35:00')" name="date"/> - <field eval=""2"" name="priority"/> - <field name="user_id" ref="base.user_root"/> - <field name="partner_id" ref="base.res_partner_6"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="7.3" name="duration"/> - <field name="categ_id" ref="bug_categ"/> - <field name="project_id" ref="project.project_project_9"/> - <field eval=""Constraint Error"" name="name"/> - <field name="stage_id" ref="project.project_tt_testing"/> - </record> - - <record id="crm_case_errorinprogram0" model="project.issue"> - <field eval="time.strftime('%Y-%m-28 15:40:00')" name="date"/> - <field eval=""2"" name="priority"/> - <field name="user_id" ref="base.user_demo"/> - <field name="partner_id" ref="base.res_partner_5"/> - <field eval="1" name="active"/> - <field eval="1.3" name="duration"/> - <field name="categ_id" ref="feature_request_categ"/> - <field name="project_id" ref="project.project_project_22"/> - <field eval=""Error in Program"" name="name"/> - <field name="stage_id" ref="project.project_tt_testing"/> - </record> - - <record id="crm_case_patcheserrorinprogram0" model="project.issue"> - <field eval="time.strftime('%Y-%m-28 16:30:00')" name="date"/> - <field eval=""2"" name="priority"/> - <field name="user_id" ref="base.user_root"/> - <field name="partner_id" ref="base.res_partner_2"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="13.0" name="duration"/> - <field name="categ_id" ref="feature_request_categ"/> - <field name="project_id" ref="project.project_project_9"/> - <field eval=""Patches Error in Program"" name="name"/> - <field name="stage_id" ref="project.project_tt_testing"/> - </record> - - <record id="crm_case_newfeaturestobeadded0" model="project.issue"> - <field eval="time.strftime('%Y-%m-01 12:15:10')" name="date"/> - <field eval=""4"" name="priority"/> - <field name="user_id" ref="base.user_root"/> - <field name="partner_id" ref="base.res_partner_maxtor"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="3.2" name="duration"/> - <field name="categ_id" ref="feature_request_categ"/> - <field name="project_id" ref="project.project_project_21"/> - <field eval=""New Features To Be Added"" name="name"/> - <field name="stage_id" ref="project.project_tt_merge"/> - </record> - - <record id="crm_case_addmenustothemodule0" model="project.issue"> - <field eval="time.strftime('%Y-%m-05 18:00:00')" name="date"/> - <field eval=""1"" name="priority"/> - <field name="user_id" ref="base.user_demo"/> - <field name="partner_id" ref="base.res_partner_9"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="3.0" name="duration"/> - <field name="categ_id" ref="feature_request_categ"/> - <field name="project_id" ref="project.project_project_21"/> - <field eval=""Add menus to the module"" name="name"/> - <field eval=""info@opensides.be"" name="email_from"/> - <field name="stage_id" ref="project.project_tt_development"/> - </record> - - <record id="crm_case_includeattendancesheetinproject0" model="project.issue"> - <field eval="time.strftime('%Y-%m-10 17:05:30')" name="date"/> - <field eval=""3"" name="priority"/> - <field name="user_id" ref="base.user_root"/> - <field name="partner_id" ref="base.res_partner_10"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="2.0" name="duration"/> - <field name="categ_id" ref="feature_request_categ"/> - <field name="project_id" ref="project.project_project_9"/> - <field eval=""Include Attendance sheet in Project"" name="name"/> - <field eval=""contact@tecsas.fr"" name="email_from"/> - <field name="stage_id" ref="project.project_tt_development"/> - </record> - - <record id="crm_case_createnewobject0" model="project.issue"> - <field eval="time.strftime('%Y-%m-15 10:35:15')" name="date"/> - <field eval=""3"" name="priority"/> - <field name="user_id" ref="base.user_root"/> - <field name="partner_id" ref="base.res_partner_6"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="2.45" name="duration"/> - <field name="categ_id" ref="feature_request_categ"/> - <field name="project_id" ref="project.project_project_22"/> - <field eval=""Create new object"" name="name"/> - <field name="stage_id" ref="project.project_tt_specification"/> - </record> - - <record id="crm_case_improvereportsinhrms0" model="project.issue"> - <field eval="time.strftime('%Y-%m-19 12:15:00')" name="date"/> - <field eval=""4"" name="priority"/> - <field name="user_id" ref="base.user_root"/> - <field name="partner_id" ref="base.res_partner_11"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="15.0" name="duration"/> - <field name="categ_id" ref="feature_request_categ"/> - <field name="project_id" ref="project.project_project_22"/> - <field eval=""Improve Reports in HRMS"" name="name"/> - <field name="stage_id" ref="project.project_tt_development"/> - </record> - - <record id="crm_case_improvereportsinpms0" model="project.issue"> - <field eval="time.strftime('%Y-%m-21 14:30:00')" name="date"/> - <field eval=""2"" name="priority"/> - <field name="user_id" ref="base.user_demo"/> - <field name="partner_id" ref="base.res_partner_11"/> - <field name="section_id" ref="crm.section_sales_department"/> - <field eval="1" name="active"/> - <field eval="06.15" name="duration"/> - <field name="categ_id" ref="feature_request_categ"/> - <field name="project_id" ref="project.project_project_22"/> - <field eval=""Improve Reports in PMS"" name="name"/> - <field name="stage_id" ref="project.project_tt_specification"/> - </record> - - <!-- Call Function to set some issues as Unread --> - <function model="project.issue" name="message_mark_as_unread" - eval="[ ref('crm_case_improvereportsinhrms0'), ref('crm_case_createnewobject0')], {}" - /> - -</data> + <data noupdate="1"> + + <!-- Categories --> + <record id="project_issue_category_01" model="project.category"> + <field name="name">Little problem</field> + </record> + <record id="project_issue_category_02" model="project.category"> + <field name="name">PBCK</field> + </record> + <record id="project_issue_category_03" model="project.category"> + <field name="name">Deadly bug</field> + </record> + + <!-- Issues --> + <record id="crm_case_buginaccountsmodule0" model="project.issue"> + <field eval="time.strftime('%Y-%m-08 10:15:00')" name="date"/> + <field name="priority">5</field> + <field name="user_id" ref="base.user_root"/> + <field name="partner_id" ref="base.res_partner_agrolait"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field name="project_id" ref="project.project_project_22"/> + <field eval="15.0" name="duration"/> + <field name="name">Bug in Accounts module</field> + <field name="email_from">agr@agrolait.com</field> + <field name="stage_id" ref="project.project_tt_specification"/> + <field name="categ_ids" eval="[(6, 0, [ + ref('project_issue_category_01')])]"/> + </record> + + <record id="crm_case_programnotgivingproperoutput0" model="project.issue"> + <field eval="time.strftime('%Y-%m-15 12:50:00')" name="date"/> + <field name="priority">3</field> + <field name="user_id" ref="base.user_root"/> + <field name="partner_id" ref="base.res_partner_asus"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="3.5" name="duration"/> + <field name="name">Program not giving proper output</field> + <field name="project_id" ref="project.project_project_22"/> + <field name="stage_id" ref="project.project_tt_specification"/> + </record> + + <record id="crm_case_outputincorrect0" model="project.issue"> + <field eval="time.strftime('%Y-%m-18 14:30:00')" name="date"/> + <field name="priority">4</field> + <field name="user_id" ref="base.user_demo"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="2.3" name="duration"/> + <field name="project_id" ref="project.project_project_23"/> + <field name="name">Output incorrect</field> + <field name="stage_id" ref="project.project_tt_development"/> + <field name="categ_ids" eval="[(6, 0, [ + ref('project_issue_category_01'), + ref('project_issue_category_02')])]"/> + </record> + + <record id="crm_case_problemloadingpage0" model="project.issue"> + <field eval="time.strftime('%Y-%m-20 15:25:05')" name="date"/> + <field name="priority">3</field> + <field name="user_id" ref="base.user_root"/> + <field name="partner_id" ref="base.res_partner_14"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="4.0" name="duration"/> + <field name="project_id" ref="project.project_project_22"/> + <field name="name">Problem loading page</field> + <field name="stage_id" ref="project.project_tt_testing"/> + </record> + + <record id="crm_case_pagenotfound0" model="project.issue"> + <field eval="time.strftime('%Y-%m-22 18:15:00')" name="date"/> + <field name="priority">3</field> + <field name="user_id" ref="base.user_root"/> + <field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="1.0" name="duration"/> + <field name="project_id" ref="project.project_project_22"/> + <field name="name">Page not Found</field> + <field name="stage_id" ref="project.project_tt_development"/> + </record> + + <record id="crm_case_programmingerror0" model="project.issue"> + <field eval="time.strftime('%Y-%m-24 09:45:00')" name="date"/> + <field name="priority">3</field> + <field name="user_id" ref="base.user_root"/> + <field name="partner_id" ref="base.res_partner_5"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="4.0" name="duration"/> + <field name="project_id" ref="project.project_project_22"/> + <field name="name">Programming Error</field> + <field name="stage_id" ref="project.project_tt_testing"/> + <field name="categ_ids" eval="[(6, 0, [ + ref('project_issue_category_02'), + ref('project_issue_category_03')])]"/> + </record> + + <record id="crm_case_logicalerrorinprogram0" model="project.issue"> + <field eval="time.strftime('%Y-%m-26 11:10:00')" name="date"/> + <field name="priority">2</field> + <field name="user_id" ref="base.user_root"/> + <field name="partner_id" ref="base.res_partner_6"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="2.0" name="duration"/> + <field name="project_id" ref="project.project_project_9"/> + <field name="name">Logical Error in Program</field> + <field name="stage_id" ref="project.project_tt_testing"/> + </record> + + <record id="crm_case_constrainterror0" model="project.issue"> + <field eval="time.strftime('%Y-%m-25 13:35:00')" name="date"/> + <field name="priority">2</field> + <field name="user_id" ref="base.user_root"/> + <field name="partner_id" ref="base.res_partner_6"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="7.3" name="duration"/> + <field name="project_id" ref="project.project_project_9"/> + <field name="name">Constraint Error</field> + <field name="stage_id" ref="project.project_tt_testing"/> + </record> + + <record id="crm_case_errorinprogram0" model="project.issue"> + <field eval="time.strftime('%Y-%m-28 15:40:00')" name="date"/> + <field name="priority">2</field> + <field name="user_id" ref="base.user_demo"/> + <field name="partner_id" ref="base.res_partner_5"/> + <field eval="1" name="active"/> + <field eval="1.3" name="duration"/> + <field name="project_id" ref="project.project_project_22"/> + <field name="name">Error in Program</field> + <field name="stage_id" ref="project.project_tt_testing"/> + </record> + + <record id="crm_case_patcheserrorinprogram0" model="project.issue"> + <field eval="time.strftime('%Y-%m-28 16:30:00')" name="date"/> + <field name="priority">2</field> + <field name="user_id" ref="base.user_root"/> + <field name="partner_id" ref="base.res_partner_2"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="13.0" name="duration"/> + <field name="project_id" ref="project.project_project_9"/> + <field name="name">Patches Error in Program</field> + <field name="stage_id" ref="project.project_tt_testing"/> + </record> + + <record id="crm_case_newfeaturestobeadded0" model="project.issue"> + <field eval="time.strftime('%Y-%m-01 12:15:10')" name="date"/> + <field name="priority">4</field> + <field name="user_id" ref="base.user_root"/> + <field name="partner_id" ref="base.res_partner_maxtor"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="3.2" name="duration"/> + <field name="project_id" ref="project.project_project_21"/> + <field name="name">New Features To Be Added</field> + <field name="stage_id" ref="project.project_tt_merge"/> + </record> + + <record id="crm_case_addmenustothemodule0" model="project.issue"> + <field eval="time.strftime('%Y-%m-05 18:00:00')" name="date"/> + <field name="priority">1</field> + <field name="user_id" ref="base.user_demo"/> + <field name="partner_id" ref="base.res_partner_9"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="3.0" name="duration"/> + <field name="project_id" ref="project.project_project_21"/> + <field name="name">Add menus to the module</field> + <field name="email_from">info@opensides.be</field> + <field name="stage_id" ref="project.project_tt_development"/> + </record> + + <record id="crm_case_includeattendancesheetinproject0" model="project.issue"> + <field eval="time.strftime('%Y-%m-10 17:05:30')" name="date"/> + <field name="priority">3</field> + <field name="user_id" ref="base.user_root"/> + <field name="partner_id" ref="base.res_partner_10"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="2.0" name="duration"/> + <field name="project_id" ref="project.project_project_9"/> + <field name="name">Include Attendance sheet in Project</field> + <field name="email_from">contact@tecsas.fr</field> + <field name="stage_id" ref="project.project_tt_development"/> + </record> + + <record id="crm_case_createnewobject0" model="project.issue"> + <field eval="time.strftime('%Y-%m-15 10:35:15')" name="date"/> + <field name="priority">3</field> + <field name="user_id" ref="base.user_root"/> + <field name="partner_id" ref="base.res_partner_6"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="2.45" name="duration"/> + <field name="project_id" ref="project.project_project_22"/> + <field name="name">Create new object</field> + <field name="stage_id" ref="project.project_tt_specification"/> + </record> + + <record id="crm_case_improvereportsinhrms0" model="project.issue"> + <field eval="time.strftime('%Y-%m-19 12:15:00')" name="date"/> + <field name="priority">4</field> + <field name="user_id" ref="base.user_root"/> + <field name="partner_id" ref="base.res_partner_11"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="15.0" name="duration"/> + <field name="project_id" ref="project.project_project_22"/> + <field name="name">Improve Reports in HRMS</field> + <field name="stage_id" ref="project.project_tt_development"/> + </record> + + <record id="crm_case_improvereportsinpms0" model="project.issue"> + <field eval="time.strftime('%Y-%m-21 14:30:00')" name="date"/> + <field name="priority">2</field> + <field name="user_id" ref="base.user_demo"/> + <field name="partner_id" ref="base.res_partner_11"/> + <field name="section_id" ref="crm.section_sales_department"/> + <field eval="1" name="active"/> + <field eval="06.15" name="duration"/> + <field name="project_id" ref="project.project_project_22"/> + <field name="name">Improve Reports in PMS</field> + <field name="stage_id" ref="project.project_tt_specification"/> + </record> + + <!-- Call function to set some issues as 'unread' --> + <function model="project.issue" name="message_mark_as_unread" + eval="[ ref('crm_case_improvereportsinhrms0'), ref('crm_case_createnewobject0')], {}"/> + + </data> </openerp> diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml index e730805fb46..c7e73010b8b 100644 --- a/addons/project_issue/project_issue_view.xml +++ b/addons/project_issue/project_issue_view.xml @@ -16,9 +16,9 @@ <record id="action_project_issue_unread" model="ir.values"> <field name="name">action_project_issue_unread</field> <field name="action_id" ref="actions_server_project_issue_unread"/> - <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_project_issue_unread'))" /> + <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_project_issue_unread'))"/> <field name="key">action</field> - <field name="model_id" ref="model_project_issue" /> + <field name="model_id" ref="model_project_issue"/> <field name="model">project.issue</field> <field name="key2">client_action_multi</field> </record> @@ -34,9 +34,9 @@ <record id="action_project_issue_read" model="ir.values"> <field name="name">action_project_issue_read</field> <field name="action_id" ref="actions_server_project_issue_read"/> - <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_project_issue_read'))" /> + <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_project_issue_read'))"/> <field name="key">action</field> - <field name="model_id" ref="model_project_issue" /> + <field name="model_id" ref="model_project_issue"/> <field name="model">project.issue</field> <field name="key2">client_action_multi</field> </record> @@ -48,7 +48,6 @@ <field name="arch" type="xml"> <search string="Issue Version"> <field name="name" string="Issue Version"/> - <separator orientation="vertical"/> <field name="active"/> </search> </field> @@ -133,15 +132,13 @@ <field name="task_id" on_change="onchange_task_id(task_id)" class="oe_inline"/> <field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}" class="oe_inline"/> </div> + <field name="categ_ids" widget="many2many_tags"/> </group> </group> <notebook> <page string="Description"> <group> <group> - <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/> - </group> - <group> <field name="version_id" widget="selection"/> </group> </group> @@ -194,7 +191,7 @@ <field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/> <field name="stage_id" widget="selection" readonly="1"/> <field name="state" groups="base.group_no_one"/> - <field name="categ_id" invisible="1"/> + <field name="categ_ids" invisible="1"/> <field name="task_id" invisible="1"/> </tree> </field> @@ -206,46 +203,26 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Issue Tracker Search"> - <group> - <field name="name" string="Issue" filter_domain="['|', '|',('partner_id','ilike',self),('email_from','ilike',self),('name','ilike',self)]"/> - <separator orientation="vertical"/> - <filter icon="terp-mail-message-new" - string="Inbox" help="Unread messages" - name="needaction_pending" - domain="[('needaction_pending','=',True)]"/> - <separator orientation="vertical"/> - <filter string="New" icon="terp-document-new" domain="[('state','=','draft')]" help="New Issues"/> - <filter string="To Do" domain="[('state','=','open')]" help="To Do Issues" icon="terp-check"/> - <filter string="Unassigned Issues" domain="[('user_id','=',False)]" help="Unassigned Issues" icon="terp-personal-" /> - <separator orientation="vertical"/> - <field name="user_id"/> - <field name="project_id"/> - <separator orientation="vertical"/> - <field name="id"/> - </group> - <newline/> + <field name="name" string="Issue" filter_domain="['|', '|',('partner_id','ilike',self),('email_from','ilike',self),('name','ilike',self)]"/> + <field name="id"/> + <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> + <filter string="New" icon="terp-document-new" domain="[('state','=','draft')]" help="New Issues"/> + <filter string="To Do" domain="[('state','=','open')]" help="To Do Issues" icon="terp-check"/> + <separator/> + <filter string="Unassigned Issues" domain="[('user_id','=',False)]" help="Unassigned Issues" icon="terp-personal-" /> + <field name="user_id"/> + <field name="project_id"/> <group expand="0" string="Group By..." > - <filter string="Responsible" icon="terp-personal" - domain="[]" context="{'group_by':'user_id'}"/> - <filter string="Partner" icon="terp-partner" domain="[]" - context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> - <filter string="Project" icon="terp-folder-violet" domain="[]" - context="{'group_by':'project_id'}"/> - <filter string="Version" icon="terp-gtk-jump-to-rtl" - domain="[]" context="{'group_by':'version_id'}"/> - <separator orientation="vertical"/> - <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" - context="{'group_by':'categ_id'}"/> - <filter string="Priority" icon="terp-rating-rated" domain="[]" - context="{'group_by':'priority'}"/> - <filter string="Stage" icon="terp-stage" domain="[]" - context="{'group_by':'stage_id'}"/> - <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" - context="{'group_by':'state'}"/> - <separator orientation="vertical"/> - <filter string="Month" icon="terp-go-month" - domain="[]" context="{'group_by':'create_date'}" help="Creation Month"/> + <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> + <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> + <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/> + <filter string="Version" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'version_id'}"/> + <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/> + <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}"/> + <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> + <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" help="Creation Month"/> </group> </search> </field> @@ -265,79 +242,81 @@ </record> - <!-- Project Issue Karban View--> + <!-- Project Issue Karban View--> - <record model="ir.ui.view" id="project_issue_kanban_view"> - <field name="name">Project Issue Kanban</field> - <field name="model">project.issue</field> - <field name="type">kanban</field> - <field name="arch" type="xml"> - <kanban default_group_by="stage_id"> - <field name="color"/> - <field name="priority"/> - <field name="user_email"/> - <field name="user_id"/> - <field name="date_deadline"/> - <templates> - <t t-name="kanban-tooltip"> - <ul class="oe_kanban_tooltip"> - <li><b>Project:</b> <field name="project_id"/></li> - <li><b>Category:</b> <field name="categ_id"/></li> - </ul> - </t> - <t t-name="kanban-box"> - <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click"> - <div class="oe_dropdown_toggle oe_dropdown_kanban"> - <span class="oe_e">i</span> - <ul class="oe_dropdown_menu"> - <li><a type="edit" >Edit...</a></li> - <li><a type="delete">Delete</a></li> - <li><ul class="oe_kanban_colorpicker" data-field="color"/></li> - </ul> - </div> - <div class="oe_kanban_content" tooltip="kanban-tooltip"> - <div> - <b><field name="name"/></b> <br/> - <field name="partner_id"/> <br/> - <field name="version_id"/> - </div> - <div class="oe_kanban_footer_left"> - <div class="oe_right"> - <span class="oe_kanban_highlight"> - <t t-set="priority" t-value="record.priority.raw_value || 5"/> - <a type="object" name="set_priority" args="['3']" t-if="priority gt 3" title="Normal Priority"> - <img src="/web/static/src/img/icons/star-off.png" width="16" height="16"/> - </a> - <a type="object" name="set_priority" args="['5']" t-if="priority lte 3" title="Normal Priority"> - <img t-attf-src="/web/static/src/img/icons/star-#{priority lte 3 ? 'on' : 'off'}.png" width="16" height="16"/> - </a> - <a type="object" name="set_priority" args="['2']" title="High Priority"> - <img t-attf-src="/web/static/src/img/icons/star-#{priority lte 2 ? 'on' : 'off'}.png" width="16" height="16"/> - </a> - <a type="object" name="set_priority" args="['1']" title="Highest Priority"> - <img t-attf-src="/web/static/src/img/icons/star-#{priority == 1 ? 'on' : 'off'}.png" width="16" height="16"/> - </a> - </span> - <t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())"> - <span t-attf-class="oe_kanban_status oe_kaban_status_red"> </span> - </t> - <img t-att-src="kanban_image('res.users', 'avatar', record.user_id.raw_value[0])" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/> + <record model="ir.ui.view" id="project_issue_kanban_view"> + <field name="name">Project Issue Kanban</field> + <field name="model">project.issue</field> + <field name="type">kanban</field> + <field name="arch" type="xml"> + <kanban default_group_by="stage_id"> + <field name="color"/> + <field name="priority"/> + <field name="user_email"/> + <field name="user_id"/> + <field name="date_deadline"/> + <templates> + <t t-name="kanban-tooltip"> + <ul class="oe_kanban_tooltip"> + <li><b>Project:</b> <field name="project_id"/></li> + <li><b>Category:</b> <field name="categ_ids"/></li> + </ul> + </t> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click"> + <div class="oe_dropdown_toggle oe_dropdown_kanban"> + <span class="oe_e">i</span> + <ul class="oe_dropdown_menu"> + <li><a type="edit" >Edit...</a></li> + <li><a type="delete">Delete</a></li> + <li><ul class="oe_kanban_colorpicker" data-field="color"/></li> + </ul> + </div> + <div class="oe_kanban_content" tooltip="kanban-tooltip"> + <div> + <b><field name="name"/></b> <br/> + <field name="partner_id"/> <br/> + <field name="version_id"/> + </div> + <div class="oe_kanban_footer_left"> + <div class="oe_left oe_tags"> + <t t-foreach="record.categ_ids.raw_value" t-as="categ_id"> + <span class="oe_tag" t-att-data-categ_id="categ_id"></span> + </t> + </div> + <div class="oe_right"> + <span class="oe_kanban_highlight"> + <t t-set="priority" t-value="record.priority.raw_value || 5"/> + <a type="object" name="set_priority" args="['3']" t-if="priority gt 3" title="Normal Priority"> + <img src="/web/static/src/img/icons/star-off.png" width="16" height="16"/> + </a> + <a type="object" name="set_priority" args="['5']" t-if="priority lte 3" title="Normal Priority"> + <img t-attf-src="/web/static/src/img/icons/star-#{priority lte 3 ? 'on' : 'off'}.png" width="16" height="16"/> + </a> + <a type="object" name="set_priority" args="['2']" title="High Priority"> + <img t-attf-src="/web/static/src/img/icons/star-#{priority lte 2 ? 'on' : 'off'}.png" width="16" height="16"/> + </a> + <a type="object" name="set_priority" args="['1']" title="Highest Priority"> + <img t-attf-src="/web/static/src/img/icons/star-#{priority == 1 ? 'on' : 'off'}.png" width="16" height="16"/> + </a> + </span> + <t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())"> + <span t-attf-class="oe_kanban_status oe_kaban_status_red"> </span> + </t> + <img t-att-src="kanban_image('res.users', 'avatar', record.user_id.raw_value[0])" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/> + </div> </div> </div> + <div class="oe_clear"></div> </div> - <div class="oe_clear"></div> - </div> - </t> - </templates> - </kanban> - </field> - </record> - + </t> + </templates> + </kanban> + </field> + </record> - # ------------------------------------------------------ - # Feature Requests - # ------------------------------------------------------ + <!-- Feature Requests --> <record model="ir.ui.view" id="project_feature_tree_view"> <field name="name">Project Issue- Feature Tracker Tree</field> <field name="model">project.issue</field> @@ -363,22 +342,17 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Feature Tracker Search"> - <group> - <field name="name" string="Feature description"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-check" domain="[('state','in',('open','draft'))]" help="Current Features" name="current_feature"/> - <filter icon="terp-camera_test" domain="[('state','=','open')]" help="Open Features"/> - <separator orientation="vertical"/> - <field name="user_id"/> - <field name="project_id" string="Project"/> - <field name="state" groups="base.group_no_one"/> - </group> + <field name="name" string="Feature description"/> + <field name="date"/> + <field name="state" groups="base.group_no_one"/> + <filter icon="terp-check" domain="[('state','in',('open','draft'))]" help="Current Features" name="current_feature"/> + <filter icon="terp-camera_test" domain="[('state','=','open')]" help="Open Features"/> + <field name="user_id"/> + <field name="project_id" string="Project"/> </search> </field> </record> - + <act_window id="act_project_project_2_project_issue_all" name="Issues" src_model="project.project" @@ -387,10 +361,7 @@ view_mode="kanban,tree,form,calendar,graph" context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"/> - # ------------------------------------------------------ - # Project - # ------------------------------------------------------ - + <!-- Project --> <record id="view_project_form_inherited" model="ir.ui.view"> <field name="name">project.project.form.inherited</field> <field name="model">project.project</field> @@ -409,7 +380,7 @@ </field> </field> </record> - + <record id="view_project_kanban_inherited" model="ir.ui.view"> <field name="name">project.project.kanban.inherited</field> <field name="model">project.project</field> @@ -427,7 +398,8 @@ </xpath> </field> </record> - <record id="analytic_account_inherited_issue_form" model="ir.ui.view"> + + <record id="analytic_account_inherited_issue_form" model="ir.ui.view"> <field name="name">account.analytic.account.issue.form.inherit</field> <field name="model">account.analytic.account</field> <field name="type">form</field> @@ -438,9 +410,10 @@ <separator colspan="4" string="Project Management" name="project_sep"/> <!-- removal of invisible attribute --> </xpath> <xpath expr='//separator[@name="project_sep"]' position='after'> - <field name="use_issues" /> + <field name="use_issues"/> </xpath> </field> </record> + </data> </openerp> diff --git a/addons/project_issue/report/project_issue_report.py b/addons/project_issue/report/project_issue_report.py index 5957ee284e8..b43cbc51c50 100644 --- a/addons/project_issue/report/project_issue_report.py +++ b/addons/project_issue/report/project_issue_report.py @@ -50,7 +50,6 @@ class project_issue_report(osv.osv): 'opening_date': fields.date('Date of Opening', readonly=True), 'creation_date': fields.date('Creation Date', readonly=True), 'date_closed': fields.date('Date of Closing', readonly=True), - 'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'project.issue')]"), 'stage_id': fields.many2one('project.task.type', 'Stage'), 'nbr': fields.integer('# of Issues', readonly=True), 'working_hours_open': fields.float('Avg. Working Hours to Open', readonly=True), @@ -86,7 +85,6 @@ class project_issue_report(osv.osv): c.working_hours_open, c.working_hours_close, c.section_id, - c.categ_id, c.stage_id, to_char(c.date_closed, 'YYYY-mm-dd') as date_closed, c.company_id as company_id, @@ -104,7 +102,7 @@ class project_issue_report(osv.osv): FROM project_issue c - WHERE c.active= 'true' and c.categ_id IN (select id from crm_case_categ where object_id in (select id from ir_model where model = 'project.issue')) + WHERE c.active= 'true' )""") project_issue_report() diff --git a/addons/project_issue/report/project_issue_report_view.xml b/addons/project_issue/report/project_issue_report_view.xml index 862f52b1931..c1ae69517c2 100644 --- a/addons/project_issue/report/project_issue_report_view.xml +++ b/addons/project_issue/report/project_issue_report_view.xml @@ -17,19 +17,18 @@ <field name="company_id" invisible="1" groups="base.group_multi_company"/> <field name="section_id" invisible="1"/> <field name="user_id" invisible="1"/> - <field name="categ_id" invisible="1"/> <field name="channel_id" invisible="1"/> <field name="partner_id" invisible="1"/> - <field name="task_id" invisible="1"/> + <field name="task_id" invisible="1"/> <field name="date_closed" invisible="1"/> <field name="state" invisible="1"/> <field name="day" invisible="1"/> - <field name="nbr" string="#Project Issues" sum='#Number of Project Issues'/> - <field name="delay_open" avg='Avg Opening Delay'/> - <field name="delay_close" avg='Avg Closing Delay'/> - <field name="working_hours_open" avg='Open Working Hours'/> - <field name="working_hours_close" avg='Close Working hours'/> - <field name="email" sum='# Emails'/> + <field name="nbr" string="#Project Issues" sum="#Number of Project Issues"/> + <field name="delay_open" avg="Avg Opening Delay"/> + <field name="delay_close" avg="Avg Closing Delay"/> + <field name="working_hours_open" avg="Open Working Hours"/> + <field name="working_hours_close" avg="Close Working hours"/> + <field name="email" sum="# Emails"/> </tree> </field> </record> @@ -52,61 +51,30 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search"> - <group> - <field name="creation_date"/> - <separator orientation="vertical" /> - <filter icon="terp-camera_test" - string="New" - domain="[('state','=','draft')]"/> - <filter icon="terp-check" - string="To Do" - domain="[('state','=','open')]"/> - <filter icon="terp-gtk-media-pause" - string="Pending" - domain="[('state','=','pending')]"/> - <filter icon="terp-dialog-close" - string="Done" - domain="[('state','=','done')]"/> - <separator orientation="vertical" /> - <field name="project_id"/> - <field name="user_id" widget="selection"/> - <field name="partner_id"/> - <field name="version_id" widget="selection" /> - </group> - <newline/> - <group expand="1" string="Group By..."> - <filter string="Assigned to" name="Responsible" icon="terp-personal" - domain="[]" context="{'group_by':'user_id'}" /> + <field name="creation_date"/> + <filter icon="terp-camera_test" string="New" domain="[('state','=','draft')]"/> + <filter icon="terp-check" string="To Do" domain="[('state','=','open')]"/> + <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]"/> + <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/> + <field name="project_id"/> + <field name="user_id"/> + <field name="partner_id"/> + <field name="version_id"/> + <group expand="1" string="Group By..."> + <filter string="Assigned to" name="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" /> - <separator orientation="vertical" /> - <filter string="Sale Team" icon="terp-personal+" - domain="[]" - context="{'group_by':'section_id'}" /> - <separator orientation="vertical" /> + <filter string="Sale Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" /> <filter string="Project" name="project" icon="terp-folder-violet" context="{'group_by':'project_id'}" /> <filter string="Task" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'task_id'}"/> - <separator orientation="vertical" /> - <filter string="Category" icon="terp-stock_symbol-selection" - domain="[]" context="{'group_by':'categ_id'}" /> + <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" /> <filter string="Version" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'version_id'}"/> - <separator orientation="vertical" /> <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" /> <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/> - <filter string="Status" icon="terp-stock_effects-object-colorize" - domain="[]" context="{'group_by':'state'}" /> - <separator orientation="vertical"/> - <filter string="Company" icon="terp-go-home" - domain="[]" - context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical" /> - <filter string="Day" icon="terp-go-today" - domain="[]" context="{'group_by':'day'}" help="Creation Date"/> - - <filter string="Month" icon="terp-go-month" - domain="[]" context="{'group_by':'month'}" help="Creation Date"/> - - <filter string="Year" icon="terp-go-year" - domain="[]" context="{'group_by':'name'}" help="Creation Date"/> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" /> + <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> + <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}" help="Creation Date"/> + <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Creation Date"/> + <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'name'}" help="Creation Date"/> </group> </search> </field> diff --git a/addons/project_issue/static/src/js/project_issue.js b/addons/project_issue/static/src/js/project_issue.js new file mode 100644 index 00000000000..24e5ff7cc49 --- /dev/null +++ b/addons/project_issue/static/src/js/project_issue.js @@ -0,0 +1,13 @@ +openerp.portal_project_issue = function(openerp) { + openerp.web_kanban.KanbanView.include({ + on_groups_started: function() { + var self = this; + self._super.apply(this, arguments); + + if (self.dataset.model === 'project.issue') { + // Load project's categories names from m2m field + self.project_display_categ_names(); + } + } + }); +}; diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml index 7d7310465d6..3b814cbab6e 100644 --- a/addons/project_long_term/project_long_term_view.xml +++ b/addons/project_long_term/project_long_term_view.xml @@ -2,12 +2,9 @@ <openerp> <data> - <menuitem id="base.menu_project_long_term" name="Long Term Planning" parent="base.menu_main_pm" sequence="3"/> - - # ------------------------------------------------------ - # Project User Allocation - # ------------------------------------------------------ + <menuitem id="base.menu_project_long_term" name="Long Term Planning" parent="base.menu_main_pm" sequence="3"/> + <!-- Project User Allocation --> <record id="view_project_user_allocation_gantt" model="ir.ui.view"> <field name="name">project.user.allocation.gantt</field> <field name="model">project.user.allocation</field> @@ -69,17 +66,13 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Planning of Users"> - <group> - <field name="user_id"/> - <field name="phase_id"/> - <field name="project_id"/> - </group> - <newline/> + <field name="user_id"/> + <field name="phase_id"/> + <field name="project_id"/> <group expand="0" string="Group By..."> - <filter name="user" string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> - <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/> - <filter string="Phase" icon="terp-project" domain="[]" context="{'group_by':'phase_id'}"/> + <filter name="user" string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> + <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/> + <filter string="Phase" icon="terp-project" domain="[]" context="{'group_by':'phase_id'}"/> </group> </search> </field> @@ -94,9 +87,7 @@ </record> - # ------------------------------------------------------ - # Project Phase - # ------------------------------------------------------ + <!-- Project Phase --> <act_window id="act_project_phases" name="Phases" src_model="project.project" @@ -182,7 +173,7 @@ <form string="Project Users" version="7.0"> <group col="4"> <field name="user_id"/> - <field name="date_start" /> + <field name="date_start"/> <field name="date_end"/> </group> </form> @@ -195,7 +186,7 @@ <field name="name"/> <field name="user_id"/> <field name="date_start"/> - <field name="date_end" /> + <field name="date_end"/> <field name="planned_hours" widget="float_time"/> <field name="project_id" invisible="1"/> <field name="total_hours" sum='Total Hours'/> @@ -272,25 +263,18 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Project Phases"> - <group> - <field name="name" string="Project Phases"/> - <separator orientation="vertical"/> - <field name="date_start"/> - <field name="date_end"/> - <separator orientation="vertical"/> - <filter string="New" domain="[('state','=','draft')]" name="current" help="New Phases" icon="terp-check"/> - <filter string="In Progress" name="Progress" domain="[('state','=','open')]" help="In Progress Phases" icon="terp-camera_test"/> - <filter string="Pending" domain="[('state','=','pending')]" help="Pending Phases" icon="terp-gtk-media-pause"/> - <filter string="My Projects" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-folder-violet"/> - <separator orientation="vertical"/> - <field name="project_id"/> - </group> - <newline/> + <field name="name" string="Project Phases"/> + <field name="date_start"/> + <field name="date_end"/> + <filter string="New" domain="[('state','=','draft')]" name="current" help="New Phases" icon="terp-check"/> + <filter string="In Progress" name="Progress" domain="[('state','=','open')]" help="In Progress Phases" icon="terp-camera_test"/> + <filter string="Pending" domain="[('state','=','pending')]" help="Pending Phases" icon="terp-gtk-media-pause"/> + <separator/> + <filter string="My Projects" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-folder-violet"/> + <field name="project_id"/> <group expand="0" string="Group By..."> <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}" name="project"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Start Month"/> </group> </search> @@ -317,10 +301,7 @@ </record> - # ------------------------------------------------------ - # Project Task - # ------------------------------------------------------ - + <!-- Project Task --> <record id="view_phase_task_form2" model="ir.ui.view"> <field name="name">phase.task.form2</field> <field name="model">project.task</field> @@ -368,16 +349,15 @@ </field> </record> - <act_window - context="{'search_default_phase_id': [active_id], 'default_phase_id' : active_id}" - id="project_phase_task_list" - name="Related Tasks" - res_model="project.task" - src_model="project.phase" - view_mode="tree,form" - /> + <act_window + context="{'search_default_phase_id': [active_id], 'default_phase_id' : active_id}" + id="project_phase_task_list" + name="Related Tasks" + res_model="project.task" + src_model="project.phase" + view_mode="tree,form"/> - <record id="analytic_account_inherited_phase_form" model="ir.ui.view"> + <record id="analytic_account_inherited_phase_form" model="ir.ui.view"> <field name="name">account.analytic.account.phase.form.inherit</field> <field name="model">account.analytic.account</field> <field name="type">form</field> @@ -393,10 +373,7 @@ </field> </record> - # ------------------------------------------------------ - # Menu Items - # ------------------------------------------------------ - + <!-- Menu Items --> <menuitem action="act_project_phase_list" id="menu_project_phase_list" parent="project.menu_project_management" sequence="2"/> diff --git a/addons/project_timesheet/project_timesheet_view.xml b/addons/project_timesheet/project_timesheet_view.xml index 7208885748c..3e627eaf01d 100644 --- a/addons/project_timesheet/project_timesheet_view.xml +++ b/addons/project_timesheet/project_timesheet_view.xml @@ -47,8 +47,9 @@ <field name="type">search</field> <field name="inherit_id" ref="project.view_project_project_filter"/> <field name="arch" type="xml"> - <xpath expr='//filter[@string="Member"]' position='after'> - <filter icon="terp-camera_test" string="Billable" domain="[('to_invoice','!=', False)]" help="Billable Project"/> + <xpath expr='//filter[@string="Project(s) Manager"]' position='after'> + <separator/> + <filter icon="terp-camera_test" string="Billable" domain="[('to_invoice','!=', False)]" help="Billable Project"/> </xpath> </field> </record> diff --git a/addons/project_timesheet/report/task_report.py b/addons/project_timesheet/report/task_report.py index 3c223ab6b07..b32d852bc5f 100644 --- a/addons/project_timesheet/report/task_report.py +++ b/addons/project_timesheet/report/task_report.py @@ -29,22 +29,8 @@ class report_timesheet_task_user(osv.osv): _auto = False _order = "name" - def _get_task_hours(self, cr, uid, ids, name,args,context): - result = {} - for record in self.browse(cr, uid, ids,context): - last_date = datetime.strptime(record.name, '%Y-%m-%d') + relativedelta(months=1) - relativedelta(days=1) - task_obj = self.pool.get('project.task.work') - task_ids = task_obj.search(cr, uid, [('user_id','=',record.user_id.id),('date','>=',record.name),('date','<=',last_date.strftime('%Y-%m-%d'))]) - tsk_hrs = task_obj.read(cr, uid, task_ids, ['hours','date','user_id']) - total = 0.0 - for hrs in tsk_hrs: - total += hrs['hours'] - result[record.id] = total - return result - def get_hrs_timesheet(self, cr, uid, ids, name,args,context): result = {} - sum = 0.0 for record in self.browse(cr, uid, ids, context): last_date = datetime.strptime(record.name, '%Y-%m-%d') + relativedelta(months=1) - relativedelta(days=1) obj = self.pool.get('hr_timesheet_sheet.sheet.day') @@ -63,7 +49,7 @@ class report_timesheet_task_user(osv.osv): ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')],'Month',readonly=True), 'user_id': fields.many2one('res.users', 'User',readonly=True), 'timesheet_hrs': fields.function(get_hrs_timesheet, string="Timesheet Hours"), - 'task_hrs': fields.function(_get_task_hours, string="Task Hours"), + 'task_hrs' : fields.float('Task Hours'), } def init(self, cr): @@ -74,7 +60,9 @@ class report_timesheet_task_user(osv.osv): months.name as name, r.id as user_id, to_char(to_date(months.name, 'YYYY/MM/DD'),'YYYY') as year, - to_char(to_date(months.name, 'YYYY/MM/DD'),'MM') as month + to_char(to_date(months.name, 'YYYY/MM/DD'),'MM') as month, + (select sum(hours) from project_task_work where user_id = r.id and date between to_date(months.name, 'YYYY/MM/DD') and (to_date(months.name, 'YYYY/MM/DD') + interval '1 month' - + interval '1 day') ) as task_hrs from res_users r, (select to_char(p.date,'YYYY-MM-01') as name, to_char(p.date,'MM') as m_id diff --git a/addons/project_timesheet/report/task_report_view.xml b/addons/project_timesheet/report/task_report_view.xml index 7e79b3793b7..32f8719e9a3 100644 --- a/addons/project_timesheet/report/task_report_view.xml +++ b/addons/project_timesheet/report/task_report_view.xml @@ -30,15 +30,10 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Tasks by User"> - <group> - <field name="name" string="Date"/> - <separator orientation="vertical"/> - <field name="user_id"/> - </group> - <newline/> + <field name="name" string="Date"/> + <field name="user_id"/> <group expand="1" string="Group By..."> <filter string="User" name="group_user_id" icon="terp-personal" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of date"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of date"/> </group> diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml index 38a858e94d7..313df25a563 100644 --- a/addons/purchase/purchase_view.xml +++ b/addons/purchase/purchase_view.xml @@ -7,6 +7,7 @@ id="base.menu_purchase_root" groups="group_purchase_manager,group_purchase_user" sequence="40"/> + <menuitem id="menu_procurement_management" name="Purchase" parent="base.menu_purchase_root" sequence="1" /> @@ -54,12 +55,12 @@ action="base.action_partner_category_form" id="menu_partner_categories_in_form" name="Partner Categories" parent="purchase.menu_purchase_partner_cat" groups="base.group_no_one"/> - <!--supplier menu--> + <!--Supplier menu--> <menuitem id="base.menu_procurement_management_supplier_name" name="Suppliers" parent="menu_procurement_management" action="base.action_partner_supplier_form" sequence="15"/> - <!--Inventory control--> + <!--Inventory control--> <menuitem id="menu_procurement_management_inventory" name="Receive Products" parent="base.menu_purchase_root" sequence="4"/> <menuitem action="stock.action_picking_tree4" id="menu_action_picking_tree4" parent="menu_procurement_management_inventory" @@ -80,11 +81,11 @@ <field name="domain">[('type','=','in_invoice')]</field> <field name="context">{'default_type':'in_invoice', 'type':'in_invoice', 'journal_type': 'purchase', 'search_default_draft': 1}</field> <field name="search_view_id" ref="account.view_account_invoice_filter"/> - <field name="help"> - Use this menu to control the invoices to be received from your supplier. - OpenERP generates draft invoices from your purchase orders or receptions, according to your settings. - Once you receive a supplier invoice, you can match it with the draft invoice and validate it. - </field> + <field name="help"> + Use this menu to control the invoices to be received from your supplier. + OpenERP generates draft invoices from your purchase orders or receptions, according to your settings. + Once you receive a supplier invoice, you can match it with the draft invoice and validate it. + </field> </record> <menuitem name="Based on Draft Invoices" @@ -93,7 +94,7 @@ parent="menu_procurement_management_invoice" sequence="13"/> - <!--product menu--> + <!-- Product menu--> <menuitem id="menu_procurement_management_product" name="Products" parent="base.menu_purchase_root" sequence="8"/> @@ -140,7 +141,7 @@ <field name="key2">client_action_multi</field> </record> - <record model="ir.ui.view" id="purchase_order_calendar"> + <record model="ir.ui.view" id="purchase_order_calendar"> <field name="name">purchase.order.calendar</field> <field name="model">purchase.order</field> <field name="type">calendar</field> @@ -245,7 +246,7 @@ <field name="invoice_method"/> <field name="invoiced"/> <field name="fiscal_position"/> - <!-- we do not need these fields anymore, the information is in open chatter --> + <!-- We do not need these fields anymore, the information is in open chatter --> <field name="validator" groups="base.group_no_one"/> <field name="date_approve" groups="base.group_no_one"/> </group> @@ -256,7 +257,7 @@ </notebook> </sheet> <div class="oe_chatter"> - <field name="message_ids" widget="mail_thread"/> + <field name="message_ids" widget="mail_thread"/> </div> </form> </field> @@ -268,29 +269,23 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Purchase Order"> - <group> <field name="name" string="Reference"/> - <separator orientation="vertical"/> <filter icon="terp-document-new" name="draft" string="Quotations" domain="[('state','=','draft')]" help="Purchase order which are in draft state"/> <filter icon="terp-check" name="approved" string="Approved" domain="[('state','in',('approved','done'))]" help="Approved purchase order"/> - <filter icon="terp-gtk-go-back-rtl" name="not_invoiced" string="Not Invoiced" domain="[('invoice_ids','=', False)]" help="Purchase orders that include lines not invoiced."/> <filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state','in',('except_invoice','except_picking'))]" help="Purchase order which are in the exception state"/> - <separator orientation="vertical"/> + <separator/> + <filter icon="terp-gtk-go-back-rtl" name="not_invoiced" string="Not Invoiced" domain="[('invoice_ids','=', False)]" help="Purchase orders that include lines not invoiced."/> <field name="partner_id"/> <field name="product_id"/> <field name="create_uid"/> - </group> - <newline/> - <group expand="0" string="Group By..."> - <filter string="Supplier" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> - <filter string="Source" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/> - <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> - <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/> - <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'minimum_planned_date'}"/> - </group> - </search> + <group expand="0" string="Group By..."> + <filter string="Supplier" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> + <filter string="Source" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> + <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/> + <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'minimum_planned_date'}"/> + </group> + </search> </field> </record> @@ -300,34 +295,25 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Purchase Order"> - <group> <field name="name" string="Reference"/> - <separator orientation="vertical"/> - <filter icon="terp-mail-message-new" - string="Inbox" help="Unread messages" - name="needaction_pending" - domain="[('needaction_pending','=',True)]"/> - <separator orientation="vertical"/> + <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> <filter icon="terp-document-new" name="draft" string="Quotations" domain="[('state','=','draft')]" help="Purchase orders which are in draft state"/> <filter icon="terp-check" name="approved" string="Purchase Orders" domain="[('state','not in',('draft','cancel'))]" help="Approved purchase orders"/> - <filter icon="terp-gtk-go-back-rtl" name="not_invoiced" string="Not Invoiced" domain="[('invoice_ids','=', False)]" help="Purchase orders that include lines not invoiced."/> <filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state','in',('except_invoice','except_picking'))]" help="Purchase orders which are in exception state"/> - <separator orientation="vertical"/> + <separator/> + <filter icon="terp-gtk-go-back-rtl" name="not_invoiced" string="Not Invoiced" domain="[('invoice_ids','=', False)]" help="Purchase orders that include lines not invoiced."/> <field name="partner_id"/> <field name="product_id"/> <field name="create_uid"/> - </group> - <newline/> - <group expand="0" string="Group By..."> - <filter string="Supplier" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> - <filter string="Source" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/> - <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> - <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/> - <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'minimum_planned_date'}"/> - </group> - </search> + <group expand="0" string="Group By..."> + <filter string="Supplier" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> + <filter string="Source" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> + <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/> + <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'minimum_planned_date'}"/> + </group> + </search> </field> </record> @@ -492,21 +478,16 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Purchase Order"> - <group> - <field name="order_id"/> - <field name="product_id"/> - <field name="partner_id" string="Supplier"/> - </group> - <newline/> + <field name="order_id"/> + <field name="product_id"/> + <field name="partner_id" string="Supplier"/> <group expand="0" string="Group By..."> <filter string="Supplier" icon="terp-partner" domain="[]" context="{'group_by' : 'partner_id'}" /> - <separator orientation="vertical"/> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by' : 'product_id'}" /> <filter icon="terp-gtk-jump-to-rtl" string="Order Reference" domain="[]" context="{'group_by' :'order_id'}"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by' : 'state'}" /> </group> - </search> + </search> </field> </record> @@ -559,9 +540,7 @@ parent="menu_procurement_management_invoice" sequence="72"/> - <!-- - Procurements - --> + <!-- Procurements --> <record id="view_procurement_form_inherit" model="ir.ui.view"> <field name="name">procurement.order.form.inherit</field> @@ -574,6 +553,5 @@ </xpath> </field> </record> - </data> </openerp> diff --git a/addons/purchase/report/purchase_report_view.xml b/addons/purchase/report/purchase_report_view.xml index 4cf91053666..aa915c620f5 100644 --- a/addons/purchase/report/purchase_report_view.xml +++ b/addons/purchase/report/purchase_report_view.xml @@ -53,29 +53,16 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Purchase Orders"> - <group> - <filter icon="terp-document-new" - string="Quotations" - name="quotes" - domain="[('state','=','draft')]"/> - <filter icon="terp-gtk-jump-to-rtl" - string="Orders" - name="orders" - domain="[('state','<>','draft'),('state','<>','cancel')]"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="product_id"/> - </group> - <newline/> + <filter icon="terp-document-new" string="Quotations" name="quotes" domain="[('state','=','draft')]"/> + <filter icon="terp-gtk-jump-to-rtl" string="Orders" name="orders" domain="[('state','<>','draft'),('state','<>','cancel')]"/> + <field name="partner_id"/> + <field name="product_id"/> <group expand="0" string="Extended Filters..."> <field name="user_id"/> <field name="validator"/> - <separator orientation="vertical"/> <field name="location_id"/> - <field name="warehouse_id" widget="selection"/> - <separator orientation="vertical"/> + <field name="warehouse_id"/> <field name="company_id" groups="base.group_multi_company"/> - <newline/> <field name="date"/> <field name="date_approve"/> <field name="expected_date"/> @@ -85,7 +72,6 @@ <filter string="Supplier" name="group_partner_id" icon="terp-personal" context="{'group_by':'partner_id'}"/> <filter string="Responsible" name="Responsible" icon="terp-personal" context="{'group_by':'user_id'}"/> <filter string="Validated by" icon="terp-personal" context="{'group_by':'validator'}"/> - <separator orientation="vertical"/> <filter string="Product" name="group_product_id" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/> <filter string="Category" name="group_category_id" icon="terp-stock_symbol-selection" context="{'group_by':'category_id'}"/> <filter string="Reference Unit of Measure" name="group_product_uom" icon="terp-mrp" context="{'group_by':'product_uom'}"/> @@ -93,11 +79,8 @@ <filter string="Reference UOM" name="group_product_uom" icon="terp-mrp" context="{'group_by':'product_uom'}"/> <filter string="Warehouse" icon="terp-go-home" context="{'group_by':'warehouse_id'}"/> <filter string="Destination" icon="terp-gtk-jump-to-ltr" context="{'group_by':'location_id'}"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Order of Day"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Order of Month"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'name'}" help="Order of Year"/> diff --git a/addons/purchase/stock_view.xml b/addons/purchase/stock_view.xml index 27318adc0f5..2191e642ab2 100644 --- a/addons/purchase/stock_view.xml +++ b/addons/purchase/stock_view.xml @@ -46,35 +46,21 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Picking to Invoice"> - <group col="8" colspan="4"> - <field name="name" string="Picking to Invoice" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/> - <separator orientation="vertical"/> - <filter icon="terp-check" name="available" string="Available" - domain="[('state','=','assigned')]" help="Incoming Shipments Available"/> - <filter icon="terp-dialog-close" name="done" string="Received" - domain="[('state','=','done')]" help="Incoming Shipments already Received"/> - <filter icon="terp-accessories-archiver-minus" string="Back Orders" - domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/> - <filter string="To Invoice" name="to_invoice" icon="terp-dolar" - domain="[('invoice_state', '=', '2binvoiced')]"/> - <separator orientation="vertical"/> - <field name="stock_journal_id" widget="selection"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - <field name="purchase_id" /> - </group> - <newline/> + <field name="name" string="Picking to Invoice" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/> + <filter icon="terp-check" name="available" string="Available" domain="[('state','=','assigned')]" help="Incoming Shipments Available"/> + <filter icon="terp-dialog-close" name="done" string="Received" domain="[('state','=','done')]" help="Incoming Shipments already Received"/> + <separator/> + <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/> + <separator/> + <filter string="To Invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]"/> + <field name="stock_journal_id"/> + <field name="company_id" groups="base.group_multi_company"/> + <field name="purchase_id" /> <group expand="0" string="Group By..." colspan="4" col="8"> - <separator orientation="vertical"/> - <filter icon="terp-stock_effects-object-colorize" name="Status" string="Status" - domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> - <filter string="Order Date" icon="terp-go-month" - domain="[]" context="{'group_by':'date'}"/> - <filter string="Scheduled Date" icon="terp-go-month" - domain="[]" context="{'group_by':'min_date'}"/> - <separator orientation="vertical"/> - <filter string="Journal" icon="terp-folder-orange" - domain="[]" context="{'group_by':'stock_journal_id'}"/> + <filter icon="terp-stock_effects-object-colorize" name="Status" string="Status" domain="[]" context="{'group_by':'state'}"/> + <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/> + <filter string="Scheduled Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/> + <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/> </group> </search> </field> diff --git a/addons/purchase_requisition/purchase_requisition_view.xml b/addons/purchase_requisition/purchase_requisition_view.xml index c1fc14c29bf..e0b8db4862f 100644 --- a/addons/purchase_requisition/purchase_requisition_view.xml +++ b/addons/purchase_requisition/purchase_requisition_view.xml @@ -134,28 +134,21 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Purchase Requisition"> - <group> <field name="name" string="Purchase Requisition"/> - <separator orientation="vertical"/> + <field name="exclusive" /> <filter icon="terp-document-new" name="draft" string="New" domain="[('state','=','draft')]" help="New Purchase Requisition"/> <filter icon="terp-camera_test" string="Sent to Suppliers" domain="[('state','=','in_progress')]" help="Purchase Requisition in negociation"/> <filter icon="terp-dialog-close" string="Purchase Done" domain="[('state','=','done')]" help="Current Purchase Requisition"/> - <separator orientation="vertical"/> + <separator/> <filter icon="terp-personal-" string="Unassigned" domain="[('user_id','=', False)]" help="Unassigned Requisition"/> - <separator orientation="vertical"/> <field name="user_id" /> - <field name="exclusive" /> - </group> - <newline/> - <group expand="0" string="Group By..."> - <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> - <filter string="Source" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/> - <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> - <filter string="Start Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}"/> - <filter string="End Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_end'}"/> - </group> + <group expand="0" string="Group By..."> + <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> + <filter string="Source" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/> + <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> + <filter string="Start Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}"/> + <filter string="End Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_end'}"/> + </group> </search> </field> </record> diff --git a/addons/report_intrastat/report_intrastat_view.xml b/addons/report_intrastat/report_intrastat_view.xml index c481296196c..73cf99bec34 100644 --- a/addons/report_intrastat/report_intrastat_view.xml +++ b/addons/report_intrastat/report_intrastat_view.xml @@ -99,12 +99,10 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Intrastat Data"> - <group> - <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Intrastat Data"/> - <field name="intrastat_id"/> - <field name="month"/> - <field name="type"/> - </group> + <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Intrastat Data"/> + <field name="month"/> + <field name="type"/> + <field name="intrastat_id"/> </search> </field> </record> diff --git a/addons/resource/resource_view.xml b/addons/resource/resource_view.xml index 8a0823a8c15..5b388469f3c 100644 --- a/addons/resource/resource_view.xml +++ b/addons/resource/resource_view.xml @@ -10,23 +10,15 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Resource"> - <group> - <field name="name" string="Resource"/> - <separator orientation="vertical"/> - <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/> - <separator orientation="vertical"/> - <field name="user_id" string="User"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - <field name="resource_type"/> - </group> - <newline/> + <field name="name" string="Resource"/> + <field name="resource_type"/> + <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/> + <field name="user_id" string="User"/> + <field name="company_id" groups="base.group_multi_company"/> <group expand="0" string="Group By..."> <filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'resource_type'}"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical" /> <filter string="Working Period" icon="terp-go-today" domain="[]" context="{'group_by':'calendar_id'}"/> </group> </search> @@ -39,12 +31,9 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Working Time"> - <group> - <field name="name" string="Working Time"/> - <separator orientation="vertical"/> - <field name="manager"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - </group> + <field name="name" string="Working Time"/> + <field name="manager"/> + <field name="company_id" groups="base.group_multi_company"/> </search> </field> </record> @@ -55,19 +44,13 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Working Period Leaves"> - <group> - <field name="name" string="Reason"/> - <separator orientation="vertical"/> - <field name="resource_id" string="Resource"/> - <field name="company_id" string="Company" widget="selection" groups="base.group_multi_company"/> - <field name="calendar_id" string="Working Period" widget="selection"/> - </group> - <newline/> - <group expand="0" string="Group By..."> + <field name="name" string="Reason"/> + <field name="resource_id" string="Resource"/> + <field name="company_id" string="Company" groups="base.group_multi_company"/> + <field name="calendar_id" string="Working Period"/> + <group expand="0" string="Group By..."> <filter string="Resource" icon="terp-personal" domain="[]" context="{'group_by':'resource_id'}"/> - <separator orientation="vertical"/> <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_from'}" help="Starting Date of Leave"/> </group> </search> diff --git a/addons/sale/i18n/mn.po b/addons/sale/i18n/mn.po index 2fc96bd7db5..ced25296fcc 100644 --- a/addons/sale/i18n/mn.po +++ b/addons/sale/i18n/mn.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n" -"PO-Revision-Date: 2012-05-10 17:34+0000\n" -"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n" +"PO-Revision-Date: 2012-07-31 11:44+0000\n" +"Last-Translator: gobi <Unknown>\n" "Language-Team: Mongolian <mn@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-21 05:07+0000\n" -"X-Generator: Launchpad (build 15654)\n" +"X-Launchpad-Export-Date: 2012-08-01 04:43+0000\n" +"X-Generator: Launchpad (build 15719)\n" #. module: sale #: field:sale.config.picking_policy,timesheet:0 @@ -1491,7 +1491,7 @@ msgstr "Борлуулалт Захиалгын Мөр Нэхэмжлэх Үүс #. module: sale #: selection:sale.order,state:0 selection:sale.report,state:0 msgid "Invoice Exception" -msgstr "Нэхэмжлэлийн алдаа" +msgstr "Нэхэмжлэлийн сондгойрол" #. module: sale #: model:process.node,note:sale.process_node_saleorder0 diff --git a/addons/sale/report/sale_report_view.xml b/addons/sale/report/sale_report_view.xml index 8eb4fc85ce6..1ac6d425530 100644 --- a/addons/sale/report/sale_report_view.xml +++ b/addons/sale/report/sale_report_view.xml @@ -50,53 +50,35 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Sales Analysis"> - <group> - <field name="date"/> - <field name="date_confirm"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" - string="Quotations" - domain="[('state','=','draft')]"/> - <filter icon="terp-check" - string="Sales" - domain="[('state','not in',('draft','done','cancel'))]"/> - <filter icon="terp-accessories-archiver" - string="Picked" - domain="[('shipped','=',True)]"/> - <filter icon="terp-personal" - string="My Sales" - help="My Sales" - domain="[('user_id','=',uid)]"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="product_id"/> - <field name="user_id"/> - </group> - <newline/> + <field name="date"/> + <field name="date_confirm"/> + <filter icon="terp-document-new" string="Quotations" domain="[('state','=','draft')]"/> + <filter icon="terp-check" string="Sales" domain="[('state','not in',('draft','done','cancel'))]"/> + <separator/> + <filter icon="terp-accessories-archiver" string="Picked" domain="[('shipped','=',True)]"/> + <separator/> + <filter icon="terp-personal" string="My Sales" help="My Sales" domain="[('user_id','=',uid)]"/> + <field name="partner_id"/> + <field name="product_id"/> + <field name="user_id"/> <group expand="0" string="Extended Filters..."> - <field name="shop_id" widget="selection"/> - <field name="categ_id" widget="selection"/> - <field name="company_id" groups="base.group_multi_company" widget="selection"/> + <field name="shop_id"/> + <field name="categ_id"/> + <field name="company_id" groups="base.group_multi_company"/> </group> - <newline/> <group expand="1" string="Group By..."> <filter string="Salesperson" icon="terp-personal" name="User" context="{'group_by':'user_id'}"/> <filter string="Partner" icon="terp-partner" name="Customer" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True}"/> <filter string="Reference Unit of Measure" icon="terp-mrp" context="{'group_by':'product_uom'}"/> <filter string="Category of Product" icon="terp-stock_symbol-selection" name="Category" context="{'group_by':'categ_id'}"/> - <separator orientation="vertical" groups="analytic.group_analytic_accounting"/> <filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'analytic_account_id'}" groups="analytic.group_analytic_accounting"/> - <separator orientation="vertical" groups="analytic.group_analytic_accounting"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Shop" icon="terp-go-home" context="{'group_by':'shop_id'}"/> <filter string="Company" icon="terp-go-home" groups="base.group_multi_company" context="{'group_by':'company_id'}"/> - <separator orientation="vertical"/> - <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Ordered date of the sales order"/> - <filter string="Month" name="order_month" icon="terp-go-month" context="{'group_by':'month'}" help="Ordered month of the sales order"/> - <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Ordered Year of the sales order"/> + <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Ordered date of the sales order"/> + <filter string="Month" name="order_month" icon="terp-go-month" context="{'group_by':'month'}" help="Ordered month of the sales order"/> + <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Ordered Year of the sales order"/> </group> </search> </field> diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index a73f7744e53..48e823250dc 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -359,26 +359,19 @@ <field name="arch" type="xml"> <search string="Search Sales Order"> <field name="name" string="Sales Order" filter_domain="['|',('name','ilike',self),('client_order_ref','ilike',self)]"/> - <separator orientation="vertical"/> - <filter icon="terp-mail-message-new" - string="Inbox" help="Unread messages" - name="needaction_pending" - domain="[('needaction_pending','=',True)]"/> - <separator orientation="vertical"/> + <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/> + <separator/> <filter icon="terp-document-new" string="Quotations" name="draft" domain="[('state','in',('draft','sent'))]" help="Sales Order that haven't yet been confirmed"/> <filter icon="terp-check" string="Sales" name="sales" domain="[('state','in',('manual','progress'))]"/> <filter icon="terp-dolar_ok!" string="To Invoice" domain="[('state','=','manual')]" help="Sales Order ready to be invoiced"/> + <separator/> <filter string="My Sale Orders" domain="[('user_id','=',uid)]" help="My Sale Orders" icon="terp-personal" name="my_sale_orders_filter"/> - <separator orientation="vertical"/> <field name="partner_id"/> <field name="user_id"/> - <newline/> <group expand="0" string="Group By..."> <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/> </group> </search> @@ -531,13 +524,12 @@ <field name="arch" type="xml"> <search string="Search Sales Order"> <filter icon="terp-dolar_ok!" string="To Invoice" domain="[('invoiced','<>', 1),('state','=','done')]" help="Sale Order Lines ready to be invoiced"/> + <separator/> <filter string="My Sales Order Lines" icon="terp-personnal" domain="[('salesman_id','=',uid)]" help="Sales Order Lines related to a Sales Order of mine"/> - <separator orientation="vertical"/> <field name="order_id"/> <field name="order_partner_id"/> <field name="product_id"/> <field name="salesman_id"/> - <newline/> <group expand="0" string="Group By..."> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> <filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'order_id'}"/> @@ -557,18 +549,17 @@ <filter icon="terp-gtk-go-back-rtl" string="To Do" domain="[('state','=','confirmed')]" name="sale order" help="Confirmed sale order lines, not yet delivered"/> <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]" name="sale_order_done" help="Sale order lines done"/> <filter icon="terp-accessories-archiver" string="Shipped" domain="[('state','=','done')]" name="unshipped" help="Sale Order Lines that are in 'done' state"/> + <separator/> <filter icon="terp-dolar_ok!" string="Uninvoiced" name="uninvoiced" domain="[('invoiced','<>', 1),('state','<>','draft'),('state','<>','cancel')]" help="Sale Order Lines that are confirmed, done or in exception state and haven't yet been invoiced"/> + <separator/> <filter string="My Sales Order Lines" icon="terp-personal" domain="[('salesman_id','=',uid)]" help="My Sales Order Lines"/> - <separator orientation="vertical"/> <field name="order_id"/> <field name="order_partner_id"/> <field name="product_id"/> <field name="salesman_id"/> - <newline/> <group expand="0" string="Group By..."> <filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'order_id'}" help="Order reference"/> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> </group> </search> diff --git a/addons/sale_crm/i18n/ja.po b/addons/sale_crm/i18n/ja.po index 44e1c1cc23a..aeabdf25de4 100644 --- a/addons/sale_crm/i18n/ja.po +++ b/addons/sale_crm/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-31 04:58+0000\n" -"X-Generator: Launchpad (build 15702)\n" +"X-Launchpad-Export-Date: 2012-08-01 04:43+0000\n" +"X-Generator: Launchpad (build 15719)\n" #. module: sale_crm #: field:sale.order,categ_id:0 diff --git a/addons/sale_crm/sale_crm_view.xml b/addons/sale_crm/sale_crm_view.xml index d6b7f28d049..6efaea2ac53 100644 --- a/addons/sale_crm/sale_crm_view.xml +++ b/addons/sale_crm/sale_crm_view.xml @@ -36,13 +36,14 @@ <field name="inherit_id" ref="sale.view_sales_order_filter"/> <field name="arch" type="xml"> <xpath expr="//filter[@name='my_sale_orders_filter']" position="after"> + <separator/> <filter string="My Sales Team(s)" icon="terp-personal+" domain="[('section_id.user_id','=',uid)]" help="My Sales Team(s)"/> </xpath> <xpath expr="//field[@name='user_id']" position="after"> - <field name="section_id" widget="selection" string="Sales Team"/> + <field name="section_id" string="Sales Team"/> </xpath> </field> </record> diff --git a/addons/sale_margin/i18n/ja.po b/addons/sale_margin/i18n/ja.po index e9c76e11755..d0b51f8404f 100644 --- a/addons/sale_margin/i18n/ja.po +++ b/addons/sale_margin/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-31 04:58+0000\n" -"X-Generator: Launchpad (build 15702)\n" +"X-Launchpad-Export-Date: 2012-08-01 04:44+0000\n" +"X-Generator: Launchpad (build 15719)\n" #. module: sale_margin #: sql_constraint:sale.order:0 diff --git a/addons/share/res_users_view.xml b/addons/share/res_users_view.xml index defbc522340..3af69bb025b 100644 --- a/addons/share/res_users_view.xml +++ b/addons/share/res_users_view.xml @@ -7,8 +7,7 @@ <field name="type">search</field> <field name="inherit_id" ref="base.view_users_search"/> <field name="arch" type="xml"> - <xpath expr="//field[@name='name']" position="after"> - <separator orientation="vertical"/> + <xpath expr="//field[@name='company_ids']" position="after"> <filter name="no_share" string="Regular users only (no share user)" icon="terp-partner" domain="[('share','=',False)]"/> </xpath> @@ -32,11 +31,8 @@ <field name="arch" type="xml"> <search string="Groups"> <field name="name" string="Group"/> - <separator orientation="vertical"/> - <filter name="no_share" string="Regular groups only (no share groups)" icon="terp-partner" - domain="[('share','=',False)]"/> - <separator orientation="vertical"/> <field name="share"/> + <filter name="no_share" string="Regular groups only (no share groups)" icon="terp-partner" domain="[('share','=',False)]"/> </search> </field> </record> diff --git a/addons/stock/product_view.xml b/addons/stock/product_view.xml index 04a0959739a..70fb06709f6 100644 --- a/addons/stock/product_view.xml +++ b/addons/stock/product_view.xml @@ -9,8 +9,8 @@ <field name="inherit_id" ref="product.product_search_form_view"/> <field name="arch" type="xml"> <field name="pricelist_id" position="before"> - <field name="location_id" widget="selection" context="{'location': self}"/> - <field name="warehouse_id" widget="selection" context="{'warehouse': self}"/> + <field name="location_id" context="{'location': self}"/> + <field name="warehouse_id" context="{'warehouse': self}"/> </field> </field> </record> @@ -105,15 +105,15 @@ <group name="status" position="before" version="7.0"> <group string="Stock and Expected Variations"> <field name="qty_available"/> - <field name="incoming_qty"/> - <label for="virtual_available"/> - <div> + <field name="incoming_qty" groups="base.group_user"/> + <label for="virtual_available" groups="base.group_user"/> + <div groups="base.group_user"> <field name="virtual_available" class="oe_inline"/> <button name="%(action_view_change_product_quantity)d" string="Update" attrs="{'invisible': [('type', '=', 'service')]}" type="action" icon="gtk-execute" groups="stock.group_stock_manager,stock.group_stock_user" class="oe_inline"/> </div> - <field name="outgoing_qty"/> + <field name="outgoing_qty" groups="base.group_user"/> </group> <group name="lot" groups="stock.group_tracking_lot,stock.group_production_lot" string="Lots"> <field name="track_production" groups="stock.group_production_lot"/> @@ -123,7 +123,7 @@ </group> </field> </record> - + <record id="action_receive_move" model="ir.actions.act_window"> <field name="name">Receive Products</field> <field name="res_model">stock.move</field> @@ -136,7 +136,7 @@ <field name="search_view_id" ref="view_move_search_reception_incoming_picking"/> <field name="help">Here you can receive individual products, no matter what purchase order or picking order they come from. You will find the list of all products you are waiting for. Once you receive an order, you can filter based on the name of the supplier or the purchase order reference. Then you can confirm all products received using the buttons on the right of each line.</field> </record> - + <record id="action_deliver_move" model="ir.actions.act_window"> <field name="name">Receive Products</field> <field name="res_model">stock.move</field> @@ -215,17 +215,5 @@ </field> </record> -<!-- <record id="view_product_valuation_form" model="ir.ui.view"> - <field name="name">product.valuation.stock.form.inherit</field> - <field name="model">product.product</field> - <field name="type">form</field> - <field name="inherit_id" ref="product.product_normal_form_view"/> - <field name="arch" type="xml"> - <field name="cost_method" position="after"> - <field name="valuation"/> - </field> - </field> - </record>--> - </data> </openerp> diff --git a/addons/stock/report/report_stock_move_view.xml b/addons/stock/report/report_stock_move_view.xml index 89cbd9c1340..56d17976aad 100644 --- a/addons/stock/report/report_stock_move_view.xml +++ b/addons/stock/report/report_stock_move_view.xml @@ -56,52 +56,33 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Moves Analysis"> - <group> - <filter string="Done" - name="done" - icon="terp-dialog-close" - domain="[('state','=','done')]" - help = "Completed Stock-Moves"/> - <filter string="Todo" - icon="terp-gtk-go-back-rtl" - domain="[('state','in',('assigned','waiting','confirmed'))]" - help = "Future Stock-Moves"/> - <filter icon="terp-go-home" name="in" string="Incoming" domain="[('type','=','in')]"/> - <filter icon="terp-go-home" name="internal" string="Internal" domain="[('type','=','internal')]"/> - <filter icon="terp-go-home" name="out" string="Outgoing" domain="[('type','=','out')]"/> - <separator orientation="vertical"/> - <field name="product_id" default_focus="1"/> - <field name="partner_id" context="{'contact_display':'partner'}"/> - </group> - <newline/> + <filter string="Done" name="done" icon="terp-dialog-close" domain="[('state','=','done')]" help = "Completed Stock-Moves"/> + <filter string="Todo" icon="terp-gtk-go-back-rtl" domain="[('state','in',('assigned','waiting','confirmed'))]" help = "Future Stock-Moves"/> + <separator/> + <filter icon="terp-go-home" name="in" string="Incoming" domain="[('type','=','in')]"/> + <filter icon="terp-go-home" name="internal" string="Internal" domain="[('type','=','internal')]"/> + <filter icon="terp-go-home" name="out" string="Outgoing" domain="[('type','=','out')]"/> + <field name="product_id" default_focus="1"/> + <field name="partner_id" context="{'contact_display':'partner'}"/> <group expand="0" string="Extended Filters..."> <field name="location_id" /> <field name="location_dest_id" /> <field name="categ_id"/> <field name="stock_journal"/> - <separator orientation="vertical"/> - <field name="company_id" groups="base.group_multi_company" widget = "selection"/> - <newline/> + <field name="company_id" groups="base.group_multi_company"/> <field name="date"/> </group> - <newline/> <group expand="1" string="Group By..."> <filter name="group_partner" string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter name="group_categ_id" string="Product Category" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id'}"/> <filter name="group_product" string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/> - <separator orientation="vertical"/> <filter name="group_picking" string="Shipment" icon="terp-accessories-archiver" context="{'group_by':'picking_id'}"/> - <separator orientation="vertical"/> <filter string="Source Location" name="src_location" icon="terp-gtk-jump-to-rtl" context="{'group_by':'location_id'}"/> <filter string="Dest. Location" name="dest_location" icon="terp-gtk-jump-to-ltr" context="{'group_by':'location_dest_id'}"/> - <separator orientation="vertical"/> <filter string="Type" name="group_type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}" help="Shipping type specify, goods coming in or going out"/> <filter string="Status" name="group_state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> <filter string="Stock journal" name="group_stock_journal" icon="terp-folder-orange" context="{'group_by':'stock_journal'}"/> - <separator orientation="vertical"/> <filter string="Company" name="group_state" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> - <separator orientation="vertical"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Day Planned"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'date'}" help="Month Planned"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Year Planned"/> @@ -163,23 +144,15 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Inventory Analysis"> - <group> - <filter string="Real" - name="real" - icon="terp-check" - domain="[('state','=','done')]" - help="Analysis of current inventory (only moves that have already been processed)"/> - <filter string="Future" - icon="terp-stock" - domain="[('state','in',('assigned','done','waiting','confirmed'))]" - help = "Analysis including future moves (similar to virtual stock)"/> - <filter icon="terp-go-home" name="location_type_internal" string="Internal" domain="[('location_type','=','internal')]"/> - <separator orientation="vertical"/> - <field name="product_id" default_focus="1"/> - <field name="location_id" filter_domain="[('location_id', 'child_of', self)]"/> - <field name="company_id" groups="base.group_multi_company"/> - </group> - <newline/> + <filter string="Real" name="real" icon="terp-check" domain="[('state','=','done')]" + help="Analysis of current inventory (only moves that have already been processed)"/> + <filter string="Future" icon="terp-stock" domain="[('state','in',('assigned','done','waiting','confirmed'))]" + help = "Analysis including future moves (similar to virtual stock)"/> + <separator/> + <filter icon="terp-go-home" name="location_type_internal" string="Internal" domain="[('location_type','=','internal')]"/> + <field name="product_id" default_focus="1"/> + <field name="location_id" filter_domain="[('location_id', 'child_of', self)]"/> + <field name="company_id" groups="base.group_multi_company"/> <group expand="0" string="Extended Filters..."> <field name="partner_id" context="{'contact_display':'partner'}"/> <field name="product_categ_id" /> @@ -189,17 +162,13 @@ <field name="date"/> <filter icon="terp-go-home" name="location_type_scrap" string="Scrap" domain="[('location_type','=','scrap')]"/> </group> - <newline/> <group expand="1" string="Group By..." > <filter string="Partner" name="group_partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter name="group_product_categ_id" string="Product Category" icon="terp-stock_symbol-selection" context="{'group_by':'product_categ_id'}"/> <filter name="group_product" string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/> - <filter name="group_lot" string="Lot" icon="terp-accessories-archiver" context="{'group_by':'prodlot_id'}"/> - <separator orientation="vertical"/> + <filter name="group_lot" string="Lot" icon="terp-accessories-archiver" context="{'group_by':'prodlot_id'}"/> <filter name="group_company" string="Company" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}"/> <filter name="group_location" string="Location" icon="terp-go-home" context="{'group_by':'location_id'}"/> - <separator orientation="vertical"/> <filter string="Date" icon="terp-go-month" context="{'group_by':'date'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> </group> diff --git a/addons/stock/report/report_stock_view.xml b/addons/stock/report/report_stock_view.xml index 69a7829f565..15dafbfdbc1 100644 --- a/addons/stock/report/report_stock_view.xml +++ b/addons/stock/report/report_stock_view.xml @@ -35,14 +35,10 @@ <field name="arch" type="xml"> <search string="Dates of Inventories"> <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-accessories-archiver" name="stockable" string="Stockable" - domain="[('product_id.type','=', 'product')]"/> - <filter icon="terp-accessories-archiver" string="Consumable" - domain="[('product_id.type','=', 'consu')]"/> - <filter icon="terp-accessories-archiver-minus" string="Non Inv" - domain="[('date','=', False)]"/> - <separator orientation="vertical"/> + <filter icon="terp-accessories-archiver" name="stockable" string="Stockable" domain="[('product_id.type','=', 'product')]"/> + <filter icon="terp-accessories-archiver" string="Consumable" domain="[('product_id.type','=', 'consu')]"/> + <separator/> + <filter icon="terp-accessories-archiver-minus" string="Non Inv" domain="[('date','=', False)]"/> <field name="product_id"/> </search> </field> diff --git a/addons/stock/stock_demo.xml b/addons/stock/stock_demo.xml index ec0860f62c7..03a107b6947 100644 --- a/addons/stock/stock_demo.xml +++ b/addons/stock/stock_demo.xml @@ -6,9 +6,9 @@ <field eval="[(4, ref('group_stock_user'))]" name="groups_id"/> </record> - <!-- - Resource: stock.location - --> + + <!-- Resource: stock.location --> + <record id="stock_location_3" model="stock.location"> <field name="name">IT Suppliers</field> <field name="location_id" ref="stock_location_suppliers"/> @@ -44,16 +44,14 @@ </record> - <!-- - Resource: stock.inventory - --> + <!-- Resource: stock.inventory --> <record id="stock_inventory_0" model="stock.inventory"> <field name="name">Starting Inventory</field> </record> - <!-- - Resource: stock.inventory.line - --> + + + <!-- Resource: stock.inventory.line --> <record id="stock_inventory_line_0" model="stock.inventory.line"> <field name="product_id" ref="product.product_product_pc1"/> @@ -185,10 +183,10 @@ <field eval="0" name="supplier"/> <field name="is_company">1</field> <field eval="1" name="active"/> - <field eval=""""Shop 1"""" name="name"/> + <field name="name">Shop 1</field> </record> <record id="res_partner_address_fabien0" model="res.partner"> - <field eval=""""Felix"""" name="name"/> + <field name="name">Felix</field> <field name="parent_id" ref="res_partner_tinyshop0"/> <field name="use_parent_address" eval="1"/> <field eval="1" name="active"/> @@ -197,17 +195,17 @@ <field name="currency_id" ref="base.EUR"/> <field name="partner_id" ref="res_partner_tinyshop0"/> <field name="parent_id" ref="base.main_company"/> - <field eval=""""Shop 1"""" name="name"/> + <field name="name">Shop 1</field> </record> <record id="res_partner_tinyshop1" model="res.partner"> <field eval="1" name="customer"/> <field eval="0" name="supplier"/> <field eval="1" name="active"/> <field name="is_company">1</field> - <field eval=""""Shop 2"""" name="name"/> + <field name="name">Shop 2</field> </record> <record id="res_partner_address_eric0" model="res.partner"> - <field eval=""""Edwin"""" name="name"/> + <field name="name">Edwin</field> <field name="parent_id" ref="res_partner_tinyshop1"/> <field name="use_parent_address" eval="1"/> <field eval="1" name="active"/> @@ -216,36 +214,36 @@ <field name="currency_id" ref="base.EUR"/> <field name="partner_id" ref="res_partner_tinyshop1"/> <field name="parent_id" ref="base.main_company"/> - <field eval=""""Shop 2"""" name="name"/> + <field name="name">Shop 2</field> </record> <record id="stock_location_shop0" model="stock.location"> <field model="res.partner" name="partner_id" search="[('name','=','Fabien')]"/> <field name="location_id" ref="stock.stock_location_locations"/> <field name="company_id" ref="res_company_shop0"/> - <field eval=""""internal"""" name="usage"/> - <field eval=""""none"""" name="chained_location_type"/> + <field name="usage">internal</field> + <field name="chained_location_type">none</field> <field eval="1" name="active"/> - <field eval=""""Shop 1"""" name="name"/> - <field eval=""""manual"""" name="chained_auto_packing"/> + <field name="name">Shop 1</field> + <field name="chained_auto_packing">manual</field> </record> <record id="stock_location_shop1" model="stock.location"> <field model="res.partner" name="partner_id" search="[('name','=','Eric')]"/> <field name="company_id" ref="res_company_tinyshop0"/> <field name="location_id" ref="stock.stock_location_locations"/> - <field eval=""""internal"""" name="usage"/> + <field name="usage">internal</field> <field eval="1" name="active"/> - <field eval=""""Shop 2"""" name="name"/> + <field name="name">Shop 2</field> </record> <record id="stock_location_intermediatelocation0" model="stock.location"> <field name="partner_id" ref="base.main_partner"/> <field name="location_id" ref="stock.stock_location_locations_partner"/> - <field eval=""""procurement"""" name="usage"/> - <field eval=""""Internal Shippings"""" name="name"/> + <field name="usage">procurement</field> + <field name="name">Internal Shippings</field> </record> <record id="stock_warehouse_shop0" model="stock.warehouse"> <field name="lot_output_id" ref="stock.stock_location_output"/> - <field eval=""""Shop 1"""" name="name"/> + <field name="name">Shop 1</field> <field name="lot_stock_id" ref="stock_location_shop0"/> <field name="partner_id" ref="res_partner_address_fabien0"/> <field name="company_id" ref="res_company_shop0"/> @@ -266,5 +264,6 @@ <field eval="'account.account,'+str(ref('account.stk'))" model="account.account" name="value"/> <field name="company_id" ref="base.main_company"/> </record> + </data> </openerp> diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index 6fe610012c1..3c08c1eaff0 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -79,14 +79,9 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Inventory"> - <group> - <field name="name" string="Inventory Reference"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <field name="company_id" groups="base.group_multi_company" widget="selection"/> - </group> - <newline/> + <field name="name" string="Inventory Reference"/> + <field name="date"/> + <field name="company_id" groups="base.group_multi_company"/> <group expand="0" string="Group By..."> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/> @@ -290,13 +285,9 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Pack Search"> - <group> - <field name="name" string="Pack" filter_domain="['|',('name','ilike',self),('serial','ilike',self)]"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <field name="active"/> - </group> + <field name="name" string="Pack" filter_domain="['|',('name','ilike',self),('serial','ilike',self)]"/> + <field name="date"/> + <field name="active"/> </search> </field> </record> @@ -405,16 +396,10 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Product Lots Filter"> - <group> - <field name="name" string="Product Lots" filter_domain="['|','|',('name','ilike',self),('prefix','ilike',self),('ref','ilike',self)]"/> - <separator orientation="vertical"/> - <field name="date"/> - <separator orientation="vertical"/> - <filter icon="terp-check" name="available" string="Available" domain="[('stock_available', '>', 0)]" help="Available Product Lots"/> - <separator orientation="vertical"/> - <field name="product_id"/> - </group> - <newline/> + <field name="name" string="Product Lots" filter_domain="['|','|',('name','ilike',self),('prefix','ilike',self),('ref','ilike',self)]"/> + <field name="date"/> + <filter icon="terp-check" name="available" string="Available" domain="[('stock_available', '>', 0)]" help="Available Product Lots"/> + <field name="product_id"/> <group expand="0" string="Group By..."> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> </group> @@ -569,14 +554,9 @@ <field name="arch" type="xml"> <search string="Stock Locations"> <field name="name" string="Stock Locations"/> - <separator orientation="vertical"/> - <filter icon="terp-go-home" name="in_location" - string="Internal" domain="[('usage', '=', 'internal')]" help="Internal Locations"/> - <filter icon="terp-personal" name="customer" - string="Customer" domain="[('usage', '=', 'customer')]" help="Customer Locations"/> - <filter icon="terp-personal" name="supplier" - string="Supplier" domain="[('usage', '=', 'supplier')]" help="Supplier Locations"/> - <separator orientation="vertical"/> + <filter icon="terp-go-home" name="in_location" string="Internal" domain="[('usage', '=', 'internal')]" help="Internal Locations"/> + <filter icon="terp-personal" name="customer" string="Customer" domain="[('usage', '=', 'customer')]" help="Customer Locations"/> + <filter icon="terp-personal" name="supplier" string="Supplier" domain="[('usage', '=', 'supplier')]" help="Supplier Locations"/> <field name="location_id" string="Parent Location"/> </search> </field> @@ -683,14 +663,9 @@ <menuitem action="action_warehouse_form" id="menu_action_warehouse_form" groups="stock.group_locations" parent="menu_stock_configuration" sequence="1"/> -<!-- - STOCK PICKING ---> - <!-- - # - # Defaults and Internal Pickings - # + Stock picking + Defaults and Internal Pickings --> <record model="ir.ui.view" id="stock_picking_calendar"> @@ -733,14 +708,16 @@ <field name="arch" type="xml"> <form string="Internal Picking List" version="7.0"> <header> - <button name="draft_force_assign" states="draft" string="Confirm" type="object" class="oe_highlight"/> - <button name="draft_validate" states="draft" string="Confirm & Transfer" type="object" class="oe_highlight"/> - <!-- <button name="action_assign" states="confirmed" string="Check Availability" type="object"/> --> - <button name="force_assign" states="confirmed" string="Force Availability" type="object" class="oe_highlight"/> - <button name="action_process" states="assigned" string="Confirm & Transfer" groups="stock.group_stock_user" type="object" class="oe_highlight"/> - <button name="%(action_stock_invoice_onshipping)d" string="Create Invoice/Refund" attrs="{'invisible': ['|','|',('state','<>','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" class="oe_highlight"/> - <button name="%(act_stock_return_picking)d" string="Reverse Transfer" states="done" type="action"/> - <button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel"/> + <span groups="base.group_user"> + <button name="draft_force_assign" states="draft" string="Confirm" type="object" class="oe_highlight"/> + <button name="draft_validate" states="draft" string="Confirm & Transfer" type="object" class="oe_highlight"/> + <!-- <button name="action_assign" states="confirmed" string="Check Availability" type="object"/> --> + <button name="force_assign" states="confirmed" string="Force Availability" type="object" class="oe_highlight"/> + <button name="action_process" states="assigned" string="Confirm & Transfer" groups="stock.group_stock_user" type="object" class="oe_highlight"/> + <button name="%(action_stock_invoice_onshipping)d" string="Create Invoice/Refund" attrs="{'invisible': ['|','|',('state','<>','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" class="oe_highlight"/> + <button name="%(act_stock_return_picking)d" string="Reverse Transfer" states="done" type="action"/> + <button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel"/> + </span> <field name="state" widget="statusbar" statusbar_visible="draft,assigned,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/> </header> <sheet> @@ -776,7 +753,8 @@ <button name="%(stock.move_scrap)d" string="Scrap Products" type="action" icon="gtk-convert" context="{'scrap': True}" - states="draft,waiting,confirmed,assigned"/> + states="draft,waiting,confirmed,assigned" + groups="base.group_user"/> <field name="scrapped" invisible="1"/> <field name="prodlot_id" groups="stock.group_production_lot"/> <button @@ -800,9 +778,11 @@ </tree> <form string="Stock Moves" version="7.0"> <header> - <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/> - <button name="action_confirm" states="draft" string="Confirm" type="object" icon="gtk-apply"/> - <button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-find"/> + <span groups="base.group_user"> + <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/> + <button name="action_confirm" states="draft" string="Confirm" type="object" icon="gtk-apply"/> + <button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-find"/> + </span> <field name="state" widget="statusbar" statusbar_visible="draft,assigned,done"/> </header> <group> @@ -816,7 +796,8 @@ <button name="%(stock.move_scrap)d" string="Scrap" type="action" icon="gtk-convert" context="{'scrap': True}" - states="draft,waiting,confirmed,assigned"/> + states="draft,waiting,confirmed,assigned" + groups="base.group_user"/> </div> <label for="product_uos_qty" groups="product.group_uos"/> <div groups="product.group_uos"> @@ -866,8 +847,8 @@ <group> <group> <field name="move_type"/> - <field name="type"/> - <field name="auto_picking"/> + <field name="type" groups="base.group_user"/> + <field name="auto_picking" groups="base.group_user"/> </group> <group> <field name="company_id" groups="base.group_multi_company" widget="selection"/> @@ -890,26 +871,18 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Internal Picking List"> - <group> - <field name="name" string="Internal Picking List" filter_domain="['|',('name','ilike', self),('origin','ilike',self)]"/> - <separator orientation="vertical"/> - <filter icon="terp-check" string="Ready" domain="[('state','=','assigned')]" help="Assigned Internal Moves"/> - <filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Internal Moves"/> - <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Pickings already processed"/> - <separator orientation="vertical"/> - <field name="partner_id"/> - <field name="product_id"/> - <field name="stock_journal_id" widget="selection"/> - </group> - <newline/> + <field name="name" string="Internal Picking List" filter_domain="['|',('name','ilike', self),('origin','ilike',self)]"/> + <filter icon="terp-check" string="Ready" domain="[('state','=','assigned')]" help="Assigned Internal Moves"/> + <filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Internal Moves"/> + <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Pickings already processed"/> + <field name="partner_id"/> + <field name="product_id"/> + <field name="stock_journal_id"/> <group expand="0" string="Group By..."> <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/> <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/> - <separator orientation="vertical"/> <filter string="Origin" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/> - <separator orientation="vertical"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/> </group> </search> @@ -941,11 +914,7 @@ <field name="act_window_id" ref="action_picking_tree6"/> </record> - <!-- - # - # Sending Products - # - --> + <!-- Sending Products --> <record id="view_picking_out_tree" model="ir.ui.view"> <field name="name">stock.picking.out.tree</field> <field name="model">stock.picking</field> @@ -971,18 +940,18 @@ <field name="type">form</field> <field name="arch" type="xml"> <data> - <xpath expr="/form/header/button[@name='%(act_stock_return_picking)d']" position="replace"> + <xpath expr="/form/header//button[@name='%(act_stock_return_picking)d']" position="replace"> <button name="%(report_picking_list_out)d" string="Print Delivery Slip" type="action" states="done" class="oe_highlight"/> <button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action"/> </xpath> - <xpath expr="/form/header/button[@name='draft_validate']" position="replace"> + <xpath expr="/form/header//button[@name='draft_validate']" position="replace"> <button name="draft_validate" states="draft" string="Confirm & Deliver" type="object" class="oe_highlight"/> <button name="action_assign" states="confirmed" string="Check Availability" type="object" class="oe_highlight"/> </xpath> - <xpath expr="/form/header/button[@name='action_process']" position="replace"> + <xpath expr="/form/header//button[@name='action_process']" position="replace"> <button name="action_process" states="assigned" string="Deliver" type="object" icon="gtk-go-forward" class="oe_highlight"/> </xpath> - <xpath expr="/form/header/field[@name='state']" position="replace"> + <xpath expr="/form/header//field[@name='state']" position="replace"> <field name="state" nolabel="1" readonly="1" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/> </xpath> <xpath expr="//field[@name='partner_id']" position="replace"> @@ -1003,26 +972,20 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Picking list"> - <group> - <field name="name" string="Picking List" filter_domain="['|',('name','ilike', self),('origin','ilike',self)]"/> - <separator orientation="vertical"/> - <filter icon="terp-check" name="available" string="Ready" domain="[('state','=','assigned')]" help="Assigned Delivery Orders"/> - <filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Delivery Orders"/> - <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Delivery orders already processed"/> - <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/> - <filter icon="terp-dolar" name="to_invoice" string="To Invoice" domain="[('invoice_state','=','2binvoiced')]" help="Delivery orders to invoice"/> - <separator orientation="vertical"/> - <field name="stock_journal_id" widget="selection"/> - <field name="company_id" widget="selection" groups="base.group_multi_company"/> - </group> - <newline/> + <field name="name" string="Picking List" filter_domain="['|',('name','ilike', self),('origin','ilike',self)]"/> + <filter icon="terp-check" name="available" string="Ready" domain="[('state','=','assigned')]" help="Assigned Delivery Orders"/> + <filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Delivery Orders"/> + <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Delivery orders already processed"/> + <separator/> + <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/> + <separator/> + <filter icon="terp-dolar" name="to_invoice" string="To Invoice" domain="[('invoice_state','=','2binvoiced')]" help="Delivery orders to invoice"/> + <field name="stock_journal_id"/> + <field name="company_id" groups="base.group_multi_company"/> <group expand="0" string="Group By..."> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/> <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/> - <separator orientation="vertical"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/> </group> </search> @@ -1059,11 +1022,7 @@ </record> <menuitem action="action_picking_tree" id="menu_action_picking_tree" parent="menu_stock_warehouse_mgmt" sequence="3"/> - <!-- - # - # Incomming Shipments - # - --> + <!-- Incomming Shipments --> <record id="view_picking_in_tree" model="ir.ui.view"> <field name="name">stock.picking.in.tree</field> <field name="model">stock.picking.in</field> @@ -1089,7 +1048,7 @@ <field name="type">form</field> <field name="arch" type="xml"> <data> - <xpath expr="//button[@name='%(act_stock_return_picking)d']" position="replace"> + <xpath expr="/form/header//button[@name='%(act_stock_return_picking)d']" position="replace"> <button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action"/> </xpath> <xpath expr="//button[@name='draft_validate']" position="replace"> @@ -1115,25 +1074,19 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Incoming Shipments"> - <group> - <field name="name" string="Incoming Shipments" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/> - <separator orientation="vertical"/> - <filter icon="terp-check" name="available" string="Ready to Process" domain="[('state','=','assigned')]" help="Incoming Shipments Available"/> - <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Incoming Shipments already processed"/> - <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/> - <filter string="To Invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]"/> - <separator orientation="vertical"/> - <field name="stock_journal_id" widget="selection"/> - <field name="product_id"/> - </group> - <newline/> + <field name="name" string="Incoming Shipments" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/> + <filter icon="terp-check" name="available" string="Ready to Process" domain="[('state','=','assigned')]" help="Incoming Shipments Available"/> + <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Incoming Shipments already processed"/> + <separator/> + <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/> + <separator/> + <filter string="To Invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]"/> + <field name="stock_journal_id"/> + <field name="product_id"/> <group expand="0" string="Group By..."> - <separator orientation="vertical"/> <filter icon="terp-stock_effects-object-colorize" name="state" string="Status" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/> <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/> - <separator orientation="vertical"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/> </group> </search> @@ -1191,8 +1144,7 @@ <button name="%(stock.move_scrap)d" string="Scrap Products" type="action" icon="gtk-convert" context="{'scrap': True}" - states="draft,waiting,confirmed,assigned" - /> + states="draft,waiting,confirmed,assigned"/> <field name="prodlot_id" groups="stock.group_production_lot"/> <button name="%(track_line)d" string="Split in Serial Numbers" type="action" icon="terp-stock_effects-object-colorize" attrs="{'invisible': [('prodlot_id','<>',False)]}" @@ -1217,8 +1169,6 @@ </field> </record> -<!-- <menuitem id="menu_traceability_low" name="Low Level" parent="menu_traceability"/> --> - <record id="view_move_form" model="ir.ui.view"> <field name="name">stock.move.form</field> <field name="model">stock.move</field> @@ -1305,33 +1255,25 @@ <field eval="3" name="priority"/> <field name="arch" type="xml"> <search string="Stock Moves"> - <group> - <field name="origin" string="Stock Moves"/> - <separator orientation="vertical" groups="base.group_no_one"/> - <field name="date" groups="base.group_no_one"/> - <separator orientation="vertical"/> - <filter icon="terp-camera_test" string="Ready" name="ready" domain="[('state','=','assigned')]" help="Stock moves that are Available (Ready to process)"/> - <filter icon="terp-stock" string="Future" name="future" domain="[('state','in',('assigned','confirmed','waiting'))]" help="Stock moves that are Confirmed, Available or Waiting"/> - <filter icon="terp-dialog-close" string="Done" name="done" domain="[('state','=','done')]" help="Stock moves that have been processed"/> - <filter icon="terp-go-today" string="Today" domain="[('date','<=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','>=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders processed Today or planned for Today"/> - <separator orientation="vertical"/> - <field name="product_id"/> - <field name="location_id" string="Location" filter_domain="['|',('location_id','ilike',self),('location_dest_id','ilike',self)]"/> - <field name="partner_id" string="Partner" filter_domain="[('picking_id.partner_id','ilike',self)]"/> - <field name="prodlot_id"/> - </group> - <newline/> + <field name="origin" string="Stock Moves"/> + <field name="date" groups="base.group_no_one"/> + <filter icon="terp-camera_test" string="Ready" name="ready" domain="[('state','=','assigned')]" help="Stock moves that are Available (Ready to process)"/> + <filter icon="terp-stock" string="Future" name="future" domain="[('state','in',('assigned','confirmed','waiting'))]" help="Stock moves that are Confirmed, Available or Waiting"/> + <filter icon="terp-dialog-close" string="Done" name="done" domain="[('state','=','done')]" help="Stock moves that have been processed"/> + <separator/> + <filter icon="terp-go-today" string="Today" domain="[('date','<=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','>=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders processed Today or planned for Today"/> + <field name="product_id"/> + <field name="location_id" string="Location" filter_domain="['|',('location_id','ilike',self),('location_dest_id','ilike',self)]"/> + <field name="partner_id" string="Partner" filter_domain="[('picking_id.partner_id','ilike',self)]"/> + <field name="prodlot_id"/> <group expand="0" string="Group By..."> <filter string="Product" name="by_product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> <filter string="Picking" name="groupby_picking_id" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'picking_id'}"/> <filter string="Lot" name="groupby_prodlot_id" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'prodlot_id'}"/> <filter string="Pack" name="groupby_tracking_id" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'tracking_id'}"/> - <separator orientation="vertical"/> <filter string="Source" name="groupby_location_id" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'location_id'}"/> <filter string="Destination" name="groupby_dest_location_id" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'location_dest_id'}"/> - <separator orientation="vertical"/> <filter icon="terp-stock_effects-object-colorize" string="Status" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical"/> <filter string="Creation" name="groupby_create_date" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/> <filter string="Expected" name="groupby_date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/> </group> @@ -1351,13 +1293,10 @@ </record> <menuitem action="action_move_form2" id="menu_action_move_form2" parent="menu_traceability" sequence="3"/> - ==================================== - Reception Picking (By Stock Move) - ==================================== - <!-- from stock_partial_move_view --> - - - + <!-- + Reception Picking (By Stock Move) + From stock_partial_move_view + --> <record id="view_move_tree_reception_picking" model="ir.ui.view"> <field name="name">stock.move.tree2</field> <field name="model">stock.move</field> @@ -1377,7 +1316,7 @@ <field name="prodlot_id" groups="stock.group_production_lot"/> <button name="%(track_line)d" string="Split in Serial Numbers" type="action" icon="terp-stock_effects-object-colorize" attrs="{'invisible': [('prodlot_id','<>',False)]}" - states="draft,waiting,confirmed,assigned,done" + states="draft,waiting,confirmed,assigned,done" groups="stock.group_tracking_lot"/> <field name="tracking_id" groups="stock.group_tracking_lot"/> <button name="setlast_tracking" string="Put in current pack" type="object" @@ -1394,8 +1333,9 @@ </tree> </field> </record> + <!-- test --> - <record id="view_move_tree_reception_picking_board" model="ir.ui.view"> + <record id="view_move_tree_reception_picking_board" model="ir.ui.view"> <field name="name">stock.move.tree3</field> <field name="model">stock.move</field> <field name="type">tree</field> @@ -1418,24 +1358,18 @@ <field eval="6" name="priority"/> <field name="arch" type="xml"> <search string="Stock Moves"> - <group> - <field name="origin" string="Stock Moves"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-go-back-rtl" name="receive" string="Waiting " domain="[('state','in',('confirmed','assigned'))]" help="Stock to be receive"/> - <filter icon="terp-check" name="available" string="Available" domain="[('state','in',('assigned',))]" help="Stock available to be delivered"/> - <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state', '=', 'done')]"/> - <filter icon="terp-go-today" string="Today" domain="[('date','<=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','>=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/> - <separator orientation="vertical"/> - <field name="product_id"/> - <field name="prodlot_id"/> - </group> - <newline/> + <field name="origin" string="Stock Moves"/> + <filter icon="terp-gtk-go-back-rtl" name="receive" string="Waiting " domain="[('state','in',('confirmed','assigned'))]" help="Stock to be receive"/> + <filter icon="terp-check" name="available" string="Available" domain="[('state','in',('assigned',))]" help="Stock available to be delivered"/> + <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state', '=', 'done')]"/> + <separator/> + <filter icon="terp-go-today" string="Today" domain="[('date','<=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','>=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/> + <field name="product_id"/> + <field name="prodlot_id"/> <group expand="0" string="Group By..."> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> - <separator orientation="vertical"/> <filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical" groups="base.group_no_one"/> <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" groups="base.group_no_one"/> </group> </search> @@ -1449,24 +1383,18 @@ <field eval="6" name="priority"/> <field name="arch" type="xml"> <search string="Stock Moves"> - <group> - <field name="origin" string="Stock Moves"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-go-back-rtl" name="receive" string="Waiting" domain="[('state','in',('confirmed','assigned'))]" help="Stock to be delivered (Available or not)"/> - <filter icon="terp-check" name="available" string="Available" domain="[('state','in',('assigned',))]" help="Stock available to be delivered"/> - <filter icon="terp-dialog-close" name="received" string="Done" domain="[('state','=','done')]"/> - <filter icon="terp-go-today" string="Today" domain="[('date','<=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','>=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/> - <separator orientation="vertical"/> - <field name="product_id"/> - <field name="prodlot_id"/> - </group> - <newline/> + <field name="origin" string="Stock Moves"/> + <filter icon="terp-gtk-go-back-rtl" name="receive" string="Waiting" domain="[('state','in',('confirmed','assigned'))]" help="Stock to be delivered (Available or not)"/> + <filter icon="terp-check" name="available" string="Available" domain="[('state','in',('assigned',))]" help="Stock available to be delivered"/> + <filter icon="terp-dialog-close" name="received" string="Done" domain="[('state','=','done')]"/> + <separator/> + <filter icon="terp-go-today" string="Today" domain="[('date','<=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','>=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/> + <field name="product_id"/> + <field name="prodlot_id"/> <group expand="0" string="Group By..."> - <separator orientation="vertical"/> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> <filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> - <separator orientation="vertical" groups="base.group_no_one"/> <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" groups="base.group_no_one"/> </group> </search> @@ -1499,9 +1427,7 @@ <field name="act_window_id" ref="action_reception_picking_move"/> </record> - # ------------------------------------------------------------- - # Stock incoterms - # ------------------------------------------------------------- + <!-- Stock incoterms --> <record id="view_incoterms_tree" model="ir.ui.view"> <field name="name">stock.incoterms.tree</field> <field name="model">stock.incoterms</field> @@ -1639,7 +1565,6 @@ <field name="arch" type="xml"> <search string="Stock Journal"> <field name="name" string="Stock Journal"/> - <separator orientation="vertical"/> <field name="user_id"/> </search> </field> diff --git a/addons/stock_planning/i18n/ja.po b/addons/stock_planning/i18n/ja.po index ed3b63ac1bc..2abd09e6d3a 100644 --- a/addons/stock_planning/i18n/ja.po +++ b/addons/stock_planning/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-31 04:58+0000\n" -"X-Generator: Launchpad (build 15702)\n" +"X-Launchpad-Export-Date: 2012-08-01 04:44+0000\n" +"X-Generator: Launchpad (build 15719)\n" #. module: stock_planning #: code:addons/stock_planning/wizard/stock_planning_createlines.py:73 diff --git a/addons/stock_planning/stock_planning_view.xml b/addons/stock_planning/stock_planning_view.xml index a2fdc9788e1..8c1cb0d2c80 100644 --- a/addons/stock_planning/stock_planning_view.xml +++ b/addons/stock_planning/stock_planning_view.xml @@ -51,10 +51,8 @@ <field name="arch" type="xml"> <search string="Stock Periods"> <field name="name" string="Stock Periods"/> - <separator orientation="vertical"/> <field name="date_start"/> <field name="date_stop"/> - <separator orientation="vertical"/> <filter string="Current" domain="[('state','in',['draft','open'])]" icon="terp-check" help="Current Periods"/> <filter string="Closed" domain="[('state','=','close')]" icon="gtk-stop" help="Closed Periods"/> </search> @@ -199,18 +197,15 @@ <field name="arch" type="xml"> <search string="Search Sales Forecast"> <filter icon="terp-camera_test" string="Validated" domain="[('state','=','validated')]" /> - <separator orientation="vertical"/> <field name="company_id"/> <field name="warehouse_id" /> <field name="period_id" /> <field name="product_id"/> <field name="create_uid"/> - <newline/> <group expand="0" string="Group By..."> <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}"/> <filter string="Warehouse " icon="terp-go-home" domain="[]" context="{'group_by':'warehouse_id'}"/> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> - <separator orientation="vertical"/> <filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'product_uom'}" /> </group> </search> @@ -308,17 +303,14 @@ <field name="arch" type="xml"> <search string="Search Stock Planning"> <filter icon="terp-purchase" string="No Requisition" domain="[('history','=',False)]" /> - <separator orientation="vertical"/> - <field name="company_id" widget="selection"/> - <field name="warehouse_id" widget="selection"/> - <field name="period_id" widget="selection"/> + <field name="company_id"/> + <field name="warehouse_id"/> + <field name="period_id"/> <field name="product_id"/> - <newline/> <group expand="0" string="Group By..."> <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}"/> <filter string="Warehouse " icon="terp-go-home" domain="[]" context="{'group_by':'warehouse_id'}"/> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> - <separator orientation="vertical"/> </group> </search> </field> diff --git a/addons/subscription/subscription_view.xml b/addons/subscription/subscription_view.xml index 3271096a51a..8b9be319ea6 100644 --- a/addons/subscription/subscription_view.xml +++ b/addons/subscription/subscription_view.xml @@ -3,11 +3,7 @@ <data> <menuitem id="next_id_45" name="Recurring Events" parent="base.menu_tools" sequence="4"/> - <!-- - ======================================================= - Subscription Views - ======================================================= - --> + <!-- Subscription Views --> <record id="view_subscription_form" model="ir.ui.view"> <field name="name">subscription.subscription.form</field> <field name="model">subscription.subscription</field> @@ -17,7 +13,7 @@ <header> <button name="set_process" states="draft" string="Process" type="object" class="oe_highlight"/> <button name="set_done" states="running" string="Stop" type="object" class="oe_highlight"/> - <button name="set_draft" states="done" string="Set to Draft" type="object" /> + <button name="set_draft" states="done" string="Set to Draft" type="object"/> <field name="state" widget="statusbar" statusbar_visible="draft,running"/> </header> <sheet> @@ -73,23 +69,16 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Subscription"> - <group> - <field name="name" string="Subscription"/> - <separator orientation="vertical"/> - <field name="date_init"/> - <separator orientation="vertical"/> - <filter icon="terp-check" + <field name="name" string="Subscription"/> + <field name="date_init"/> + <filter icon="terp-check" string="Running" domain="[('state','=','running')]"/> - <separator orientation="vertical"/> - <field name="user_id"/> - <field name="partner_id"/> - </group> - <newline/> + <field name="user_id"/> + <field name="partner_id"/> <group expand="0" string="Group By..."> <filter string="User" icon="terp-personal" name="User" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Partner" icon="terp-partner" name="Partner" domain="[]" context="{'group_by':'partner_id'}"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> </group> </search> @@ -103,7 +92,7 @@ <field name="view_type">form</field> <field name="view_id" ref="view_subscription_tree"/> <field name="context">{'search_default_User':1}</field> - <field name="search_view_id" ref="view_subscription_filter" /> + <field name="search_view_id" ref="view_subscription_filter"/> </record> <menuitem action="action_subscription_form" id="menu_action_subscription_form" parent="subscription.next_id_45"/> @@ -167,11 +156,8 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Subscription Document"> - <group> - <field name="name" string="Subscription Document"/> - <separator orientation="vertical"/> - <field name="model"/> - </group> + <field name="name" string="Subscription Document"/> + <field name="model"/> </search> </field> </record> @@ -208,11 +194,12 @@ <field name="res_model">subscription.document</field> <field name="view_type">form</field> <field name="view_id" ref="document_tree"/> - <field name="search_view_id" ref="view_subscription_document_filter" /> + <field name="search_view_id" ref="view_subscription_document_filter"/> </record> <menuitem name="Configuration" parent="base.menu_tools" - id="base.menu_lunch_survey_root" sequence="20" groups="base.group_tool_manager" /> + id="base.menu_lunch_survey_root" sequence="20" groups="base.group_tool_manager"/> <menuitem id="config_recuuring_event" name="Recurring Events" parent="base.menu_lunch_survey_root" sequence="4"/> <menuitem action="action_document_form" id="menu_action_document_form" parent="config_recuuring_event"/> + </data> </openerp> diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml index fb4b232f512..22838058bec 100644 --- a/addons/survey/survey_view.xml +++ b/addons/survey/survey_view.xml @@ -277,20 +277,15 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Survey"> - <group> - <field name="title" string="Survey"/> - <separator orientation="vertical"/> - <filter icon="terp-document-new" string="New" domain="[('state','=', 'draft')]" help="All New Survey"/> - <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]" help="All Open Survey"/> - <filter string="My Survey(s)" icon="terp-personal" domain="[('responsible_id','=',uid)]" help="My Survey(s)"/> - <separator orientation="vertical"/> - <field name="type" widget="selection"/> - <field name="responsible_id"/> - </group> - <newline/> + <field name="title" string="Survey"/> + <field name="type"/> + <filter icon="terp-document-new" string="New" domain="[('state','=', 'draft')]" help="All New Survey"/> + <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]" help="All Open Survey"/> + <separator/> + <filter string="My Survey(s)" icon="terp-personal" domain="[('responsible_id','=',uid)]" help="My Survey(s)"/> + <field name="responsible_id"/> <group expand="0" string="Group By..."> <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'responsible_id'}"/> - <separator orientation="vertical"/> <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> </group> @@ -553,9 +548,7 @@ <field name="arch" type="xml"> <search string="Search Survey Page"> <field name="title" string="Page"/> - <separator orientation="vertical"/> <field name="survey_id"/> - <newline/> <group expand="0" string="Group By..."> <filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/> </group> @@ -759,11 +752,9 @@ <field name="arch" type="xml"> <search string="Search Question"> <field name="question" string="Question"/> - <separator orientation="vertical"/> - <field name="page_id"/> - <field name="survey" widget="selection"/> + <field name="survey"/> <field name="type"/> - <newline/> + <field name="page_id"/> <group expand="0" string="Group By..."> <filter string="Page" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'page_id'}"/> </group> @@ -1180,22 +1171,17 @@ <field name="type">search</field> <field name="arch" type="xml"> <search string="Search Survey"> - <group> - <field name="email" string="Survey"/> - <separator orientation="vertical"/> - <filter icon="terp-gtk-media-pause" string="Waiting Answer" domain="[('state','=','waiting_answer')]"/> - <filter icon="terp-emblem-important" string="Late" domain="[('date_deadline','<',current_date)]"/> - <filter string="My Survey(s)" icon="terp-personal" domain="[('user_id','=',uid)]"/> - <separator orientation="vertical"/> - <field name="survey_id" widget="selection"/> - <field name="user_id"/> - </group> - <newline/> + <field name="email" string="Survey"/> + <filter icon="terp-gtk-media-pause" string="Waiting Answer" domain="[('state','=','waiting_answer')]"/> + <separator/> + <filter icon="terp-emblem-important" string="Late" domain="[('date_deadline','<',current_date)]"/> + <separator/> + <filter string="My Survey(s)" icon="terp-personal" domain="[('user_id','=',uid)]"/> + <field name="survey_id" widget="selection"/> + <field name="user_id"/> <group expand="0" string="Group By..."> <filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> <filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/> - <separator orientation="vertical"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> </group> </search> diff --git a/addons/wiki/wiki_view.xml b/addons/wiki/wiki_view.xml index b0f0ab0198e..d0d4c35a80d 100644 --- a/addons/wiki/wiki_view.xml +++ b/addons/wiki/wiki_view.xml @@ -176,14 +176,10 @@ <field name="name" filter_domain="['|', '|', ('name','ilike',self), ('section','ilike',self), ('tags','ilike',self)]" string="Wiki"/> - <separator orientation="vertical"/> <field name="write_date" groups="base.group_no_one"/> - <separator orientation="vertical"/> <filter icon="terp-gtk-jump-to-ltr" string="Need Review" domain="[('review','=',True)]"/> - <separator orientation="vertical"/> <field name="group_id"/> <field name="write_uid"/> - <newline/> <group expand="0" string="Group By..."> <filter icon="terp-folder-blue" string="Wiki Group" domain="[]" context="{'group_by':'group_id'}"/> <filter icon="terp-personal" string="Author" domain="[]" context="{'group_by':'create_uid'}"/> |
