Procházet zdrojové kódy

Merge branch 'unstable' into feature/mynetwork

bastien před 13 roky
rodič
revize
9435e4951e

+ 6 - 0
.gitmodules Zobrazit soubor

@@ -0,0 +1,6 @@
1
+[submodule "vendor/gedmo-doctrine-extensions"]
2
+	path = vendor/gedmo-doctrine-extensions
3
+	url = git://github.com/l3pp4rd/DoctrineExtensions.git
4
+[submodule "vendor/bundles/Stof/DoctrineExtensionsBundle"]
5
+	path = vendor/bundles/Stof/DoctrineExtensionsBundle
6
+	url = git://github.com/stof/StofDoctrineExtensionsBundle.git

+ 1 - 0
app/AppKernel.php Zobrazit soubor

@@ -19,6 +19,7 @@ class AppKernel extends Kernel
19 19
             new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(),
20 20
             new FOS\UserBundle\FOSUserBundle(),
21 21
             new Symfony\Bundle\DoctrineFixturesBundle\DoctrineFixturesBundle(),
22
+            new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
22 23
             new Muzich\CoreBundle\MuzichCoreBundle(),
23 24
             new Muzich\UserBundle\MuzichUserBundle(),
24 25
             new Muzich\IndexBundle\MuzichIndexBundle(),

+ 2 - 0
app/autoload.php Zobrazit soubor

@@ -18,6 +18,8 @@ $loader->registerNamespaces(array(
18 18
     //'Muzich'           => __DIR__.'/../vendor/src',
19 19
     'Doctrine\\Common\\DataFixtures' => __DIR__.'/../vendor/doctrine-fixtures/lib',
20 20
     'Doctrine\\Common' => __DIR__.'/../vendor/doctrine-common/lib',
21
+    'Stof'  => __DIR__.'/../vendor/bundles',
22
+    'Gedmo' => __DIR__.'/../vendor/gedmo-doctrine-extensions/lib',
21 23
 ));
