Example #1
0
def dashboard(request):
    db = default_storage()
    contracts = Contract.objects(db).order_by("next_date_time")
    payments = Payment.objects(db).order_by("date_time")
    return {
        "contracts": contracts,
        "payments": payments,
        "render_rel_delta": render_rel_delta,
        "chart_url_for_payments": chart_url_for_payments,
        "today": datetime.datetime.today(),
        "default_currency": get_default_currency(),
    }
Example #2
0
    def get_amount_as(self, currency=None):
        """
        Returns amount converted to given currency.

        :param currency:
            Currency name, e.g. "EUR" or "USD". If `None`, bundle setting
            ``default_currency` if used.
        """
        currency = currency or utils.get_default_currency()
        if self.amount == 0:
            return 0
        db = self._saved_state.storage
        return CurrencyRate.convert(db, self.currency, currency, self.amount)
Example #3
0
 def get_expected_payment_amount_as(self, currency=None):
     currency = currency or utils.get_default_currency()
     amount_str = str(self.expected_payment_amount)
     try:
         amount = Decimal(amount_str)
     except decimal.InvalidOperation:
         # e.g. 'N/A' as returned by Dark aggregators in some cases
         return 0
     if amount == 0:
         return 0
     db = self._saved_state.storage
     x = CurrencyRate.convert(db, self.currency, currency, amount)
     return x.quantize(Decimal('0.01'))