release 2.0 beta (#3722)

* remove twitter link
* remove WIP file
* adjust release draft message
* reset code coverage threshold back to 0.5
* changed wordings
* re-activate wizard for fixture accounts
* fix repo url and license
* license identifier
* bump version
* moved Kimai 1 import command from core to plugin
* do not traverse into invoice template subdirectories (#3735)
* fix branch alias
* composer update
* switch language on wizard select
* new twig function to create qr code
* fix daily stats in timesheet listing
* improved html invoice templates
This commit is contained in:
Kevin Papst
2023-01-12 12:10:11 +01:00
committed by GitHub
parent cbd65f1f1d
commit 8069e332fe
38 changed files with 386 additions and 2850 deletions

View File

@@ -77,18 +77,18 @@ abstract class TimesheetAbstractController extends AbstractController
$table->setPaginationRoute($paginationRoute);
$table->setReloadEvents('kimai.timesheetUpdate kimai.timesheetDelete');
$table->addColumn('date', ['class' => 'alwaysVisible', 'orderBy' => 'begin']);
$table->addColumn('date', ['class' => 'alwaysVisible text-nowrap', 'orderBy' => 'begin']);
if ($this->canSeeStartEndTime()) {
$table->addColumn('starttime', ['class' => 'd-none d-sm-table-cell text-center', 'orderBy' => 'begin']);
$table->addColumn('endtime', ['class' => 'd-none d-sm-table-cell text-center', 'orderBy' => 'end']);
$table->addColumn('starttime', ['class' => 'd-none d-sm-table-cell text-center text-nowrap', 'orderBy' => 'begin']);
$table->addColumn('endtime', ['class' => 'd-none d-sm-table-cell text-center text-nowrap', 'orderBy' => 'end']);
}
$table->addColumn('duration', ['class' => 'text-end text-nowrap']);
if ($canSeeRate) {
$table->addColumn('hourlyRate', ['class' => 'text-end d-none']);
$table->addColumn('rate', ['class' => 'text-end']);
$table->addColumn('hourlyRate', ['class' => 'text-end d-none text-nowrap']);
$table->addColumn('rate', ['class' => 'text-end text-nowrap']);
}
$table->addColumn('customer', ['class' => 'd-none d-md-table-cell']);
@@ -98,7 +98,7 @@ abstract class TimesheetAbstractController extends AbstractController
$table->addColumn('tags', ['class' => 'd-none badges', 'orderBy' => false]);
foreach ($metaColumns as $metaColumn) {
$table->addColumn('mf_' . $metaColumn->getName(), ['title' => $metaColumn->getLabel(), 'class' => 'd-none', 'orderBy' => false]);
$table->addColumn('mf_' . $metaColumn->getName(), ['title' => $metaColumn->getLabel(), 'class' => 'd-none', 'orderBy' => false, 'data' => $metaColumn]);
}
if ($canSeeUsername) {
@@ -116,11 +116,8 @@ abstract class TimesheetAbstractController extends AbstractController
'page_setup' => $page,
'dataTable' => $table,
'action_single' => $this->getActionNameSingle(),
'canSeeUsername' => $canSeeUsername,
'canSeeRate' => $canSeeRate,
'stats' => $result->getStatistic(),
'showSummary' => $this->includeSummary(),
'showStartEndTime' => $this->canSeeStartEndTime(),
'metaColumns' => $metaColumns,
'allowMarkdown' => $this->hasMarkdownSupport(),
'editRoute' => $this->getEditRoute()

View File

@@ -16,6 +16,7 @@ use App\Form\Type\SkinType;
use App\Form\Type\TimezoneType;
use App\User\UserService;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
@@ -42,18 +43,17 @@ final class WizardController extends AbstractController
if ($wizard === 'profile') {
$data = [
'language' => $request->getLocale(),
'timezone' => $user->getTimezone(),
UserPreference::LOCALE => $request->getLocale(),
UserPreference::TIMEZONE => $user->getTimezone(),
UserPreference::SKIN => $user->getSkin(),
'reload' => '0',
];
$form = $this->createFormBuilder($data)
->add(UserPreference::LOCALE, LanguageType::class)
->add(UserPreference::TIMEZONE, TimezoneType::class)
->add(UserPreference::SKIN, SkinType::class, [
'attr' => [
'onchange' => "document.body.classList.remove('theme-light');document.body.classList.remove('theme-light');"
],
])
->add(UserPreference::SKIN, SkinType::class)
->add('reload', HiddenType::class)
->setAction($this->generateUrl('wizard', ['wizard' => 'profile']))
->setMethod('POST')
->getForm();
@@ -69,7 +69,11 @@ final class WizardController extends AbstractController
$user->setWizardAsSeen('profile');
$userService->updateUser($user);
return $this->redirectToRoute('wizard', ['wizard' => 'done', '_locale' => $data['language']]);
if ($data['reload'] === '1') {
return $this->redirectToRoute('wizard', ['wizard' => 'profile', '_locale' => $data['language']]);
} else {
return $this->redirectToRoute('wizard', ['wizard' => 'done', '_locale' => $data['language']]);
}
}
return $this->render('wizard/profile.html.twig', [