diff --git a/README.rst b/README.rst index 7d6a9f727ad13cd917f170b0679258cb0f6c8447..0c1890ed02353285049f51f8d82774f66f596093 100644 --- a/README.rst +++ b/README.rst @@ -7,19 +7,51 @@ Le Filament Link Sale to Project ================= -A partir d'un bon de commande, possibilé de créer un projet avec tâches associées correspondant à chaque ligne du bon de commande +This module allows the creation and the update of projects and tasks associated to a sale order manually. +New feature has been added to manage product to link independently product to project and tasks. +This module extends the functionality of the *sale_service* and *lefilament_projets* modules, a new type of the service tracking product has been added to manage the manual creation of a new project for each order. + + +Configuration +===== + +#. Go to Sales -> Products and create a product with type Service, check also option 'Create a project and link tasks'. +Now you can add project and task type for this product. +- If a project and a task type are selected, when click on new button "Create project" on the sale view, automatically, a task has been created on the corresponding project and task type. +- If no project and no task type are selected, when click on new button "Create project" on the sale view, a new project and a new task are created. Possibility to choose an existing project or create a new one. +#. Go to Sales settings via under Configuration >> Settings. +Set Default Stage for created tasks. +Possibility no follow or not the timesheet on tasks. +If "Do not track delivered quantity" option is selected, no track on timesheet +If "Standard operation for tracking delivered quantitiy based on time spent on project tasks" selected, timesheet is tracked on sale line +#. Go to stage settings via Project menu >> Stages option. Open/create new stage form and check "Default step" in order assign stage in new project created +#. Go to Project settings via under Configuration >> Configuration. +Possibility to set a default "Alias prefix" + + +Usage +===== + +#. Go to Sales -> Sales Orders and create new with a service product with new option track service selected. +#. Confirm Sale Order. A new button appears allowing to create a new project +#. Click on the new button, wizard opens, possibility to choose an existing project or define a new one +#. After validation, new project assigned and corresponding tasks created. New button appeard to "Update tasks" +#. When Update tasks, if line updated or new line added, corresponding project and/or tasks are updated Credits ======= -Contributors ------------ +Contributors +------------ * Juliana Poudou <juliana@le-filament.com> +* Remi Cazenave <remi@le-filament.com> -Maintainer ---------- +Maintainer +------------ .. image:: https://le-filament.com/images/logo-lefilament.png :alt: Le Filament diff --git a/i18n/fr.po b/i18n/fr.po index 7bb25316efb40b169a940f13c745e1b2d9fbe05e..daea595cd7a1cdac10eddfa20e7a240727663e94 100644 --- a/i18n/fr.po +++ b/i18n/fr.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-15 14:54+0000\n" -"PO-Revision-Date: 2018-01-15 14:54+0000\n" +"POT-Creation-Date: 2018-01-16 10:38+0000\n" +"PO-Revision-Date: 2018-01-16 10:38+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -139,8 +139,8 @@ msgstr "Etapes de projet" #. module: lefilament_link_sale_project #: model:ir.model.fields,field_description:lefilament_link_sale_project.field_product_product_project_task_type_id #: model:ir.model.fields,field_description:lefilament_link_sale_project.field_product_template_project_task_type_id -msgid "Project Task" -msgstr "Tâche projet" +msgid "Project task stage" +msgstr "Étape projet" #. module: lefilament_link_sale_project #: model:ir.ui.view,arch_db:lefilament_link_sale_project.lefilament_project_view_form_create @@ -209,8 +209,3 @@ msgstr "project.config.settings" msgid "sale.config.settings" msgstr "sale.config.settings" -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_product_product_track_service -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_product_template_track_service -msgid "Create a project and link tasks" -msgstr "Créer un projet et lier les tâches" diff --git a/i18n/lefilament_link_sale_project.csv b/i18n/lefilament_link_sale_project.csv new file mode 100644 index 0000000000000000000000000000000000000000..048d728f3ced2b81f323c6270e87d7f697ec51e7 --- /dev/null +++ b/i18n/lefilament_link_sale_project.csv @@ -0,0 +1,41 @@ +module,type,name,res_id,src,value,comments +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_project_config_settings_lf_alias_prefix,Alias prefix,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_lefilament_sale_views_wizard_related_project_id,Analytical account related,, +lefilament_link_sale_project,model,"ir.ui.view,arch_db",lefilament_link_sale_project.lefilament_project_view_form_create,Create,, +lefilament_link_sale_project,model,"ir.actions.act_window,name",lefilament_link_sale_project.lefilament_open_create_project,Create project,, +lefilament_link_sale_project,model,"ir.ui.view,arch_db",lefilament_link_sale_project.lefilament_view_order_form,Create project,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_lefilament_sale_views_wizard_create_uid,Created by,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_lefilament_sale_views_wizard_create_date,Created on,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_project_config_settings_lf_tarif_jour,Day Price,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_project_task_type_case_default,Default step,, +lefilament_link_sale_project,model,"ir.ui.view,arch_db",lefilament_link_sale_project.lefilament_project_view_form_create,Discard,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_lefilament_sale_views_wizard_display_name,Display Name,, +lefilament_link_sale_project,selection,"sale.config.settings,lf_follow_task",0,Do not track delivered quantity,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_lefilament_sale_views_wizard_project_id,Existing project,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_lefilament_sale_views_wizard_id,ID,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_sale_config_settings_project_task_type_id,Initial step,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_lefilament_sale_views_wizard___last_update,Last Modified on,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_lefilament_sale_views_wizard_write_uid,Last Updated by,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_lefilament_sale_views_wizard_write_date,Last Updated on,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_sale_config_settings_lf_follow_task,Manage quantity delivered,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_lefilament_sale_views_wizard_related_project_name,New Analytical Account,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_lefilament_sale_views_wizard_project_name,New project,, +lefilament_link_sale_project,model,"ir.model,name",lefilament_link_sale_project.model_procurement_order,Procurement,, +lefilament_link_sale_project,model,"ir.model,name",lefilament_link_sale_project.model_product_template,Product Template,, +lefilament_link_sale_project,model,"ir.model,name",lefilament_link_sale_project.model_project_project,Project,, +lefilament_link_sale_project,model,"ir.ui.view,arch_db",lefilament_link_sale_project.lefialement_edit_project,Project Stages,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_product_product_project_task_type_id,Project task stage,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_product_template_project_task_type_id,Project task stage,, +lefilament_link_sale_project,model,"ir.ui.view,arch_db",lefilament_link_sale_project.lefilament_project_view_form_create,Project to link,, +lefilament_link_sale_project,model,"ir.model.fields,field_description",lefilament_link_sale_project.field_lefilament_sale_views_wizard_sale_id,Sale,, +lefilament_link_sale_project,model,"ir.model,name",lefilament_link_sale_project.model_lefilament_sale_views_wizard,Sale Project Assignment,, +lefilament_link_sale_project,model,"ir.model,name",lefilament_link_sale_project.model_sale_order,Sales Order,, +lefilament_link_sale_project,model,"ir.model,name",lefilament_link_sale_project.model_sale_order_line,Sales Order Line,, +lefilament_link_sale_project,selection,"sale.config.settings,lf_follow_task",0,Standard operation for tracking delivered quantitiy based on time spent on project tasks,, +lefilament_link_sale_project,model,"ir.ui.view,arch_db",lefilament_link_sale_project.lefilament_view_sales_config,Task,, +lefilament_link_sale_project,code,addons/lefilament_link_sale_project/models/procurement.py,58,Task Created (%s): <a href=# data-oe-model=project.task data-oe-id=%d>%s</a>,, +lefilament_link_sale_project,model,"ir.model,name",lefilament_link_sale_project.model_project_task_type,Task Stage,, +lefilament_link_sale_project,code,addons/lefilament_link_sale_project/models/procurement.py,62,This task has been created from: <a href=# data-oe-model=sale.order data-oe-id=%d>%s</a> (%s),, +lefilament_link_sale_project,model,"ir.ui.view,arch_db",lefilament_link_sale_project.lefilament_view_order_form,Update tasks,, +lefilament_link_sale_project,model,"ir.model,name",lefilament_link_sale_project.model_project_config_settings,project.config.settings,, +lefilament_link_sale_project,model,"ir.model,name",lefilament_link_sale_project.model_sale_config_settings,sale.config.settings,, diff --git a/i18n/lefilament_link_sale_project.pot b/i18n/lefilament_link_sale_project.pot deleted file mode 100644 index 003105cf53fd6a8cea0166a9e66e42adeafef104..0000000000000000000000000000000000000000 --- a/i18n/lefilament_link_sale_project.pot +++ /dev/null @@ -1,211 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * lefilament_link_sale_project -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-15 14:53+0000\n" -"PO-Revision-Date: 2018-01-15 14:53+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_project_config_settings_lf_alias_prefix -msgid "Alias prefix" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_lefilament_sale_views_wizard_related_project_id -msgid "Analytical account related" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.ui.view,arch_db:lefilament_link_sale_project.lefilament_project_view_form_create -msgid "Create" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.actions.act_window,name:lefilament_link_sale_project.lefilament_open_create_project -#: model:ir.ui.view,arch_db:lefilament_link_sale_project.lefilament_view_order_form -msgid "Create project" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_lefilament_sale_views_wizard_create_uid -msgid "Created by" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_lefilament_sale_views_wizard_create_date -msgid "Created on" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_project_config_settings_lf_tarif_jour -msgid "Day Price" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_project_task_type_case_default -msgid "Default step" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.ui.view,arch_db:lefilament_link_sale_project.lefilament_project_view_form_create -msgid "Discard" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_lefilament_sale_views_wizard_display_name -msgid "Display Name" -msgstr "" - -#. module: lefilament_link_sale_project -#: selection:sale.config.settings,lf_follow_task:0 -msgid "Do not track delivered quantity" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_lefilament_sale_views_wizard_project_id -msgid "Existing project" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_lefilament_sale_views_wizard_id -msgid "ID" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_sale_config_settings_project_task_type_id -msgid "Initial step" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_lefilament_sale_views_wizard___last_update -msgid "Last Modified on" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_lefilament_sale_views_wizard_write_uid -msgid "Last Updated by" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_lefilament_sale_views_wizard_write_date -msgid "Last Updated on" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_sale_config_settings_lf_follow_task -msgid "Manage quantity delivered" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_lefilament_sale_views_wizard_related_project_name -msgid "New Analytical Account" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_lefilament_sale_views_wizard_project_name -msgid "New project" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model,name:lefilament_link_sale_project.model_procurement_order -msgid "Procurement" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model,name:lefilament_link_sale_project.model_product_template -msgid "Product Template" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model,name:lefilament_link_sale_project.model_project_project -msgid "Project" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.ui.view,arch_db:lefilament_link_sale_project.lefialement_edit_project -msgid "Project Stages" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_product_product_project_task_type_id -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_product_template_project_task_type_id -msgid "Project Task" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.ui.view,arch_db:lefilament_link_sale_project.lefilament_project_view_form_create -msgid "Project to link" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_lefilament_sale_views_wizard_sale_id -msgid "Sale" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model,name:lefilament_link_sale_project.model_lefilament_sale_views_wizard -msgid "Sale Project Assignment" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model,name:lefilament_link_sale_project.model_sale_order -msgid "Sales Order" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model,name:lefilament_link_sale_project.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#. module: lefilament_link_sale_project -#: selection:sale.config.settings,lf_follow_task:0 -msgid "Standard operation for tracking delivered quantitiy based on time spent on project tasks" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.ui.view,arch_db:lefilament_link_sale_project.lefilament_view_sales_config -msgid "Task" -msgstr "" - -#. module: lefilament_link_sale_project -#: code:addons/lefilament_link_sale_project/models/procurement.py:58 -#, python-format -msgid "Task Created (%s): <a href=# data-oe-model=project.task data-oe-id=%d>%s</a>" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model,name:lefilament_link_sale_project.model_project_task_type -msgid "Task Stage" -msgstr "" - -#. module: lefilament_link_sale_project -#: code:addons/lefilament_link_sale_project/models/procurement.py:62 -#, python-format -msgid "This task has been created from: <a href=# data-oe-model=sale.order data-oe-id=%d>%s</a> (%s)" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.ui.view,arch_db:lefilament_link_sale_project.lefilament_view_order_form -msgid "Update tasks" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model,name:lefilament_link_sale_project.model_project_config_settings -msgid "project.config.settings" -msgstr "" - -#. module: lefilament_link_sale_project -#: model:ir.model,name:lefilament_link_sale_project.model_sale_config_settings -msgid "sale.config.settings" -msgstr "" - diff --git a/models/product.py b/models/product.py index e96e7beaa7b06912c603d514bbd7a5040d9113b8..31cfb4be7ff04d355a1761a81c2c4b4456eef0fa 100644 --- a/models/product.py +++ b/models/product.py @@ -9,6 +9,6 @@ class LeFilamentProductTemplate(models.Model): _inherit = 'product.template' project_task_type_id = fields.Many2one( - 'project.task.type', 'Project Task') + 'project.task.type', 'Project task stage') track_service = fields.Selection(selection_add=[ ('project', 'Create a project and link tasks')]) \ No newline at end of file