function edit()
 {
     if (!can_manage_dimension_members(logged_user())) {
         flash_error(lang('no access permissions'));
         ajx_current("empty");
         return;
     }
     $member = Members::findById(get_id());
     if (!$member instanceof Member) {
         flash_error(lang('member dnx'));
         ajx_current("empty");
         return;
     }
     $ret = array();
     Hook::fire('check_additional_member_permissions', array('action' => 'edit', 'member' => $member, 'pg_id' => logged_user()->getPermissionGroupId()), $ret);
     if (count($ret) > 0 && !array_var($ret, 'ok')) {
         flash_error(array_var($ret, 'message'));
         ajx_current("empty");
         return;
     }
     $this->setTemplate('add');
     $member_data = array_var($_POST, 'member');
     if (!is_array($member_data)) {
         // New ! Permissions
         $permission_parameters = permission_member_form_parameters($member);
         tpl_assign('permission_parameters', $permission_parameters);
         //--
         tpl_assign("member", $member);
         $member_data['name'] = $member->getName();
         $member_data['description'] = $member->getDescription();
         $current_dimension = $member->getDimension();
         if (!$current_dimension instanceof Dimension) {
             flash_error("dimension dnx");
             ajx_current("empty");
             return;
         }
         tpl_assign("current_dimension", $current_dimension);
         $ot_ids = implode(",", DimensionObjectTypes::getObjectTypeIdsByDimension($current_dimension->getId()));
         $dimension_obj_types = ObjectTypes::findAll(array("conditions" => "`id` IN ({$ot_ids})"));
         $dimension_obj_types_info = array();
         foreach ($dimension_obj_types as $ot) {
             $info = $ot->getArrayInfo(array('id', 'name', 'type'));
             $info['name'] = lang(array_var($info, 'name'));
             $dimension_obj_types_info[] = $info;
         }
         tpl_assign('dimension_obj_types', $dimension_obj_types_info);
         tpl_assign('obj_type_sel', $member->getObjectTypeId());
         tpl_assign('parents', self::getAssignableParents($member->getDimensionId(), $member->getObjectTypeId()));
         tpl_assign('parent_sel', $member->getParentMemberId());
         tpl_assign("member_data", $member_data);
         tpl_assign('can_change_type', false);
         $restricted_dim_defs = DimensionMemberRestrictionDefinitions::findAll(array("conditions" => array("`dimension_id` = ?", $member->getDimensionId())));
         $ot_with_restrictions = array();
         foreach ($restricted_dim_defs as $rdef) {
             if (!isset($ot_with_restrictions[$rdef->getObjectTypeId()])) {
                 $ot_with_restrictions[$rdef->getObjectTypeId()] = true;
             }
         }
         tpl_assign('ot_with_restrictions', $ot_with_restrictions);
         $associations = DimensionMemberAssociations::findAll(array("conditions" => array("`dimension_id` = ?", $member->getDimensionId())));
         $ot_with_associations = array();
         foreach ($associations as $assoc) {
             if (!isset($ot_with_associations[$assoc->getObjectTypeId()])) {
                 $ot_with_associations[$assoc->getObjectTypeId()] = true;
             }
         }
         tpl_assign('ot_with_associations', $ot_with_associations);
     } else {
         try {
             $old_parent = $member->getParentMemberId();
             $ok = $this->saveMember($member_data, $member, false);
             Env::useHelper('permissions');
             save_member_permissions_background(logged_user(), $member, array_var($_REQUEST, 'permissions'), $old_parent);
             if ($ok) {
                 ApplicationLogs::createLog($member, ApplicationLogs::ACTION_EDIT);
                 $ret = null;
                 Hook::fire('after_edit_member', $member, $ret);
                 //evt_add("reload dimension tree", array('dim_id' => $member->getDimensionId(), 'mid' => $member->getId(), 'pid' => $member->getParentMemberId()));
                 evt_add("update dimension tree node", array('dim_id' => $member->getDimensionId(), 'member_id' => $member->getId()));
             }
         } catch (Exception $e) {
             DB::rollback();
             flash_error($e->getMessage());
             ajx_current("empty");
         }
     }
 }
 function edit()
 {
     if (!can_manage_dimension_members(logged_user())) {
         flash_error(lang('no access permissions'));
         ajx_current("empty");
         return;
     }
     $member = Members::findById(get_id());
     if (!$member instanceof Member) {
         flash_error(lang('member dnx'));
         ajx_current("empty");
         return;
     }
     $this->setTemplate('add');
     $member_data = array_var($_POST, 'member');
     if (!is_array($member_data)) {
         // New ! Permissions
         $permission_parameters = permission_member_form_parameters($member);
         tpl_assign('permission_parameters', $permission_parameters);
         //--
         tpl_assign("member", $member);
         $member_data['name'] = $member->getName();
         $current_dimension = $member->getDimension();
         if (!$current_dimension instanceof Dimension) {
             flash_error("dimension dnx");
             ajx_current("empty");
             return;
         }
         tpl_assign("current_dimension", $current_dimension);
         $ot_ids = implode(",", DimensionObjectTypes::getObjectTypeIdsByDimension($current_dimension->getId()));
         $dimension_obj_types = ObjectTypes::findAll(array("conditions" => "`id` IN ({$ot_ids})"));
         $dimension_obj_types_info = array();
         foreach ($dimension_obj_types as $ot) {
             $info = $ot->getArrayInfo(array('id', 'name', 'type'));
             $info['name'] = lang(array_var($info, 'name'));
             $dimension_obj_types_info[] = $info;
         }
         tpl_assign('dimension_obj_types', $dimension_obj_types_info);
         tpl_assign('obj_type_sel', $member->getObjectTypeId());
         tpl_assign('parents', self::getAssignableParents($member->getDimensionId(), $member->getObjectTypeId()));
         tpl_assign('parent_sel', $member->getParentMemberId());
         tpl_assign("member_data", $member_data);
         tpl_assign('can_change_type', false);
         $restricted_dim_defs = DimensionMemberRestrictionDefinitions::findAll(array("conditions" => array("`dimension_id` = ?", $member->getDimensionId())));
         $ot_with_restrictions = array();
         foreach ($restricted_dim_defs as $rdef) {
             if (!isset($ot_with_restrictions[$rdef->getObjectTypeId()])) {
                 $ot_with_restrictions[$rdef->getObjectTypeId()] = true;
             }
         }
         tpl_assign('ot_with_restrictions', $ot_with_restrictions);
         $associations = DimensionMemberAssociations::findAll(array("conditions" => array("`dimension_id` = ?", $member->getDimensionId())));
         $ot_with_associations = array();
         foreach ($associations as $assoc) {
             if (!isset($ot_with_associations[$assoc->getObjectTypeId()])) {
                 $ot_with_associations[$assoc->getObjectTypeId()] = true;
             }
         }
         tpl_assign('ot_with_associations', $ot_with_associations);
     } else {
         $ok = $this->saveMember($member_data, $member, false);
         save_member_permissions($member);
         // NEW member permissions
         if ($ok) {
             $ret = null;
             Hook::fire('after_edit_member', $member, $ret);
             evt_add("reload dimension tree", $member->getDimensionId());
             //				ApplicationLogs::createLog($member, ApplicationLogs::ACTION_EDIT, false, true);
         }
     }
 }
Example #3
0
,
			isManageable: <?php 
    echo (int) $dimension->getIsManageable();
    ?>
,
			quickAdd: <?php 
    echo intval($dimension->getOptionValue('quickAdd')) ? 'true' : 'false';
    ?>
,
			minHeight: 10
			//animate: false,
			//animCollapse: false
			
		}	
	<?php 
    $dim_obj_types = DimensionObjectTypes::getObjectTypeIdsByDimension($dimension->getId());
    $dim_obj_type_descendants[$dimension->getId()] = array();
    foreach ($dim_obj_types as $ot_id) {
        $all_child_ots = DimensionObjectTypeHierarchies::getAllChildrenObjectTypeIds($dimension->getId(), $ot_id);
        $dim_obj_type_descendants[$dimension->getId()][$ot_id] = array_values($all_child_ots);
    }
    ?>
	<?php 
}
?>
];
og.dimension_object_type_descendants = Ext.util.JSON.decode('<?php 
echo json_encode($dim_obj_type_descendants);
?>
');