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

[ADD]Default admin state on project

parent 2c062df1
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -10,6 +10,10 @@ class SaleProject(models.Model): ...@@ -10,6 +10,10 @@ class SaleProject(models.Model):
_description = "Sale Project" _description = "Sale Project"
_inherit = ["mail.thread", "mail.activity.mixin"] _inherit = ["mail.thread", "mail.activity.mixin"]
def _get_default_admin_state_id(self):
return self.env['sale.project.admin.state'].search(
[('fold', '=', False), ('is_closed', '=', False)], order='sequence', limit=1).id
# ------------------------------------------------------ # ------------------------------------------------------
# Fields declaration # Fields declaration
# ------------------------------------------------------ # ------------------------------------------------------
...@@ -28,7 +32,7 @@ class SaleProject(models.Model): ...@@ -28,7 +32,7 @@ class SaleProject(models.Model):
user_id = fields.Many2one( user_id = fields.Many2one(
"res.users", string="Référent", default=lambda self: self.env.user "res.users", string="Référent", default=lambda self: self.env.user
) )
# TODO : set first in sequence by default if exists
admin_state_id = fields.Many2one( admin_state_id = fields.Many2one(
comodel_name="sale.project.admin.state", comodel_name="sale.project.admin.state",
string="Stade du projet", string="Stade du projet",
...@@ -36,6 +40,8 @@ class SaleProject(models.Model): ...@@ -36,6 +40,8 @@ class SaleProject(models.Model):
ondelete="restrict", ondelete="restrict",
index=True, index=True,
tracking=1, tracking=1,
default=_get_default_admin_state_id,
store=True
) )
# TODO: to be reworked : needs to be ticked or not depending on admin_state_id per project # TODO: to be reworked : needs to be ticked or not depending on admin_state_id per project
sale_project_suivi_ids = fields.One2many( sale_project_suivi_ids = fields.One2many(
...@@ -182,9 +188,10 @@ class SaleProjectSaison(models.Model): ...@@ -182,9 +188,10 @@ class SaleProjectSaison(models.Model):
class SaleProjectAdminState(models.Model): class SaleProjectAdminState(models.Model):
_name = "sale.project.admin.state" _name = "sale.project.admin.state"
_description = "Etat d'avancement" _description = "Etat d'avancement"
_order = 'sequence, id'
name = fields.Char(string="Avancement", required=True) name = fields.Char(string="Avancement", required=True)
status_sequence = fields.Integer(string="Sequence") sequence = fields.Integer(default=1)
is_closed = fields.Boolean(string="Status clos") is_closed = fields.Boolean(string="Status clos")
fold = fields.Boolean(string="Plié") fold = fields.Boolean(string="Plié")
sale_project_suivi_ids = fields.One2many( sale_project_suivi_ids = fields.One2many(
......
...@@ -15,11 +15,16 @@ ...@@ -15,11 +15,16 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form> <form>
<sheet> <sheet>
<group>
<group> <group>
<field name="name" /> <field name="name" />
<field name="sale_project_suivi_ids" widget="many2many_tags" />
<field name="sequence"/>
</group>
<group>
<field name="fold" /> <field name="fold" />
<field name="is_closed" /> <field name="is_closed" />
<field name="sale_project_suivi_ids" widget="many2many_tags" /> </group>
</group> </group>
</sheet> </sheet>
</form> </form>
...@@ -32,7 +37,7 @@ ...@@ -32,7 +37,7 @@
<field name="model">sale.project.admin.state</field> <field name="model">sale.project.admin.state</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <tree>
<field name="status_sequence" widget="handle" /> <field name="sequence" widget="handle" />
<field name="name" /> <field name="name" />
<field name="fold" /> <field name="fold" />
<field name="is_closed" /> <field name="is_closed" />
......
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