diff --git a/public/js/controllers/groupsCtrl.js b/public/js/controllers/groupsCtrl.js index 1b3ef7fba2..8ac547a874 100644 --- a/public/js/controllers/groupsCtrl.js +++ b/public/js/controllers/groupsCtrl.js @@ -72,13 +72,13 @@ habitrpg.controller("GroupsCtrl", ['$scope', '$rootScope', 'Shared', 'Groups', ' group.invitee = ''; }); } - - $scope.emails = [{name:"",email:""},{name:"",email:""}]; //$scope.inviteLink = function(obj){ // return window.env.BASE_URL + '?partyInvite=' + encodeURIComponent(JSON.stringify(obj)); //} - $scope.inviteEmails = function(emails){ - $http.post('/api/v2/user/social/invite-friends', emails).success(function(){ + $scope.emails = [{name:"",email:""},{name:"",email:""}]; + $scope.inviter = User.user.profile.name; + $scope.inviteEmails = function(inviter, emails){ + $http.post('/api/v2/user/social/invite-friends', {inviter:inviter, emails:emails}).success(function(){ Notification.text("Invitations sent!"); $scope.emails = [{name:'',email:''},{name:'',email:''}]; }); diff --git a/src/controllers/user.js b/src/controllers/user.js index 6fd278ef39..6162643fcf 100644 --- a/src/controllers/user.js +++ b/src/controllers/user.js @@ -402,11 +402,11 @@ api.inviteFriends = function(req, res, next) { Group.findOne({type:'party', members:{'$in': [res.locals.user._id]}}).select('_id name').exec(function(err,party){ if (err) return next(err); var link = nconf.get('BASE_URL') + '?' + qs.stringify({partyInvite:{id:party._id, inviter:res.locals.user._id, name:party.name}}); - _.each(req.body, function(invite){ + _.each(req.body.emails, function(invite){ if (invite.email) { var variables = [ {name: 'LINK', content: link}, - {name: 'INVITER', content: res.locals.user.profile.name}, + {name: 'INVITER', content: req.body.inviter || res.locals.user.profile.name}, {name: 'INVITEE', content: invite.name} ]; // TODO implement "users can only be invited once" diff --git a/views/shared/modals/invite-friends.jade b/views/shared/modals/invite-friends.jade index 87b7e36215..a658b5df0d 100644 --- a/views/shared/modals/invite-friends.jade +++ b/views/shared/modals/invite-friends.jade @@ -15,24 +15,29 @@ script(type='text/ng-template', id='modals/invite-friends.html') p.alert.alert-info Invite friends by email. If they join via your email, they'll automatically be invited to your party. - table.table.table-striped - thead - tr - th Name - th Email - tbody - tr(ng-repeat='email in emails') - td - input.form-control(type='text', ng-model='email.name') - td - input.form-control(type='email', ng-model='email.email') - tr - td(colspan=2) - button.btn.btn-xs.pull-right(ng-click='emails = emails.concat([{name:"",email:""}])') - i.glyphicon.glyphicon-plus - tr - td(colspan=2) - button.btn.btn-primary.pull-right(ng-click='inviteEmails(emails)') Invite New User(s) + form.form-horizontal(ng-submit='inviteEmails(inviter, emails)') + table.table.table-striped + thead + tr + th Name + th Email + tbody + tr(ng-repeat='email in emails') + td + input.form-control(type='text', ng-model='email.name') + td + input.form-control(type='email', ng-model='email.email') + tr + td(colspan=2) + a.btn.btn-xs.pull-right(ng-click='emails = emails.concat([{name:"",email:""}])') + i.glyphicon.glyphicon-plus + tr + td.form-group(colspan=2) + label.col-sm-1.control-label By: + .col-sm-7 + input.form-control(type='text', ng-model='inviter') + .col-sm-4 + button.btn.btn-primary(type='submit') Invite New User(s) //- hr