<?php
namespace App\Admin\Controller;
use App\Entity\Agreement;
use EasyCorp\Bundle\EasyAdminBundle\Config\Action;
use EasyCorp\Bundle\EasyAdminBundle\Config\Actions;
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
use EasyCorp\Bundle\EasyAdminBundle\Config\Filters;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController;
use EasyCorp\Bundle\EasyAdminBundle\Field\AssociationField;
use EasyCorp\Bundle\EasyAdminBundle\Field\DateTimeField;
use EasyCorp\Bundle\EasyAdminBundle\Field\Field;
use EasyCorp\Bundle\EasyAdminBundle\Field\IntegerField;
use EasyCorp\Bundle\EasyAdminBundle\Field\TextareaField;
use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
class AgreementCrudController extends AbstractCrudController
{
public static function getEntityFqcn(): string
{
return Agreement::class;
}
public function configureCrud(Crud $crud): Crud
{
return $crud
->setEntityLabelInSingular('Agreement')
->setEntityLabelInPlural('Agreements')
->setSearchFields(['id', 'customer_id', 'customer.name_original', 'code', 'name_original', 'currency_id', 'organization_id', 'priceType.name_original', 'comment', 'customer_segment_id', 'source_id', 'source_type']);
}
public function configureFilters(Filters $filters): Filters
{
return parent::configureFilters($filters)
->add('priceType')
->add('organization');
}
public function configureActions(Actions $actions): Actions
{
return $actions
->remove(Crud::PAGE_INDEX, Action::NEW)
->remove(Crud::PAGE_INDEX, Action::DELETE)
->remove(Crud::PAGE_INDEX, Action::EDIT)
;
}
public function configureFields(string $pageName): iterable
{
$customerId = IntegerField::new('customer_id');
$code = TextField::new('code');
$nameOriginal = TextField::new('name_original', 'Name original');
$currencyId = IntegerField::new('currency_id');
$organizationId = IntegerField::new('organization_id');
$priceTypeId = IntegerField::new('price_type_id');
$comment = TextareaField::new('comment');
$isDefault = Field::new('is_default','Default');
$enabled = Field::new('enabled');
$customerSegmentId = IntegerField::new('customer_segment_id');
$needBalanceBuild = Field::new('needBalanceBuild');
$sourceId = TextField::new('source_id');
$sourceType = TextField::new('source_type');
$deletedAt = DateTimeField::new('deletedAt');
$createdAt = DateTimeField::new('createdAt');
$updatedAt = DateTimeField::new('updatedAt');
$customer = AssociationField::new('customer');
$currency = AssociationField::new('currency');
$organization = AssociationField::new('organization');
$priceType = AssociationField::new('priceType', 'Price type');
$customerSegment = AssociationField::new('customerSegment');
$id = IntegerField::new('id', 'ID');
$name = TextareaField::new('name');
$customerSegment = TextareaField::new('customer_segment', 'Customer segment');
return [$id, $enabled, $nameOriginal, $name, $customer, $organization, $priceType, $currency, $customerSegment, $isDefault];
}
}