Release 2.23.0 (#5075)

This commit is contained in:
Kevin Papst
2024-10-03 10:34:20 +02:00
committed by GitHub
parent 40154be8f9
commit fb9a0dc499
142 changed files with 855 additions and 910 deletions

View File

@@ -1,48 +0,0 @@
<?php
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Form;
use App\Entity\User;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
final class PasswordResetForm extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder->add('plainPassword', RepeatedType::class, [
'type' => PasswordType::class,
'options' => [
'attr' => [
'autocomplete' => 'new-password',
],
],
'first_options' => ['label' => 'password'],
'second_options' => ['label' => 'password_repeat'],
'invalid_message' => 'The entered passwords don\'t match.',
]);
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => User::class,
'csrf_token_id' => 'resetting',
]);
}
public function getBlockPrefix(): string
{
return 'password_resetting';
}
}

View File

@@ -17,7 +17,7 @@ use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
final class ReportSumType extends AbstractType
{
public function __construct(private AuthorizationCheckerInterface $authorizationChecker)
public function __construct(private readonly AuthorizationCheckerInterface $authorizationChecker)
{
}
@@ -30,11 +30,11 @@ final class ReportSumType extends AbstractType
]);
$resolver->setDefault('choices', function (Options $options) {
$choices = ['stats.durationTotal' => 'duration'];
$choices = ['stats.workingTime' => 'duration'];
if ($this->authorizationChecker->isGranted('view_rate_other_timesheet')) {
$choices['stats.amountTotal'] = 'rate';
$choices['internalRate'] = 'internalRate';
$choices['revenue'] = 'rate';
$choices['costs'] = 'internalRate';
}
return $choices;