Merge branch 'master' into add_workout_category_to_program

master
sajjad 3 years ago
commit 97bab505f6

@ -21,6 +21,16 @@ export default class ProgramSeriesRepository {
return getJson(response.data.data);
}
}
async update(data, seriesId) {
let json = setData(data);
let response = await axios.put(
url("updateSeries", { series: seriesId }),
json
);
if (response.status === 200) {
return response.data.data;
}
}
async delete(data) {
await axios.delete(url("destroySeries", { series: data }));
}

@ -1,5 +1,4 @@
import { getJsonTrainer } from './trainerProgramResource';
import { objectToFormData } from "@/utils/objectToFormData";
export const getJson = (data) => ({
id: data.id,
trainer: data.trainer ? getJsonTrainer(data.trainer) : {},
@ -28,5 +27,5 @@ export const setData = (data) => {
estimate_time: data.estimate_time,
repeat: data.repeat
};
return objectToFormData(formData);
return formData;
};

@ -5,6 +5,7 @@
tag="vee-form"
@submit="addSeries"
ref="modal"
@open="openModal"
>
<template #header>
<div class="close__modal">
@ -73,7 +74,7 @@
<RectangleButton
height="29"
class="btn__modal--confirm custom-btn wa__f__m__eb"
text="add"
:text="`${form.id ? 'edit' : 'add'}`"
type="submit"
/>
</div>
@ -96,14 +97,27 @@ export default {
},
}),
methods: {
...mapActions("programSeries", ["addSeriesToProgram"]),
...mapActions("programSeries", ["addSeriesToProgram", "updateSeriesToProgram"]),
openModal({ data }) {
this.form = { ...data };
},
async addSeries() {
let response = await this.addSeriesToProgram({
data: this.form,
courseId: Number(this.programId),
});
if (response) {
this.$_closeModal();
if (this.form.id) {
let response = await this.updateSeriesToProgram({
data: this.form,
seriesId: +this.form.id,
});
if (response) {
this.$_closeModal();
}
} else {
let response = await this.addSeriesToProgram({
data: this.form,
courseId: Number(this.programId),
});
if (response) {
this.$_closeModal();
}
}
},
},

@ -37,9 +37,10 @@ const urls = {
// join workout to series
joinWorkoutToSeries: "trainer/series/:series/workout/:workout",
destroyWorkoutFromSeries: "trainer/series/:series/workout/:workout",
// series
// programs -> series
indexSeries: "trainer/courses/:course/series",
storeSeries: "trainer/course/:course/series",
updateSeries: "trainer/series/:series",
destroySeries: "trainer/series/:series",
// programs -> series -> workouts
indexSeriesWorkouts: "trainer/courses/:course/series/:series/workouts",

@ -26,6 +26,11 @@ export default {
return resource
}
},
async updateSeriesToProgram({ commit }, { data, seriesId }) {
let repository = new ProgramSeriesRepository();
const resource = await repository.update(data, seriesId);
commit("UPDATE_SERIES_TO_PROGRAM", resource);
},
async deleteSeriesFromProgram({ commit }, seriesId) {
let repository = new ProgramSeriesRepository();
await repository.delete(seriesId);

Loading…
Cancel
Save