add placeholder 'rate'

This commit is contained in:
Frederik Jaeckel 2024-03-10 22:21:00 +01:00
parent 08534047fb
commit e1502cae53
5 changed files with 28 additions and 9 deletions

View file

@ -107,8 +107,8 @@ msgid "Booking text"
msgstr "Buchungstext"
msgctxt "view:cashbook.planner:"
msgid "Available placeholders: ${date} ${month} ${year} ${amount} ${quantity}"
msgstr "verfügbare Platzhalter: ${date} ${month} ${year} ${amount} ${quantity}"
msgid "Available placeholders: ${date} ${month} ${year} ${amount} ${quantity} ${rate}"
msgstr "verfügbare Platzhalter: ${date} ${month} ${year} ${amount} ${quantity} ${rate}"
msgctxt "view:cashbook.planner:"
msgid "Cashbook lines"
@ -318,6 +318,10 @@ msgctxt "help:cashbook.planner,cashbook_lines:"
msgid "This cash book lines was generated by the current scheduled booking."
msgstr "Diese Kassenbuchzeilen wurden durch die aktuelle geplante Buchung generiert."
msgctxt "field:cashbook.planner,party:"
msgid "Party"
msgstr "Partei"
############################
# cashbook.planner.nextrun #

View file

@ -83,8 +83,8 @@ msgid "Booking text"
msgstr "Booking text"
msgctxt "view:cashbook.planner:"
msgid "Available placeholders: ${date} ${month} ${year} ${amount} ${quantity}"
msgstr "Available placeholders: ${date} ${month} ${year} ${amount} ${quantity}"
msgid "Available placeholders: ${date} ${month} ${year} ${amount} ${quantity} ${rate}"
msgstr "Available placeholders: ${date} ${month} ${year} ${amount} ${quantity} ${rate}"
msgctxt "view:cashbook.planner:"
msgid "Cashbook lines"
@ -294,6 +294,10 @@ msgctxt "help:cashbook.planner,cashbook_lines:"
msgid "This cash book lines was generated by the current scheduled booking."
msgstr "This cash book lines was generated by the current scheduled booking."
msgctxt "field:cashbook.planner,party:"
msgid "Party"
msgstr "Party"
msgctxt "model:cashbook.planner.nextrun,name:"
msgid "Next Execution Date"
msgstr "Next Execution Date"

View file

@ -515,6 +515,15 @@ class ScheduledBooking(DeactivableMixin, ModelSQL, ModelView):
quantity_txt = Report.format_number(
quantity, lang=None, digits=uom_digits)
asset_rate = '-'
if quantity and amount is not None:
asset_rate = '%(rate)s %(currency)s/%(uom)s' % {
'rate': Report.format_number(
amount / quantity, lang=None,
digits=to_book.currency.digits),
'currency': to_book.currency.symbol,
'uom': to_book.quantity_uom.symbol}
return Template(linedata.get('description')).safe_substitute({
'date': Report.format_date(line_date, lang=None),
'month': line_date.month,
@ -522,7 +531,8 @@ class ScheduledBooking(DeactivableMixin, ModelSQL, ModelView):
'amount': Report.format_currency(
amount, lang=None, currency=from_book.currency)
if (amount is not None) and from_book else '-',
'quantity': quantity_txt})
'quantity': quantity_txt,
'rate': asset_rate})
@classmethod
def update_next_occurence(cls, records, query_date=None):

View file

@ -364,12 +364,13 @@ class PlannerTestCase(object):
asset_book = self.prep_planner_asset_book()
self.assertEqual(Planner.fill_placeholder({
'date': date(2022, 5, 2),
'amount': Decimal('12.4567'),
'amount': Decimal('126.4567'),
'quantity': Decimal('32.4423'),
'cashbook': asset_book.id,
'booktransf': asset_book.id,
'description': '- ${amount} - ${date} - ${month} - ' +
'${year} - ${quantity}'}),
'- usd12.46 - 05/02/2022 - 5 - 2022 - 32.4423\xa0u')
'${year} - ${quantity} - ${rate}'}),
'- usd126.46 - 05/02/2022 - 5 - 2022 - 32.4423\xa0u - 3.90 usd/u')
@with_transaction()
def test_planner_cronjobs_booking_with_category(self):

View file

@ -59,7 +59,7 @@ full copyright notices and license terms. -->
<separator name="subject" colspan="4" string="Booking text"/>
<field name="subject" colspan="4"/>
<label id="lab1" colspan="4" xalign="0.0"
string="Available placeholders: ${date} ${month} ${year} ${amount} ${quantity}"/>
string="Available placeholders: ${date} ${month} ${year} ${amount} ${quantity} ${rate}"/>
</page>
<page name="description" col="1" string="Description">
<field name="description"/>