summaryrefslogtreecommitdiff
path: root/addons/project_planning
diff options
context:
space:
mode:
authoratp (Open ERP) <atp@tinyerp.co.in>2010-06-22 10:45:44 +0530
committeratp (Open ERP) <atp@tinyerp.co.in>2010-06-22 10:45:44 +0530
commitb0efd26edd9f4e2aa75424b787ea46d2be15cd04 (patch)
treee78cdb693e62a5c9a17f77a395eec51fb34becbf /addons/project_planning
parent46bb1ea51be702758d68a5f69db32c82dbccf9bd (diff)
parent2319190c5a20cb8095f85cacca89a33164ba93d7 (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__.py6
-rw-r--r--addons/project_planning/board_project_planning_view.xml17
-rw-r--r--addons/project_planning/project_planning.py2
-rw-r--r--addons/project_planning/project_planning_view.xml16
-rw-r--r--addons/project_planning/test/planning_states.yml86
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','&lt;&gt;','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','&lt;=',time.strftime('%%Y-%%m-%%d')),('date_to','&gt;=',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