Brak opisu

Guillermo Espinoza 1e64861ce6 Update .gitlab-ci.yml 5 lat temu
.gitlab c800776f1e Directory .gitlab added 6 lat temu
Command 285c7a2792 parametros por defecto 7 lat temu
Entity fdfa90821f FD3-340 Refactory Traits. Se modificó sonata admin listener 7 lat temu
EventListener c85d52d5e3 php doc 6 lat temu
Resources 3d828b77f4 traducciones Extra Data 6 lat temu
Validator a5a6158cd3 Fix validator 8 lat temu
keys 5da9306fe6 Agregado drone 7 lat temu
.drone.yml c9e1f478c3 Agregado del paso de tags a gogs 7 lat temu
.gitlab-ci.yml 1e64861ce6 Update .gitlab-ci.yml 5 lat temu
ExtraDataBundle.php b45963df9a Commit inicial 8 lat temu
README.md 2501685b75 Update README 8 lat temu
composer.json 82c6272f66 Se quito version y minimum-stability 7 lat temu
cosa.txt 46b52cf971 cosa 6 lat temu

README.md

ExtraDataBundle

Installation

composer.json:

"repositories": [
    {
        "type": "vcs",
        "url":  "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/ExtraDataBundle.git"
    }
],
"require": {
    "ik/extra-data-bundle": "dev-master"
},

app/AppKernel.php:

public function registerBundles()
{
    $bundles = [
        new ExtraBundle\ExtraBundle(),
    ];
    .
    .
}

app/config/config.yml:

imports:
    - { resource: "@ExtraBundle/Resources/config/services.yml" }

Traits

  • Entity\Traits\ExtraDataTrait: Agrega un campo extraData de tipo JSON. Para agregar en una entidad, por ej. ONU
use ExtraDataBundle\Entity\Traits\ExtraDataTrait;

/**
 * @ORM\Entity
 */
class ONU
{

    use ExtraDataTrait;

Luego ejecutar

$ bin/console doctrine:schema:update --force
  • Entity\Traits\ExtraDataWithParentTrait: Idem a ExtraDataTrait, el campo extraData se calcula como la diferencia del padre y lo que se ingresa.

Validators

  • ExtraDataBundle\Validator\JSONValidator: Assert Callback que valida que un campo tenga formato JSON válido. Para agregarlo:

use Symfony\Component\Validator\Constraints as Assert;

...

    /**
     * @var string $extraData
     *
     * @ORM\Column(type="text", nullable=true)
     * 
     * @Assert\Callback(
     *  callback={"ExtraDataBundle\Validator\JSONValidator", "validate"}, 
     *  payload={"field"="extraData"}
     * )
     */
    private $extraData;

La option payload={"field"="extraData"}, es requerida, es el nombre del campo en el cual se quiere agregar el mensaje de error de validación.