mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-12-06 02:59: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, [
|
$form = $this->createForm(LabelDialogType::class, null, [
|
||||||
'disable_options' => $disable_options,
|
'disable_options' => $disable_options,
|
||||||
|
'profile' => $profile
|
||||||
]);
|
]);
|
||||||
|
|
||||||
//Try to parse given target_type and target_id
|
//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();
|
$target_id = (string) $form->get('target_id')->getData();
|
||||||
$targets = $this->findObjects($form_options->getSupportedElement(), $target_id);
|
$targets = $this->findObjects($form_options->getSupportedElement(), $target_id);
|
||||||
if ($targets !== []) {
|
if ($targets !== []) {
|
||||||
|
|
|
||||||
|
|
@ -87,6 +87,16 @@ class LabelDialogType extends AbstractType
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
if ($options['profile'] !== null) {
|
||||||
|
$builder->add('update_profile', SubmitType::class, [
|
||||||
|
'label' => 'label_generator.update_profile',
|
||||||
|
'disabled' => !$this->security->isGranted('edit', $options['profile']),
|
||||||
|
'attr' => [
|
||||||
|
'class' => 'btn btn-outline-success'
|
||||||
|
]
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
$builder->add('update', SubmitType::class, [
|
$builder->add('update', SubmitType::class, [
|
||||||
'label' => 'label_generator.update',
|
'label' => 'label_generator.update',
|
||||||
]);
|
]);
|
||||||
|
|
@ -97,5 +107,6 @@ class LabelDialogType extends AbstractType
|
||||||
parent::configureOptions($resolver);
|
parent::configureOptions($resolver);
|
||||||
$resolver->setDefault('mapped', false);
|
$resolver->setDefault('mapped', false);
|
||||||
$resolver->setDefault('disable_options', false);
|
$resolver->setDefault('disable_options', false);
|
||||||
|
$resolver->setDefault('profile', null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,8 @@
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{{ form_row(form.update_profile) }}
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<div class="offset-sm-3 col-sm-9">
|
<div class="offset-sm-3 col-sm-9">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
|
|
@ -133,4 +135,4 @@
|
||||||
</object>
|
</object>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -13429,5 +13429,17 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
||||||
<target>Generic CSV</target>
|
<target>Generic CSV</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
|
<unit id=".N35Pvs" name="label_generator.update_profile">
|
||||||
|
<segment>
|
||||||
|
<source>label_generator.update_profile</source>
|
||||||
|
<target>Update profile with current settings</target>
|
||||||
|
</segment>
|
||||||
|
</unit>
|
||||||
|
<unit id="ulTo6Aa" name="label_generator.profile_updated">
|
||||||
|
<segment>
|
||||||
|
<source>label_generator.profile_updated</source>
|
||||||
|
<target>Label profile updated successfully.</target>
|
||||||
|
</segment>
|
||||||
|
</unit>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue