You've already forked matrix-react-sdk
mirror of
https://github.com/matrix-org/matrix-react-sdk.git
synced 2025-11-08 21:42:24 +03:00
Implement auto-join rooms on registration
Also: This fixes registration with a team: only the email localpart was being used to register.
When a registration is successful, the user will be joined to rooms specified in the config.json teamsConfig:
"teamsConfig" : {
"supportEmail": "support@riot.im",
"teams": [
{
"name" : "matrix",
"emailSuffix" : "matrix.org",
"rooms" : [
{
"id" : "#irc_matrix:matrix.org",
"autoJoin" : true
}
]
}
]
}
autoJoin can of course be set to false if the room should only be displayed on the (forthcoming) welcome page for each team, and not auto-joined.
This commit is contained in:
@@ -179,6 +179,23 @@ module.exports = React.createClass({
|
||||
accessToken: response.access_token
|
||||
});
|
||||
|
||||
// Auto-join rooms
|
||||
if (self.props.teamsConfig) {
|
||||
for (let i = 0; i < self.props.teamsConfig.teams.length; i++) {
|
||||
let team = self.props.teamsConfig.teams[i];
|
||||
if (self.state.formVals.email.endsWith(team.emailSuffix)) {
|
||||
console.log("User successfully registered with team " + team.name);
|
||||
team.rooms.forEach((room) => {
|
||||
if (room.autoJoin) {
|
||||
console.log("Auto-joining " + room.id);
|
||||
MatrixClientPeg.get().joinRoom(room.id);
|
||||
}
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (self.props.brand) {
|
||||
MatrixClientPeg.get().getPushers().done((resp)=>{
|
||||
var pushers = resp.pushers;
|
||||
|
||||
Reference in New Issue
Block a user