KatjaGlassConsulting / ApprovalBundle

A Kimai Plugin to manage weekly approval workflow
MIT License
11 stars 14 forks source link

After Install - Preferences in Profiles Casues Error #9

Closed jkilgore00 closed 1 year ago

jkilgore00 commented 1 year ago

Good Day,

I have installed this on a Synology NAS DS1520+, It was working really well. I've purchased the Kiosk and installed it. It worked problem free. I then purchased and installed Approval bundle. After following instructions, I can no longer view others or my own Preferences.

I'm still figuring out how exactly the Approval process works but first step is to resolve this issue.

Kimai Version: 1.28.1 stable (prod)

Log File:

[2022-12-09 17:06:26] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Form\Exception\TransformationFailedException: "Unable to transform data for property path "value": App\Utils\Duration::format(): Argument #1 ($seconds) must be of type ?int, string given, called in /volume1/web/timeclock/src/Form/DataTransformer/DurationStringToSecondsTransformer.php on line 42" at /volume1/web/timeclock/vendor/symfony/form/Form.php line 1080 {"exception":"[object] (Symfony\\Component\\Form\\Exception\\TransformationFailedException(code: 0): Unable to transform data for property path \"value\": App\\Utils\\Duration::format(): Argument #1 ($seconds) must be of type ?int, string given, called in /volume1/web/timeclock/src/Form/DataTransformer/DurationStringToSecondsTransformer.php on line 42 at /volume1/web/timeclock/vendor/symfony/form/Form.php:1080, Symfony\\Component\\Form\\Exception\\TransformationFailedException(code: 0): App\\Utils\\Duration::format(): Argument #1 ($seconds) must be of type ?int, string given, called in /volume1/web/timeclock/src/Form/DataTransformer/DurationStringToSecondsTransformer.php on line 42 at /volume1/web/timeclock/src/Form/DataTransformer/DurationStringToSecondsTransformer.php:44)"} []

[2022-12-09 17:06:26] request.INFO: Matched route "user_profile_preferences". {"route":"user_profile_preferences","route_parameters":{"_route":"user_profile_preferences","_controller":"App\\Controller\\ProfileController::preferencesAction","_locale":"en","username":"GCrispin"},"request_uri":"https://192.168.0.150:7777/en/profile/GCrispin/prefs","method":"GET"} []

PHP:

Version     8.0.23
Modules     Core, date, libxml, pcre, ctype, dom, fileinfo, filter, hash, json, mbstring, pcntl, SPL, PDO, readline, Reflection, session, SimpleXML, standard, tokenizer, xml, xmlreader, xmlwriter, mysqlnd, cgi-fcgi, apcu, bcmath, bz2, calendar, curl, dba, exif, ftp, gd, gettext, gmp, iconv, imagick, imap, intl, ldap, mailparse, mysqli, openssl, pdo_dblib, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, zlib, posix, shmop, soap, sockets, sodium, sqlite3, ssh2, sysvmsg, sysvsem, sysvshm, xsl, zip, Phar, Zend OPcache
allow_url_fopen     1
allow_url_include   0
default_charset     UTF-8
default_mimetype    text/html
display_errors  unknown
error_log   unknown
error_reporting     22519
log_errors  1
max_execution_time  240
memory_limit    512M
open_basedir    unknown
post_max_size   32M
sys_temp_dir    /var/services/tmp
date.timezone   US/Arizona

Composer Packages:

