Skip to content
Extraits de code Groupes Projets
Valider e619fd11 rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[update] add wizard project creation

parent c39c5774
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -12,12 +12,15 @@
"cgscop_timesheet",
],
"data": [
# security
"security/security_rules.xml",
"security/ir.model.access.csv",
# wizard
"wizard/calendar_create_project.xml",
"wizard/calendar_event_transform.xml",
# views
"views/calendar.xml",
"views/hr_timesheet.xml",
"views/res_partner.xml",
"wizard/calendar_event_transform.xml",
],
"qweb": [
"static/src/xml/*.xml",
......
......@@ -424,20 +424,14 @@ class CGScopCalendar(models.Model):
Affiche une fenêtre simplifiée pour la création d'un projet
"""
self.ensure_one()
view_id = self.env.ref("cgscop_calendar.scop_project_calendar_view_form").id
return {
"name": "Création d'un projet",
"type": "ir.actions.act_window",
"view_mode": "form",
"views": [(view_id, "form")],
"view_id": view_id,
"res_model": "res.partner",
"views": [(False, "form")],
"res_model": "calendar.create.project",
"target": "new",
"context": {
"default_is_company": True,
"default_is_cooperative": True,
"default_company_type": "company",
"default_project_status": "1_information",
"default_date_first_rdv": self.start.date() if self.start else None,
},
}
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_calendar_event_transform,access_calendar_event_transform,model_calendar_event_transform,base.group_user,1,1,1,1
access_calendar_create_project,access_calendar_create_project,model_calendar_create_project,base.group_user,1,1,1,1
# © 2019 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import calendar_create_project
from . import calendar_event_transform
# © 2019 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class CalendarCreateProject(models.TransientModel):
"""
This wizard allows to create project from event
"""
_name = "calendar.create.project"
_description = "Wizard de création de projet depuis l'agenda"
name = fields.Char("Raison Sociale")
is_cooperative = fields.Boolean("Est une coopérative")
cooperative_form_id = fields.Many2one(
"res.partner.cooperative.form",
string="Cooperative form",
ondelete="restrict",
tracking=True,
)
city = fields.Char("Ville")
zip = fields.Char("Code Postal")
phone = fields.Char("Téléphone")
mobile = fields.Char("Mobile")
email = fields.Char("Adresse Mail")
# Infos générales / Infos activité
creation_origin_id = fields.Many2one(
"res.partner.creation.origin",
string="Origine création en coop",
domain=[("parent_id", "=", False)],
ondelete="restrict",
)
creation_suborigin_id = fields.Many2one(
"res.partner.creation.origin",
string="Sous-Origine création en coop",
domain=[("child_ids", "=", False)],
ondelete="restrict",
)
social_object = fields.Text("Objet Social")
date_first_rdv = fields.Date("Date du 1er rdv")
is_first_rdv_infocoll = fields.Boolean("Réunion d'info. collective")
date_send_guide = fields.Date("Date d’envoi du guide de faisabilité")
adhesion_comments = fields.Text("Commentaires Adhésion")
# ------------------------------------------------------
# Fonction boutons
# ------------------------------------------------------
def button_create_project(self):
ctx = self.env.context
event_id = self.env["calendar.event"].browse(ctx.get("active_id"))
partner_id = self.env["res.partner"].create(
{
"name": self.name,
"is_cooperative": True,
"is_company": True,
"company_type": "company",
"project_status": "1_information",
"cooperative_form_id": self.cooperative_form_id.id,
"city": self.city,
"zip": self.zip,
"phone": self.phone,
"mobile": self.mobile,
"email": self.email,
"creation_origin_id": self.creation_origin_id.id,
"creation_suborigin_id": self.creation_suborigin_id.id,
"social_object": self.social_object,
"date_first_rdv": self.date_first_rdv,
"is_first_rdv_infocoll": self.is_first_rdv_infocoll,
"date_send_guide": self.date_send_guide,
"adhesion_comments": self.adhesion_comments,
}
)
event_id.coop_id = partner_id
......@@ -3,13 +3,11 @@
<data>
<record id="scop_project_calendar_view_form" model="ir.ui.view">
<field name="name">scop.project.calendar.view.form</field>
<field name="model">res.partner</field>
<field name="priority">200</field>
<field name="model">calendar.create.project</field>
<field name="arch" type="xml">
<form string="Projet">
<sheet>
<div class="oe_title oe_title_cgscop">
<field name="is_cooperative" invisible="1" />
<h1>
<field
name="name"
......@@ -33,65 +31,16 @@
</div>
<group>
<group string="Contact">
<label for='street' string="Adresse du siège social" />
<div class="o_address_format">
<field
name="street"
placeholder="Rue..."
class="o_address_street"
/>
<field
name="street2"
placeholder="Rue 2..."
class="o_address_street"
/>
<field
name="street3"
placeholder="Rue 3..."
class="o_address_street"
/>
<field
name="zip_id"
options="{'create_name_field': 'city', 'no_open': True, 'no_create': True}"
placeholder="CP / Ville autocomplétion..."
class="oe_edit_only"
/>
<field
name="zip"
placeholder="CP..."
class="o_address_city"
/>
<field name="zip_departement" invisible="1" />
<field
name="city"
placeholder="Ville..."
class="o_address_city"
/>
<field name="city_id" invisible="1" />
<field
name="cedex"
placeholder="Cedex"
class="o_address_city"
/>
<field
name="state_id"
class="o_address_zip"
placeholder="Région"
options='{"no_open": True, "no_create": True}'
context="{'country_id': country_id, 'zip': zip}"
/>
<field
name="country_id"
placeholder="Pays"
class="o_address_country"
options='{"no_open": True, "no_create": True}'
/>
</div>
<field
name="zip_departement"
string="N° de département"
/>
<field name="region" />
<field
name="phone"
widget="phone"
......@@ -102,8 +51,7 @@
widget="phone"
string="Téléphone 2"
/>
<field name="email" widget="email" string="E-mail" />
<field name="website" widget="url" />
<field name="email" widget="email" />
</group>
<group name="infos" string="Informations">
<field name="creation_origin_id" required="1" />
......@@ -119,6 +67,19 @@
</group>
</group>
</sheet>
<footer>
<button
name="button_create_project"
type="object"
string="Créer le projet"
class="btn-primary"
/>
<button
class="btn btn-sm btn-default"
special="cancel"
string="Annuler"
/>
</footer>
</form>
</field>
</record>
......
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