22 24
 $loader->registerPrefixes(array(
23 25
     'Twig_Extensions_' => __DIR__.'/../vendor/twig-extensions/lib',

+ 11 - 8
src/Muzich/CoreBundle/DataFixtures/ORM/LoadElementData.php Zobrazit soubor

@@ -37,19 +37,13 @@ class LoadElementData  extends AbstractFixture implements OrderedFixtureInterfac
37 37
   /**
38 38
    *  
39 39
    */
40
-  protected function createElement($reference_id, $name, $url, $tags, $type, $owner, $group = null, $date = null)
41
-  {
42
-    if (!$date)
43
-    {
44
-      $date = new \DateTime();
45
-    }
46
-    
40
+  protected function createElement($reference_id, $name, $url, $tags, $type, $owner, $group = null)
41
+  {    
47 42
     $element = new Element();
48 43
     $element->setName(ucfirst($name));
49 44
     $element->setUrl($url);
50 45
     $element->setType($type);
51 46
     $element->setOwner($owner);
52
-    $element->setDateAdded($date);
53 47
     if ($group)
54 48
       $element->setGroup($group);
55 49
     $this->addReference('element_'.$reference_id, $element);
@@ -65,7 +59,16 @@ class LoadElementData  extends AbstractFixture implements OrderedFixtureInterfac
65 59
   public function load($entity_manager)
66 60
   {
67 61
     $this->entity_manager = $entity_manager;
62
+    
63
+    // Timestampable stuff
64
+    $evm = new \Doctrine\Common\EventManager();
65
+    // ORM and ORM
66
+    $timestampableListener = new \Gedmo\Timestampable\TimestampableListener();
67
+    $evm->addEventSubscriber($timestampableListener);
68
+    // now this event manager should be passed to entity manager constructor
69
+    $this->entity_manager->getEventManager()->addEventSubscriber($timestampableListener);
68 70
 
71
+    // 
69 72
     $bux  = $this->entity_manager->merge($this->getReference('user_bux'));
70 73
     $jean = $this->entity_manager->merge($this->getReference('user_jean'));
71 74
     $paul = $this->entity_manager->merge($this->getReference('user_paul'));

+ 8 - 0
src/Muzich/CoreBundle/DataFixtures/ORM/LoadGroupData.php Zobrazit soubor

@@ -79,6 +79,14 @@ class LoadGroupData  extends AbstractFixture implements OrderedFixtureInterface,
79 79
   {
80 80
     $this->entity_manager = $entity_manager;
81 81
 
82
+    // Slug stuff
83
+    $evm = new \Doctrine\Common\EventManager();
84
+    // ORM and ODM
85
+    $sluggableListener = new \Gedmo\Sluggable\SluggableListener();
86
+    $evm->addEventSubscriber($sluggableListener);
87
+    // now this event manager should be passed to entity manager constructor
88
+    $entity_manager->getEventManager()->addEventSubscriber($sluggableListener);
89
+    
82 90
     // Création des groupes
83 91
     
84 92
     $group_dudeldrum = $this->createGroup('dudeldrum', 'DUDELDRUM', 

+ 53 - 24
src/Muzich/CoreBundle/Entity/Element.php Zobrazit soubor

@@ -4,6 +4,7 @@ namespace Muzich\CoreBundle\Entity;
4 4
 
5 5
 use Doctrine\ORM\Mapping as ORM;
6 6
 use \Doctrine\Common\Collections\ArrayCollection;
7
+use Gedmo\Mapping\Annotation as Gedmo;
7 8
 
8 9
 
9 10
 /**
@@ -83,12 +84,20 @@ class Element
83 84
   protected $name;
84 85
   
85 86
   /**
86
-   * Date d'ajout dans le réseau
87
-   * 
87
+   * @var datetime $created
88
+   *
89
+   * @Gedmo\Timestampable(on="create")
88 90
    * @ORM\Column(type="datetime")
89
-   * @var type string
90 91
    */
91
-  protected $date_added;
92
+  private $created;
93
+
94
+  /**
95
+   * @var datetime $updated
96
+   *
97
+   * @ORM\Column(type="datetime")
98
+   * @Gedmo\Timestampable(on="update")
99
+   */
100
+  private $updated;
92 101
   
93 102
 
94 103
   /**
@@ -140,26 +149,6 @@ class Element
140 149
   {
141 150
     return $this->name;
142 151
   }
143
-
144
-  /**
145
-   * Set date_added
146
-   *
147
-   * @param datetime $dateAdded
148
-   */
149
-  public function setDateAdded($dateAdded)
150
-  {
151
-    $this->date_added = $dateAdded;
152
-  }
153
-
154
-  /**
155
-   * Get date_added
156
-   *
157
-   * @return datetime 
158
-   */
159
-  public function getDateAdded()
160
-  {
161
-    return $this->date_added;
162
-  }
163 152
   
164 153
   /**
165 154
    * Set type
@@ -267,4 +256,44 @@ class Element
267 256
   {
268 257
       return $this->group;
269 258
   }
259
+
260
+  /**
261
+   * Set created
262
+   *
263
+   * @param date $created
264
+   */
265
+  public function setCreated($created)
266
+  {
267
+      $this->created = $created;
268
+  }
269
+
270
+  /**
271
+   * Get created
272
+   *
273
+   * @return date 
274
+   */
275
+  public function getCreated()
276
+  {
277
+      return $this->created;
278
+  }
279
+
280
+  /**
281
+   * Set updated
282
+   *
283
+   * @param datetime $updated
284
+   */
285
+  public function setUpdated($updated)
286
+  {
287
+      $this->updated = $updated;
288
+  }
289
+
290
+  /**
291
+   * Get updated
292
+   *
293
+   * @return datetime 
294
+   */
295
+  public function getUpdated()
296
+  {
297
+      return $this->updated;
298
+  }
270 299
 }

+ 7 - 0
src/Muzich/CoreBundle/Entity/Group.php Zobrazit soubor

@@ -4,6 +4,7 @@ namespace Muzich\CoreBundle\Entity;
4 4
 
5 5
 use Doctrine\ORM\Mapping as ORM;
6 6
 use \Doctrine\Common\Collections\ArrayCollection;
7
+use Gedmo\Mapping\Annotation as Gedmo;
7 8
 
8 9
 /**
9 10
  * Le groupe est une sorte de liste de diffusion, a laquelle les
@@ -35,6 +36,12 @@ class Group
35 36
   protected $name;
36 37
   
37 38
   /**
39
+   * @Gedmo\Slug(fields={"name"})
40
+   * @ORM\Column(length=128, unique=true)
41
+   */
42
+  protected $slug;
43
+  
44
+  /**
38 45
    * Description
39 46
    * 
40 47
    * @ORM\Column(type="text")

+ 17 - 0
src/Muzich/CoreBundle/Entity/User.php Zobrazit soubor

@@ -5,6 +5,7 @@ namespace Muzich\CoreBundle\Entity;
5 5
 use FOS\UserBundle\Entity\User as BaseUser;
6 6
 use Doctrine\ORM\Mapping as ORM;
7 7
 use \Doctrine\Common\Collections\ArrayCollection;
8
+use Gedmo\Mapping\Annotation as Gedmo;
8 9
 
9 10
 /**
10 11
  * Cet entité est l'utilisateur ayant effectué la requête.
@@ -24,6 +25,12 @@ class User extends BaseUser
24 25
   protected $id;
25 26
   
26 27
   /**
28
+   * @Gedmo\Slug(fields={"username"})
29
+   * @ORM\Column(length=128, unique=true)
30
+   */
31
+  protected $slug;
32
+  
33
+  /**
27 34
    * Cet attribut contient les enregistrements UsersTagsFavorites lié 
28 35
    * a cet utilisateur dans le cadre des Tags Favoris.
29 36
    * 
@@ -245,6 +252,16 @@ class User extends BaseUser
245 252
     return $this->groups;
246 253
   }
247 254
   
255
+  public function getSlug()
256
+  {
257
+    return $this->slug;
258
+  }
259
+  
260
+  public function setSlug($slug)
261
+  {
262
+    $this->slug = $slug;
263
+  }
264
+  
248 265
   /*
249 266
    * 
250 267
    * 

+ 10 - 0
src/Muzich/UserBundle/DataFixtures/ORM/LoadUserData.php Zobrazit soubor

@@ -67,9 +67,19 @@ class LoadUserData extends AbstractFixture implements OrderedFixtureInterface, C
67 67
   
68 68
   public function load($entity_manager)
69 69
   {
70
+    
70 71
     $this->entity_manager = $entity_manager;
71 72
     $this->user_manager = $this->container->get('fos_user.user_manager');
72 73
     
74
+    // Slug stuff
75
+    $evm = new \Doctrine\Common\EventManager();
76
+    // ORM and ODM
77
+    $sluggableListener = new \Gedmo\Sluggable\SluggableListener();
78
+    $evm->addEventSubscriber($sluggableListener);
79
+    // now this event manager should be passed to entity manager constructor
80
+    $entity_manager->getEventManager()->addEventSubscriber($sluggableListener);
81
+    
82
+    
73 83
     // Création des Users
74 84
     $admin  = $this->createUser('admin', 'admin@root', 'toor');
75 85
     $bux    = $this->createUser('bux', 'bux@root', 'toor');

+ 1 - 1
vendor/bundles/FOS/UserBundle

@@ -1 +1 @@
1
-Subproject commit ce316132d0701fd96cac7df3b1998be0d4986ac7
1
+Subproject commit a21cb51441a2fe9738f60fbf3470970512a83a33

+ 1 - 0
vendor/bundles/Stof/DoctrineExtensionsBundle

@@ -0,0 +1 @@
1
+Subproject commit a82ae9a667dc95aa64865512566aeac9cbe515c1

+ 1 - 1
vendor/bundles/Symfony/Bundle/DoctrineFixturesBundle

@@ -1 +1 @@
1
-Subproject commit 275e33be3ed4aa76afc21ff0aa5517b0e4795ba1
1
+Subproject commit a66be2f077f3a4e5c3801b356b42b8782f1abbd6

+ 1 - 1
vendor/doctrine-fixtures

@@ -1 +1 @@
1
-Subproject commit 4a8464ef83093de2378cef2770e13da7e4858ffc
1
+Subproject commit 76f8221609129651937f52553f3e1b2bd915fd3e

+ 1 - 0
vendor/gedmo-doctrine-extensions

@@ -0,0 +1 @@
1
+Subproject commit a4e25dcf884b1e8a7d92d4e6bddfc8aadf362f7f