diff --git a/modules/project/CHANGELOG b/modules/project/CHANGELOG index 5998d60b65..e4743c75d8 100644 --- a/modules/project/CHANGELOG +++ b/modules/project/CHANGELOG @@ -1,3 +1,4 @@ +* Add number to the work efforts * Add support for Python 3.14 * Remove support for Python 3.9 diff --git a/modules/project/doc/design.rst b/modules/project/doc/design.rst index 82a220b211..6fad13a881 100644 --- a/modules/project/doc/design.rst +++ b/modules/project/doc/design.rst @@ -13,8 +13,8 @@ Work Effort The *Work Effort* concept is used to represent work that must be done for projects, or parts of projects. -Each *Work Effort* is described by a name and a type, and there is space -for additional comments to be added when required. +Each *Work Effort* is described by a name, a number and a type, and there is +space for additional comments to be added when required. The estimated time and effort needed for the work is recorded, and it is also possible to track the actual time and effort required. diff --git a/modules/project/message.xml b/modules/project/message.xml index da2f0a59c3..d9dbb2ad2b 100644 --- a/modules/project/message.xml +++ b/modules/project/message.xml @@ -3,6 +3,9 @@ this repository contains the full copyright notices and license terms. --> + + The number on work must be unique. + To set work "%(work)s" in "%(status)s" status, you must increase its progress up to at least %(progress)s. diff --git a/modules/project/tests/scenario_project.rst b/modules/project/tests/scenario_project.rst new file mode 100644 index 0000000000..f0ca6a0250 --- /dev/null +++ b/modules/project/tests/scenario_project.rst @@ -0,0 +1,29 @@ +================ +Project Scenario +================ + +Imports:: + + >>> from proteus import Model + >>> from trytond.modules.company.tests.tools import create_company + >>> from trytond.tests.tools import activate_modules + +Activate project:: + + >>> config = activate_modules('project', create_company) + + >>> Work = Model.get('project.work') + +Create a project with a task:: + + >>> project = Work(type='project', name="Project") + >>> task = project.children.new(type='task', name="Task") + >>> project.save() + >>> task, = project.children + +Check works have numbers:: + + >>> bool(project.number) + True + >>> bool(task.number) + True diff --git a/modules/project/tryton.cfg b/modules/project/tryton.cfg index d3e91c3074..f959b31bd3 100644 --- a/modules/project/tryton.cfg +++ b/modules/project/tryton.cfg @@ -14,6 +14,8 @@ xml: [register] model: + work.Configuration + work.ConfigurationSequence # Before Work because status default value is read from WorkStatus work.WorkStatus work.Work diff --git a/modules/project/view/project_configuration_form.xml b/modules/project/view/project_configuration_form.xml new file mode 100644 index 0000000000..8b20ea5b2c --- /dev/null +++ b/modules/project/view/project_configuration_form.xml @@ -0,0 +1,7 @@ + + +
+