ソースを参照

Hopefully fixed issues with promote/demote buttons on profile page.

KrisVos130 7 年 前
コミット
f65dc5c569
1 ファイル変更5 行追加4 行削除
  1. 5 4
      frontend/app/js/views/Profile/index.jsx

+ 5 - 4
frontend/app/js/views/Profile/index.jsx

@@ -56,7 +56,8 @@ export default class Profile extends Component {
 					user.dislikes = res.data.disliked.length;
 					user.dislikes = res.data.disliked.length;
 					user.songsRequested = res.data.statistics.songsRequested;
 					user.songsRequested = res.data.statistics.songsRequested;
 					user.rolePretty = prettyRole[res.data.role];
 					user.rolePretty = prettyRole[res.data.role];
-					user.role = prettyRole[res.data.role];
+					user.role = res.data.role;
+					user.userId = res.data._id;
 					document.title = user.username + " - Musare"; // TODO Improve title system
 					document.title = user.username + " - Musare"; // TODO Improve title system
 					this.setState({ user, loaded: true, notFound: false });
 					this.setState({ user, loaded: true, notFound: false });
 				} else {
 				} else {
@@ -68,7 +69,7 @@ export default class Profile extends Component {
 
 
 	promoteDemoteButton = () => {
 	promoteDemoteButton = () => {
 		if (this.state.loaded === false) return null;
 		if (this.state.loaded === false) return null;
-		if (this.props.user.role === "admin") return null;
+		if (this.props.user.role !== "admin") return null;
 
 
 		const demoteButton = <button onClick={ this.demoteToDefault }>{ this.props.t("profile:demoteToDefault") }</button>;
 		const demoteButton = <button onClick={ this.demoteToDefault }>{ this.props.t("profile:demoteToDefault") }</button>;
 		const promoteButton = <button onClick={ this.promoteToAdmin }>{ this.props.t("profile:promoteToAdmin") }</button>;
 		const promoteButton = <button onClick={ this.promoteToAdmin }>{ this.props.t("profile:promoteToAdmin") }</button>;
@@ -79,9 +80,9 @@ export default class Profile extends Component {
 	promoteDemote = (role) => {
 	promoteDemote = (role) => {
 		this.messages.clearErrorSuccess();
 		this.messages.clearErrorSuccess();
 		io.getSocket(socket => {
 		io.getSocket(socket => {
-			socket.emit("users.updateRole", this.props.user._id, role, res => {
+			socket.emit("users.updateRole", this.state.user.userId, role, res => {
 				if (res.status === "success") {
 				if (res.status === "success") {
-					this.messages.clearAddSuccess(this.props.t("profile:failedToChangeRank"));
+					this.messages.clearAddSuccess(this.props.t("profile:failedToChangeRank"));// TODO Fix
 				} else {
 				} else {
 					this.messages.addError(res.message);
 					this.messages.addError(res.message);
 				}
 				}