Esempio n. 1
0
    def post(self):
        self.check_CSRF()
        product = xstr(self.request.get('product'))
        quantity = xint(self.request.get('quantity'))
        order_type = xstr(self.request.get('order_type'))
        purchaser_email = xstr(self.request.get('purchaser_email'))
        purchaser_email = purchaser_email if purchaser_email else None
        purchaser_user_id = xint(self.request.get('purchaser_user_id'))
        purchaser_user_id = purchaser_user_id if purchaser_user_id != 0 else None
        info = xstr(self.request.get('info'))
        info = info if info else None

        order_id = webapp2_extras.security.generate_random_string(
            length=10, pool=webapp2_extras.security.DIGITS)
        licence_keys = EnkiModelProductKey.generate_licence_keys(quantity)
        licence_keys = licence_keys.replace('-', '').split()
        for licence_key in licence_keys:
            item = EnkiModelProductKey(licence_key=licence_key,
                                       order_id=order_id,
                                       product_name=product,
                                       shop_name='Generator',
                                       quantity=quantity,
                                       order_type=order_type,
                                       purchaser_email=purchaser_email,
                                       purchaser_user_id=purchaser_user_id,
                                       info=info)
            item.put()
        licence_key_display = []
        for item in licence_keys:
            item_dash = EnkiModelProductKey.insert_dashes_5_10(item)
            licence_key_display.append(item_dash)
        self.add_infomessage(
            MSG.INFORMATION(), '<h3>Licence keys generated</h3>' + '<ul>' +
            '<li>product_name = <em>' + product + '</em></li>' +
            '<li>order_type = <em>' + order_type + '</em></li>' +
            '<li>order_id = <em>' + order_id + '</em></li>' +
            '<li>quantity = <em>' + xstr(quantity) + '</em></li>' +
            '<li>Recipient mail (purchaser_email) = <em>' +
            (purchaser_email if purchaser_email else 'none') + '</em></li>' +
            '<li>Recipient user id (purchaser_user_id) = <em>' +
            (xstr(purchaser_user_id) if purchaser_user_id else 'none') +
            '</em></li>' + '<li>info = <em>' + (info if info else 'none') +
            '</em></li>' + '<li>licence_key(s) = <br><em>' +
            '<br>'.join(licence_key_display) + '</em></li>' + '</ul>')
        self.redirect('licencesgeneratefree')
Esempio n. 2
0
    def post(self):
        secret = xstr(self.request.get('secret'))
        if secret == settings.SECRET_FASTSPRING or enki.libutil.is_debug(
        ) or settings.ENKI_EMULATE_STORE:

            licence_key_bundle = xstr(self.request.get('licence_key'))
            purchase_price = xstr(self.request.get('purchase_price'))
            order_id = xstr(self.request.get('order_id'))
            product_name = xstr(self.request.get('product_name'))
            purchaser_email = xstr(self.request.get('purchaser_email'))
            shop_name = xstr(self.request.get('shop_name'))
            quantity = xint(self.request.get('quantity'))

            if secret == settings.SECRET_FASTSPRING:
                is_test = self.request.get('is_test')
                if is_test.capitalize() == 'True':
                    order_type = 'test'
                else:
                    order_type = 'purchase'
            else:
                order_type = xstr(self.request.get('order_type'))

            purchaser_user_id = None
            token_purchasebyuser = xstr(self.request.get('referrer'))
            if token_purchasebyuser:
                token = EnkiModelTokenVerify.get_by_token_type(
                    token_purchasebyuser, 'purchasebyuser')
                if token:
                    purchaser_user_id = token.user_id
                    token.key.delete()

            licence_keys = licence_key_bundle.replace('-', '').split()
            for licence_key in licence_keys:
                item = EnkiModelProductKey(licence_key=licence_key,
                                           purchase_price=purchase_price,
                                           order_id=order_id,
                                           product_name=product_name,
                                           purchaser_email=purchaser_email,
                                           shop_name=shop_name,
                                           quantity=quantity,
                                           purchaser_user_id=purchaser_user_id,
                                           order_type=order_type)
                item.put()
        return
Esempio n. 3
0
	def post( self ):
		secret = xstr( self.request.get( 'secret' ))
		if secret == settings.SECRET_FASTSPRING or enki.libutil.is_debug( ) or settings.ENKI_EMULATE_STORE:

			licence_key_bundle = xstr( self.request.get( 'licence_key' ))
			purchase_price = xstr( self.request.get( 'purchase_price' ))
			order_id = xstr(self.request.get( 'order_id' ))
			product_name = xstr( self.request.get( 'product_name' ))
			purchaser_email = xstr( self.request.get( 'purchaser_email' ))
			shop_name = xstr( self.request.get( 'shop_name' ))
			quantity = xint( self.request.get( 'quantity' ))

			purchaser_user_id = None
			token_purchasebyuser = xstr( self.request.get( 'referrer' ))
			if token_purchasebyuser:
				token = EnkiModelTokenVerify.get_by_token_type( token_purchasebyuser, 'purchasebyuser' )
				if token:
					purchaser_user_id = token.user_id
					token.key.delete()

			is_test = self.request.get( 'is_test' )
			if is_test:
				order_type = 'test'
				if enki.libutil.is_debug() or settings.ENKI_EMULATE_STORE:
					order_type = 'emulated'

			licence_keys = licence_key_bundle.replace( '-', '' ).split()
			for licence_key in licence_keys:
				item = EnkiModelProductKey( licence_key = licence_key,
				                            purchase_price = purchase_price,
				                            order_id = order_id,
				                            product_name = product_name,
				                            purchaser_email = purchaser_email,
				                            shop_name = shop_name,
				                            quantity = quantity,
				                            purchaser_user_id = purchaser_user_id,
				                            order_type = order_type )
				item.put()
		return