Beispiel #1
0
    def update_tax_ratio(self, ratio, year, user):
        query = TaxRatio.query(TaxRatio.year == year)
        update = False
        for taxratio in query.fetch(2):
            if taxratio.user == user:
                taxratio.ratio = ratio
            else:
                taxratio.ratio = 1 - ratio
            logging.debug("saving ratio %s for user %s" % (str(taxratio), user))
            taxratio.put()
            update = True

        if not update:
            taxratioa = TaxRatio(user=user, ratio=ratio, year=year)
            logging.debug("saving %s" % str(taxratioa))
            taxratioa.put()
            taxratiob = TaxRatio(user=users_helper.get_other_nickname(), ratio=1 - ratio, year=year)
            logging.debug("saving %s" % str(taxratiob))
            taxratiob.put()
        else:
            # update balance with this new tax ratio
            for month in range(1, 12):
                user_expenses = UserExpenses.get_user_expenses(month, year)
                UserExpenses.compute_balance(user_expenses, month, year)
 def get_tax_ratio(cls, user, year):
     query = TaxRatio.query(TaxRatio.user == user, TaxRatio.year == year)
     tax_ratio = query.get()
     if tax_ratio is None:
         return 0.5
     return tax_ratio.ratio