示例#1
0
    def post(self):
        """
        Ajax call to send an invitation on behalf of a user.

        path: /account/quick-send-initation
        """
        current_user_obj = self.get_current_user_object()
        if current_user_obj.invitation_count < 0:  #free day
            return self.write({'error': 'No invitations left'})

        email_address = self.get_argument('email_address', None)
        if not email_address:
            return self.write({'error': 'You need to specify an email.'})

        if not email_re.match(email_address):
            return self.write({'error': 'That email doesn\'t look right.'})

        Invitation.create_for_email(email_address, current_user_obj.id)
        current_user_obj.invitation_count = current_user_obj.invitation_count - 1
        current_user_obj.save()

        message = "<p>You've sent invitations to:</p> <ul>"
        for invitation in Invitation.by_user(current_user_obj):
            message += "<li>%s</li>" % invitation.email_address
        message += "</ul>"

        return self.write({
            'response': 'ok',
            'count': current_user_obj.invitation_count,
            'message': message
        })