summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvra <vra@tinyerp.com>2010-09-07 17:27:28 +0530
committervra <vra@tinyerp.com>2010-09-07 17:27:28 +0530
commit039ef25d0da26ebdd88259486ce84ae1c14fb481 (patch)
treea157b185eb9909e1c2c9156e1af09e82791687fe
parent59f2e4dcbd39996b551f9f9cfa759a367b7ca48c (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.py24
-rw-r--r--addons/account/account_menuitem.xml6
-rw-r--r--addons/account/project/project_view.xml5
-rw-r--r--addons/account/project/wizard/account_analytic_chart_view.xml3
-rw-r--r--addons/account/report/account_analytic_entries_report_view.xml2
-rw-r--r--addons/account/security/account_security.xml2
-rw-r--r--addons/account/security/analytic_security.xml38
-rw-r--r--addons/account_analytic_plans/account_analytic_plans_view.xml2
-rw-r--r--addons/analytic/security/analytic_security.xml2
-rw-r--r--addons/analytic/security/ir.model.access.csv7
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','&lt;',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