Merge pull request #1879 from matrix-org/rxl881/widgetPermissions

Users should always be able to edit their user/non-room  widgets
This commit is contained in:
Richard Lewis 2018-05-09 15:20:39 +01:00 committed by GitHub
commit c81e1ec535
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 2 deletions

View file

@ -274,6 +274,11 @@ export default class AppTile extends React.Component {
}
_canUserModify() {
// User widgets should always be modifiable by their creator
if (this.props.userWidget && MatrixClientPeg.get().credentials.userId === this.props.creatorUserId) {
return true;
}
// Check if the current user can modify widgets in the current room
return WidgetUtils.canUserModifyWidgets(this.props.room.roomId);
}
@ -698,6 +703,8 @@ AppTile.propTypes = {
// Optional function to be called on widget capability request
// Called with an array of the requested capabilities
onCapabilityRequest: PropTypes.func,
// Is this an instance of a user widget
userWidget: PropTypes.bool,
};
AppTile.defaultProps = {
@ -710,4 +717,5 @@ AppTile.defaultProps = {
showPopout: true,
handleMinimisePointerEvents: false,
whitelistCapabilities: [],
userWidget: false,
};

View file

@ -164,8 +164,8 @@ export default class Stickerpicker extends React.Component {
room={this.props.room}
type={stickerpickerWidget.content.type}
fullWidth={true}
userId={stickerpickerWidget.sender || MatrixClientPeg.get().credentials.userId}
creatorUserId={MatrixClientPeg.get().credentials.userId}
userId={MatrixClientPeg.get().credentials.userId}
creatorUserId={stickerpickerWidget.sender || MatrixClientPeg.get().credentials.userId}
waitForIframeLoad={true}
show={true}
showMenubar={true}
@ -178,6 +178,7 @@ export default class Stickerpicker extends React.Component {
onMinimiseClick={this._onHideStickersClick}
handleMinimisePointerEvents={true}
whitelistCapabilities={['m.sticker']}
userWidget={true}
/>
</div>
</div>