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> <template>
<div class="widget-footer"> <div class="widget-footer">
<a @click="toggleMenu" class="widget-footer__more-link"> <a @click="toggleMenu"
class="widget-footer__more-link">
<ellipses></ellipses> <ellipses></ellipses>
</a> </a>
<widget-popover v-if="showMenu" <widget-popover v-if="showMenu"

View File

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

View File

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