Passed
Push — master ( fd34e8...32315f )
by Andreas
11:37
created

midcom_admin_folder_handler_metadata::save_callback()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 0
cts 2
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * @package midcom.admin.folder
4
 * @author The Midgard Project, http://www.midgard-project.org
5
 * @copyright The Midgard Project, http://www.midgard-project.org
6
 * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License
7
 */
8
9
use Symfony\Component\HttpFoundation\Request;
10
11
/**
12
 * Metadata editor.
13
 *
14
 * @package midcom.admin.folder
15
 */
16
class midcom_admin_folder_handler_metadata extends midcom_baseclasses_components_handler
17
{
18
    private midcom_core_dbaobject $object;
19
20
    /**
21
     * Handler for folder metadata. Checks for updating permissions, initializes
22
     * the metadata and the content topic itself. Handles also the sent form.
23
     */
24 1
    public function _handler_metadata(Request $request, string $guid)
25
    {
26 1
        $this->object = midcom::get()->dbfactory->get_object_by_guid($guid);
27 1
        $this->object->require_do('midgard:update');
28
29 1
        if ($this->object instanceof midcom_db_topic) {
30 1
            $this->object->require_do('midcom.admin.folder:topic_management');
31
        }
32
33 1
        $object_label = midcom_helper_reflector::get($this->object)->get_object_label($this->object);
34 1
        midcom::get()->head->set_pagetitle(sprintf($this->_l10n->get('edit metadata of %s'), $object_label));
35
36 1
        $workflow = $this->get_workflow('datamanager', [
37 1
            'controller' => $this->object->metadata->get_datamanager()->get_controller()
38 1
        ]);
39 1
        return $workflow->run($request);
40
    }
41
}
42