Skip to content

Commit 761e6d3

Browse files
authored
prefer hooks over overrides
1 parent 2639846 commit 761e6d3

File tree

3 files changed

+12
-254
lines changed

3 files changed

+12
-254
lines changed

Model/NewTaskDuplicationModel.php

-164
This file was deleted.

Model/NewTaskProjectDuplicationModel.php

-76
This file was deleted.

Plugin.php

+12-14
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
use Kanboard\Plugin\MetaMagik\Model\NewTaskFinderModel;
1010
use Kanboard\Plugin\MetaMagik\Model\NewTaskModificationModel;
1111
use Kanboard\Plugin\MetaMagik\Model\NewTaskCreationModel;
12-
use Kanboard\Plugin\MetaMagik\Model\NewTaskDuplicationModel;
13-
use Kanboard\Plugin\MetaMagik\Model\NewTaskProjectDuplicationModel;
1412
use Kanboard\Plugin\MetaMagik\Analytics\CustomFieldAnalytics;
1513
use Kanboard\Plugin\MetaMagik\Validator\NewTaskValidator;
1614
use Kanboard\Plugin\MetaMagik\Filter\MetaFieldFilter;
@@ -19,7 +17,6 @@
1917
use Kanboard\Plugin\MetaMagik\Api\Procedure\NewCreateTaskProcedure;
2018
use Kanboard\Plugin\MetaMagik\Action\SetCustomField;
2119

22-
2320
class Plugin extends Base
2421
{
2522
public function initialize()
@@ -41,16 +38,20 @@ public function initialize()
4138
$this->container['taskCreationModel'] = $this->container->factory(function ($c) {
4239
return new NewTaskCreationModel($c);
4340
});
44-
$this->container['taskDuplicationModel'] = $this->container->factory(function ($c) {
45-
return new NewTaskDuplicationModel($c);
46-
});
47-
$this->container['taskProjectDuplicationModel'] = $this->container->factory(function ($c) {
48-
return new NewTaskProjectDuplicationModel($c);
49-
});
5041
$this->container['taskValidator'] = $this->container->factory(function ($c) {
5142
return new NewTaskValidator($c);
5243
});
5344

45+
$this->hook->on('model:task:duplication:aftersave', function($hook_values) {
46+
$meta = $this->taskMetadataModel->getAll($hook_values['source_task_id']);
47+
foreach ($meta as $key => $value) { $this->taskMetadataModel->save($hook_values['destination_task_id'], [$key => $value]); }
48+
});
49+
50+
$this->hook->on('model:task:project_duplication:aftersave', function($hook_values) {
51+
$meta = $this->taskMetadataModel->getAll($hook_values['source_task_id']);
52+
foreach ($meta as $key => $value) { $this->taskMetadataModel->save($hook_values['destination_task_id'], [$key => $value]); }
53+
});
54+
5455
//Project
5556
$this->template->hook->attach('template:project:sidebar', 'metaMagik:project/sidebar');
5657

@@ -63,9 +64,7 @@ public function initialize()
6364
$this->template->hook->attach('template:task:form:third-column', 'metaMagik:task/rendermeta3');
6465
$this->template->hook->attach('template:task:details:bottom', 'metaMagik:task/metasummary');
6566
$this->template->hook->attach('template:analytic:sidebar', 'metaMagik:analytic/layout_hook');
66-
67-
68-
67+
6968
$this->template->setTemplateOverride('export/tasks', 'metaMagik:export/tasks');
7069

7170
//Routes
@@ -101,7 +100,6 @@ public function initialize()
101100

102101
//API
103102
$this->api->getProcedureHandler()->withClassAndMethod('createTaskMeta', new NewCreateTaskProcedure($this->container), 'createTaskMeta');
104-
105103
}
106104

107105
public function onStartup()
@@ -142,7 +140,7 @@ public function getPluginAuthor()
142140

143141
public function getPluginVersion()
144142
{
145-
return '1.5.5';
143+
return '1.5.6';
146144
}
147145

148146
public function getPluginHomepage()

0 commit comments

Comments
 (0)