mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-23 18:54:24 +00:00
Merge remote-tracking branch 'origin/master' into ticket-app-master
This commit is contained in:
commit
45e193ff6d
7
.changes/unreleased/Fixed-20250619-170142.yaml
Normal file
7
.changes/unreleased/Fixed-20250619-170142.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
kind: Fixed
|
||||
body: |
|
||||
Allow null and cast as string to setContent method for NewsItem
|
||||
time: 2025-06-19T17:01:42.125730402+02:00
|
||||
custom:
|
||||
Issue: "392"
|
||||
SchemaChange: No schema change
|
@ -46,7 +46,7 @@ stages:
|
||||
|
||||
build:
|
||||
stage: Composer install
|
||||
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
|
||||
image: chill/base-image:8.3-edge
|
||||
before_script:
|
||||
- composer config -g cache-dir "$(pwd)/.cache"
|
||||
script:
|
||||
@ -61,7 +61,7 @@ build:
|
||||
|
||||
code_style:
|
||||
stage: Tests
|
||||
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
|
||||
image: chill/base-image:8.3-edge
|
||||
script:
|
||||
- php-cs-fixer fix --dry-run -v --show-progress=none
|
||||
cache:
|
||||
@ -74,7 +74,7 @@ code_style:
|
||||
|
||||
phpstan_tests:
|
||||
stage: Tests
|
||||
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
|
||||
image: chill/base-image:8.3-edge
|
||||
variables:
|
||||
COMPOSER_MEMORY_LIMIT: 3G
|
||||
before_script:
|
||||
@ -91,7 +91,7 @@ phpstan_tests:
|
||||
|
||||
rector_tests:
|
||||
stage: Tests
|
||||
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
|
||||
image: chill/base-image:8.3-edge
|
||||
before_script:
|
||||
- bin/console cache:clear --env=dev
|
||||
script:
|
||||
@ -132,7 +132,7 @@ lint:
|
||||
|
||||
unit_tests:
|
||||
stage: Tests
|
||||
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
|
||||
image: chill/base-image:8.3-edge
|
||||
variables:
|
||||
COMPOSER_MEMORY_LIMIT: 3G
|
||||
before_script:
|
||||
|
@ -70,9 +70,9 @@ class NewsItem implements TrackCreationInterface, TrackUpdateInterface
|
||||
return $this->content;
|
||||
}
|
||||
|
||||
public function setContent(string $content): void
|
||||
public function setContent(?string $content): void
|
||||
{
|
||||
$this->content = $content;
|
||||
$this->content = (string) $content;
|
||||
}
|
||||
|
||||
public function getStartDate(): ?\DateTimeImmutable
|
||||
|
@ -22,8 +22,8 @@ import { localizeString } from "ChillMainAssets/lib/localizationHelper/localizat
|
||||
export default {
|
||||
name: "UserRenderBoxBadge",
|
||||
methods: {
|
||||
localizeString() {
|
||||
return localizeString;
|
||||
localizeString(label) {
|
||||
return localizeString(label);
|
||||
},
|
||||
},
|
||||
props: ["user"],
|
||||
|
@ -26,7 +26,10 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div v-if="!isAdminLocationValid" class="alert alert-warning to-confirm">
|
||||
<div
|
||||
v-if="!isAdminLocationValid"
|
||||
class="alert alert-warning to-confirm"
|
||||
>
|
||||
{{ $t("admin_location.not_valid") }}
|
||||
</div>
|
||||
</div>
|
||||
@ -66,7 +69,9 @@ export default {
|
||||
locationCategories: response.filter(
|
||||
(o) => o.locationType.id === id,
|
||||
)[0].locationType.title.fr,
|
||||
locations: response.filter((o) => o.locationType.id === id),
|
||||
locations: response.filter(
|
||||
(o) => o.locationType.id === id,
|
||||
),
|
||||
});
|
||||
}
|
||||
this.options = results;
|
||||
@ -76,7 +81,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("updateAdminLocation", value)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
|
@ -29,7 +29,9 @@
|
||||
</span>
|
||||
</span>
|
||||
<span
|
||||
v-else-if="accompanyingCourse.step === 'CONFIRMED_INACTIVE_SHORT'"
|
||||
v-else-if="
|
||||
accompanyingCourse.step === 'CONFIRMED_INACTIVE_SHORT'
|
||||
"
|
||||
class="d-md-block mb-md-3"
|
||||
>
|
||||
<span class="badge bg-chill-yellow text-primary">
|
||||
@ -37,7 +39,9 @@
|
||||
</span>
|
||||
</span>
|
||||
<span
|
||||
v-else-if="accompanyingCourse.step === 'CONFIRMED_INACTIVE_LONG'"
|
||||
v-else-if="
|
||||
accompanyingCourse.step === 'CONFIRMED_INACTIVE_LONG'
|
||||
"
|
||||
class="d-md-block mb-md-3"
|
||||
>
|
||||
<span class="badge bg-chill-pink">
|
||||
@ -48,15 +52,25 @@
|
||||
<span class="d-md-block ms-3 ms-md-0">
|
||||
<i
|
||||
>{{ $t("course.open_at")
|
||||
}}{{ $d(accompanyingCourse.openingDate.datetime, "text") }}</i
|
||||
}}{{
|
||||
$d(accompanyingCourse.openingDate.datetime, "text")
|
||||
}}</i
|
||||
>
|
||||
</span>
|
||||
<span v-if="accompanyingCourse.user" class="d-md-block ms-3 ms-md-0">
|
||||
<span class="item-key">{{ $t("course.referrer") }}:</span>
|
||||
<span
|
||||
v-if="accompanyingCourse.user"
|
||||
class="d-md-block ms-3 ms-md-0"
|
||||
>
|
||||
<span class="item-key">{{ $t("course.referrer") }}:</span
|
||||
>
|
||||
<b>{{ accompanyingCourse.user.text }}</b>
|
||||
<template v-if="accompanyingCourse.user.isAbsent">
|
||||
|
||||
<span class="badge bg-danger rounded-pill" title="Absent">A</span>
|
||||
<span
|
||||
class="badge bg-danger rounded-pill"
|
||||
title="Absent"
|
||||
>A</span
|
||||
>
|
||||
</template>
|
||||
</span>
|
||||
</span>
|
||||
@ -68,11 +82,19 @@
|
||||
<span class="d-md-block">
|
||||
<span class="d-md-block ms-3 ms-md-0">
|
||||
<i
|
||||
>{{ $d(accompanyingCourse.openingDate.datetime, "text") }} -
|
||||
{{ $d(accompanyingCourse.closingDate.datetime, "text") }}</i
|
||||
>{{
|
||||
$d(accompanyingCourse.openingDate.datetime, "text")
|
||||
}}
|
||||
-
|
||||
{{
|
||||
$d(accompanyingCourse.closingDate.datetime, "text")
|
||||
}}</i
|
||||
>
|
||||
</span>
|
||||
<span v-if="accompanyingCourse.user" class="d-md-block ms-3 ms-md-0">
|
||||
<span
|
||||
v-if="accompanyingCourse.user"
|
||||
class="d-md-block ms-3 ms-md-0"
|
||||
>
|
||||
<span class="item-key">{{ $t("course.referrer") }}:</span>
|
||||
<b>{{ accompanyingCourse.user.text }}</b>
|
||||
</span>
|
||||
@ -80,7 +102,9 @@
|
||||
</span>
|
||||
</teleport>
|
||||
|
||||
<teleport to="#header-accompanying_course-name #persons-associated-shortlist">
|
||||
<teleport
|
||||
to="#header-accompanying_course-name #persons-associated-shortlist"
|
||||
>
|
||||
<persons-associated
|
||||
:accompanyingCourse="accompanyingCourse"
|
||||
:shortlist="true"
|
||||
@ -95,7 +119,9 @@
|
||||
/>
|
||||
</teleport>
|
||||
|
||||
<teleport to="#header-accompanying_course-details #banner-persons-associated">
|
||||
<teleport
|
||||
to="#header-accompanying_course-details #banner-persons-associated"
|
||||
>
|
||||
<persons-associated
|
||||
:accompanying-course="accompanyingCourse"
|
||||
:shortlist="false"
|
||||
|
@ -28,7 +28,11 @@
|
||||
<a v-if="pk !== -1" :href="householdLink(pk)">
|
||||
<i
|
||||
class="fa fa-home fa-fw text-light"
|
||||
:title="$t('persons_associated.show_household_number', { id: pk })"
|
||||
:title="
|
||||
$t('persons_associated.show_household_number', {
|
||||
id: pk,
|
||||
})
|
||||
"
|
||||
></i>
|
||||
</a>
|
||||
<span v-for="person in persons" class="me-1" :key="person.id">
|
||||
@ -93,7 +97,9 @@ export default {
|
||||
if (!households.has(person.current_household_id || -1)) {
|
||||
households.set(person.current_household_id || -1, []);
|
||||
}
|
||||
households.get(person.current_household_id || -1).push(person);
|
||||
households
|
||||
.get(person.current_household_id || -1)
|
||||
.push(person);
|
||||
});
|
||||
|
||||
return households;
|
||||
|
@ -2,7 +2,9 @@
|
||||
<div class="text-md-end">
|
||||
<span class="d-block d-sm-inline-block mb-md-2">
|
||||
<a @click="toggleIntensity" class="flag-toggle">
|
||||
<span :class="{ on: !isRegular }">{{ $t("course.occasional") }}</span>
|
||||
<span :class="{ on: !isRegular }">{{
|
||||
$t("course.occasional")
|
||||
}}</span>
|
||||
<i
|
||||
class="fa"
|
||||
:class="{
|
||||
@ -10,14 +12,19 @@
|
||||
'fa-toggle-on fa-flip-horizontal': !isRegular,
|
||||
}"
|
||||
/>
|
||||
<span :class="{ on: isRegular }">{{ $t("course.regular") }}</span>
|
||||
<span :class="{ on: isRegular }">{{
|
||||
$t("course.regular")
|
||||
}}</span>
|
||||
</a>
|
||||
</span>
|
||||
|
||||
<span class="d-block d-sm-inline-block ms-sm-3 ms-md-0">
|
||||
<button
|
||||
class="badge rounded-pill me-1"
|
||||
:class="{ 'bg-danger': isEmergency, 'bg-secondary': !isEmergency }"
|
||||
:class="{
|
||||
'bg-danger': isEmergency,
|
||||
'bg-secondary': !isEmergency,
|
||||
}"
|
||||
@click="toggleEmergency"
|
||||
>
|
||||
{{ $t("course.emergency") }}
|
||||
@ -73,7 +80,10 @@ export default {
|
||||
value = "occasional";
|
||||
}
|
||||
this.$store.dispatch("toggleIntensity", value).catch(({ name }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
this.$toast.open({
|
||||
message: this.$t(
|
||||
"Only the referrer can toggle the intensity of an accompanying course",
|
||||
@ -88,7 +98,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("toggleEmergency", !this.isEmergency)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -100,7 +113,10 @@ export default {
|
||||
toggleConfidential() {
|
||||
this.$store.dispatch("toggleConfidential").catch(({ name }) => {
|
||||
console.log(name);
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
this.$toast.open({
|
||||
message: this.$t(
|
||||
"Only the referrer can toggle the confidentiality of an accompanying course",
|
||||
|
@ -21,7 +21,9 @@
|
||||
</h2>
|
||||
</template>
|
||||
<template #body>
|
||||
<address-render-box :address="person.current_household_address" />
|
||||
<address-render-box
|
||||
:address="person.current_household_address"
|
||||
/>
|
||||
<p>{{ $t("courselocation.sure_description") }}</p>
|
||||
</template>
|
||||
<template #footer>
|
||||
@ -70,7 +72,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("updateLocation", payload)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
|
@ -96,14 +96,21 @@ export default {
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
this.$toast.open({
|
||||
message: violation,
|
||||
}),
|
||||
);
|
||||
} else {
|
||||
this.$toast.open({ message: "An error occurred" });
|
||||
this.$toast.open({
|
||||
message: "An error occurred",
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if (this.$store.state.accompanyingCourse.pinnedComment !== null) {
|
||||
if (
|
||||
this.$store.state.accompanyingCourse
|
||||
.pinnedComment !== null
|
||||
) {
|
||||
this.$store
|
||||
.dispatch("removePinnedComment", {
|
||||
id: this.pinnedComment.id,
|
||||
@ -118,10 +125,14 @@ export default {
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
this.$toast.open({
|
||||
message: violation,
|
||||
}),
|
||||
);
|
||||
} else {
|
||||
this.$toast.open({ message: "An error occurred" });
|
||||
this.$toast.open({
|
||||
message: "An error occurred",
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -142,7 +153,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("removePinnedComment", { id: this.pinnedComment.id })
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
|
@ -34,10 +34,17 @@
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
<p v-html="$t('confirm.text_active', [$t('course.step.active')])" />
|
||||
<p
|
||||
v-html="
|
||||
$t('confirm.text_active', [$t('course.step.active')])
|
||||
"
|
||||
/>
|
||||
<ul class="record_actions">
|
||||
<li>
|
||||
<button class="btn btn-save" @click="modal.showModal = true">
|
||||
<button
|
||||
class="btn btn-save"
|
||||
@click="modal.showModal = true"
|
||||
>
|
||||
{{ $t("confirm.ok") }}
|
||||
</button>
|
||||
</li>
|
||||
@ -198,7 +205,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("confirmAccompanyingCourse")
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -211,7 +221,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("updateReferrer", this.usersSuggestedFilteredByJob[0])
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
|
@ -23,7 +23,10 @@
|
||||
<div class="item-bloc">
|
||||
<address-render-box :address="accompanyingCourse.location" />
|
||||
|
||||
<div v-if="isPersonLocation" class="alert alert-secondary separator">
|
||||
<div
|
||||
v-if="isPersonLocation"
|
||||
class="alert alert-secondary separator"
|
||||
>
|
||||
<label class="col-form-label">
|
||||
{{
|
||||
$t("courselocation.person_locator", [
|
||||
@ -33,9 +36,16 @@
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div v-if="isTemporaryAddress" class="alert alert-warning separator">
|
||||
<div
|
||||
v-if="isTemporaryAddress"
|
||||
class="alert alert-warning separator"
|
||||
>
|
||||
<p>
|
||||
{{ $t("courselocation.temporary_address_must_be_changed") }}
|
||||
{{
|
||||
$t(
|
||||
"courselocation.temporary_address_must_be_changed",
|
||||
)
|
||||
}}
|
||||
<i class="fa fa-fw fa-map-marker" />
|
||||
</p>
|
||||
</div>
|
||||
@ -124,7 +134,9 @@ export default {
|
||||
key() {
|
||||
return this.context.edit
|
||||
? "address_" + this.context.addressId
|
||||
: this.accompanyingCourse.type + "_" + this.accompanyingCourse.id;
|
||||
: this.accompanyingCourse.type +
|
||||
"_" +
|
||||
this.accompanyingCourse.id;
|
||||
},
|
||||
isTemporaryAddress() {
|
||||
return this.accompanyingCourse.locationStatus === "address";
|
||||
@ -186,7 +198,8 @@ export default {
|
||||
};
|
||||
if (this.accompanyingCourse.location) {
|
||||
context["edit"] = true;
|
||||
context["addressId"] = this.accompanyingCourse.location.address_id;
|
||||
context["addressId"] =
|
||||
this.accompanyingCourse.location.address_id;
|
||||
}
|
||||
this.$store.commit("setAddressContext", context);
|
||||
},
|
||||
@ -199,7 +212,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("updateLocation", payload)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
|
@ -69,7 +69,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("updateOrigin", value)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
|
@ -27,7 +27,11 @@
|
||||
</button>
|
||||
</div>
|
||||
<p class="mb-3">
|
||||
{{ $t("persons_associated.person_without_household_warning") }}
|
||||
{{
|
||||
$t(
|
||||
"persons_associated.person_without_household_warning",
|
||||
)
|
||||
}}
|
||||
</p>
|
||||
<div
|
||||
class="form-check"
|
||||
@ -46,8 +50,16 @@
|
||||
<person-text :person="p.person" />
|
||||
</label>
|
||||
</div>
|
||||
<input type="hidden" name="expand_suggestions" value="true" />
|
||||
<input type="hidden" name="returnPath" :value="getReturnPath" />
|
||||
<input
|
||||
type="hidden"
|
||||
name="expand_suggestions"
|
||||
value="true"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
name="returnPath"
|
||||
:value="getReturnPath"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
name="accompanying_period_id"
|
||||
@ -97,7 +109,10 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div v-if="!isParticipationValid" class="alert alert-warning to-confirm">
|
||||
<div
|
||||
v-if="!isParticipationValid"
|
||||
class="alert alert-warning to-confirm"
|
||||
>
|
||||
{{ $t("persons_associated.participation_not_valid") }}
|
||||
</div>
|
||||
</div>
|
||||
@ -135,7 +150,9 @@ export default {
|
||||
suggestedPersons: (state) =>
|
||||
[
|
||||
state.accompanyingCourse.requestor,
|
||||
...state.accompanyingCourse.resources.map((r) => r.resource),
|
||||
...state.accompanyingCourse.resources.map(
|
||||
(r) => r.resource,
|
||||
),
|
||||
]
|
||||
.filter((e) => e !== null)
|
||||
.filter((e) => e.type === "person")
|
||||
@ -171,7 +188,9 @@ export default {
|
||||
},
|
||||
getReturnPath() {
|
||||
return (
|
||||
window.location.pathname + window.location.search + window.location.hash
|
||||
window.location.pathname +
|
||||
window.location.search +
|
||||
window.location.hash
|
||||
);
|
||||
},
|
||||
},
|
||||
@ -180,7 +199,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("removeParticipation", item)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -193,7 +215,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("closeParticipation", item)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -207,7 +232,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("addParticipation", item)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -221,9 +249,15 @@ export default {
|
||||
},
|
||||
addSuggestedPerson(person) {
|
||||
this.$store
|
||||
.dispatch("addParticipation", { result: person, type: "person" })
|
||||
.dispatch("addParticipation", {
|
||||
result: person,
|
||||
type: "person",
|
||||
})
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
|
@ -32,7 +32,8 @@
|
||||
:href="getCurrentHouseholdUrl"
|
||||
:title="
|
||||
$t('persons_associated.show_household_number', {
|
||||
id: participation.person.current_household_id,
|
||||
id: participation.person
|
||||
.current_household_id,
|
||||
})
|
||||
"
|
||||
>
|
||||
|
@ -18,14 +18,19 @@
|
||||
<div class="modal-body">
|
||||
<p
|
||||
v-html="
|
||||
$t('confirm.sure_referrer', { referrer: this.value.text })
|
||||
$t('confirm.sure_referrer', {
|
||||
referrer: this.value.text,
|
||||
})
|
||||
"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template #footer>
|
||||
<button class="btn btn-save" @click.prevent="this.confirmReferrer">
|
||||
<button
|
||||
class="btn btn-save"
|
||||
@click.prevent="this.confirmReferrer"
|
||||
>
|
||||
{{ $t("confirm.ok_referrer") }}
|
||||
</button>
|
||||
</template>
|
||||
@ -144,7 +149,8 @@ export default {
|
||||
if (
|
||||
this.$store.state.accompanyingCourse.user !== null &&
|
||||
users.find(
|
||||
(u) => this.$store.state.accompanyingCourse.user.id === u.id,
|
||||
(u) =>
|
||||
this.$store.state.accompanyingCourse.user.id === u.id,
|
||||
) === undefined
|
||||
) {
|
||||
users.push(this.$store.state.accompanyingCourse.user);
|
||||
@ -159,7 +165,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("updateJob", value)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -205,7 +214,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("updateReferrer", this.value)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -220,7 +232,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("updateReferrer", null)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
|
@ -2,12 +2,21 @@
|
||||
<div class="vue-component">
|
||||
<h2><a id="section-50" />{{ $t("requestor.title") }}</h2>
|
||||
|
||||
<div v-if="accompanyingCourse.requestor && isAnonymous" class="flex-table">
|
||||
<div
|
||||
v-if="accompanyingCourse.requestor && isAnonymous"
|
||||
class="flex-table"
|
||||
>
|
||||
<label>
|
||||
<input type="checkbox" v-model="requestorIsAnonymous" class="me-2" />
|
||||
<input
|
||||
type="checkbox"
|
||||
v-model="requestorIsAnonymous"
|
||||
class="me-2"
|
||||
/>
|
||||
{{ $t("requestor.is_anonymous") }}
|
||||
</label>
|
||||
<confidential v-if="accompanyingCourse.requestor.type === 'thirdparty'">
|
||||
<confidential
|
||||
v-if="accompanyingCourse.requestor.type === 'thirdparty'"
|
||||
>
|
||||
<template #confidential-content>
|
||||
<third-party-render-box
|
||||
:thirdparty="accompanyingCourse.requestor"
|
||||
@ -25,14 +34,18 @@
|
||||
<ul class="record_actions">
|
||||
<li>
|
||||
<on-the-fly
|
||||
:type="accompanyingCourse.requestor.type"
|
||||
:type="
|
||||
accompanyingCourse.requestor.type
|
||||
"
|
||||
:id="accompanyingCourse.requestor.id"
|
||||
action="show"
|
||||
/>
|
||||
</li>
|
||||
<li>
|
||||
<on-the-fly
|
||||
:type="accompanyingCourse.requestor.type"
|
||||
:type="
|
||||
accompanyingCourse.requestor.type
|
||||
"
|
||||
:id="accompanyingCourse.requestor.id"
|
||||
action="edit"
|
||||
@save-form-on-the-fly="saveFormOnTheFly"
|
||||
@ -45,7 +58,9 @@
|
||||
</template>
|
||||
</confidential>
|
||||
|
||||
<confidential v-else-if="accompanyingCourse.requestor.type === 'person'">
|
||||
<confidential
|
||||
v-else-if="accompanyingCourse.requestor.type === 'person'"
|
||||
>
|
||||
<template #confidential-content>
|
||||
<person-render-box
|
||||
render="bloc"
|
||||
@ -66,14 +81,18 @@
|
||||
<ul class="record_actions">
|
||||
<li>
|
||||
<on-the-fly
|
||||
:type="accompanyingCourse.requestor.type"
|
||||
:type="
|
||||
accompanyingCourse.requestor.type
|
||||
"
|
||||
:id="accompanyingCourse.requestor.id"
|
||||
action="show"
|
||||
/>
|
||||
</li>
|
||||
<li>
|
||||
<on-the-fly
|
||||
:type="accompanyingCourse.requestor.type"
|
||||
:type="
|
||||
accompanyingCourse.requestor.type
|
||||
"
|
||||
:id="accompanyingCourse.requestor.id"
|
||||
action="edit"
|
||||
@save-form-on-the-fly="saveFormOnTheFly"
|
||||
@ -104,7 +123,11 @@
|
||||
class="flex-table"
|
||||
>
|
||||
<label>
|
||||
<input type="checkbox" v-model="requestorIsAnonymous" class="me-2" />
|
||||
<input
|
||||
type="checkbox"
|
||||
v-model="requestorIsAnonymous"
|
||||
class="me-2"
|
||||
/>
|
||||
{{ $t("requestor.is_anonymous") }}
|
||||
</label>
|
||||
|
||||
@ -201,7 +224,8 @@
|
||||
|
||||
<div
|
||||
v-if="
|
||||
accompanyingCourse.requestor === null && suggestedEntities.length > 0
|
||||
accompanyingCourse.requestor === null &&
|
||||
suggestedEntities.length > 0
|
||||
"
|
||||
>
|
||||
<ul class="list-suggest add-items inline">
|
||||
@ -277,7 +301,9 @@ export default {
|
||||
...state.accompanyingCourse.participations
|
||||
.filter((p) => p.endDate === null)
|
||||
.map((p) => p.person),
|
||||
...state.accompanyingCourse.resources.map((r) => r.resource),
|
||||
...state.accompanyingCourse.resources.map(
|
||||
(r) => r.resource,
|
||||
),
|
||||
]
|
||||
.filter((e) => e !== null)
|
||||
// filter for same entity appearing twice
|
||||
@ -312,8 +338,13 @@ export default {
|
||||
methods: {
|
||||
removeRequestor() {
|
||||
//console.log('@@ CLICK remove requestor: item');
|
||||
this.$store.dispatch("removeRequestor").catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
this.$store
|
||||
.dispatch("removeRequestor")
|
||||
.catch(({ name, violations }) => {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -327,7 +358,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("addRequestor", selected.shift())
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -418,7 +452,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("addRequestor", { result: e, type: e.type })
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
|
@ -121,7 +121,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("removeResource", item)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -136,7 +139,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("addResource", item)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -152,7 +158,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("addResource", { result: e, type: e.type })
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
|
@ -14,7 +14,9 @@
|
||||
>
|
||||
<template #header>
|
||||
<h3 class="modal-title">
|
||||
{{ $t("write_comment_about", { r: resource.resource.text }) }}
|
||||
{{
|
||||
$t("write_comment_about", { r: resource.resource.text })
|
||||
}}
|
||||
</h3>
|
||||
</template>
|
||||
<template #body>
|
||||
|
@ -36,8 +36,13 @@ export default {
|
||||
return this.$store.state.accompanyingCourse.scopes;
|
||||
},
|
||||
set: function (v) {
|
||||
this.$store.dispatch("setScopes", v).catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
this.$store
|
||||
.dispatch("setScopes", v)
|
||||
.catch(({ name, violations }) => {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
|
@ -61,7 +61,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("updateSocialIssues", this.transformValue(value))
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -73,7 +76,9 @@ export default {
|
||||
transformValue(updated) {
|
||||
let stored = this.value;
|
||||
let added = updated.filter((x) => stored.indexOf(x) === -1).shift();
|
||||
let removed = stored.filter((x) => updated.indexOf(x) === -1).shift();
|
||||
let removed = stored
|
||||
.filter((x) => updated.indexOf(x) === -1)
|
||||
.shift();
|
||||
let method = typeof removed === "undefined" ? "POST" : "DELETE";
|
||||
let changed = typeof removed === "undefined" ? added : removed;
|
||||
let body = { type: "social_issue", id: changed.id };
|
||||
|
@ -33,7 +33,11 @@ export default {
|
||||
computed: {
|
||||
...mapState({
|
||||
startDate: (state) =>
|
||||
dateToISO(ISOToDatetime(state.accompanyingCourse.openingDate.datetime)),
|
||||
dateToISO(
|
||||
ISOToDatetime(
|
||||
state.accompanyingCourse.openingDate.datetime,
|
||||
),
|
||||
),
|
||||
}),
|
||||
startDateInput: {
|
||||
get() {
|
||||
@ -45,7 +49,12 @@ export default {
|
||||
setTimeout(() => {
|
||||
console.log("timeout finished");
|
||||
if (this.lastRecordedDate === value) {
|
||||
console.log("last recorded", this.lastRecordedDate, "value", value);
|
||||
console.log(
|
||||
"last recorded",
|
||||
this.lastRecordedDate,
|
||||
"value",
|
||||
value,
|
||||
);
|
||||
this.$store
|
||||
.dispatch("updateStartDate", value)
|
||||
.catch(({ name, violations }) => {
|
||||
@ -54,10 +63,14 @@ export default {
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
this.$toast.open({
|
||||
message: violation,
|
||||
}),
|
||||
);
|
||||
} else {
|
||||
this.$toast.open({ message: "An error occurred" });
|
||||
this.$toast.open({
|
||||
message: "An error occurred",
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -6,7 +6,12 @@
|
||||
<i class="fa fa-fw fa-square" />
|
||||
<span>{{ $t("nav.top") }}</span>
|
||||
</a>
|
||||
<item v-for="item of items" :key="item.key" :item="item" :step="step" />
|
||||
<item
|
||||
v-for="item of items"
|
||||
:key="item.key"
|
||||
:item="item"
|
||||
:step="step"
|
||||
/>
|
||||
</nav>
|
||||
</div>
|
||||
</teleport>
|
||||
@ -23,7 +28,9 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
header: document.querySelector("header nav.navbar"),
|
||||
bannerName: document.querySelector("#header-accompanying_course-name"),
|
||||
bannerName: document.querySelector(
|
||||
"#header-accompanying_course-name",
|
||||
),
|
||||
bannerDetails: document.querySelector(
|
||||
"#header-accompanying_course-details",
|
||||
),
|
||||
@ -132,11 +139,16 @@ export default {
|
||||
this.items.forEach((item, i) => {
|
||||
let next = this.items[i + 1] ? this.items[i + 1].pos : "100000";
|
||||
item.active =
|
||||
(window.scrollY >= item.pos) & (window.scrollY < next) ? true : false;
|
||||
(window.scrollY >= item.pos) & (window.scrollY < next)
|
||||
? true
|
||||
: false;
|
||||
}, this);
|
||||
|
||||
// last item never switch active because scroll reach bottom of page
|
||||
if (document.body.scrollHeight == window.scrollY + window.innerHeight) {
|
||||
if (
|
||||
document.body.scrollHeight ==
|
||||
window.scrollY + window.innerHeight
|
||||
) {
|
||||
this.items[this.items.length - 1].active = true;
|
||||
this.items[this.items.length - 2].active = false;
|
||||
} else {
|
||||
|
@ -3,7 +3,11 @@
|
||||
<i class="fa fa-fw fa-square" />
|
||||
<span>{{ item.key }}</span>
|
||||
</a>
|
||||
<a v-else-if="step === 'DRAFT'" :href="item.id" :class="{ active: isActive }">
|
||||
<a
|
||||
v-else-if="step === 'DRAFT'"
|
||||
:href="item.id"
|
||||
:class="{ active: isActive }"
|
||||
>
|
||||
<i class="fa fa-fw fa-square" />
|
||||
<span>{{ item.key }}</span>
|
||||
</a>
|
||||
|
@ -27,61 +27,67 @@
|
||||
</template>
|
||||
<template #body>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus
|
||||
luctus facilisis suscipit. Cras pulvinar, purus sagittis pulvinar
|
||||
porta, enim ex posuere lacus, in pulvinar lectus magna in odio.
|
||||
Nullam iaculis congue lorem ac suscipit. Proin ut rutrum augue. Ut
|
||||
vehicula risus nec hendrerit ullamcorper. Ut volutpat eu mi eget
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
Phasellus luctus facilisis suscipit. Cras pulvinar,
|
||||
purus sagittis pulvinar porta, enim ex posuere lacus, in
|
||||
pulvinar lectus magna in odio. Nullam iaculis congue
|
||||
lorem ac suscipit. Proin ut rutrum augue. Ut vehicula
|
||||
risus nec hendrerit ullamcorper. Ut volutpat eu mi eget
|
||||
viverra. Morbi dictum placerat suscipit.
|
||||
</p>
|
||||
<p>
|
||||
Quisque non erat tincidunt, lacinia justo ut, pulvinar nisl. Nunc id
|
||||
enim ut sem pretium interdum consectetur eu quam. Vestibulum ante
|
||||
ipsum primis in faucibus orci luctus et ultrices posuere cubilia
|
||||
curae; Etiam posuere erat eget augue finibus luctus. Maecenas
|
||||
auctor, tortor non luctus ultrices, neque neque porttitor ex, nec
|
||||
lacinia lorem ligula et elit. Sed tempor nulla vitae lorem
|
||||
sollicitudin dictum. Vestibulum nec arcu eget elit pulvinar pretium.
|
||||
Phasellus facilisis metus sed diam luctus, feugiat scelerisque velit
|
||||
dignissim.
|
||||
Quisque non erat tincidunt, lacinia justo ut, pulvinar
|
||||
nisl. Nunc id enim ut sem pretium interdum consectetur
|
||||
eu quam. Vestibulum ante ipsum primis in faucibus orci
|
||||
luctus et ultrices posuere cubilia curae; Etiam posuere
|
||||
erat eget augue finibus luctus. Maecenas auctor, tortor
|
||||
non luctus ultrices, neque neque porttitor ex, nec
|
||||
lacinia lorem ligula et elit. Sed tempor nulla vitae
|
||||
lorem sollicitudin dictum. Vestibulum nec arcu eget elit
|
||||
pulvinar pretium. Phasellus facilisis metus sed diam
|
||||
luctus, feugiat scelerisque velit dignissim.
|
||||
</p>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus
|
||||
luctus facilisis suscipit. Cras pulvinar, purus sagittis pulvinar
|
||||
porta, enim ex posuere lacus, in pulvinar lectus magna in odio.
|
||||
Nullam iaculis congue lorem ac suscipit. Proin ut rutrum augue. Ut
|
||||
vehicula risus nec hendrerit ullamcorper. Ut volutpat eu mi eget
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
Phasellus luctus facilisis suscipit. Cras pulvinar,
|
||||
purus sagittis pulvinar porta, enim ex posuere lacus, in
|
||||
pulvinar lectus magna in odio. Nullam iaculis congue
|
||||
lorem ac suscipit. Proin ut rutrum augue. Ut vehicula
|
||||
risus nec hendrerit ullamcorper. Ut volutpat eu mi eget
|
||||
viverra. Morbi dictum placerat suscipit.
|
||||
</p>
|
||||
<p>
|
||||
Quisque non erat tincidunt, lacinia justo ut, pulvinar nisl. Nunc id
|
||||
enim ut sem pretium interdum consectetur eu quam. Vestibulum ante
|
||||
ipsum primis in faucibus orci luctus et ultrices posuere cubilia
|
||||
curae; Etiam posuere erat eget augue finibus luctus. Maecenas
|
||||
auctor, tortor non luctus ultrices, neque neque porttitor ex, nec
|
||||
lacinia lorem ligula et elit. Sed tempor nulla vitae lorem
|
||||
sollicitudin dictum. Vestibulum nec arcu eget elit pulvinar pretium.
|
||||
Phasellus facilisis metus sed diam luctus, feugiat scelerisque velit
|
||||
dignissim.
|
||||
Quisque non erat tincidunt, lacinia justo ut, pulvinar
|
||||
nisl. Nunc id enim ut sem pretium interdum consectetur
|
||||
eu quam. Vestibulum ante ipsum primis in faucibus orci
|
||||
luctus et ultrices posuere cubilia curae; Etiam posuere
|
||||
erat eget augue finibus luctus. Maecenas auctor, tortor
|
||||
non luctus ultrices, neque neque porttitor ex, nec
|
||||
lacinia lorem ligula et elit. Sed tempor nulla vitae
|
||||
lorem sollicitudin dictum. Vestibulum nec arcu eget elit
|
||||
pulvinar pretium. Phasellus facilisis metus sed diam
|
||||
luctus, feugiat scelerisque velit dignissim.
|
||||
</p>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus
|
||||
luctus facilisis suscipit. Cras pulvinar, purus sagittis pulvinar
|
||||
porta, enim ex posuere lacus, in pulvinar lectus magna in odio.
|
||||
Nullam iaculis congue lorem ac suscipit. Proin ut rutrum augue. Ut
|
||||
vehicula risus nec hendrerit ullamcorper. Ut volutpat eu mi eget
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
Phasellus luctus facilisis suscipit. Cras pulvinar,
|
||||
purus sagittis pulvinar porta, enim ex posuere lacus, in
|
||||
pulvinar lectus magna in odio. Nullam iaculis congue
|
||||
lorem ac suscipit. Proin ut rutrum augue. Ut vehicula
|
||||
risus nec hendrerit ullamcorper. Ut volutpat eu mi eget
|
||||
viverra. Morbi dictum placerat suscipit.
|
||||
</p>
|
||||
<p>
|
||||
Quisque non erat tincidunt, lacinia justo ut, pulvinar nisl. Nunc id
|
||||
enim ut sem pretium interdum consectetur eu quam. Vestibulum ante
|
||||
ipsum primis in faucibus orci luctus et ultrices posuere cubilia
|
||||
curae; Etiam posuere erat eget augue finibus luctus. Maecenas
|
||||
auctor, tortor non luctus ultrices, neque neque porttitor ex, nec
|
||||
lacinia lorem ligula et elit. Sed tempor nulla vitae lorem
|
||||
sollicitudin dictum. Vestibulum nec arcu eget elit pulvinar pretium.
|
||||
Phasellus facilisis metus sed diam luctus, feugiat scelerisque velit
|
||||
dignissim.
|
||||
Quisque non erat tincidunt, lacinia justo ut, pulvinar
|
||||
nisl. Nunc id enim ut sem pretium interdum consectetur
|
||||
eu quam. Vestibulum ante ipsum primis in faucibus orci
|
||||
luctus et ultrices posuere cubilia curae; Etiam posuere
|
||||
erat eget augue finibus luctus. Maecenas auctor, tortor
|
||||
non luctus ultrices, neque neque porttitor ex, nec
|
||||
lacinia lorem ligula et elit. Sed tempor nulla vitae
|
||||
lorem sollicitudin dictum. Vestibulum nec arcu eget elit
|
||||
pulvinar pretium. Phasellus facilisis metus sed diam
|
||||
luctus, feugiat scelerisque velit dignissim.
|
||||
</p>
|
||||
</template>
|
||||
<template #footer>
|
||||
@ -111,7 +117,10 @@
|
||||
<p>modal 2</p>
|
||||
</template>
|
||||
<template #footer>
|
||||
<button class="btn btn-create" @click="modal2.showModal = false">
|
||||
<button
|
||||
class="btn btn-create"
|
||||
@click="modal2.showModal = false"
|
||||
>
|
||||
{{ $t("action.save") }}
|
||||
</button>
|
||||
</template>
|
||||
|
@ -10,7 +10,9 @@
|
||||
:value="si.id"
|
||||
name="socialIssue"
|
||||
v-model="socialIssuePicked"
|
||||
/><span class="badge bg-chill-l-gray text-dark">{{ si.text }}</span>
|
||||
/><span class="badge bg-chill-l-gray text-dark">{{
|
||||
si.text
|
||||
}}</span>
|
||||
</div>
|
||||
<div class="my-3">
|
||||
<div class="col-11">
|
||||
@ -67,7 +69,10 @@
|
||||
class="form-check-input"
|
||||
:id="'person_check' + p.id"
|
||||
/>
|
||||
<label class="form-check-label" :for="'person_check' + p.id">
|
||||
<label
|
||||
class="form-check-label"
|
||||
:for="'person_check' + p.id"
|
||||
>
|
||||
<person-text :person="p" />
|
||||
</label>
|
||||
</div>
|
||||
@ -80,9 +85,15 @@
|
||||
</div> -->
|
||||
<div class="row">
|
||||
<div v-if="hasSocialActionPicked" id="start_date" class="mb-3 row">
|
||||
<label class="col-form-label col-sm-4">{{ $t("startDate") }}</label>
|
||||
<label class="col-form-label col-sm-4">{{
|
||||
$t("startDate")
|
||||
}}</label>
|
||||
<div class="col-sm-8">
|
||||
<input class="form-control" type="date" v-model="startDate" />
|
||||
<input
|
||||
class="form-control"
|
||||
type="date"
|
||||
v-model="startDate"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -90,7 +101,9 @@
|
||||
<p><label>{{ $t('endDate') }}</label> <input type="date" v-model="endDate" /></p>
|
||||
</div> -->
|
||||
<div v-if="hasSocialActionPicked" id="end_date" class="mb-3 row">
|
||||
<label class="col-form-label col-sm-4">{{ $t("endDate") }}</label>
|
||||
<label class="col-form-label col-sm-4">{{
|
||||
$t("endDate")
|
||||
}}</label>
|
||||
<div class="col-sm-8">
|
||||
<input class="form-control" type="date" v-model="endDate" />
|
||||
</div>
|
||||
@ -122,7 +135,11 @@
|
||||
>
|
||||
{{ $t("action.save") }}
|
||||
</button>
|
||||
<button class="btn btn-save" v-show="isPostingWork" disabled>
|
||||
<button
|
||||
class="btn btn-save"
|
||||
v-show="isPostingWork"
|
||||
disabled
|
||||
>
|
||||
{{ $t("action.save") }}
|
||||
</button>
|
||||
</li>
|
||||
@ -149,7 +166,8 @@ const i18n = {
|
||||
pick_social_issue_linked_with_action:
|
||||
"Indiquez la problématique sociale liée à l'action d'accompagnement",
|
||||
persons_involved: "Usagers concernés",
|
||||
choose_other_social_issue: "Veuillez choisir un autre problématique",
|
||||
choose_other_social_issue:
|
||||
"Veuillez choisir un autre problématique",
|
||||
},
|
||||
},
|
||||
};
|
||||
@ -163,7 +181,10 @@ export default {
|
||||
methods: {
|
||||
submit() {
|
||||
this.$store.dispatch("submit").catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
|
@ -68,15 +68,23 @@
|
||||
<!-- results which **are** attached to an objective -->
|
||||
<div v-for="g in goalsPicked" :key="g.goal.id">
|
||||
<div class="item-title" @click="removeGoal(g)">
|
||||
<span class="removable">{{ localizeString(g.goal.title) }}</span>
|
||||
<span class="removable">{{
|
||||
localizeString(g.goal.title)
|
||||
}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<add-result :goal="g.goal" destination="goal"></add-result>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion" id="expandedSuggestions">
|
||||
<div v-if="availableForCheckGoal.length > 0" class="accordion-item">
|
||||
<h2 class="accordion-header" id="heading_expanded_suggestions">
|
||||
<div
|
||||
v-if="availableForCheckGoal.length > 0"
|
||||
class="accordion-item"
|
||||
>
|
||||
<h2
|
||||
class="accordion-header"
|
||||
id="heading_expanded_suggestions"
|
||||
>
|
||||
<button
|
||||
v-if="isExpanded"
|
||||
class="accordion-button"
|
||||
@ -117,7 +125,10 @@
|
||||
</ul>
|
||||
</template>
|
||||
</div>
|
||||
<p v-if="goalsPicked.length === 0" class="chill-no-data-statement">
|
||||
<p
|
||||
v-if="goalsPicked.length === 0"
|
||||
class="chill-no-data-statement"
|
||||
>
|
||||
Aucun objectif associé
|
||||
</p>
|
||||
</div>
|
||||
@ -133,7 +144,8 @@
|
||||
<div aria="hidden" class="title">
|
||||
<div>
|
||||
<h3>
|
||||
{{ $t("Evaluations") }} - {{ $t("Forms") }} - {{ $t("Post") }}
|
||||
{{ $t("Evaluations") }} - {{ $t("Forms") }} -
|
||||
{{ $t("Post") }}
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
@ -161,7 +173,10 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<ul class="record_actions" v-if="evaluationsForAction.length > 0">
|
||||
<ul
|
||||
class="record_actions"
|
||||
v-if="evaluationsForAction.length > 0"
|
||||
>
|
||||
<li>
|
||||
<button
|
||||
:title="$t('add_an_evaluation')"
|
||||
@ -193,7 +208,10 @@
|
||||
class="me-2 form-check-input"
|
||||
:id="'person_check' + p.id"
|
||||
/>
|
||||
<label :for="'person_check' + p.id" class="form-check-label">
|
||||
<label
|
||||
:for="'person_check' + p.id"
|
||||
class="form-check-label"
|
||||
>
|
||||
<person-text :person="p"></person-text>
|
||||
</label>
|
||||
</div>
|
||||
@ -211,7 +229,10 @@
|
||||
class="me-2 form-check-input"
|
||||
:id="'person_check' + p.id"
|
||||
/>
|
||||
<label :for="'person_check' + p.id" class="form-check-label">
|
||||
<label
|
||||
:for="'person_check' + p.id"
|
||||
class="form-check-label"
|
||||
>
|
||||
<person-text :person="p"></person-text>
|
||||
</label>
|
||||
</div>
|
||||
@ -274,7 +295,9 @@
|
||||
<add-persons
|
||||
ref="handlingThirdPartyPicker"
|
||||
v-bind:key="handlingThirdPartyPicker.key"
|
||||
v-bind:buttonTitle="$t('precise_handling_thirdparty')"
|
||||
v-bind:buttonTitle="
|
||||
$t('precise_handling_thirdparty')
|
||||
"
|
||||
v-bind:modalTitle="$t('choose_a_thirdparty')"
|
||||
v-bind:options="handlingThirdPartyPicker.options"
|
||||
@addNewPersons="setHandlingThirdParty"
|
||||
@ -420,16 +443,23 @@
|
||||
>
|
||||
|
||||
</button>
|
||||
<ul class="dropdown-menu" aria-labelledby="btnGroupNotifyButtons">
|
||||
<ul
|
||||
class="dropdown-menu"
|
||||
aria-labelledby="btnGroupNotifyButtons"
|
||||
>
|
||||
<li>
|
||||
<a class="dropdown-item" @click="goToGenerateNotification(true)">{{
|
||||
$t("notification_notify_referrer")
|
||||
}}</a>
|
||||
<a
|
||||
class="dropdown-item"
|
||||
@click="goToGenerateNotification(true)"
|
||||
>{{ $t("notification_notify_referrer") }}</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" @click="goToGenerateNotification(false)">{{
|
||||
$t("notification_notify_any")
|
||||
}}</a>
|
||||
<a
|
||||
class="dropdown-item"
|
||||
@click="goToGenerateNotification(false)"
|
||||
>{{ $t("notification_notify_any") }}</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</template>
|
||||
@ -478,7 +508,8 @@ const i18n = {
|
||||
available_goals_text:
|
||||
"Motifs, objectifs et dispositifs disponibles pour ajout :",
|
||||
results_title: "Orientations - résultats",
|
||||
results_without_objective: "Résultats - orientations sans objectifs",
|
||||
results_without_objective:
|
||||
"Résultats - orientations sans objectifs",
|
||||
add_objectif: "Ajouter un motif - objectif - dispositif",
|
||||
add_an_objective: "Ajouter un objectif",
|
||||
Evaluations: "Évaluations",
|
||||
@ -679,7 +710,10 @@ export default {
|
||||
this.showAddEvaluation = !this.showAddEvaluation;
|
||||
},
|
||||
setHandlingThirdParty({ selected, modal }) {
|
||||
this.$store.commit("setHandlingThirdParty", selected.shift().result);
|
||||
this.$store.commit(
|
||||
"setHandlingThirdParty",
|
||||
selected.shift().result,
|
||||
);
|
||||
this.$refs.handlingThirdPartyPicker.resetSearch();
|
||||
modal.showModal = false;
|
||||
},
|
||||
@ -782,14 +816,18 @@ export default {
|
||||
this.$toast.open({ message: v });
|
||||
}
|
||||
} else if (error.name === "ConflictHttpException") {
|
||||
this.$toast.open({ message: this.$t("conflict_on_save") });
|
||||
this.$toast.open({
|
||||
message: this.$t("conflict_on_save"),
|
||||
});
|
||||
} else {
|
||||
this.$toast.open({ message: "An error occurred" });
|
||||
}
|
||||
});
|
||||
},
|
||||
scrollToElement(docAnchorId) {
|
||||
const documentEl = document.getElementById(`document_${docAnchorId}`);
|
||||
const documentEl = document.getElementById(
|
||||
`document_${docAnchorId}`,
|
||||
);
|
||||
if (documentEl) {
|
||||
documentEl.scrollIntoView({ behavior: "smooth" });
|
||||
}
|
||||
|
@ -55,7 +55,10 @@
|
||||
<p>{{ $t("delete.sure_description") }}</p>
|
||||
</template>
|
||||
<template v-slot:footer>
|
||||
<button class="btn btn-danger" @click="removeEvaluation(evaluation)">
|
||||
<button
|
||||
class="btn btn-danger"
|
||||
@click="removeEvaluation(evaluation)"
|
||||
>
|
||||
{{ $t("delete.ok") }}
|
||||
</button>
|
||||
</template>
|
||||
@ -136,7 +139,9 @@ export default {
|
||||
return;
|
||||
},
|
||||
toggleEditEvaluation() {
|
||||
this.$store.commit("toggleEvaluationEdit", { key: this.evaluation.key });
|
||||
this.$store.commit("toggleEvaluationEdit", {
|
||||
key: this.evaluation.key,
|
||||
});
|
||||
},
|
||||
submitForm() {
|
||||
this.toggleEditEvaluation();
|
||||
|
@ -94,7 +94,9 @@ export default {
|
||||
return this.$store.getters.resultsForGoal(this.goal).length > 0;
|
||||
}
|
||||
|
||||
throw Error(`this.destination is not implemented: ${this.destination}`);
|
||||
throw Error(
|
||||
`this.destination is not implemented: ${this.destination}`,
|
||||
);
|
||||
},
|
||||
pickedResults() {
|
||||
if (this.destination === "action") {
|
||||
@ -103,11 +105,15 @@ export default {
|
||||
return this.$store.getters.resultsPickedForGoal(this.goal);
|
||||
}
|
||||
|
||||
throw Error(`this.destination is not implemented: ${this.destination}`);
|
||||
throw Error(
|
||||
`this.destination is not implemented: ${this.destination}`,
|
||||
);
|
||||
},
|
||||
availableForCheckResults() {
|
||||
if (this.destination === "action") {
|
||||
let pickedIds = this.$store.state.resultsPicked.map((r) => r.id);
|
||||
let pickedIds = this.$store.state.resultsPicked.map(
|
||||
(r) => r.id,
|
||||
);
|
||||
|
||||
return this.$store.state.resultsForAction.filter(
|
||||
(r) => !pickedIds.includes(r.id),
|
||||
@ -122,7 +128,9 @@ export default {
|
||||
.filter((r) => !pickedIds.includes(r.id));
|
||||
}
|
||||
|
||||
throw Error(`this.destination is not implemented: ${this.destination}`);
|
||||
throw Error(
|
||||
`this.destination is not implemented: ${this.destination}`,
|
||||
);
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
@ -141,7 +149,9 @@ export default {
|
||||
});
|
||||
return;
|
||||
}
|
||||
throw Error(`this.destination is not implemented: ${this.destination}`);
|
||||
throw Error(
|
||||
`this.destination is not implemented: ${this.destination}`,
|
||||
);
|
||||
},
|
||||
removeResult(r) {
|
||||
if (this.destination === "action") {
|
||||
@ -154,7 +164,9 @@ export default {
|
||||
});
|
||||
return;
|
||||
}
|
||||
throw Error(`this.destination is not implemented: ${this.destination}`);
|
||||
throw Error(
|
||||
`this.destination is not implemented: ${this.destination}`,
|
||||
);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
@ -75,8 +75,13 @@
|
||||
type="time"
|
||||
v-model="timeSpent"
|
||||
>
|
||||
<option disabled value="">{{ $t("select_time_spent") }}</option>
|
||||
<option v-for="time in timeSpentChoices" :value="time.value">
|
||||
<option disabled value="">
|
||||
{{ $t("select_time_spent") }}
|
||||
</option>
|
||||
<option
|
||||
v-for="time in timeSpentChoices"
|
||||
:value="time.value"
|
||||
>
|
||||
{{ time.text }}
|
||||
</option>
|
||||
</select>
|
||||
@ -101,7 +106,9 @@
|
||||
v-for="(d, i) in evaluation.documents"
|
||||
:key="d.id"
|
||||
:class="[
|
||||
parseInt(this.docAnchorId) === d.id ? 'bg-blink' : 'nothing',
|
||||
parseInt(this.docAnchorId) === d.id
|
||||
? 'bg-blink'
|
||||
: 'nothing',
|
||||
]"
|
||||
>
|
||||
<div :id="`document_${d.id}`" class="item-row">
|
||||
@ -125,7 +132,13 @@
|
||||
<div class="item-col item-meta">
|
||||
<p v-if="d.createdBy" class="createdBy">
|
||||
Créé par {{ d.createdBy.text }}<br />
|
||||
Le {{ $d(ISOToDatetime(d.createdAt.datetime), "long") }}
|
||||
Le
|
||||
{{
|
||||
$d(
|
||||
ISOToDatetime(d.createdAt.datetime),
|
||||
"long",
|
||||
)
|
||||
}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -143,9 +156,13 @@
|
||||
:allowCreate="true"
|
||||
relatedEntityClass="Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWorkEvaluationDocument"
|
||||
:relatedEntityId="d.id"
|
||||
:workflowsAvailables="d.workflows_availables"
|
||||
:workflowsAvailables="
|
||||
d.workflows_availables
|
||||
"
|
||||
:preventDefaultMoveToGenerate="true"
|
||||
:goToGenerateWorkflowPayload="{ doc: d }"
|
||||
:goToGenerateWorkflowPayload="{
|
||||
doc: d,
|
||||
}"
|
||||
@go-to-generate-workflow="
|
||||
goToGenerateWorkflowEvaluationDocument
|
||||
"
|
||||
@ -155,7 +172,12 @@
|
||||
<button
|
||||
v-if="AmIRefferer"
|
||||
class="btn btn-notify"
|
||||
@click="goToGenerateDocumentNotification(d, false)"
|
||||
@click="
|
||||
goToGenerateDocumentNotification(
|
||||
d,
|
||||
false,
|
||||
)
|
||||
"
|
||||
></button>
|
||||
<template v-else>
|
||||
<button
|
||||
@ -175,15 +197,33 @@
|
||||
<li>
|
||||
<a
|
||||
class="dropdown-item"
|
||||
@click="goToGenerateDocumentNotification(d, true)"
|
||||
>{{ $t("notification_notify_referrer") }}</a
|
||||
@click="
|
||||
goToGenerateDocumentNotification(
|
||||
d,
|
||||
true,
|
||||
)
|
||||
"
|
||||
>{{
|
||||
$t(
|
||||
"notification_notify_referrer",
|
||||
)
|
||||
}}</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
class="dropdown-item"
|
||||
@click="goToGenerateDocumentNotification(d, false)"
|
||||
>{{ $t("notification_notify_any") }}</a
|
||||
@click="
|
||||
goToGenerateDocumentNotification(
|
||||
d,
|
||||
false,
|
||||
)
|
||||
"
|
||||
>{{
|
||||
$t(
|
||||
"notification_notify_any",
|
||||
)
|
||||
}}</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
@ -194,15 +234,27 @@
|
||||
:stored-object="d.storedObject"
|
||||
:filename="d.title"
|
||||
:can-edit="true"
|
||||
:execute-before-leave="submitBeforeLeaveToEditor"
|
||||
:davLink="d.storedObject._links?.dav_link.href"
|
||||
:davLinkExpiration="
|
||||
d.storedObject._links?.dav_link.expiration
|
||||
:execute-before-leave="
|
||||
submitBeforeLeaveToEditor
|
||||
"
|
||||
:davLink="
|
||||
d.storedObject._links?.dav_link
|
||||
.href
|
||||
"
|
||||
:davLinkExpiration="
|
||||
d.storedObject._links?.dav_link
|
||||
.expiration
|
||||
"
|
||||
@on-stored-object-status-change="
|
||||
onStatusDocumentChanged
|
||||
"
|
||||
@on-stored-object-status-change="onStatusDocumentChanged"
|
||||
></document-action-buttons-group>
|
||||
</li>
|
||||
<li v-if="d.storedObject._permissions.canEdit">
|
||||
<li
|
||||
v-if="
|
||||
d.storedObject._permissions.canEdit
|
||||
"
|
||||
>
|
||||
<drop-file-modal
|
||||
:existing-doc="d.storedObject"
|
||||
:allow-remove="false"
|
||||
@ -217,7 +269,11 @@
|
||||
></drop-file-modal>
|
||||
</li>
|
||||
<li v-if="d.workflows.length === 0">
|
||||
<a class="btn btn-delete" @click="removeDocument(d)"> </a>
|
||||
<a
|
||||
class="btn btn-delete"
|
||||
@click="removeDocument(d)"
|
||||
>
|
||||
</a>
|
||||
</li>
|
||||
<li v-if="Number.isInteger(d.id)">
|
||||
<button
|
||||
@ -250,7 +306,9 @@
|
||||
</template>
|
||||
</pick-template>
|
||||
<div>
|
||||
<label class="col-form-label">{{ $t("document_upload") }}</label>
|
||||
<label class="col-form-label">{{
|
||||
$t("document_upload")
|
||||
}}</label>
|
||||
<ul class="record_actions document-upload">
|
||||
<li>
|
||||
<drop-file-modal
|
||||
|
@ -255,16 +255,12 @@ export default {
|
||||
|
||||
unselectAction(value) {
|
||||
getGoalByAction(value.id).then((goals) => {
|
||||
[this.results.options, this.results.value] = this.removeElementInData(
|
||||
"goals",
|
||||
goals,
|
||||
);
|
||||
[this.results.options, this.results.value] =
|
||||
this.removeElementInData("goals", goals);
|
||||
});
|
||||
getResultByAction(value.id).then((results) => {
|
||||
[this.results.options, this.results.value] = this.removeElementInData(
|
||||
"results",
|
||||
results,
|
||||
);
|
||||
[this.results.options, this.results.value] =
|
||||
this.removeElementInData("results", results);
|
||||
});
|
||||
},
|
||||
|
||||
@ -304,7 +300,9 @@ export default {
|
||||
let excludeParent = this.actions.options.filter(
|
||||
(o) => o.parent !== null,
|
||||
);
|
||||
let children = excludeParent.filter((o) => o.parent.id === value.id);
|
||||
let children = excludeParent.filter(
|
||||
(o) => o.parent.id === value.id,
|
||||
);
|
||||
//console.log("get childrens", children.map(e => e.id));
|
||||
return children;
|
||||
}
|
||||
|
@ -5,7 +5,9 @@
|
||||
|
||||
<div v-if="noPerson">
|
||||
<div class="alert alert-info">
|
||||
{{ $t("household_members_editor.concerned.add_at_least_onePerson") }}
|
||||
{{
|
||||
$t("household_members_editor.concerned.add_at_least_onePerson")
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
@ -16,7 +18,11 @@
|
||||
</p>
|
||||
|
||||
<ul class="list-suggest remove-items inline">
|
||||
<li v-for="c in concerned" :key="c.person.id" @click="removeConcerned(c)">
|
||||
<li
|
||||
v-for="c in concerned"
|
||||
:key="c.person.id"
|
||||
@click="removeConcerned(c)"
|
||||
>
|
||||
<span><person-text :person="c.person" /></span>
|
||||
</li>
|
||||
</ul>
|
||||
@ -26,7 +32,11 @@
|
||||
v-if="concernedPersonsWithHouseholds.length > 0"
|
||||
>
|
||||
<p>
|
||||
{{ $t("household_members_editor.concerned.persons_with_household") }}
|
||||
{{
|
||||
$t(
|
||||
"household_members_editor.concerned.persons_with_household",
|
||||
)
|
||||
}}
|
||||
</p>
|
||||
<ul v-for="c in concernedPersonsWithHouseholds" :key="c.person.id">
|
||||
<li>
|
||||
@ -38,7 +48,11 @@
|
||||
}}
|
||||
<a
|
||||
target="_blank"
|
||||
:href="this.makeHouseholdLink(c.person.current_household_id)"
|
||||
:href="
|
||||
this.makeHouseholdLink(
|
||||
c.person.current_household_id,
|
||||
)
|
||||
"
|
||||
>{{ c.person.current_household_id }}</a
|
||||
>.
|
||||
</li>
|
||||
@ -94,7 +108,8 @@ export default {
|
||||
return this.$store.state.concerned.filter(
|
||||
(c) =>
|
||||
c.person.current_household_id !== null &&
|
||||
c.person.current_household_id !== this.$store.state.household.id,
|
||||
c.person.current_household_id !==
|
||||
this.$store.state.household.id,
|
||||
);
|
||||
} else {
|
||||
return [];
|
||||
|
@ -15,7 +15,9 @@
|
||||
<i class="fa fa-ban fa-stack-2x text-danger" />
|
||||
</span>
|
||||
{{
|
||||
$t("household_members_editor.household.leave_without_household")
|
||||
$t(
|
||||
"household_members_editor.household.leave_without_household",
|
||||
)
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -131,7 +131,10 @@ export default {
|
||||
return this.$store.state.numberOfDependentsWithDisabilities;
|
||||
},
|
||||
set(value) {
|
||||
this.$store.commit("setNumberOfDependentsWithDisabilities", value);
|
||||
this.$store.commit(
|
||||
"setNumberOfDependentsWithDisabilities",
|
||||
value,
|
||||
);
|
||||
},
|
||||
},
|
||||
startDate: {
|
||||
|
@ -16,7 +16,9 @@
|
||||
</h4>
|
||||
<p>
|
||||
{{
|
||||
$t("household_members_editor.household.household_suggested_explanation")
|
||||
$t(
|
||||
"household_members_editor.household.household_suggested_explanation",
|
||||
)
|
||||
}}
|
||||
</p>
|
||||
<div class="accordion" id="householdSuggestions">
|
||||
@ -45,7 +47,11 @@
|
||||
aria-expanded="true"
|
||||
@click="toggleHouseholdSuggestion"
|
||||
>
|
||||
{{ $t("household_members_editor.hide_household_suggestion") }}
|
||||
{{
|
||||
$t(
|
||||
"household_members_editor.hide_household_suggestion",
|
||||
)
|
||||
}}
|
||||
</button>
|
||||
<!-- disabled bootstrap behaviour: data-bs-target="#collapse_household_suggestions" aria-controls="collapse_household_suggestions" -->
|
||||
</h2>
|
||||
@ -62,14 +68,22 @@
|
||||
class="item-bloc"
|
||||
:key="`householdSuggestions-${i}`"
|
||||
>
|
||||
<household-render-box :household="s.household" />
|
||||
<household-render-box
|
||||
:household="s.household"
|
||||
/>
|
||||
<ul class="record_actions">
|
||||
<li>
|
||||
<button
|
||||
class="btn btn-sm btn-choose"
|
||||
@click="selectHousehold(s.household)"
|
||||
@click="
|
||||
selectHousehold(s.household)
|
||||
"
|
||||
>
|
||||
{{ $t("household_members_editor.select_household") }}
|
||||
{{
|
||||
$t(
|
||||
"household_members_editor.select_household",
|
||||
)
|
||||
}}
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
@ -198,12 +212,14 @@ export default {
|
||||
},
|
||||
isHouseholdNewDesactivated() {
|
||||
return (
|
||||
this.$store.state.mode !== null && !this.$store.getters.isHouseholdNew
|
||||
this.$store.state.mode !== null &&
|
||||
!this.$store.getters.isHouseholdNew
|
||||
);
|
||||
},
|
||||
isHouseholdLeaveDesactivated() {
|
||||
return (
|
||||
this.$store.state.mode !== null && this.$store.state.mode !== "leave"
|
||||
this.$store.state.mode !== null &&
|
||||
this.$store.state.mode !== "leave"
|
||||
);
|
||||
},
|
||||
},
|
||||
|
@ -17,7 +17,11 @@
|
||||
</li>
|
||||
<li v-if="hasHouseholdAddress">
|
||||
<button class="btn btn-remove" @click="removeHouseholdAddress">
|
||||
{{ $t("household_members_editor.household_address.remove_address") }}
|
||||
{{
|
||||
$t(
|
||||
"household_members_editor.household_address.remove_address",
|
||||
)
|
||||
}}
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
@ -51,8 +55,7 @@ export default {
|
||||
},
|
||||
},
|
||||
title: {
|
||||
create:
|
||||
"household_members_editor.household_address.create_new_address",
|
||||
create: "household_members_editor.household_address.create_new_address",
|
||||
edit: "household_members_editor.household_address.update_address_title",
|
||||
},
|
||||
},
|
||||
|
@ -14,7 +14,9 @@
|
||||
</div>
|
||||
<div v-if="conc.person.birthdate !== null">
|
||||
{{
|
||||
$t("person.born", { gender: conc.person.gender.genderTranslation })
|
||||
$t("person.born", {
|
||||
gender: conc.person.gender.genderTranslation,
|
||||
})
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
@ -22,7 +24,9 @@
|
||||
<ul class="list-content fa-ul">
|
||||
<li>
|
||||
<i class="fa fa-li fa-map-marker" />
|
||||
<span class="chill-no-data-statement">Sans adresse</span>
|
||||
<span class="chill-no-data-statement"
|
||||
>Sans adresse</span
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -36,7 +40,10 @@
|
||||
<div v-if="conc.position.allowHolder" class="action">
|
||||
<button
|
||||
class="btn"
|
||||
:class="{ 'btn-primary': isHolder, 'btn-secondary': !isHolder }"
|
||||
:class="{
|
||||
'btn-primary': isHolder,
|
||||
'btn-secondary': !isHolder,
|
||||
}"
|
||||
@click="toggleHolder"
|
||||
>
|
||||
{{
|
||||
@ -122,7 +129,10 @@ export default {
|
||||
console.log("set comment");
|
||||
console.log("comment", text);
|
||||
|
||||
this.$store.dispatch("setComment", { conc: this.conc, comment: text });
|
||||
this.$store.dispatch("setComment", {
|
||||
conc: this.conc,
|
||||
comment: text,
|
||||
});
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -44,7 +44,9 @@
|
||||
</div>
|
||||
<div class="item-row">
|
||||
<div class="col-12">
|
||||
<h6>{{ $t("household_members_editor.positioning.comment") }}</h6>
|
||||
<h6>
|
||||
{{ $t("household_members_editor.positioning.comment") }}
|
||||
</h6>
|
||||
<person-comment :conc="conc" />
|
||||
</div>
|
||||
</div>
|
||||
|
@ -17,7 +17,8 @@
|
||||
id="exportCanvasBtn"
|
||||
@click="exportCanvasAsImage"
|
||||
>
|
||||
<i class="fa fa-camera fa-fw" /> {{ $t("visgraph.screenshot") }}
|
||||
<i class="fa fa-camera fa-fw" />
|
||||
{{ $t("visgraph.screenshot") }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@ -67,28 +68,45 @@
|
||||
<form>
|
||||
<div class="row">
|
||||
<div class="col-12 text-center">
|
||||
{{ $t("visgraph.between") }}<br />{{ $t("visgraph.and") }}
|
||||
{{ $t("visgraph.between") }}<br />{{
|
||||
$t("visgraph.and")
|
||||
}}
|
||||
</div>
|
||||
<div class="col">
|
||||
<small>{{ getPersonAge(modal.data.from) }}</small>
|
||||
<small>{{
|
||||
getPersonAge(modal.data.from)
|
||||
}}</small>
|
||||
<h4>{{ getPerson(modal.data.from).text }}</h4>
|
||||
<p class="text-start" v-if="relation && relation.title">
|
||||
<p
|
||||
class="text-start"
|
||||
v-if="relation && relation.title"
|
||||
>
|
||||
<span v-if="reverse">
|
||||
{{
|
||||
$t("visgraph.relation_from_to_like", [
|
||||
getPerson(modal.data.from).text,
|
||||
getPerson(modal.data.to).text,
|
||||
$t(
|
||||
"visgraph.relation_from_to_like",
|
||||
[
|
||||
getPerson(modal.data.from)
|
||||
.text,
|
||||
getPerson(modal.data.to)
|
||||
.text,
|
||||
relation.reverseTitle.fr.toLowerCase(),
|
||||
])
|
||||
],
|
||||
)
|
||||
}}
|
||||
</span>
|
||||
<span v-else>
|
||||
{{
|
||||
$t("visgraph.relation_from_to_like", [
|
||||
getPerson(modal.data.from).text,
|
||||
getPerson(modal.data.to).text,
|
||||
$t(
|
||||
"visgraph.relation_from_to_like",
|
||||
[
|
||||
getPerson(modal.data.from)
|
||||
.text,
|
||||
getPerson(modal.data.to)
|
||||
.text,
|
||||
relation.title.fr.toLowerCase(),
|
||||
])
|
||||
],
|
||||
)
|
||||
}}
|
||||
</span>
|
||||
</p>
|
||||
@ -96,23 +114,36 @@
|
||||
<div class="col text-end">
|
||||
<small>{{ getPersonAge(modal.data.to) }}</small>
|
||||
<h4>{{ getPerson(modal.data.to).text }}</h4>
|
||||
<p class="text-end" v-if="relation && relation.title">
|
||||
<p
|
||||
class="text-end"
|
||||
v-if="relation && relation.title"
|
||||
>
|
||||
<span v-if="reverse">
|
||||
{{
|
||||
$t("visgraph.relation_from_to_like", [
|
||||
getPerson(modal.data.to).text,
|
||||
getPerson(modal.data.from).text,
|
||||
$t(
|
||||
"visgraph.relation_from_to_like",
|
||||
[
|
||||
getPerson(modal.data.to)
|
||||
.text,
|
||||
getPerson(modal.data.from)
|
||||
.text,
|
||||
relation.title.fr.toLowerCase(),
|
||||
])
|
||||
],
|
||||
)
|
||||
}}
|
||||
</span>
|
||||
<span v-else>
|
||||
{{
|
||||
$t("visgraph.relation_from_to_like", [
|
||||
getPerson(modal.data.to).text,
|
||||
getPerson(modal.data.from).text,
|
||||
$t(
|
||||
"visgraph.relation_from_to_like",
|
||||
[
|
||||
getPerson(modal.data.to)
|
||||
.text,
|
||||
getPerson(modal.data.from)
|
||||
.text,
|
||||
relation.reverseTitle.fr.toLowerCase(),
|
||||
])
|
||||
],
|
||||
)
|
||||
}}
|
||||
</span>
|
||||
</p>
|
||||
@ -317,7 +348,9 @@ export default {
|
||||
this.getRelationsList();
|
||||
console.log(this.persons);
|
||||
|
||||
this.canvas = document.getElementById("visgraph").querySelector("canvas");
|
||||
this.canvas = document
|
||||
.getElementById("visgraph")
|
||||
.querySelector("canvas");
|
||||
this.link = document.getElementById("exportCanvasBtn");
|
||||
},
|
||||
methods: {
|
||||
@ -327,7 +360,10 @@ export default {
|
||||
this.$store
|
||||
.dispatch("addMorePerson", item.result)
|
||||
.catch(({ name, violations }) => {
|
||||
if (name === "ValidationException" || name === "AccessException") {
|
||||
if (
|
||||
name === "ValidationException" ||
|
||||
name === "AccessException"
|
||||
) {
|
||||
violations.forEach((violation) =>
|
||||
this.$toast.open({ message: violation }),
|
||||
);
|
||||
@ -370,7 +406,10 @@ export default {
|
||||
if (person.folded === true) {
|
||||
//console.log(' @@> expand mode event')
|
||||
this.$store.commit("unfoldPerson", person);
|
||||
this.$store.dispatch("fetchInfoForPerson", person);
|
||||
this.$store.dispatch(
|
||||
"fetchInfoForPerson",
|
||||
person,
|
||||
);
|
||||
}
|
||||
} else {
|
||||
//console.log(' @@> create link mode event')
|
||||
@ -379,9 +418,14 @@ export default {
|
||||
break;
|
||||
|
||||
case "household":
|
||||
let household = this.nodes.filter((n) => n.id === node)[0];
|
||||
let household = this.nodes.filter(
|
||||
(n) => n.id === node,
|
||||
)[0];
|
||||
//console.log('@@@@@@ event on selected Node', household.id)
|
||||
this.$store.dispatch("unfoldPersonsByHousehold", household);
|
||||
this.$store.dispatch(
|
||||
"unfoldPersonsByHousehold",
|
||||
household,
|
||||
);
|
||||
break;
|
||||
|
||||
case "accompanying_period":
|
||||
@ -554,7 +598,10 @@ export default {
|
||||
(relationship) =>
|
||||
new Promise((resolve) => {
|
||||
//console.log('post relationship response', relationship)
|
||||
this.$store.dispatch("addLinkFromRelationship", relationship);
|
||||
this.$store.dispatch(
|
||||
"addLinkFromRelationship",
|
||||
relationship,
|
||||
);
|
||||
this.modal.showModal = false;
|
||||
this.resetForm();
|
||||
this.forceUpdateComponent();
|
||||
@ -568,7 +615,9 @@ export default {
|
||||
console.log(v);
|
||||
}
|
||||
} else {
|
||||
this.$toast.open({ message: "An error occurred" });
|
||||
this.$toast.open({
|
||||
message: "An error occurred",
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@ -578,7 +627,10 @@ export default {
|
||||
(relationship) =>
|
||||
new Promise((resolve) => {
|
||||
//console.log('patch relationship response', relationship)
|
||||
this.$store.commit("updateLink", relationship);
|
||||
this.$store.commit(
|
||||
"updateLink",
|
||||
relationship,
|
||||
);
|
||||
this.modal.showModal = false;
|
||||
this.resetForm();
|
||||
this.forceUpdateComponent();
|
||||
|
@ -2,7 +2,8 @@ const personMessages = {
|
||||
fr: {
|
||||
add_persons: {
|
||||
title: "Ajouter des usagers",
|
||||
suggested_counter: "Pas de résultats | 1 résultat | {count} résultats",
|
||||
suggested_counter:
|
||||
"Pas de résultats | 1 résultat | {count} résultats",
|
||||
selected_counter: " 1 sélectionné | {count} sélectionnés",
|
||||
search_some_persons: "Rechercher des personnes..",
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user