mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
handle leaving household
This commit is contained in:
parent
8f361567ff
commit
9cbac89cae
@ -15,7 +15,7 @@
|
|||||||
<confirmation v-if="step === 'confirm'"></confirmation>
|
<confirmation v-if="step === 'confirm'"></confirmation>
|
||||||
|
|
||||||
<ul class="record_actions sticky-form-buttons">
|
<ul class="record_actions sticky-form-buttons">
|
||||||
<li class="cancel">
|
<li class="cancel" v-if="step !== 'concerned' || hasReturnPath">
|
||||||
<button class="btn btn-cancel" @click="goToPrevious">
|
<button class="btn btn-cancel" @click="goToPrevious">
|
||||||
{{ $t('household_members_editor.app.cancel') }}
|
{{ $t('household_members_editor.app.cancel') }}
|
||||||
</button>
|
</button>
|
||||||
@ -77,6 +77,11 @@ export default {
|
|||||||
|
|
||||||
return s;
|
return s;
|
||||||
},
|
},
|
||||||
|
hasReturnPath() {
|
||||||
|
let params = new URLSearchParams(window.location.search);
|
||||||
|
|
||||||
|
return params.has('returnPath');
|
||||||
|
},
|
||||||
// return true if the next step is allowed
|
// return true if the next step is allowed
|
||||||
isNextAllowed() {
|
isNextAllowed() {
|
||||||
switch (this.$data.step) {
|
switch (this.$data.step) {
|
||||||
@ -105,6 +110,9 @@ export default {
|
|||||||
if (this.$store.getters.isHouseholdNew) {
|
if (this.$store.getters.isHouseholdNew) {
|
||||||
this.$data.step = 'household_address';
|
this.$data.step = 'household_address';
|
||||||
break;
|
break;
|
||||||
|
} else if (this.$store.getters.isModeLeave) {
|
||||||
|
this.$data.step = 'confirm';
|
||||||
|
break;
|
||||||
} else {
|
} else {
|
||||||
this.$data.step = 'positioning';
|
this.$data.step = 'positioning';
|
||||||
break;
|
break;
|
||||||
@ -118,7 +126,22 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
goToPrevious() {
|
goToPrevious() {
|
||||||
this.$data.step = 'concerned';
|
if (this.$data.step === 'concerned') {
|
||||||
|
let params = new URLSearchParams(window.location.search);
|
||||||
|
if (params.has('returnPath')) {
|
||||||
|
window.location.replace(params.get('returnPath'));
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let s = this.steps;
|
||||||
|
let index = s.indexOf(this.$data.step);
|
||||||
|
if (s[index - 1] === undefined) {
|
||||||
|
throw Error("step not found");
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$data.step = s[index - 1];
|
||||||
},
|
},
|
||||||
confirm() {
|
confirm() {
|
||||||
this.$store.dispatch('confirm');
|
this.$store.dispatch('confirm');
|
||||||
|
@ -4,10 +4,30 @@
|
|||||||
<household-render-box :household="fakeHouseholdWithConcerned"></household-render-box>
|
<household-render-box :household="fakeHouseholdWithConcerned"></household-render-box>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="flex-table" v-if="isModeLeave">
|
||||||
|
<div class="item-bloc">
|
||||||
|
<section>
|
||||||
|
<div class="item-row">
|
||||||
|
<div class="item-col">
|
||||||
|
<div class="h4">
|
||||||
|
<span class="fa-stack fa-lg">
|
||||||
|
<i class="fa fa-home fa-stack-1x"></i>
|
||||||
|
<i class="fa fa-ban fa-stack-2x text-danger"></i>
|
||||||
|
</span>
|
||||||
|
{{ $t('household_members_editor.household.leave_without_household') }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item-row">
|
||||||
|
{{ $t('household_members_editor.household.will_leave_any_household_explanation')}}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState, mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import HouseholdRenderBox from 'ChillPersonAssets/vuejs/_components/Entity/HouseholdRenderBox.vue';
|
import HouseholdRenderBox from 'ChillPersonAssets/vuejs/_components/Entity/HouseholdRenderBox.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -16,11 +36,10 @@ export default {
|
|||||||
HouseholdRenderBox,
|
HouseholdRenderBox,
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState([
|
|
||||||
]),
|
|
||||||
...mapGetters([
|
...mapGetters([
|
||||||
'hasHousehold',
|
'hasHousehold',
|
||||||
'fakeHouseholdWithConcerned',
|
'fakeHouseholdWithConcerned',
|
||||||
|
'isModeLeave'
|
||||||
])
|
])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,21 +9,54 @@
|
|||||||
<current-household></current-household>
|
<current-household></current-household>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<div class="flex-table householdSuggestionList">
|
<div v-if="hasHouseholdSuggestion" class="householdSuggestions my-5">
|
||||||
<div v-for="item in getSuggestions">
|
<h4 class="mb-3">
|
||||||
<div class="item-bloc">
|
{{ $t('household_members_editor.household.household_suggested') }}
|
||||||
<household-render-box :household="item.household"></household-render-box>
|
</h4>
|
||||||
<ul class="record_actions">
|
<p>{{ $t('household_members_editor.household.household_suggested_explanation') }}</p>
|
||||||
<li>
|
<div class="accordion" id="householdSuggestions">
|
||||||
<button class="btn btn-sm btn-choose" @click="selectHousehold(item.household)">
|
<div class="accordion-item">
|
||||||
{{ $t('household_members_editor.select_household') }}
|
<h2 class="accordion-header" id="heading_household_suggestions">
|
||||||
</button>
|
<button v-if="!showHouseholdSuggestion"
|
||||||
</li>
|
class="accordion-button collapsed"
|
||||||
</ul>
|
type="button"
|
||||||
|
data-bs-toggle="collapse"
|
||||||
|
aria-expanded="false"
|
||||||
|
@click="toggleHouseholdSuggestion">
|
||||||
|
{{ $tc('household_members_editor.show_household_suggestion', countHouseholdSuggestion) }}
|
||||||
|
</button>
|
||||||
|
<button v-if="showHouseholdSuggestion"
|
||||||
|
class="accordion-button"
|
||||||
|
type="button"
|
||||||
|
data-bs-toggle="collapse"
|
||||||
|
aria-expanded="true"
|
||||||
|
@click="toggleHouseholdSuggestion">
|
||||||
|
{{ $t('household_members_editor.hide_household_suggestion') }}
|
||||||
|
</button>
|
||||||
|
<!-- disabled bootstrap behaviour: data-bs-target="#collapse_household_suggestions" aria-controls="collapse_household_suggestions" -->
|
||||||
|
</h2>
|
||||||
|
<div class="accordion-collapse" id="collapse_household_suggestions"
|
||||||
|
aria-labelledby="heading_household_suggestions" data-bs-parent="#householdSuggestions">
|
||||||
|
<div v-if="showHouseholdSuggestion">
|
||||||
|
<div class="flex-table householdSuggestionList">
|
||||||
|
<div v-for="s in getSuggestions" class="item-bloc">
|
||||||
|
<household-render-box :household="s.household"></household-render-box>
|
||||||
|
<ul class="record_actions">
|
||||||
|
<li>
|
||||||
|
<button class="btn btn-sm btn-choose" @click="selectHousehold(s.household)">
|
||||||
|
{{ $t('household_members_editor.select_household') }}
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<ul class="record_actions">
|
<ul class="record_actions">
|
||||||
<li v-if="hasHousehold">
|
<li v-if="hasHousehold">
|
||||||
<button @click="resetMode" class="btn btn-sm btn-misc">{{ $t('household_members_editor.household.reset_mode')}}</button>
|
<button @click="resetMode" class="btn btn-sm btn-misc">{{ $t('household_members_editor.household.reset_mode')}}</button>
|
||||||
@ -32,7 +65,7 @@
|
|||||||
<button @click="setModeNew" class="btn btn-sm btn-create">{{ $t('household_members_editor.household.create_household') }}</button>
|
<button @click="setModeNew" class="btn btn-sm btn-create">{{ $t('household_members_editor.household.create_household') }}</button>
|
||||||
</li>
|
</li>
|
||||||
<li v-if="isModeLeaveAllowed && !hasHousehold">
|
<li v-if="isModeLeaveAllowed && !hasHousehold">
|
||||||
<button @click="setModeLeave" class="btn btn-sm">
|
<button @click="setModeLeave" class="btn btn-sm btn-misc">
|
||||||
<i class="fa fa-sign-out"></i>
|
<i class="fa fa-sign-out"></i>
|
||||||
{{ $t('household_members_editor.household.leave') }}
|
{{ $t('household_members_editor.household.leave') }}
|
||||||
</button>
|
</button>
|
||||||
@ -94,7 +127,7 @@ export default {
|
|||||||
'getAddressContext',
|
'getAddressContext',
|
||||||
]),
|
]),
|
||||||
...mapState([
|
...mapState([
|
||||||
'household',
|
'household',
|
||||||
'showHouseholdSuggestion',
|
'showHouseholdSuggestion',
|
||||||
'showAddressSuggestion',
|
'showAddressSuggestion',
|
||||||
'mode',
|
'mode',
|
||||||
@ -136,6 +169,9 @@ export default {
|
|||||||
removeHouseholdAddress() {
|
removeHouseholdAddress() {
|
||||||
this.$store.commit('removeHouseholdAddress');
|
this.$store.commit('removeHouseholdAddress');
|
||||||
},
|
},
|
||||||
|
toggleHouseholdSuggestion() {
|
||||||
|
this.$store.commit('toggleHouseholdSuggestion');
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -10,10 +10,12 @@ const appMessages = {
|
|||||||
create_household: "Créer",
|
create_household: "Créer",
|
||||||
search_household: "Chercher un ménage",
|
search_household: "Chercher un ménage",
|
||||||
will_leave_any_household: "Les usagers ne rejoignent pas de ménage",
|
will_leave_any_household: "Les usagers ne rejoignent pas de ménage",
|
||||||
leave: "Quitter",
|
leave: "Quitter sans rejoindre un ménage",
|
||||||
will_leave_any_household_explanation: "Les usagers quitteront leur ménage actuel, et ne seront pas associés à un autre ménage. Par ailleurs, ils seront enregistrés comme étant sans adresse connue.",
|
will_leave_any_household_explanation: "Les usagers quitteront leur ménage actuel, et ne seront pas associés à un autre ménage. Par ailleurs, ils seront enregistrés comme étant sans adresse connue.",
|
||||||
leave_without_household: "Sans nouveau ménage",
|
leave_without_household: "Sans nouveau ménage",
|
||||||
reset_mode: "Modifier la destination",
|
reset_mode: "Modifier la destination",
|
||||||
|
household_suggested: "Suggestions de ménage",
|
||||||
|
household_suggested_explanation: "Les ménages suivants sont connus et pourraient peut-être correspondre à des ménages recherchés."
|
||||||
// remove ?
|
// remove ?
|
||||||
/*
|
/*
|
||||||
where_live_the_household: "À quelle adresse habite ce ménage ?",
|
where_live_the_household: "À quelle adresse habite ce ménage ?",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user