Пример #1
0
    def GetContext(self):
        tContext = {}

        tDic = VipList.GetVips("Tier1")
        tSubList = []
        tSubscription = VipSubscription()
        tSubscriber = VipSubscriber()

        for tSubscription in tDic["Tier1"]:
            tSubscriber = VipSubscriber.GetSubscriberById(
                tSubscription.subscriptionOwner)
            tTuple = (tSubscriber, tSubscription)
            #logging.debug("Subscription: " + tSubscription.subscriptionOwner)
            #logging.debug("Subscriber: " + tSubscriber.subscriberEmail)
            tSubList.append(tTuple)

        tDic["Tier1"] = tSubList
        tContext.update(tDic)

        tDic = VipList.GetVips("Tier2")
        tSubList = []
        for tSubscription in tDic["Tier2"]:
            tSubscriber = VipSubscriber.GetSubscriberById(
                tSubscription.subscriptionOwner)
            tTuple = (tSubscriber, tSubscription)
            #logging.debug("Subscription: " + tSubscription.subscriptionOwner)
            #logging.debug("Subscriber: " + tSubscriber.subscriberEmail)
            tSubList.append(tTuple)

        tDic["Tier2"] = tSubList
        tContext.update(tDic)

        tDic = VipList.GetVips("Tier3")
        tSubList = []
        for tSubscription in tDic["Tier3"]:
            tSubscriber = VipSubscriber.GetSubscriberById(
                tSubscription.subscriptionOwner)
            tTuple = (tSubscriber, tSubscription)
            #logging.debug("Subscription: " + tSubscription.subscriptionOwner)
            #logging.debug("Subscriber: " + tSubscriber.subscriberEmail)
            tSubList.append(tTuple)

        tDic["Tier3"] = tSubList
        tContext.update(tDic)

        tDic = VipList.GetVips("Tier4")
        tSubList = []
        for tSubscription in tDic["Tier4"]:
            tSubscriber = VipSubscriber.GetSubscriberById(
                tSubscription.subscriptionOwner)
            tTuple = (tSubscriber, tSubscription)
            #logging.debug("Subscription: " + tSubscription.subscriptionOwner)
            #logging.debug("Subscriber: " + tSubscriber.subscriberEmail)
            tSubList.append(tTuple)

        tDic["Tier4"] = tSubList
        tContext.update(tDic)
        #logging.debug(str(tContext))

        return tContext
Пример #2
0
    def PostContext(self):
        tContext = {}
        tVip = VipSubscriber()

        tVipForumName = urllib.unquote(self.request.get('forumname'))
        tVipKey = urllib.unquote(self.request.get('key'))
        if (tVipKey != None and len(tVipKey) > 0):
            tVip = VipSubscriber.get(tVipKey)
            tContext['tVip'] = tVip

        if (tVipForumName != None and len(tVipForumName) > 0):
            tVip.subscriberForumName = tVipForumName

        tVip.put()

        return tContext
Пример #3
0
    def ProcessSubscription(self, pArgumentDic):
        tVipSubscriber = VipSubscriber()
        tVipSub = VipSubscription()
        tVipPayment = VipPayment()
        tLogList = []

        tOwnerEmail = pArgumentDic['payer_email']
        tOwnerId = pArgumentDic['payer_id']
        tVipSubscriber = VipSubscriber.GetSubscriberByIdAndEmail(
            tOwnerId, tOwnerEmail)
        tVipSubs = VipSubscription.GetActiveSubscriptionsByOwner(tOwnerId)

        if (tVipSubs != None and len(tVipSubs) > 0):
            tVipSub = tVipSubs[0]
            tVipSub.subscriptionIsActive = True
            tLogList = tVipSub.subscriptionLog
            tLogList.append("Paid: " + str(datetime.datetime.now()) +
                            " with transaction id " + pArgumentDic['txn_id'])
            tVipSub.subscriptionLog = tLogList
        else:
            tVipSub.subscriptionAutoState = "Tier0"
            tVipSub.subscriptionId = pArgumentDic['subscr_id']
            tLogList = tVipSub.subscriptionLog
            tLogList.append("Started: " + str(datetime.datetime.now()) +
                            " with transaction id " + pArgumentDic['txn_id'])
            tVipSub.subscriptionLog = tLogList
            tVipSub.subscriptionNeedsUpgrade = True
            tVipSub.subscriptionOwner = tOwnerId

        tVipSub.subscriptionIsActive = True
        tSubKey = str(tVipSub.put())

        tVipSubscriber.subscriberHasActiveSubscription = True
        tVipSubscriber.subscriberActiveSubscription = tSubKey
        tSubList = []
        tSubList = tVipSubscriber.subscriberSubscriptions
        tSubList.append(tSubKey)
        tVipSubscriber.put()

        if ('payment_gross' in pArgumentDic.keys()):
            tVipPayment.paymentAmount = pArgumentDic['payment_gross']

        tVipPayment.paymentEmail = tOwnerEmail
        tVipPayment.paymentPaypalId = tOwnerId
        tVipPayment.put()
