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

allow moderator to edit features & update feature data after edition

parent 6d6b27d5
No related branches found
No related tags found
No related merge requests found
......@@ -120,6 +120,7 @@ const feature = {
const message = routeName === "editer-signalement" ? "Le signalement a été mis à jour" : "Le signalement a été crée";
function redirect(featureId) {
dispatch("GET_PROJECT_FEATURES", rootState.project_slug)
commit("DISCARD_LOADER", null, { root: true })
router.push({
name: "details-signalement",
......
......@@ -24,7 +24,8 @@
<router-link
v-if="
(permissions && permissions.can_update_feature) ||
isFeatureCreator
isFeatureCreator ||
isModerator
"
:to="{
name: 'editer-signalement',
......@@ -39,7 +40,9 @@
</router-link>
<!-- (permissions && permissions.can_delete_feature) || -->
<a
v-if="isFeatureCreator || permissions.is_project_super_contributor"
v-if="
isFeatureCreator || permissions.is_project_super_contributor
"
@click="isCanceling = true"
id="feature-delete"
class="ui button button-hover-red"
......@@ -386,14 +389,14 @@ export default {
},
computed: {
...mapState(["user"]),
...mapGetters(["permissions"]),
...mapState(["user", "USER_LEVEL_PROJECTS"]),
...mapGetters(["permissions", "project"]),
...mapState("feature", ["linked_features", "statusChoices"]),
DJANGO_BASE_URL: function () {
DJANGO_BASE_URL() {
return this.$store.state.configuration.VUE_APP_DJANGO_BASE;
},
feature: function () {
feature() {
const result = this.$store.state.feature.features.find(
(el) => el.feature_id === this.$route.params.slug_signal
);
......@@ -407,6 +410,13 @@ export default {
return false;
},
isModerator() {
return this.USER_LEVEL_PROJECTS &&
this.USER_LEVEL_PROJECTS[this.project.slug] === "Modérateur"
? true
: false;
},
statusIcon() {
switch (this.feature.status) {
case "archived":
......@@ -617,7 +627,12 @@ export default {
const feature = response.data;
if (feature) {
const currentFeature = [feature];
const featureGroup = mapUtil.addFeatures(currentFeature,{},true,this.$store.state.feature_type.feature_types);
const featureGroup = mapUtil.addFeatures(
currentFeature,
{},
true,
this.$store.state.feature_type.feature_types
);
mapUtil
.getMap()
.fitBounds(featureGroup.getBounds(), { padding: [25, 25] });
......
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