minor change views; add opcache
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user