beberlei/doctrineextensions     v1.3.0
behat/transliterator    v1.5.0
composer/package-versions-deprecated    1.11.99.5
doctrine/annotations    1.13.3
doctrine/cache  2.2.0
doctrine/collections    1.8.0
doctrine/common     3.4.3
doctrine/dbal   2.13.9
doctrine/deprecations   v0.5.3
doctrine/doctrine-bundle    2.7.0
doctrine/doctrine-migrations-bundle     3.2.2
doctrine/event-manager  1.2.0
doctrine/inflector  2.0.6
doctrine/instantiator   1.4.1
doctrine/lexer  1.2.3
doctrine/migrations     3.4.2
doctrine/orm    2.13.3
doctrine/persistence    2.5.5
doctrine/sql-formatter  1.1.3
egulias/email-validator     3.2.1
erusev/parsedown    1.7.4
exsyst/swagger  v0.4.2
ezyang/htmlpurifier     v4.16.0
friendsofphp/proxy-manager-lts  v1.0.13
friendsofsymfony/rest-bundle    3.4.0
gedmo/doctrine-extensions   v3.9.0
handcraftedinthealps/rest-routing-bundle    1.0.6
jms/metadata    2.7.0
jms/serializer  3.18.2
jms/serializer-bundle   4.2.0
kevinpapst/adminlte-bundle  3.6.1
laminas/laminas-code    3.4.1
laminas/laminas-escaper     2.9.0
laminas/laminas-eventmanager    3.4.0
laminas/laminas-zendframework-bridge    1.4.1
league/csv  9.7.4
league/html-to-markdown     5.1.0
lorenzo/pinky   1.0.7
maennchen/zipstream-php     2.1.0
markbaker/complex   3.0.1
markbaker/matrix    3.0.0
monolog/monolog     1.27.1
mpdf/mpdf   v8.1.2
myclabs/deep-copy   1.11.0
myclabs/php-enum    1.8.4
nelmio/api-doc-bundle   v3.10.1
nelmio/cors-bundle  2.2.0
onelogin/php-saml   3.6.1
pagerfanta/pagerfanta   v2.7.3
paragonie/random_compat     v9.99.100
php-http/message-factory    v1.0.2
phpdocumentor/reflection-common     2.2.0
phpdocumentor/reflection-docblock   5.3.0
phpdocumentor/type-resolver     1.6.1
phpoffice/phpspreadsheet    1.25.2
phpoffice/phpword   0.18.3
phpstan/phpdoc-parser   1.13.0
psr/cache   1.0.1
psr/container   1.1.1
psr/http-client     1.0.1
psr/http-factory    1.0.1
psr/http-message    1.0.1
psr/log     1.1.4
psr/simple-cache    1.0.1
robrichards/xmlseclibs  3.1.1
sensio/framework-extra-bundle   v6.2.8
setasign/fpdi   v2.3.6
symfony/amazon-mailer   v4.4.37
symfony/asset   v4.4.46
symfony/cache   v4.4.48
symfony/cache-contracts     v2.5.2
symfony/config  v4.4.44
symfony/console     v4.4.48
symfony/css-selector    v4.4.44
symfony/debug   v4.4.44
symfony/dependency-injection    v4.4.44
symfony/deprecation-contracts   v2.5.2
symfony/doctrine-bridge     v4.4.48
symfony/dotenv  v4.4.37
symfony/error-handler   v4.4.44
symfony/event-dispatcher    v4.4.44
symfony/event-dispatcher-contracts  v1.1.13
symfony/expression-language     v4.4.47
symfony/filesystem  v4.4.42
symfony/finder  v4.4.44
symfony/flex    v1.19.3
symfony/form    v4.4.48
symfony/framework-bundle    v4.4.47
symfony/google-mailer   v4.4.41
symfony/http-client     v4.4.47
symfony/http-client-contracts   v2.5.2
symfony/http-foundation     v4.4.48
symfony/http-kernel     v4.4.48
symfony/inflector   v4.4.44
symfony/intl    v4.4.47
symfony/mailchimp-mailer    v4.4.40
symfony/mailer  v4.4.48
symfony/mailgun-mailer  v4.4.40
symfony/mime    v4.4.47
symfony/monolog-bridge  v4.4.43
symfony/monolog-bundle  v3.8.0
symfony/options-resolver    v4.4.44
symfony/polyfill-ctype  v1.26.0
symfony/polyfill-intl-grapheme  v1.26.0
symfony/polyfill-intl-icu   v1.26.0
symfony/polyfill-intl-idn   v1.26.0
symfony/polyfill-intl-normalizer    v1.26.0
symfony/polyfill-php73  v1.26.0
symfony/polyfill-php80  v1.26.0
symfony/polyfill-php81  v1.26.0
symfony/polyfill-uuid   v1.26.0
symfony/postmark-mailer     v4.4.40
symfony/property-access     v4.4.44
symfony/property-info   v4.4.47
symfony/routing     v4.4.44
symfony/security-bundle     v4.4.44
symfony/security-core   v4.4.48
symfony/security-csrf   v4.4.37
symfony/security-guard  v4.4.46
symfony/security-http   v4.4.48
symfony/sendgrid-mailer     v4.4.40
symfony/serializer  v4.4.47
symfony/service-contracts   v2.5.2
symfony/stopwatch   v4.4.46
symfony/string  v5.4.15
symfony/translation     v4.4.47
symfony/translation-contracts   v2.5.2
symfony/twig-bridge     v4.4.45
symfony/twig-bundle     v4.4.41
symfony/uid     v5.4.13
symfony/validator   v4.4.48
symfony/var-dumper  v4.4.47
symfony/var-exporter    v4.4.43
symfony/webpack-encore-bundle   v1.16.0
symfony/yaml    v4.4.45
tijsverkoyen/css-to-inline-styles   2.2.5
twig/cssinliner-extra   v3.4.0
twig/extra-bundle   v3.4.0
twig/inky-extra     v3.4.0
twig/intl-extra     v3.4.2
twig/string-extra   v3.4.0
twig/twig   v3.4.3
webmozart/assert    1.11.0
willdurand/jsonp-callback-validator     v2.0.0
willdurand/negotiation  3.1.0
zircote/swagger-php     2.1.2

