Просмотр исходного кода

Iniciando el proyecto de voter.

gabriel 8 лет назад
Сommit
b6b510da9e

+ 41 - 0
Entity/Traits/OwnerTrait.php

@@ -0,0 +1,41 @@
+<?php
+
+namespace OwnerVoterBundle\Entity\Traits;
+
+use Doctrine\ORM\Mapping as ORM;
+use Symfony\Component\Validator\Constraints as Assert;
+
+trait OwnerVoterTrait
+{
+
+    /**
+     * @var string $owner
+     *
+     * @ORM\Column(type="string", length=128, nullable=false)
+     *
+     * @Assert\NotBlank(
+     *      message="",
+     *      payload={"field"="owner"}
+     * )
+     */
+    private $owner;
+
+    /**
+     * @return string
+     */
+    public function getOwner()
+    {
+        return $this->owner;
+    }
+
+    /**
+     * @param string $owner
+     *
+     * @return $this
+     */
+    public function setOwner($owner = null)
+    {
+        $this->owner = $owner;
+        return $this;
+    }
+}

+ 41 - 0
EventListener/SonataAdminConfigureListener.php

@@ -0,0 +1,41 @@
+<?php
+
+namespace OwnerVoterBundle\EventListener;
+
+use Sonata\AdminBundle\Event\ConfigureEvent;
+use Symfony\Component\Form\Extension\Core\Type\TextType;
+
+class SonataAdminConfigureListener
+{
+
+    /**
+     * @param ConfigureEvent $event
+     */
+    public function addOptions(ConfigureEvent $event)
+    {
+        if ($event->getMapper()->has('ownerVoter')) {
+            $formMapper = $event->getMapper();
+            $formMapper->add('ownerVoter', TextType::class, array(
+                    'required' => true,
+                    'help' => 'help.owner_voter',
+                ), array(
+                    'translation_domain' => 'OwnerVoterBundle',
+                )
+            );
+        }
+    }
+
+    /**
+     * @param ConfigureEvent $event
+     */
+    public function addTemplate(ConfigureEvent $event)
+    {
+        if ($event->getMapper()->has('ownerVoter')) {
+            $owner = $event->getMapper()->get('ownerVoter');
+            $owner->setTemplate('OwnerVoterBundle:CRUD:owner_voter_field.html.twig');
+            $owner->setOption('data', $event->getType());
+            $owner->setOption('translation_domain', 'OwnerVoterBundle');
+        }
+    }
+
+}

+ 9 - 0
OwnerVoterBundle.php

@@ -0,0 +1,9 @@
+<?php
+
+namespace OwnerVoterBundle;
+
+use Symfony\Component\HttpKernel\Bundle\Bundle;
+
+class OwnerVoterBundle extends Bundle
+{
+}

+ 7 - 0
Resources/config/services.yml

@@ -0,0 +1,7 @@
+services:
+    owner_voter.sonata_admin_configure.listener:
+       class: OwnerVoterBundle\EventListener\SonataAdminConfigureListener
+       tags:
+           - { name: kernel.event_listener, event: sonata.admin.event.configure.form, method: addOptions }
+           - { name: kernel.event_listener, event: sonata.admin.event.configure.show, method: addTemplate }
+           - { name: kernel.event_listener, event: sonata.admin.event.configure.list, method: addTemplate }

+ 11 - 0
Resources/translations/OwnerVoterBundle.es.yml

@@ -0,0 +1,11 @@
+list:
+    label_owner_voter: Propietario
+    
+show:
+    label_owner_voter: Propietario
+    
+form:
+    label_owner_voter: Propietario
+    
+help:
+    owner_voter: Falta cargar el propietario

+ 2 - 0
Resources/translations/validators.es.yml

@@ -0,0 +1,2 @@
+error:
+    owner_voter_format_invalid: El campo no puede estar vacio

+ 7 - 0
Resources/views/CRUD/owner_voter_field.html.twig

@@ -0,0 +1,7 @@
+{% extends "SonataAdminBundle:CRUD:base_#{field_description.options.data}_field.html.twig" %}
+
+{% block field %}
+<pre>
+{{ value }}
+</pre>
+{% endblock %}

+ 10 - 0
composer.json

@@ -0,0 +1,10 @@
+{
+    "name": "ik/owner-voter-bundle",
+    "description": "Flowdat 3 Owner Voter Bundle",
+    "keywords": ["Admin Generator", "admin", "owner-voter", "bundle"],
+    "autoload": {
+        "psr-4": { "OwnerVoterBundle\\": "" }
+    },
+    "version": "1.0",
+    "minimum-stability": "stable"
+}