Factor out check permissions code.
parent
20a1693c71
commit
d69c9a36b3
|
@ -26,6 +26,7 @@ import { _t } from '../../../languageHandler';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import AppPermission from './AppPermission';
|
import AppPermission from './AppPermission';
|
||||||
import MessageSpinner from './MessageSpinner';
|
import MessageSpinner from './MessageSpinner';
|
||||||
|
import WidgetUtils from '../../../WidgetUtils';
|
||||||
|
|
||||||
const ALLOWED_APP_URL_SCHEMES = ['https:', 'http:'];
|
const ALLOWED_APP_URL_SCHEMES = ['https:', 'http:'];
|
||||||
const betaHelpMsg = 'This feature is currently experimental and is intended for beta testing only';
|
const betaHelpMsg = 'This feature is currently experimental and is intended for beta testing only';
|
||||||
|
@ -99,19 +100,12 @@ export default React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
_canUserModify: function() {
|
_canUserModify: function() {
|
||||||
let canModify = false;
|
try {
|
||||||
const client = MatrixClientPeg.get();
|
return WidgetUtils.canUserModifyWidgets(this.props.room.roomId);
|
||||||
if (client) {
|
} catch(err) {
|
||||||
const room = client.getRoom(this.props.room.roomId);
|
console.error(err);
|
||||||
const me = client.credentials.userId;
|
return false;
|
||||||
if(room && me) {
|
|
||||||
const member = room.getMember(me);
|
|
||||||
if (member && member.membership === "join") {
|
|
||||||
canModify = room.currentState.maySendStateEvent('set_widget', me);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return canModify;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_onEditClick: function(e) {
|
_onEditClick: function(e) {
|
||||||
|
|
Loading…
Reference in New Issue