File tree Expand file tree Collapse file tree 5 files changed +75
-0
lines changed Expand file tree Collapse file tree 5 files changed +75
-0
lines changed Original file line number Diff line number Diff line change 205
205
define ('LOG_MESSAGE_DATA ' , 'message_data ' );
206
206
define ('LOG_MESSAGE_DELETE ' , 'msg_deleted ' );
207
207
208
+ const LOG_RESOURCE_LINK_DELETE = 'resource_link_deleted ' ;
209
+ const LOG_RESOURCE_LINK_SOFT_DELETE = 'resource_link_soft_deleted ' ;
210
+ const LOG_RESOURCE_NODE = 'resource_node_id ' ;
211
+ const LOG_RESOURCE_LINK = 'resource_link_id ' ;
212
+ const LOG_RESOURCE_NODE_AND_RESOURCE_LINK = 'resource_node_id_and_resource_link_id ' ;
213
+
208
214
define ('LOG_USER_DELETE ' , 'user_deleted ' );
209
215
define ('LOG_USER_PREDELETE ' , 'user_predeleted ' );
210
216
define ('LOG_USER_CREATE ' , 'user_created ' );
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ /* For licensing terms, see /license.txt */
4
+
5
+ declare (strict_types=1 );
6
+
7
+ namespace Chamilo \CoreBundle \Entity \Listener ;
8
+
9
+ use Chamilo \CoreBundle \Entity \ResourceLink ;
10
+ use Doctrine \ORM \Event \PostRemoveEventArgs ;
11
+ use Doctrine \ORM \Exception \ORMException ;
12
+ use Event ;
13
+
14
+ class ResourceLinkListener
15
+ {
16
+ /**
17
+ * @throws ORMException
18
+ */
19
+ public function postRemove (ResourceLink $ resourceLink , PostRemoveEventArgs $ args ): void
20
+ {
21
+ $ resourceNode = $ resourceLink ->getResourceNode ();
22
+
23
+ Event::addEvent (
24
+ LOG_RESOURCE_LINK_DELETE ,
25
+ LOG_RESOURCE_NODE ,
26
+ $ resourceNode ->getId (),
27
+ );
28
+ }
29
+ }
Original file line number Diff line number Diff line change 7
7
namespace Chamilo \CoreBundle \Entity ;
8
8
9
9
use ApiPlatform \Metadata \ApiResource ;
10
+ use Chamilo \CoreBundle \Entity \Listener \ResourceLinkListener ;
10
11
use Chamilo \CoreBundle \Repository \ResourceLinkRepository ;
11
12
use Chamilo \CoreBundle \Traits \TimestampableTypedEntity ;
12
13
use Chamilo \CourseBundle \Entity \CGroup ;
27
28
name: 'idx_resource_link_sortable_groups '
28
29
)]
29
30
#[ORM \Entity(repositoryClass: ResourceLinkRepository::class)]
31
+ #[ORM \EntityListeners([ResourceLinkListener::class])]
30
32
#[Gedmo \SoftDeleteable(fieldName: 'deletedAt ' , timeAware: false , hardDelete: true )]
31
33
class ResourceLink implements Stringable
32
34
{
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ /* For licensing terms, see /license.txt */
4
+
5
+ declare (strict_types=1 );
6
+
7
+ namespace Chamilo \CoreBundle \EventListener ;
8
+
9
+ use Chamilo \CoreBundle \Entity \ResourceLink ;
10
+ use Doctrine \Bundle \DoctrineBundle \Attribute \AsDoctrineListener ;
11
+ use Doctrine \ORM \Exception \ORMException ;
12
+ use Event ;
13
+ use Gedmo \SoftDeleteable \Event \PostSoftDeleteEventArgs ;
14
+ use Gedmo \SoftDeleteable \SoftDeleteableListener ;
15
+
16
+ #[AsDoctrineListener(event: SoftDeleteableListener::POST_SOFT_DELETE , connection: 'default ' )]
17
+ class ResourceLinkListener
18
+ {
19
+ /**
20
+ * @throws ORMException
21
+ */
22
+ public function postSoftDelete (PostSoftDeleteEventArgs $ args ): void
23
+ {
24
+ $ object = $ args ->getObject ();
25
+
26
+ if (!$ object instanceof ResourceLink) {
27
+ return ;
28
+ }
29
+
30
+ Event::addEvent (
31
+ LOG_RESOURCE_LINK_SOFT_DELETE ,
32
+ LOG_RESOURCE_LINK ,
33
+ $ object ->getId (),
34
+ );
35
+ }
36
+ }
Original file line number Diff line number Diff line change @@ -103,3 +103,5 @@ services:
103
103
- {name: doctrine.orm.entity_listener, entity_manager: default, lazy: true}
104
104
105
105
Chamilo\CoreBundle\EventListener\MessageStatusListener : ~
106
+
107
+ Chamilo\CoreBundle\EventListener\ResourceLinkListener : ~
You can’t perform that action at this time.
0 commit comments