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

Merge branch '14.0-ref-partner-view' into '14.0'

[REF] ref partner view

See merge request lefilament/cgscop/cgscop_partner!48
parents a2664f0a 7b548f54
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -2,6 +2,7 @@
# This file contains the translation of the following modules:
# * base_geolocalize
# * contacts
# * web
#
msgid ""
msgstr ""
......@@ -25,3 +26,10 @@ msgstr "Personnes"
#: model_terms:ir.ui.view,arch_db:base_geolocalize.view_crm_partner_geo_form
msgid "Partner Assignment"
msgstr "Géolocalisation"
#. module: web
#: code:addons/web/static/src/xml/base.xml:0
#: code:addons/web/static/src/xml/base.xml:0
#, python-format
msgid "Copy Text"
msgstr "Copier"
\ No newline at end of file
......@@ -80,7 +80,8 @@ class ScopPartner(models.Model):
string="Statut projet",
index=True,
)
name = fields.Char(index=True, tracking=True)
name = fields.Char(index=True, tracking=True, string="Dénomination Sociale")
nickname = fields.Char(string="Dénomination interne")
cooperative_form_id = fields.Many2one(
"res.partner.cooperative.form",
string="Cooperative form",
......@@ -150,6 +151,13 @@ class ScopPartner(models.Model):
default=_default_country,
tracking=True,
)
# Adresse postale
postal_street = fields.Char("Adresse postale - Rue", tracking=1)
postal_street2 = fields.Char("Adresse postale - Rue 2", tracking=1)
postal_street3 = fields.Char("Adresse postale - Rue 3", tracking=1)
postal_zip = fields.Char("Adresse postale - CP", tracking=1)
postal_city = fields.Char("Adresse postale - Ville", tracking=1)
postal_cedex = fields.Char("Adresse postale - Cedex", tracking=1)
phone = fields.Char("Téléphone 1", tracking=True)
mobile = fields.Char("Téléphone 2", tracking=True)
email = fields.Char("eMail administratif", tracking=True)
......@@ -287,7 +295,7 @@ class ScopPartner(models.Model):
ondelete="restrict",
)
other_certification = fields.Char(string="Autre agrément", required=False)
siret = fields.Char(string="SIRET", size=14, index=True, tracking=True, copy=False)
siret = fields.Char(string="SIRET du siège", size=14, index=True, tracking=True, copy=False)
formatted_siret = fields.Char(
string="SIRET formaté", compute="_compute_formatted_siret"
)
......@@ -723,58 +731,23 @@ class ScopPartner(models.Model):
% self.name
)
# ------------------------------------------------------
# Actions
# ------------------------------------------------------
def open_facebook(self):
self.ensure_one()
return {
"type": "ir.actions.act_url",
"url": self.facebook,
}
def open_linkedin(self):
self.ensure_one()
return {
"type": "ir.actions.act_url",
"url": self.linkedin,
}
def open_twitter(self):
self.ensure_one()
return {
"type": "ir.actions.act_url",
"url": self.twitter,
}
def open_instagram(self):
self.ensure_one()
return {
"type": "ir.actions.act_url",
"url": self.instagram,
}
def open_pappers(self):
self.ensure_one()
return {
"type": "ir.actions.act_url",
"url": self.pappers_url,
}
def remove_director(self):
self.write({"mandate_id": False})
return {"type": "ir.actions.act_window_close"}
# ------------------------------------------------------
# Onchange
# ------------------------------------------------------
# TODO: à vérifier
# Hack pour la création de contacts depuis la fiche organisme
@api.onchange("parent_id_onchange")
def _onchange_parent_id_onchange(self):
self.parent_id = self.parent_id_onchange
@api.onchange("nickname")
def onchange_nickname(self):
if (
self.is_cooperative
and self.project_status in ["1_information", "2_pre-diagnostic", "3_accompagnement"]
):
self.lastname = self.nickname
# TODO: à vérifier
@api.onchange("parent_id")
def _onchange_parent_id(self):
......@@ -909,9 +882,13 @@ class ScopPartner(models.Model):
):
args = args or []
domain = [
"|",
"|",
"|",
("name", operator, name),
("member_number", "ilike", name),
("nickname", operator, name),
("nickname", operator, name),
]
return self._search(domain + args, limit=limit, access_rights_uid=name_get_uid)
......@@ -1392,6 +1369,45 @@ class ScopPartner(models.Model):
# ------------------------------------------------------
# Button & Action
# ------------------------------------------------------
def open_facebook(self):
self.ensure_one()
return {
"type": "ir.actions.act_url",
"url": self.facebook,
}
def open_linkedin(self):
self.ensure_one()
return {
"type": "ir.actions.act_url",
"url": self.linkedin,
}
def open_twitter(self):
self.ensure_one()
return {
"type": "ir.actions.act_url",
"url": self.twitter,
}
def open_instagram(self):
self.ensure_one()
return {
"type": "ir.actions.act_url",
"url": self.instagram,
}
def open_pappers(self):
self.ensure_one()
return {
"type": "ir.actions.act_url",
"url": self.pappers_url,
}
def remove_director(self):
self.write({"mandate_id": False})
return {"type": "ir.actions.act_window_close"}
def partner_archive(self):
self.active = False
......@@ -1705,6 +1721,16 @@ class ScopPartner(models.Model):
address = [f for f in address_fields if f]
return "\n".join(address) if address else ""
def get_postal_address(self):
self.ensure_one()
street_address_fields = [self.postal_street, self.postal_street2, self.postal_street3]
street_address_list = list(filter(bool, street_address_fields))
city_address_list = list(filter(bool, self.postal_zip, self.postal_city))
street_address = "\n".join(street_address_list) if street_address_list else ""
city_address = " ".join(city_address_list) if city_address_list else ""
cedex = f" CEDEX {self.postal_cedex}" if self.postal_cedex else ""
return f"{street_address}\n{city_address}{cedex}"
# ------------------------------------------------------
# CRON function
# ------------------------------------------------------
......
......@@ -2,13 +2,30 @@
.o_form_view .oe_button_box + .oe_avatar + .oe_title.oe_title_cgscop {
width: 60%;
}
.oe_bloc_cgscop {
width: 600px;
/* Titre */
.oe_title_cgscop h1 {
margin-left: -16px;
margin-right: -16px;
}
.oe_title_cgscop_h1 {
padding-left: 16px;
padding-right: 16px;
padding-top: 5px;
background-color: #eee;
max-width: 50%;
}
.oe_title_cgscop_h1 > span.o_field_widget {
margin-bottom: 0px;
}
@media screen and (max-width: 768px) {
.oe_title_cgscop_h1 {
max-width: 100%;
}
}
/* Sous-Titre */
.oe_bloc_cgscop .o_field_widget.o_field_many2one {
width: 278px !important;
min-width: 280px !important;
}
.btn.btn-cgscop {
......@@ -30,3 +47,11 @@
.o_activity_view .o_res_name_cell:hover {
color: #008784 !important;
}
/* Separator de la fiche scop */
.scop_general_infos .o_horizontal_separator {
text-transform: uppercase;
box-shadow: 0 1px 0 #e6e6e6;
font-size: 1.2rem;
margin-bottom: 16px;
}
Ce diff est replié.
......@@ -10,7 +10,7 @@
<search string="Recherche Organisme">
<field
name="name"
filter_domain="['|', '|', '|', ('display_name', 'ilike', self), ('ref', '=', self), ('email', 'ilike', self), ('member_number','=like',self)]"
filter_domain="['|', '|', '|', '|', ('display_name', 'ilike', self), ('ref', '=', self), ('email', 'ilike', self), ('member_number','=like',self), ('nickname', 'ilike', self)]"
/>
<field
name="phone"
......@@ -190,7 +190,7 @@
<field name="model">res.partner</field>
<field name="arch" type="xml">
<tree string="Prospects">
<field name="display_name" string="Raison Sociale" />
<field name="display_name" string="Dénomination Sociale" />
<field name="cooperative_form_id" />
<field name="project_status" />
<field name="zip" />
......@@ -211,7 +211,7 @@
<field name="model">res.partner</field>
<field name="arch" type="xml">
<tree string="Cooperatives">
<field name="display_name" string="Raison Sociale" />
<field name="display_name" string="Dénomination Sociale" />
<field name="member_number_int" />
<field name="cooperative_form_id" />
<field name="naf_id" />
......@@ -247,7 +247,7 @@
<field name="model">res.partner</field>
<field name="arch" type="xml">
<tree string="Organismes" create="0">
<field name="display_name" string="Raison Sociale" />
<field name="display_name" string="Dénomination Sociale" />
<field name="member_number_int" />
<field name="cooperative_form_id" />
<field name="naf_id" />
......
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