[IMP] partner_profiles: refactoring of position profile creation
This commit is contained in:
committed by
Stéphan Sainléger
parent
379b598754
commit
a4c1c467c5
@@ -1,3 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import models
|
||||
from . import models
|
||||
from . import wizard
|
@@ -3,7 +3,7 @@
|
||||
|
||||
{
|
||||
"name": "partner_profiles",
|
||||
"version": "12.0.2.1.1",
|
||||
"version": "12.0.2.2.0",
|
||||
"author": "Elabore",
|
||||
"website": "https://elabore.coop",
|
||||
"maintainer": "Stéphan Sainléger",
|
||||
@@ -26,6 +26,7 @@
|
||||
# always loaded
|
||||
"data": [
|
||||
"security/ir.model.access.csv",
|
||||
"wizard/create_position_profile.xml",
|
||||
"views/res_partner_view.xml",
|
||||
"views/partner_profile_view.xml",
|
||||
"data/partner_profile_data.xml",
|
||||
|
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 12.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 10:28+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 10:28+0000\n"
|
||||
"POT-Creation-Date: 2023-05-23 15:09+0000\n"
|
||||
"PO-Revision-Date: 2023-05-23 15:09+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -15,11 +15,23 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.create_position_wizard_view_form
|
||||
msgid "<span>You are about to create a <strong>Position Profile</strong> which\n"
|
||||
" represents the role or the job of a person in a structure.</span>"
|
||||
msgstr "<span>Vous allez créer un <strong>profil Position</strong> qui\n"
|
||||
" représente le rôle que tient une personne au sein d'une structure.</span>""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.create_position_wizard_view_form
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "City"
|
||||
@@ -33,33 +45,66 @@ msgstr "Société"
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model,name:partner_profiles.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "Country"
|
||||
msgstr "Pays"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.create_position_wizard_view_form
|
||||
msgid "Create"
|
||||
msgstr "Créer"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "Create New Position"
|
||||
msgstr "Créer une nouvelle position"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.actions.act_window,name:partner_profiles.action_create_position_profile_wizard
|
||||
msgid "Create Position Profile"
|
||||
msgstr "Créer un profil Position"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "Create Public Profile"
|
||||
msgstr "Créer le profil public"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.create_position_wizard_view_form
|
||||
msgid "Create a position profile"
|
||||
msgstr "Créer un profil Position"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__create_uid
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Créé par"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__create_date
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Créé le"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__display_name
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nom affiché"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__email
|
||||
msgid "Email"
|
||||
msgstr "Courriel"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__function
|
||||
msgid "Function"
|
||||
msgstr "Fonction"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_partner__has_position
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_users__has_position
|
||||
@@ -67,9 +112,15 @@ msgid "Has Position"
|
||||
msgstr "A une position"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__id
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__is_company
|
||||
msgid "Is Company"
|
||||
msgstr "Est une société"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_partner__is_main_profile
|
||||
@@ -90,16 +141,19 @@ msgid "Is Public Profile"
|
||||
msgstr "Est un profil Public"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile____last_update
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Dernière modification le"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__write_uid
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Dernière mise à jour par"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__write_date
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Dernière mise à jour le"
|
||||
@@ -121,6 +175,11 @@ msgstr "Profil principal"
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__comment
|
||||
msgid "Notes"
|
||||
msgstr "Commentaires"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_partner__other_contact_ids
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_users__other_contact_ids
|
||||
@@ -135,7 +194,6 @@ msgstr "Profiles de contact"
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_partner__partner_profile
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_users__partner_profile
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "Partner profile"
|
||||
msgstr "Profil de contact"
|
||||
|
||||
@@ -164,6 +222,16 @@ msgstr "Contact : Migration des Contacts standards aux Conctacts à profile"
|
||||
msgid "Partner: generate missing public profiles"
|
||||
msgstr "Contact : Générer les profil publics manquant"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__partner_id
|
||||
msgid "Person"
|
||||
msgstr "Personne"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__phone
|
||||
msgid "Phone"
|
||||
msgstr "Téléphone"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
#: model:partner.profile,name:partner_profiles.partner_profile_position
|
||||
@@ -185,7 +253,7 @@ msgstr "Profil public"
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__ref
|
||||
msgid "Ref"
|
||||
msgstr "Ref"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
@@ -202,6 +270,11 @@ msgstr "Rue 2 ..."
|
||||
msgid "Street..."
|
||||
msgstr "Rue.."
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__structure_id
|
||||
msgid "Structure"
|
||||
msgstr "Structure"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_partner__to_migrate
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_users__to_migrate
|
||||
@@ -211,7 +284,12 @@ msgstr "A migrer"
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "ZIP"
|
||||
msgstr "ZIP"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model,name:partner_profiles.model_create_position_profile
|
||||
msgid "create Position Profile"
|
||||
msgstr "créer un profil Position"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
|
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 12.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 10:27+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 10:27+0000\n"
|
||||
"POT-Creation-Date: 2023-05-23 15:04+0000\n"
|
||||
"PO-Revision-Date: 2023-05-23 15:04+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -15,11 +15,22 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.create_position_wizard_view_form
|
||||
msgid "<span>You are about to create a <strong>Position Profile</strong> which\n"
|
||||
" represents the role or the job of a person in a structure.</span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.create_position_wizard_view_form
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "City"
|
||||
@@ -40,26 +51,59 @@ msgstr ""
|
||||
msgid "Country"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.create_position_wizard_view_form
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "Create New Position"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.actions.act_window,name:partner_profiles.action_create_position_profile_wizard
|
||||
msgid "Create Position Profile"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "Create Public Profile"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.create_position_wizard_view_form
|
||||
msgid "Create a position profile"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__create_uid
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__create_date
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__display_name
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__email
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__function
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_partner__has_position
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_users__has_position
|
||||
@@ -67,10 +111,16 @@ msgid "Has Position"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__id
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__is_company
|
||||
msgid "Is Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_partner__is_main_profile
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_users__is_main_profile
|
||||
@@ -90,16 +140,19 @@ msgid "Is Public Profile"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile____last_update
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__write_uid
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__write_date
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_partner_profile__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
@@ -121,6 +174,11 @@ msgstr ""
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__comment
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_partner__other_contact_ids
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_users__other_contact_ids
|
||||
@@ -135,7 +193,6 @@ msgstr ""
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_partner__partner_profile
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_users__partner_profile
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "Partner profile"
|
||||
msgstr ""
|
||||
|
||||
@@ -164,6 +221,16 @@ msgstr ""
|
||||
msgid "Partner: generate missing public profiles"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__partner_id
|
||||
msgid "Person"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__phone
|
||||
msgid "Phone"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
#: model:partner.profile,name:partner_profiles.partner_profile_position
|
||||
@@ -202,6 +269,11 @@ msgstr ""
|
||||
msgid "Street..."
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_create_position_profile__structure_id
|
||||
msgid "Structure"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_partner__to_migrate
|
||||
#: model:ir.model.fields,field_description:partner_profiles.field_res_users__to_migrate
|
||||
@@ -213,6 +285,11 @@ msgstr ""
|
||||
msgid "ZIP"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model:ir.model,name:partner_profiles.model_create_position_profile
|
||||
msgid "create Position Profile"
|
||||
msgstr ""
|
||||
|
||||
#. module: partner_profiles
|
||||
#: model_terms:ir.ui.view,arch_db:partner_profiles.partner_profiles_form_view
|
||||
msgid "e.g. https://www.odoo.com"
|
||||
|
@@ -56,36 +56,24 @@
|
||||
position="attributes">
|
||||
<attribute name="invisible">1</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='child_ids']/form/sheet/group/group/field[@name='name']"
|
||||
position="before">
|
||||
<field name="is_position_profile" readonly="1" invisible="1" />
|
||||
<field name="partner_profile" string="Partner profile" invisible="1" />
|
||||
<xpath expr="//field[@name='child_ids']" position="before">
|
||||
<button name="%(action_create_position_profile_wizard)d"
|
||||
string="Create New Position"
|
||||
class="oe_highlight" type="action"
|
||||
attrs="{'invisible': [('is_main_profile','=',False)]}" />
|
||||
</xpath>
|
||||
|
||||
<!-- page Other Positions -->
|
||||
<xpath expr="//page[@name='other_position']" position="attributes">
|
||||
<attribute name="attrs">{'invisible': [('is_company','=',True)]}</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='other_position']/field[@name='other_contact_ids']/kanban"
|
||||
position="attributes">
|
||||
<attribute name="create">true</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='other_position']/field[@name='other_contact_ids']"
|
||||
position="attributes">
|
||||
<attribute name="context">{'default_partner_profile': 3, 'default_contact_id':
|
||||
active_id, 'default_name': name, 'default_street': street,
|
||||
'default_street2': street2, 'default_city': city, 'default_state_id':
|
||||
state_id, 'default_zip': zip, 'default_country_id': country_id,
|
||||
'default_supplier': supplier}</attribute>
|
||||
</xpath>
|
||||
<xpath
|
||||
expr="//field[@name='other_contact_ids']/form/sheet/group/group/field[@name='name']"
|
||||
position="after">
|
||||
<field name="is_position_profile" readonly="1" invisible="1" />
|
||||
<field name="partner_profile" string="Partner profile" />
|
||||
<field name="parent_id" widget="res_partner_many2one" placeholder="Company"
|
||||
domain="[('is_company', '=', True),('is_main_profile','=', True)]"
|
||||
context="{'default_partner_profile': 1, 'default_is_company': True, 'show_vat': True}" />
|
||||
<xpath expr="//page[@name='other_position']/field[@name='other_contact_ids']/form"
|
||||
position="replace" />
|
||||
<xpath expr="//field[@name='other_contact_ids']" position="before">
|
||||
<button name="%(action_create_position_profile_wizard)d"
|
||||
string="Create New Position"
|
||||
class="oe_highlight" type="action"
|
||||
attrs="{'invisible': [('is_main_profile','=',False)]}" />
|
||||
</xpath>
|
||||
|
||||
<!-- #################################### -->
|
||||
@@ -160,6 +148,9 @@
|
||||
<field name="phone" widget="phone" />
|
||||
<field name="email" widget="email" context="{'gravatar_image': True}" />
|
||||
</group>
|
||||
<group>
|
||||
<field name="comment" />
|
||||
</group>
|
||||
</group>
|
||||
</xpath>
|
||||
</field>
|
||||
|
3
partner_profiles/wizard/__init__.py
Normal file
3
partner_profiles/wizard/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import create_position_profile
|
66
partner_profiles/wizard/create_position_profile.py
Normal file
66
partner_profiles/wizard/create_position_profile.py
Normal file
@@ -0,0 +1,66 @@
|
||||
# Copyright 2022 Elabore (https://elabore.coop)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
class CreatePositionProfile(models.TransientModel):
|
||||
_name = "create.position.profile"
|
||||
_description = "create Position Profile"
|
||||
|
||||
@api.model
|
||||
def _default_is_company(self):
|
||||
return self.env['res.partner'].browse(self._context.get('active_ids')).is_company
|
||||
|
||||
@api.model
|
||||
def _default_structure_id(self):
|
||||
current_partner_id = self.env['res.partner'].browse(self._context.get('active_ids'))
|
||||
if current_partner_id.is_company:
|
||||
return current_partner_id.id
|
||||
else:
|
||||
return None
|
||||
|
||||
@api.model
|
||||
def _default_partner_id(self):
|
||||
current_partner_id = self.env['res.partner'].browse(self._context.get('active_ids'))
|
||||
if not current_partner_id.is_company:
|
||||
return current_partner_id.id
|
||||
else:
|
||||
return None
|
||||
|
||||
is_company = fields.Boolean('Is Company', default=_default_is_company)
|
||||
structure_id = fields.Many2one('res.partner', string='Structure', domain="[('is_company', '=', True), ('is_main_profile', '=', True)]", default=_default_structure_id )
|
||||
partner_id = fields.Many2one('res.partner', string='Person', domain="[('is_company', '=', False), ('is_main_profile', '=', True)]", default=_default_partner_id)
|
||||
function = fields.Char('Function')
|
||||
phone = fields.Char('Phone')
|
||||
email = fields.Char('Email')
|
||||
comment = fields.Text('Notes')
|
||||
|
||||
def _compute_position_profile_values(self):
|
||||
values= {
|
||||
"contact_id": self.partner_id.id,
|
||||
"parent_id": self.structure_id.id,
|
||||
"function": self.function,
|
||||
"name": self.partner_id.name,
|
||||
"phone": self.phone,
|
||||
"email": self.email,
|
||||
"comment" : self.comment,
|
||||
"partner_profile": self.env.ref("partner_profiles.partner_profile_position").id
|
||||
}
|
||||
return values
|
||||
|
||||
|
||||
@api.multi
|
||||
def create_position_profile(self):
|
||||
values = self._compute_position_profile_values()
|
||||
position_partner_id = self.env["res.partner"].create(values)
|
||||
view = self.env.ref("base.view_partner_form")
|
||||
return {
|
||||
"name": "Position Partner created",
|
||||
"view_type": "form",
|
||||
"view_mode": "form",
|
||||
"view_id": view.id,
|
||||
"res_model": "res.partner",
|
||||
"type": "ir.actions.act_window",
|
||||
"res_id": position_partner_id.id,
|
||||
"context": self.env.context,
|
||||
}
|
51
partner_profiles/wizard/create_position_profile.xml
Normal file
51
partner_profiles/wizard/create_position_profile.xml
Normal file
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="create_position_wizard_view_form" model="ir.ui.view">
|
||||
<field name="name">create.position.wizard.view.form</field>
|
||||
<field name="model">create.position.profile</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Create a position profile">
|
||||
<sheet>
|
||||
<div class="alert alert-info" role="alert" style="margin-bottom:0px;">
|
||||
<span>You are about to create a <strong>Position Profile</strong> which
|
||||
represents the role or the job of a person in a structure.</span>
|
||||
</div>
|
||||
<group>
|
||||
<field name="is_company" invisible="1" />
|
||||
<field name="structure_id"
|
||||
attrs="{'readonly': [('is_company','=',True)], 'required': [('is_company','=',False)]}" />
|
||||
<field name="partner_id"
|
||||
attrs="{'readonly': [('is_company','=',False)], 'required': [('is_company','=',True)]}" />
|
||||
<field name="function" />
|
||||
<field name="email" />
|
||||
<field name="phone" />
|
||||
<field name="comment" />
|
||||
</group>
|
||||
</sheet>
|
||||
<footer>
|
||||
<button string="Create" name="create_position_profile" type="object"
|
||||
class="btn-primary" />
|
||||
<button string="Cancel" class="btn-secondary" special="cancel" />
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_create_position_profile_wizard" model="ir.actions.act_window">
|
||||
<field name="name">Create Position Profile</field>
|
||||
<field name="res_model">create.position.profile</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="create_position_wizard_view_form" />
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<act_window name="Create Position Profile"
|
||||
res_model="create.position.profile"
|
||||
src_model="res.partner"
|
||||
multi="True"
|
||||
key2="client_action_multi"
|
||||
view_mode="form"
|
||||
id="action_create_position_profile_wizard" />
|
||||
|
||||
</odoo>
|
Reference in New Issue
Block a user