Skip to content

Commit cfd6e30

Browse files
author
Tom Coward
committed
Added resource update post auto-approval
1 parent 8e88bd3 commit cfd6e30

4 files changed

Lines changed: 26 additions & 9 deletions

File tree

XFRM/Service/ResourceUpdate/Approve.php

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,20 @@ protected function onApprove()
88
{
99
parent::onApprove();
1010

11-
$resource = $this->resource;
11+
$update = $this->update;
1212

13-
// Approve resource's associated thread if unapproved
14-
if($resource->Discussion->discussion_state == 'moderated'){
15-
/** @var \XF\Service\ProfilePost\Approver $approver */
16-
$approver = \XF::service('XF:ProfilePost\Approver', $entity);
17-
$approver->approve();
13+
// TODO: find more solid way of finding the update's post in discussion thread
14+
$post = \XF::finder('XF:Post')->where([
15+
'thread_id' => $update->Resource->discussion_thread_id,
16+
'post_date' => $update->post_date,
17+
'user_id' => $update->Resource->user_id
18+
])->fetchOne();
1819

19-
/** @var \XF\Service\Thread\Approver $threadApprover */
20-
$threadApprover = \XF::service('XF:Thread\Approver', $resource->Discussion);
21-
$threadApprover->approve();
20+
// Approve resource's associated thread if unapproved
21+
if($post->message_state == 'moderated'){
22+
/** @var \XF\Service\Post\Approver $postApprover */
23+
$postApprover = \XF::service('XF:Post\Approver', $post);
24+
$postApprover->approve();
2225
}
2326
}
2427
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"from_class": "XFRM\\Service\\ResourceUpdate\\Approve",
3+
"to_class": "VersoBit\\ResourceThreads\\XFRM\\Service\\ResourceUpdate\\Approve",
4+
"execute_order": 10,
5+
"active": true
6+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
{
22
"XFRM-Service-ResourceItem-Approve_VersoBit-ResourceThreads-XFRM-Service-ResourceItem-Approve.json": {
33
"hash": "cdfaed7d91dfcfaf74f6b212e3d99163"
4+
},
5+
"XFRM-Service-ResourceUpdate-Approve_VersoBit-ResourceThreads-XFRM-Service-ResourceUpdate-Approve.json": {
6+
"hash": "e29932c9936103688bbc6ec3f8b40c07"
47
}
58
}

_output/extension_hint.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,9 @@
66
namespace VersoBit\ResourceThreads\XFRM\Service\ResourceItem
77
{
88
class XFCP_Approve extends \XFRM\Service\ResourceItem\Approve {}
9+
}
10+
11+
namespace VersoBit\ResourceThreads\XFRM\Service\ResourceUpdate
12+
{
13+
class XFCP_Approve extends \XFRM\Service\ResourceUpdate\Approve {}
914
}

0 commit comments

Comments
 (0)