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 ed3e489e8..b9d330543 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/App.vue +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/App.vue @@ -30,6 +30,7 @@ diff --git a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/Emergency/EmergencyComponent.vue b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/Emergency/EmergencyComponent.vue index 3efb42333..6e861a53f 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/Emergency/EmergencyComponent.vue +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/Emergency/EmergencyComponent.vue @@ -1,15 +1,13 @@ diff --git a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/TicketInitFormComponent.vue b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/TicketInitFormComponent.vue index 1a995010c..19d1c4c2e 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/TicketInitFormComponent.vue +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/TicketInitFormComponent.vue @@ -76,7 +76,7 @@ import CommentEditorComponent from "./Comment/CommentEditorComponent.vue"; import PersonsSelectorComponent from "./Person/PersonsSelectorComponent.vue"; // Types -import { Motive, TicketInitForm } from "../../../types"; +import { Motive, Ticket, TicketInitForm } from "../../../types"; import { Person } from "ChillPersonAssets/types"; // Translations @@ -92,7 +92,8 @@ import { CHILL_TICKET_TICKET_SET_PERSONS_USER_LABEL, } from "translator"; -defineProps<{ +const props = defineProps<{ + ticket: Ticket; motives: Motive[]; suggestedPersons: Person[]; }>(); @@ -106,9 +107,9 @@ const store = useStore(); const ticketForm = reactive({ content: "", - motive: undefined as Motive | undefined, - persons: [] as Person[], - caller: null as Person | null, + motive: props.ticket.currentMotive as Motive | null, + persons: props.ticket.currentPersons as Person[], + caller: props.ticket.caller as Person | null, } as TicketInitForm); watch( diff --git a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/comment.ts b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/comment.ts index ab8192df8..8f1ff9dde 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/comment.ts +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/comment.ts @@ -64,7 +64,7 @@ export const moduleComment: Module = { throw error.name; } }, - async deleteComment({ commit }, id: Comment["id"]) { + async maskComment({ commit }, id: Comment["id"]) { try { const result: Comment = await makeFetch( "POST", @@ -77,7 +77,7 @@ export const moduleComment: Module = { } }, - async restoreComment({ commit }, id: Comment["id"]) { + async visibleComment({ commit }, id: Comment["id"]) { try { const result: Comment = await makeFetch( "POST", diff --git a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/persons.ts b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/persons.ts index 048d3941c..84c92051d 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/persons.ts +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/persons.ts @@ -4,6 +4,7 @@ import { ApiException } from "../../../../../../../../ChillMainBundle/Resources/ import { Module } from "vuex"; import { RootState } from ".."; import { Ticket } from "../../../../types"; +import { Thirdparty } from "src/Bundle/ChillThirdPartyBundle/Resources/public/types"; export interface State { persons: Person[]; @@ -29,7 +30,6 @@ export const modulePersons: Module = { id: person.id, type: person.type, })); - console.log("Setting persons:", personData); try { const result: Ticket = await makeFetch( "POST", @@ -67,10 +67,14 @@ export const modulePersons: Module = { async getSuggestedPersons({ commit, rootState }) { try { const ticketId = rootState.ticket.ticket.id; - const result: Person[] = await makeFetch( + const caller = rootState.ticket.ticket.caller; + const result: (Person | Thirdparty)[] = await makeFetch( "GET", `/api/1.0/ticket/ticket/${ticketId}/suggest-person`, ); + if (caller) { + result.push(caller); + } commit("setPersons", result); } catch (e: unknown) { const error = e as ApiException; diff --git a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/ticket.ts b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/ticket.ts index c90e97913..890890c9d 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/ticket.ts +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/ticket.ts @@ -38,8 +38,11 @@ export const moduleTicket: Module = { isEmergency(state) { return state.ticket.emergency == "yes"; }, - isNewTicket(state) { - return state.ticket.history.length == 3; + isIncompleteTicket(state) { + return ( + state.ticket.currentMotive === null || + !state.ticket.history.some((item) => item.event_type == "add_comment") + ); }, getTicket(state) { state.ticket.history = state.ticket.history.sort((a, b) => @@ -62,6 +65,9 @@ export const moduleTicket: Module = { getCurrentPersons(state) { return state.ticket.currentPersons; }, + getCaller: (state) => { + return state.ticket.caller; + }, }, mutations: { diff --git a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/ticket_list.ts b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/ticket_list.ts index 9af30abee..a77df41a3 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/ticket_list.ts +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/ticket_list.ts @@ -73,14 +73,14 @@ export const moduleTicketList: Module = { ([, value]) => value !== undefined && value !== null && - value !== "" && - value.length > 0, + (value === true || (value !== "" && value.length > 0)), ), ); params = new URLSearchParams( filteredParams as Record, ).toString(); } + const { results, pagination, count } = (await makeFetch( "GET", `/api/1.0/ticket/ticket/list/?${params}`, @@ -99,10 +99,7 @@ export const moduleTicketList: Module = { }, async fetchConnectedUser({ commit }) { try { - const user = await makeFetch( - "GET", - "/api/1.0/main/whoami.json", - ); + const user = await makeFetch("GET", "/api/1.0/main/whoami.json"); commit("setUser", user); return user; } catch (error) { diff --git a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketList/components/TicketFilterListComponent.vue b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketList/components/TicketFilterListComponent.vue index 0c99ab846..d60e620e9 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketList/components/TicketFilterListComponent.vue +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketList/components/TicketFilterListComponent.vue @@ -84,7 +84,7 @@ :on-label="trans(CHILL_TICKET_LIST_FILTER_EMERGENCY)" :off-label="trans(CHILL_TICKET_LIST_FILTER_EMERGENCY)" :classColor="{ - on: 'bg-chill-red', + on: 'bg-warning', off: 'bg-secondary', }" @update:model-value="handleEmergencyToggle" @@ -288,7 +288,7 @@ const handleEmergencyToggle = (value: boolean) => { if (value) { filters.value.byCurrentStateEmergency = ["yes"]; } else { - filters.value.byCurrentStateEmergency = ["no"]; + filters.value.byCurrentStateEmergency = []; } }; diff --git a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketList/components/TicketHistoryListComponent.vue b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketList/components/TicketHistoryListComponent.vue index 4bb047aac..6220d9a44 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketList/components/TicketHistoryListComponent.vue +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketList/components/TicketHistoryListComponent.vue @@ -1,9 +1,7 @@