Merge branch 'improve_address' into person_renderbox_thirdparty_onthefly

This commit is contained in:
Mathieu Jaumotte 2021-09-22 14:07:09 +02:00
commit 851fa663ca
16 changed files with 85 additions and 117 deletions

View File

@ -31,8 +31,8 @@ export default {
}
},
mounted() {
console.log('AddAddress: data context', this.context);
console.log('AddAddress: data options', this.options);
//console.log('AddAddress: data context', this.context);
//console.log('AddAddress: data options', this.options);
},
methods: {
displayErrors() {

View File

@ -252,7 +252,6 @@ export default {
validFrom: false,
validTo: false
},
forceRedirect: false,
hideAddress: false
},
entity: {
@ -324,6 +323,9 @@ export default {
bypassFirstStep() {
// exception: passing step0 if new address and pane are not in modal
return !this.context.edit && !this.inModal;
},
forceRedirect() {
return this.context.backUrl !== null;
}
},
mounted() {
@ -396,7 +398,7 @@ export default {
this.openDatePane();
} else {
this.applyChanges();
if (!this.options.forceRedirect) {
if (!this.forceRedirect) {
this.openShowPane();
}
}
@ -425,7 +427,7 @@ export default {
*/
afterLastPaneAction(params) {
this.initForm();
if (this.options.forceRedirect === true) {
if (this.forceRedirect) {
console.log("redirect to backUrl");
window.location.assign(this.context.backUrl);
} else {
@ -458,11 +460,9 @@ export default {
getCountries() {
this.flag.loading = true;
console.log('## GO');
fetchCountries().then(
countries => new Promise((resolve, reject) => {
this.entity.loaded.countries = countries.results;
console.log('## COMPLETE !');
this.flag.editPane = true;
this.flag.loading = false;
resolve()

View File

@ -9,6 +9,7 @@
</div>
<div v-if="flag.success" class="alert alert-success">
{{ $t(getSuccessText) }}
<span v-if="forceRedirect">{{ $t('wait_redirection') }}</span>
</div>
<div v-if="noAddressWithStickyActions" class="mt-5">
@ -78,21 +79,15 @@ export default {
return (this.context.edit) ? this.defaultz.button.text.edit : this.defaultz.button.text.create;
},
getSuccessText() {
switch (this.context.target.name) {
/*
case 'household':
return (this.context.edit) ? 'household_address_edit_success' : 'household_address_move_success';
case 'person':
return (this.context.edit) ? 'person_address_edit_success' : 'person_address_creation_success';
*/
default:
return (this.context.edit) ? 'address_edit_success' : 'address_new_success';
}
return (this.context.edit) ? 'address_edit_success' : 'address_new_success';
},
hideAddress() {
return (typeof this.options.hideAddress !== 'undefined') ?
this.options.hideAddress : this.defaultz.hideAddress;
},
forceRedirect() {
return this.context.backUrl !== null;
},
noAddressWithStickyActions() {
return !this.context.edit && !this.address.id && this.options.stickyActions;
}

View File

@ -22,7 +22,7 @@ const addressMessages = {
corridor: 'Couloir',
steps: 'Escalier',
flat: 'Appartement',
buildingName: 'Nom du bâtiment',
buildingName: 'Résidence',
extra: 'Complément d\'adresse',
distribution: 'Cedex',
create_postal_code: 'Localité inconnue. Cliquez ici pour créer une nouvelle localité',
@ -34,22 +34,14 @@ const addressMessages = {
back_to_the_list: 'Retour à la liste',
loading: 'chargement en cours...',
address_suggestions: "Suggestion d'adresses",
address_new_success: 'La nouvelle adresse est enregistrée',
address_edit_success: 'L\'adresse a été mise à jour',
address_new_success: 'La nouvelle adresse est enregistrée.',
address_edit_success: 'L\'adresse a été mise à jour.',
wait_redirection: " La page est redirigée.",
not_yet_address: "Il n'y a pas encore d'adresse. Cliquez sur '+ Créer une adresse'",
use_this_address: "Utiliser cette adresse",
// person specific
add_an_address_to_person: 'Ajouter l\'adresse à la personne',
person_address_creation_success: 'La nouvelle adresse de la personne est enregistrée',
person_address_edit_success: 'L\'adresse de la personne a été mise à jour',
// household specific
move_date: 'Date du déménagement',
select_a_existing_address: 'Sélectionner une adresse existante',
add_an_address_to_household: 'Enregistrer',
household_address_move_success: 'La nouvelle adresse du ménage est enregistrée',
household_address_edit_success: 'L\'adresse du ménage a été mise à jour',
}
};

View File

@ -33,24 +33,27 @@ containers.forEach((container) => {
size: container.dataset.buttonSize || null,
displayText: container.dataset.buttonDisplayText !== 'false' //boolean, default: true
},
/// Modal title text if create or edit address (trans chain, see i18n)
title: {
create: container.dataset.modalTitle || null,
edit: container.dataset.modalTitle || null
},
/// Display panes in Modal for step123
openPanesInModal: container.dataset.openPanesInModal !== 'false', //boolean, default: true
/// Display actions buttons of panes in a sticky-form-button navbar
stickyActions: container.dataset.stickyActions === 'true', //boolean, default: false
/// Use Date fields
useDate: {
validFrom: container.dataset.useValidFrom === 'true', //boolean, default: false
validTo: container.dataset.useValidTo === 'true' //boolean, default: false
},
/// Force redirection after last step (cfr. backUrl)
forceRedirect: container.dataset.forceRedirect === 'true', //boolean, default: false
/// Don't display show renderbox Address
//hideAddress: false //boolean, default: false
/// Don't display show renderbox Address: showPane display only a button
hideAddress: container.dataset.hideAddress === 'true' //boolean, default: false
}
}
}

View File

@ -16,7 +16,7 @@
</p>
</component>
<div v-if="isMultiline === true">
<div v-if="isMultiline === true" class="address-more">
<div v-if="address.floor">
<span class="floor">
<b>{{ $t('floor') }}</b>: {{ address.floor }}

View File

@ -18,7 +18,7 @@
* stickyActions bool (default: false)
* useValidFrom bool (default: false)
* useValidTo bool (default: false)
* forceRedirect bool (default: false)
* hideAddress bool (default: false)
#}
<div class="address-container"
@ -69,8 +69,8 @@
data-use-valid-to="true"
{% endif %}
{% if forceRedirect is defined and forceRedirect == 1 %}
data-force-redirect="true"
{% if hideAddress is defined and hideAddress == 1 %}
data-hide-address="true"
{% endif %}
></div>

View File

@ -34,25 +34,25 @@
{% macro extended(address, options) %}
{% if address.floor is not empty %}
<span class="floor">{{ address.floor }}</span>
<span class="floor">{{ 'address more.floor'|trans }} {{ address.floor }}</span>
{% endif %}
{% if address.corridor is not empty %}
<span class="corridor">{{ address.corridor }}</span>
<span class="corridor">{{ 'address more.corridor'|trans }} {{ address.corridor }}</span>
{% endif %}
{% if address.steps is not empty %}
<span class="steps">{{ address.steps }}</span>
<span class="steps">{{ 'address more.steps'|trans }} {{ address.steps }}</span>
{% endif %}
{% if address.buildingName is not empty %}
<span class="buildingName">{{ address.buildingName }}</span>
<span class="buildingName">{{ 'address more.buildingName'|trans }} {{ address.buildingName }}</span>
{% endif %}
{% if address.flat is not empty %}
<span class="flat">{{ address.flat }}</span>
{% endif %}
{% if address.distribution is not empty %}
<span class="distribution">{{ address.distribution }}</span>
<span class="flat">{{ 'address more.flat'|trans }} {{ address.flat }}</span>
{% endif %}
{% if address.extra is not empty %}
<span class="extra">{{ address.extra }}</span>
<span class="extra">{{ 'address more.extra'|trans }} {{ address.extra }}</span>
{% endif %}
{% if address.distribution is not empty %}
<span class="distribution">{{ 'address more.distribution'|trans }} {{ address.distribution }}</span>
{% endif %}
{% endmacro %}

View File

@ -74,6 +74,14 @@ address:
address_homeless: L'adresse est-elle celle d'un domicile fixe ?
real address: Adresse d'un domicile
consider homeless: N'est pas l'adresse d'un domicile (SDF)
address more:
floor: ét
corridor: coul
steps: esc
flat: appart
buildingName: résidence
extra: ''
distribution: cedex
Create a new address: Créer une nouvelle adresse
#serach

View File

@ -1,21 +0,0 @@
import { addressMessages } from 'ChillMainAssets/vuejs/Address/i18n'
const appMessages = {
fr: {
select_a_existing_address: 'Sélectionner une adresse existante',
create_a_new_address: 'Créer une nouvelle adresse',
add_an_address_to_household: 'Enregistrer',
validFrom: 'Date du déménagement',
move_date: 'Date du déménagement',
back_to_the_list: 'Retour à la liste',
household_address_move_success: 'La nouvelle adresse du ménage est enregistrée',
household_address_edit_success: 'L\'adresse du ménage a été mise à jour',
loading: 'chargement en cours...'
}
};
Object.assign(appMessages.fr, addressMessages.fr);
export {
appMessages
};

View File

@ -29,9 +29,11 @@
{# include vue_address component #}
{% include '@ChillMain/Address/_insert_vue_address.html.twig' with {
targetEntity: { name: 'person', id: person.id },
backUrl: path('chill_person_address_list', { 'person_id': person.id }),
openPanesInModal: false,
} %}
{#
backUrl: path('chill_person_address_list', { 'person_id': person.id }),
#}
{% endblock %}

View File

@ -29,10 +29,10 @@
{# include vue_address component #}
{% include '@ChillMain/Address/_insert_vue_address.html.twig' with {
targetEntity: { name: 'person', id: person.id },
backUrl: path('chill_person_address_list', { 'person_id': person.id }),
stickyActions: true,
} %}
{#
backUrl: path('chill_person_address_list', { 'person_id': person.id }),
openPanesInModal: false,
useValidFrom: true,
#}

View File

@ -9,12 +9,10 @@
{# include vue_address component #}
{% include '@ChillMain/Address/_insert_vue_address.html.twig' with {
targetEntity: { name: 'household', id: household.id },
stickyActions: true
} %}
{#
backUrl: path('chill_person_household_addresses', { 'household_id': household.id }),
stickyActions: true,
openPanesInModal: false,
#}
} %}
</div>
{% endblock %}

View File

@ -10,12 +10,9 @@
{% include '@ChillMain/Address/_insert_vue_address.html.twig' with {
targetEntity: { name: 'household', id: household.id },
backUrl: path('chill_person_household_addresses', { 'household_id': household.id }),
forceRedirect: true,
openPanesInModal: false,
stickyActions: true,
} %}
{#
openPanesInModal: false,
#}
</div>
{% endblock %}

View File

@ -18,14 +18,13 @@
{% include '@ChillMain/Address/_insert_vue_address.html.twig' with {
targetEntity: { name: 'household', id: household.id },
backUrl: path('chill_person_household_addresses', { 'household_id': household.id }),
forceRedirect: true,
mode: 'new',
useValidFrom: true,
buttonSize: 'btn-lg',
buttonText: 'Move household',
modalTitle: 'Move household',
} %}
{#
useValidFrom: true,
#}
</li>
@ -67,7 +66,6 @@
}) }}
<ul class="record_actions">
<li>
<a href="{{ path('chill_person_household_address_edit', { 'household_id': household.id, 'address_id' : address.id } ) }}"
class="btn btn-edit"></a>

View File

@ -16,42 +16,39 @@
{% set address = household.currentAddress %}
{% if address is empty %}
<p class="chill-no-data-statement">{{ 'household.Household does not have any address currently'|trans }}</p>
{% else %}
<div class="row household-resume">
<div class="row household-resume">
<div class="item-bloc col-5 col-address">
<h2>{{ 'Address'|trans }}</h2>
<div class="item-bloc col-5 col-address">
{% if address is empty %}
<p class="chill-no-data-statement">{{ 'household.Household does not have any address currently'|trans }}</p>
{% else %}
{{ address|chill_entity_render_box({'multiline': true, 'extended_infos': true }) }}
{% endif %}
<h2>{{ 'Address'|trans }}</h2>
{{ address|chill_entity_render_box({'multiline': true}) }}
<ul class="list-inline text-right mt-2">
<li class="list-inline-item">
{# include vue_address component #}
{% include '@ChillMain/Address/_insert_vue_address.html.twig' with {
targetEntity: { name: 'household', id: household.id },
backUrl: path('chill_person_household_addresses', { 'household_id': household.id }),
mode: 'new',
buttonSize: 'btn-sm',
buttonText: 'Move household',
modalTitle: 'Move household',
buttonDisplayText: false,
} %}
{#
openPanesInModal: false
#}
</li>
<li class="list-inline-item">
<a class="btn btn-secondary btn-sm" title="{{ "Addresses history"|trans }}"
href="{{ path('chill_person_household_addresses', { 'household_id': household.id } ) }}">
<i class="fa fa-list fa-fw"></i>
</a>
</li>
</ul>
</div>
<ul class="list-inline text-right mt-2">
<li class="list-inline-item">
{# include vue_address component #}
{% include '@ChillMain/Address/_insert_vue_address.html.twig' with {
targetEntity: { name: 'household', id: household.id },
backUrl: path('chill_person_household_summary', { 'household_id': household.id }),
hideAddress: true,
mode: 'new',
buttonSize: 'btn-sm',
buttonText: 'Move household',
modalTitle: 'Move household',
buttonDisplayText: false,
} %}
</li>
<li class="list-inline-item">
<a class="btn btn-secondary btn-sm" title="{{ "Addresses history"|trans }}"
href="{{ path('chill_person_household_addresses', { 'household_id': household.id } ) }}">
<i class="fa fa-list fa-fw"></i>
</a>
</li>
</ul>
</div>
{% if address is not empty %}
<div class="item-bloc col-7 col-comment">
{% if form is null %}
@ -106,10 +103,9 @@
{{ form_end(form) }}
{% endif %}
</div>
</div>
{% endif %}
{% endif %}
</div>
<h2 class="my-5">{{ 'household.Household members'|trans }}</h2>