Skip to content
Snippets Groups Projects
Commit 0d2a88e1 authored by Timothee P's avatar Timothee P :sunflower:
Browse files

send feature to update succesively

parent 1b6805f4
No related branches found
No related tags found
2 merge requests!295Version 3.0.0,!288REDMINE_ISSUE-12996
......@@ -491,45 +491,37 @@ export default {
},
async modifyStatus(newStatus) {
let errorCount = 0;
const promises = this.checkedFeatures.map((feature_id) => {
if (this.checkedFeatures.length > 0) {
const feature_id = this.checkedFeatures[0];
let feature = this.clickedFeatures.find((el) => el.feature_id === feature_id);
if (feature) {
return featureAPI.updateFeature({
featureAPI.updateFeature({
feature_id,
feature_type__slug: feature.feature_type,
project__slug: this.$route.params.slug, newStatus
project__slug: this.$route.params.slug,
newStatus
}).then((response) => {
if (response && response.data && response.status === 200) {
this.checkedFeatures.splice(this.checkedFeatures.indexOf(response.data.id), 1);
this.modifyStatus(newStatus);
} else {
this.$store.commit('DISPLAY_MESSAGE', {
comment: `Le signalement ${feature.title} n'a pas pu être modifié`,
level: 'negative'
});
this.fetchPagedFeatures();
}
});
} else {
errorCount += 1;
}
});
const promisesResult = await Promise.all(promises);
promisesResult.forEach((response) => {
if (response && response.data && response.status === 200) {
this.checkedFeatures.splice(this.checkedFeatures.indexOf(response.data.id), 2);
} else {
errorCount += 1;
}
});
let message = {
comment: 'Tous les signalements ont été modifié avec succès.',
level: 'positive'
};
if (errorCount) {
//* display error message
if(errorCount === 1) {
message.comment = "Un signalement n'a pas pu être modifié. (Il reste sélectionné)";
} else {
message.comment = `${errorCount} signalements n'ont pas pu être modifiés. (Ils restent sélectionnés)`;
}
message.level = 'negative';
} else {
this.fetchPagedFeatures();
this.$store.commit('DISPLAY_MESSAGE', {
comment: 'Tous les signalements ont été modifié avec succès.',
level: 'positive'
});
}
this.fetchPagedFeatures();
this.$store.commit('DISPLAY_MESSAGE', message);
},
deleteFeature(feature_id) {
const url = `${this.API_BASE_URL}features/${feature_id}/?project__slug=${this.project.slug}`;
axios //TODO: REFACTO -> Delete function already exist in store
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment