Merge pull request #144 from dderbentsov/UC-72

Сделала вывод ошибки в модальное окно, поправила get запросы на update, create, delite
This commit is contained in:
Daria Golova
2022-11-21 14:16:16 +03:00
committed by GitHub
4 changed files with 18 additions and 6 deletions

View File

@@ -41,6 +41,7 @@
:event-types="eventTypes" :event-types="eventTypes"
:owner-event="selectedEvent" :owner-event="selectedEvent"
:close-modal="changeShowModal" :close-modal="changeShowModal"
@update-events="fetchEventsData"
) )
</template> </template>
@@ -153,7 +154,6 @@ export default {
if (this.showModal === false) { if (this.showModal === false) {
this.setChangeFormState(); this.setChangeFormState();
this.clearSelectedEvent(); this.clearSelectedEvent();
this.fetchEventsData();
} }
}, },
}, },

View File

@@ -40,6 +40,7 @@ export default {
methods: { methods: {
async deleteEvent() { async deleteEvent() {
await fetchWrapper.del(`registry/event/${this.ownerEvent.id}/delete/`); await fetchWrapper.del(`registry/event/${this.ownerEvent.id}/delete/`);
this.$emit("update-events");
this.closeModal(); this.closeModal();
}, },
}, },

View File

@@ -305,7 +305,6 @@ export default {
members: [this.findPerson(this.membersData, this.members, "person")], members: [this.findPerson(this.membersData, this.members, "person")],
}; };
await this.postCreateEvent(this.eventData); await this.postCreateEvent(this.eventData);
this.clearForm();
this.eventData = {}; this.eventData = {};
}, },
async updateEventData() { async updateEventData() {
@@ -319,7 +318,6 @@ export default {
members: [this.findPerson(this.membersData, this.members, "person")], members: [this.findPerson(this.membersData, this.members, "person")],
}; };
await this.postUpdateEvent(this.id, this.eventData); await this.postUpdateEvent(this.id, this.eventData);
this.clearForm();
this.eventData = {}; this.eventData = {};
}, },
clearForm() { clearForm() {
@@ -346,10 +344,19 @@ export default {
return returnedData; return returnedData;
}, },
async postCreateEvent(event) { async postCreateEvent(event) {
await fetchWrapper.post("registry/event/create/", event); const response = await fetchWrapper.post("registry/event/create/", event);
if (response.type && response.type === "validation_error") {
this.outputErrorMessage(response);
} else this.clearForm();
}, },
async postUpdateEvent(id, event) { async postUpdateEvent(id, event) {
await fetchWrapper.post(`registry/event/${id}/update/`, event); const response = await fetchWrapper.post(
`registry/event/${id}/update/`,
event
);
if (response.type && response.type === "validation_error") {
this.outputErrorMessage(response);
} else this.clearForm();
}, },
personId(object, field) { personId(object, field) {
if (object) { if (object) {
@@ -369,6 +376,11 @@ export default {
return id; return id;
} }
}, },
outputErrorMessage(error) {
alert(
`error type: ${error.type}\nerror code: ${error.errors[0].code}\nerror detail: ${error.errors[0].detail}`
);
},
}, },
watch: { watch: {
startDate: { startDate: {

View File

@@ -15,7 +15,6 @@ function handleRequest(method, url, headers, attempts, body) {
if (res) return res.json(); if (res) return res.json();
}) })
.catch((err) => { .catch((err) => {
console.log(err);
return err; return err;
}); });
} }