Files
odoo_source/addons/project/views/res_config_settings_views.xml
T
William Braeckman 3d10c7c708 [IMP] project,*: improve project UX
* = hr_timesheet, sale_project, test_main_flows

Smaller changes:
 - Projects created on the fly (through `name_create`) will now come with a
   default `new` stage in order for them to not be empty.
 - Removed task auto assign upon creation besides in FSM's 'My tasks' menu.
 - Allow the reordering of projects without needing to group by
   anything.
 - Make `project.task`.`description` and `project.tags`.`name`
   translatable.
 - Disable the creation of records in the view when clicking on `Tasks
   in recurrence` stat button.
 - Track the planned date of the task in the chatter
 - Disable the creation of records in the view when clicking on
   'invoices' stat button and add the kanban view to that action.
 - Make milestones completely available to regular project users.
 - Remove the 'Documents' button in the project's kanban settings menu.
 - Add kanban, pivot and graph views to the 'Hours Recorded' stat button
   on projects
 - Add the calendar view on the 'Hours Forecast' stat button on projects
 - The 'Sales Orders' stat button on the `project.project`'s form view
   will now display the amount of sales order linked to the whole
   project. So the one linked to the project itself if it exists + all
   the tasks. It will also open them, form view if 1 else list view.
 - Fix a typo in the settings 'projets' => 'projects'
 - The analytic account  of the project will now be assigned to the
   sales order when a task is created through the 'Create a task in an
   existing project' option.

Changed the portal task view to include a sidebar similar to sales
orders, with a simple menu leading to different parts of the screen.

Changed the `project.task` 'rating' stat button:
 - The icon will now represent the latest review.
 - The action will directly lead to the record's form view if there is
   only 1 rating.
 - Make some fields readonly in the form view.
 - Display the % of satisfaction instead of the number of ratings.

Reorder all stat buttons on the `project.task` form view in this order:
 - Products, Worksheet, Sales Order(s), Invoices, Ratings, Hours
   Forecast, Parent Task, Tasks in recurrence, Tickets, Quotations and
   lastly Customer Preview

Make the status of the project editable directly through the kanban
view. A new widget has been added to handle that properly. When editing
the status through that means, a `project.update` will be created with
the current date and the appropriate status. In addition to that a new
status has been added (only on `project.task`, not `project.status`)
namely `to_define` in order to differentiate new and running projects.
Projects now start with the `to_define` status.

The `project.project`'s  rating stat button has been changed in the
following ways:
 - The icon will now change in function of the satisfaction percentage,
   smile above 66%, meh between 33% and 66% and frown below 33%.
 - The color will also change depending on the rate, smile is green, meh
   is orange and frown is red.
 - The ratings will now be in function of the last 30 days instead of
   all time and the action will also filter on those 30 days.
 - Change the action name from 'Rating' to 'Ratings'.

`project.project` ticket stat button:
 - Will now open the form view when there is only one record.
 - Added the activity view.
 - Disable the creation of new records.
 - Rename the action to 'Tickets'.

Closes: odoo/odoo#75269

See: odoo/enterprise#20334

Task ID: 2611006

Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2021-10-28 15:27:36 +00:00

135 lines
8.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="res_config_settings_view_form" model="ir.ui.view">
<field name="name">res.config.settings.view.form.inherit.project</field>
<field name="model">res.config.settings</field>
<field name="priority" eval="50"/>
<field name="inherit_id" ref="base.res_config_settings_view_form" />
<field name="arch" type="xml">
<xpath expr="//div[hasclass('settings')]" position="inside">
<div class="app_settings_block" data-string="Project" string="Project" data-key="project" groups="project.group_project_manager">
<h2>Tasks Management</h2>
<div class="row mt16 o_settings_container" id="tasks_management">
<div class="col-12 col-lg-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="group_subtask_project"/>
</div>
<div class="o_setting_right_pane">
<label for="group_subtask_project"/>
<div class="text-muted">
Split your tasks to organize your work into sub-milestones
</div>
</div>
</div>
<div class="col-12 col-lg-6 o_setting_box" id="recurring_tasks_setting">
<div class="o_setting_left_pane">
<field name="group_project_recurring_tasks"/>
</div>
<div class="o_setting_right_pane">
<label for="group_project_recurring_tasks"/>
<div class="text-muted">
Auto-generate tasks for regular activities
</div>
</div>
</div>
<div class="col-12 col-lg-6 o_setting_box" id="task_dependencies_setting">
<div class="o_setting_left_pane">
<field name="group_project_task_dependencies"/>
</div>
<div class="o_setting_right_pane">
<label for="group_project_task_dependencies"/>
<div class="text-muted">
Determine the order in which to perform tasks
</div>
</div>
</div>
<div class="col-12 col-lg-6 o_setting_box" id="project_stages">
<div class="o_setting_left_pane">
<field name="group_project_stages"/>
</div>
<div class="o_setting_right_pane">
<label for="group_project_stages"/>
<div class="text-muted">
Track the progress of your projects
</div>
<div class="content-group" attrs="{'invisible': [('group_project_stages', '=', False)]}">
<div class="mt8">
<button name="%(project.project_project_stage_configure)d" icon="fa-arrow-right" type="action" string="Configure Stages" class="btn-link"/>
</div>
</div>
</div>
</div>
</div>
<h2>Time Management</h2>
<div class="row mt16 o_settings_container" name="project_time">
<div class="col-12 col-lg-6 o_setting_box" name="project_time_management">
<div class="o_setting_left_pane">
<field name="module_project_forecast" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label for="module_project_forecast"/>
<div class="text-muted" name="project_forecast_msg">
Plan resource allocation across projects and tasks, and estimate deadlines more accurately
</div>
</div>
</div>
<div class="col-12 col-lg-6 o_setting_box" id="log_time_tasks_setting">
<div class="o_setting_left_pane">
<field name="module_hr_timesheet"/>
</div>
<div class="o_setting_right_pane">
<label for="module_hr_timesheet"/>
<div class="text-muted">
Track time spent on projects and tasks
</div>
</div>
</div>
</div>
<h2>Analytics</h2>
<div class="row mt16 o_settings_container" name="analytic">
<div class="col-12 col-lg-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="group_analytic_accounting"/>
</div>
<div class="o_setting_right_pane">
<label for="group_analytic_accounting" string="Profitability"/>
<div class="text-muted">
Track the costs and revenues linked to your projects
</div>
</div>
</div>
<div class="col-12 col-lg-6 o_setting_box" id="track_customer_satisfaction_setting">
<div class="o_setting_left_pane">
<field name="group_project_rating"/>
</div>
<div class="o_setting_right_pane">
<label for="group_project_rating"/>
<div class="text-muted">
Track customer satisfaction on tasks
</div>
<div class="content-group" attrs="{'invisible': [('group_project_rating', '=', False)]}">
<div class="mt8">
<button name="%(project.open_task_type_form)d" icon="fa-arrow-right" type="action" string="Set a Rating Email Template on Stages" class="btn-link"/>
</div>
</div>
</div>
</div>
</div>
</div>
</xpath>
</field>
</record>
<record id="project_config_settings_action" model="ir.actions.act_window">
<field name="name">Settings</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.config.settings</field>
<field name="view_mode">form</field>
<field name="target">inline</field>
<field name="context">{'module' : 'project', 'bin_size': False}</field>
</record>
<menuitem id="project_config_settings_menu_action" name="Settings" parent="menu_project_config"
sequence="0" action="project_config_settings_action" groups="base.group_system"/>
</odoo>