Esempio n. 1
0
    def post(self):
        """
        attempt to redeem a coupon code; if none exists, return an error
        """
        parser = reqparse.RequestParser()
        parser.add_argument('sponsor_code', type=str)
        args = parser.parse_args()
        sponsor_code = args['sponsor_code']

        success = False

        if verify_code(sponsor_code):
            teacher = get_active_user()
            if teacher:
                try:
                    redeem_code(
                        teacher = teacher, 
                        coupon_code = sponsor_code
                    )
                except Exception as e:
                    logging.info(e)
                else:
                    success = True

        if success:
            return {'success' : True}
        else:
            return {'success' : False}
Esempio n. 2
0
    def post(self, user_id = None):
        """
        a post request is a NEW user
        """
        parser = reqparse.RequestParser()
        parser.add_argument('formalName', type=str)
        parser.add_argument('username', type=str)
        parser.add_argument('sponsorCode', type=str)
        args = parser.parse_args()
        try: 
            email = users.get_current_user().email()
            sponsor_code = args['sponsorCode']
            if sponsor_code and sponsor_code != '':
                if not verify_code(sponsor_code):
                    raise NameError('Invalid Sponsor Code')

            validate_username(args['username'])
            user = new_user(
                username = args['username'], 
                formalName = args['formalName'], 
                email = email,
                googleID = users.get_current_user().user_id()
                )
            if not user:
                raise NameError('There was a problem creating your user account, please try again')
            new_customer(
                email = email, 
                user = user, 
                coupon_code = sponsor_code
            )
        except Exception as e:
            logging.info(e)
            return {"error" : str(e) }
        else:
            return {"success" : "user successfully created"}
Esempio n. 3
0
    def post(self):
        """
        attempt to redeem a coupon code; if none exists, return an error
        """
        parser = reqparse.RequestParser()
        parser.add_argument('sponsor_code', type=str)
        args = parser.parse_args()
        sponsor_code = args['sponsor_code']

        success = False

        if verify_code(sponsor_code):
            teacher = get_active_user()
            if teacher:
                try:
                    redeem_code(teacher=teacher, coupon_code=sponsor_code)
                except Exception as e:
                    logging.info(e)
                else:
                    success = True

        if success:
            return {'success': True}
        else:
            return {'success': False}
Esempio n. 4
0
    def post(self, user_id=None):
        """
        a post request is a NEW user
        """
        parser = reqparse.RequestParser()
        parser.add_argument('formalName', type=str)
        parser.add_argument('username', type=str)
        parser.add_argument('sponsorCode', type=str)
        args = parser.parse_args()
        try:
            email = users.get_current_user().email()
            sponsor_code = args['sponsorCode']
            if sponsor_code and sponsor_code != '':
                if not verify_code(sponsor_code):
                    raise NameError('Invalid Sponsor Code')

            validate_username(args['username'])
            user = new_user(username=args['username'],
                            formalName=args['formalName'],
                            email=email,
                            googleID=users.get_current_user().user_id())
            if not user:
                raise NameError(
                    'There was a problem creating your user account, please try again'
                )
            new_customer(email=email, user=user, coupon_code=sponsor_code)
        except Exception as e:
            logging.info(e)
            return {"error": str(e)}
        else:
            return {"success": "user successfully created"}