Fix ability to feature self in a group summary

By default the AddressPicker would omit the currently logged-in user. This adds a property to override that to allow "self" to be picked.
This commit is contained in:
Luke Barnard 2017-09-27 11:04:41 +01:00
parent 1ca9102442
commit 6bc9b32ab7
2 changed files with 9 additions and 1 deletions

View file

@ -239,6 +239,7 @@ const RoleUserList = React.createClass({
button: _t("Add to summary"), button: _t("Add to summary"),
validAddressTypes: ['mx'], validAddressTypes: ['mx'],
groupId: this.props.groupId, groupId: this.props.groupId,
shouldOmitSelf: false,
onFinished: (success, addrs) => { onFinished: (success, addrs) => {
if (!success) return; if (!success) return;
const errorList = []; const errorList = [];

View file

@ -41,7 +41,11 @@ module.exports = React.createClass({
validAddressTypes: PropTypes.arrayOf(PropTypes.oneOf(addressTypes)), validAddressTypes: PropTypes.arrayOf(PropTypes.oneOf(addressTypes)),
onFinished: PropTypes.func.isRequired, onFinished: PropTypes.func.isRequired,
groupId: PropTypes.string, groupId: PropTypes.string,
// The type of entity to search for. Default: 'user'.
pickerType: PropTypes.oneOf(['user', 'room']), pickerType: PropTypes.oneOf(['user', 'room']),
// Whether the current user should be omitted from the address returned. Only
// applicable when pickerType is `user`. Default: true.
shouldOmitSelf: PropTypes.bool,
}, },
getDefaultProps: function() { getDefaultProps: function() {
@ -50,6 +54,7 @@ module.exports = React.createClass({
focus: true, focus: true,
validAddressTypes: addressTypes, validAddressTypes: addressTypes,
pickerType: 'user', pickerType: 'user',
shouldOmitSelf: true,
}; };
}, },
@ -366,7 +371,9 @@ module.exports = React.createClass({
}); });
return; return;
} }
if (result.user_id === MatrixClientPeg.get().credentials.userId) { if (this.props.shouldOmitSelf &&
result.user_id === MatrixClientPeg.get().credentials.userId
) {
return; return;
} }