mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-12-06 19:19:29 +00:00
Added an button to update a label profile from directly inside the label generator
Related to issue #994
This commit is contained in:
parent
a18ec373d2
commit
46d1a0cb1b
4 changed files with 50 additions and 1 deletions
|
|
@ -88,6 +88,7 @@ class LabelController extends AbstractController
|
|||
|
||||
$form = $this->createForm(LabelDialogType::class, null, [
|
||||
'disable_options' => $disable_options,
|
||||
'profile' => $profile
|
||||
]);
|
||||
|
||||
//Try to parse given target_type and target_id
|
||||
|
|
@ -146,6 +147,29 @@ class LabelController extends AbstractController
|
|||
]);
|
||||
}
|
||||
|
||||
if ($form->get('update_profile')->isClicked() && $profile instanceof LabelProfile && $this->isGranted('edit', $profile)) { //@phpstan-ignore-line Phpstan does not recognize the isClicked method
|
||||
//Update the profile options
|
||||
$profile->setOptions($form_options);
|
||||
|
||||
//Validate the profile name
|
||||
$errors = $this->validator->validate($profile);
|
||||
if (count($errors) > 0) {
|
||||
foreach ($errors as $error) {
|
||||
$this->addFlash('error', $error->getMessage());
|
||||
}
|
||||
goto render;
|
||||
}
|
||||
|
||||
$this->em->persist($profile);
|
||||
$this->em->flush();
|
||||
$this->addFlash('success', 'label_generator.profile_updated');
|
||||
|
||||
return $this->redirectToRoute('label_dialog_profile', [
|
||||
'profile' => $profile->getID(),
|
||||
'target_id' => (string) $form->get('target_id')->getData()
|
||||
]);
|
||||
}
|
||||
|
||||
$target_id = (string) $form->get('target_id')->getData();
|
||||
$targets = $this->findObjects($form_options->getSupportedElement(), $target_id);
|
||||
if ($targets !== []) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue