diff options
| author | stw <> | 2008-06-29 08:26:07 +0000 |
|---|---|---|
| committer | stw <> | 2008-06-29 08:26:07 +0000 |
| commit | c60cae0a8c19c7ba4fc2a3aea12a10627cd134e2 (patch) | |
| tree | 57bbf227fad883c122bc393ce8048f58aa44d329 /addons/project | |
| parent | f7b9bc52b31519d025d9bc63aabb23c9a29cfd93 (diff) | |
reindent all xml files
bzr revid: stw-c7b064849fe1f51bf264dd2de76920ded909d158
Diffstat (limited to 'addons/project')
| -rw-r--r-- | addons/project/project_data.xml | 22 | ||||
| -rw-r--r-- | addons/project/project_demo.xml | 410 | ||||
| -rw-r--r-- | addons/project/project_report.xml | 12 | ||||
| -rw-r--r-- | addons/project/project_security.xml | 192 | ||||
| -rw-r--r-- | addons/project/project_view.xml | 1076 | ||||
| -rw-r--r-- | addons/project/project_wizard.xml | 10 | ||||
| -rw-r--r-- | addons/project/report/project_report.xml | 58 |
7 files changed, 866 insertions, 914 deletions
diff --git a/addons/project/project_data.xml b/addons/project/project_data.xml index 4bedda1498c..3f4ff2bfa3d 100644 --- a/addons/project/project_data.xml +++ b/addons/project/project_data.xml @@ -1,16 +1,16 @@ <terp> - <data> - <!-- + <data> + <!-- Requests Links --> - <record model="res.request.link" id="req_link_project"> - <field name="name">Project</field> - <field name="object">project.project</field> - </record> - <record model="res.request.link" id="req_link_task"> - <field name="name">Project task</field> - <field name="object">project.task</field> - </record> - </data> + <record model="res.request.link" id="req_link_project"> + <field name="name">Project</field> + <field name="object">project.project</field> + </record> + <record model="res.request.link" id="req_link_task"> + <field name="name">Project task</field> + <field name="object">project.task</field> + </record> + </data> </terp> diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml index 4bbe63fe2eb..5f580d1d7af 100644 --- a/addons/project/project_demo.xml +++ b/addons/project/project_demo.xml @@ -1,210 +1,210 @@ <?xml version="1.0"?> <terp> -<data noupdate="1"> - - <!-- + <data noupdate="1"> + + <!-- Resource: project.project --> - - <record id="project_project_9" model="project.project"> - <field name="planned_hours">584.0</field> - <field name="warn_manager">1</field> - <field name="name">Tiny ERP Integration</field> - <field name="manager" ref="base.user_admin"/> - </record> - <record id="project_project_21" model="project.project"> - <field name="planned_hours">216.0</field> - <field name="warn_manager">1</field> - <field name="priority">10</field> - <field name="parent_id" ref="project_project_9"/> - <field name="name">Study + Prototype</field> - <field name="category_id" search="[('name','=', 'Seagate P1')]" model="account.analytic.account"/> - <field name="manager" ref="base.user_admin"/> - </record> - <record id="project_project_22" model="project.project"> - <field name="planned_hours">264.0</field> - <field name="priority">20</field> - <field name="parent_id" ref="project_project_9"/> - <field name="name">Specific Developements</field> - <field name="category_id" search="[('name','=', 'Seagate P1')]" model="account.analytic.account"/> - <field name="manager" ref="base.user_admin"/> - </record> - <record id="project_project_23" model="project.project"> - <field name="planned_hours">104.0</field> - <field name="priority">30</field> - <field name="parent_id" ref="project_project_9"/> - <field name="name">Install, data import, configuration</field> - <field name="category_id" search="[('name','=', 'Seagate P1')]" model="account.analytic.account"/> - <field name="manager" ref="base.user_admin"/> - </record> - - <record id="project_task_116" model="project.task"> - <field name="planned_hours">38.0</field> - <field name="user_id" model="res.users" search="[('login','=','admin')]"/> - <field name="project_id" ref="project_project_22"/> - <field name="description">BoM, After sales returns, interventions. Tracability.</field> - <field name="name">Specific adaptation to MRP</field> - </record> - <record id="project_task_130" model="project.task"> - <field name="planned_hours">16.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_23"/> - <field name="name">Data importation + Doc</field> - </record> - <record id="project_task_131" model="project.task"> - <field name="planned_hours">16.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_23"/> - <field name="name">Modifications asked by the customer.</field> - </record> - <record id="project_task_184" model="project.task"> - <field name="planned_hours">16.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="priority">0</field> - <field name="project_id" ref="project_project_21"/> - <field name="name">Customer analysis + Architecture</field> - </record> - <record id="project_task_186" model="project.task"> - <field name="sequence">15</field> - <field name="planned_hours">8.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_21"/> - <field name="name">Internal testing + Software Install</field> - <field name="date_deadline">2007-06-06</field> - </record> - <record id="project_task_188" model="project.task"> - <field name="sequence">17</field> - <field name="planned_hours">16.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="priority">2</field> - <field name="project_id" ref="project_project_21"/> - <field name="name">Analysis, Data Importation</field> - </record> - <record id="project_task_189" model="project.task"> - <field name="sequence">20</field> - <field name="planned_hours">16.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_23"/> - <field name="name">Parameters</field> - </record> - <record id="project_task_190" model="project.task"> - <field name="sequence">20</field> - <field name="start_sequence">1</field> - <field name="planned_hours">32.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_21"/> - <field name="name">Start of the doc redaction + MRP</field> - </record> - <record id="project_task_192" model="project.task"> - <field name="sequence">25</field> - <field name="start_sequence">1</field> - <field name="planned_hours">24.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_21"/> - <field name="name">MRP Tests</field> - </record> - <record id="project_task_193" model="project.task"> - <field name="sequence">29</field> - <field name="planned_hours">24.0</field> - <field name="user_id" model="res.users" search="[('login','=','admin')]"/> - <field name="project_id" ref="project_project_21"/> - <field name="name">MRP; functionnal layer</field> - <field name="state">done</field> - <field name="date_close" eval="time.strftime('%Y-%m-%d 12:12')"/> - </record> - <record id="project_task_194" model="project.task"> - <field name="sequence">30</field> - <field name="planned_hours">24.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_22"/> - <field name="name">Products Adaptation</field> - </record> - <record id="project_task_195" model="project.task"> - <field name="sequence">30</field> - <field name="planned_hours">24.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_23"/> - <field name="name">Install + Super User Training</field> - </record> - <record id="project_task_196" model="project.task"> - <field name="sequence">30</field> - <field name="start_sequence">1</field> - <field name="planned_hours">32.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_22"/> - <field name="name">Customer docs</field> - </record> - <record id="project_task_197" model="project.task"> - <field name="sequence">30</field> - <field name="planned_hours">24.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_21"/> - <field name="name">Development of the presentation layer</field> - </record> - <record id="project_task_198" model="project.task"> - <field name="sequence">40</field> - <field name="planned_hours">32.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_21"/> - <field name="name">Free Time</field> - </record> - <record id="project_task_199" model="project.task"> - <field name="sequence">40</field> - <field name="planned_hours">50.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_22"/> - <field name="name">Specific tests</field> - </record> - <record id="project_task_200" model="project.task"> - <field name="sequence">40</field> - <field name="planned_hours">24.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_22"/> - <field name="name">Sale module</field> - </record> - <record id="project_task_201" model="project.task"> - <field name="sequence">40</field> - <field name="planned_hours">32.0</field> - <field name="user_id" model="res.users" search="[('login','=','admin')]"/> - <field name="project_id" ref="project_project_23"/> - <field name="name">In house trainings</field> - <field name="date_deadline">2007-06-06</field> - </record> - <record id="project_task_202" model="project.task"> - <field name="sequence">50</field> - <field name="start_sequence">1</field> - <field name="planned_hours">24.0</field> - <field name="user_id" model="res.users" search="[('login','=','admin')]"/> - <field name="project_id" ref="project_project_22"/> - <field name="name">Validation + latest modifications.</field> - </record> - <record id="project_task_203" model="project.task"> - <field name="sequence">50</field> - <field name="planned_hours">24.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_22"/> - <field name="name">Adaptations buy module</field> - </record> - <record id="project_task_204" model="project.task"> - <field name="sequence">60</field> - <field name="planned_hours">16.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_21"/> - <field name="name">Presentation of the software.</field> - </record> - <record id="project_task_205" model="project.task"> - <field name="sequence">60</field> - <field name="planned_hours">24.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_22"/> - <field name="name">Adaptations Stock module</field> - </record> - <record id="project_task_206" model="project.task"> - <field name="sequence">70</field> - <field name="planned_hours">24.0</field> - <field name="user_id" model="res.users" search="[('login','=','demo')]"/> - <field name="project_id" ref="project_project_22"/> - <field name="name">Latest in house tests</field> - </record> -</data> + + <record id="project_project_9" model="project.project"> + <field name="planned_hours">584.0</field> + <field name="warn_manager">1</field> + <field name="name">Tiny ERP Integration</field> + <field name="manager" ref="base.user_admin"/> + </record> + <record id="project_project_21" model="project.project"> + <field name="planned_hours">216.0</field> + <field name="warn_manager">1</field> + <field name="priority">10</field> + <field name="parent_id" ref="project_project_9"/> + <field name="name">Study + Prototype</field> + <field name="category_id" search="[('name','=', 'Seagate P1')]" model="account.analytic.account"/> + <field name="manager" ref="base.user_admin"/> + </record> + <record id="project_project_22" model="project.project"> + <field name="planned_hours">264.0</field> + <field name="priority">20</field> + <field name="parent_id" ref="project_project_9"/> + <field name="name">Specific Developements</field> + <field name="category_id" search="[('name','=', 'Seagate P1')]" model="account.analytic.account"/> + <field name="manager" ref="base.user_admin"/> + </record> + <record id="project_project_23" model="project.project"> + <field name="planned_hours">104.0</field> + <field name="priority">30</field> + <field name="parent_id" ref="project_project_9"/> + <field name="name">Install, data import, configuration</field> + <field name="category_id" search="[('name','=', 'Seagate P1')]" model="account.analytic.account"/> + <field name="manager" ref="base.user_admin"/> + </record> + + <record id="project_task_116" model="project.task"> + <field name="planned_hours">38.0</field> + <field name="user_id" model="res.users" search="[('login','=','admin')]"/> + <field name="project_id" ref="project_project_22"/> + <field name="description">BoM, After sales returns, interventions. Tracability.</field> + <field name="name">Specific adaptation to MRP</field> + </record> + <record id="project_task_130" model="project.task"> + <field name="planned_hours">16.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_23"/> + <field name="name">Data importation + Doc</field> + </record> + <record id="project_task_131" model="project.task"> + <field name="planned_hours">16.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_23"/> + <field name="name">Modifications asked by the customer.</field> + </record> + <record id="project_task_184" model="project.task"> + <field name="planned_hours">16.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="priority">0</field> + <field name="project_id" ref="project_project_21"/> + <field name="name">Customer analysis + Architecture</field> + </record> + <record id="project_task_186" model="project.task"> + <field name="sequence">15</field> + <field name="planned_hours">8.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_21"/> + <field name="name">Internal testing + Software Install</field> + <field name="date_deadline">2007-06-06</field> + </record> + <record id="project_task_188" model="project.task"> + <field name="sequence">17</field> + <field name="planned_hours">16.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="priority">2</field> + <field name="project_id" ref="project_project_21"/> + <field name="name">Analysis, Data Importation</field> + </record> + <record id="project_task_189" model="project.task"> + <field name="sequence">20</field> + <field name="planned_hours">16.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_23"/> + <field name="name">Parameters</field> + </record> + <record id="project_task_190" model="project.task"> + <field name="sequence">20</field> + <field name="start_sequence">1</field> + <field name="planned_hours">32.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_21"/> + <field name="name">Start of the doc redaction + MRP</field> + </record> + <record id="project_task_192" model="project.task"> + <field name="sequence">25</field> + <field name="start_sequence">1</field> + <field name="planned_hours">24.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_21"/> + <field name="name">MRP Tests</field> + </record> + <record id="project_task_193" model="project.task"> + <field name="sequence">29</field> + <field name="planned_hours">24.0</field> + <field name="user_id" model="res.users" search="[('login','=','admin')]"/> + <field name="project_id" ref="project_project_21"/> + <field name="name">MRP; functionnal layer</field> + <field name="state">done</field> + <field name="date_close" eval="time.strftime('%Y-%m-%d 12:12')"/> + </record> + <record id="project_task_194" model="project.task"> + <field name="sequence">30</field> + <field name="planned_hours">24.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_22"/> + <field name="name">Products Adaptation</field> + </record> + <record id="project_task_195" model="project.task"> + <field name="sequence">30</field> + <field name="planned_hours">24.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_23"/> + <field name="name">Install + Super User Training</field> + </record> + <record id="project_task_196" model="project.task"> + <field name="sequence">30</field> + <field name="start_sequence">1</field> + <field name="planned_hours">32.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_22"/> + <field name="name">Customer docs</field> + </record> + <record id="project_task_197" model="project.task"> + <field name="sequence">30</field> + <field name="planned_hours">24.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_21"/> + <field name="name">Development of the presentation layer</field> + </record> + <record id="project_task_198" model="project.task"> + <field name="sequence">40</field> + <field name="planned_hours">32.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_21"/> + <field name="name">Free Time</field> + </record> + <record id="project_task_199" model="project.task"> + <field name="sequence">40</field> + <field name="planned_hours">50.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_22"/> + <field name="name">Specific tests</field> + </record> + <record id="project_task_200" model="project.task"> + <field name="sequence">40</field> + <field name="planned_hours">24.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_22"/> + <field name="name">Sale module</field> + </record> + <record id="project_task_201" model="project.task"> + <field name="sequence">40</field> + <field name="planned_hours">32.0</field> + <field name="user_id" model="res.users" search="[('login','=','admin')]"/> + <field name="project_id" ref="project_project_23"/> + <field name="name">In house trainings</field> + <field name="date_deadline">2007-06-06</field> + </record> + <record id="project_task_202" model="project.task"> + <field name="sequence">50</field> + <field name="start_sequence">1</field> + <field name="planned_hours">24.0</field> + <field name="user_id" model="res.users" search="[('login','=','admin')]"/> + <field name="project_id" ref="project_project_22"/> + <field name="name">Validation + latest modifications.</field> + </record> + <record id="project_task_203" model="project.task"> + <field name="sequence">50</field> + <field name="planned_hours">24.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_22"/> + <field name="name">Adaptations buy module</field> + </record> + <record id="project_task_204" model="project.task"> + <field name="sequence">60</field> + <field name="planned_hours">16.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_21"/> + <field name="name">Presentation of the software.</field> + </record> + <record id="project_task_205" model="project.task"> + <field name="sequence">60</field> + <field name="planned_hours">24.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_22"/> + <field name="name">Adaptations Stock module</field> + </record> + <record id="project_task_206" model="project.task"> + <field name="sequence">70</field> + <field name="planned_hours">24.0</field> + <field name="user_id" model="res.users" search="[('login','=','demo')]"/> + <field name="project_id" ref="project_project_22"/> + <field name="name">Latest in house tests</field> + </record> + </data> </terp> diff --git a/addons/project/project_report.xml b/addons/project/project_report.xml index bf8033e83c4..45751d78886 100644 --- a/addons/project/project_report.xml +++ b/addons/project/project_report.xml @@ -1,23 +1,23 @@ <?xml version="1.0" ?> <terp> - <data> - - <report string="Gantt Representation" + <data> + + <report string="Gantt Representation" model="project.task" name="project.tasks.gantt" auto="False" id="report_project_task_gantt"/> - <report string="Gantt Representation" + <report string="Gantt Representation" model="project.project" name="project.project.gantt" auto="False" id="report_project_project_gantt"/> - <report string="Project Description" + <report string="Project Description" model="project.project" name="project.report" auto="True" xml="project/report/project_report.xml" xsl="project/report/project_report.xsl" id="report_project_desc"/> - </data> + </data> </terp> diff --git a/addons/project/project_security.xml b/addons/project/project_security.xml index 83d4eb7416f..decd37a6800 100644 --- a/addons/project/project_security.xml +++ b/addons/project/project_security.xml @@ -1,98 +1,98 @@ <?xml version="1.0"?> <terp> - <data noupdate="1"> - - <record model="res.groups" id="group_project_manager"> - <field name="name">Project Manager</field> - </record> - - <record model="res.groups" id="group_project_member"> - <field name="name">Project Member</field> - </record> - - <record model="res.users" id="base.user_admin"> - <field name="groups_id" eval="[(4, ref('group_project_manager')), (4, ref('group_project_member'))]"/> - </record> - - <!-- Project security --> - <record model="ir.model.access" id="access_project"> - <field name="name">Project</field> - <field name="model_id" model="ir.model" search="[('model', '=', 'project.project')]"/> - <field name="perm_read" eval="True"/> - <field name="perm_write" eval="False"/> - <field name="perm_create" eval="False"/> - <field name="perm_unlink" eval="False"/> - </record> - - <record model="ir.model.access" id="access_project_manager"> - <field name="name">Project</field> - <field name="model_id" model="ir.model" search="[('model', '=', 'project.project')]"/> - <field name="group_id" ref="group_project_manager"/> - <field name="perm_read" eval="True"/> - <field name="perm_write" eval="True"/> - <field name="perm_create" eval="False"/> - <field name="perm_unlink" eval="False"/> - </record> - - <!-- Project Task security --> - <record model="ir.model.access" id="access_project_task"> - <field name="name">Project Task</field> - <field name="model_id" model="ir.model" search="[('model', '=', 'project.task')]"/> - <field name="perm_read" eval="True"/> - <field name="perm_write" eval="False"/> - <field name="perm_create" eval="False"/> - <field name="perm_unlink" eval="False"/> - </record> - - <record model="ir.model.access" id="access_project_task_manager"> - <field name="name">Project Task</field> - <field name="model_id" model="ir.model" search="[('model', '=', 'project.task')]"/> - <field name="group_id" ref="group_project_manager"/> - <field name="perm_read" eval="True"/> - <field name="perm_write" eval="True"/> - <field name="perm_create" eval="True"/> - <field name="perm_unlink" eval="True"/> - </record> - - <record model="ir.model.access" id="access_project_task_member"> - <field name="name">Project Task</field> - <field name="model_id" model="ir.model" search="[('model', '=', 'project.task')]"/> - <field name="group_id" ref="group_project_member"/> - <field name="perm_read" eval="True"/> - <field name="perm_write" eval="True"/> - <field name="perm_create" eval="False"/> - <field name="perm_unlink" eval="False"/> - </record> - - <!-- Project Work security --> - <record model="ir.model.access" id="access_project_task_work"> - <field name="name">Project Task Work</field> - <field name="model_id" model="ir.model" search="[('model', '=', 'project.task.work')]"/> - <field name="perm_read" eval="True"/> - <field name="perm_write" eval="False"/> - <field name="perm_create" eval="False"/> - <field name="perm_unlink" eval="False"/> - </record> - - <record model="ir.model.access" id="access_project_task_work_manager"> - <field name="name">Project Task Work</field> - <field name="model_id" model="ir.model" search="[('model', '=', 'project.task.work')]"/> - <field name="group_id" ref="group_project_manager"/> - <field name="perm_read" eval="True"/> - <field name="perm_write" eval="True"/> - <field name="perm_create" eval="True"/> - <field name="perm_unlink" eval="True"/> - </record> - - <record model="ir.model.access" id="access_project_task_work_member"> - <field name="name">Project Task Work</field> - <field name="model_id" model="ir.model" search="[('model', '=', 'project.task.work')]"/> - <field name="group_id" ref="group_project_member"/> - <field name="perm_read" eval="True"/> - <field name="perm_write" eval="True"/> - <field name="perm_create" eval="True"/> - <field name="perm_unlink" eval="True"/> - </record> - - </data> -</terp>
\ No newline at end of file + <data noupdate="1"> + + <record model="res.groups" id="group_project_manager"> + <field name="name">Project Manager</field> + </record> + + <record model="res.groups" id="group_project_member"> + <field name="name">Project Member</field> + </record> + + <record model="res.users" id="base.user_admin"> + <field name="groups_id" eval="[(4, ref('group_project_manager')), (4, ref('group_project_member'))]"/> + </record> + + <!-- Project security --> + <record model="ir.model.access" id="access_project"> + <field name="name">Project</field> + <field name="model_id" model="ir.model" search="[('model', '=', 'project.project')]"/> + <field name="perm_read" eval="True"/> + <field name="perm_write" eval="False"/> + <field name="perm_create" eval="False"/> + <field name="perm_unlink" eval="False"/> + </record> + + <record model="ir.model.access" id="access_project_manager"> + <field name="name">Project</field> + <field name="model_id" model="ir.model" search="[('model', '=', 'project.project')]"/> + <field name="group_id" ref="group_project_manager"/> + <field name="perm_read" eval="True"/> + <field name="perm_write" eval="True"/> + <field name="perm_create" eval="False"/> + <field name="perm_unlink" eval="False"/> + </record> + + <!-- Project Task security --> + <record model="ir.model.access" id="access_project_task"> + <field name="name">Project Task</field> + <field name="model_id" model="ir.model" search="[('model', '=', 'project.task')]"/> + <field name="perm_read" eval="True"/> + <field name="perm_write" eval="False"/> + <field name="perm_create" eval="False"/> + <field name="perm_unlink" eval="False"/> + </record> + + <record model="ir.model.access" id="access_project_task_manager"> + <field name="name">Project Task</field> + <field name="model_id" model="ir.model" search="[('model', '=', 'project.task')]"/> + <field name="group_id" ref="group_project_manager"/> + <field name="perm_read" eval="True"/> + <field name="perm_write" eval="True"/> + <field name="perm_create" eval="True"/> + <field name="perm_unlink" eval="True"/> + </record> + + <record model="ir.model.access" id="access_project_task_member"> + <field name="name">Project Task</field> + <field name="model_id" model="ir.model" search="[('model', '=', 'project.task')]"/> + <field name="group_id" ref="group_project_member"/> + <field name="perm_read" eval="True"/> + <field name="perm_write" eval="True"/> + <field name="perm_create" eval="False"/> + <field name="perm_unlink" eval="False"/> + </record> + + <!-- Project Work security --> + <record model="ir.model.access" id="access_project_task_work"> + <field name="name">Project Task Work</field> + <field name="model_id" model="ir.model" search="[('model', '=', 'project.task.work')]"/> + <field name="perm_read" eval="True"/> + <field name="perm_write" eval="False"/> + <field name="perm_create" eval="False"/> + <field name="perm_unlink" eval="False"/> + </record> + + <record model="ir.model.access" id="access_project_task_work_manager"> + <field name="name">Project Task Work</field> + <field name="model_id" model="ir.model" search="[('model', '=', 'project.task.work')]"/> + <field name="group_id" ref="group_project_manager"/> + <field name="perm_read" eval="True"/> + <field name="perm_write" eval="True"/> + <field name="perm_create" eval="True"/> + <field name="perm_unlink" eval="True"/> + </record> + + <record model="ir.model.access" id="access_project_task_work_member"> + <field name="name">Project Task Work</field> + <field name="model_id" model="ir.model" search="[('model', '=', 'project.task.work')]"/> + <field name="group_id" ref="group_project_member"/> + <field name="perm_read" eval="True"/> + <field name="perm_write" eval="True"/> + <field name="perm_create" eval="True"/> + <field name="perm_unlink" eval="True"/> + </record> + + </data> +</terp> diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 152da1fe04d..9dbbcb689e9 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -1,564 +1,516 @@ -<?xml version="1.0" ?> +<?xml version='1.0'?> <terp> - <data> - <menuitem name="Project Management" id="menu_main" icon="terp-project"/> - <menuitem name="Project Management/Configuration" - groups="base.group_admin" sequence="1" id="menu_definitions"/> - - <!-- Project --> - <record model="ir.ui.view" id="edit_project"> - <field name="name">project.project.form</field> - <field name="model">project.project</field> - <field name="type">form</field> - <field name="arch" type="xml"> - <form string="Project"> - <notebook> - <page string="Administration"> - <field name="name" select="1" /> - <group colspan="2" col="3"> - <field name="active" select="2"/> - <button string="Toggle activity" name="toggleActive" type="object" /> - </group> - <field name="manager" select="1"/> - <field name="warn_manager" /> - <newline /> - <field name="priority" /> - <field name="parent_id" /> - <field name="date_start" /> - <field name="date_end" /> - <field name="planned_hours" widget="float_time"/> - <field name="effective_hours" widget="float_time"/> - <field name="timesheet_id"/> - <field name="state"/> - <separator string="Project's members" colspan="4" /> - <field name="members" colspan="4" nolabel="1"/> - </page> - <page string="Partner Info" groups="base.group_extended"> - <field name="partner_id" select="1" colspan="4" on_change="onchange_partner_id(partner_id)"/> - <field name="contact_id" select="2" domain="[('partner_id','=',partner_id)]"/> - <field name="category_id" select="2"/> - <field name="pricelist_id"/> - <field name="warn_customer"/> - <field name="mode"/> - <field name="tariff"/> - <separator string="Mail texts" colspan="4" /> - <field name="warn_header" /> - <field name="warn_footer" /> - <group colspan="4" col="3"> - <label string="Task: %%(name)s"/> - <label string="User: %%(user_id)s"/> - <label string="ID: %%(task_id)s"/> - <label string="Status: %%(state)s"/> - <label string="Date Start: %%(date_start)s"/> - <label string="Date Stop: %%(date_stop)s"/> - </group> - <separator string="Taxes" colspan="4" /> - <field name="tax_ids" colspan="4" nolabel="1"/> - </page> - <page string="Tasks"> - <field name="tasks" nolabel="1" colspan="4" widget="one2many_list"> - <form string="Task edition"> - <notebook> - <page string="Task definition"> - <separator string="Task Information" colspan="4"/> - <field name="name" select="1"/> - <field name="active" select="1"/> - <field name="sequence"/> - <field name="priority" select="1"/> - <field name="user_id" select="1"/> - <field name="date_deadline" select="1"/> - <field name="date_start" select="1"/> - <field name="date_close" select="1"/> - <field name="progress"/> - <newline /> - <field name="planned_hours" widget="float_time"/> - <field name="effective_hours" widget="float_time"/> - <separator string="Description" colspan="4"/> - <field name="description" colspan="4" nolabel="1"/> - - <group col="11" colspan="4"> - <field name="state" select="1"/> - <button name="do_draft" string="Set Draft" states="open" type="object"/> - <button name="do_open" string="Open task" states="pending,draft" type="object"/> - <button name="do_reopen" string="Re-open" states="done,cancelled" type="object"/> - <button name="do_pending" states="open" string="Set pending" type="object"/> - <button name="%(wizard_close_task)d" states="pending,open" string="Done" type="action"/> - <button name="%(wizard_delegate_task)d" states="pending,open" string="Delegate" type="action" groups="base.group_extended"/> - <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object"/> - </group> - </page> - <page string="Work done"> - <separator string="Work done" colspan="4"/> - <field name="work_ids" colspan="4" nolabel="1"/> - </page> - <page string="Others"> - <separator string="Notes" colspan="4"/> - <field name="invoice_id" readonly="True" colspan="4"/> - <field name="notes" colspan="4" nolabel="1"/> - <newline/> - <field name="type" /> - <field name="billable" select="1"/> - <field name="start_sequence"/> - <field name="child_ids" colspan="4" nolabel="1"> - <tree string="Delegated tasks"> - <field name="name"/> - <field name="user_id"/> - <field name="date_deadline"/> - <field name="planned_hours" widget="float_time"/> - <field name="effective_hours" widget="float_time"/> - <field name="state"/> - </tree> - </field> - <field name="parent_id" colspan="4"/> - </page> - </notebook> - </form> - <tree string="All tasks" colors="red:date_deadline<current_date and state=='draft';blue:date_deadline==current_date and state=='draft';grey:state=='cancel' or state=='close'"> - <field name="sequence"/> - <field name="name" /> - <field name="user_id" /> - <field name="date_deadline" /> - <field name="planned_hours" widget="float_time"/> - <field name="effective_hours" widget="float_time"/> - <field name="state" /> - </tree> - </field> - </page> - <page string="Notes"> - <field name="notes" nolabel="1" colspan="4" /> - </page> - </notebook> - <newline /> - </form> - </field> - </record> - <record model="ir.ui.view" id="view_project"> - <field name="name">project.project.tree</field> - <field name="model">project.project</field> - <field name="type">tree</field> - <field name="field_parent">child_id</field> - <field name="arch" type="xml"> - <tree string="Projects"> - <field name="name" /> - <field name="manager" /> - <field name="partner_id" /> - <field name="planned_hours" widget="float_time"/> - <field name="effective_hours" widget="float_time"/> - <field name="state" /> - </tree> - </field> - </record> - <record model="ir.actions.act_window" id="open_view_all_project"> - <field name="name">All Projects</field> - <field name="res_model">project.project</field> - <field name="view_type">tree</field> - <field name="domain">[('parent_id','=',False)]</field> - <field name="view_id" ref="view_project" /> - </record> - <menuitem - name="Project Management/All Projects" - action="open_view_all_project" - id="menu_all_project"/> - - <record model="ir.actions.act_window" id="open_view_all_project_unclosed"> - <field name="name">Unclosed projects</field> - <field name="res_model">project.project</field> - <field name="view_type">tree</field> - <field name="domain">[('parent_id','=',False),('state','<>','cancelled'),('state','<>','done')]</field> - <field name="view_id" ref="view_project" /> - </record> - <menuitem - name="Project Management/All Projects/Unclosed Projects" - action="open_view_all_project_unclosed" - id="menu_all_project_unclosed"/> - - - <record model="ir.actions.act_window" id="open_view_all_project_unclosed_open"> - <field name="name">Open projects</field> - <field name="res_model">project.project</field> - <field name="view_type">tree</field> - <field name="domain">[('parent_id','=',False),('state','=','open')]</field> - <field name="view_id" ref="view_project" /> - </record> - <menuitem - name="Project Management/All Projects/Unclosed Projects/Open Projects" - action="open_view_all_project_unclosed_open" - id="menu_all_project_unclosed_open"/> - - - <record model="ir.actions.act_window" id="open_view_project_open"> - <field name="name">Open projects</field> - <field name="res_model">project.project</field> - <field name="view_type">form</field> - <field name="domain">[('state','=','open')]</field> - <field name="view_id" ref="view_project" /> - </record> - <menuitem - name="Project Management/Configuration/Projects/Open Projects" - id="menu_open_view_project_open" - action="open_view_project_open"/> - - - <record model="ir.actions.act_window" id="open_view_project"> - <field name="name">Projects</field> - <field name="res_model">project.project</field> - <field name="view_type">form</field> - <field name="domain">[]</field> - <field name="view_id" ref="view_project" /> - </record> - <menuitem - name="Project Management/Configuration/Projects" - id="menu_open_view_project" - action="open_view_project"/> - - <record model="ir.ui.view" id="view_task_work_form"> - <field name="name">project.task.work.form</field> - <field name="model">project.task.work</field> - <field name="type">form</field> - <field name="arch" type="xml"> - <form string="Task Work"> - <field name="name" select="1" colspan="4"/> - <field name="hours" widget="float_time" select="1"/> - <field name="date" select="1"/> - <field name="user_id" select="1"/> - </form> - </field> - </record> - - <record model="ir.ui.view" id="view_task_work_tree"> - <field name="name">project.task.work.tree</field> - <field name="model">project.task.work</field> - <field name="type">tree</field> - <field name="arch" type="xml"> - <tree string="Task Work" editable="top"> - <field name="date"/> - <field name="name"/> - <field name="hours" widget="float_time"/> - <field name="user_id"/> - </tree> - </field> - </record> - - <record model="ir.ui.view" id="view_my_project"> - <field name="name">project.project.tree</field> - <field name="model">project.project</field> - <field name="type">tree</field> - <field name="field_parent">child_id</field> - <field name="arch" type="xml"> - <tree string="My projects"> - <field name="name" /> - <field name="partner_id" /> - <field name="planned_hours" widget="float_time"/> - <field name="effective_hours" widget="float_time"/> - <field name="state" /> - </tree> - </field> - </record> - <record model="ir.actions.act_window" id="open_view_my_project"> - <field name="name">My projects</field> - <field name="res_model">project.project</field> - <field name="view_type">tree</field> - <field name="domain">[('manager', '=', uid)]</field> - <field name="view_id" ref="view_my_project" /> - </record> - <menuitem name="Project Management/My Projects" id="menu_open_view_my_project" action="open_view_my_project" /> - - - <record model="ir.actions.act_window" id="open_view_my_project_open_unclosed"> - <field name="name">My unclosed projects</field> - <field name="res_model">project.project</field> - <field name="view_type">tree</field> - <field name="domain">[('manager', '=', uid),('state','<>','cancelled'),('state','<>','done')]</field> - <field name="view_id" ref="view_my_project" /> - </record> - <menuitem name="Project Management/My Projects/My Unclosed Projects" - id="menu_open_view_my_project_open_unclosed" - action="open_view_my_project_open_unclosed" /> - - - <record model="ir.actions.act_window" id="open_view_my_project_open"> - <field name="name">My open projects</field> - <field name="res_model">project.project</field> - <field name="view_type">tree</field> - <field name="domain">[('manager', '=', uid),('state','=','open')]</field> - <field name="view_id" ref="view_my_project" /> - </record> - <menuitem name="Project Management/My Projects/My Unclosed Projects/My Open Projects" - id="menu_open_view_my_project_open" - action="open_view_my_project_open" /> - - <!-- Task --> - <record model="ir.ui.view" id="view_task_form2"> - <field name="name">project.task.form</field> - <field name="model">project.task</field> - <field name="type">form</field> - <field name="priority" eval="2"/> - <field name="arch" type="xml"> - <form string="Task edition"> - <notebook> - <page string="Information"> - <field name="name" select="1"/> - <field name="project_id" required="1" select="1"/> - <field name="user_id" select="1"/> - <field name="priority"/> - <field name="date_deadline" select="2"/> - <field name="planned_hours" widget="float_time"/> - <separator colspan="4" string="Description"/> - <field colspan="4" name="description" nolabel="1" select="2"/> - <field name="effective_hours" widget="float_time"/> - <field name="progress"/> - <field colspan="4" name="work_ids" nolabel="1"/> - <newline/> - <group col="11" colspan="4"> - <field name="state" select="1"/> - <button name="do_draft" string="Set Draft" states="open" type="object"/> - <button name="do_open" string="Open" states="pending,draft" type="object"/> - <button name="do_reopen" string="Re-open" states="done,cancelled" type="object"/> - <button name="do_pending" states="open" string="Set Pending" type="object"/> - <button name="%(wizard_delegate_task)d" states="pending,open" string="Delegate" type="action" groups="base.group_extended"/> - <button name="%(wizard_close_task)d" states="pending,open" string="Done" type="action"/> - <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object"/> - - </group> - </page> - <page string="Delegations" groups="base.group_extended"> - <field name="history" colspan="4" nolabel="1"/> - <field name="child_ids" colspan="4" nolabel="1" height="150"> - <tree string="Delegated tasks"> - <field name="name"/> - <field name="user_id"/> - <field name="date_deadline"/> - <field name="planned_hours" widget="float_time"/> - <field name="effective_hours" widget="float_time"/> - <field name="state"/> - </tree> - </field> - <field name="parent_id" colspan="4"/> - </page> - <page string="Extra Info" groups="base.group_extended"> - <field name="date_start" select="2"/> - <field name="date_close" select="2"/> - <field name="type"/> - <field name="sequence"/> - <field name="active" select="2"/> - <field name="start_sequence"/> - <field name="partner_id" select="2"/> - <newline/> - <field name="invoice_id"/> - <field name="billable" select="2"/> - <separator colspan="4" string="Notes"/> - <field colspan="4" name="notes" nolabel="1"/> - </page> - </notebook> - </form> - </field> - </record> - <record model="ir.ui.view" id="view_task_tree2"> - <field name="name">project.task.tree</field> - <field name="model">project.task</field> - <field name="type">tree</field> - <field name="priority" eval="2"/> - <field name="arch" type="xml"> - <tree string="Tasks" colors="grey:state in ('cancel','done');blue:state=='pending'"> - <field name="sequence"/> - <field name="name"/> - <field name="project_id"/> - <field name="user_id"/> - <field name="date_deadline"/> - <field name="planned_hours" widget="float_time" sum="Planned hours"/> - <field name="effective_hours" sum="Effective hours" widget="float_time"/> - <field name="priority"/> - <field name="state"/> - </tree> - </field> - </record> - - <record model="ir.ui.view" id="view_task_calendar"> - <field name="name">project.task.calendar</field> - <field name="model">project.task</field> - <field name="type">calendar</field> - <field name="priority" eval="2"/> - <field name="arch" type="xml"> - <calendar string="Tasks" date_start="date_start" - date_delay="planned_hours" color="user_id"> - <field name="name"/> - <field name="project_id"/> - </calendar> - </field> - </record> - - <record model="ir.actions.act_window" id="action_view_task"> - <field name="name">All Tasks</field> - <field name="res_model">project.task</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form,calendar</field> - <field name="view_id" eval="False"/> - </record> - <menuitem name="Project Management/All Tasks" id="menu_action_view_task" action="action_view_task" /> - - <record model="ir.actions.act_window" id="action_view_task2"> - <field name="name">Unbilled closed tasks</field> - <field name="res_model">project.task</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <field name="domain">[('state','=','done'), ('billable','=',True), ('invoice_id','=',False)]</field> - </record> - <menuitem - name="Project Management/All Tasks/Billable Tasks" - groups="base.group_extended" - id="menu_action_billable"/> - - <menuitem name="Project Management/All Tasks/Billable Tasks/Unbilled Closed Tasks" id="menu_action_view_task2" action="action_view_task2" /> - - <record model="ir.actions.act_window" id="action_view_task3"> - <field name="name">Unbilled open tasks</field> - <field name="res_model">project.task</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <field name="domain">[('state','=','open'), ('billable','=',True), ('invoice_id','=',False)]</field> - </record> - <menuitem name="Project Management/All Tasks/Billable Tasks/Unbilled Open Tasks" id="menu_action_view_task3" action="action_view_task3" /> - - <record model="ir.actions.act_window" id="action_view_task4"> - <field name="name">My Tasks</field> - <field name="res_model">project.task</field> - <field name="view_type">form</field> - <field name="domain">[('user_id', '=', uid)]</field> - <field name="view_id" ref="view_task_form2" /> - </record> - <menuitem name="Project Management/" id="menu_action_view_task4" action="action_view_task4" /> - - <record model="ir.actions.act_window" id="action_view_task5_pending"> - <field name="name">My Pending Tasks</field> - <field name="res_model">project.task</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <field name="domain">[('user_id', '=', uid),('state','=','pending')]</field> - </record> - <menuitem name="Project Management/My Tasks/" action="action_view_task5_pending" id="menu_tasks_yours_pending" /> - - <record model="ir.actions.act_window" id="action_view_task5"> - <field name="name">My Open Tasks</field> - <field name="res_model">project.task</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <field name="domain">[('user_id', '=', uid),('state','=','open')]</field> - </record> - <menuitem name="Project Management/My Tasks/" action="action_view_task5" id="menu_tasks_yours" /> - - <record model="ir.actions.act_window" id="action_view_task5_prog"> - <field name="name">My Tasks in Progress</field> - <field name="res_model">project.task</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <field name="domain">[('user_id', '=', uid),('state','=','open')]</field> - </record> - <menuitem name="Project Management/My Tasks/" action="action_view_task5_prog" id="menu_tasks_yours_prog" /> - - <record model="ir.actions.act_window" id="action_view_task6"> - <field name="name">Open Tasks</field> - <field name="res_model">project.task</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <field name="domain">[('state', '=', 'open')]</field> - </record> - <menuitem name="Project Management/All Tasks/" id="menu_action_view_task6" action="action_view_task6" /> - - <record model="ir.actions.act_window" id="action_view_task6_prog"> - <field name="name">Tasks in Progress</field> - <field name="res_model">project.task</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <field name="domain">[('state', '=', 'progress')]</field> - </record> - <menuitem name="Project Management/All Tasks/" id="menu_action_view_task6_prog" action="action_view_task6_prog" /> - - <record model="ir.actions.act_window" id="action_view_task7"> - <field name="name">Unassigned Tasks</field> - <field name="res_model">project.task</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <field name="domain">[('user_id', '=', False)]</field> - </record> - <menuitem name="Project Management/All Tasks/" id="menu_action_view_task7" action="action_view_task7" /> - - <!-- Opening task when double clicking on project --> - <record model="ir.actions.act_window" id="dblc_proj"> - <field name="res_model">project.task</field> - <field name="name">Project's tasks</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <field name="domain">[('project_id', 'child_of', [active_id])]</field> - </record> - <record model="ir.values" id="ir_project_task_open"> - <field name="key2" eval=" 'tree_but_open'" /> - <field name="model" eval="'project.project'" /> - <field name="name">View project's tasks</field> - <field name="value" eval="'ir.actions.act_window,'+str(dblc_proj)" /> - <field name="object" eval="True" /> - </record> - - <!-- Task types --> - <record model="ir.ui.view" id="task_type_edit"> - <field name="name">project.task.type.form</field> - <field name="model">project.task.type</field> - <field name="type">form</field> - <field name="arch" type="xml"> - <form string="Task type"> - <field name="name" colspan="4" select="1"/> - <field name="description" colspan="4" select="1"/> - </form> - </field> - </record> - <record model="ir.ui.view" id="task_type_tree"> - <field name="name">project.task.type.tree</field> - <field name="model">project.task.type</field> - <field name="type">tree</field> - <field name="arch" type="xml"> - <tree string="Task type"> - <field name="name"/> - </tree> - </field> - </record> - <record model="ir.actions.act_window" id="open_task_type_form"> - <field name="name">Task Types</field> - <field name="res_model">project.task.type</field> - <field name="view_type">form</field> - <field name="view_id" ref="task_type_tree"/> - </record> - <menuitem name="Project Management/Configuration/Task Types" id="menu_task_types" action="open_task_type_form"/> - - <act_window name="User's projects" - domain="[('manager', '=', active_id)]" - res_model="project.project" - src_model="res.users" - view_type="form" - view_mode="tree,form" - id="act_res_users_2_project_project"/> - - <act_window name="Opened tasks" - domain="[('project_id', '=', active_id),('state', '<>', 'cancelled'),('state', '<>', 'done')]" - res_model="project.task" - src_model="project.project" - view_type="form" - view_mode="tree,form" - id="act_project_project_2_project_task_opened"/> - - <act_window name="Assigned tasks" - domain="[('user_id', '=', active_id),('state', '<>', 'cancelled'),('state', '<>', 'done')]" - res_model="project.task" - src_model="res.users" - view_type="form" - view_mode="tree,form" - id="act_res_users_2_project_task_opened"/> - - <act_window name="Month works" - domain="[('user_id', '=', active_id),('date', '>=', time.strftime('%Y-%m-01'))]" - res_model="project.task.work" - src_model="res.users" - view_type="form" - view_mode="tree,form" - id="act_res_users_2_project_task_work_month"/> - - </data> + <data> + <menuitem name='Project Management' icon='terp-project' id='menu_main'/> + <menuitem name='Project Management/Configuration' sequence='1' groups='base.group_admin' id='menu_definitions'/> + + <!-- Project --> + <record id='edit_project' model='ir.ui.view'> + <field name='name'>project.project.form</field> + <field name='model'>project.project</field> + <field name='type'>form</field> + <field name='arch' type='xml'> + <form string='Project'> + <notebook> + <page string='Administration'> + <field name='name' select='1'/> + <group col='3' colspan='2'> + <field name='active' select='2'/> + <button name='toggleActive' type='object' string='Toggle activity'/> + </group> + <field name='manager' select='1'/> + <field name='warn_manager'/> + <newline/> + <field name='priority'/> + <field name='parent_id'/> + <field name='date_start'/> + <field name='date_end'/> + <field name='planned_hours' widget='float_time'/> + <field name='effective_hours' widget='float_time'/> + <field name='timesheet_id'/> + <field name='state'/> + <separator string='Project's members' colspan='4'/> + <field name='members' nolabel='1' colspan='4'/> + </page> + <page groups='base.group_extended' string='Partner Info'> + <field name='partner_id' on_change='onchange_partner_id(partner_id)' select='1' colspan='4'/> + <field name='contact_id' domain='[('partner_id','=',partner_id)]' select='2'/> + <field name='category_id' select='2'/> + <field name='pricelist_id'/> + <field name='warn_customer'/> + <field name='mode'/> + <field name='tariff'/> + <separator string='Mail texts' colspan='4'/> + <field name='warn_header'/> + <field name='warn_footer'/> + <group col='3' colspan='4'> + <label string='Task: %%(name)s'/> + <label string='User: %%(user_id)s'/> + <label string='ID: %%(task_id)s'/> + <label string='Status: %%(state)s'/> + <label string='Date Start: %%(date_start)s'/> + <label string='Date Stop: %%(date_stop)s'/> + </group> + <separator string='Taxes' colspan='4'/> + <field name='tax_ids' nolabel='1' colspan='4'/> + </page> + <page string='Tasks'> + <field name='tasks' nolabel='1' widget='one2many_list' colspan='4'> + <form string='Task edition'> + <notebook> + <page string='Task definition'> + <separator string='Task Information' colspan='4'/> + <field name='name' select='1'/> + <field name='active' select='1'/> + <field name='sequence'/> + <field name='priority' select='1'/> + <field name='user_id' select='1'/> + <field name='date_deadline' select='1'/> + <field name='date_start' select='1'/> + <field name='date_close' select='1'/> + <field name='progress'/> + <newline/> + <field name='planned_hours' widget='float_time'/> + <field name='effective_hours' widget='float_time'/> + <separator string='Description' colspan='4'/> + <field name='description' nolabel='1' colspan='4'/> + + <group col='11' colspan='4'> + <field name='state' select='1'/> + <button name='do_draft' type='object' states='open' string='Set Draft'/> + <button name='do_open' type='object' states='pending,draft' string='Open task'/> + <button name='do_reopen' type='object' states='done,cancelled' string='Re-open'/> + <button name='do_pending' type='object' states='open' string='Set pending'/> + <button name='%(wizard_close_task)d' type='action' states='pending,open' string='Done'/> + <button name='%(wizard_delegate_task)d' groups='base.group_extended' type='action' states='pending,open' string='Delegate'/> + <button name='do_cancel' type='object' states='draft,open,pending' string='Cancel'/> + </group> + </page> + <page string='Work done'> + <separator string='Work done' colspan='4'/> + <field name='work_ids' nolabel='1' colspan='4'/> + </page> + <page string='Others'> + <separator string='Notes' colspan='4'/> + <field name='invoice_id' readonly='True' colspan='4'/> + <field name='notes' nolabel='1' colspan='4'/> + <newline/> + <field name='type'/> + <field name='billable' select='1'/> + <field name='start_sequence'/> + <field name='child_ids' nolabel='1' colspan='4'> + <tree string='Delegated tasks'> + <field name='name'/> + <field name='user_id'/> + <field name='date_deadline'/> + <field name='planned_hours' widget='float_time'/> + <field name='effective_hours' widget='float_time'/> + <field name='state'/> + </tree> + </field> + <field name='parent_id' colspan='4'/> + </page> + </notebook> + </form> + <tree colors='red:date_deadline<current_date and state=='draft';blue:date_deadline==current_date and state=='draft';grey:state=='cancel' or state=='close'' string='All tasks'> + <field name='sequence'/> + <field name='name'/> + <field name='user_id'/> + <field name='date_deadline'/> + <field name='planned_hours' widget='float_time'/> + <field name='effective_hours' widget='float_time'/> + <field name='state'/> + </tree> + </field> + </page> + <page string='Notes'> + <field name='notes' nolabel='1' colspan='4'/> + </page> + </notebook> + <newline/> + </form> + </field> + </record> + <record id='view_project' model='ir.ui.view'> + <field name='name'>project.project.tree</field> + <field name='model'>project.project</field> + <field name='type'>tree</field> + <field name='field_parent'>child_id</field> + <field name='arch' type='xml'> + <tree string='Projects'> + <field name='name'/> + <field name='manager'/> + <field name='partner_id'/> + <field name='planned_hours' widget='float_time'/> + <field name='effective_hours' widget='float_time'/> + <field name='state'/> + </tree> + </field> + </record> + <record id='open_view_all_project' model='ir.actions.act_window'> + <field name='name'>All Projects</field> + <field name='res_model'>project.project</field> + <field name='view_type'>tree</field> + <field name='domain'>[('parent_id','=',False)]</field> + <field name='view_id' ref='view_project'/> + </record> + <menuitem name='Project Management/All Projects' action='open_view_all_project' id='menu_all_project'/> + + <record id='open_view_all_project_unclosed' model='ir.actions.act_window'> + <field name='name'>Unclosed projects</field> + <field name='res_model'>project.project</field> + <field name='view_type'>tree</field> + <field name='domain'>[('parent_id','=',False),('state','<>','cancelled'),('state','<>','done')]</field> + <field name='view_id' ref='view_project'/> + </record> + <menuitem name='Project Management/All Projects/Unclosed Projects' action='open_view_all_project_unclosed' id='menu_all_project_unclosed'/> + + + <record id='open_view_all_project_unclosed_open' model='ir.actions.act_window'> + <field name='name'>Open projects</field> + <field name='res_model'>project.project</field> + <field name='view_type'>tree</field> + <field name='domain'>[('parent_id','=',False),('state','=','open')]</field> + <field name='view_id' ref='view_project'/> + </record> + <menuitem name='Project Management/All Projects/Unclosed Projects/Open Projects' action='open_view_all_project_unclosed_open' id='menu_all_project_unclosed_open'/> + + + <record id='open_view_project_open' model='ir.actions.act_window'> + <field name='name'>Open projects</field> + <field name='res_model'>project.project</field> + <field name='view_type'>form</field> + <field name='domain'>[('state','=','open')]</field> + <field name='view_id' ref='view_project'/> + </record> + <menuitem name='Project Management/Configuration/Projects/Open Projects' action='open_view_project_open' id='menu_open_view_project_open'/> + + + <record id='open_view_project' model='ir.actions.act_window'> + <field name='name'>Projects</field> + <field name='res_model'>project.project</field> + <field name='view_type'>form</field> + <field name='domain'>[]</field> + <field name='view_id' ref='view_project'/> + </record> + <menuitem name='Project Management/Configuration/Projects' action='open_view_project' id='menu_open_view_project'/> + + <record id='view_task_work_form' model='ir.ui.view'> + <field name='name'>project.task.work.form</field> + <field name='model'>project.task.work</field> + <field name='type'>form</field> + <field name='arch' type='xml'> + <form string='Task Work'> + <field name='name' select='1' colspan='4'/> + <field name='hours' widget='float_time' select='1'/> + <field name='date' select='1'/> + <field name='user_id' select='1'/> + </form> + </field> + </record> + + <record id='view_task_work_tree' model='ir.ui.view'> + <field name='name'>project.task.work.tree</field> + <field name='model'>project.task.work</field> + <field name='type'>tree</field> + <field name='arch' type='xml'> + <tree editable='top' string='Task Work'> + <field name='date'/> + <field name='name'/> + <field name='hours' widget='float_time'/> + <field name='user_id'/> + </tree> + </field> + </record> + + <record id='view_my_project' model='ir.ui.view'> + <field name='name'>project.project.tree</field> + <field name='model'>project.project</field> + <field name='type'>tree</field> + <field name='field_parent'>child_id</field> + <field name='arch' type='xml'> + <tree string='My projects'> + <field name='name'/> + <field name='partner_id'/> + <field name='planned_hours' widget='float_time'/> + <field name='effective_hours' widget='float_time'/> + <field name='state'/> + </tree> + </field> + </record> + <record id='open_view_my_project' model='ir.actions.act_window'> + <field name='name'>My projects</field> + <field name='res_model'>project.project</field> + <field name='view_type'>tree</field> + <field name='domain'>[('manager', '=', uid)]</field> + <field name='view_id' ref='view_my_project'/> + </record> + <menuitem name='Project Management/My Projects' action='open_view_my_project' id='menu_open_view_my_project'/> + + + <record id='open_view_my_project_open_unclosed' model='ir.actions.act_window'> + <field name='name'>My unclosed projects</field> + <field name='res_model'>project.project</field> + <field name='view_type'>tree</field> + <field name='domain'>[('manager', '=', uid),('state','<>','cancelled'),('state','<>','done')]</field> + <field name='view_id' ref='view_my_project'/> + </record> + <menuitem name='Project Management/My Projects/My Unclosed Projects' action='open_view_my_project_open_unclosed' id='menu_open_view_my_project_open_unclosed'/> + + + <record id='open_view_my_project_open' model='ir.actions.act_window'> + <field name='name'>My open projects</field> + <field name='res_model'>project.project</field> + <field name='view_type'>tree</field> + <field name='domain'>[('manager', '=', uid),('state','=','open')]</field> + <field name='view_id' ref='view_my_project'/> + </record> + <menuitem name='Project Management/My Projects/My Unclosed Projects/My Open Projects' action='open_view_my_project_open' id='menu_open_view_my_project_open'/> + + <!-- Task --> + <record id='view_task_form2' model='ir.ui.view'> + <field name='name'>project.task.form</field> + <field name='model'>project.task</field> + <field name='type'>form</field> + <field name='priority' eval='2'/> + <field name='arch' type='xml'> + <form string='Task edition'> + <notebook> + <page string='Information'> + <field name='name' select='1'/> + <field name='project_id' required='1' select='1'/> + <field name='user_id' select='1'/> + <field name='priority'/> + <field name='date_deadline' select='2'/> + <field name='planned_hours' widget='float_time'/> + <separator colspan='4' string='Description'/> + <field name='description' nolabel='1' colspan='4' select='2'/> + <field name='effective_hours' widget='float_time'/> + <field name='progress'/> + <field name='work_ids' nolabel='1' colspan='4'/> + <newline/> + <group col='11' colspan='4'> + <field name='state' select='1'/> + <button name='do_draft' type='object' states='open' string='Set Draft'/> + <button name='do_open' type='object' states='pending,draft' string='Open'/> + <button name='do_reopen' type='object' states='done,cancelled' string='Re-open'/> + <button name='do_pending' type='object' states='open' string='Set Pending'/> + <button name='%(wizard_delegate_task)d' groups='base.group_extended' type='action' states='pending,open' string='Delegate'/> + <button name='%(wizard_close_task)d' type='action' states='pending,open' string='Done'/> + <button name='do_cancel' type='object' states='draft,open,pending' string='Cancel'/> + + </group> + </page> + <page groups='base.group_extended' string='Delegations'> + <field name='history' nolabel='1' colspan='4'/> + <field name='child_ids' height='150' nolabel='1' colspan='4'> + <tree string='Delegated tasks'> + <field name='name'/> + <field name='user_id'/> + <field name='date_deadline'/> + <field name='planned_hours' widget='float_time'/> + <field name='effective_hours' widget='float_time'/> + <field name='state'/> + </tree> + </field> + <field name='parent_id' colspan='4'/> + </page> + <page groups='base.group_extended' string='Extra Info'> + <field name='date_start' select='2'/> + <field name='date_close' select='2'/> + <field name='type'/> + <field name='sequence'/> + <field name='active' select='2'/> + <field name='start_sequence'/> + <field name='partner_id' select='2'/> + <newline/> + <field name='invoice_id'/> + <field name='billable' select='2'/> + <separator colspan='4' string='Notes'/> + <field name='notes' nolabel='1' colspan='4'/> + </page> + </notebook> + </form> + </field> + </record> + <record id='view_task_tree2' model='ir.ui.view'> + <field name='name'>project.task.tree</field> + <field name='model'>project.task</field> + <field name='type'>tree</field> + <field name='priority' eval='2'/> + <field name='arch' type='xml'> + <tree colors='grey:state in ('cancel','done');blue:state=='pending'' string='Tasks'> + <field name='sequence'/> + <field name='name'/> + <field name='project_id'/> + <field name='user_id'/> + <field name='date_deadline'/> + <field name='planned_hours' sum='Planned hours' widget='float_time'/> + <field name='effective_hours' sum='Effective hours' widget='float_time'/> + <field name='priority'/> + <field name='state'/> + </tree> + </field> + </record> + + <record id='view_task_calendar' model='ir.ui.view'> + <field name='name'>project.task.calendar</field> + <field name='model'>project.task</field> + <field name='type'>calendar</field> + <field name='priority' eval='2'/> + <field name='arch' type='xml'> + <calendar date_delay='planned_hours' color='user_id' string='Tasks' date_start='date_start'> + <field name='name'/> + <field name='project_id'/> + </calendar> + </field> + </record> + + <record id='action_view_task' model='ir.actions.act_window'> + <field name='name'>All Tasks</field> + <field name='res_model'>project.task</field> + <field name='view_type'>form</field> + <field name='view_mode'>tree,form,calendar</field> + <field name='view_id' eval='False'/> + </record> + <menuitem name='Project Management/All Tasks' action='action_view_task' id='menu_action_view_task'/> + + <record id='action_view_task2' model='ir.actions.act_window'> + <field name='name'>Unbilled closed tasks</field> + <field name='res_model'>project.task</field> + <field name='view_type'>form</field> + <field name='view_mode'>tree,form</field> + <field name='domain'>[('state','=','done'), ('billable','=',True), ('invoice_id','=',False)]</field> + </record> + <menuitem name='Project Management/All Tasks/Billable Tasks' groups='base.group_extended' id='menu_action_billable'/> + + <menuitem name='Project Management/All Tasks/Billable Tasks/Unbilled Closed Tasks' action='action_view_task2' id='menu_action_view_task2'/> + + <record id='action_view_task3' model='ir.actions.act_window'> + <field name='name'>Unbilled open tasks</field> + <field name='res_model'>project.task</field> + <field name='view_type'>form</field> + <field name='view_mode'>tree,form</field> + <field name='domain'>[('state','=','open'), ('billable','=',True), ('invoice_id','=',False)]</field> + </record> + <menuitem name='Project Management/All Tasks/Billable Tasks/Unbilled Open Tasks' action='action_view_task3' id='menu_action_view_task3'/> + + <record id='action_view_task4' model='ir.actions.act_window'> + <field name='name'>My Tasks</field> + <field name='res_model'>project.task</field> + <field name='view_type'>form</field> + <field name='domain'>[('user_id', '=', uid)]</field> + <field name='view_id' ref='view_task_form2'/> + </record> + <menuitem name='Project Management/' action='action_view_task4' id='menu_action_view_task4'/> + + <record id='action_view_task5_pending' model='ir.actions.act_window'> + <field name='name'>My Pending Tasks</field> + <field name='res_model'>project.task</field> + <field name='view_type'>form</field> + <field name='view_mode'>tree,form</field> + <field name='domain'>[('user_id', '=', uid),('state','=','pending')]</field> + </record> + <menuitem name='Project Management/My Tasks/' action='action_view_task5_pending' id='menu_tasks_yours_pending'/> + + <record id='action_view_task5' model='ir.actions.act_window'> + <field name='name'>My Open Tasks</field> + <field name='res_model'>project.task</field> + <field name='view_type'>form</field> + <field name='view_mode'>tree,form</field> + <field name='domain'>[('user_id', '=', uid),('state','=','open')]</field> + </record> + <menuitem name='Project Management/My Tasks/' action='action_view_task5' id='menu_tasks_yours'/> + + <record id='action_view_task5_prog' model='ir.actions.act_window'> + <field name='name'>My Tasks in Progress</field> + <field name='res_model'>project.task</field> + <field name='view_type'>form</field> + <field name='view_mode'>tree,form</field> + <field name='domain'>[('user_id', '=', uid),('state','=','open')]</field> + </record> + <menuitem name='Project Management/My Tasks/' action='action_view_task5_prog' id='menu_tasks_yours_prog'/> + + <record id='action_view_task6' model='ir.actions.act_window'> + <field name='name'>Open Tasks</field> + <field name='res_model'>project.task</field> + <field name='view_type'>form</field> + <field name='view_mode'>tree,form</field> + <field name='domain'>[('state', '=', 'open')]</field> + </record> + <menuitem name='Project Management/All Tasks/' action='action_view_task6' id='menu_action_view_task6'/> + + <record id='action_view_task6_prog' model='ir.actions.act_window'> + <field name='name'>Tasks in Progress</field> + <field name='res_model'>project.task</field> + <field name='view_type'>form</field> + <field name='view_mode'>tree,form</field> + <field name='domain'>[('state', '=', 'progress')]</field> + </record> + <menuitem name='Project Management/All Tasks/' action='action_view_task6_prog' id='menu_action_view_task6_prog'/> + + <record id='action_view_task7' model='ir.actions.act_window'> + <field name='name'>Unassigned Tasks</field> + <field name='res_model'>project.task</field> + <field name='view_type'>form</field> + <field name='view_mode'>tree,form</field> + <field name='domain'>[('user_id', '=', False)]</field> + </record> + <menuitem name='Project Management/All Tasks/' action='action_view_task7' id='menu_action_view_task7'/> + + <!-- Opening task when double clicking on project --> + <record id='dblc_proj' model='ir.actions.act_window'> + <field name='res_model'>project.task</field> + <field name='name'>Project's tasks</field> + <field name='view_type'>form</field> + <field name='view_mode'>tree,form</field> + <field name='domain'>[('project_id', 'child_of', [active_id])]</field> + </record> + <record id='ir_project_task_open' model='ir.values'> + <field name='key2' eval=' 'tree_but_open''/> + <field name='model' eval=''project.project''/> + <field name='name'>View project's tasks</field> + <field name='value' eval=''ir.actions.act_window,'+str(dblc_proj)'/> + <field name='object' eval='True'/> + </record> + + <!-- Task types --> + <record id='task_type_edit' model='ir.ui.view'> + <field name='name'>project.task.type.form</field> + <field name='model'>project.task.type</field> + <field name='type'>form</field> + <field name='arch' type='xml'> + <form string='Task type'> + <field name='name' colspan='4' select='1'/> + <field name='description' colspan='4' select='1'/> + </form> + </field> + </record> + <record id='task_type_tree' model='ir.ui.view'> + <field name='name'>project.task.type.tree</field> + <field name='model'>project.task.type</field> + <field name='type'>tree</field> + <field name='arch' type='xml'> + <tree string='Task type'> + <field name='name'/> + </tree> + </field> + </record> + <record id='open_task_type_form' model='ir.actions.act_window'> + <field name='name'>Task Types</field> + <field name='res_model'>project.task.type</field> + <field name='view_type'>form</field> + <field name='view_id' ref='task_type_tree'/> + </record> + <menuitem name='Project Management/Configuration/Task Types' action='open_task_type_form' id='menu_task_types'/> + + <act_window name='User's projects' view_type='form' domain='[('manager', '=', active_id)]' id='act_res_users_2_project_project' src_model='res.users' view_mode='tree,form' res_model='project.project'/> + + <act_window name='Opened tasks' view_type='form' domain='[('project_id', '=', active_id),('state', '<>', 'cancelled'),('state', '<>', 'done')]' id='act_project_project_2_project_task_opened' src_model='project.project' view_mode='tree,form' res_model='project.task'/> + + <act_window name='Assigned tasks' view_type='form' domain='[('user_id', '=', active_id),('state', '<>', 'cancelled'),('state', '<>', 'done')]' id='act_res_users_2_project_task_opened' src_model='res.users' view_mode='tree,form' res_model='project.task'/> + + <act_window name='Month works' view_type='form' domain='[('user_id', '=', active_id),('date', '>=', time.strftime('%Y-%m-01'))]' id='act_res_users_2_project_task_work_month' src_model='res.users' view_mode='tree,form' res_model='project.task.work'/> + + </data> </terp> diff --git a/addons/project/project_wizard.xml b/addons/project/project_wizard.xml index 86114464c88..4f656d46b4c 100644 --- a/addons/project/project_wizard.xml +++ b/addons/project/project_wizard.xml @@ -1,8 +1,8 @@ <?xml version="1.0" ?> <terp> - <data> - <wizard id="wizard_billing" string="Bill tasks" model="project.task" name="project.wiz_bill"/> - <wizard id="wizard_close_task" string="Close Task" model="project.task" name="project.task.close" menu="False"/> - <wizard id="wizard_delegate_task" string="Delegate Task" model="project.task" name="project.task.delegate" menu="False"/> - </data> + <data> + <wizard id="wizard_billing" string="Bill tasks" model="project.task" name="project.wiz_bill"/> + <wizard id="wizard_close_task" string="Close Task" model="project.task" name="project.task.close" menu="False"/> + <wizard id="wizard_delegate_task" string="Delegate Task" model="project.task" name="project.task.delegate" menu="False"/> + </data> </terp> diff --git a/addons/project/report/project_report.xml b/addons/project/report/project_report.xml index 44fcfecec16..59d0fd28220 100644 --- a/addons/project/report/project_report.xml +++ b/addons/project/report/project_report.xml @@ -1,32 +1,32 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <projects> - <project type="fields" name="priority,id"> - <name type="field" name="name"></name> - <manager type="field" name="manager.name"></manager> - <parent type="field" name="parent_id.name"></parent> - <members type="zoom" name="members"> - <member_name type="field" name="name"/> - <member_login type="field" name="login"/> - </members> - <planned_hours type="field" name="planned_hours"/> - <effective_hours type="field" name="effective_hours"/> - <date_start type="field" name="date_start"/> - <date_stop type="field" name="date_end"/> - <notes type="field" name="notes"/> - <state type="field" name="state"/> - <tasks> - <task type="zoom" name="tasks"> - <task_name type="field" name="name"/> - <task_status type="field" name="state" /> - <task_descritpion type="field" name="description"/> - <task_sequence type="field" name="sequence"/> - <task_priority type="field" name="priority"/> - <task_deadline type="field" name="date_deadline"/> - <task_description type="field" name="description"/> - <task_planned_hours type="field" name="planned_hours"/> - <task_effective_hours type="field" name="effective_hours" /> - <task_user_id type="field" name="user_id.login"/> - </task> - </tasks> - </project> + <project type="fields" name="priority,id"> + <name type="field" name="name"></name> + <manager type="field" name="manager.name"></manager> + <parent type="field" name="parent_id.name"></parent> + <members type="zoom" name="members"> + <member_name type="field" name="name"/> + <member_login type="field" name="login"/> + </members> + <planned_hours type="field" name="planned_hours"/> + <effective_hours type="field" name="effective_hours"/> + <date_start type="field" name="date_start"/> + <date_stop type="field" name="date_end"/> + <notes type="field" name="notes"/> + <state type="field" name="state"/> + <tasks> + <task type="zoom" name="tasks"> + <task_name type="field" name="name"/> + <task_status type="field" name="state" /> + <task_descritpion type="field" name="description"/> + <task_sequence type="field" name="sequence"/> + <task_priority type="field" name="priority"/> + <task_deadline type="field" name="date_deadline"/> + <task_description type="field" name="description"/> + <task_planned_hours type="field" name="planned_hours"/> + <task_effective_hours type="field" name="effective_hours" /> + <task_user_id type="field" name="user_id.login"/> + </task> + </tasks> + </project> </projects> |
