2017-06-13 12:08:26 +02:00
|
|
|
<?php
|
|
|
|
App::uses('AppModel', 'Model');
|
|
|
|
|
2018-07-19 11:48:22 +02:00
|
|
|
class ObjectTemplateElement extends AppModel
|
|
|
|
{
|
|
|
|
public $actsAs = array(
|
2022-09-23 10:59:53 +02:00
|
|
|
'Containable'
|
2018-07-19 11:48:22 +02:00
|
|
|
);
|
2017-06-13 12:08:26 +02:00
|
|
|
|
2018-07-19 11:48:22 +02:00
|
|
|
public function afterFind($results, $primary = false)
|
|
|
|
{
|
2022-09-23 10:59:53 +02:00
|
|
|
foreach ($results as &$result) {
|
|
|
|
if (isset($result['ObjectTemplateElement']['categories'])) {
|
2022-10-19 10:11:06 +02:00
|
|
|
$result['ObjectTemplateElement']['categories'] = JsonTool::decode($result['ObjectTemplateElement']['categories']);
|
2018-07-19 11:48:22 +02:00
|
|
|
}
|
2022-09-23 10:59:53 +02:00
|
|
|
if (isset($result['ObjectTemplateElement']['values_list'])) {
|
2022-10-19 10:11:06 +02:00
|
|
|
$result['ObjectTemplateElement']['values_list'] = JsonTool::decode($result['ObjectTemplateElement']['values_list']);
|
2018-07-19 11:48:22 +02:00
|
|
|
}
|
2022-09-23 10:59:53 +02:00
|
|
|
if (isset($result['ObjectTemplateElement']['sane_default'])) {
|
2022-10-19 10:11:06 +02:00
|
|
|
$result['ObjectTemplateElement']['sane_default'] = JsonTool::decode($result['ObjectTemplateElement']['sane_default']);
|
2018-07-19 11:48:22 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
return $results;
|
|
|
|
}
|
2017-07-02 00:05:15 +02:00
|
|
|
|
2018-07-19 11:48:22 +02:00
|
|
|
public function beforeSave($options = array())
|
|
|
|
{
|
|
|
|
if (empty($this->data['ObjectTemplateElement']['description'])) {
|
|
|
|
$this->data['ObjectTemplateElement']['description'] = '';
|
|
|
|
}
|
|
|
|
$json_fields = array('categories', 'values_list', 'sane_default');
|
|
|
|
foreach ($json_fields as $field) {
|
2022-09-23 14:48:25 +02:00
|
|
|
$this->data['ObjectTemplateElement'][$field] = empty($this->data['ObjectTemplateElement'][$field]) ? '[]' : JsonTool::encode($this->data['ObjectTemplateElement'][$field]);
|
2018-07-19 11:48:22 +02:00
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
2019-03-19 16:04:47 +01:00
|
|
|
|
2022-09-23 10:59:53 +02:00
|
|
|
public function getAllAvailableTypes()
|
|
|
|
{
|
2019-03-19 16:04:47 +01:00
|
|
|
$temp = $this->find('all', array(
|
|
|
|
'recursive' => -1,
|
|
|
|
'fields' => array('object_relation as type', 'description AS desc', 'categories'),
|
2020-02-21 16:33:34 +01:00
|
|
|
'group' => array('object_relation', 'description', 'categories')
|
2019-03-19 16:04:47 +01:00
|
|
|
));
|
|
|
|
$res = array();
|
|
|
|
foreach ($temp as $type) {
|
|
|
|
$res[$type['ObjectTemplateElement']['type']] = array(
|
|
|
|
'desc' => $type['ObjectTemplateElement']['desc'],
|
2019-07-09 10:04:18 +02:00
|
|
|
'category' => $type['ObjectTemplateElement']['categories']
|
2019-03-19 16:04:47 +01:00
|
|
|
);
|
|
|
|
}
|
|
|
|
return $res;
|
|
|
|
}
|
2017-06-13 12:08:26 +02:00
|
|
|
}
|