Save and load the additional fields for the dashlets

This commit is contained in:
Julio Cesar Laura
2011-11-10 16:39:14 -04:00
parent 4cc0f6c137
commit f0f3a69af1
7 changed files with 152 additions and 125 deletions

View File

@@ -16,6 +16,10 @@ require_once 'classes/model/om/BaseDashletInstance.php';
*/
class DashletInstance extends BaseDashletInstance {
private $validFields = array('DAS_INS_UID', 'DAS_UID', 'DAS_INS_TYPE', 'DAS_INS_CONTEXT_TIME', 'DAS_INS_START_DATE', 'DAS_INS_END_DATE', 'DAS_INS_OWNER_TYPE',
'DAS_INS_OWNER_UID', 'DAS_INS_PROCESSES', 'DAS_INS_TASKS', ' DAS_INS_CREATE_DATE', 'DAS_INS_UPDATE_DATE', 'DAS_INS_STATUS',
'pmos_generik', 'ys-admin-tabpanel', 'PHPSESSID');
public function load($dasInsUid) {
try {
$dashletInstance = DashletInstancePeer::retrieveByPK($dasInsUid);
@@ -31,6 +35,19 @@ class DashletInstance extends BaseDashletInstance {
}
public function createOrUpdate($data) {
$additionalFields = array();
foreach ($data as $field => $value) {
if (!in_array($field, $this->validFields)) {
$additionalFields[$field] = $value;
unset($data[$field]);
}
}
if (!empty($additionalFields)) {
$data['DAS_INS_ADDITIONAL_PROPERTIES'] = serialize($additionalFields);
}
else {
$data['DAS_INS_ADDITIONAL_PROPERTIES'] = '';
}
$connection = Propel::getConnection(DashletInstancePeer::DATABASE_NAME);
try {
if (!isset($data['DAS_INS_UID'])) {

File diff suppressed because it is too large Load Diff