Ejemplo n.º 1
0
    def updateUserProvisions(self, subscriber_id):
        userprovisions = UserProvisions.gql("WHERE user_id = :user_id",
                                            user_id=subscriber_id)
        if userprovisions.count() != 1:
            logging.error(
                'User not provisioned but has created subscription?! Provisioning now...'
            )
            userprovision = UserProvisions()
            userprovision.user_id = subscriber_id
            userprovision.who = users.get_current_user()
            userprovision.save_enabled = True
            userprovision.report_enabled = True
            userprovision.provisioned_for = ['WEB']
            #default 15 days validity
            userprovision.valid_until = datetime.combine(
                date.today(), anothertime()) + timedelta(days=15)
            #return False, '', 'Could not update subscription data. Please contact customer support.'
        else:
            userprovision = userprovisions.get()

        subscription_valid = True
        subscription_valid_until = userprovision.valid_until

        subscriber_details = spreedlyinterface.subscriber_details(
            subscriber_id)
        logging.debug('Fetched Subscriber details %s' %
                      str(subscriber_details))

        if subscriber_details and subscriber_details[
                'customer-id'] == subscriber_id:
            logging.debug('updating tripfiles userprovisions...')
            valid_until_str = subscriber_details[
                'active-until'] if subscriber_details.has_key(
                    'active-until') else None
            if valid_until_str:
                valid_until = datetime.strptime(
                    valid_until_str,
                    '%Y-%m-%dT%H:%M:%SZ')  #u'2010-11-22T16:45:13Z',
                userprovision.valid_until = valid_until

            subscription_valid = True if subscriber_details.has_key(
                'active') and subscriber_details['active'] == 'true' else False
            notification_msg = 'Subscription active' if subscription_valid else 'Subscription inactive'
            userprovision.save_enabled = subscription_valid
            userprovision.report_enabled = subscription_valid
            userprovision.subscription_token = subscriber_details[
                'token'] if subscriber_details.has_key('token') else None
            userprovision.subscription_code = subscriber_details[
                'feature-level'] if subscriber_details.has_key(
                    'feature-level') else None
            userprovision.save()

        return notification_msg
Ejemplo n.º 2
0
    def updateUserProvisions(self, subscriber_id):
        userprovisions = UserProvisions.gql("WHERE user_id = :user_id",user_id=subscriber_id)
        if userprovisions.count()!=1:
            logging.error('User not provisioned but has created subscription?! Provisioning now...')
            userprovision = UserProvisions()            
            userprovision.user_id = subscriber_id
            userprovision.who = users.get_current_user()
            userprovision.save_enabled = True
            userprovision.report_enabled = True
            userprovision.provisioned_for = ['WEB']
            #default 15 days validity
            userprovision.valid_until = datetime.combine(date.today(), anothertime()) + timedelta(days=15)
            #return False, '', 'Could not update subscription data. Please contact customer support.'
        else:
            userprovision = userprovisions.get()
            
        subscription_valid=True
        subscription_valid_until=userprovision.valid_until 
        
        subscriber_details = spreedlyinterface.subscriber_details(subscriber_id)
        logging.debug('Fetched Subscriber details %s' % str(subscriber_details))
  
        if subscriber_details and subscriber_details['customer-id']==subscriber_id:
            logging.debug('updating tripfiles userprovisions...')                    
            valid_until_str = subscriber_details['active-until'] if subscriber_details.has_key('active-until') else None
            if valid_until_str:
                valid_until = datetime.strptime(valid_until_str,  '%Y-%m-%dT%H:%M:%SZ') #u'2010-11-22T16:45:13Z', 
                userprovision.valid_until = valid_until

            subscription_valid = True if subscriber_details.has_key('active') and subscriber_details['active']=='true' else False
            notification_msg = 'Subscription active'  if subscription_valid else 'Subscription inactive'
            userprovision.save_enabled = subscription_valid
            userprovision.report_enabled = subscription_valid
            userprovision.subscription_token = subscriber_details['token'] if subscriber_details.has_key('token') else None
            userprovision.subscription_code = subscriber_details['feature-level'] if subscriber_details.has_key('feature-level') else None
            userprovision.save()

            
        return notification_msg