Release 2.32 (#5411)

* bump packages
* dynamic invoice options
* make sure that invoice previews can be detected
* support for mpdf associated files
* do not include any future times in work contract calculation
* re-add username column in Excel spreadsheet
* deactivate internal rate editing
* show if plugin update exists
* shorten name to Kimai only, without Time-Tracking
* remove check for existing id in work contract
* fix metafield already defined in search
* helper methods to unlock months
* new translation
* send event on unlock month
This commit is contained in:
Kevin Papst
2025-04-06 09:53:48 +02:00
committed by GitHub
parent 2a75cd6230
commit 2e6b700b43
58 changed files with 749 additions and 437 deletions

View File

@@ -98,10 +98,7 @@
{% for month in year.months %}
{% set monthShould = month.expectedTime(now) %}
{% set monthIs = month.actualTime %}
{% set showStats = now > month.month or monthIs > 0 %}
{% if showStats %}
{% set yearShould = yearShould + monthShould %}
{% endif %}
{% set yearShould = yearShould + monthShould %}
{% set yearIs = yearIs + monthIs %}
{% if month.locked %}
{% set approved = approved + 1 %}
@@ -137,7 +134,6 @@
{% for month in year.months %}
{% set monthShould = month.expectedTime(now) %}
{% set monthIs = month.actualTime %}
{% set showStats = now > month.month or monthIs > 0 %}
<tr>
{% if withWorkHourConfiguration %}
<td class="w-min">
@@ -152,9 +148,7 @@
{{ month.month|month_name }}
</td>
<td class="text-end total w-min">
{% if showStats %}
{{ work_times_result(monthShould, monthIs, decimal) }}
{% endif %}
{{ work_times_result(monthShould, monthIs, decimal) }}
</td>
<td class="text-end w-min">
{{ monthShould|duration(decimal) }}

View File

@@ -8,5 +8,5 @@
<img alt="{{ get_title() }}" style="max-width: 150px;"
src="{% if '://' in tabler_bundle.getLogoUrl() %}{{ tabler_bundle.getLogoUrl() }}{% else %}{{ asset(tabler_bundle.getLogoUrl()) }}{% endif %}">
{% else %}
<p>{{ get_title('', '<br>')|raw }}</p>
<p>{{ get_title()|raw }}</p>
{% endif %}

View File

@@ -29,6 +29,9 @@
</td>
<td class="{{ tables.data_table_column_class(tableName, columns, 'description') }}">
{{ plugin.metadata.description }}
{% if bundles[plugin.id] is defined and bundles[plugin.id]['latest_release'] is defined and bundles[plugin.id]['latest_release'] != plugin.metadata.version %}
{{ widgets.alert('warning', 'update_available'|trans({'%version%': bundles[plugin.id]['latest_release']}, 'plugins')) }}
{% endif %}
</td>
<td class="{{ tables.data_table_column_class(tableName, columns, 'version') }}">
{{ widgets.label(plugin.metadata.version, 'primary', plugin.id) }}