Server:

System  Linux NAS 4.4.180+ #42962 SMP Tue Oct 18 15:07:03 CST 2022 x86_64
Build Date  Oct 13 2022 17:42:26
Build System    Linux 56a9f2be1f8c 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64 GNU/Linux
Server API  FPM/FastCGI
Virtual Directory Support   disabled
Configuration File (php.ini) Path   /usr/local/etc/php80/cli
Loaded Configuration File   /volume1/@appstore/PHP8.0/misc/php-fpm.ini
Scan this dir for additional .ini files     no value
Additional .ini files parsed    /usr/syno/etc/packages/WebStation/php_profile/219057db-268a-4a93-97d2-44d8a025df59/conf.d/user_settings.ini, /run/php-fpm/conf.d/timezone.ini
PHP API     20200930
PHP Extension   20200930
Zend Extension  420200930
Zend Extension Build    API420200930,NTS
PHP Extension Build     API20200930,NTS
Debug Build     no
Thread Safety   disabled
Zend Signal Handling    enabled
Zend Memory Manager     enabled
Zend Multibyte Support  provided by mbstring
IPv6 Support    enabled
DTrace Support  disabled
Registered PHP Streams  php, file, glob, data, http, ftp, compress.bzip2, https, ftps, compress.zlib, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp, zip, phar
Registered Stream Socket Transports     tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3
Registered Stream Filters   string.rot13, string.toupper, string.tolower, convert.*, consumed, dechunk, bzip2.*, convert.iconv.*, zlib.*
KatjaGlassConsulting commented 1 year ago

There must have been a change in one of the latest Kimai updates (I use it under 1.24) for the duration handling. Originally it is possible to enter durations in the format of "08:00" - somehow in 1.28.1 it is not transformed as expected to "28800" any longer in the database. I have updated the documentation to use "28800" as setting instead of "8:00".

To correct this without reinstalling everything, please update the database "kimai2_meta_field_rules" and update the "value" to "28800" for all your created duration fields. The issue is caused by the value "08:00" which I expect to be in.

jkilgore00 commented 1 year ago

Thank You Sir'

This resolved the issue.