diff --git a/__manifest__.py b/__manifest__.py index 640f4d3d09970a8ece71c0b6deb9844884202409..344d5a4939691eb54ff8ed1b8a947405e5c157fd 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -17,6 +17,7 @@ "data": [ "security/security_rules.xml", "security/ir.model.access.csv", + "views/assets.xml", "views/res_partner.xml", "views/res_partner_cooperative.xml", "views/scop_config_views.xml", diff --git a/models/res_partner.py b/models/res_partner.py index f4c34d1c2b37049b2f334057e465e3bb5152904b..65d8ae0169b1092ecbf571c5cabc5e2ac014352f 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from datetime import datetime, timedelta -from odoo import models, fields +from odoo import models, fields, api class ScopPartner(models.Model): @@ -303,6 +303,30 @@ class ScopPartner(models.Model): ("none", "Aucune")], string="Licéité du contact", default="none") + @api.multi + def open_facebook(self): + self.ensure_one() + return { + "type": "ir.actions.act_url", + "url": self.facebook, + } + + @api.multi + def open_linkedin(self): + self.ensure_one() + return { + "type": "ir.actions.act_url", + "url": self.linkedin, + } + + @api.multi + def open_twitter(self): + self.ensure_one() + return { + "type": "ir.actions.act_url", + "url": self.twitter, + } + class ResPartneCertification(models.Model): _name = "res.partner.certification" diff --git a/static/src/css/style.css b/static/src/css/style.css new file mode 100644 index 0000000000000000000000000000000000000000..261911c6e6a86b785519850c9f1d202191d10cf2 --- /dev/null +++ b/static/src/css/style.css @@ -0,0 +1,15 @@ +.o_form_view .oe_button_box + .oe_title.oe_title_cgscop, .o_form_view .oe_button_box + .oe_avatar + .oe_title.oe_title_cgscop{ + width: 80%; +} + +.oe_bloc_cgscop{ + width: 600px; +} + +.btn.btn-cgscop{ + padding: 0px; +} + +.o_field_header{ + margin-right: 20px !important; +} diff --git a/views/assets.xml b/views/assets.xml new file mode 100644 index 0000000000000000000000000000000000000000..ff7781d4ce8a4a9df006bbcb4187e05a23217b97 --- /dev/null +++ b/views/assets.xml @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<!-- Copyright 2019 Le Filament + License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> + +<odoo> + + <template id="cgscop_assets_backend" name="account assets" inherit_id="web.assets_backend"> + <xpath expr="." position="inside"> + <link rel="stylesheet" type="text/css" href="/cgscop_partner/static/src/css/style.css"/> + </xpath> + </template> + +</odoo> \ No newline at end of file diff --git a/views/res_partner_cooperative.xml b/views/res_partner_cooperative.xml index 420962ef1b6ff513bdf7fcf74508c57bcd534198..9cd4b6f0fcd4b59c35725ed77c5237860ec10739 100644 --- a/views/res_partner_cooperative.xml +++ b/views/res_partner_cooperative.xml @@ -72,7 +72,7 @@ <field name="arch" type="xml"> <form string="Cooperatives"> <header> - <field name="project_status" widget="statusbar" options="{'clickable': '0'}" statusbar_visible="information,pre-diagnostic,accompagnement,adhesion,suivi"/> + <field name="project_status" widget="statusbar" options="{'clickable': '0'}" statusbar_visible="1_information,2_pre-diagnostic,3_accompagnement,4_adhesion,5_suivi"/> </header> <sheet> <div class="oe_button_box" name="button_box"> @@ -83,7 +83,7 @@ </button> </div> <field name="image" widget='image' class="oe_avatar" options='{"preview_image": "image_medium", "size": [90, 90]}'/> - <div class="oe_title"> + <div class="oe_title oe_title_cgscop"> <field name="is_company" invisible="1"/> <field name="lang" invisible="1"/> <field name="commercial_partner_id" invisible="1"/> @@ -93,40 +93,70 @@ <h1> <field name="name" default_focus="1" placeholder="Name" readonly="True"/> </h1> - <group> - <field name="cooperative_form_id" readonly="True"/> - <field name="partner_company_type_id" readonly="True"/> - <field name="membership_status" readonly="True"/> - <field name="member_number" readonly="True"/> - <field name="cae" readonly="True"/> - <field name="supplier" invisible="True"/> - <field name="customer" invisible="True"/> - <field name="user_id" invisible="True"/> - </group> + <div class="oe_bloc_cgscop"> + <div class="o_row d-flex"> + <h3> + <field class="o_field_header" name="cooperative_form_id" readonly="True" options="{'no_open': True}"/> + </h3> + <span> </span> + <h3> + <field options="{'no_open': True}" name="partner_company_type_id" readonly="True"/> + </h3> + </div> + <div class="o_row d-flex "> + <h3> + <field name="membership_status" readonly="True" class="o_field_header"/> + </h3> + <h3> + <field name="member_number" readonly="True" class="o_field_header"/> + </h3> + <!-- <h3> --> + <field name="cae" class="o_field_header"/> + <!-- </h3> --> + <field name="supplier" invisible="True"/> + <field name="customer" invisible="True"/> + <field name="user_id" invisible="True"/> + </div> + </div> </div> <group string="Informations Générales" col="3"> <group string="Contact"> <field name="country_enforce_cities" invisible="1" modifiers="{'readonly':true, 'invisible':true}"/> <label for='street' string="Adresse Administrative"/> <div class="o_address_format" modifiers="{}"> - <field name="street" readonly="True"/> - <field name="street2" readonly="True"/> - <field name="street3" readonly="True"/> - <field name="zip_id" readonly="True"/> - <field name="zip" readonly="True"/> - <field name="city" readonly="True" attrs="{'invisible': [('country_enforce_cities', '=', True), ('city_id', '!=', False)]}" /> + <field name="street" readonly="True" class="o_address_street"/> + <field name="street2" readonly="True" class="o_address_street"/> + <field name="street3" readonly="True" class="o_address_street"/> + <field name="zip_id" readonly="True" class="o_address_city"/> + <field name="zip" readonly="True" class="o_address_city"/> + <field name="city" readonly="True" attrs="{'invisible': [('country_enforce_cities', '=', True), ('city_id', '!=', False)]}" class="o_address_zip"/> <field name="city_id" string="Ville" readonly="True" attrs="{'invisible': [('country_enforce_cities', '=', False)]}" /> - <field name="state_id" invisible="True"/> - <field name="country_id" readonly="True"/> + <field name="state_id" invisible="True" class="o_address_state" /> + <field name="country_id" readonly="True" class="o_address_country"/> </div> <field name="phone" widget="phone" string="Téléphone 1"/> <field name="mobile" widget="phone" string="Téléphone 2"/> <field name="admin_email" widget="email" string="E-mail administratif"/> <field name="email" widget="email" string="E-mail commercial"/> <field name="website" widget="url"/> - <field name="facebook" widget="url"/> - <field name="linkedin" widget="url"/> - <field name="twitter" widget="url"/> + <label for='facebook' string="Réseaux sociaux"/> + <div > + <button string="" class="btn-cgscop oe_read_only" name="open_facebook" type="object" icon="fa-facebook"/> + <button string="" class="btn-cgscop oe_read_only" name="open_linkedin" type="object" icon="fa-linkedin"/> + <button string="" class="btn-cgscop oe_read_only" name="open_twitter" type="object" icon="fa-twitter"/> + </div> + <label for='facebook' string="Facebook" class="oe_edit_only"/> + <div > + <field class="oe_edit_only" name="facebook" widget="url"/> + </div> + <label class="oe_edit_only" for='linkedin' string="LinkedIn"/> + <div > + <field class="oe_edit_only" name="linkedin" widget="url"/> + </div> + <label class="oe_edit_only" for='twitter' string="Twitter"/> + <div > + <field class="oe_edit_only" name="twitter" widget="url"/> + </div> <field name="director_ids" mode="kanban" context="{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_city': city, 'default_state_id': state_id, 'default_zip': zip, 'default_city_id': city_id, 'default_zip_id': zip_id, 'default_country_id': country_id, 'default_supplier': supplier, 'default_customer': customer, 'default_lang': lang, 'default_user_id': user_id, 'default_type': 'contact'}"> <kanban> @@ -240,25 +270,31 @@ </group> <notebook colspan="4"> <page name="juridical_info" string="Informations Juridiques"> - <field name="siren" readonly="True"/> - <field name="dissolution_date"/> - <field name="dissolution_reason_id"/> + <group> + <field name="siren" readonly="True"/> + <field name="dissolution_date"/> + <field name="dissolution_reason_id"/> + </group> </page> <page name="partners" string="Partenaires"> - <field name="bank_id" widget="res_partner_many2one"/> - <field name="bank2_id" widget="res_partner_many2one"/> - <field name="accountant_id" widget="res_partner_many2one" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/> - <field name="accountant_person_id" widget="res_partner_many2one" attrs="{'invisible': [('accountant_id', '!=', False)]}"/> - <field name="auditor_id" widget="res_partner_many2one"/> - <field name="auditor_person_id" widget="res_partner_many2one" attrs="{'invisible': [('auditor_id', '!=', False)]}"/> + <group> + <field name="bank_id" widget="res_partner_many2one"/> + <field name="bank2_id" widget="res_partner_many2one"/> + <field name="accountant_id" widget="res_partner_many2one" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/> + <field name="accountant_person_id" widget="res_partner_many2one" attrs="{'invisible': [('accountant_id', '!=', False)]}"/> + <field name="auditor_id" widget="res_partner_many2one"/> + <field name="auditor_person_id" widget="res_partner_many2one" attrs="{'invisible': [('auditor_id', '!=', False)]}"/> + </group> </page> <page name='scop_ministry_list' string="Listes Ministère"> - <field name="direccte_id" widget="res_partner_many2one"/> - <field name="last_update_status"/> - <field name="ministry_list_ids" mode="tree"> - <tree group_create="False" group_edit="False" group_delete="False"/> - <form/> - </field> + <group> + <field name="direccte_id" widget="res_partner_many2one"/> + <field name="last_update_status"/> + <field name="ministry_list_ids" mode="tree"> + <tree group_create="False" group_edit="False" group_delete="False"/> + <form/> + </field> + </group> </page> <page name='scop_revision' string="Révisions"> <group string="Informations de révision"> @@ -351,7 +387,9 @@ </field> </page> <page name="contacts" string="Contacts & Addresses"> - <field name="is_main_location" readonly="True"/> + <group> + <field name="is_main_location" readonly="True"/> + </group> <field name="child_ids" mode="kanban" context="{'default_parent_id': active_id, '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, 'default_customer': customer, 'default_lang': lang, 'default_user_id': user_id}"> <kanban>