Compare commits

...

3 Commits
dev ... 1.30.3

Author SHA1 Message Date
Kevin Papst
559868fede Release 1.30.3 (#3763)
* fix calendar title for project - customer
* allow to pre-fill timesheet metafields via URL
2023-01-15 17:51:07 +01:00
Kevin Papst
d74236d9ac added ukrainian (#3744) 2023-01-10 00:23:26 +01:00
Kevin Papst
30bc3653d7 do not traverse into invoice template subdirectories (#3735) 2023-01-05 15:51:21 +01:00
18 changed files with 263 additions and 351 deletions

View File

@@ -39,6 +39,7 @@ require('select2/dist/js/i18n/ru');
require('select2/dist/js/i18n/sk');
require('select2/dist/js/i18n/sv');
require('select2/dist/js/i18n/tr');
require('select2/dist/js/i18n/uk');
require('select2/dist/js/i18n/vi');
require('select2/dist/js/i18n/zh-CN');
@@ -74,6 +75,7 @@ require('moment/locale/ru');
require('moment/locale/sk');
require('moment/locale/sv');
require('moment/locale/tr');
require('moment/locale/uk');
require('moment/locale/vi');
require('moment/locale/zh-cn');

View File

@@ -33,6 +33,7 @@ require('fullcalendar/dist/locale/ru');
require('fullcalendar/dist/locale/sk');
require('fullcalendar/dist/locale/sv');
require('fullcalendar/dist/locale/tr');
require('fullcalendar/dist/locale/uk');
require('fullcalendar/dist/locale/zh-cn');
require('fullcalendar/dist/locale/vi');
require('fullcalendar/dist/locale/en-gb'); // the last imported file is used as fallback for locales that do not exist (like EO)

View File

@@ -2,7 +2,7 @@
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
locale: en
app_locales: ar|cs|da|de|de_AT|de_CH|el|en|en_GB|eo|es|eu|fa|fi|fo|fr|he|hr|hu|it|ja|ko|nb_NO|nl|pl|pt|pt_BR|ro|ru|sk|sv|tr|vi|zh_CN
app_locales: ar|cs|da|de|de_AT|de_CH|el|en|en_GB|eo|es|eu|fa|fi|fo|fr|he|hr|hu|it|ja|ko|nb_NO|nl|pl|pt|pt_BR|ro|ru|sk|sv|tr|uk|vi|zh_CN
services:
# default configuration for services in *this* file

View File

@@ -36,8 +36,8 @@
"jquery-ui": "^1.12",
"js-cookie": "^2.2",
"moment": "^2.29",
"node-sass": "^7.0",
"sass-loader": "^11.0",
"node-sass": "^8.0",
"sass-loader": "^13.2",
"select2": "^4.0",
"select2-bootstrap-theme": "^0.1.0-beta.10",
"sweetalert2": "^10.16",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -3,7 +3,7 @@
"app": {
"js": [
"build/runtime.b8e7bb04.js",
"build/app.74a74ff6.js"
"build/app.adae4b3b.js"
],
"css": [
"build/app.dd7cccf4.css"
@@ -36,7 +36,7 @@
"calendar": {
"js": [
"build/runtime.b8e7bb04.js",
"build/calendar.32dd2acd.js"
"build/calendar.d31fcf6a.js"
],
"css": [
"build/calendar.25e7e872.css"

View File

@@ -1,13 +1,13 @@
{
"build/app.css": "build/app.dd7cccf4.css",
"build/app.js": "build/app.74a74ff6.js",
"build/app.js": "build/app.adae4b3b.js",
"build/invoice.css": "build/invoice.ccdecd42.css",
"build/invoice.js": "build/invoice.19f36eca.js",
"build/invoice-pdf.css": "build/invoice-pdf.e73a6dda.css",
"build/invoice-pdf.js": "build/invoice-pdf.0ce1f3ce.js",
"build/chart.js": "build/chart.e845e930.js",
"build/calendar.css": "build/calendar.25e7e872.css",
"build/calendar.js": "build/calendar.32dd2acd.js",
"build/calendar.js": "build/calendar.d31fcf6a.js",
"build/runtime.js": "build/runtime.b8e7bb04.js",
"build/images/fa-solid-900.svg": "build/images/fa-solid-900.13de59f1.svg",
"build/images/fa-brands-400.svg": "build/images/fa-brands-400.216edb96.svg",

View File

@@ -17,11 +17,11 @@ class Constants
/**
* The current release version
*/
public const VERSION = '1.30.1';
public const VERSION = '1.30.3';
/**
* The current release: major * 10000 + minor * 100 + patch
*/
public const VERSION_ID = 13001;
public const VERSION_ID = 13003;
/**
* The current release status, either "stable" or "dev"
*/

View File

@@ -148,14 +148,13 @@ abstract class TimesheetAbstractController extends AbstractController
protected function create(Request $request, string $renderTemplate): Response
{
$entry = $this->service->createNewTimesheet($this->getUser());
$entry = $this->service->createNewTimesheet($this->getUser(), $request);
$preForm = $this->createFormForGetRequest(TimesheetPreCreateForm::class, $entry, [
'include_user' => $this->includeUserInForms('create'),
]);
$preForm->submit($request->query->all(), false);
$this->service->prepareNewTimesheet($entry, $request);
$createForm = $this->getCreateForm($entry);
$createForm->handleRequest($request);

View File

@@ -10,6 +10,7 @@
namespace App\Form;
use App\Form\Type\DescriptionType;
use App\Form\Type\MetaFieldsCollectionType;
use App\Form\Type\TagsInputType;
use App\Form\Type\UserType;
use Symfony\Component\Form\AbstractType;
@@ -29,6 +30,7 @@ class TimesheetPreCreateForm extends AbstractType
$this->addActivity($builder, null, null, ['required' => false]);
$builder->add('description', DescriptionType::class, ['required' => false]);
$builder->add('tags', TagsInputType::class, ['required' => false]);
$builder->add('metaFields', MetaFieldsCollectionType::class);
if ($options['include_user']) {
$builder->add('user', UserType::class, ['required' => false]);
}

View File

@@ -161,7 +161,7 @@ final class InvoiceDocumentRepository
continue;
}
$finder = Finder::create()->ignoreDotFiles(true)->files()->in($searchDir)->name('*.*');
$finder = Finder::create()->ignoreDotFiles(true)->files()->in($searchDir)->depth(0)->name('*.*');
foreach ($finder->getIterator() as $file) {
$doc = new InvoiceDocument($file);
// the first found invoice document wins

View File

@@ -149,7 +149,7 @@
{% elseif config.entryTitlePattern == constant('\\App\\Form\\Type\\CalendarTitlePatternType::PATTERN_CUSTOMER_DESCRIPTION') %}
title = apiItem.project.customer.name + description;
{% elseif config.entryTitlePattern == constant('\\App\\Form\\Type\\CalendarTitlePatternType::PATTERN_PROJECT_CUSTOMER') %}
title = apiItem.project.name + apiItem.project.customer.name;
title = apiItem.project.name + '{{ constant('\\App\\Form\\Type\\CalendarTitlePatternType::SPACER') }}' + apiItem.project.customer.name;
{% endif %}
if (title === '' || title === null) {

576
yarn.lock

File diff suppressed because it is too large Load Diff