19
19
use Chamilo \CoreBundle \Entity \ResourceType ;
20
20
use Chamilo \CoreBundle \Entity \ResourceWithAccessUrlInterface ;
21
21
use Chamilo \CoreBundle \Entity \User ;
22
+ use Chamilo \CoreBundle \Repository \TrackEDefaultRepository ;
22
23
use Chamilo \CoreBundle \Tool \ToolChain ;
23
24
use Chamilo \CoreBundle \Traits \AccessUrlListenerTrait ;
24
25
use Chamilo \CourseBundle \Entity \CCalendarEvent ;
25
26
use Cocur \Slugify \SlugifyInterface ;
27
+ use Doctrine \ORM \Event \PostPersistEventArgs ;
28
+ use Doctrine \ORM \Event \PostRemoveEventArgs ;
26
29
use Doctrine \ORM \Event \PostUpdateEventArgs ;
27
30
use Doctrine \ORM \Event \PrePersistEventArgs ;
28
31
use Doctrine \ORM \Event \PreUpdateEventArgs ;
@@ -44,7 +47,8 @@ public function __construct(
44
47
protected SlugifyInterface $ slugify ,
45
48
protected ToolChain $ toolChain ,
46
49
protected RequestStack $ request ,
47
- protected Security $ security
50
+ protected Security $ security ,
51
+ protected TrackEDefaultRepository $ trackEDefaultRepository
48
52
) {}
49
53
50
54
/**
@@ -265,6 +269,45 @@ public function prePersist(AbstractResource $resource, PrePersistEventArgs $even
265
269
}
266
270
}
267
271
272
+ public function postPersist (AbstractResource $ resource , PostPersistEventArgs $ event ): void
273
+ {
274
+ $ resourceNode = $ resource ->getResourceNode ();
275
+
276
+ if ($ resourceNode ) {
277
+ $ this ->trackEDefaultRepository ->registerResourceEvent (
278
+ $ resourceNode ,
279
+ 'creation ' ,
280
+ $ this ->security ->getUser ()?->getId()
281
+ );
282
+ }
283
+ }
284
+
285
+ public function postUpdate (AbstractResource $ resource , PostUpdateEventArgs $ event ): void
286
+ {
287
+ $ resourceNode = $ resource ->getResourceNode ();
288
+
289
+ if ($ resourceNode ) {
290
+ $ this ->trackEDefaultRepository ->registerResourceEvent (
291
+ $ resourceNode ,
292
+ 'edition ' ,
293
+ $ this ->security ->getUser ()?->getId()
294
+ );
295
+ }
296
+ }
297
+
298
+ public function postRemove (AbstractResource $ resource , PostRemoveEventArgs $ event ): void
299
+ {
300
+ $ resourceNode = $ resource ->getResourceNode ();
301
+
302
+ if ($ resourceNode ) {
303
+ $ this ->trackEDefaultRepository ->registerResourceEvent (
304
+ $ resourceNode ,
305
+ 'deletion ' ,
306
+ $ this ->security ->getUser ()?->getId()
307
+ );
308
+ }
309
+ }
310
+
268
311
/**
269
312
* When updating a Resource.
270
313
*/
@@ -281,13 +324,6 @@ public function preUpdate(AbstractResource $resource, PreUpdateEventArgs $eventA
281
324
// $this->setLinks($resource, $eventArgs->getEntityManager());
282
325
}
283
326
284
- public function postUpdate (AbstractResource $ resource , PostUpdateEventArgs $ eventArgs ): void
285
- {
286
- // error_log('resource listener postUpdate');
287
- // $em = $eventArgs->getEntityManager();
288
- // $this->updateResourceName($resource, $resource->getResourceName(), $em);
289
- }
290
-
291
327
public function updateResourceName (AbstractResource $ resource ): void
292
328
{
293
329
$ resourceName = $ resource ->getResourceName ();
0 commit comments