diff --git a/client/src/components/ReadOnlyBanner.vue b/client/src/components/ReadOnlyBanner.vue index 9971c4e2..6a3bf381 100644 --- a/client/src/components/ReadOnlyBanner.vue +++ b/client/src/components/ReadOnlyBanner.vue @@ -2,7 +2,7 @@

{{ readOnlyText }} Sie können Inhalte lesen, aber nicht bearbeiten.

@@ -76,6 +76,9 @@ export default { readOnlyText() { return this.me.readOnly ? 'Sie besitzen keine aktive Lizenz.' : 'Sie sind in dieser Klasse nicht mehr aktiv.'; }, + isReadOnly() { + return this.me.readOnly || this.me.selectedClass?.readOnly; + }, }, }; diff --git a/client/src/components/content-blocks/assignment/Assignment.vue b/client/src/components/content-blocks/assignment/Assignment.vue index af3ff6a9..db1f41b9 100644 --- a/client/src/components/content-blocks/assignment/Assignment.vue +++ b/client/src/components/content-blocks/assignment/Assignment.vue @@ -21,7 +21,7 @@ :spellcheck-loading="spellcheckLoading" :saved="!unsaved" :spellcheck="true" - :read-only="me.readOnly || me.selectedClass.readOnly" + :read-only="me.readOnly || me.selectedClass?.readOnly" placeholder="Ergebnis erfassen" action="Ergebnis mit Lehrperson teilen" shared-msg="Das Ergebnis wurde mit der Lehrperson geteilt." diff --git a/client/src/components/modules/ModuleNavigation.vue b/client/src/components/modules/ModuleNavigation.vue index 42aaebdd..c86e05c7 100644 --- a/client/src/components/modules/ModuleNavigation.vue +++ b/client/src/components/modules/ModuleNavigation.vue @@ -13,7 +13,7 @@
{ }; const getIsReadOnly = (me: Me): boolean => { - return me.readOnly || me.selectedClass.readOnly; + return me.readOnly || me.selectedClass?.readOnly; }; const getCurrentClassName = (me: Me) => { diff --git a/client/src/pages/myClass.vue b/client/src/pages/myClass.vue index bdcaa92b..00047807 100644 --- a/client/src/pages/myClass.vue +++ b/client/src/pages/myClass.vue @@ -8,7 +8,7 @@ :show-code-route="showCodeRoute" :read-only="me.readOnly" :can-edit="me.isTeacher" - :enable-deactivate="!me.readOnly && !me.selectedClass.readOnly" + :enable-deactivate="!me.readOnly && !me.selectedClass?.readOnly" title="Klassenliste" class="my-class__class" @add="add" @@ -72,7 +72,7 @@ export default { ]; // if we changed the currently selected class of the logged in user, we need to change this property too - const readOnly = member.isMe ? !active : me.selectedClass.readOnly; + const readOnly = member.isMe ? !active : me.selectedClass?.readOnly; const data = { me: { ...me, diff --git a/client/src/pages/portfolio/project.vue b/client/src/pages/portfolio/project.vue index c923913f..c75fc056 100644 --- a/client/src/pages/portfolio/project.vue +++ b/client/src/pages/portfolio/project.vue @@ -46,7 +46,7 @@ :project="project.slug" class="project__add-entry" data-cy="add-project-entry" - v-if="isOwner && !me.readOnly && !me.selectedClass.readOnly" + v-if="canEdit" />