Merge pull request #1879 from matrix-org/rxl881/widgetPermissions
Users should always be able to edit their user/non-room widgetspull/21833/head
commit
c81e1ec535
|
@ -274,6 +274,11 @@ export default class AppTile extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
_canUserModify() {
|
_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);
|
return WidgetUtils.canUserModifyWidgets(this.props.room.roomId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -698,6 +703,8 @@ AppTile.propTypes = {
|
||||||
// Optional function to be called on widget capability request
|
// Optional function to be called on widget capability request
|
||||||
// Called with an array of the requested capabilities
|
// Called with an array of the requested capabilities
|
||||||
onCapabilityRequest: PropTypes.func,
|
onCapabilityRequest: PropTypes.func,
|
||||||
|
// Is this an instance of a user widget
|
||||||
|
userWidget: PropTypes.bool,
|
||||||
};
|
};
|
||||||
|
|
||||||
AppTile.defaultProps = {
|
AppTile.defaultProps = {
|
||||||
|
@ -710,4 +717,5 @@ AppTile.defaultProps = {
|
||||||
showPopout: true,
|
showPopout: true,
|
||||||
handleMinimisePointerEvents: false,
|
handleMinimisePointerEvents: false,
|
||||||
whitelistCapabilities: [],
|
whitelistCapabilities: [],
|
||||||
|
userWidget: false,
|
||||||
};
|
};
|
||||||
|
|
|
@ -164,8 +164,8 @@ export default class Stickerpicker extends React.Component {
|
||||||
room={this.props.room}
|
room={this.props.room}
|
||||||
type={stickerpickerWidget.content.type}
|
type={stickerpickerWidget.content.type}
|
||||||
fullWidth={true}
|
fullWidth={true}
|
||||||
userId={stickerpickerWidget.sender || MatrixClientPeg.get().credentials.userId}
|
userId={MatrixClientPeg.get().credentials.userId}
|
||||||
creatorUserId={MatrixClientPeg.get().credentials.userId}
|
creatorUserId={stickerpickerWidget.sender || MatrixClientPeg.get().credentials.userId}
|
||||||
waitForIframeLoad={true}
|
waitForIframeLoad={true}
|
||||||
show={true}
|
show={true}
|
||||||
showMenubar={true}
|
showMenubar={true}
|
||||||
|
@ -178,6 +178,7 @@ export default class Stickerpicker extends React.Component {
|
||||||
onMinimiseClick={this._onHideStickersClick}
|
onMinimiseClick={this._onHideStickersClick}
|
||||||
handleMinimisePointerEvents={true}
|
handleMinimisePointerEvents={true}
|
||||||
whitelistCapabilities={['m.sticker']}
|
whitelistCapabilities={['m.sticker']}
|
||||||
|
userWidget={true}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue