Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Weblate 2018-01-05 12:18:19 +00:00
commit 58c1118993
2 changed files with 50 additions and 32 deletions

View file

@ -440,20 +440,40 @@ module.exports = withMatrixClient(React.createClass({
const roomId = this.props.member.roomId; const roomId = this.props.member.roomId;
const target = this.props.member.userId; const target = this.props.member.userId;
const room = this.props.matrixClient.getRoom(roomId); const room = this.props.matrixClient.getRoom(roomId);
const self = this; if (!room) return;
if (!room) {
const powerLevelEvent = room.currentState.getStateEvents("m.room.power_levels", "");
if (!powerLevelEvent) return;
if (!powerLevelEvent.getContent().users) {
this._applyPowerChange(roomId, target, powerLevel, powerLevelEvent);
return; return;
} }
const powerLevelEvent = room.currentState.getStateEvents(
"m.room.power_levels", "", const myUserId = this.props.matrixClient.getUserId();
);
if (!powerLevelEvent) {
return;
}
if (powerLevelEvent.getContent().users) {
const myPower = powerLevelEvent.getContent().users[this.props.matrixClient.credentials.userId];
if (parseInt(myPower) === parseInt(powerLevel)) {
const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog"); const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog");
// If we are changing our own PL it can only ever be decreasing, which we cannot reverse.
if (myUserId === target) {
Modal.createTrackedDialog('Demoting Self', '', QuestionDialog, {
title: _t("Warning!"),
description:
<div>
{ _t("You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.") }<br />
{ _t("Are you sure?") }
</div>,
button: _t("Continue"),
onFinished: (confirmed) => {
if (confirmed) {
this._applyPowerChange(roomId, target, powerLevel, powerLevelEvent);
}
},
});
return;
}
const myPower = powerLevelEvent.getContent().users[myUserId];
if (parseInt(myPower) === parseInt(powerLevel)) {
Modal.createTrackedDialog('Promote to PL100 Warning', '', QuestionDialog, { Modal.createTrackedDialog('Promote to PL100 Warning', '', QuestionDialog, {
title: _t("Warning!"), title: _t("Warning!"),
description: description:
@ -462,18 +482,15 @@ module.exports = withMatrixClient(React.createClass({
{ _t("Are you sure?") } { _t("Are you sure?") }
</div>, </div>,
button: _t("Continue"), button: _t("Continue"),
onFinished: function(confirmed) { onFinished: (confirmed) => {
if (confirmed) { if (confirmed) {
self._applyPowerChange(roomId, target, powerLevel, powerLevelEvent); this._applyPowerChange(roomId, target, powerLevel, powerLevelEvent);
} }
}, },
}); });
} else { return;
this._applyPowerChange(roomId, target, powerLevel, powerLevelEvent);
} }
} else {
this._applyPowerChange(roomId, target, powerLevel, powerLevelEvent); this._applyPowerChange(roomId, target, powerLevel, powerLevelEvent);
}
}, },
onNewDMClick: function() { onNewDMClick: function() {

View file

@ -273,6 +273,7 @@
"Failed to toggle moderator status": "Failed to toggle moderator status", "Failed to toggle moderator status": "Failed to toggle moderator status",
"Failed to change power level": "Failed to change power level", "Failed to change power level": "Failed to change power level",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.", "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.",
"You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.",
"Are you sure?": "Are you sure?", "Are you sure?": "Are you sure?",
"No devices with registered encryption keys": "No devices with registered encryption keys", "No devices with registered encryption keys": "No devices with registered encryption keys",
"Devices": "Devices", "Devices": "Devices",