From 3df4043eb99e58c4fb33d8db22a4f23fa2bd703c Mon Sep 17 00:00:00 2001 From: Boris Waaub Date: Fri, 4 Jul 2025 07:45:33 +0000 Subject: [PATCH] =?UTF-8?q?Afficher=20les=20patients=20sugg=C3=A9r=C3=A9s?= =?UTF-8?q?=20et=20ajouter=20un=20s=C3=A9lecteur=20urgent/non=20urgent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ChillMainBundle/Resources/public/types.ts | 71 +- .../public/vuejs/PickEntity/PickEntity.vue | 390 ++++++---- .../translations/messages+intl-icu.fr.yaml | 28 + .../Resources/public/types.ts | 476 ++++++------- .../public/vuejs/_components/AddPersons.vue | 664 +++++++++--------- .../src/Resources/public/types.ts | 57 +- .../Resources/public/vuejs/TicketApp/App.vue | 1 + .../components/ActionToolbarComponent.vue | 115 ++- .../components/AddresseeComponent.vue | 8 +- .../components/AddresseeSelectorComponent.vue | 249 ++----- .../TicketApp/components/BannerComponent.vue | 38 +- .../components/CallerSelectorComponent.vue | 85 +++ .../components/PersonsSelectorComponent.vue | 163 ++--- .../TicketHistoryEmergencyComponent.vue | 18 + .../components/TicketHistoryListComponent.vue | 50 +- .../TicketHistoryPersonComponent.vue | 9 +- .../TicketHistoryStateComponent.vue | 17 +- .../TicketApp/components/ToggleFlags.vue | 67 ++ .../TicketApp/store/modules/addressee.ts | 16 +- .../vuejs/TicketApp/store/modules/comment.ts | 11 +- .../vuejs/TicketApp/store/modules/motive.ts | 11 +- .../vuejs/TicketApp/store/modules/persons.ts | 59 +- .../vuejs/TicketApp/store/modules/ticket.ts | 39 +- .../src/translations/messages+intl-icu.fr.yml | 18 +- 24 files changed, 1539 insertions(+), 1121 deletions(-) create mode 100644 src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/CallerSelectorComponent.vue create mode 100644 src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/TicketHistoryEmergencyComponent.vue create mode 100644 src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/ToggleFlags.vue diff --git a/src/Bundle/ChillMainBundle/Resources/public/types.ts b/src/Bundle/ChillMainBundle/Resources/public/types.ts index 5eed6d9b4..5af22147b 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/types.ts +++ b/src/Bundle/ChillMainBundle/Resources/public/types.ts @@ -10,6 +10,11 @@ export interface Civility { // TODO } +export interface Household { + type: "household"; + id: number; +} + export interface Job { id: number; type: "user_job"; @@ -48,16 +53,10 @@ export interface User { label: string; // todo: mainCenter; mainJob; etc.. } - -// TODO : Add missing household properties -export interface Household { - type: "household"; - id: number; -} - export interface ThirdParty { type: "thirdparty"; id: number; + text: string; firstname: string; name: string; email: string; @@ -228,3 +227,61 @@ export interface WorkflowAttachment { export interface PrivateCommentEmbeddable { comments: Record; } + +// API Exception types +export interface TransportExceptionInterface { + name: string; +} + +export interface ValidationExceptionInterface + extends TransportExceptionInterface { + name: "ValidationException"; + error: object; + violations: string[]; + titles: string[]; + propertyPaths: string[]; +} + +export interface AccessExceptionInterface extends TransportExceptionInterface { + name: "AccessException"; + violations: string[]; +} + +export interface NotFoundExceptionInterface + extends TransportExceptionInterface { + name: "NotFoundException"; +} + +export interface ServerExceptionInterface extends TransportExceptionInterface { + name: "ServerException"; + message: string; + code: number; + body: string; +} + +export interface ConflictHttpExceptionInterface + extends TransportExceptionInterface { + name: "ConflictHttpException"; + violations: string[]; +} + +export type ApiException = + | ValidationExceptionInterface + | AccessExceptionInterface + | NotFoundExceptionInterface + | ServerExceptionInterface + | ConflictHttpExceptionInterface; + +export interface Modal { + showModal: boolean; + modalDialogClass: string; +} + +export interface Selected { + result: UserGroupOrUser; +} + +export interface addNewEntities { + selected: Selected[]; + modal: Modal; +} diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/PickEntity/PickEntity.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/PickEntity/PickEntity.vue index 56e324133..1ddf054b6 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/PickEntity/PickEntity.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/PickEntity/PickEntity.vue @@ -1,142 +1,272 @@ - + + diff --git a/src/Bundle/ChillMainBundle/translations/messages+intl-icu.fr.yaml b/src/Bundle/ChillMainBundle/translations/messages+intl-icu.fr.yaml index 4d16b837d..37dddae29 100644 --- a/src/Bundle/ChillMainBundle/translations/messages+intl-icu.fr.yaml +++ b/src/Bundle/ChillMainBundle/translations/messages+intl-icu.fr.yaml @@ -156,3 +156,31 @@ renderbox: no_current_address: "Sans adresse actuellement" new_household: "Nouveau ménage" no_members_yet: "Aucun membre actuellement" + +pick_entity: + add: "Ajouter" + modal_title: >- + {count, plural, + one {Indiquer un} + other {Ajouter des} + } + user: >- + {count, plural, + one {Utilisateur} + other {Utilisateurs} + } + user_group: >- + {count, plural, + one {Groupe d'utilisateur} + other {Groupes d'utilisateurs} + } + person: >- + {count, plural, + one {Usager} + other {Usagers} + } + thirdparty: >- + {count, plural, + one {Tiers} + other {Tiers} + } diff --git a/src/Bundle/ChillPersonBundle/Resources/public/types.ts b/src/Bundle/ChillPersonBundle/Resources/public/types.ts index 32a0c5934..18ce72046 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/types.ts +++ b/src/Bundle/ChillPersonBundle/Resources/public/types.ts @@ -1,317 +1,309 @@ import { StoredObject } from "ChillDocStoreAssets/types"; import { Address, - Scope, - Center, - Civility, - DateTime, - User, - WorkflowAvailable, - Job, - Household, + Center, + Civility, + DateTime, User, UserGroup, - WorkflowAvailable, + Household, ThirdParty, + WorkflowAvailable, + Scope, + Job, PrivateCommentEmbeddable, -} from "ChillMainAssets/types"; -import { StoredObject } from "ChillDocStoreAssets/types"; +} from "../../../ChillMainBundle/Resources/public/types"; import { Thirdparty } from "../../../ChillThirdPartyBundle/Resources/public/types"; import { Calendar } from "../../../ChillCalendarBundle/Resources/public/types"; export interface Person { - id: number; - type: "person"; - text: string; - textAge: string; - firstName: string; - lastName: string; - current_household_address: Address | null; - birthdate: DateTime | null; - deathdate: DateTime | null; - age: number; - phonenumber: string; - mobilenumber: string; - email: string; - gender: "woman" | "man" | "other"; - centers: Center[]; - civility: Civility | null; - current_household_id: number; - current_residential_addresses: Address[]; + id: number; + type: "person"; + text: string; + textAge: string; + firstName: string; + lastName: string; + current_household_address: Address | null; + birthdate: DateTime | null; + deathdate: DateTime | null; + age: number; + phonenumber: string; + mobilenumber: string; + email: string; + gender: "woman" | "man" | "other"; + centers: Center[]; + civility: Civility | null; + current_household_id: number; + current_residential_addresses: Address[]; } export interface AccompanyingPeriod { - id: number; - addressLocation?: Address | null; - administrativeLocation?: Location | null; - calendars: Calendar[]; - closingDate?: Date | null; - closingMotive?: ClosingMotive | null; - comments: Comment[]; - confidential: boolean; - createdAt?: Date | null; - createdBy?: User | null; - emergency: boolean; - intensity?: "occasional" | "regular"; - job?: Job | null; - locationHistories: AccompanyingPeriodLocationHistory[]; - openingDate?: Date | null; - origin?: Origin | null; - participations: AccompanyingPeriodParticipation[]; - personLocation?: Person | null; - pinnedComment?: Comment | null; - preventUserIsChangedNotification: boolean; - remark: string; - requestorAnonymous: boolean; - requestorPerson?: Person | null; - requestorThirdParty?: Thirdparty | null; - resources: AccompanyingPeriodResource[]; - scopes: Scope[]; - socialIssues: SocialIssue[]; - step?: - | "CLOSED" - | "CONFIRMED" - | "CONFIRMED_INACTIVE_SHORT" - | "CONFIRMED_INACTIVE_LONG" - | "DRAFT"; -} - -export interface AccompanyingPeriodWorkEvaluationDocument { - id: number; - type: "accompanying_period_work_evaluation_document"; - storedObject: StoredObject; - title: string; - createdAt: DateTime | null; - createdBy: User | null; - updatedAt: DateTime | null; - updatedBy: User | null; - workflows_availables: WorkflowAvailable[]; - workflows: object[]; + id: number; + addressLocation?: Address | null; + administrativeLocation?: Location | null; + calendars: Calendar[]; + closingDate?: Date | null; + closingMotive?: ClosingMotive | null; + comments: Comment[]; + confidential: boolean; + createdAt?: Date | null; + createdBy?: User | null; + emergency: boolean; + intensity?: "occasional" | "regular"; + job?: Job | null; + locationHistories: AccompanyingPeriodLocationHistory[]; + openingDate?: Date | null; + origin?: Origin | null; + participations: AccompanyingPeriodParticipation[]; + personLocation?: Person | null; + pinnedComment?: Comment | null; + preventUserIsChangedNotification: boolean; + remark: string; + requestorAnonymous: boolean; + requestorPerson?: Person | null; + requestorThirdParty?: Thirdparty | null; + resources: AccompanyingPeriodResource[]; + scopes: Scope[]; + socialIssues: SocialIssue[]; + step?: + | "CLOSED" + | "CONFIRMED" + | "CONFIRMED_INACTIVE_SHORT" + | "CONFIRMED_INACTIVE_LONG" + | "DRAFT"; } export interface AccompanyingPeriodWork { - id: number; - accompanyingPeriod?: AccompanyingPeriod; - accompanyingPeriodWorkEvaluations: AccompanyingPeriodWorkEvaluation[]; - createdAt?: string; - createdAutomatically: boolean; - createdAutomaticallyReason: string; - createdBy: User; - endDate?: string; - goals: AccompanyingPeriodWorkGoal[]; - handlingThierParty?: Thirdparty; - note: string; - persons: Person[]; - privateComment: PrivateCommentEmbeddable; - referrersHistory: AccompanyingPeriodWorkReferrerHistory[]; - results: Result[]; - socialAction?: SocialAction; - startDate?: string; - thirdParties: Thirdparty[]; - updatedAt?: string; - updatedBy: User; - version: number; + id: number; + accompanyingPeriod?: AccompanyingPeriod; + accompanyingPeriodWorkEvaluations: AccompanyingPeriodWorkEvaluation[]; + createdAt?: string; + createdAutomatically: boolean; + createdAutomaticallyReason: string; + createdBy: User; + endDate?: string; + goals: AccompanyingPeriodWorkGoal[]; + handlingThierParty?: Thirdparty; + note: string; + persons: Person[]; + privateComment: PrivateCommentEmbeddable; + referrersHistory: AccompanyingPeriodWorkReferrerHistory[]; + results: Result[]; + socialAction?: SocialAction; + startDate?: string; + thirdParties: Thirdparty[]; + updatedAt?: string; + updatedBy: User; + version: number; } -interface SocialAction { - id: number; - parent?: SocialAction | null; - children: SocialAction[]; - issue?: SocialIssue | null; - ordering: number; - title: { - fr: string; - }; - defaultNotificationDelay?: string | null; - desactivationDate?: string | null; - evaluations: Evaluation[]; - goals: Goal[]; - results: Result[]; +export interface SocialAction { + id: number; + parent?: SocialAction | null; + children: SocialAction[]; + issue?: SocialIssue | null; + ordering: number; + title: { + fr: string; + }; + defaultNotificationDelay?: string | null; + desactivationDate?: string | null; + evaluations: Evaluation[]; + goals: Goal[]; + results: Result[]; } export interface AccompanyingPeriodResource { - id: number; - accompanyingPeriod: AccompanyingPeriod; - comment?: string | null; - person?: Person | null; - thirdParty?: Thirdparty | null; + id: number; + accompanyingPeriod: AccompanyingPeriod; + comment?: string | null; + person?: Person | null; + thirdParty?: Thirdparty | null; } export interface Origin { - id: number; - label: { - fr: string; - }; - noActiveAfter: DateTime; + id: number; + label: { + fr: string; + }; + noActiveAfter: DateTime; } export interface ClosingMotive { - id: number; - active: boolean; - name: { - fr: string; - }; - ordering: number; - isCanceledAccompanyingPeriod: boolean; - parent?: ClosingMotive | null; - children: ClosingMotive[]; + id: number; + active: boolean; + name: { + fr: string; + }; + ordering: number; + isCanceledAccompanyingPeriod: boolean; + parent?: ClosingMotive | null; + children: ClosingMotive[]; } export interface AccompanyingPeriodParticipation { - id: number; - startDate: DateTime; - endDate?: DateTime | null; - accompanyingPeriod: AccompanyingPeriod; - person: Person; + id: number; + startDate: DateTime; + endDate?: DateTime | null; + accompanyingPeriod: AccompanyingPeriod; + person: Person; } export interface AccompanyingPeriodLocationHistory { - id: number; - startDate: DateTime; - endDate?: DateTime | null; - addressLocation?: Address | null; - period: AccompanyingPeriod; - personLocation?: Person | null; + id: number; + startDate: DateTime; + endDate?: DateTime | null; + addressLocation?: Address | null; + period: AccompanyingPeriod; + personLocation?: Person | null; } export interface SocialIssue { - id: number; - parent?: SocialIssue | null; - children: SocialIssue[]; - socialActions?: SocialAction[] | null; - ordering: number; - title: { - fr: string; - }; - desactivationDate?: string | null; + id: number; + parent?: SocialIssue | null; + children: SocialIssue[]; + socialActions?: SocialAction[] | null; + ordering: number; + title: { + fr: string; + }; + desactivationDate?: string | null; } export interface Goal { - id: number; - results: Result[]; - socialActions?: SocialAction[] | null; - title: { - fr: string; - }; -} - -export interface Result { - id: number; - accompanyingPeriodWorks: AccompanyingPeriodWork[]; - accompanyingPeriodWorkGoals: AccompanyingPeriodWorkGoal[]; - goals: Goal[]; - socialActions: SocialAction[]; - title: { - fr: string; - }; - desactivationDate?: string | null; + id: number; + results: Result[]; + socialActions?: SocialAction[] | null; + title: { + fr: string; + }; } export interface AccompanyingPeriodWorkGoal { - id: number; - accompanyingPeriodWork: AccompanyingPeriodWork; - goal: Goal; - note: string; - results: Result[]; + id: number; + accompanyingPeriodWork: AccompanyingPeriodWork; + goal: Goal; + note: string; + results: Result[]; } export interface AccompanyingPeriodWorkEvaluation { - accompanyingPeriodWork: AccompanyingPeriodWork | null; - comment: string; - createdAt: DateTime | null; - createdBy: User | null; - documents: AccompanyingPeriodWorkEvaluationDocument[]; - endDate: DateTime | null; - evaluation: Evaluation | null; - id: number | null; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - key: any; - maxDate: DateTime | null; - startDate: DateTime | null; - updatedAt: DateTime | null; - updatedBy: User | null; - warningInterval: string | null; - timeSpent: number | null; + accompanyingPeriodWork: AccompanyingPeriodWork | null; + comment: string; + createdAt: DateTime | null; + createdBy: User | null; + documents: AccompanyingPeriodWorkEvaluationDocument[]; + endDate: DateTime | null; + evaluation: Evaluation | null; + id: number | null; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + key: any; + maxDate: DateTime | null; + startDate: DateTime | null; + updatedAt: DateTime | null; + updatedBy: User | null; + warningInterval: string | null; + timeSpent: number | null; } export interface Evaluation { - id: number; - url: string; - socialActions: SocialAction[]; - title: { - fr: string; - }; - active: boolean; - delay: string; - notificationDelay: string; + id: number; + url: string; + socialActions: SocialAction[]; + title: { + fr: string; + }; + active: boolean; + delay: string; + notificationDelay: string; } export interface AccompanyingPeriodWorkReferrerHistory { - id: number; - accompanyingPeriodWork: AccompanyingPeriodWork; - user: User; - startDate: DateTime; - endDate: DateTime | null; - createdAt: DateTime; - updatedAt: DateTime | null; - createdBy: User; - updatedBy: User | null; + id: number; + accompanyingPeriodWork: AccompanyingPeriodWork; + user: User; + startDate: DateTime; + endDate: DateTime | null; + createdAt: DateTime; + updatedAt: DateTime | null; + createdBy: User; + updatedBy: User | null; } +export interface AccompanyingPeriodWorkEvaluationDocument { + id: number; + type: "accompanying_period_work_evaluation_document"; + storedObject: StoredObject; + title: string; + createdAt: DateTime | null; + createdBy: User | null; + updatedAt: DateTime | null; + updatedBy: User | null; + workflows_availables: WorkflowAvailable[]; + workflows: object[]; +} + +export type EntityType = + | "user_group" + | "user" + | "person" + | "third_party" + | "household"; + export type Entities = (UserGroup | User | Person | ThirdParty | Household) & { - address?: Address | null; - kind?: string; - text?: string; - profession?: string; + address?: Address | null; + kind?: string; + text?: string; + profession?: string; }; export type Result = Entities & { - parent?: Entities | null; + parent?: Entities | null; }; export interface Suggestion { - key: string; - relevance: number; - result: Result; + key: string; + relevance: number; + result: Result; } export interface SearchPagination { - first: number; - items_per_page: number; - next: number | null; - previous: number | null; - more: boolean; + first: number; + items_per_page: number; + next: number | null; + previous: number | null; + more: boolean; } export interface Search { - count: number; - pagination: SearchPagination; - results: Suggestion[]; + count: number; + pagination: SearchPagination; + results: Suggestion[]; } export interface SearchOptions { - uniq: boolean; - type: string[]; - priority: number | null; - button: { - size: string; - class: string; - type: string; - display: string; - }; + uniq: boolean; + type: string[]; + priority: number | null; + button: { + size: string; + class: string; + type: string; + display: string; + }; } export class MakeFetchException extends Error { - sta: number; - txt: string; - violations: unknown | null; + sta: number; + txt: string; + violations: unknown | null; - constructor(txt: string, sta: number, violations: unknown | null = null) { - super(txt); - this.name = "ValidationException"; - this.sta = sta; - this.txt = txt; - this.violations = violations; - Object.setPrototypeOf(this, MakeFetchException.prototype); - } + constructor(txt: string, sta: number, violations: unknown | null = null) { + super(txt); + this.name = "ValidationException"; + this.sta = sta; + this.txt = txt; + this.violations = violations; + Object.setPrototypeOf(this, MakeFetchException.prototype); + } } diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AddPersons.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AddPersons.vue index 670f0ea30..186b79e1d 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AddPersons.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AddPersons.vue @@ -11,10 +11,10 @@ - - - - - + + + @@ -442,42 +454,42 @@ li.add-persons { } } div.body-head { - overflow-y: unset; - div.modal-body:first-child { - margin: auto 4em; - div.search { - position: relative; - input { - width: 100%; - padding: 1.2em 1.5em 1.2em 2.5em; - } - i { - position: absolute; - opacity: 0.5; - padding: 0.65em 0; - top: 50%; - } - i.fa-search { - left: 0.5em; - } - i.fa-times { - right: 1em; - padding: 0.75em 0; - cursor: pointer; - } + overflow-y: unset; + div.modal-body:first-child { + margin: auto 4em; + div.search { + position: relative; + input { + width: 100%; + padding: 1.2em 1.5em 1.2em 2.5em; + } + i { + position: absolute; + opacity: 0.5; + padding: 0.65em 0; + top: 50%; + } + i.fa-search { + left: 0.5em; + } + i.fa-times { + right: 1em; + padding: 0.75em 0; + cursor: pointer; + } + } } - } - div.modal-body:last-child { - padding-bottom: 0; - } - div.count { - margin: -0.5em 0 0.7em; - display: flex; - justify-content: space-between; - a { - cursor: pointer; + div.modal-body:last-child { + padding-bottom: 0; + } + div.count { + margin: -0.5em 0 0.7em; + display: flex; + justify-content: space-between; + a { + cursor: pointer; + } } - } } .create-button > a { margin-top: 0.5em; diff --git a/src/Bundle/ChillTicketBundle/src/Resources/public/types.ts b/src/Bundle/ChillTicketBundle/src/Resources/public/types.ts index 897387bfc..c048121cf 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/types.ts +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/types.ts @@ -15,7 +15,7 @@ export interface Motive { export type TicketState = "open" | "closed"; -export type TicketEmergencyState = "yes"|"no"; +export type TicketEmergencyState = "yes" | "no"; interface TicketHistory { event_type: T; @@ -75,42 +75,52 @@ export interface AddresseeState { export interface PersonsState { persons: Person[]; } +export interface CallerState { + new_caller: Person | null; +} export interface StateChange { new_state: TicketState; } -export interface StateChange { - new_state: TicketState; +export interface EmergencyChange { + new_emergency: TicketEmergencyState; } export interface CreateTicketState { by: User; } -interface AddPersonEvent extends TicketHistory<"add_person", PersonHistory> {} export type AddCommentEvent = TicketHistory<"add_comment", Comment>; export type SetMotiveEvent = TicketHistory<"set_motive", MotiveHistory>; -//interface AddAddressee extends TicketHistory<"add_addressee", AddresseeHistory> {}; -//interface RemoveAddressee extends TicketHistory<"remove_addressee", AddresseeHistory> {}; -export interface AddresseesStateEvent - extends TicketHistory<"addressees_state", AddresseeState> {} -export interface CreateTicketEvent - extends TicketHistory<"create_ticket", CreateTicketState> {} -export interface PersonStateEvent - extends TicketHistory<"persons_state", PersonsState> {} -export interface ChangeStateEvent - extends TicketHistory<"state_change", StateChange> {} +export type AddPersonEvent = TicketHistory<"add_person", PersonHistory>; +export type AddresseesStateEvent = TicketHistory< + "addressees_state", + AddresseeState +>; +export type CreateTicketEvent = TicketHistory< + "create_ticket", + CreateTicketState +>; +export type PersonStateEvent = TicketHistory<"persons_state", PersonsState>; +export type ChangeStateEvent = TicketHistory<"state_change", StateChange>; +export type EmergencyStateEvent = TicketHistory< + "emergency_change", + EmergencyChange +>; +export type CallerStateEvent = TicketHistory<"set_caller", CallerState>; -// TODO : Remove add_persont event from TicketHistoryLine +// TODO : Remove add_person event from TicketHistoryLine export type TicketHistoryLine = | AddPersonEvent | CreateTicketEvent | AddCommentEvent - | SetMotiveEvent /*AddAddressee | RemoveAddressee | */ + | SetMotiveEvent | AddresseesStateEvent | PersonStateEvent - | ChangeStateEvent; + | ChangeStateEvent + | EmergencyStateEvent + | CallerStateEvent; export interface Ticket { type: "ticket_ticket"; @@ -124,16 +134,5 @@ export interface Ticket { updatedBy: User | null; currentState: TicketState | null; emergency: TicketEmergencyState | null; -} - -export interface addNewPersons { - selected: Selected[]; - modal: Modal; -} -export interface Modal { - showModal: boolean; - modalDialogClass: string; -} -export interface Selected { - result: User; + caller: Person | null; } diff --git a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/App.vue b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/App.vue index 9263fd30e..ec52ce9ee 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/App.vue +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/App.vue @@ -34,6 +34,7 @@ onMounted(async () => { await store.dispatch("fetchMotives"); await store.dispatch("fetchUserGroups"); await store.dispatch("fetchUsers"); + await store.dispatch("getSuggestedPersons"); } catch (error) { toast.error(error as string); } diff --git a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/ActionToolbarComponent.vue b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/ActionToolbarComponent.vue index eca289ef1..5eaade60d 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/ActionToolbarComponent.vue +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/ActionToolbarComponent.vue @@ -2,25 +2,38 @@