浏览代码

Only allowed users to demote/promote other users if they are admin

theflametrooper 8 年之前
父节点
当前提交
db29453a60
共有 3 个文件被更改,包括 7 次插入8 次删除
  1. 3 4
      backend/logic/actions/users.js
  2. 1 1
      frontend/components/Sidebars/Playlist.vue
  3. 3 3
      frontend/components/User/Show.vue

+ 3 - 4
backend/logic/actions/users.js

@@ -217,16 +217,15 @@ module.exports = {
                             });
                         });
                     });
-                } else if (property === 'email.address') user[property] = value;
+                } else user[property] = value;
                 user.save(err => {
                     if (err) cb({ status: 'error', message: err.message });
-					else  cb({ status: 'success', message: 'Field saved successfully' });
+					else cb({ status: 'success', message: 'Field saved successfully' });
                 });
             } else {
                 cb({ status: 'error', message: 'Field has not changed' });
             }
         });
-    }),
-
+    })
 
 };

+ 1 - 1
frontend/components/Sidebars/Playlist.vue

@@ -1,5 +1,5 @@
 <template>
-	<div class='sidebar' transition='slide' v-if='$parent.sidebars.queue'>
+	<div class='sidebar' transition='slide' v-if='$parent.sidebars.playlist'>
 		<div class='inner-wrapper'>
 			<div class='title'>
 				Queue

+ 3 - 3
frontend/components/User/Show.vue

@@ -4,7 +4,7 @@
 		<div class="container">
 			<img class="avatar" src="https://avatars2.githubusercontent.com/u/11198912?v=3&s=460"/>
 			<h2 class="has-text-centered">@{{user.username}}</h2>
-			<div class="admin-functionality">
+			<div class="admin-functionality" v-if="user.role == 'admin'">
 				<a class="button is-small is-info is-outlined" @click="changeRank('admin')" v-if="user.role == 'default'">Promote to Admin</a>
 				<a class="button is-small is-danger is-outlined" @click="changeRank('default')" v-else>Demote to User</a>
 			</div>
@@ -41,12 +41,12 @@
 		data() {
 			return {
 				user: {},
-				isUser: false,
+				isUser: false
 			}
 		},
 		methods: {
 			changeRank(newRank) {
-				this.socket.emit('users.update', 'role', ((newRank == 'admin') ? 'admin' : 'default'), res => {
+				this.socket.emit('users.update', this.$route.params.username, 'role', ((newRank == 'admin') ? 'admin' : 'default'), res => {
 					if (res.status == 'error') Toast.methods.addToast(res.message, 2000);
 					else this.user.role = newRank; Toast.methods.addToast(`User ${this.$route.params.username}'s rank has been changed to: ${newRank}`, 2000);
 				});