diff options
| author | vra <vra@tinyerp.com> | 2010-09-07 17:27:28 +0530 |
|---|---|---|
| committer | vra <vra@tinyerp.com> | 2010-09-07 17:27:28 +0530 |
| commit | 039ef25d0da26ebdd88259486ce84ae1c14fb481 (patch) | |
| tree | a157b185eb9909e1c2c9156e1af09e82791687fe | |
| parent | 59f2e4dcbd39996b551f9f9cfa759a367b7ca48c (diff) | |
[ADD] added access rights for Analytic Accounting group including menus.
[REM] Extended group for analytic related menus.
[FIX] Analytic Entries date Order.
[FIX] Assigning sale price with proper sign in product_id onchange in analytic line.
bzr revid: vra@tinyerp.com-20100907115728-n09gkjycdr32ej77
| -rw-r--r-- | addons/account/account_analytic_line.py | 24 | ||||
| -rw-r--r-- | addons/account/account_menuitem.xml | 6 | ||||
| -rw-r--r-- | addons/account/project/project_view.xml | 5 | ||||
| -rw-r--r-- | addons/account/project/wizard/account_analytic_chart_view.xml | 3 | ||||
| -rw-r--r-- | addons/account/report/account_analytic_entries_report_view.xml | 2 | ||||
| -rw-r--r-- | addons/account/security/account_security.xml | 2 | ||||
| -rw-r--r-- | addons/account/security/analytic_security.xml | 38 | ||||
| -rw-r--r-- | addons/account_analytic_plans/account_analytic_plans_view.xml | 2 | ||||
| -rw-r--r-- | addons/analytic/security/analytic_security.xml | 2 | ||||
| -rw-r--r-- | addons/analytic/security/ir.model.access.csv | 7 |
10 files changed, 68 insertions, 23 deletions
diff --git a/addons/account/account_analytic_line.py b/addons/account/account_analytic_line.py index 9126a610aea..5a8ee0d4e8c 100644 --- a/addons/account/account_analytic_line.py +++ b/addons/account/account_analytic_line.py @@ -46,7 +46,7 @@ class account_analytic_line(osv.osv): 'date': lambda *a: time.strftime('%Y-%m-%d'), 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.analytic.line', context=c), } - _order = 'date' + _order = 'date desc' def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False): if context is None: @@ -73,13 +73,16 @@ class account_analytic_line(osv.osv): # Compute the cost based on the price type define into company # property_valuation_price_type property def on_change_unit_amount(self, cr, uid, id, prod_id, unit_amount,company_id, - unit=False, context=None): + unit=False, journal_id=False, context=None): if context==None: context={} uom_obj = self.pool.get('product.uom') product_obj = self.pool.get('product.product') company_obj=self.pool.get('res.company') + analytic_journal_obj=self.pool.get('account.analytic.journal') + product_price_type_obj = self.pool.get('product.price.type') if prod_id: + result = 0.0 prod = product_obj.browse(cr, uid, prod_id) a = prod.product_tmpl_id.property_account_expense.id if not a: @@ -91,16 +94,27 @@ class account_analytic_line(osv.osv): (prod.name, prod.id,)) if not company_id: company_id=company_obj._company_default_get(cr, uid, 'account.analytic.line', context) - + flag = False # Compute based on pricetype - pricetype=self.pool.get('product.price.type').browse(cr, uid, company_obj.browse(cr,uid,company_id).property_valuation_price_type.id) + pricetype=product_price_type_obj.browse(cr, uid, company_obj.browse(cr,uid,company_id).property_valuation_price_type.id) + if journal_id: + journal = analytic_journal_obj.browse(cr, uid, journal_id) + if journal.type == 'sale': + product_price_type_ids = product_price_type_obj.search(cr, uid, [('field','=','list_price')], context) + if product_price_type_ids: + pricetype = product_price_type_obj.browse(cr, uid, product_price_type_ids, context)[0] # Take the company currency as the reference one + if pricetype.field == 'list_price': + flag = True amount_unit = prod.price_get(pricetype.field, context)[prod.id] amount = amount_unit*unit_amount or 1.0 prec = self.pool.get('decimal.precision').precision_get(cr, uid, 'Account') amount = amount_unit*unit_amount or 1.0 + result = round(amount, prec) + if not flag: + result *= -1 return {'value': { - 'amount': - round(amount, prec), + 'amount': result, 'general_account_id': a, }} return {} diff --git a/addons/account/account_menuitem.xml b/addons/account/account_menuitem.xml index 4860f937966..050a12580fc 100644 --- a/addons/account/account_menuitem.xml +++ b/addons/account/account_menuitem.xml @@ -19,11 +19,11 @@ <menuitem id="menu_finance_legal_statement" name="Legal Reports" parent="menu_finance_reporting"/> <menuitem id="menu_finance_management_belgian_reports" name="Belgian Reports" parent="menu_finance_reporting"/> <menuitem id="menu_finance_configuration" name="Configuration" parent="menu_finance" sequence="13" groups="base.group_system"/> - <menuitem id="menu_finance_accounting" name="Financial Accounting" parent="menu_finance_configuration"/> - <menuitem id="menu_analytic_accounting" name="Analytic Accounting" parent="menu_finance_configuration" groups="base.group_extended"/> + <menuitem id="menu_finance_accounting" name="Financial Accounting" parent="menu_finance_configuration" groups="base.group_system"/> + <menuitem id="menu_analytic_accounting" name="Analytic Accounting" parent="menu_finance_configuration" groups="base.group_system"/> <menuitem id="menu_analytic" parent="menu_analytic_accounting" name="Accounts" groups="base.group_extended"/> <menuitem id="menu_low_level" name="Low Level" parent="menu_finance_accounting" groups="base.group_extended"/> - <menuitem id="menu_configuration_misc" name="Miscellaneous" parent="menu_finance_configuration" sequence="30"/> + <menuitem id="menu_configuration_misc" name="Miscellaneous" parent="menu_finance_configuration" sequence="30" groups="base.group_system"/> <menuitem id="base.menu_action_currency_form" parent="menu_configuration_misc" sequence="20"/> <menuitem id="menu_finance_generic_reporting" name="Generic Reporting" parent="menu_finance_reporting" sequence="100" groups="base.group_system,group_account_manager"/> <menuitem id="menu_finance_entries" name="Accounting" parent="menu_finance" sequence="4" diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index 36e09464f90..bda1b5f22a2 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -25,6 +25,7 @@ <field name="arch" type="xml"> <search string="Analytic Account"> <group col="8" colspan="4"> + <filter icon="terp-go-today" string="Overpassed Account" domain="[('date','<',time.strftime('%%Y-%%m-%%d'))]" help="Overpassed Account"/> <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"/> @@ -174,7 +175,7 @@ <field name="name"/> <field name="journal_id"/> <field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)" sum="Total quantity"/> - <field name="product_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/> + <field name="product_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id, journal_id)"/> <field domain="[('type','=','normal')]" name="account_id" groups="base.group_extended"/> <field invisible="True" name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/> <field name="amount" sum="Total amount"/> @@ -259,7 +260,7 @@ <field name="date" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/> <field name="journal_id"/> <field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/> - <field name="product_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/> + <field name="product_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id, journal_id)"/> <field name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/> <field invisible="True" name="general_account_id"/> <field name="amount"/> diff --git a/addons/account/project/wizard/account_analytic_chart_view.xml b/addons/account/project/wizard/account_analytic_chart_view.xml index 9cc7a32633b..ebfdb1a1194 100644 --- a/addons/account/project/wizard/account_analytic_chart_view.xml +++ b/addons/account/project/wizard/account_analytic_chart_view.xml @@ -38,8 +38,7 @@ parent="account.menu_finance_charts" action="action_account_analytic_chart" id="menu_action_analytic_account_tree2" - icon="STOCK_INDENT" - groups="base.group_extended"/> + icon="STOCK_INDENT"/> </data> </openerp> diff --git a/addons/account/report/account_analytic_entries_report_view.xml b/addons/account/report/account_analytic_entries_report_view.xml index bc40e6235d7..f7e543cb22c 100644 --- a/addons/account/report/account_analytic_entries_report_view.xml +++ b/addons/account/report/account_analytic_entries_report_view.xml @@ -107,7 +107,7 @@ <field name="help">A tool search lets you know statistics on your analytics records that match your needs.</field> </record> - <menuitem action="action_analytic_entries_report" id="menu_action_analytic_entries_report" parent="account.menu_finance_statistic_report_statement" sequence="4" groups="base.group_extended"/> + <menuitem action="action_analytic_entries_report" id="menu_action_analytic_entries_report" parent="account.menu_finance_statistic_report_statement" sequence="4"/> </data> </openerp> diff --git a/addons/account/security/account_security.xml b/addons/account/security/account_security.xml index 43e3e32eefd..7344c40754e 100644 --- a/addons/account/security/account_security.xml +++ b/addons/account/security/account_security.xml @@ -13,7 +13,7 @@ <field name="name">Accounting / Manager</field> </record> - <record model="res.groups" context="{'noadmin':True}" id="group_accounting_accountant"> + <record model="res.groups" id="group_accounting_accountant"> <field name="name">Accounting / Accountant and Manager</field> </record> diff --git a/addons/account/security/analytic_security.xml b/addons/account/security/analytic_security.xml index b2543f5fa05..87584a4ef28 100644 --- a/addons/account/security/analytic_security.xml +++ b/addons/account/security/analytic_security.xml @@ -2,27 +2,51 @@ <openerp><data> <record id="menu_action_analytic_account_tree2" model="ir.ui.menu"> - <field eval="[(6,0,[ref('analytic.group_analytic_accounting')])]" name="groups_id"/> + <field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/> </record> <record id="account_analytic_def_account" model="ir.ui.menu"> - <field eval="[(6,0,[ref('analytic.group_analytic_accounting')])]" name="groups_id"/> + <field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/> </record> <record id="next_id_40" model="ir.ui.menu"> - <field eval="[(6,0,[ref('analytic.group_analytic_accounting')])]" name="groups_id"/> + <field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/> </record> <record id="menu_action_analytic_entries_report" model="ir.ui.menu"> - <field eval="[(6,0,[ref('analytic.group_analytic_accounting')])]" name="groups_id"/> + <field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/> </record> <record id="menu_analytic_accounting" model="ir.ui.menu"> - <field eval="[(6,0,[ref('analytic.group_analytic_accounting')])]" name="groups_id"/> + <field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/> </record> <record id="account_analytic_journal_entries" model="ir.ui.menu"> - <field eval="[(6,0,[ref('analytic.group_analytic_accounting')])]" name="groups_id"/> + <field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/> </record> - + + <record id="account_def_analytic_journal" model="ir.ui.menu"> + <field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/> + </record> + + <record id="menu_finance_configuration" model="ir.ui.menu"> + <field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/> + </record> + + <record id="menu_finance_reporting" model="ir.ui.menu"> + <field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/> + </record> + + <record id="menu_finance_generic_reporting" model="ir.ui.menu"> + <field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/> + </record> + + <record id="menu_finance_charts" model="ir.ui.menu"> + <field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/> + </record> + + <record id="menu_finance_entries" model="ir.ui.menu"> + <field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/> + </record> + </data></openerp>
\ No newline at end of file diff --git a/addons/account_analytic_plans/account_analytic_plans_view.xml b/addons/account_analytic_plans/account_analytic_plans_view.xml index ae2b6612a64..e732b483730 100644 --- a/addons/account_analytic_plans/account_analytic_plans_view.xml +++ b/addons/account_analytic_plans/account_analytic_plans_view.xml @@ -196,7 +196,7 @@ parent="account.menu_analytic_accounting" name="Multi Plans" id="menu_account_analytic_multi_plan_action" - /> + groups="analytic.group_analytic_accounting"/> <menuitem parent="menu_account_analytic_multi_plan_action" id="menu_account_analytic_plan_action" diff --git a/addons/analytic/security/analytic_security.xml b/addons/analytic/security/analytic_security.xml index ff521f7cd1b..fcd4b8d7009 100644 --- a/addons/analytic/security/analytic_security.xml +++ b/addons/analytic/security/analytic_security.xml @@ -8,7 +8,7 @@ <field name="domain_force">[('company_id','=',user.company_id.id)]</field> </record> - <record id="group_analytic_accounting" model="res.groups"> + <record id="group_analytic_accounting" context="{'noadmin':True}" model="res.groups"> <field name="name">Analytic Accounting</field> </record> diff --git a/addons/analytic/security/ir.model.access.csv b/addons/analytic/security/ir.model.access.csv index 0343f29f43a..73dba08900c 100644 --- a/addons/analytic/security/ir.model.access.csv +++ b/addons/analytic/security/ir.model.access.csv @@ -1 +1,8 @@ "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"access_account_analytic_line_analytic_accounting","account.analytic.line","analytic.model_account_analytic_line","analytic.group_analytic_accounting",1,1,1,1 +"access_account_analytic_account_analytic_accounting","account.analytic.account","analytic.model_account_analytic_account","analytic.group_analytic_accounting",1,1,1,1 +"access_account_analytic_journal_analytic_accounting","account.analytic.journal","account.model_account_analytic_journal","analytic.group_analytic_accounting",1,1,1,1 +"access_account_account_analytic_accounting","account.account","account.model_account_account","analytic.group_analytic_accounting",1,0,0,0 +"access_product_template_analytic_accounting","product.template","product.model_product_template","analytic.group_analytic_accounting",1,0,0,0 +"access_product_product_analytic_accounting","product.product","product.model_product_product","analytic.group_analytic_accounting",1,0,0,0 +"access_product_category_analytic_accounting","product.category","product.model_product_category","analytic.group_analytic_accounting",1,0,0,0 |
