bemade-addons/portal_partner_manager/views/portal_sibling_templates.xml
2025-05-05 10:29:07 -04:00

538 lines
34 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Template pour la liste des partenaires frères -->
<template id="portal_my_siblings" name="My Related Partners">
<t t-call="portal.portal_layout">
<div class="o_portal_my_home">
<div class="oe_structure" />
<!-- Page title -->
<div class="o_portal_my_details">
<h3 class="page-header">
Related Partners
</h3>
<!-- Success message after update -->
<t t-if="request.params.get('update') == 'success'">
<div class="alert alert-success alert-dismissible fade show" role="alert">
<i class="fa fa-check mr-2"></i> Related company information has been successfully updated.
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&amp;times;</span>
</button>
</div>
</t>
<!-- Display sibling partners information -->
<t t-if="sibling_partners">
<div class="o_portal_sibling_partners">
<div class="row">
<!-- Boucle sur les partenaires frères -->
<t t-foreach="sibling_partners" t-as="sibling">
<!-- Conteneur pour chaque partenaire frère avec data-sibling-id -->
<div class="col-lg-4 col-md-6 mb-4" t-att-data-sibling-id="sibling.id">
<div class="card h-100">
<div class="card-header bg-primary text-white">
<h5 class="mb-0">
<i class="fa fa-building mr-2"></i> <t t-esc="sibling.name"/>
</h5>
</div>
<div class="card-body d-flex flex-column">
<div class="mb-3">
<strong>Type:</strong> <span t-field="sibling.type" t-options="{'widget': 'selection'}"/>
</div>
<div t-if="sibling.type != 'contact'" class="mb-3">
<strong>Address:</strong>
<div t-field="sibling.contact_address"/>
</div>
<div class="mb-3">
<strong>Phone:</strong> <span t-field="sibling.phone"/>
</div>
<div class="mb-3">
<strong>Email:</strong> <span t-field="sibling.email"/>
</div>
<div t-if="sibling.type != 'contact'" class="mb-3">
<strong>Website:</strong> <span t-field="sibling.website"/>
</div>
<div class="mt-auto text-center">
<t t-if="can_edit">
<a t-att-href="'/my/siblings/edit/%s' % sibling.id" class="btn btn-primary">
<i class="fa fa-pencil mr-1"></i> Edit
</a>
</t>
</div>
</div>
</div>
</div>
</t>
</div>
</div>
</t>
<t t-else="">
<div class="alert alert-info">
<p>No related partners found.</p>
</div>
</t>
</div>
<div class="oe_structure" />
</div>
</t>
</template>
<!-- Template pour l'édition d'un partenaire frère -->
<template id="portal_my_siblings_edit" name="Edit Related Partner">
<t t-call="portal.portal_layout">
<div class="o_portal_my_home">
<div class="oe_structure" />
<!-- Page title -->
<div class="o_portal_my_details">
<h3 class="page-header">
Edit Related Partner: <span t-field="sibling.name"/>
</h3>
<!-- Error message -->
<t t-if="error">
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<i class="fa fa-exclamation-triangle mr-2"></i> <t t-esc="error"/>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&amp;times;</span>
</button>
</div>
</t>
<!-- Form for editing sibling partner -->
<form action="/my/siblings/update" method="post" class="mt-4 o_portal_details">
<input type="hidden" name="sibling_id" t-att-value="sibling.id"/>
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
<div class="card">
<div class="card-header bg-primary text-white">
<h5 class="mb-0">
<i class="fa fa-building mr-2"></i> Related Company Information
</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<label for="type">Contact Type</label>
<select class="form-control" name="type" id="type" onchange="toggleAddressFields(this.value)">
<option value="contact" t-att-selected="sibling.type == 'contact'">Contact</option>
<option value="invoice" t-att-selected="sibling.type == 'invoice'">Invoice Address</option>
<option value="delivery" t-att-selected="sibling.type == 'delivery'">Delivery Address</option>
<option value="other" t-att-selected="sibling.type == 'other'">Other Address</option>
</select>
</div>
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" name="name" id="name" t-att-value="sibling.name" required="required"/>
</div>
<div class="form-group address-field">
<label for="street">Street</label>
<input type="text" class="form-control" name="street" id="street" t-att-value="sibling.street"/>
</div>
<div class="form-group address-field">
<label for="street2">Street 2</label>
<input type="text" class="form-control" name="street2" id="street2" t-att-value="sibling.street2"/>
</div>
<div class="form-group address-field">
<label for="city">City</label>
<input type="text" class="form-control" name="city" id="city" t-att-value="sibling.city"/>
</div>
<div class="form-group address-field">
<label for="zip">ZIP</label>
<input type="text" class="form-control" name="zip" id="zip" t-att-value="sibling.zip"/>
</div>
</div>
<div class="col-lg-6">
<!-- Champ pays avec data-sibling-id pour le JS -->
<div class="form-group address-field">
<label for="sibling_country_id">Country</label>
<select class="form-control" t-att-name="'sibling_country_id_' + str(sibling.id)" id="sibling_country_id">
<option value="">Country...</option>
<t t-foreach="countries" t-as="country">
<option t-att-value="country.id" t-att-selected="country.id == sibling.country_id.id">
<t t-esc="country.name"/>
</option>
</t>
</select>
</div>
<!-- Champ état/province avec data-sibling-id pour le JS -->
<div class="form-group address-field">
<label for="sibling_state_id">State/Province</label>
<select class="form-control" t-att-name="'sibling_state_id_' + str(sibling.id)" id="sibling_state_id">
<option value="">State/Province...</option>
<t t-foreach="states" t-as="state">
<option t-att-value="state.id"
t-att-data-country_id="state.country_id.id"
t-att-selected="state.id == sibling.state_id.id">
<t t-esc="state.name"/>
</option>
</t>
</select>
</div>
<div class="form-group">
<label for="phone">Phone</label>
<input type="tel" class="form-control" name="phone" id="phone" t-att-value="sibling.phone"/>
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-control" name="email" id="email" t-att-value="sibling.email"/>
</div>
<div class="form-group website-field">
<label for="website">Website</label>
<input type="url" class="form-control" name="website" id="website" t-att-value="sibling.website"/>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="d-flex justify-content-between">
<a href="/my/siblings" class="btn btn-secondary">
<i class="fa fa-arrow-left mr-1"></i> Cancel
</a>
<button type="submit" class="btn btn-primary">
<i class="fa fa-save mr-1"></i> Save
</button>
</div>
</div>
</div>
</form>
</div>
<div class="oe_structure" />
</div>
</t>
</template>
<!-- Template pour l'édition du partenaire parent -->
<template id="portal_my_parent_company" name="My Parent Company">
<t t-call="portal.portal_layout">
<div class="o_portal_my_home">
<div class="oe_structure" />
<!-- Page title -->
<div class="o_portal_my_details">
<h3 class="page-header">
<t t-if="parent_company">
Parent Company: <span t-field="parent_company.name"/>
</t>
<t t-else="">
Parent Company
</t>
</h3>
<!-- Success message after update -->
<t t-if="request.params.get('update') == 'success'">
<div class="alert alert-success alert-dismissible fade show" role="alert">
<i class="fa fa-check mr-2"></i> Parent company information has been successfully updated.
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&amp;times;</span>
</button>
</div>
</t>
<!-- Display parent company information -->
<t t-if="parent_company">
<div class="row mt-4">
<div class="col-lg-12">
<div class="card">
<div class="card-header bg-primary text-white">
<h5 class="mb-0">
<i class="fa fa-building mr-2"></i> Parent Company Information
<t t-if="can_edit">
<a href="/my/parent/edit" class="btn btn-sm btn-light float-right">
<i class="fa fa-pencil"></i> Edit
</a>
</t>
</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-lg-6">
<div class="mb-3">
<strong>Name:</strong> <span t-field="parent_company.name"/>
</div>
<div class="mb-3">
<strong>Address:</strong>
<div t-field="parent_company.contact_address"/>
</div>
<div class="mb-3">
<strong>Phone:</strong> <span t-field="parent_company.phone"/>
</div>
</div>
<div class="col-lg-6">
<div class="mb-3">
<strong>Email:</strong> <span t-field="parent_company.email"/>
</div>
<div class="mb-3">
<strong>Website:</strong> <span t-field="parent_company.website"/>
</div>
<div class="mb-3">
<strong>Relationship:</strong> Parent Company
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</t>
<t t-else="">
<div class="alert alert-info">
<p>No parent company found.</p>
</div>
</t>
</div>
<div class="oe_structure" />
</div>
</t>
</template>
<!-- Template pour l'édition du partenaire parent -->
<template id="portal_my_parent_edit" name="Edit Parent Company">
<t t-call="portal.portal_layout">
<div class="o_portal_my_home">
<div class="oe_structure" />
<!-- Page title -->
<div class="o_portal_my_details">
<h3 class="page-header">
Edit Parent Company: <span t-field="parent_company.name"/>
</h3>
<!-- Error message -->
<t t-if="error">
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<i class="fa fa-exclamation-triangle mr-2"></i> <t t-esc="error"/>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&amp;times;</span>
</button>
</div>
</t>
<!-- Form for editing parent company -->
<form action="/my/parent/update" method="post" class="mt-4 o_portal_parent_company">
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
<div class="card">
<div class="card-header bg-primary text-white">
<h5 class="mb-0">
<i class="fa fa-building mr-2"></i> Parent Company Information
</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" name="name" id="name" t-att-value="parent_company.name" required="required"/>
</div>
<div class="form-group">
<label for="street">Street</label>
<input type="text" class="form-control" name="street" id="street" t-att-value="parent_company.street"/>
</div>
<div class="form-group">
<label for="street2">Street 2</label>
<input type="text" class="form-control" name="street2" id="street2" t-att-value="parent_company.street2"/>
</div>
<div class="form-group">
<label for="city">City</label>
<input type="text" class="form-control" name="city" id="city" t-att-value="parent_company.city"/>
</div>
<div class="form-group">
<label for="zip">ZIP</label>
<input type="text" class="form-control" name="zip" id="zip" t-att-value="parent_company.zip"/>
</div>
</div>
<div class="col-lg-6">
<!-- Champ pays pour le partenaire parent -->
<div class="form-group">
<label for="parent_country_id">Country</label>
<select class="form-control" name="parent_country_id" id="parent_country_id">
<option value="">Country...</option>
<t t-foreach="countries" t-as="country">
<option t-att-value="country.id" t-att-selected="country.id == parent_company.country_id.id">
<t t-esc="country.name"/>
</option>
</t>
</select>
</div>
<!-- Champ état/province pour le partenaire parent -->
<div class="form-group">
<label for="parent_state_id">State/Province</label>
<select class="form-control" name="parent_state_id" id="parent_state_id">
<option value="">State/Province...</option>
<t t-foreach="states" t-as="state">
<option t-att-value="state.id"
t-att-data-country_id="state.country_id.id"
t-att-selected="state.id == parent_company.state_id.id">
<t t-esc="state.name"/>
</option>
</t>
</select>
</div>
<div class="form-group">
<label for="phone">Phone</label>
<input type="tel" class="form-control" name="phone" id="phone" t-att-value="parent_company.phone"/>
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-control" name="email" id="email" t-att-value="parent_company.email"/>
</div>
<div class="form-group">
<label for="website">Website</label>
<input type="url" class="form-control" name="website" id="website" t-att-value="parent_company.website"/>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="d-flex justify-content-between">
<a href="/my/parent" class="btn btn-secondary">
<i class="fa fa-arrow-left mr-1"></i> Cancel
</a>
<button type="submit" class="btn btn-primary">
<i class="fa fa-save mr-1"></i> Save
</button>
</div>
</div>
</div>
</form>
</div>
<div class="oe_structure" />
</div>
</t>
</template>
<!-- Adding links in the portal menu -->
<template id="portal_my_home_menu_siblings" name="Portal Menu: siblings entry" inherit_id="portal.portal_breadcrumbs" priority="35">
<xpath expr="//ol[hasclass('o_portal_submenu')]" position="inside">
<li t-if="page_name == 'siblings' or page_name == 'sibling_edit'" class="breadcrumb-item">
<a t-if="page_name != 'siblings'" t-attf-href="/my/siblings">Related Partners</a>
<t t-else="">Related Partners</t>
</li>
<li t-if="page_name == 'sibling_edit'" class="breadcrumb-item active">
Edit
</li>
<li t-if="page_name == 'parent' or page_name == 'parent_edit'" class="breadcrumb-item">
<a t-if="page_name != 'parent'" t-attf-href="/my/parent">Parent Company</a>
<t t-else="">Parent Company</t>
</li>
<li t-if="page_name == 'parent_edit'" class="breadcrumb-item active">
Edit
</li>
</xpath>
</template>
<!-- Template for adding a new sibling partner -->
<template id="portal_my_siblings_add" name="Add Related Partner">
<t t-call="portal.portal_layout">
<div class="o_portal_my_home">
<div class="oe_structure" />
<!-- Page title -->
<div class="o_portal_my_details">
<h3 class="page-header">
Add Related Partner
</h3>
<form action="/my/siblings/create" method="post" class="mt-4 o_portal_details">
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
<div class="card">
<div class="card-header bg-primary text-white">
<h5 class="mb-0">
<i class="fa fa-building-o mr-2"></i> New Related Partner Information
</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<label for="type">Contact Type</label>
<select class="form-control" name="type" id="type" onchange="toggleAddressFields(this.value)">
<option value="contact" selected="selected">Contact</option>
<option value="invoice">Invoice Address</option>
<option value="delivery">Delivery Address</option>
<option value="other">Other Address</option>
</select>
</div>
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" name="name" id="name" required="required"/>
</div>
<div class="form-group">
<label for="phone">Phone</label>
<input type="tel" class="form-control" name="phone" id="phone"/>
</div>
<div class="form-group">
<label for="mobile">Mobile</label>
<input type="tel" class="form-control" name="mobile" id="mobile"/>
</div>
<div class="form-group address-field">
<label for="street">Street</label>
<input type="text" class="form-control" name="street" id="street"/>
</div>
<div class="form-group address-field">
<label for="street2">Street 2</label>
<input type="text" class="form-control" name="street2" id="street2"/>
</div>
</div>
<div class="col-lg-6">
<div class="form-group address-field">
<label for="city">City</label>
<input type="text" class="form-control" name="city" id="city"/>
</div>
<div class="form-group address-field">
<label for="zip">ZIP</label>
<input type="text" class="form-control" name="zip" id="zip"/>
</div>
<div class="form-group address-field">
<label for="country_id">Country</label>
<select class="form-control" name="country_id" id="country_id">
<option value="">Select a country...</option>
<t t-foreach="countries" t-as="country">
<option t-att-value="country.id"><t t-esc="country.name"/></option>
</t>
</select>
</div>
<div class="form-group address-field">
<label for="state_id">State/Province</label>
<select class="form-control" name="state_id" id="state_id">
<option value="">Select a state...</option>
<t t-foreach="states" t-as="state">
<option t-att-value="state.id" t-att-data-country-id="state.country_id.id"><t t-esc="state.name"/></option>
</t>
</select>
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-control" name="email" id="email"/>
</div>
<div class="form-group website-field">
<label for="website">Website</label>
<input type="url" class="form-control" name="website" id="website"/>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="d-flex justify-content-between">
<a href="/my/siblings" class="btn btn-secondary">
<i class="fa fa-arrow-left mr-1"></i> Cancel
</a>
<button type="submit" class="btn btn-primary">
<i class="fa fa-save mr-1"></i> Create
</button>
</div>
</div>
</div>
</form>
</div>
<div class="oe_structure" />
</div>
</t>
</template>
</odoo>