Procházet zdrojové kódy

Merge branch 'tusooa/announcements-priv' into 'develop'

Make announcements available to all with privileges

See merge request pleroma/pleroma-fe!1716
HJ před 2 roky
rodič
revize
b5d4c43bc2

+ 3 - 0
src/components/announcement/announcement.js

@@ -27,6 +27,9 @@ const Announcement = {
     ...mapState({
       currentUser: state => state.users.currentUser
     }),
+    canEditAnnouncement () {
+      return this.currentUser && this.currentUser.privileges.includes('announcements_manage_announcements')
+    },
     content () {
       return this.announcement.content
     },

+ 2 - 2
src/components/announcement/announcement.vue

@@ -45,14 +45,14 @@
           {{ $t('announcements.mark_as_read_action') }}
         </button>
         <button
-          v-if="currentUser && currentUser.role === 'admin'"
+          v-if="canEditAnnouncement"
           class="btn button-default"
           @click="enterEditMode"
         >
           {{ $t('announcements.edit_action') }}
         </button>
         <button
-          v-if="currentUser && currentUser.role === 'admin'"
+          v-if="canEditAnnouncement"
           class="btn button-default"
           @click="deleteAnnouncement"
         >

+ 3 - 0
src/components/announcements_page/announcements_page.js

@@ -28,6 +28,9 @@ const AnnouncementsPage = {
     }),
     announcements () {
       return this.$store.state.announcements.announcements
+    },
+    canPostAnnouncement () {
+      return this.currentUser && this.currentUser.privileges.includes('announcements_manage_announcements')
     }
   },
   methods: {

+ 1 - 1
src/components/announcements_page/announcements_page.vue

@@ -7,7 +7,7 @@
     </div>
     <div class="panel-body">
       <section
-        v-if="currentUser && currentUser.role === 'admin'"
+        v-if="canPostAnnouncement"
       >
         <div class="post-form">
           <div class="heading">

+ 1 - 1
src/modules/announcements.js

@@ -49,7 +49,7 @@ const announcements = {
       }
 
       const currentUser = store.rootState.users.currentUser
-      const isAdmin = currentUser && currentUser.role === 'admin'
+      const isAdmin = currentUser && currentUser.privileges.includes('announcements_manage_announcements')
 
       const getAnnouncements = async () => {
         if (!isAdmin) {