Пример #4
0
    def ProcessSubscriptionCancellation(self, pArgumentDic):
        tVipSubscriber = VipSubscriber()
        tVipSub = VipSubscription()
        tVipPayment = VipPayment()
        tLogList = []

        tOwnerEmail = pArgumentDic['payer_email']
        tOwnerId = pArgumentDic['payer_id']

        tVipSubList = VipSubscription.GetActiveSubscriptionsByOwner(tOwnerId)

        if (tVipSubList != None):
            if (len(tVipSubList) > 0):
                tVipSub = tVipSubList[0]
                tVipSub.subscriptionIsActive = False
                tVipSub.subscriptionEnd = datetime.datetime.now()
                tVipSub.subscriptionNeedsCancel = True
                tVipSub.put()

        tVipSubscriber.subscriberHasActiveSubscription = False
        tVipSubscriber.subscriberActiveSubscription = ""
        tVipSubscriber.put()
    def PostContext(self):
        tResponse = {}
        tResponse['tResponseText'] = ""
        tPaypal = VipCancelPaypalAjax()
        tResultDictionary = {}
        tPaypalPayload = {}
        tPayload = {}

        pSubscriptionKey = str(self.request.get('key'))
        tSubscription = VipSubscription()
        try:
            tSubscription = VipSubscription.get(pSubscriptionKey)
        except:
            tResponse['tResponseText'] = "Not Found"
            return tResponse
        #logging.debug("Subscription found with owner: " + tSubscription.subscriptionOwner)

        if (tSubscription):

            tPaypalPayload['METHOD'] = "ManageRecurringPaymentsProfileStatus"
            tPaypalPayload['PROFILEID'] = str(tSubscription.subscriptionId)
            tPaypalPayload['ACTION'] = 'Cancel'

            tPayloadEncoded = tPaypal.GeneratePayload(tPaypalPayload)

            request_cookies = mechanize.CookieJar()
            request_opener = mechanize.build_opener(
                mechanize.HTTPCookieProcessor(request_cookies))
            request_opener.addheaders = [('Content-Type',
                                          'application/x-www-form-urlencoded')]
            mechanize.install_opener(request_opener)

            tResponse = mechanize.urlopen(url=tUrl,
                                          timeout=25.0,
                                          data=tPayloadEncoded)
            tResult = str(urllib.unquote(tResponse.read()))

            #logging.debug("Mechanize Package")
            #logging.debug("Url: " + tUrl)
            #logging.debug("Data: " + str(tPaypalPayload))
            #logging.debug("Response: " + tResult)

            tResultSplit = tResult.split('&')

            for tPair in tResultSplit:
                tSplitPair = tPair.split("=")
                tResultDictionary[tSplitPair[0]] = tSplitPair[1]

            tResponse['tResponseText'] = "Cancelled"

            tSubscription.subscriptionIsActive = False
            tSubscription.subscriptionEnd = datetime.datetime.now()
            tSubscription.subscriptionNeedsUpgrade = False
            tSubscription.subscriptionNeedsCancel = False
            tSubscription.put()

            tSubscriber = VipSubscriber()
            tSubscriber.subscriberActiveSubscription = ""
            tSubscriber.subscriberHasActiveSubscription = False
            tSubscriber.put()

        return tResponse