Merge pull request #1428 from matrix-org/dbkr/fix_publicity

Fix group membership publicity
This commit is contained in:
David Baker 2017-09-26 15:05:16 +01:00 committed by GitHub
commit c7d4c87c62
3 changed files with 16 additions and 12 deletions

View file

@ -597,9 +597,7 @@ export default React.createClass({
this.setState({ this.setState({
publicityBusy: true, publicityBusy: true,
}); });
MatrixClientPeg.get().setGroupPublicity(this.props.groupId, publicity).then(() => { this._groupSummaryStore.setGroupPublicity(publicity).then(() => {
this._loadGroupFromServer(this.props.groupId);
}).then(() => {
this.setState({ this.setState({
publicityBusy: false, publicityBusy: false,
}); });
@ -730,16 +728,16 @@ export default React.createClass({
} }
let publicisedSection; let publicisedSection;
if (this.state.summary.user && this.state.summary.user.is_public) { if (this.state.summary.user && this.state.summary.user.is_publicised) {
if (!this.state.publicityBusy) { if (!this.state.publicityBusy) {
publicisedButton = <AccessibleButton className="mx_GroupView_textButton mx_RoomHeader_textButton" publicisedButton = <AccessibleButton className="mx_GroupView_textButton mx_RoomHeader_textButton"
onClick={this._onPubliciseOffClick} onClick={this._onPubliciseOffClick}
> >
{_t("Make private")} {_t("Unpublish")}
</AccessibleButton>; </AccessibleButton>;
} }
publicisedSection = <div className="mx_GroupView_membershipSubSection"> publicisedSection = <div className="mx_GroupView_membershipSubSection">
{_t("Your membership of this group is public")} {_t("This group is published on your profile")}
<div className="mx_GroupView_membership_buttonContainer"> <div className="mx_GroupView_membership_buttonContainer">
{publicisedButton} {publicisedButton}
</div> </div>
@ -749,11 +747,11 @@ export default React.createClass({
publicisedButton = <AccessibleButton className="mx_GroupView_textButton mx_RoomHeader_textButton" publicisedButton = <AccessibleButton className="mx_GroupView_textButton mx_RoomHeader_textButton"
onClick={this._onPubliciseOnClick} onClick={this._onPubliciseOnClick}
> >
{_t("Make public")} {_t("Publish")}
</AccessibleButton>; </AccessibleButton>;
} }
publicisedSection = <div className="mx_GroupView_membershipSubSection"> publicisedSection = <div className="mx_GroupView_membershipSubSection">
{_t("Your membership of this group is private")} {_t("This group is not published on your profile")}
<div className="mx_GroupView_membership_buttonContainer"> <div className="mx_GroupView_membership_buttonContainer">
{publicisedButton} {publicisedButton}
</div> </div>

View file

@ -883,8 +883,8 @@
"The user '%(displayName)s' could not be removed from the summary.": "The user '%(displayName)s' could not be removed from the summary.", "The user '%(displayName)s' could not be removed from the summary.": "The user '%(displayName)s' could not be removed from the summary.",
"Failed to add the following rooms to the summary of %(groupId)s:": "Failed to add the following rooms to the summary of %(groupId)s:", "Failed to add the following rooms to the summary of %(groupId)s:": "Failed to add the following rooms to the summary of %(groupId)s:",
"The room '%(roomName)s' could not be removed from the summary.": "The room '%(roomName)s' could not be removed from the summary.", "The room '%(roomName)s' could not be removed from the summary.": "The room '%(roomName)s' could not be removed from the summary.",
"Your membership of this group is public": "Your membership of this group is public", "Unpublish": "Unpublish",
"Your membership of this group is private": "Your membership of this group is private", "This group is published on your profile": "This group is published on your profile",
"Make private": "Make private", "Publish": "Publish",
"Make public": "Make public" "This group is not published on your profile": "This group is not published on your profile"
} }

View file

@ -68,4 +68,10 @@ export default class GroupSummaryStore extends EventEmitter {
.removeUserFromGroupSummary(this._groupId, userId) .removeUserFromGroupSummary(this._groupId, userId)
.then(this._fetchSummary.bind(this)); .then(this._fetchSummary.bind(this));
} }
setGroupPublicity(isPublished) {
return this._matrixClient
.setGroupPublicity(this._groupId, isPublished)
.then(this._fetchSummary.bind(this));
}
} }