mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-30 21:44:28 +02:00
Allow to put parameters in different groups.
This commit is contained in:
parent
43857ce985
commit
2899db0206
31 changed files with 114 additions and 23 deletions
|
@ -28,6 +28,7 @@ use App\Entity\Base\AbstractNamedDBElement;
|
|||
use Doctrine\ORM\Mapping as ORM;
|
||||
use InvalidArgumentException;
|
||||
use LogicException;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
|
||||
/**
|
||||
|
@ -211,6 +212,26 @@ abstract class AbstractParameter extends AbstractNamedDBElement
|
|||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the name of the group this parameter is associated to (e.g. Technical Parameters)
|
||||
* @return string
|
||||
*/
|
||||
public function getGroup(): string
|
||||
{
|
||||
return $this->group;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the name of the group this parameter is associated to.
|
||||
* @param string $group
|
||||
* @return $this
|
||||
*/
|
||||
public function setGroup(string $group): self
|
||||
{
|
||||
$this->group = $group;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the mathematical symbol for this specification (e.g. "V_CB").
|
||||
*
|
||||
|
|
|
@ -25,9 +25,11 @@ namespace App\Entity\Parameters;
|
|||
|
||||
use App\Entity\Attachments\AttachmentType;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
|
||||
/**
|
||||
* @ORM\Entity()
|
||||
* @UniqueEntity(fields={"name", "group", "element"})
|
||||
*/
|
||||
class AttachmentTypeParameter extends AbstractParameter
|
||||
{
|
||||
|
|
|
@ -25,9 +25,11 @@ namespace App\Entity\Parameters;
|
|||
|
||||
use App\Entity\Parts\Category;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
|
||||
/**
|
||||
* @ORM\Entity()
|
||||
* @UniqueEntity(fields={"name", "group", "element"})
|
||||
*/
|
||||
class CategoryParameter extends AbstractParameter
|
||||
{
|
||||
|
|
|
@ -25,11 +25,13 @@ namespace App\Entity\Parameters;
|
|||
|
||||
use App\Entity\PriceInformations\Currency;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
|
||||
/**
|
||||
* A attachment attached to a category element.
|
||||
*
|
||||
* @ORM\Entity()
|
||||
* @UniqueEntity(fields={"name", "group", "element"})
|
||||
*/
|
||||
class CurrencyParameter extends AbstractParameter
|
||||
{
|
||||
|
|
|
@ -25,9 +25,11 @@ namespace App\Entity\Parameters;
|
|||
|
||||
use App\Entity\Devices\Device;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
|
||||
/**
|
||||
* @ORM\Entity()
|
||||
* @UniqueEntity(fields={"name", "group", "element"})
|
||||
*/
|
||||
class DeviceParameter extends AbstractParameter
|
||||
{
|
||||
|
|
|
@ -25,9 +25,11 @@ namespace App\Entity\Parameters;
|
|||
|
||||
use App\Entity\Parts\Footprint;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
|
||||
/**
|
||||
* @ORM\Entity()
|
||||
* @UniqueEntity(fields={"name", "group", "element"})
|
||||
*/
|
||||
class FootprintParameter extends AbstractParameter
|
||||
{
|
||||
|
|
|
@ -25,9 +25,11 @@ namespace App\Entity\Parameters;
|
|||
|
||||
use App\Entity\UserSystem\Group;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
|
||||
/**
|
||||
* @ORM\Entity()
|
||||
* @UniqueEntity(fields={"name", "group", "element"})
|
||||
*/
|
||||
class GroupParameter extends AbstractParameter
|
||||
{
|
||||
|
|
|
@ -25,9 +25,11 @@ namespace App\Entity\Parameters;
|
|||
|
||||
use App\Entity\Parts\Manufacturer;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
|
||||
/**
|
||||
* @ORM\Entity()
|
||||
* @UniqueEntity(fields={"name", "group", "element"})
|
||||
*/
|
||||
class ManufacturerParameter extends AbstractParameter
|
||||
{
|
||||
|
|
|
@ -25,9 +25,11 @@ namespace App\Entity\Parameters;
|
|||
|
||||
use App\Entity\Parts\MeasurementUnit;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
|
||||
/**
|
||||
* @ORM\Entity()
|
||||
* @UniqueEntity(fields={"name", "group", "element"})
|
||||
*/
|
||||
class MeasurementUnitParameter extends AbstractParameter
|
||||
{
|
||||
|
|
|
@ -65,4 +65,14 @@ trait ParametersTrait
|
|||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getGroupedParameters(): array
|
||||
{
|
||||
$tmp = [];
|
||||
|
||||
foreach ($this->parameters as $parameter) {
|
||||
$tmp[$parameter->getGroup()][] = $parameter;
|
||||
}
|
||||
return $tmp;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,9 +25,11 @@ namespace App\Entity\Parameters;
|
|||
|
||||
use App\Entity\Parts\Part;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
|
||||
/**
|
||||
* @ORM\Entity()
|
||||
* @UniqueEntity(fields={"name", "group", "element"})
|
||||
*/
|
||||
class PartParameter extends AbstractParameter
|
||||
{
|
||||
|
|
|
@ -25,9 +25,11 @@ namespace App\Entity\Parameters;
|
|||
|
||||
use App\Entity\Parts\Storelocation;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
|
||||
/**
|
||||
* @ORM\Entity()
|
||||
* @UniqueEntity(fields={"name", "group", "element"})
|
||||
*/
|
||||
class StorelocationParameter extends AbstractParameter
|
||||
{
|
||||
|
|
|
@ -25,9 +25,11 @@ namespace App\Entity\Parameters;
|
|||
|
||||
use App\Entity\Parts\Supplier;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
|
||||
/**
|
||||
* @ORM\Entity()
|
||||
* @UniqueEntity(fields={"name", "group", "element"})
|
||||
*/
|
||||
class SupplierParameter extends AbstractParameter
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue