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\Column\EntityColumn;
|
||||
use App\DataTables\Column\IconLinkColumn;
|
||||
use App\DataTables\Column\LocaleDateTimeColumn;
|
||||
use App\DataTables\Column\MarkdownColumn;
|
||||
use App\DataTables\Column\PartAttachmentsColumn;
|
||||
use App\DataTables\Column\TagsColumn;
|
||||
use App\Entity\LogSystem\AbstractLogEntry;
|
||||
use App\Entity\Parts\Category;
|
||||
use App\Entity\Parts\Footprint;
|
||||
use App\Entity\Parts\Manufacturer;
|
||||
|
@ -67,6 +69,7 @@ use Omines\DataTablesBundle\Column\TextColumn;
|
|||
use Omines\DataTablesBundle\DataTable;
|
||||
use Omines\DataTablesBundle\DataTableTypeInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Security\Core\Security;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
|
||||
final class PartsDataTable implements DataTableTypeInterface
|
||||
|
@ -76,6 +79,8 @@ final class PartsDataTable implements DataTableTypeInterface
|
|||
private $amountFormatter;
|
||||
private $previewGenerator;
|
||||
private $attachmentURLGenerator;
|
||||
private $security;
|
||||
|
||||
/**
|
||||
* @var EntityURLGenerator
|
||||
*/
|
||||
|
@ -83,7 +88,7 @@ final class PartsDataTable implements DataTableTypeInterface
|
|||
|
||||
public function __construct(EntityURLGenerator $urlGenerator, TranslatorInterface $translator,
|
||||
NodesListBuilder $treeBuilder, AmountFormatter $amountFormatter,
|
||||
PartPreviewGenerator $previewGenerator, AttachmentURLGenerator $attachmentURLGenerator)
|
||||
PartPreviewGenerator $previewGenerator, AttachmentURLGenerator $attachmentURLGenerator, Security $security)
|
||||
{
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
$this->translator = $translator;
|
||||
|
@ -91,6 +96,7 @@ final class PartsDataTable implements DataTableTypeInterface
|
|||
$this->amountFormatter = $amountFormatter;
|
||||
$this->previewGenerator = $previewGenerator;
|
||||
$this->attachmentURLGenerator = $attachmentURLGenerator;
|
||||
$this->security = $security;
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $optionsResolver): void
|
||||
|
@ -283,6 +289,17 @@ final class PartsDataTable implements DataTableTypeInterface
|
|||
'label' => $this->translator->trans('part.table.attachments'),
|
||||
'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')
|
||||
->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>
|
||||
</segment>
|
||||
</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>
|
||||
</xliff>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue