set email branding after registration
This commit is contained in:
parent
83fd02bdfa
commit
1d31463140
3 changed files with 24 additions and 9 deletions
|
@ -51,7 +51,6 @@ class Register extends Signup {
|
||||||
this.username = undefined; // desired
|
this.username = undefined; // desired
|
||||||
this.email = undefined; // desired
|
this.email = undefined; // desired
|
||||||
this.password = undefined; // desired
|
this.password = undefined; // desired
|
||||||
this.brand = undefined; // optional brand to let the HS brand its mail notifs
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setClientSecret(secret) {
|
setClientSecret(secret) {
|
||||||
|
@ -74,10 +73,6 @@ class Register extends Signup {
|
||||||
this.guestAccessToken = token;
|
this.guestAccessToken = token;
|
||||||
}
|
}
|
||||||
|
|
||||||
setBrand(brand) {
|
|
||||||
this.brand = brand;
|
|
||||||
}
|
|
||||||
|
|
||||||
getStep() {
|
getStep() {
|
||||||
return this._step;
|
return this._step;
|
||||||
}
|
}
|
||||||
|
@ -136,7 +131,7 @@ class Register extends Signup {
|
||||||
|
|
||||||
return MatrixClientPeg.get().register(
|
return MatrixClientPeg.get().register(
|
||||||
this.username, this.password, this.params.sessionId, authDict, bindEmail,
|
this.username, this.password, this.params.sessionId, authDict, bindEmail,
|
||||||
this.guestAccessToken, this.brand
|
this.guestAccessToken
|
||||||
).then(function(result) {
|
).then(function(result) {
|
||||||
self.credentials = result;
|
self.credentials = result;
|
||||||
self.setStep("COMPLETE");
|
self.setStep("COMPLETE");
|
||||||
|
|
|
@ -100,7 +100,7 @@ module.exports = {
|
||||||
return this.getEmailPusher(pushers, address) !== undefined;
|
return this.getEmailPusher(pushers, address) !== undefined;
|
||||||
},
|
},
|
||||||
|
|
||||||
addEmailPusher: function(address) {
|
addEmailPusher: function(address, data) {
|
||||||
return MatrixClientPeg.get().setPusher({
|
return MatrixClientPeg.get().setPusher({
|
||||||
kind: 'email',
|
kind: 'email',
|
||||||
app_id: "m.email",
|
app_id: "m.email",
|
||||||
|
@ -108,7 +108,7 @@ module.exports = {
|
||||||
app_display_name: 'Email Notifications',
|
app_display_name: 'Email Notifications',
|
||||||
device_display_name: address,
|
device_display_name: address,
|
||||||
lang: navigator.language,
|
lang: navigator.language,
|
||||||
data: {},
|
data: data,
|
||||||
append: true, // We always append for email pushers since we don't want to stop other accounts notifying to the same email address
|
append: true, // We always append for email pushers since we don't want to stop other accounts notifying to the same email address
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -22,6 +22,7 @@ var sdk = require('../../../index');
|
||||||
var dis = require('../../../dispatcher');
|
var dis = require('../../../dispatcher');
|
||||||
var Signup = require("../../../Signup");
|
var Signup = require("../../../Signup");
|
||||||
var ServerConfig = require("../../views/login/ServerConfig");
|
var ServerConfig = require("../../views/login/ServerConfig");
|
||||||
|
var MatrixClientPeg = require("../../../MatrixClientPeg");
|
||||||
var RegistrationForm = require("../../views/login/RegistrationForm");
|
var RegistrationForm = require("../../views/login/RegistrationForm");
|
||||||
var CaptchaForm = require("../../views/login/CaptchaForm");
|
var CaptchaForm = require("../../views/login/CaptchaForm");
|
||||||
|
|
||||||
|
@ -67,7 +68,6 @@ module.exports = React.createClass({
|
||||||
this.registerLogic.setRegistrationUrl(this.props.registrationUrl);
|
this.registerLogic.setRegistrationUrl(this.props.registrationUrl);
|
||||||
this.registerLogic.setIdSid(this.props.idSid);
|
this.registerLogic.setIdSid(this.props.idSid);
|
||||||
this.registerLogic.setGuestAccessToken(this.props.guestAccessToken);
|
this.registerLogic.setGuestAccessToken(this.props.guestAccessToken);
|
||||||
this.registerLogic.setBrand(this.props.brand);
|
|
||||||
this.registerLogic.recheckState();
|
this.registerLogic.recheckState();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -147,6 +147,26 @@ module.exports = React.createClass({
|
||||||
identityServerUrl: self.registerLogic.getIdentityServerUrl(),
|
identityServerUrl: self.registerLogic.getIdentityServerUrl(),
|
||||||
accessToken: response.access_token
|
accessToken: response.access_token
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (self.props.brand) {
|
||||||
|
MatrixClientPeg.get().getPushers().done((resp)=>{
|
||||||
|
var pushers = resp.pushers;
|
||||||
|
for (var i = 0; i < pushers.length; ++i) {
|
||||||
|
if (pushers[i].kind == 'email') {
|
||||||
|
var emailPusher = pushers[i];
|
||||||
|
emailPusher.data = { brand: self.props.brand };
|
||||||
|
MatrixClientPeg.get().setPusher(emailPusher).done(() => {
|
||||||
|
console.log("Set email branding to " + self.props.brand);
|
||||||
|
}, (error) => {
|
||||||
|
console.error("Couldn't set email branding: " + error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, (error) => {
|
||||||
|
console.error("Couldn't get pushers: " + error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
}, function(err) {
|
}, function(err) {
|
||||||
if (err.message) {
|
if (err.message) {
|
||||||
self.setState({
|
self.setState({
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue