def write_global_total_ttc(self): """ Write the total tva in the upper part of the sheet """ self._write_inline( u"Total TTC", u"%s €" % strings.format_amount(self.model.total, grouping=False))
def write_global_total_km(self): """ Write the total number of kilometers registered """ self._write_inline( u"Total Kilométrique", u"%s km" % strings.format_amount(self.model.total_km, grouping=False))
def deferred_bank_remittance_id_default(node, kw): """ default value for the payment amount """ return format_amount(get_amount_topay(kw), precision=AMOUNT_PRECISION, grouping=False)
def help_message(self): return ( u"Enregistrer un paiement pour la facture {0} dont le montant " u"ttc restant à payer est de {1} €".format( self.context.official_number, format_amount(self.context.topay(), precision=5) ) )
def deferred_bank_remittance_id_default(node, kw): """ default value for the payment amount """ return format_amount( get_amount_topay(kw), precision=AMOUNT_PRECISION, grouping=False )
def task_formatter(task): from autonomie.utils.strings import format_amount res = { 'official_number': task.official_number, 'date': task.date, 'ht': format_amount(task.ht, grouping=False, precision=5), 'tva': format_amount(task.tva, grouping=False, precision=5), 'ttc': format_amount(task.ttc, grouping=False, precision=5), 'company': task.project.company.name, 'code': task.project.company.code_compta, 'quantity': sum([line.quantity for line in task.all_lines]), 'customer': task.customer.label, 'description': task.description, 'payment': '', } if task.payments: res['payment'] = task.payments[0].mode return res
def write_global_total_km(self): """ Write the total number of kilometers registered """ self._write_inline( u"Total Kilométrique", u"%s km" % strings.format_amount( self.model.total_km, grouping=False ) )
def write_global_total_ttc(self): """ Write the total tva in the upper part of the sheet """ self._write_inline( u"Total TTC", u"%s €" % strings.format_amount( self.model.total, grouping=False ) )
def format_debit(self, debit): """ Format the debit entry to get a clean float in our export 12000 => 120,00 """ if debit == '': return 0 else: return format_amount(debit, grouping=False, precision=self.amount_precision)
def format_debit(self, debit): """ Format the debit entry to get a clean float in our export 12000 => 120,00 """ if debit == '': return 0 else: return format_amount( debit, grouping=False, precision=self.amount_precision )
def deferred_total_validator(node, kw): """ validate the amount to keep the sum under the total """ topay = get_amount_topay(kw) max_msg = u"Le montant ne doit pas dépasser %s (total ttc - somme \ des paiements + montant d'un éventuel avoir)" % ( format_amount(topay, precision=AMOUNT_PRECISION, grouping=False) ) min_msg = u"Le montant doit être positif" # We insert a large epsilon to allow larger payments to be registered max_value = topay + PAYMENT_EPSILON return colander.Range( min=0, max=max_value, min_err=min_msg, max_err=max_msg, )
def deferred_total_validator(node, kw): """ validate the amount to keep the sum under the total """ topay = get_amount_topay(kw) max_msg = u"Le montant ne doit pas dépasser %s (total ttc - somme \ des paiements + montant d'un éventuel avoir)" % (format_amount( topay, precision=AMOUNT_PRECISION, grouping=False)) min_msg = u"Le montant doit être positif" # We insert a large epsilon to allow larger payments to be registered max_value = topay + PAYMENT_EPSILON return colander.Range( min=0, max=max_value, min_err=min_msg, max_err=max_msg, )
def help_message(self): return (u"Enregistrer un paiement pour la facture {0} dont le montant " u"ttc restant à payer est de {1} €".format( self.context.official_number, format_amount(self.context.topay(), precision=5)))
def test_format_amount(self): a = 1525 b = 1525.3 locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8') self.assertEqual(strings.format_amount(a), "15,25") self.assertEqual(strings.format_amount(a, trim=False), "15,25") self.assertEqual(strings.format_amount(b), "15,25") self.assertEqual(strings.format_amount(b, trim=False), "15,25") c = 210000 self.assertEqual(strings.format_amount(c, grouping=False), "2100,00") self.assertEqual(strings.format_amount(c, grouping=True), "2 100,00") c = 21000000.0 self.assertEqual(strings.format_amount(c, trim=False, precision=5), "210,00") c = 21000004.0 self.assertEqual(strings.format_amount(c, trim=False, precision=5), "210,00004") c = 21000040.0 self.assertEqual(strings.format_amount(c, trim=False, precision=5), "210,0004") self.assertEqual(strings.format_amount(c, trim=True, precision=5), "210,00") c = 21012000.0 self.assertEqual(strings.format_amount(c, trim=False, precision=5), "210,12") # With None input self.assertEqual(strings.format_amount(None), "")
def test_format_amount(self): a = 1525 b = 1525.3 locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8') self.assertEqual(strings.format_amount(a), u"15,25") self.assertEqual(strings.format_amount(a, trim=False), u"15,25") self.assertEqual(strings.format_amount(b), u"15,25") self.assertEqual(strings.format_amount(b, trim=False), u"15,25") c = 210000 self.assertEqual( strings.format_amount(c, grouping=False), u"2100,00" ) self.assertEqual( strings.format_amount(c, grouping=True), u"2 100,00" ) c = 21000000.0 self.assertEqual( strings.format_amount(c, trim=False, precision=5), u"210,00" ) c = 21000004.0 self.assertEqual( strings.format_amount(c, trim=False,precision=5), u"210,00004" ) c = 21000040.0 self.assertEqual( strings.format_amount(c, trim=False,precision=5), u"210,0004" ) self.assertEqual( strings.format_amount(c, trim=True, precision=5), u"210,00" ) c = 21012000.0 self.assertEqual( strings.format_amount(c, trim=False, precision=5), u"210,12" ) # With None input self.assertEqual( strings.format_amount(None), u"" )