示例#1
0
文件: models.py 项目: ghostmod/pcp
    def add_credit(self, value, free=False):
        retval = None
        if settings.JSONRPC_URL and not free:
            items = [{
                "description": config.invoice_desc,
                "count": float(value),
                "unit": "kr.",
                "price": 1 / float(config.credit_currency.split(",")
                                   [0]),  #TODO:change it to multicurrency
                "tax": config.tax,
            }]

            proxy = ServiceProxy(settings.JSONRPC_URL)
            #TODO:what to do with exception?
            retval = proxy.add_invoice(settings.JSONRPC_USERNAME,
                                       settings.JSONRPC_PASSWORD,
                                       self.address_id, items)

        bonus = 1.0

        if value >= 1000:
            bonus = config.credit_1000_bonus
        elif value >= 750:
            bonus = config.credit_750_bonus
        elif value >= 500:
            bonus = config.credit_500_bonus
        elif value >= 250:
            bonus = config.credit_250_bonus

        credit = Credit(user=self.user,
                        value=value * bonus,
                        bonus=value * (bonus - 1.0),
                        invoice=free)
        credit.save()

        message = Message.objects.filter(purpose="add_credit")
        if message:
            message[0].send(
                config.email, {
                    "user": self.user.username,
                    "credit": value,
                    "bonus": value * (bonus - 1.0)
                })

        return retval
示例#2
0
    def add_credit(self, value, free=False):
        bonus = 1.0

        if value >= 1000:
            bonus = config.credit_1000_bonus
        elif value >= 750:
            bonus = config.credit_750_bonus
        elif value >= 500:
            bonus = config.credit_500_bonus
        elif value >= 250:
            bonus = config.credit_250_bonus

        credit = Credit(user=self.user, value=value * bonus, bonus=value * (bonus - 1.0), invoice=free)
        credit.save()

        message = Message.objects.filter(purpose="add_credit")
        if message:
            message[0].send(config.email, {"user": self.user.username, "credit": value, "bonus": value * (bonus - 1.0)})
示例#3
0
文件: models.py 项目: ghostmod/pcp
    def add_credit(self, value, free=False):
        retval = None
        if settings.JSONRPC_URL and not free:
            items = [{
                "description": config.invoice_desc,
                "count": float(value),
                "unit": "kr.",
                "price": 1 / float(config.credit_currency.split(",")[0]), #TODO:change it to multicurrency
                "tax": config.tax,
                }]

            proxy = ServiceProxy(settings.JSONRPC_URL)
            #TODO:what to do with exception?
            retval = proxy.add_invoice(
                settings.JSONRPC_USERNAME,
                settings.JSONRPC_PASSWORD,
                self.address_id,
                items
            )

        bonus = 1.0

        if value >= 1000:
            bonus = config.credit_1000_bonus
        elif value >= 750:
            bonus = config.credit_750_bonus
        elif value >= 500:
            bonus = config.credit_500_bonus
        elif value >= 250:
            bonus = config.credit_250_bonus

        credit = Credit(user=self.user, value=value * bonus, bonus=value * (bonus - 1.0), invoice=free)
        credit.save()

        message = Message.objects.filter(purpose="add_credit")
        if message:
            message[0].send(config.email, {"user": self.user.username, "credit": value, "bonus": value * (bonus - 1.0)})

        return retval
示例#4
0
def add_credit(user, value, address=None, free=False):
    value = float(value)

    if not address and not free:
        address = user.address_set.filter(removed=False).get(default=True)

    credit = Credit()
    if not free:
        credit.date_payed = None
    else:
        credit.date_payed = datetime.now()
    print config.credit_currency
    credit.user = user
    credit.price = (1 / float(config.credit_quotient)) * value
    credit.currency = config.credit_currency
    credit.value = value
    credit.bonus = 0
    credit.address = address
    credit.save()

    if address and not free:
        context = {
            "cost": credit.price,
            "currency": credit.currency,
            "bank": config.bank_name,
            "bank_account": config.bank_account,
            "var_symbol": user.parms.var_symbol,
        }
        msg = Message.objects.get(purpose="make_a_payment")
        msg.send(address.email, context)

    return credit
示例#5
0
def add_credit(user, value, address=None, free=None):
    bonus = 1.0
    value = float(value)

    if value >= 1000:
        bonus = config.credit_1000_bonus
    elif value >= 750:
        bonus = config.credit_750_bonus
    elif value >= 500:
        bonus = config.credit_500_bonus
    elif value >= 250:
        bonus = config.credit_250_bonus

    if not address and not free:
        address = user.address_set.get(default=True)

    credit = Credit()
    if not free:
        credit.date_payed = None
    else:
        credit.date_payed = datetime.now()
    credit.user = user
    credit.price = (1 / float(config.credit_currency.split(",")[0])) * value
    credit.currency = "CZK"
    credit.value = value * bonus
    credit.bonus = value * (bonus - 1.0)
    credit.address = address
    credit.save()

    return credit, bonus
示例#6
0
文件: tools.py 项目: masterdubs/pcp
def add_credit(user, value, address=None, free=None):
    value = float(value)

    if not address and not free:
        address = user.address_set.filter(removed=False).get(default=True)

    credit = Credit()
    if not free:
        credit.date_payed = None
    else:
        credit.date_payed = datetime.now()
    print config.credit_currency
    credit.user = user
    credit.price = (1 / float(config.credit_quotient)) * value
    credit.currency = config.credit_currency
    credit.value = value
    credit.bonus = 0
    credit.address = address
    credit.save()

    if address and not free:
        context = {
            "cost": credit.price,
            "currency": credit.currency,
            "bank": config.bank_name,
            "bank_account": config.bank_account,
            "var_symbol": user.parms.var_symbol,
            }
        msg = Message.objects.get(purpose="make_a_payment")
        msg.send(address.email, context)

    return credit
示例#7
0
文件: tools.py 项目: seanchen/pcp
def add_credit(user, value, address=None, free=None):
    bonus = 1.0
    value = float(value)

    if value >= 1000:
        bonus = config.credit_1000_bonus
    elif value >= 750:
        bonus = config.credit_750_bonus
    elif value >= 500:
        bonus = config.credit_500_bonus
    elif value >= 250:
        bonus = config.credit_250_bonus

    if not address and not free:
        address = user.address_set.get(default=True)

    credit = Credit()
    if not free:
        credit.date_payed = None
    else:
        credit.date_payed = datetime.now()
    credit.user = user
    credit.price = (1 / float(config.credit_currency.split(",")[0])) * value
    credit.currency = "CZK"
    credit.value = value * bonus
    credit.bonus = value * (bonus - 1.0)
    credit.address = address
    credit.save()

    return credit, bonus