minor change views; add opcache

This commit is contained in:
2024-08-08 15:50:44 +02:00
parent fa3b766634
commit db660b3a89
10 changed files with 167 additions and 72 deletions
+28 -21
View File
@@ -15,35 +15,42 @@ use Symfony\Component\Security\Http\Attribute\IsGranted;
class ReportsController extends AbstractController
{
#[Route('/set-status-todo', name: 'app_set_status_todo')]
#[Route('/set-status-todo/{id}', name: 'app_set_status_todo', methods: ['POST'])]
#[IsGranted('reportEdit')]
public function setStatusTodo(EntityManagerInterface $entityManager, AddReports $reportsService, Request $request): Response
public function setStatusTodo(EntityManagerInterface $entityManager, AddReports $reportsService, Request $request, Reports $report): Response
{
$reportId = $request->getPayload()->get('reportId');
$token = $request->getPayload()->get("token");
if ($reportId && $this->isCsrfTokenValid('report-status', $token)) {
$report = $entityManager->getRepository(Reports::class)->find($reportId);
$token = $request->get("token");
if ($this->isCsrfTokenValid('report-status', $token)) {
$reportsService->setClient($report->getClient());
$isDone = false;
foreach (ReportTodoEnum::cases() as $case) {
if ($request->get("unDone")){
$todo = $entityManager->getRepository(ReportsTodo::class)->findOneBy([
"report" => $report->getId(),
"name" => $case->value
"name" => ReportTodoEnum::COMPLETE
]);
if (!$todo) {
$todo = new ReportsTodo();
$todo->setReport($report);
$todo->setName($case);
}
if (isset($_POST[$case->value])){
$todo->setDeleted(false);
} else {
$todo->setDeleted(true);
}
if ($todo->getName() === ReportTodoEnum::COMPLETE && !$todo->isDeleted()) {
$isDone = true;
}
$todo->setDeleted(true);
$entityManager->persist($todo);
} else {
foreach (ReportTodoEnum::cases() as $case) {
$todo = $entityManager->getRepository(ReportsTodo::class)->findOneBy([
"report" => $report->getId(),
"name" => $case->value
]);
if (!$todo) {
$todo = new ReportsTodo();
$todo->setReport($report);
$todo->setName($case);
}
if ($request->get($case->value) !== null) {
$todo->setDeleted(false);
} else {
$todo->setDeleted(true);
}
if ($todo->getName() === ReportTodoEnum::COMPLETE && !$todo->isDeleted()) {
$isDone = true;
}
$entityManager->persist($todo);
}
}
$report->setDone($isDone);
$entityManager->persist($report);
+11
View File
@@ -65,4 +65,15 @@ enum ReportStatus: int {
{
return ReportStatus::tryFrom($this->value+1);
}
public function tryFromName(string $name): ?ReportStatus
{
$name = strtoupper($name);
foreach (self::cases() as $v) {
if ($name === $v->name) {
return $v;
}
}
return null;
}
}
+12
View File
@@ -35,4 +35,16 @@ enum ReportTodoEnum: int {
};
}
public function tryFromName(string $name): ?ReportTodoEnum
{
$name = strtoupper($name);
foreach (self::cases() as $v) {
if ($name === $v->name) {
return $v;
}
}
return null;
}
}
+13
View File
@@ -4,6 +4,7 @@ namespace App\Twig;
use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
use Twig\TwigFunction;
class AppExtension extends AbstractExtension
{
@@ -14,6 +15,13 @@ class AppExtension extends AbstractExtension
];
}
public function getFunctions(): array
{
return [
new TwigFunction('enum', [$this, 'enumChecker']),
];
}
public function formatPhone(?int $phoneNumber): string
{
if (!$phoneNumber) {
@@ -22,4 +30,9 @@ class AppExtension extends AbstractExtension
return number_format($phoneNumber, 0,"."," ");
}
public function enumChecker(mixed $currentEnum, string $needEnumName): bool
{
return $currentEnum->name === $needEnumName;
}
}