Browse Source

Ajout des attributs timestamppables sur Element.

bastien 13 years ago
parent
commit
6c30bfc0f4

+ 11 - 8
src/Muzich/CoreBundle/DataFixtures/ORM/LoadElementData.php View File

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
     $element = new Element();
42
     $element = new Element();
48
     $element->setName(ucfirst($name));
43
     $element->setName(ucfirst($name));
49
     $element->setUrl($url);
44
     $element->setUrl($url);
50
     $element->setType($type);
45
     $element->setType($type);
51
     $element->setOwner($owner);
46
     $element->setOwner($owner);
52
-    $element->setDateAdded($date);
53
     if ($group)
47
     if ($group)
54
       $element->setGroup($group);
48
       $element->setGroup($group);
55
     $this->addReference('element_'.$reference_id, $element);
49
     $this->addReference('element_'.$reference_id, $element);
65
   public function load($entity_manager)
59
   public function load($entity_manager)
66
   {
60
   {
67
     $this->entity_manager = $entity_manager;
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
     $bux  = $this->entity_manager->merge($this->getReference('user_bux'));
72
     $bux  = $this->entity_manager->merge($this->getReference('user_bux'));
70
     $jean = $this->entity_manager->merge($this->getReference('user_jean'));
73
     $jean = $this->entity_manager->merge($this->getReference('user_jean'));
71
     $paul = $this->entity_manager->merge($this->getReference('user_paul'));
74
     $paul = $this->entity_manager->merge($this->getReference('user_paul'));

+ 53 - 24
src/Muzich/CoreBundle/Entity/Element.php View File

4
 
4
 
5
 use Doctrine\ORM\Mapping as ORM;
5
 use Doctrine\ORM\Mapping as ORM;
6
 use \Doctrine\Common\Collections\ArrayCollection;
6
 use \Doctrine\Common\Collections\ArrayCollection;
7
+use Gedmo\Mapping\Annotation as Gedmo;
7
 
8
 
8
 
9
 
9
 /**
10
 /**
83
   protected $name;
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
    * @ORM\Column(type="datetime")
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
   {
149
   {
141
     return $this->name;
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
    * Set type
154
    * Set type
267
   {
256
   {
268
       return $this->group;
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
 }