From 2f934455ada900216ad58d4b8ffebdb2100ed8d5 Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Wed, 18 May 2016 16:39:11 +0200 Subject: [PATCH] v3: support party invitation from email --- website/client/js/controllers/authCtrl.js | 12 ++++++++++-- website/server/controllers/api-v3/groups.js | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/website/client/js/controllers/authCtrl.js b/website/client/js/controllers/authCtrl.js index 8107a543a6..13bc8ca1e6 100644 --- a/website/client/js/controllers/authCtrl.js +++ b/website/client/js/controllers/authCtrl.js @@ -31,7 +31,7 @@ angular.module('habitrpg') } else if (status === 400 && data.errors && _.isArray(data.errors)) { // bad requests data.errors.forEach(function (err) { $window.alert(err.message); - }); + }); } else if (!!data && !!data.error) { $window.alert(data.message); } else { @@ -51,7 +51,15 @@ angular.module('habitrpg') $scope.registrationInProgress = true; var url = ApiUrl.get() + "/api/v3/user/auth/local/register"; - if($rootScope.selectedLanguage) url = url + '?lang=' + $rootScope.selectedLanguage.code; + if (location.search && location.search.indexOf('Invite=') !== -1) { // matches groupInvite and partyInvite + url += location.search; + } + + if($rootScope.selectedLanguage) { + var toAppend = url.indexOf('?') !== -1 ? '&' : '?'; + url = url + toAppend + 'lang=' + $rootScope.selectedLanguage.code; + } + $http.post(url, scope.registerVals).success(function(res, status, headers, config) { runAuth(res.data._id, res.data.apiToken); }).error(errorAlert); diff --git a/website/server/controllers/api-v3/groups.js b/website/server/controllers/api-v3/groups.js index 5f10b02570..b3a87047a3 100644 --- a/website/server/controllers/api-v3/groups.js +++ b/website/server/controllers/api-v3/groups.js @@ -568,7 +568,7 @@ async function _inviteByEmail (invite, group, inviter, req, res) { inviter: inviter._id, sentAt: Date.now(), // so we can let it expire }); - let link = `?groupInvite=${encrypt(groupQueryString)}`; + let link = `/static/front?groupInvite=${encrypt(groupQueryString)}`; let variables = [ {name: 'LINK', content: link},