mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-30 13:34:28 +02:00
Added quick edit link column to Parts tables.
This commit is contained in:
parent
8b43faeeac
commit
123b229638
2 changed files with 30 additions and 1 deletions
|
@ -44,10 +44,12 @@ namespace App\DataTables;
|
||||||
|
|
||||||
use App\DataTables\Adapter\FetchJoinORMAdapter;
|
use App\DataTables\Adapter\FetchJoinORMAdapter;
|
||||||
use App\DataTables\Column\EntityColumn;
|
use App\DataTables\Column\EntityColumn;
|
||||||
|
use App\DataTables\Column\IconLinkColumn;
|
||||||
use App\DataTables\Column\LocaleDateTimeColumn;
|
use App\DataTables\Column\LocaleDateTimeColumn;
|
||||||
use App\DataTables\Column\MarkdownColumn;
|
use App\DataTables\Column\MarkdownColumn;
|
||||||
use App\DataTables\Column\PartAttachmentsColumn;
|
use App\DataTables\Column\PartAttachmentsColumn;
|
||||||
use App\DataTables\Column\TagsColumn;
|
use App\DataTables\Column\TagsColumn;
|
||||||
|
use App\Entity\LogSystem\AbstractLogEntry;
|
||||||
use App\Entity\Parts\Category;
|
use App\Entity\Parts\Category;
|
||||||
use App\Entity\Parts\Footprint;
|
use App\Entity\Parts\Footprint;
|
||||||
use App\Entity\Parts\Manufacturer;
|
use App\Entity\Parts\Manufacturer;
|
||||||
|
@ -67,6 +69,7 @@ use Omines\DataTablesBundle\Column\TextColumn;
|
||||||
use Omines\DataTablesBundle\DataTable;
|
use Omines\DataTablesBundle\DataTable;
|
||||||
use Omines\DataTablesBundle\DataTableTypeInterface;
|
use Omines\DataTablesBundle\DataTableTypeInterface;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
|
use Symfony\Component\Security\Core\Security;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||||
|
|
||||||
final class PartsDataTable implements DataTableTypeInterface
|
final class PartsDataTable implements DataTableTypeInterface
|
||||||
|
@ -76,6 +79,8 @@ final class PartsDataTable implements DataTableTypeInterface
|
||||||
private $amountFormatter;
|
private $amountFormatter;
|
||||||
private $previewGenerator;
|
private $previewGenerator;
|
||||||
private $attachmentURLGenerator;
|
private $attachmentURLGenerator;
|
||||||
|
private $security;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var EntityURLGenerator
|
* @var EntityURLGenerator
|
||||||
*/
|
*/
|
||||||
|
@ -83,7 +88,7 @@ final class PartsDataTable implements DataTableTypeInterface
|
||||||
|
|
||||||
public function __construct(EntityURLGenerator $urlGenerator, TranslatorInterface $translator,
|
public function __construct(EntityURLGenerator $urlGenerator, TranslatorInterface $translator,
|
||||||
NodesListBuilder $treeBuilder, AmountFormatter $amountFormatter,
|
NodesListBuilder $treeBuilder, AmountFormatter $amountFormatter,
|
||||||
PartPreviewGenerator $previewGenerator, AttachmentURLGenerator $attachmentURLGenerator)
|
PartPreviewGenerator $previewGenerator, AttachmentURLGenerator $attachmentURLGenerator, Security $security)
|
||||||
{
|
{
|
||||||
$this->urlGenerator = $urlGenerator;
|
$this->urlGenerator = $urlGenerator;
|
||||||
$this->translator = $translator;
|
$this->translator = $translator;
|
||||||
|
@ -91,6 +96,7 @@ final class PartsDataTable implements DataTableTypeInterface
|
||||||
$this->amountFormatter = $amountFormatter;
|
$this->amountFormatter = $amountFormatter;
|
||||||
$this->previewGenerator = $previewGenerator;
|
$this->previewGenerator = $previewGenerator;
|
||||||
$this->attachmentURLGenerator = $attachmentURLGenerator;
|
$this->attachmentURLGenerator = $attachmentURLGenerator;
|
||||||
|
$this->security = $security;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $optionsResolver): void
|
public function configureOptions(OptionsResolver $optionsResolver): void
|
||||||
|
@ -283,6 +289,17 @@ final class PartsDataTable implements DataTableTypeInterface
|
||||||
'label' => $this->translator->trans('part.table.attachments'),
|
'label' => $this->translator->trans('part.table.attachments'),
|
||||||
'visible' => false,
|
'visible' => false,
|
||||||
])
|
])
|
||||||
|
->add('edit', IconLinkColumn::class, [
|
||||||
|
'label' => $this->translator->trans('part.table.edit'),
|
||||||
|
'visible' => false,
|
||||||
|
'href' => function ($value, Part $context) {
|
||||||
|
return $this->urlGenerator->editURL($context);
|
||||||
|
},
|
||||||
|
'disabled' => function ($value, Part $context) {
|
||||||
|
return !$this->security->isGranted('edit', $context);
|
||||||
|
},
|
||||||
|
'title' => $this->translator->trans('part.table.edit.title'),
|
||||||
|
])
|
||||||
|
|
||||||
->addOrderBy('name')
|
->addOrderBy('name')
|
||||||
->createAdapter(FetchJoinORMAdapter::class, [
|
->createAdapter(FetchJoinORMAdapter::class, [
|
||||||
|
|
|
@ -9099,5 +9099,17 @@ Element 3</target>
|
||||||
<target>Users still uses this group! Change their group, to be able to delete this group.</target>
|
<target>Users still uses this group! Change their group, to be able to delete this group.</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
|
<unit id="72lMzIQ" name="part.table.edit">
|
||||||
|
<segment>
|
||||||
|
<source>part.table.edit</source>
|
||||||
|
<target>Edit</target>
|
||||||
|
</segment>
|
||||||
|
</unit>
|
||||||
|
<unit id="AGwzXa0" name="part.table.edit.title">
|
||||||
|
<segment>
|
||||||
|
<source>part.table.edit.title</source>
|
||||||
|
<target>Edit part</target>
|
||||||
|
</segment>
|
||||||
|
</unit>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue