diff --git a/addons/hr_timesheet_attendance/__manifest__.py b/addons/hr_timesheet_attendance/__manifest__.py index a5d3e313464..f3af1ac4711 100644 --- a/addons/hr_timesheet_attendance/__manifest__.py +++ b/addons/hr_timesheet_attendance/__manifest__.py @@ -12,7 +12,6 @@ 'security/ir.model.access.csv', 'report/hr_timesheet_attendance_report_view.xml', 'views/hr_timesheet_sheet_views.xml', - 'views/hr_timesheet_attendance_config_settings_views.xml', ], 'auto_install': True, } diff --git a/addons/hr_timesheet_attendance/models/__init__.py b/addons/hr_timesheet_attendance/models/__init__.py index 24e4387943f..e9110f22b7c 100644 --- a/addons/hr_timesheet_attendance/models/__init__.py +++ b/addons/hr_timesheet_attendance/models/__init__.py @@ -4,4 +4,3 @@ import hr_attendance import hr_timesheet_sheet import res_company -import project_config_settings \ No newline at end of file diff --git a/addons/hr_timesheet_attendance/models/project_config_settings.py b/addons/hr_timesheet_attendance/models/project_config_settings.py deleted file mode 100644 index d38f3520b50..00000000000 --- a/addons/hr_timesheet_attendance/models/project_config_settings.py +++ /dev/null @@ -1,9 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import fields, models - -class HrTimesheetConfiguration(models.TransientModel): - _inherit = 'project.config.settings' - - timesheet_max_difference = fields.Float(related='company_id.timesheet_max_difference', string="Timesheet allowed difference(Hours) *") diff --git a/addons/hr_timesheet_attendance/views/hr_timesheet_attendance_config_settings_views.xml b/addons/hr_timesheet_attendance/views/hr_timesheet_attendance_config_settings_views.xml deleted file mode 100644 index 9a036597094..00000000000 --- a/addons/hr_timesheet_attendance/views/hr_timesheet_attendance_config_settings_views.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - project.config.settings.form.inherit.timesheet.attendance - project.config.settings - - - - - - - - - - - - diff --git a/addons/hr_timesheet_sheet/__manifest__.py b/addons/hr_timesheet_sheet/__manifest__.py index b49e849c4bc..19a9d2160d6 100644 --- a/addons/hr_timesheet_sheet/__manifest__.py +++ b/addons/hr_timesheet_sheet/__manifest__.py @@ -34,7 +34,6 @@ The validation can be configured in the company: 'views/hr_timesheet_sheet_templates.xml', 'views/hr_timesheet_sheet_views.xml', 'views/hr_department_views.xml', - 'views/hr_timesheet_sheet_config_settings_views.xml', ], 'installable': True, 'auto_install': False, diff --git a/addons/hr_timesheet_sheet/models/__init__.py b/addons/hr_timesheet_sheet/models/__init__.py index 06f8b1acfb2..b8c428e1acf 100644 --- a/addons/hr_timesheet_sheet/models/__init__.py +++ b/addons/hr_timesheet_sheet/models/__init__.py @@ -5,5 +5,4 @@ import account_analytic_line import hr_department import hr_employee import hr_timesheet_sheet -import hr_timesheet_sheet_config_settings import res_company diff --git a/addons/hr_timesheet_sheet/models/hr_timesheet_sheet_config_settings.py b/addons/hr_timesheet_sheet/models/hr_timesheet_sheet_config_settings.py deleted file mode 100644 index e48a18cdbe8..00000000000 --- a/addons/hr_timesheet_sheet/models/hr_timesheet_sheet_config_settings.py +++ /dev/null @@ -1,11 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import fields, models - - -class HrTimesheetConfiguration(models.TransientModel): - _inherit = 'project.config.settings' - - module_project_timesheet_synchro = fields.Boolean(string="Timesheet app for Chrome/Android/iOS") - timesheet_range = fields.Selection(related='company_id.timesheet_range', string="Timesheet range *") diff --git a/addons/hr_timesheet_sheet/views/hr_timesheet_sheet_config_settings_views.xml b/addons/hr_timesheet_sheet/views/hr_timesheet_sheet_config_settings_views.xml deleted file mode 100644 index 24e309070cf..00000000000 --- a/addons/hr_timesheet_sheet/views/hr_timesheet_sheet_config_settings_views.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - project.config.settings.form.inherit.timesheet.sheet - project.config.settings - - - - Timesheets - - - - - - - - More Info - - - - - - diff --git a/addons/pad_project/__manifest__.py b/addons/pad_project/__manifest__.py index c9b5c296873..71f042df6ee 100644 --- a/addons/pad_project/__manifest__.py +++ b/addons/pad_project/__manifest__.py @@ -14,6 +14,7 @@ This module adds a PAD in all project form views. 'pad' ], 'data': [ + 'views/project_config_settings_views.xml', 'views/project_task.xml' ], 'auto_install': True, diff --git a/addons/pad_project/models/__init__.py b/addons/pad_project/models/__init__.py index 8cfe108d7b6..0243037d31a 100644 --- a/addons/pad_project/models/__init__.py +++ b/addons/pad_project/models/__init__.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. +import project_config_settings import project_task diff --git a/addons/pad_project/models/project_config_settings.py b/addons/pad_project/models/project_config_settings.py new file mode 100644 index 00000000000..96a4d2fbb85 --- /dev/null +++ b/addons/pad_project/models/project_config_settings.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + + +class ProjectConfigSettings(models.TransientModel): + _inherit = "project.config.settings" + + pad_server = fields.Char(related="company_id.pad_server", string="Pad Server") + pad_key = fields.Char(related="company_id.pad_key", string="Pad Api Key") diff --git a/addons/pad_project/views/project_config_settings_views.xml b/addons/pad_project/views/project_config_settings_views.xml new file mode 100644 index 00000000000..fa170da890b --- /dev/null +++ b/addons/pad_project/views/project_config_settings_views.xml @@ -0,0 +1,23 @@ + + + + project.config.settings.form.inherit.pad.project + project.config.settings + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/addons/project/models/res_config.py b/addons/project/models/res_config.py index 520e99cb162..ebae91c8546 100644 --- a/addons/project/models/res_config.py +++ b/addons/project/models/res_config.py @@ -10,25 +10,21 @@ class ProjectConfiguration(models.TransientModel): company_id = fields.Many2one('res.company', string='Company', required=True, default=lambda self: self.env.user.company_id) - project_time_mode_id = fields.Many2one(related='company_id.project_time_mode_id', string="Project Time Unit *") - module_pad = fields.Selection([ - (0, "Task description is plain text"), - (1, "Collaborative rich text on task description") - ], string="Pads", - help='Lets the company customize which Pad installation should be used to link to new pads ' - '(for example: http://ietherpad.com/).\n' - '-This installs the module pad.') - module_rating_project = fields.Selection([ - (0, "No customer rating"), - (1, 'Track customer satisfaction on tasks') - ], string="Rating on task", - help="This allows customers to give rating on provided services") + module_pad = fields.Boolean("Collaborative Pads") + module_hr_timesheet = fields.Boolean("Timesheets") + module_project_timesheet_synchro = fields.Boolean("Awesome Timesheet") + module_rating_project = fields.Boolean(string="Rating on Tasks") generate_project_alias = fields.Selection([ (0, "Do not create an email alias automatically"), (1, "Automatically generate an email alias at the project creation") ], string="Project Alias", help="Odoo will generate an email alias at the project creation from project name.") - module_project_forecast = fields.Boolean(string="Forecasts, planning and Gantt charts") + module_project_forecast = fields.Boolean(string="Forecasts") + module_hr_holidays = fields.Boolean("Leave Management") + module_hr_timesheet_attendance = fields.Boolean("Attendances") + module_sale_timesheet = fields.Boolean("Time Billing") + module_hr_expense = fields.Boolean("Expenses") + module_project_issue = fields.Boolean("Issue Tracking") @api.multi def set_default_generate_project_alias(self): diff --git a/addons/project/views/res_config_views.xml b/addons/project/views/res_config_views.xml index 4e14e4466cb..de26444ad29 100644 --- a/addons/project/views/res_config_views.xml +++ b/addons/project/views/res_config_views.xml @@ -1,48 +1,179 @@ - - project settings + + project.config.settings.form project.config.settings - + - - - - - + + Team Collaboration + + + + + + + + + Use collaborative rich text pads in tasks + + + - - - - - - - More Info - - - - - - - (*) This configuration is related to the company you're logged into. - + Time Management + + + + + + + + + Track time spent on projects and tasks + + + + + + + + + + + Record time with mobile Timesheet app + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Manage your resources with Gantt charts + + + + + + + + + + + Track leaves to optimize your scheduling + + + + + + + + + + + Track attendances and compare with timesheets + + + + + Billing + + + + + + + + + Sell services and invoice time spent + + + + + + + + + + + Reimburse employee expenses and invoice customers + + + + + Customer Satisfaction + + + + + + + + + Track customer satisfaction on tasks + + + + Save this page and come back here to set up the feature. + + + + + + Issue Management + + + + + + + + + Track and solve issues from a Kanban view + + + + + - + Configure Project ir.actions.act_window project.config.settings + form form inline - + diff --git a/addons/project_issue/models/project_issue_config_settings.py b/addons/project_issue/models/project_issue_config_settings.py index dbe8505a3b5..f4c73ae4abd 100644 --- a/addons/project_issue/models/project_issue_config_settings.py +++ b/addons/project_issue/models/project_issue_config_settings.py @@ -7,14 +7,5 @@ from odoo import models, fields class ProjectIssueConfiguration(models.TransientModel): _inherit = 'project.config.settings' - module_project_issue_sheet = fields.Selection([ - (0, "Do not track working hours on issues"), - (1, "Activate timesheets on issues") - ], string="Timesheets on Issues", - help='Provides timesheet support for the issues/bugs management in project.\n' - '-This installs the module project_issue_sheet.') - module_rating_project_issue = fields.Selection([ - (0, "No customer rating"), - (1, 'Track customer satisfaction on issues') - ], "Rating on issue", - help="This allows customers to give rating on issue") + module_project_issue_sheet = fields.Boolean(string="Timesheets on Issues") + module_rating_project_issue = fields.Boolean("Rating on Issues") diff --git a/addons/project_issue/views/project_config_settings_views.xml b/addons/project_issue/views/project_config_settings_views.xml index 220707950d2..5e3c49716ba 100644 --- a/addons/project_issue/views/project_config_settings_views.xml +++ b/addons/project_issue/views/project_config_settings_views.xml @@ -4,19 +4,37 @@ project.config.settings.view.form.inherit.project.issue project.config.settings - + - - Timesheets - - - - - - - - - + + + + + + + + + Track time spent to solve issues + + + + + + + + + + + Track customer satisfaction on issues + + + + Save this page and come back here to set up the feature. + + + + + diff --git a/addons/rating_project/__manifest__.py b/addons/rating_project/__manifest__.py index 243282a5a08..1b7ab3038f6 100644 --- a/addons/rating_project/__manifest__.py +++ b/addons/rating_project/__manifest__.py @@ -13,6 +13,7 @@ This module Allows a customer to give rating on Project. ], 'data': [ 'data/project_data.xml', + 'views/project_config_settings_views.xml', 'views/project_view.xml', ], 'demo': ['data/project_demo.xml'], diff --git a/addons/rating_project/views/project_config_settings_views.xml b/addons/rating_project/views/project_config_settings_views.xml new file mode 100644 index 00000000000..d48e4c76036 --- /dev/null +++ b/addons/rating_project/views/project_config_settings_views.xml @@ -0,0 +1,18 @@ + + + + + project.config.settings.form.inherit.rating.project + project.config.settings + + + + + + + + + + + + diff --git a/addons/rating_project_issue/__manifest__.py b/addons/rating_project_issue/__manifest__.py index 103d18a4519..c669b5bdf01 100644 --- a/addons/rating_project_issue/__manifest__.py +++ b/addons/rating_project_issue/__manifest__.py @@ -14,6 +14,7 @@ This module allows a customer to give rating on Project Issue. 'data': [ 'data/project_issue_data.xml', 'views/project_issue_view.xml', + 'views/project_config_settings_views.xml', ], 'demo': [ 'data/project_issue_demo.xml', diff --git a/addons/rating_project_issue/views/project_config_settings_views.xml b/addons/rating_project_issue/views/project_config_settings_views.xml new file mode 100644 index 00000000000..0a88a7bb160 --- /dev/null +++ b/addons/rating_project_issue/views/project_config_settings_views.xml @@ -0,0 +1,18 @@ + + + + + project.config.settings.form.inherit.issue + project.config.settings + + + + + + + + + + + +