hide portfolio menu on role condition

This commit is contained in:
Christian Cueni 2019-03-27 15:26:12 +01:00
parent 0e1bca4c78
commit cdd31516cf
3 changed files with 22 additions and 9 deletions

View File

@ -1,6 +1,7 @@
<template>
<div class="widget-footer">
<a @click="toggleMenu" class="widget-footer__more-link">
<a @click="toggleMenu"
class="widget-footer__more-link">
<ellipses></ellipses>
</a>
<widget-popover v-if="showMenu"

View File

@ -6,7 +6,7 @@
<entry-count-widget entry-count="4"></entry-count-widget>
<owner-widget name="Hans Muster"></owner-widget>
</router-link>
<widget-footer>
<widget-footer v-if="!isTeacher">
<template slot-scope="scope">
<li class="popover-links__link"><a @click="$emit('delete', id)">Projekt löschen</a></li>
<li class="popover-links__link"><a @click="$emit('edit', id)">Projekt bearbeiten</a></li>
@ -23,7 +23,7 @@
import WidgetFooter from '@/components/WidgetFooter';
export default {
props: ['title', 'appearance', 'slug', 'id', 'final'],
props: ['title', 'appearance', 'slug', 'id', 'final', 'isTeacher'],
components: {
WidgetFooter,

View File

@ -6,6 +6,7 @@
<project-widget
v-for="project in projects"
v-bind="project"
:isTeacher="canManageContent"
@delete="deleteProject"
@updateShare="updateShareState"
@edit="editProject"
@ -13,7 +14,6 @@
class="portfolio__project"
></project-widget>
</div>
</div>
</template>
@ -21,6 +21,7 @@
import ProjectWidget from '@/components/portfolio/ProjectWidget';
import AddProject from '@/components/portfolio/AddProject';
import ME_QUERY from '@/graphql/gql/meQuery.gql';
import PROJECTS_QUERY from '@/graphql/gql/allProjects.gql';
import DELETE_PROJECT_MUTATION from '@/graphql/gql/mutations/deleteProject.gql';
import UPDATE_PROJECT_MUTATION from '@/graphql/gql/mutations/updateProject.gql';
@ -38,13 +39,24 @@
return this.$getRidOfEdges(data).projects
}
},
},
data() {
return {
projects: []
me: {
query: ME_QUERY
}
},
data () {
return {
projects: [],
me: {}
}
},
computed: {
canManageContent () {
return this.me.permissions.includes('users.can_manage_school_class_content');
}
},
methods: {
deleteProject(id) {
this.$apollo.mutate({