Compare commits

...

7 commits

Author SHA1 Message Date
Frederik Jaeckel
6f27beb7a6 Version 7.0.3 2024-03-10 22:23:06 +01:00
Frederik Jaeckel
722b265c33 add placeholder 'rate' 2024-03-10 22:21:00 +01:00
Frederik Jaeckel
a3cba97892 Etikett ver 7.0.2 zum Änderungssatz 3a559e1ae70f hinzugefügt 2024-03-10 07:48:46 +01:00
Frederik Jaeckel
12839d06db Version 7.0.2 2024-03-10 07:47:04 +01:00
Frederik Jaeckel
b47517c4d8 fix permissions 2024-03-10 07:45:24 +01:00
Frederik Jaeckel
b321965515 Etikett ver 7.0.1 zum Änderungssatz 1f242ff67fe9 hinzugefügt 2024-03-09 22:39:57 +01:00
Frederik Jaeckel
170f5885d2 Version 7.0.1 2024-03-09 22:39:36 +01:00
9 changed files with 43 additions and 13 deletions

View file

@ -14,6 +14,14 @@ Requires
Changes
=======
*7.0.0 - 24.02.2024*
*7.0.3 - 10.03.2024*
- init
- new placeholder 'rate' for description of booking
*7.0.2 - 10.03.2024*
- fix permissions
*7.0.1 - 09.03.2024*
- works

View file

@ -7,6 +7,7 @@ full copyright notices and license terms. -->
<record model="res.group" id="group_planner">
<field name="name">Cashbook - Scheduled Bookings</field>
<field name="parent" ref="cashbook.group_cashbook"/>
</record>
<record model="res.user-res.group" id="user_admin-group_planner">

4
ir.py
View file

@ -14,7 +14,9 @@ class Rule(metaclass=PoolMeta):
""" list of models to add 'user_id' to context
"""
result = super(Rule, cls)._context_modelnames()
result.append('cashbook.planner')
result.extend([
'cashbook.planner',
'cashbook.planner.nextrun'])
return result
# end Rule

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

@ -1,5 +1,5 @@
[tryton]
version=7.0.0
version=7.0.3
depends:
cashbook
extras_depend:

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"/>