diff options
| author | atp (Open ERP) <atp@tinyerp.co.in> | 2010-06-22 10:45:44 +0530 |
|---|---|---|
| committer | atp (Open ERP) <atp@tinyerp.co.in> | 2010-06-22 10:45:44 +0530 |
| commit | b0efd26edd9f4e2aa75424b787ea46d2be15cd04 (patch) | |
| tree | e78cdb693e62a5c9a17f77a395eec51fb34becbf /addons/project_planning | |
| parent | 46bb1ea51be702758d68a5f69db32c82dbccf9bd (diff) | |
| parent | 2319190c5a20cb8095f85cacca89a33164ba93d7 (diff) | |
[MERGE]: merge with lp:~openerp-dev/openobject-addons/trunk-dev-addons2
bzr revid: atp@tinyerp.co.in-20100622051544-c7hig73zk2at66cy
Diffstat (limited to 'addons/project_planning')
| -rw-r--r-- | addons/project_planning/__openerp__.py | 6 | ||||
| -rw-r--r-- | addons/project_planning/board_project_planning_view.xml | 17 | ||||
| -rw-r--r-- | addons/project_planning/project_planning.py | 2 | ||||
| -rw-r--r-- | addons/project_planning/project_planning_view.xml | 16 | ||||
| -rw-r--r-- | addons/project_planning/test/planning_states.yml | 86 |
5 files changed, 117 insertions, 10 deletions
diff --git a/addons/project_planning/__openerp__.py b/addons/project_planning/__openerp__.py index 87a68a2e410..74c1a3fcabe 100644 --- a/addons/project_planning/__openerp__.py +++ b/addons/project_planning/__openerp__.py @@ -47,12 +47,16 @@ At the end of the month, the planning manager can also check if the encoded time 'update_xml': [ 'security/ir.model.access.csv', 'project_planning_view.xml', - 'project_planning_report.xml' + 'project_planning_report.xml', + 'board_project_planning_view.xml', ], 'demo_xml': [ #'report_account_analytic.planning.csv', 'project_planning_demo.xml', ], + 'test': [ + 'test/planning_states.yml' + ], 'installable': True, 'active': False, 'certificate': '0034901836973', diff --git a/addons/project_planning/board_project_planning_view.xml b/addons/project_planning/board_project_planning_view.xml new file mode 100644 index 00000000000..3dfbd250b31 --- /dev/null +++ b/addons/project_planning/board_project_planning_view.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> + <data> + + <record id="board_project_planning_form" model="ir.ui.view"> + <field name="name">board.project.planning.form</field> + <field name="model">board.board</field> + <field name="inherit_id" ref="project.board_project_manager_form"/> + <field name="type">form</field> + <field name="arch" type="xml"> + <xpath expr="/form/hpaned/child2/button[@string='My tasks board']" position="after"> + <action colspan="4" name="%(project_planning.action_account_analytic_planning_stat_form)d" string="My Project's planning" domain="[('manager_id','=',uid),('planning_id.state','<>','cancel')]"/> + </xpath> + </field> + </record>" + </data> +</openerp> diff --git a/addons/project_planning/project_planning.py b/addons/project_planning/project_planning.py index 09a105cfb53..2124b59b5c3 100644 --- a/addons/project_planning/project_planning.py +++ b/addons/project_planning/project_planning.py @@ -235,7 +235,7 @@ class report_account_analytic_planning_user(osv.osv): for line in self.browse(cr, uid, ids, context): if line.user_id: cr.execute("""select COALESCE(sum(tasks.remaining_hours),0) from project_task tasks \ - where tasks.planning_line_id in (select id from report_account_analytic_planning_line\ + where tasks.planning_line_id IN (select id from report_account_analytic_planning_line\ where planning_id = %s and user_id=%s)""", (line.planning_id.id, line.user_id.id,)) result[line.id] = cr.fetchall()[0][0] / div * div2 diff --git a/addons/project_planning/project_planning_view.xml b/addons/project_planning/project_planning_view.xml index d7d2880714c..fff11703de5 100644 --- a/addons/project_planning/project_planning_view.xml +++ b/addons/project_planning/project_planning_view.xml @@ -164,10 +164,10 @@ <group col="8" colspan="4"> <filter icon="terp-check" string="Current Plannings" domain="[('date_from','<=',time.strftime('%%Y-%%m-%%d')),('date_to','>=',time.strftime('%%Y-%%m-%%d'))]" help="Current Plannings"/> <separator orientation="vertical"/> - <field name="name"> - <field name="code"> - <field name="user_id"> - <field name="state"> + <field name="name"/> + <field name="code"/> + <field name="user_id"/> + <field name="state"/> </group> </search> </field> @@ -217,12 +217,12 @@ <field name="context">{"search_default_user_id":uid}</field> <field name="search_view_id" ref="account_analytic_planning_view_search"/> </record> - <menuitem id="base.menu_pm_planning" name="Planning" parent="base.menu_main_pm" sequence="5"/> - <menuitem id="planning_main" name="Long Term Planning" - parent="base.menu_pm_planning" /> +<!-- <menuitem id="base.menu_pm_planning" name="Planning" parent="base.menu_main_pm" sequence="5"/>--> + <menuitem id="base.menu_project_long_term" name="Long Term Planning" + parent="base.menu_main_pm" /> <menuitem action="action_account_analytic_planning_form" - id="menu_report_account_analytic_planning" parent="planning_main" /> + id="menu_report_account_analytic_planning" parent="base.menu_project_long_term" sequence="3"/> <!-- Planning statistics diff --git a/addons/project_planning/test/planning_states.yml b/addons/project_planning/test/planning_states.yml new file mode 100644 index 00000000000..12dd38c8247 --- /dev/null +++ b/addons/project_planning/test/planning_states.yml @@ -0,0 +1,86 @@ +- + Create a analytic planning 'Project Planning' +- + !record {model: report_account_analytic.planning, id: report_account_analytic_planning_projectplanning0}: + business_days: 20 + date_from: '2010-06-01' + date_to: '2010-06-30' + name: Project Planning + state: draft + user_id: base.user_demo + + +- + Open the planning +- + !python {model: report_account_analytic.planning}: | + self.action_open(cr, uid, [ref("report_account_analytic_planning_projectplanning0")], + {"lang": "en_US", "active_ids": [ref("project_planning.menu_report_account_analytic_planning")], + "tz": False, "active_model": "ir.ui.menu", "section_id": False, "active_id": + ref("project_planning.menu_report_account_analytic_planning"), "search_default_user_id": + 1, "project_id": False, "department_id": False, }) +- + Check if planning in open state +- + !assert {model: report_account_analytic.planning, id: report_account_analytic_planning_projectplanning0, string: Planning in open state}: + - state == "open" + +- + Cancel the planning +- + !python {model: report_account_analytic.planning}: | + self.action_cancel(cr, uid, [ref("report_account_analytic_planning_projectplanning0")], + {"lang": "en_US", "active_ids": [ref("project_planning.menu_report_account_analytic_planning")], + "tz": False, "active_model": "ir.ui.menu", "section_id": False, "active_id": + ref("project_planning.menu_report_account_analytic_planning"), "search_default_user_id": + 1, "project_id": False, "department_id": False, }) +- + Check if planning in cancel state +- + !assert {model: report_account_analytic.planning, id: report_account_analytic_planning_projectplanning0, string: Planning in cancel state}: + - state == "cancel" + +- + Reopen the planning +- + !python {model: report_account_analytic.planning}: | + self.action_draft(cr, uid, [ref("report_account_analytic_planning_projectplanning0")], + {"lang": "en_US", "active_ids": [ref("project_planning.menu_report_account_analytic_planning")], + "tz": False, "active_model": "ir.ui.menu", "section_id": False, "active_id": + ref("project_planning.menu_report_account_analytic_planning"), "search_default_user_id": + 1, "project_id": False, "department_id": False, }) +- + Check if planning in draft state +- + !assert {model: report_account_analytic.planning, id: report_account_analytic_planning_projectplanning0, string: Planning in draft state}: + - state == "draft" + +- + Open the planning +- + !python {model: report_account_analytic.planning}: | + self.action_open(cr, uid, [ref("report_account_analytic_planning_projectplanning0")], + {"lang": "en_US", "active_ids": [ref("project_planning.menu_report_account_analytic_planning")], + "tz": False, "active_model": "ir.ui.menu", "section_id": False, "active_id": + ref("project_planning.menu_report_account_analytic_planning"), "search_default_user_id": + 1, "project_id": False, "department_id": False, }) +- + Check if planning in open state +- + !assert {model: report_account_analytic.planning, id: report_account_analytic_planning_projectplanning0, string: Planning in open state}: + - state == "open" + +- + Close the planning +- + !python {model: report_account_analytic.planning}: | + self.action_done(cr, uid, [ref("report_account_analytic_planning_projectplanning0")], + {"lang": "en_US", "active_ids": [ref("project_planning.menu_report_account_analytic_planning")], + "tz": False, "active_model": "ir.ui.menu", "section_id": False, "active_id": + ref("project_planning.menu_report_account_analytic_planning"), "search_default_user_id": + 1, "project_id": False, "department_id": False, }) +- + Check if planning in done state +- + !assert {model: report_account_analytic.planning, id: report_account_analytic_planning_projectplanning0, string: Planning in done state}: + - state == "done"
\ No newline at end of file |
