Example #1
0
    def invite_friends_email(self):
        emails = request.POST.get('recipients')
        message = request.POST.get('message') # optional
        if emails:
            emails = emails.split(',')
            invites, invalid, already = \
                make_email_invitations(emails, c.user, c.user.location)
            meta.Session.commit()
            for invitee in invites:
                send_registration_invitation(invitee, c.user, message)

            if invalid:
                h.flash(_("Invalid email addresses: %(email_list)s") % \
                        dict(email_list=', '.join(invalid)))
            if already:
                h.flash(_("These addresses are already registered in Ututi: %(email_list)s") % \
                        dict(email_list=', '.join(already)))
            if invites:
                h.flash(_("Invitations sent to %(email_list)s") % \
                        dict(email_list=', '.join(invite.email for invite in invites)))

        if request.referrer:
            redirect(request.referrer)
        else:
            redirect(url(controller='profile', action='home'))
Example #2
0
    def invite_friends_email_js(self):
        if hasattr(self, 'form_result'):
            emails = self.form_result['recipients']
            message = self.form_result['message']
            invites, invalid, already = \
                make_email_invitations(emails, c.user, c.user.location)
            meta.Session.commit()
            for invitee in invites:
                send_registration_invitation(invitee, c.user, message)

        return {'success': True}
Example #3
0
    def _send_group_invitations(self, group, emails, message=None):
        invites, invalid, already = make_email_invitations(emails, c.user, group.location)
        # invites are registration objects!

        for email in already:
            user = User.get(email, group.location.root)
            if self._check_handshakes(group, user) == 'request':
                # Automatically accept requests to become group member.
                group.add_member(user)
                self._clear_requests(group, c.user)
                h.flash(_('New member %s added.') % user.fullname)
            else:
                invitation = group.create_pending_invitation(email, c.user)
                send_group_invitation_for_user(invitation, email, message)

        for registration in invites:
            invitation = group.create_pending_invitation(registration.email, c.user)
            send_group_invitation_for_non_user(invitation, registration, message)

        if invites:
            h.flash(_("Users invited."))
        if invalid != []:
            h.flash(_("Invalid email addresses detected: %s") % ', '.join(invalid))
        meta.Session.commit()