Skip to content
Extraits de code Groupes Projets
Valider 59ed9f63 rédigé par Juliana's avatar Juliana
Parcourir les fichiers

new field amount in Task and manage during upadte task + translations

parent 5afbd3a3
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
.*
*.pyc
!.gitignore
......@@ -5,9 +5,10 @@
'description': """
MODULE LINK SALE ORDER / PROJECT LE FILAMENT
Etend l'application Projet :
- Créer un projet à partir d'un bon de commande
- Créer une tâche par ordre
This module depends upon *sale_service* and *lefilament_projets* modules.
- This module provides a new functionality to transform your sale order in projects and tasks (and to update those in case sale order is updated)
- Product template has been enhanced, invoicing policy section in order to set how each product should behave when transformed from sale order to project/task.
""",
'author': 'LE FILAMENT',
'category': 'LE FILAMENT',
......@@ -23,6 +24,7 @@
'views/sale_views.xml',
'views/res_config_views.xml',
'views/project_views.xml',
'views/project_task_views.xml',
],
'qweb': [
],
......
......@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-16 10:38+0000\n"
"PO-Revision-Date: 2018-01-16 10:38+0000\n"
"POT-Creation-Date: 2018-01-16 18:19+0000\n"
"PO-Revision-Date: 2018-01-16 18:19+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
......@@ -46,6 +46,11 @@ msgstr "Créé par"
msgid "Created on"
msgstr "Créé le"
#. module: lefilament_link_sale_project
#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_project_task_currency_id
msgid "Currency"
msgstr "Devise"
#. 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"
......@@ -66,11 +71,6 @@ msgstr "Annuler"
msgid "Display Name"
msgstr "Nom affiché"
#. module: lefilament_link_sale_project
#: selection:sale.config.settings,lf_follow_task:0
msgid "Do not track delivered quantity"
msgstr "Ne pas mettre à jour les quantités livrées"
#. 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"
......@@ -101,11 +101,6 @@ msgstr "Dernière mise à jour par"
msgid "Last Updated on"
msgstr "Dernière mise à jour le"
#. 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 "Gestion de la quantité livrée"
#. 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"
......@@ -140,7 +135,7 @@ msgstr "Etapes de projet"
#: 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 stage"
msgstr "Étape projet"
msgstr "Etape projet"
#. module: lefilament_link_sale_project
#: model:ir.ui.view,arch_db:lefilament_link_sale_project.lefilament_project_view_form_create
......@@ -168,11 +163,12 @@ msgid "Sales Order Line"
msgstr "Ligne de bons de commande"
#. 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 "Fonctionnement standard pour le suivi de la quantité livrée en fonction du temps passé sur les tâches du projet"
#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_project_task_price_subtotal
msgid "Subtotal initial"
msgstr "Sous-Total initial"
#. module: lefilament_link_sale_project
#: model:ir.model,name:lefilament_link_sale_project.model_project_task
#: model:ir.ui.view,arch_db:lefilament_link_sale_project.lefilament_view_sales_config
msgid "Task"
msgstr "Tâche"
......
......@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-16 10:51+0000\n"
"PO-Revision-Date: 2018-01-16 10:51+0000\n"
"POT-Creation-Date: 2018-01-16 18:19+0000\n"
"PO-Revision-Date: 2018-01-16 18:19+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
......@@ -46,6 +46,11 @@ msgstr ""
msgid "Created on"
msgstr ""
#. module: lefilament_link_sale_project
#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_project_task_currency_id
msgid "Currency"
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"
......@@ -66,11 +71,6 @@ msgstr ""
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"
......@@ -101,11 +101,6 @@ msgstr ""
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"
......@@ -168,11 +163,12 @@ 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"
#: model:ir.model.fields,field_description:lefilament_link_sale_project.field_project_task_price_subtotal
msgid "Subtotal initial"
msgstr ""
#. module: lefilament_link_sale_project
#: model:ir.model,name:lefilament_link_sale_project.model_project_task
#: model:ir.ui.view,arch_db:lefilament_link_sale_project.lefilament_view_sales_config
msgid "Task"
msgstr ""
......
......@@ -6,4 +6,5 @@ import sale_config_settings
import res_config
import project_task_type
import project
import project_task
import sale_order
\ No newline at end of file
# -*- coding: utf-8 -*-
# © 2017 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models, fields
from odoo.tools import float_is_zero, float_compare, DEFAULT_SERVER_DATETIME_FORMAT
import odoo.addons.decimal_precision as dp
class LeFilamentProjectTask(models.Model):
_inherit = 'project.task'
price_subtotal = fields.Monetary(string='Subtotal initial', readonly=True, store='True')
currency_id = fields.Many2one(related='sale_line_id.currency_id', store=True, string='Currency', readonly=True)
\ No newline at end of file
......@@ -15,17 +15,8 @@ class LeFilamentSaleConfiguration(models.TransientModel):
project_task_type_id = fields.Many2one(
'project.task.type', 'Initial step')
lf_follow_task = fields.Selection([
(0, "Standard operation for tracking delivered quantitiy based on time spent on project tasks"),
(1, "Do not track delivered quantity")
], "Manage quantity delivered")
@api.multi
def set_project_task_type(self):
return self.env['ir.values'].sudo().set_default(
'sale.config.settings', 'project_task_type_id', self.project_task_type_id.id)
\ No newline at end of file
@api.multi
def set_lf_follow_task(self):
return self.env['ir.values'].sudo().set_default(
'sale.config.settings', 'lf_follow_task', self.lf_follow_task)
\ No newline at end of file
......@@ -29,6 +29,15 @@ class SaleOrder(models.Model):
project_total_budget = project_total_budget + line.price_subtotal
planned_hours = (line.price_subtotal / lf_tarif_jour) * lf_heures_jour
task_id_refer.planned_hours = planned_hours
else:
if line.price_subtotal != task_id_refer.price_subtotal:
project = line.product_id.project_id
project_id_maint = project.id
project_update = self.env['project.project'].browse(project_id_maint)
project_update.lf_total_budget = ( project_update.lf_total_budget - task_id_refer.price_subtotal ) + line.price_subtotal
planned_hours = (line.price_subtotal / lf_tarif_jour) * lf_heures_jour
task_id_refer.planned_hours = planned_hours
task_id_refer.price_subtotal = line.price_subtotal
else:
if line.product_id.track_service == 'project':
if line.product_id.project_id:
......@@ -108,8 +117,8 @@ class LeFilamentSaleOrderLine(models.Model):
lines[line] += qty
for line, qty in lines.items():
if not self.env['ir.values'].get_default('sale.config.settings', 'lf_follow_task'):
line.qty_delivered = qty
else:
if line.product_id.track_service == 'project':
line.qty_delivered = 0
else:
line.qty_delivered = qty
return True
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="lefilament_view_sale_service_inherit_form2" model="ir.ui.view">
<field name="name">lefilament.sale.service.form.view.inherit</field>
<field name="model">project.task</field>
<field name="groups_id" eval="[(4, ref('base.group_user'))]"/>
<field name="inherit_id" ref="sale_timesheet.view_sale_service_inherit_form2"/>
<field name="arch" type="xml">
<field name="sale_line_id" position="after">
<field name="price_subtotal"/>
</field>
</field>
</record>
</odoo>
......@@ -8,7 +8,6 @@
<div id="main" position="inside">
<group string="Task">
<field name="project_task_type_id" class="oe_inline"/>
<field name="lf_follow_task" widget="radio"/>
</group>
</div>
</field>
......
......@@ -99,8 +99,10 @@ class LeFilamentSaleWizard(models.TransientModel):
'description': description_line + '</p><br/>',
'project_id': project_id,
'company_id': sale_id.company_id.id,
'stage_id': stage.id,
'sale_line_id': line.id
'stage_id': stage.id or '',
'sale_line_id': line.id,
'price_subtotal': line.price_subtotal,
'currency_id': line.currency_id.id
})
sale_id.tasks_ids = self.env['project.task'].search([('sale_line_id', 'in', sale_id.order_line.ids)])
sale_id.tasks_count = len(sale_id.tasks_ids)
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter