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(
|
|
|
|
'Containable'
|
|
|
|
);
|
2017-06-13 12:08:26 +02:00
|
|
|
|
2018-07-19 11:48:22 +02:00
|
|
|
public $belongsTo = array(
|
|
|
|
);
|
2017-06-13 12:08:26 +02:00
|
|
|
|
2018-07-19 11:48:22 +02:00
|
|
|
public $validate = array(
|
|
|
|
);
|
2017-06-13 12:08:26 +02:00
|
|
|
|
2018-07-19 11:48:22 +02:00
|
|
|
public function afterFind($results, $primary = false)
|
|
|
|
{
|
|
|
|
foreach ($results as $k => $result) {
|
|
|
|
if (isset($results[$k]['ObjectTemplateElement']['categories'])) {
|
|
|
|
$results[$k]['ObjectTemplateElement']['categories'] = json_decode($results[$k]['ObjectTemplateElement']['categories'], true);
|
|
|
|
}
|
|
|
|
if (isset($results[$k]['ObjectTemplateElement']['values_list'])) {
|
|
|
|
$results[$k]['ObjectTemplateElement']['values_list'] = json_decode($results[$k]['ObjectTemplateElement']['values_list'], true);
|
|
|
|
}
|
|
|
|
if (isset($results[$k]['ObjectTemplateElement']['sane_default'])) {
|
|
|
|
$results[$k]['ObjectTemplateElement']['sane_default'] = json_decode($results[$k]['ObjectTemplateElement']['sane_default'], true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
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) {
|
|
|
|
$this->data['ObjectTemplateElement'][$field] = empty($this->data['ObjectTemplateElement'][$field]) ? '[]' : json_encode($this->data['ObjectTemplateElement'][$field]);
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
2019-03-19 16:04:47 +01:00
|
|
|
|
|
|
|
|
|
|
|
public function getAllAvailableTypes() {
|
|
|
|
$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
|
|
|
}
|