mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-25 03:08:51 +02:00
Applied rector rules up to symfony 6.2
This commit is contained in:
parent
88ea920dfb
commit
a43af180a7
145 changed files with 563 additions and 889 deletions
|
@ -36,9 +36,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/attachment_type")
|
||||
*/
|
||||
#[Route(path: '/attachment_type')]
|
||||
class AttachmentTypeController extends BaseAdminController
|
||||
{
|
||||
protected string $entity_class = AttachmentType::class;
|
||||
|
@ -48,44 +46,34 @@ class AttachmentTypeController extends BaseAdminController
|
|||
protected string $attachment_class = AttachmentTypeAttachment::class;
|
||||
protected ?string $parameter_class = AttachmentTypeParameter::class;
|
||||
|
||||
/**
|
||||
* @Route("/{id}", name="attachment_type_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/{id}', name: 'attachment_type_delete', methods: ['DELETE'])]
|
||||
public function delete(Request $request, AttachmentType $entity, StructuralElementRecursionHelper $recursionHelper): RedirectResponse
|
||||
{
|
||||
return $this->_delete($request, $entity, $recursionHelper);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit/{timestamp}", requirements={"id"="\d+"}, name="attachment_type_edit")
|
||||
* @Route("/{id}", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/edit/{timestamp}', requirements: ['id' => '\d+'], name: 'attachment_type_edit')]
|
||||
#[Route(path: '/{id}', requirements: ['id' => '\d+'])]
|
||||
public function edit(AttachmentType $entity, Request $request, EntityManagerInterface $em, ?string $timestamp = null): Response
|
||||
{
|
||||
return $this->_edit($entity, $request, $em, $timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="attachment_type_new")
|
||||
* @Route("/{id}/clone", name="attachment_type_clone")
|
||||
* @Route("/")
|
||||
*/
|
||||
#[Route(path: '/new', name: 'attachment_type_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'attachment_type_clone')]
|
||||
#[Route(path: '/')]
|
||||
public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer, ?AttachmentType $entity = null): Response
|
||||
{
|
||||
return $this->_new($request, $em, $importer, $entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export", name="attachment_type_export_all")
|
||||
*/
|
||||
#[Route(path: '/export', name: 'attachment_type_export_all')]
|
||||
public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportAll($em, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/export", name="attachment_type_export")
|
||||
*/
|
||||
#[Route(path: '/{id}/export', name: 'attachment_type_export')]
|
||||
public function exportEntity(AttachmentType $entity, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportEntity($entity, $exporter, $request);
|
||||
|
|
|
@ -245,7 +245,7 @@ abstract class BaseAdminController extends AbstractController
|
|||
/** @var AbstractPartsContainingRepository $repo */
|
||||
$repo = $this->entityManager->getRepository($this->entity_class);
|
||||
|
||||
return $this->renderForm($this->twig_template, [
|
||||
return $this->render($this->twig_template, [
|
||||
'entity' => $entity,
|
||||
'form' => $form,
|
||||
'route_base' => $this->route_base,
|
||||
|
@ -402,7 +402,7 @@ abstract class BaseAdminController extends AbstractController
|
|||
}
|
||||
|
||||
ret:
|
||||
return $this->renderForm($this->twig_template, [
|
||||
return $this->render($this->twig_template, [
|
||||
'entity' => $new_entity,
|
||||
'form' => $form,
|
||||
'import_form' => $import_form,
|
||||
|
|
|
@ -35,9 +35,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/category")
|
||||
*/
|
||||
#[Route(path: '/category')]
|
||||
class CategoryController extends BaseAdminController
|
||||
{
|
||||
protected string $entity_class = Category::class;
|
||||
|
@ -47,44 +45,34 @@ class CategoryController extends BaseAdminController
|
|||
protected string $attachment_class = CategoryAttachment::class;
|
||||
protected ?string $parameter_class = CategoryParameter::class;
|
||||
|
||||
/**
|
||||
* @Route("/{id}", name="category_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/{id}', name: 'category_delete', methods: ['DELETE'])]
|
||||
public function delete(Request $request, Category $entity, StructuralElementRecursionHelper $recursionHelper): RedirectResponse
|
||||
{
|
||||
return $this->_delete($request, $entity, $recursionHelper);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit/{timestamp}", requirements={"id"="\d+"}, name="category_edit")
|
||||
* @Route("/{id}", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/edit/{timestamp}', requirements: ['id' => '\d+'], name: 'category_edit')]
|
||||
#[Route(path: '/{id}', requirements: ['id' => '\d+'])]
|
||||
public function edit(Category $entity, Request $request, EntityManagerInterface $em, ?string $timestamp = null): Response
|
||||
{
|
||||
return $this->_edit($entity, $request, $em, $timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="category_new")
|
||||
* @Route("/{id}/clone", name="category_clone")
|
||||
* @Route("/")
|
||||
*/
|
||||
#[Route(path: '/new', name: 'category_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'category_clone')]
|
||||
#[Route(path: '/')]
|
||||
public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer, ?Category $entity = null): Response
|
||||
{
|
||||
return $this->_new($request, $em, $importer, $entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export", name="category_export_all")
|
||||
*/
|
||||
#[Route(path: '/export', name: 'category_export_all')]
|
||||
public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportAll($em, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/export", name="category_export")
|
||||
*/
|
||||
#[Route(path: '/{id}/export', name: 'category_export')]
|
||||
public function exportEntity(Category $entity, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportEntity($entity, $exporter, $request);
|
||||
|
|
|
@ -52,10 +52,9 @@ use Symfony\Component\Routing\Annotation\Route;
|
|||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
|
||||
/**
|
||||
* @Route("/currency")
|
||||
*
|
||||
* Class CurrencyController
|
||||
*/
|
||||
#[Route(path: '/currency')]
|
||||
class CurrencyController extends BaseAdminController
|
||||
{
|
||||
protected string $entity_class = Currency::class;
|
||||
|
@ -98,9 +97,7 @@ class CurrencyController extends BaseAdminController
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}", name="currency_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/{id}', name: 'currency_delete', methods: ['DELETE'])]
|
||||
public function delete(Request $request, Currency $entity, StructuralElementRecursionHelper $recursionHelper): RedirectResponse
|
||||
{
|
||||
return $this->_delete($request, $entity, $recursionHelper);
|
||||
|
@ -131,36 +128,28 @@ class CurrencyController extends BaseAdminController
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit/{timestamp}", requirements={"id"="\d+"}, name="currency_edit")
|
||||
* @Route("/{id}", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/edit/{timestamp}', requirements: ['id' => '\d+'], name: 'currency_edit')]
|
||||
#[Route(path: '/{id}', requirements: ['id' => '\d+'])]
|
||||
public function edit(Currency $entity, Request $request, EntityManagerInterface $em, ?string $timestamp = null): Response
|
||||
{
|
||||
return $this->_edit($entity, $request, $em, $timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="currency_new")
|
||||
* @Route("/{id}/clone", name="currency_clone")
|
||||
* @Route("/")
|
||||
*/
|
||||
#[Route(path: '/new', name: 'currency_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'currency_clone')]
|
||||
#[Route(path: '/')]
|
||||
public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer, ?Currency $entity = null): Response
|
||||
{
|
||||
return $this->_new($request, $em, $importer, $entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export", name="currency_export_all")
|
||||
*/
|
||||
#[Route(path: '/export', name: 'currency_export_all')]
|
||||
public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportAll($em, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/export", name="currency_export")
|
||||
*/
|
||||
#[Route(path: '/{id}/export', name: 'currency_export')]
|
||||
public function exportEntity(Currency $entity, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportEntity($entity, $exporter, $request);
|
||||
|
|
|
@ -36,9 +36,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/footprint")
|
||||
*/
|
||||
#[Route(path: '/footprint')]
|
||||
class FootprintController extends BaseAdminController
|
||||
{
|
||||
protected string $entity_class = Footprint::class;
|
||||
|
@ -48,44 +46,34 @@ class FootprintController extends BaseAdminController
|
|||
protected string $attachment_class = FootprintAttachment::class;
|
||||
protected ?string $parameter_class = FootprintParameter::class;
|
||||
|
||||
/**
|
||||
* @Route("/{id}", name="footprint_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/{id}', name: 'footprint_delete', methods: ['DELETE'])]
|
||||
public function delete(Request $request, Footprint $entity, StructuralElementRecursionHelper $recursionHelper): RedirectResponse
|
||||
{
|
||||
return $this->_delete($request, $entity, $recursionHelper);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit/{timestamp}", requirements={"id"="\d+"}, name="footprint_edit")
|
||||
* @Route("/{id}", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/edit/{timestamp}', requirements: ['id' => '\d+'], name: 'footprint_edit')]
|
||||
#[Route(path: '/{id}', requirements: ['id' => '\d+'])]
|
||||
public function edit(Footprint $entity, Request $request, EntityManagerInterface $em, ?string $timestamp = null): Response
|
||||
{
|
||||
return $this->_edit($entity, $request, $em, $timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="footprint_new")
|
||||
* @Route("/{id}/clone", name="footprint_clone")
|
||||
* @Route("/")
|
||||
*/
|
||||
#[Route(path: '/new', name: 'footprint_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'footprint_clone')]
|
||||
#[Route(path: '/')]
|
||||
public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer, ?Footprint $entity = null): Response
|
||||
{
|
||||
return $this->_new($request, $em, $importer, $entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export", name="footprint_export_all")
|
||||
*/
|
||||
#[Route(path: '/export', name: 'footprint_export_all')]
|
||||
public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportAll($em, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/export", name="footprint_export")
|
||||
*/
|
||||
#[Route(path: '/{id}/export', name: 'footprint_export')]
|
||||
public function exportEntity(AttachmentType $entity, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportEntity($entity, $exporter, $request);
|
||||
|
|
|
@ -35,9 +35,7 @@ use Symfony\Component\HttpFoundation\RedirectResponse;
|
|||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
/**
|
||||
* @Route("/label_profile")
|
||||
*/
|
||||
#[Route(path: '/label_profile')]
|
||||
class LabelProfileController extends BaseAdminController
|
||||
{
|
||||
protected string $entity_class = LabelProfile::class;
|
||||
|
@ -48,44 +46,34 @@ class LabelProfileController extends BaseAdminController
|
|||
//Just a placeholder
|
||||
protected ?string $parameter_class = null;
|
||||
|
||||
/**
|
||||
* @Route("/{id}", name="label_profile_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/{id}', name: 'label_profile_delete', methods: ['DELETE'])]
|
||||
public function delete(Request $request, LabelProfile $entity, StructuralElementRecursionHelper $recursionHelper): RedirectResponse
|
||||
{
|
||||
return $this->_delete($request, $entity, $recursionHelper);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit/{timestamp}", requirements={"id"="\d+"}, name="label_profile_edit")
|
||||
* @Route("/{id}", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/edit/{timestamp}', requirements: ['id' => '\d+'], name: 'label_profile_edit')]
|
||||
#[Route(path: '/{id}', requirements: ['id' => '\d+'])]
|
||||
public function edit(LabelProfile $entity, Request $request, EntityManagerInterface $em, ?string $timestamp = null): Response
|
||||
{
|
||||
return $this->_edit($entity, $request, $em, $timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="label_profile_new")
|
||||
* @Route("/{id}/clone", name="label_profile_clone")
|
||||
* @Route("/")
|
||||
*/
|
||||
#[Route(path: '/new', name: 'label_profile_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'label_profile_clone')]
|
||||
#[Route(path: '/')]
|
||||
public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer, ?LabelProfile $entity = null): Response
|
||||
{
|
||||
return $this->_new($request, $em, $importer, $entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export", name="label_profile_export_all")
|
||||
*/
|
||||
#[Route(path: '/export', name: 'label_profile_export_all')]
|
||||
public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportAll($em, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/export", name="label_profile_export")
|
||||
*/
|
||||
#[Route(path: '/{id}/export', name: 'label_profile_export')]
|
||||
public function exportEntity(LabelProfile $entity, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportEntity($entity, $exporter, $request);
|
||||
|
|
|
@ -35,9 +35,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/manufacturer")
|
||||
*/
|
||||
#[Route(path: '/manufacturer')]
|
||||
class ManufacturerController extends BaseAdminController
|
||||
{
|
||||
protected string $entity_class = Manufacturer::class;
|
||||
|
@ -48,45 +46,36 @@ class ManufacturerController extends BaseAdminController
|
|||
protected ?string $parameter_class = ManufacturerParameter::class;
|
||||
|
||||
/**
|
||||
* @Route("/{id}", name="manufacturer_delete", methods={"DELETE"})
|
||||
*
|
||||
* @return RedirectResponse
|
||||
*/
|
||||
#[Route(path: '/{id}', name: 'manufacturer_delete', methods: ['DELETE'])]
|
||||
public function delete(Request $request, Manufacturer $entity, StructuralElementRecursionHelper $recursionHelper): RedirectResponse
|
||||
{
|
||||
return $this->_delete($request, $entity, $recursionHelper);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit/{timestamp}", requirements={"id"="\d+"}, name="manufacturer_edit")
|
||||
* @Route("/{id}", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/edit/{timestamp}', requirements: ['id' => '\d+'], name: 'manufacturer_edit')]
|
||||
#[Route(path: '/{id}', requirements: ['id' => '\d+'])]
|
||||
public function edit(Manufacturer $entity, Request $request, EntityManagerInterface $em, ?string $timestamp = null): Response
|
||||
{
|
||||
return $this->_edit($entity, $request, $em, $timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="manufacturer_new")
|
||||
* @Route("/{id}/clone", name="manufacturer_clone")
|
||||
* @Route("/")
|
||||
*/
|
||||
#[Route(path: '/new', name: 'manufacturer_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'manufacturer_clone')]
|
||||
#[Route(path: '/')]
|
||||
public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer, ?Manufacturer $entity = null): Response
|
||||
{
|
||||
return $this->_new($request, $em, $importer, $entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export", name="manufacturer_export_all")
|
||||
*/
|
||||
#[Route(path: '/export', name: 'manufacturer_export_all')]
|
||||
public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportAll($em, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/export", name="manufacturer_export")
|
||||
*/
|
||||
#[Route(path: '/{id}/export', name: 'manufacturer_export')]
|
||||
public function exportEntity(Manufacturer $entity, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportEntity($entity, $exporter, $request);
|
||||
|
|
|
@ -36,9 +36,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/measurement_unit")
|
||||
*/
|
||||
#[Route(path: '/measurement_unit')]
|
||||
class MeasurementUnitController extends BaseAdminController
|
||||
{
|
||||
protected string $entity_class = MeasurementUnit::class;
|
||||
|
@ -48,44 +46,34 @@ class MeasurementUnitController extends BaseAdminController
|
|||
protected string $attachment_class = MeasurementUnitAttachment::class;
|
||||
protected ?string $parameter_class = MeasurementUnitParameter::class;
|
||||
|
||||
/**
|
||||
* @Route("/{id}", name="measurement_unit_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/{id}', name: 'measurement_unit_delete', methods: ['DELETE'])]
|
||||
public function delete(Request $request, MeasurementUnit $entity, StructuralElementRecursionHelper $recursionHelper): RedirectResponse
|
||||
{
|
||||
return $this->_delete($request, $entity, $recursionHelper);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit/{timestamp}", requirements={"id"="\d+"}, name="measurement_unit_edit")
|
||||
* @Route("/{id}", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/edit/{timestamp}', requirements: ['id' => '\d+'], name: 'measurement_unit_edit')]
|
||||
#[Route(path: '/{id}', requirements: ['id' => '\d+'])]
|
||||
public function edit(MeasurementUnit $entity, Request $request, EntityManagerInterface $em, ?string $timestamp = null): Response
|
||||
{
|
||||
return $this->_edit($entity, $request, $em, $timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="measurement_unit_new")
|
||||
* @Route("/{id}/clone", name="measurement_unit_clone")
|
||||
* @Route("/")
|
||||
*/
|
||||
#[Route(path: '/new', name: 'measurement_unit_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'measurement_unit_clone')]
|
||||
#[Route(path: '/')]
|
||||
public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer, ?MeasurementUnit $entity = null): Response
|
||||
{
|
||||
return $this->_new($request, $em, $importer, $entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export", name="measurement_unit_export_all")
|
||||
*/
|
||||
#[Route(path: '/export', name: 'measurement_unit_export_all')]
|
||||
public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportAll($em, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/export", name="measurement_unit_export")
|
||||
*/
|
||||
#[Route(path: '/{id}/export', name: 'measurement_unit_export')]
|
||||
public function exportEntity(AttachmentType $entity, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportEntity($entity, $exporter, $request);
|
||||
|
|
|
@ -35,9 +35,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/project")
|
||||
*/
|
||||
#[Route(path: '/project')]
|
||||
class ProjectAdminController extends BaseAdminController
|
||||
{
|
||||
protected string $entity_class = Project::class;
|
||||
|
@ -47,44 +45,34 @@ class ProjectAdminController extends BaseAdminController
|
|||
protected string $attachment_class = ProjectAttachment::class;
|
||||
protected ?string $parameter_class = ProjectParameter::class;
|
||||
|
||||
/**
|
||||
* @Route("/{id}", name="project_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/{id}', name: 'project_delete', methods: ['DELETE'])]
|
||||
public function delete(Request $request, Project $entity, StructuralElementRecursionHelper $recursionHelper): RedirectResponse
|
||||
{
|
||||
return $this->_delete($request, $entity, $recursionHelper);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit/{timestamp}", requirements={"id"="\d+"}, name="project_edit")
|
||||
* @Route("/{id}/edit", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/edit/{timestamp}', requirements: ['id' => '\d+'], name: 'project_edit')]
|
||||
#[Route(path: '/{id}/edit', requirements: ['id' => '\d+'])]
|
||||
public function edit(Project $entity, Request $request, EntityManagerInterface $em, ?string $timestamp = null): Response
|
||||
{
|
||||
return $this->_edit($entity, $request, $em, $timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="project_new")
|
||||
* @Route("/{id}/clone", name="device_clone")
|
||||
* @Route("/")
|
||||
*/
|
||||
#[Route(path: '/new', name: 'project_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'device_clone')]
|
||||
#[Route(path: '/')]
|
||||
public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer, ?Project $entity = null): Response
|
||||
{
|
||||
return $this->_new($request, $em, $importer, $entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export", name="project_export_all")
|
||||
*/
|
||||
#[Route(path: '/export', name: 'project_export_all')]
|
||||
public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportAll($em, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/export", name="project_export")
|
||||
*/
|
||||
#[Route(path: '/{id}/export', name: 'project_export')]
|
||||
public function exportEntity(Project $entity, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportEntity($entity, $exporter, $request);
|
||||
|
|
|
@ -35,9 +35,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/store_location")
|
||||
*/
|
||||
#[Route(path: '/store_location')]
|
||||
class StorelocationController extends BaseAdminController
|
||||
{
|
||||
protected string $entity_class = Storelocation::class;
|
||||
|
@ -47,44 +45,34 @@ class StorelocationController extends BaseAdminController
|
|||
protected string $attachment_class = StorelocationAttachment::class;
|
||||
protected ?string $parameter_class = StorelocationParameter::class;
|
||||
|
||||
/**
|
||||
* @Route("/{id}", name="store_location_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/{id}', name: 'store_location_delete', methods: ['DELETE'])]
|
||||
public function delete(Request $request, Storelocation $entity, StructuralElementRecursionHelper $recursionHelper): RedirectResponse
|
||||
{
|
||||
return $this->_delete($request, $entity, $recursionHelper);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit/{timestamp}", requirements={"id"="\d+"}, name="store_location_edit")
|
||||
* @Route("/{id}", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/edit/{timestamp}', requirements: ['id' => '\d+'], name: 'store_location_edit')]
|
||||
#[Route(path: '/{id}', requirements: ['id' => '\d+'])]
|
||||
public function edit(Storelocation $entity, Request $request, EntityManagerInterface $em, ?string $timestamp = null): Response
|
||||
{
|
||||
return $this->_edit($entity, $request, $em, $timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="store_location_new")
|
||||
* @Route("/{id}/clone", name="store_location_clone")
|
||||
* @Route("/")
|
||||
*/
|
||||
#[Route(path: '/new', name: 'store_location_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'store_location_clone')]
|
||||
#[Route(path: '/')]
|
||||
public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer, ?Storelocation $entity = null): Response
|
||||
{
|
||||
return $this->_new($request, $em, $importer, $entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export", name="store_location_export_all")
|
||||
*/
|
||||
#[Route(path: '/export', name: 'store_location_export_all')]
|
||||
public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportAll($em, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/export", name="store_location_export")
|
||||
*/
|
||||
#[Route(path: '/{id}/export', name: 'store_location_export')]
|
||||
public function exportEntity(Storelocation $entity, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportEntity($entity, $exporter, $request);
|
||||
|
|
|
@ -35,9 +35,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/supplier")
|
||||
*/
|
||||
#[Route(path: '/supplier')]
|
||||
class SupplierController extends BaseAdminController
|
||||
{
|
||||
protected string $entity_class = Supplier::class;
|
||||
|
@ -47,44 +45,34 @@ class SupplierController extends BaseAdminController
|
|||
protected string $attachment_class = SupplierAttachment::class;
|
||||
protected ?string $parameter_class = SupplierParameter::class;
|
||||
|
||||
/**
|
||||
* @Route("/{id}", name="supplier_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/{id}', name: 'supplier_delete', methods: ['DELETE'])]
|
||||
public function delete(Request $request, Supplier $entity, StructuralElementRecursionHelper $recursionHelper): RedirectResponse
|
||||
{
|
||||
return $this->_delete($request, $entity, $recursionHelper);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit/{timestamp}", requirements={"id"="\d+"}, name="supplier_edit")
|
||||
* @Route("/{id}", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/edit/{timestamp}', requirements: ['id' => '\d+'], name: 'supplier_edit')]
|
||||
#[Route(path: '/{id}', requirements: ['id' => '\d+'])]
|
||||
public function edit(Supplier $entity, Request $request, EntityManagerInterface $em, ?string $timestamp = null): Response
|
||||
{
|
||||
return $this->_edit($entity, $request, $em, $timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="supplier_new")
|
||||
* @Route("/{id}/clone", name="supplier_clone")
|
||||
* @Route("/")
|
||||
*/
|
||||
#[Route(path: '/new', name: 'supplier_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'supplier_clone')]
|
||||
#[Route(path: '/')]
|
||||
public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer, ?Supplier $entity = null): Response
|
||||
{
|
||||
return $this->_new($request, $em, $importer, $entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export", name="supplier_export_all")
|
||||
*/
|
||||
#[Route(path: '/export', name: 'supplier_export_all')]
|
||||
public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportAll($em, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/export", name="supplier_export")
|
||||
*/
|
||||
#[Route(path: '/{id}/export', name: 'supplier_export')]
|
||||
public function exportEntity(Supplier $entity, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportEntity($entity, $exporter, $request);
|
||||
|
|
|
@ -42,9 +42,8 @@ class AttachmentFileController extends AbstractController
|
|||
{
|
||||
/**
|
||||
* Download the selected attachment.
|
||||
*
|
||||
* @Route("/attachment/{id}/download", name="attachment_download")
|
||||
*/
|
||||
#[Route(path: '/attachment/{id}/download', name: 'attachment_download')]
|
||||
public function download(Attachment $attachment, AttachmentManager $helper): BinaryFileResponse
|
||||
{
|
||||
$this->denyAccessUnlessGranted('read', $attachment);
|
||||
|
@ -72,9 +71,8 @@ class AttachmentFileController extends AbstractController
|
|||
|
||||
/**
|
||||
* View the attachment.
|
||||
*
|
||||
* @Route("/attachment/{id}/view", name="attachment_view")
|
||||
*/
|
||||
#[Route(path: '/attachment/{id}/view', name: 'attachment_view')]
|
||||
public function view(Attachment $attachment, AttachmentManager $helper): BinaryFileResponse
|
||||
{
|
||||
$this->denyAccessUnlessGranted('read', $attachment);
|
||||
|
@ -100,9 +98,7 @@ class AttachmentFileController extends AbstractController
|
|||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/attachment/list", name="attachment_list")
|
||||
*/
|
||||
#[Route(path: '/attachment/list', name: 'attachment_list')]
|
||||
public function attachmentsTable(Request $request, DataTableFactory $dataTableFactory, NodesListBuilder $nodesListBuilder): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@attachments.list_attachments');
|
||||
|
@ -124,7 +120,7 @@ class AttachmentFileController extends AbstractController
|
|||
|
||||
return $this->render('attachment_list.html.twig', [
|
||||
'datatable' => $table,
|
||||
'filterForm' => $filterForm->createView(),
|
||||
'filterForm' => $filterForm,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,9 +39,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/group")
|
||||
*/
|
||||
#[Route(path: '/group')]
|
||||
class GroupController extends BaseAdminController
|
||||
{
|
||||
protected string $entity_class = Group::class;
|
||||
|
@ -51,10 +49,8 @@ class GroupController extends BaseAdminController
|
|||
protected string $attachment_class = GroupAttachment::class;
|
||||
protected ?string $parameter_class = GroupParameter::class;
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit/{timestamp}", requirements={"id"="\d+"}, name="group_edit")
|
||||
* @Route("/{id}/", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/edit/{timestamp}', requirements: ['id' => '\d+'], name: 'group_edit')]
|
||||
#[Route(path: '/{id}/', requirements: ['id' => '\d+'])]
|
||||
public function edit(Group $entity, Request $request, EntityManagerInterface $em, PermissionPresetsHelper $permissionPresetsHelper, PermissionSchemaUpdater $permissionSchemaUpdater, ?string $timestamp = null): Response
|
||||
{
|
||||
//Do an upgrade of the permission schema if needed (so the user can see the permissions a user get on next request (even if it was not done yet)
|
||||
|
@ -82,35 +78,27 @@ class GroupController extends BaseAdminController
|
|||
return $this->_edit($entity, $request, $em, $timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="group_new")
|
||||
* @Route("/{id}/clone", name="group_clone")
|
||||
* @Route("/")
|
||||
*/
|
||||
#[Route(path: '/new', name: 'group_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'group_clone')]
|
||||
#[Route(path: '/')]
|
||||
public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer, ?Group $entity = null): Response
|
||||
{
|
||||
return $this->_new($request, $em, $importer, $entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}", name="group_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/{id}', name: 'group_delete', methods: ['DELETE'])]
|
||||
public function delete(Request $request, Group $entity, StructuralElementRecursionHelper $recursionHelper): RedirectResponse
|
||||
{
|
||||
return $this->_delete($request, $entity, $recursionHelper);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export", name="group_export_all")
|
||||
*/
|
||||
#[Route(path: '/export', name: 'group_export_all')]
|
||||
public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportAll($em, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/export", name="group_export")
|
||||
*/
|
||||
#[Route(path: '/{id}/export', name: 'group_export')]
|
||||
public function exportEntity(Group $entity, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportEntity($entity, $exporter, $request);
|
||||
|
|
|
@ -61,9 +61,7 @@ class HomepageController extends AbstractController
|
|||
return $banner;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/", name="homepage")
|
||||
*/
|
||||
#[Route(path: '/', name: 'homepage')]
|
||||
public function homepage(Request $request, GitVersionInfo $versionInfo, EntityManagerInterface $entityManager): Response
|
||||
{
|
||||
if ($this->isGranted('@tools.lastActivity')) {
|
||||
|
|
|
@ -59,9 +59,7 @@ use Symfony\Component\HttpFoundation\Response;
|
|||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
|
||||
/**
|
||||
* @Route("/label")
|
||||
*/
|
||||
#[Route(path: '/label')]
|
||||
class LabelController extends AbstractController
|
||||
{
|
||||
protected LabelGenerator $labelGenerator;
|
||||
|
@ -80,10 +78,8 @@ class LabelController extends AbstractController
|
|||
$this->translator = $translator;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/dialog", name="label_dialog")
|
||||
* @Route("/{profile}/dialog", name="label_dialog_profile")
|
||||
*/
|
||||
#[Route(path: '/dialog', name: 'label_dialog')]
|
||||
#[Route(path: '/{profile}/dialog', name: 'label_dialog_profile')]
|
||||
public function generator(Request $request, ?LabelProfile $profile = null): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@labels.create_labels');
|
||||
|
@ -146,7 +142,7 @@ class LabelController extends AbstractController
|
|||
}
|
||||
}
|
||||
|
||||
return $this->renderForm('label_system/dialog.html.twig', [
|
||||
return $this->render('label_system/dialog.html.twig', [
|
||||
'form' => $form,
|
||||
'pdf_data' => $pdf_data,
|
||||
'filename' => $filename,
|
||||
|
|
|
@ -49,9 +49,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/log")
|
||||
*/
|
||||
#[Route(path: '/log')]
|
||||
class LogController extends AbstractController
|
||||
{
|
||||
protected EntityManagerInterface $entityManager;
|
||||
|
@ -66,10 +64,9 @@ class LogController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/", name="log_view")
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
#[Route(path: '/', name: 'log_view')]
|
||||
public function showLogs(Request $request, DataTableFactory $dataTable): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@system.show_logs');
|
||||
|
@ -93,17 +90,17 @@ class LogController extends AbstractController
|
|||
|
||||
return $this->render('log_system/log_list.html.twig', [
|
||||
'datatable' => $table,
|
||||
'filterForm' => $filterForm->createView(),
|
||||
'filterForm' => $filterForm,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/details", name="log_details")
|
||||
* @param Request $request
|
||||
* @param AbstractLogEntry $logEntry
|
||||
* @return Response
|
||||
*/
|
||||
public function logDetails(Request $request, AbstractLogEntry $logEntry, LogEntryExtraFormatter $logEntryExtraFormatter,
|
||||
#[Route(path: '/{id}/details', name: 'log_details')]
|
||||
public function logDetails(AbstractLogEntry $logEntry, LogEntryExtraFormatter $logEntryExtraFormatter,
|
||||
LogLevelHelper $logLevelHelper, LogTargetHelper $logTargetHelper, EntityManagerInterface $entityManager): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('show_details', $logEntry);
|
||||
|
@ -123,9 +120,7 @@ class LogController extends AbstractController
|
|||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/delete", name="log_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/{id}/delete', name: 'log_delete', methods: ['DELETE'])]
|
||||
public function deleteLogEntry(Request $request, AbstractLogEntry $logEntry, EntityManagerInterface $entityManager): RedirectResponse
|
||||
{
|
||||
$this->denyAccessUnlessGranted('delete', $logEntry);
|
||||
|
@ -142,9 +137,7 @@ class LogController extends AbstractController
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Route("/undo", name="log_undo", methods={"POST"})
|
||||
*/
|
||||
#[Route(path: '/undo', name: 'log_undo', methods: ['POST'])]
|
||||
public function undoRevertLog(Request $request, EventUndoHelper $eventUndoHelper): RedirectResponse
|
||||
{
|
||||
$mode = EventUndoHelper::MODE_UNDO;
|
||||
|
|
|
@ -59,9 +59,7 @@ use Symfony\Contracts\Translation\TranslatorInterface;
|
|||
|
||||
use function Symfony\Component\Translation\t;
|
||||
|
||||
/**
|
||||
* @Route("/part")
|
||||
*/
|
||||
#[Route(path: '/part')]
|
||||
class PartController extends AbstractController
|
||||
{
|
||||
protected PricedetailHelper $pricedetailHelper;
|
||||
|
@ -77,11 +75,11 @@ class PartController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/info/{timestamp}", name="part_info")
|
||||
* @Route("/{id}", requirements={"id"="\d+"})
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
#[Route(path: '/{id}/info/{timestamp}', name: 'part_info')]
|
||||
#[Route(path: '/{id}', requirements: ['id' => '\d+'])]
|
||||
public function show(Part $part, Request $request, TimeTravel $timeTravel, HistoryHelper $historyHelper,
|
||||
DataTableFactory $dataTable, ParameterExtractor $parameterExtractor, PartLotWithdrawAddHelper $withdrawAddHelper, ?string $timestamp = null): Response
|
||||
{
|
||||
|
@ -129,9 +127,7 @@ class PartController extends AbstractController
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit", name="part_edit")
|
||||
*/
|
||||
#[Route(path: '/{id}/edit', name: 'part_edit')]
|
||||
public function edit(Part $part, Request $request, EntityManagerInterface $em, TranslatorInterface $translator,
|
||||
AttachmentSubmitHandler $attachmentSubmitHandler): Response
|
||||
{
|
||||
|
@ -182,16 +178,14 @@ class PartController extends AbstractController
|
|||
$this->addFlash('error', 'part.edited_flash.invalid');
|
||||
}
|
||||
|
||||
return $this->renderForm('parts/edit/edit_part_info.html.twig',
|
||||
return $this->render('parts/edit/edit_part_info.html.twig',
|
||||
[
|
||||
'part' => $part,
|
||||
'form' => $form,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/delete", name="part_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/{id}/delete', name: 'part_delete', methods: ['DELETE'])]
|
||||
public function delete(Request $request, Part $part, EntityManagerInterface $entityManager): RedirectResponse
|
||||
{
|
||||
$this->denyAccessUnlessGranted('delete', $part);
|
||||
|
@ -213,12 +207,12 @@ class PartController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="part_new")
|
||||
* @Route("/{id}/clone", name="part_clone")
|
||||
* @Route("/new_build_part/{project_id}", name="part_new_build_part")
|
||||
* @ParamConverter("part", options={"id" = "id"})
|
||||
* @ParamConverter("project", options={"id" = "project_id"})
|
||||
*/
|
||||
#[Route(path: '/new', name: 'part_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'part_clone')]
|
||||
#[Route(path: '/new_build_part/{project_id}', name: 'part_new_build_part')]
|
||||
public function new(Request $request, EntityManagerInterface $em, TranslatorInterface $translator,
|
||||
AttachmentSubmitHandler $attachmentSubmitHandler, ProjectBuildPartHelper $projectBuildPartHelper,
|
||||
?Part $part = null, ?Project $project = null): Response
|
||||
|
@ -328,16 +322,14 @@ class PartController extends AbstractController
|
|||
$this->addFlash('error', 'part.created_flash.invalid');
|
||||
}
|
||||
|
||||
return $this->renderForm('parts/edit/new_part.html.twig',
|
||||
return $this->render('parts/edit/new_part.html.twig',
|
||||
[
|
||||
'part' => $new_part,
|
||||
'form' => $form,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/add_withdraw", name="part_add_withdraw", methods={"POST"})
|
||||
*/
|
||||
#[Route(path: '/{id}/add_withdraw', name: 'part_add_withdraw', methods: ['POST'])]
|
||||
public function withdrawAddHandler(Part $part, Request $request, EntityManagerInterface $em, PartLotWithdrawAddHelper $withdrawAddHelper): Response
|
||||
{
|
||||
if ($this->isCsrfTokenValid('part_withraw' . $part->getID(), $request->request->get('_csfr'))) {
|
||||
|
|
|
@ -49,10 +49,10 @@ class PartImportExportController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/parts/import", name="parts_import")
|
||||
* @param Request $request
|
||||
* @return Response
|
||||
*/
|
||||
#[Route(path: '/parts/import', name: 'parts_import')]
|
||||
public function importParts(Request $request): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@parts.import');
|
||||
|
@ -109,7 +109,7 @@ class PartImportExportController extends AbstractController
|
|||
|
||||
|
||||
ret:
|
||||
return $this->renderForm('parts/import/parts_import.html.twig', [
|
||||
return $this->render('parts/import/parts_import.html.twig', [
|
||||
'import_form' => $import_form,
|
||||
'imported_entities' => $entities ?? [],
|
||||
'import_errors' => $errors ?? [],
|
||||
|
@ -117,9 +117,9 @@ class PartImportExportController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/parts/export", name="parts_export", methods={"GET"})
|
||||
* @return Response
|
||||
*/
|
||||
#[Route(path: '/parts/export', name: 'parts_export', methods: ['GET'])]
|
||||
public function exportParts(Request $request, EntityExporter $entityExporter): Response
|
||||
{
|
||||
$ids = $request->query->get('ids', '');
|
||||
|
|
|
@ -62,9 +62,7 @@ class PartListsController extends AbstractController
|
|||
$this->translator = $translator;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/table/action", name="table_action", methods={"POST"})
|
||||
*/
|
||||
#[Route(path: '/table/action', name: 'table_action', methods: ['POST'])]
|
||||
public function tableAction(Request $request, PartsTableActionHandler $actionHandler): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@parts.edit');
|
||||
|
@ -175,10 +173,9 @@ class PartListsController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/category/{id}/parts", name="part_list_category")
|
||||
*
|
||||
* @return JsonResponse|Response
|
||||
*/
|
||||
#[Route(path: '/category/{id}/parts', name: 'part_list_category')]
|
||||
public function showCategory(Category $category, Request $request): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@categories.read');
|
||||
|
@ -197,10 +194,9 @@ class PartListsController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/footprint/{id}/parts", name="part_list_footprint")
|
||||
*
|
||||
* @return JsonResponse|Response
|
||||
*/
|
||||
#[Route(path: '/footprint/{id}/parts', name: 'part_list_footprint')]
|
||||
public function showFootprint(Footprint $footprint, Request $request): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@footprints.read');
|
||||
|
@ -219,10 +215,9 @@ class PartListsController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/manufacturer/{id}/parts", name="part_list_manufacturer")
|
||||
*
|
||||
* @return JsonResponse|Response
|
||||
*/
|
||||
#[Route(path: '/manufacturer/{id}/parts', name: 'part_list_manufacturer')]
|
||||
public function showManufacturer(Manufacturer $manufacturer, Request $request): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@manufacturers.read');
|
||||
|
@ -241,10 +236,9 @@ class PartListsController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/store_location/{id}/parts", name="part_list_store_location")
|
||||
*
|
||||
* @return JsonResponse|Response
|
||||
*/
|
||||
#[Route(path: '/store_location/{id}/parts', name: 'part_list_store_location')]
|
||||
public function showStorelocation(Storelocation $storelocation, Request $request): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@storelocations.read');
|
||||
|
@ -263,10 +257,9 @@ class PartListsController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/supplier/{id}/parts", name="part_list_supplier")
|
||||
*
|
||||
* @return JsonResponse|Response
|
||||
*/
|
||||
#[Route(path: '/supplier/{id}/parts', name: 'part_list_supplier')]
|
||||
public function showSupplier(Supplier $supplier, Request $request): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@suppliers.read');
|
||||
|
@ -285,10 +278,9 @@ class PartListsController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/parts/by_tag/{tag}", name="part_list_tags", requirements={"tag": ".*"})
|
||||
*
|
||||
* @return JsonResponse|Response
|
||||
*/
|
||||
#[Route(path: '/parts/by_tag/{tag}', name: 'part_list_tags', requirements: ['tag' => '.*'])]
|
||||
public function showTag(string $tag, Request $request): Response
|
||||
{
|
||||
$tag = trim($tag);
|
||||
|
@ -330,10 +322,9 @@ class PartListsController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/parts/search", name="parts_search")
|
||||
*
|
||||
* @return JsonResponse|Response
|
||||
*/
|
||||
#[Route(path: '/parts/search', name: 'parts_search')]
|
||||
public function showSearch(Request $request, DataTableFactory $dataTable): Response
|
||||
{
|
||||
$searchFilter = $this->searchRequestToFilter($request);
|
||||
|
@ -353,10 +344,9 @@ class PartListsController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/parts", name="parts_show_all")
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
#[Route(path: '/parts', name: 'parts_show_all')]
|
||||
public function showAll(Request $request): Response
|
||||
{
|
||||
return $this->showListWithFilter($request,'parts/lists/all_list.html.twig');
|
||||
|
|
|
@ -47,9 +47,7 @@ use Symfony\Component\Validator\Validator\ValidatorInterface;
|
|||
|
||||
use function Symfony\Component\Translation\t;
|
||||
|
||||
/**
|
||||
* @Route("/project")
|
||||
*/
|
||||
#[Route(path: '/project')]
|
||||
class ProjectController extends AbstractController
|
||||
{
|
||||
private DataTableFactory $dataTableFactory;
|
||||
|
@ -59,9 +57,7 @@ class ProjectController extends AbstractController
|
|||
$this->dataTableFactory = $dataTableFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/info", name="project_info", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/info', name: 'project_info', requirements: ['id' => '\d+'])]
|
||||
public function info(Project $project, Request $request, ProjectBuildHelper $buildHelper): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('read', $project);
|
||||
|
@ -80,9 +76,7 @@ class ProjectController extends AbstractController
|
|||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/build", name="project_build", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/build', name: 'project_build', requirements: ['id' => '\d+'])]
|
||||
public function build(Project $project, Request $request, ProjectBuildHelper $buildHelper, EntityManagerInterface $entityManager): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('read', $project);
|
||||
|
@ -117,7 +111,7 @@ class ProjectController extends AbstractController
|
|||
$this->addFlash('error', 'project.build.flash.invalid_input');
|
||||
}
|
||||
|
||||
return $this->renderForm('projects/build/build.html.twig', [
|
||||
return $this->render('projects/build/build.html.twig', [
|
||||
'buildHelper' => $buildHelper,
|
||||
'project' => $project,
|
||||
'build_request' => $projectBuildRequest,
|
||||
|
@ -126,9 +120,7 @@ class ProjectController extends AbstractController
|
|||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/import_bom", name="project_import_bom", requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}/import_bom', name: 'project_import_bom', requirements: ['id' => '\d+'])]
|
||||
public function importBOM(Request $request, EntityManagerInterface $entityManager, Project $project,
|
||||
BOMImporter $BOMImporter, ValidatorInterface $validator): Response
|
||||
{
|
||||
|
@ -195,7 +187,7 @@ class ProjectController extends AbstractController
|
|||
}
|
||||
}
|
||||
|
||||
return $this->renderForm('projects/import_bom.html.twig', [
|
||||
return $this->render('projects/import_bom.html.twig', [
|
||||
'project' => $project,
|
||||
'form' => $form,
|
||||
'errors' => $errors ?? null,
|
||||
|
@ -203,11 +195,11 @@ class ProjectController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/add_parts", name="project_add_parts_no_id")
|
||||
* @Route("/{id}/add_parts", name="project_add_parts", requirements={"id"="\d+"})
|
||||
* @param Request $request
|
||||
* @param Project|null $project
|
||||
*/
|
||||
#[Route(path: '/add_parts', name: 'project_add_parts_no_id')]
|
||||
#[Route(path: '/{id}/add_parts', name: 'project_add_parts', requirements: ['id' => '\d+'])]
|
||||
public function addPart(Request $request, EntityManagerInterface $entityManager, ?Project $project): Response
|
||||
{
|
||||
if($project) {
|
||||
|
@ -274,7 +266,7 @@ class ProjectController extends AbstractController
|
|||
return $this->redirectToRoute('project_info', ['id' => $target_project->getID()]);
|
||||
}
|
||||
|
||||
return $this->renderForm('projects/add_parts.html.twig', [
|
||||
return $this->render('projects/add_parts.html.twig', [
|
||||
'project' => $project,
|
||||
'form' => $form,
|
||||
]);
|
||||
|
|
|
@ -51,9 +51,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/scan")
|
||||
*/
|
||||
#[Route(path: '/scan')]
|
||||
class ScanController extends AbstractController
|
||||
{
|
||||
protected BarcodeRedirector $barcodeParser;
|
||||
|
@ -65,9 +63,7 @@ class ScanController extends AbstractController
|
|||
$this->barcodeNormalizer = $barcodeNormalizer;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("", name="scan_dialog")
|
||||
*/
|
||||
#[Route(path: '', name: 'scan_dialog')]
|
||||
public function dialog(Request $request): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@tools.label_scanner');
|
||||
|
@ -91,7 +87,7 @@ class ScanController extends AbstractController
|
|||
}
|
||||
}
|
||||
|
||||
return $this->renderForm('label_system/scanner/scanner.html.twig', [
|
||||
return $this->render('label_system/scanner/scanner.html.twig', [
|
||||
'form' => $form,
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -57,9 +57,7 @@ class SecurityController extends AbstractController
|
|||
$this->allow_email_pw_reset = $allow_email_pw_reset;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/login", name="login", methods={"GET", "POST"})
|
||||
*/
|
||||
#[Route(path: '/login', name: 'login', methods: ['GET', 'POST'])]
|
||||
public function login(AuthenticationUtils $authenticationUtils): Response
|
||||
{
|
||||
// get the login error if there is one
|
||||
|
@ -75,10 +73,9 @@ class SecurityController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/pw_reset/request", name="pw_reset_request")
|
||||
*
|
||||
* @return RedirectResponse|Response
|
||||
*/
|
||||
#[Route(path: '/pw_reset/request', name: 'pw_reset_request')]
|
||||
public function requestPwReset(PasswordResetManager $passwordReset, Request $request)
|
||||
{
|
||||
if (!$this->allow_email_pw_reset) {
|
||||
|
@ -113,16 +110,15 @@ class SecurityController extends AbstractController
|
|||
return $this->redirectToRoute('login');
|
||||
}
|
||||
|
||||
return $this->renderForm('security/pw_reset_request.html.twig', [
|
||||
return $this->render('security/pw_reset_request.html.twig', [
|
||||
'form' => $form,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/pw_reset/new_pw/{user}/{token}", name="pw_reset_new_pw")
|
||||
*
|
||||
* @return RedirectResponse|Response
|
||||
*/
|
||||
#[Route(path: '/pw_reset/new_pw/{user}/{token}', name: 'pw_reset_new_pw')]
|
||||
public function pwResetNewPw(PasswordResetManager $passwordReset, Request $request, EntityManagerInterface $em, EventDispatcherInterface $eventDispatcher, ?string $user = null, ?string $token = null)
|
||||
{
|
||||
if (!$this->allow_email_pw_reset) {
|
||||
|
@ -187,14 +183,12 @@ class SecurityController extends AbstractController
|
|||
}
|
||||
}
|
||||
|
||||
return $this->renderForm('security/pw_reset_new_pw.html.twig', [
|
||||
return $this->render('security/pw_reset_new_pw.html.twig', [
|
||||
'form' => $form,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/logout", name="logout")
|
||||
*/
|
||||
#[Route(path: '/logout', name: 'logout')]
|
||||
public function logout(): void
|
||||
{
|
||||
throw new RuntimeException('Will be intercepted before getting here');
|
||||
|
|
|
@ -37,10 +37,9 @@ use Symfony\Component\Routing\Annotation\Route;
|
|||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
|
||||
/**
|
||||
* @Route("/select_api")
|
||||
*
|
||||
* This endpoint is used by the select2 library to dynamically load data (used in the multiselect action helper in parts lists)
|
||||
*/
|
||||
#[Route(path: '/select_api')]
|
||||
class SelectAPIController extends AbstractController
|
||||
{
|
||||
private NodesListBuilder $nodesListBuilder;
|
||||
|
@ -54,49 +53,37 @@ class SelectAPIController extends AbstractController
|
|||
$this->choiceHelper = $choiceHelper;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/category", name="select_category")
|
||||
*/
|
||||
#[Route(path: '/category', name: 'select_category')]
|
||||
public function category(): Response
|
||||
{
|
||||
return $this->getResponseForClass(Category::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/footprint", name="select_footprint")
|
||||
*/
|
||||
#[Route(path: '/footprint', name: 'select_footprint')]
|
||||
public function footprint(): Response
|
||||
{
|
||||
return $this->getResponseForClass(Footprint::class, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/manufacturer", name="select_manufacturer")
|
||||
*/
|
||||
#[Route(path: '/manufacturer', name: 'select_manufacturer')]
|
||||
public function manufacturer(): Response
|
||||
{
|
||||
return $this->getResponseForClass(Manufacturer::class, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/measurement_unit", name="select_measurement_unit")
|
||||
*/
|
||||
#[Route(path: '/measurement_unit', name: 'select_measurement_unit')]
|
||||
public function measurement_unit(): Response
|
||||
{
|
||||
return $this->getResponseForClass(MeasurementUnit::class, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/project", name="select_project")
|
||||
*/
|
||||
#[Route(path: '/project', name: 'select_project')]
|
||||
public function projects(): Response
|
||||
{
|
||||
return $this->getResponseForClass(Project::class, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export_level", name="select_export_level")
|
||||
*/
|
||||
#[Route(path: '/export_level', name: 'select_export_level')]
|
||||
public function exportLevel(): Response
|
||||
{
|
||||
$entries = [
|
||||
|
@ -114,9 +101,9 @@ class SelectAPIController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/label_profiles", name="select_label_profiles")
|
||||
* @return Response
|
||||
*/
|
||||
#[Route(path: '/label_profiles', name: 'select_label_profiles')]
|
||||
public function labelProfiles(EntityManagerInterface $entityManager): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@labels.create_labels');
|
||||
|
@ -135,9 +122,9 @@ class SelectAPIController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/label_profiles_lot", name="select_label_profiles_lot")
|
||||
* @return Response
|
||||
*/
|
||||
#[Route(path: '/label_profiles_lot', name: 'select_label_profiles_lot')]
|
||||
public function labelProfilesLot(EntityManagerInterface $entityManager): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@labels.create_labels');
|
||||
|
|
|
@ -48,9 +48,7 @@ use Symfony\Component\Routing\Annotation\Route;
|
|||
|
||||
class StatisticsController extends AbstractController
|
||||
{
|
||||
/**
|
||||
* @Route("/statistics", name="statistics_view")
|
||||
*/
|
||||
#[Route(path: '/statistics', name: 'statistics_view')]
|
||||
public function showStatistics(StatisticsHelper $helper): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@tools.statistics');
|
||||
|
|
|
@ -32,14 +32,10 @@ use Symfony\Component\HttpFoundation\Response;
|
|||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Symfony\Component\Routing\Generator\UrlGenerator;
|
||||
|
||||
/**
|
||||
* @Route("/tools")
|
||||
*/
|
||||
#[Route(path: '/tools')]
|
||||
class ToolsController extends AbstractController
|
||||
{
|
||||
/**
|
||||
* @Route("/reel_calc", name="tools_reel_calculator")
|
||||
*/
|
||||
#[Route(path: '/reel_calc', name: 'tools_reel_calculator')]
|
||||
public function reelCalculator(): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@tools.reel_calculator');
|
||||
|
@ -47,9 +43,7 @@ class ToolsController extends AbstractController
|
|||
return $this->render('tools/reel_calculator/reel_calculator.html.twig');
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/server_infos", name="tools_server_infos")
|
||||
*/
|
||||
#[Route(path: '/server_infos', name: 'tools_server_infos')]
|
||||
public function systemInfos(GitVersionInfo $versionInfo, DBInfoHelper $DBInfoHelper,
|
||||
AttachmentSubmitHandler $attachmentSubmitHandler): Response
|
||||
{
|
||||
|
@ -98,9 +92,9 @@ class ToolsController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/builtin_footprints", name="tools_builtin_footprints_viewer")
|
||||
* @return Response
|
||||
*/
|
||||
#[Route(path: '/builtin_footprints', name: 'tools_builtin_footprints_viewer')]
|
||||
public function builtInFootprintsViewer(BuiltinAttachmentsFinder $builtinAttachmentsFinder, AttachmentURLGenerator $urlGenerator): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@tools.builtin_footprints_viewer');
|
||||
|
@ -121,9 +115,9 @@ class ToolsController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/ic_logos", name="tools_ic_logos")
|
||||
* @return Response
|
||||
*/
|
||||
#[Route(path: '/ic_logos', name: 'tools_ic_logos')]
|
||||
public function icLogos(): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@tools.ic_logos');
|
||||
|
|
|
@ -36,9 +36,8 @@ use Symfony\Component\Routing\Annotation\Route;
|
|||
|
||||
/**
|
||||
* This controller has the purpose to provide the data for all treeviews.
|
||||
*
|
||||
* @Route("/tree")
|
||||
*/
|
||||
#[Route(path: '/tree')]
|
||||
class TreeController extends AbstractController
|
||||
{
|
||||
protected TreeViewGenerator $treeGenerator;
|
||||
|
@ -48,9 +47,7 @@ class TreeController extends AbstractController
|
|||
$this->treeGenerator = $treeGenerator;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/tools", name="tree_tools")
|
||||
*/
|
||||
#[Route(path: '/tools', name: 'tree_tools')]
|
||||
public function tools(ToolsTreeBuilder $builder): JsonResponse
|
||||
{
|
||||
$tree = $builder->getTree();
|
||||
|
@ -58,90 +55,78 @@ class TreeController extends AbstractController
|
|||
return new JsonResponse($tree);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/category/{id}", name="tree_category")
|
||||
* @Route("/categories", name="tree_category_root")
|
||||
*/
|
||||
#[Route(path: '/category/{id}', name: 'tree_category')]
|
||||
#[Route(path: '/categories', name: 'tree_category_root')]
|
||||
public function categoryTree(?Category $category = null): JsonResponse
|
||||
{
|
||||
if ($this->isGranted('@parts.read') && $this->isGranted('@categories.read')) {
|
||||
$tree = $this->treeGenerator->getTreeView(Category::class, $category, 'list_parts_root');
|
||||
} else {
|
||||
return new JsonResponse("Access denied", 403);
|
||||
return new JsonResponse("Access denied", \Symfony\Component\HttpFoundation\Response::HTTP_FORBIDDEN);
|
||||
}
|
||||
|
||||
return new JsonResponse($tree);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/footprint/{id}", name="tree_footprint")
|
||||
* @Route("/footprints", name="tree_footprint_root")
|
||||
*/
|
||||
#[Route(path: '/footprint/{id}', name: 'tree_footprint')]
|
||||
#[Route(path: '/footprints', name: 'tree_footprint_root')]
|
||||
public function footprintTree(?Footprint $footprint = null): JsonResponse
|
||||
{
|
||||
if ($this->isGranted('@parts.read') && $this->isGranted('@footprints.read')) {
|
||||
$tree = $this->treeGenerator->getTreeView(Footprint::class, $footprint, 'list_parts_root');
|
||||
} else {
|
||||
return new JsonResponse("Access denied", 403);
|
||||
return new JsonResponse("Access denied", \Symfony\Component\HttpFoundation\Response::HTTP_FORBIDDEN);
|
||||
}
|
||||
return new JsonResponse($tree);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/location/{id}", name="tree_location")
|
||||
* @Route("/locations", name="tree_location_root")
|
||||
*/
|
||||
#[Route(path: '/location/{id}', name: 'tree_location')]
|
||||
#[Route(path: '/locations', name: 'tree_location_root')]
|
||||
public function locationTree(?Storelocation $location = null): JsonResponse
|
||||
{
|
||||
if ($this->isGranted('@parts.read') && $this->isGranted('@storelocations.read')) {
|
||||
$tree = $this->treeGenerator->getTreeView(Storelocation::class, $location, 'list_parts_root');
|
||||
} else {
|
||||
return new JsonResponse("Access denied", 403);
|
||||
return new JsonResponse("Access denied", \Symfony\Component\HttpFoundation\Response::HTTP_FORBIDDEN);
|
||||
}
|
||||
|
||||
return new JsonResponse($tree);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/manufacturer/{id}", name="tree_manufacturer")
|
||||
* @Route("/manufacturers", name="tree_manufacturer_root")
|
||||
*/
|
||||
#[Route(path: '/manufacturer/{id}', name: 'tree_manufacturer')]
|
||||
#[Route(path: '/manufacturers', name: 'tree_manufacturer_root')]
|
||||
public function manufacturerTree(?Manufacturer $manufacturer = null): JsonResponse
|
||||
{
|
||||
if ($this->isGranted('@parts.read') && $this->isGranted('@manufacturers.read')) {
|
||||
$tree = $this->treeGenerator->getTreeView(Manufacturer::class, $manufacturer, 'list_parts_root');
|
||||
} else {
|
||||
return new JsonResponse("Access denied", 403);
|
||||
return new JsonResponse("Access denied", \Symfony\Component\HttpFoundation\Response::HTTP_FORBIDDEN);
|
||||
}
|
||||
|
||||
return new JsonResponse($tree);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/supplier/{id}", name="tree_supplier")
|
||||
* @Route("/suppliers", name="tree_supplier_root")
|
||||
*/
|
||||
#[Route(path: '/supplier/{id}', name: 'tree_supplier')]
|
||||
#[Route(path: '/suppliers', name: 'tree_supplier_root')]
|
||||
public function supplierTree(?Supplier $supplier = null): JsonResponse
|
||||
{
|
||||
if ($this->isGranted('@parts.read') && $this->isGranted('@suppliers.read')) {
|
||||
$tree = $this->treeGenerator->getTreeView(Supplier::class, $supplier, 'list_parts_root');
|
||||
} else {
|
||||
return new JsonResponse("Access denied", 403);
|
||||
return new JsonResponse("Access denied", \Symfony\Component\HttpFoundation\Response::HTTP_FORBIDDEN);
|
||||
}
|
||||
|
||||
return new JsonResponse($tree);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/device/{id}", name="tree_device")
|
||||
* @Route("/devices", name="tree_device_root")
|
||||
*/
|
||||
#[Route(path: '/device/{id}', name: 'tree_device')]
|
||||
#[Route(path: '/devices', name: 'tree_device_root')]
|
||||
public function deviceTree(?Project $device = null): JsonResponse
|
||||
{
|
||||
if ($this->isGranted('@projects.read')) {
|
||||
$tree = $this->treeGenerator->getTreeView(Project::class, $device, 'devices');
|
||||
} else {
|
||||
return new JsonResponse("Access denied", 403);
|
||||
return new JsonResponse("Access denied", \Symfony\Component\HttpFoundation\Response::HTTP_FORBIDDEN);
|
||||
}
|
||||
|
||||
return new JsonResponse($tree);
|
||||
|
|
|
@ -51,9 +51,8 @@ use Symfony\Component\Serializer\Serializer;
|
|||
|
||||
/**
|
||||
* In this controller the endpoints for the typeaheads are collected.
|
||||
*
|
||||
* @Route("/typeahead")
|
||||
*/
|
||||
#[Route(path: '/typeahead')]
|
||||
class TypeaheadController extends AbstractController
|
||||
{
|
||||
protected AttachmentURLGenerator $urlGenerator;
|
||||
|
@ -65,9 +64,7 @@ class TypeaheadController extends AbstractController
|
|||
$this->assets = $assets;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/builtInResources/search", name="typeahead_builtInRessources")
|
||||
*/
|
||||
#[Route(path: '/builtInResources/search', name: 'typeahead_builtInRessources')]
|
||||
public function builtInResources(Request $request, BuiltinAttachmentsFinder $finder): JsonResponse
|
||||
{
|
||||
$query = $request->get('query');
|
||||
|
@ -91,7 +88,7 @@ class TypeaheadController extends AbstractController
|
|||
$serializer = new Serializer($normalizers, $encoders);
|
||||
$data = $serializer->serialize($result, 'json');
|
||||
|
||||
return new JsonResponse($data, 200, [], true);
|
||||
return new JsonResponse($data, \Symfony\Component\HttpFoundation\Response::HTTP_OK, [], true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -131,11 +128,11 @@ class TypeaheadController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/parts/search/{query}", name="typeahead_parts")
|
||||
* @param string $query
|
||||
* @param EntityManagerInterface $entityManager
|
||||
* @return JsonResponse
|
||||
*/
|
||||
#[Route(path: '/parts/search/{query}', name: 'typeahead_parts')]
|
||||
public function parts(EntityManagerInterface $entityManager, PartPreviewGenerator $previewGenerator,
|
||||
AttachmentURLGenerator $attachmentURLGenerator, string $query = ""): JsonResponse
|
||||
{
|
||||
|
@ -170,10 +167,10 @@ class TypeaheadController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/parameters/{type}/search/{query}", name="typeahead_parameters", requirements={"type" = ".+"})
|
||||
* @param string $query
|
||||
* @return JsonResponse
|
||||
*/
|
||||
#[Route(path: '/parameters/{type}/search/{query}', name: 'typeahead_parameters', requirements: ['type' => '.+'])]
|
||||
public function parameters(string $type, EntityManagerInterface $entityManager, string $query = ""): JsonResponse
|
||||
{
|
||||
$class = $this->typeToParameterClass($type);
|
||||
|
@ -190,9 +187,7 @@ class TypeaheadController extends AbstractController
|
|||
return new JsonResponse($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/tags/search/{query}", name="typeahead_tags", requirements={"query"= ".+"})
|
||||
*/
|
||||
#[Route(path: '/tags/search/{query}', name: 'typeahead_tags', requirements: ['query' => '.+'])]
|
||||
public function tags(string $query, TagFinder $finder): JsonResponse
|
||||
{
|
||||
$this->denyAccessUnlessGranted('@parts.read');
|
||||
|
@ -209,6 +204,6 @@ class TypeaheadController extends AbstractController
|
|||
$serializer = new Serializer($normalizers, $encoders);
|
||||
$data = $serializer->serialize($array, 'json');
|
||||
|
||||
return new JsonResponse($data, 200, [], true);
|
||||
return new JsonResponse($data, \Symfony\Component\HttpFoundation\Response::HTTP_OK, [], true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,10 +46,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/user")
|
||||
* Class UserController
|
||||
*/
|
||||
#[Route(path: '/user')]
|
||||
class UserController extends AdminPages\BaseAdminController
|
||||
{
|
||||
protected string $entity_class = User::class;
|
||||
|
@ -76,11 +73,11 @@ class UserController extends AdminPages\BaseAdminController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/edit/{timestamp}", requirements={"id"="\d+"}, name="user_edit")
|
||||
* @Route("/{id}/", requirements={"id"="\d+"})
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
#[Route(path: '/{id}/edit/{timestamp}', requirements: ['id' => '\d+'], name: 'user_edit')]
|
||||
#[Route(path: '/{id}/', requirements: ['id' => '\d+'])]
|
||||
public function edit(User $entity, Request $request, EntityManagerInterface $em, PermissionPresetsHelper $permissionPresetsHelper, PermissionSchemaUpdater $permissionSchemaUpdater, ?string $timestamp = null): Response
|
||||
{
|
||||
//Do an upgrade of the permission schema if needed (so the user can see the permissions a user get on next request (even if it was not done yet)
|
||||
|
@ -148,19 +145,15 @@ class UserController extends AdminPages\BaseAdminController
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/new", name="user_new")
|
||||
* @Route("/{id}/clone", name="user_clone")
|
||||
* @Route("/")
|
||||
*/
|
||||
#[Route(path: '/new', name: 'user_new')]
|
||||
#[Route(path: '/{id}/clone', name: 'user_clone')]
|
||||
#[Route(path: '/')]
|
||||
public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer, ?User $entity = null): Response
|
||||
{
|
||||
return $this->_new($request, $em, $importer, $entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}", name="user_delete", methods={"DELETE"}, requirements={"id"="\d+"})
|
||||
*/
|
||||
#[Route(path: '/{id}', name: 'user_delete', methods: ['DELETE'], requirements: ['id' => '\d+'])]
|
||||
public function delete(Request $request, User $entity, StructuralElementRecursionHelper $recursionHelper): RedirectResponse
|
||||
{
|
||||
if (User::ID_ANONYMOUS === $entity->getID()) {
|
||||
|
@ -170,26 +163,20 @@ class UserController extends AdminPages\BaseAdminController
|
|||
return $this->_delete($request, $entity, $recursionHelper);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/export", name="user_export_all")
|
||||
*/
|
||||
#[Route(path: '/export', name: 'user_export_all')]
|
||||
public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportAll($em, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/{id}/export", name="user_export")
|
||||
*/
|
||||
#[Route(path: '/{id}/export', name: 'user_export')]
|
||||
public function exportEntity(User $entity, EntityExporter $exporter, Request $request): Response
|
||||
{
|
||||
return $this->_exportEntity($entity, $exporter, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/info", name="user_info_self")
|
||||
* @Route("/{id}/info", name="user_info")
|
||||
*/
|
||||
#[Route(path: '/info', name: 'user_info_self')]
|
||||
#[Route(path: '/{id}/info', name: 'user_info')]
|
||||
public function userInfo(?User $user, Packages $packages, Request $request, DataTableFactory $dataTableFactory): Response
|
||||
{
|
||||
//If no user id was passed, then we show info about the current user
|
||||
|
@ -229,7 +216,7 @@ class UserController extends AdminPages\BaseAdminController
|
|||
'data' => $user,
|
||||
]);
|
||||
|
||||
return $this->renderForm('users/user_info.html.twig', [
|
||||
return $this->render('users/user_info.html.twig', [
|
||||
'user' => $user,
|
||||
'form' => $builder->getForm(),
|
||||
'datatable' => $table ?? null,
|
||||
|
|
|
@ -51,9 +51,7 @@ use Symfony\Component\Routing\Annotation\Route;
|
|||
use Symfony\Component\Security\Core\Validator\Constraints\UserPassword;
|
||||
use Symfony\Component\Validator\Constraints\Length;
|
||||
|
||||
/**
|
||||
* @Route("/user")
|
||||
*/
|
||||
#[Route(path: '/user')]
|
||||
class UserSettingsController extends AbstractController
|
||||
{
|
||||
protected bool $demo_mode;
|
||||
|
@ -69,9 +67,7 @@ class UserSettingsController extends AbstractController
|
|||
$this->eventDispatcher = $eventDispatcher;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/2fa_backup_codes", name="show_backup_codes")
|
||||
*/
|
||||
#[Route(path: '/2fa_backup_codes', name: 'show_backup_codes')]
|
||||
public function showBackupCodes()
|
||||
{
|
||||
$user = $this->getUser();
|
||||
|
@ -98,9 +94,7 @@ class UserSettingsController extends AbstractController
|
|||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/u2f_delete", name="u2f_delete", methods={"DELETE"})
|
||||
*/
|
||||
#[Route(path: '/u2f_delete', name: 'u2f_delete', methods: ['DELETE'])]
|
||||
public function removeU2FToken(Request $request, EntityManagerInterface $entityManager, BackupCodeManager $backupCodeManager): RedirectResponse
|
||||
{
|
||||
if ($this->demo_mode) {
|
||||
|
@ -181,10 +175,9 @@ class UserSettingsController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/invalidate_trustedDevices", name="tfa_trustedDevices_invalidate", methods={"DELETE"})
|
||||
*
|
||||
* @return RuntimeException|RedirectResponse
|
||||
*/
|
||||
#[Route(path: '/invalidate_trustedDevices', name: 'tfa_trustedDevices_invalidate', methods: ['DELETE'])]
|
||||
public function resetTrustedDevices(Request $request, EntityManagerInterface $entityManager)
|
||||
{
|
||||
if ($this->demo_mode) {
|
||||
|
@ -219,10 +212,9 @@ class UserSettingsController extends AbstractController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/settings", name="user_settings")
|
||||
*
|
||||
* @return RedirectResponse|Response
|
||||
*/
|
||||
#[Route(path: '/settings', name: 'user_settings')]
|
||||
public function userSettings(Request $request, EntityManagerInterface $em, UserPasswordHasherInterface $passwordEncoder, GoogleAuthenticator $googleAuthenticator, BackupCodeManager $backupCodeManager, FormFactoryInterface $formFactory, UserAvatarHelper $avatarHelper)
|
||||
{
|
||||
/** @var User $user */
|
||||
|
@ -397,7 +389,7 @@ class UserSettingsController extends AbstractController
|
|||
* Output both forms
|
||||
*****************************/
|
||||
|
||||
return $this->renderForm('users/user_settings.html.twig', [
|
||||
return $this->render('users/user_settings.html.twig', [
|
||||
'user' => $user,
|
||||
'settings_form' => $form,
|
||||
'pw_form' => $pw_form,
|
||||
|
|
|
@ -40,9 +40,7 @@ class WebauthnKeyRegistrationController extends AbstractController
|
|||
$this->demo_mode = $demo_mode;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/webauthn/register", name="webauthn_register")
|
||||
*/
|
||||
#[Route(path: '/webauthn/register', name: 'webauthn_register')]
|
||||
public function register(Request $request, TFAWebauthnRegistrationHelper $registrationHelper, EntityManagerInterface $em)
|
||||
{
|
||||
//When user change its settings, he should be logged in fully.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue