mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 02:31:40 +09:00
issue 2760 if module is deleted, menu delete also
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12420 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
c21067813c
commit
0dec013b08
2 changed files with 69 additions and 9 deletions
|
|
@ -150,7 +150,7 @@ class menuAdminController extends menu
|
|||
$moduleInfo = $oModuleModel->getModuleInfoByMid($itemInfo->url, $menuInfo->site_srl);
|
||||
if($moduleInfo->module_srl)
|
||||
{
|
||||
$output = $oModuleController->deleteModule($moduleInfo->module_srl);
|
||||
$output = $oModuleController->onlyDeleteModule($moduleInfo->module_srl);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
$oDB->rollback();
|
||||
|
|
@ -601,9 +601,25 @@ class menuAdminController extends menu
|
|||
*/
|
||||
function procMenuAdminDeleteItem()
|
||||
{
|
||||
// List variables
|
||||
$args = Context::getRequestVars();
|
||||
// argument variables
|
||||
$args->menu_srl = Context::get('menu_srl');
|
||||
$args->menu_item_srl = Context::get('menu_item_srl');
|
||||
$args->is_force = Context::get('is_force');
|
||||
|
||||
$returnObj = $this->deleteItem($args);
|
||||
|
||||
$this->setMessage('success_deleted');
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMenuAdminManagement', 'menu_srl', $args->menu_srl);
|
||||
$this->setRedirectUrl($returnUrl);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete menu item ( Only include BO )
|
||||
* @args menu_srl, menu_item_srl, is_force
|
||||
* @return void|Object
|
||||
*/
|
||||
public function deleteItem($args)
|
||||
{
|
||||
$oModuleModel = &getModel('module');
|
||||
$oMenuAdminModel = &getAdminModel('menu');
|
||||
|
||||
|
|
@ -671,10 +687,8 @@ class menuAdminController extends menu
|
|||
$this->add('xml_file', $xml_file);
|
||||
$this->add('menu_title', $menu_title);
|
||||
$this->add('menu_item_srl', $parent_srl);
|
||||
$this->setMessage('success_deleted');
|
||||
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMenuAdminManagement', 'menu_srl', $args->menu_srl);
|
||||
$this->setRedirectUrl($returnUrl);
|
||||
return new Object(0, 'success_deleted');
|
||||
}
|
||||
|
||||
private function _checkHomeMenuInOriginMenu($originMenu, $startMid, &$isStartmenuInclude)
|
||||
|
|
@ -738,7 +752,7 @@ class menuAdminController extends menu
|
|||
$moduleInfo = $oModuleModel->getModuleInfoByMid($node['url'], $menuInfo->site_srl);
|
||||
if($moduleInfo->module_srl)
|
||||
{
|
||||
$output = $oModuleController->deleteModule($moduleInfo->module_srl);
|
||||
$output = $oModuleController->onlyDeleteModule($moduleInfo->module_srl);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
$oDB->rollback();
|
||||
|
|
|
|||
|
|
@ -436,14 +436,60 @@ class moduleController extends module
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Delete module
|
||||
*
|
||||
* Delete module
|
||||
* Attempt to delete all related information when deleting a module.
|
||||
* Origin method is changed. because menu validation check is needed
|
||||
*/
|
||||
function deleteModule($module_srl)
|
||||
{
|
||||
if(!$module_srl) return new Object(-1,'msg_invalid_request');
|
||||
|
||||
$site_module_info = Context::get('site_module_info');
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$output = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
|
||||
$args->url = $output->mid;
|
||||
$args->is_shortcut = 'N';
|
||||
$args->site_srl = $site_module_info->site_srl;
|
||||
|
||||
unset($output);
|
||||
$output = executeQuery('menu.getMenuItemByUrl', $args);
|
||||
|
||||
// menu delete
|
||||
if($output->data)
|
||||
{
|
||||
unset($args);
|
||||
$args->menu_srl = $output->data->menu_srl;
|
||||
$args->menu_item_srl = $output->data->menu_item_srl;
|
||||
$args->is_force = 'N';
|
||||
|
||||
$oMenuAdminController = &getAdminController('menu');
|
||||
$output = $oMenuAdminController->deleteItem($args);
|
||||
|
||||
if($output->isSuccess)
|
||||
{
|
||||
return new Object(0, 'success_deleted');
|
||||
}
|
||||
else
|
||||
{
|
||||
return new Object($output->error, $output->message);
|
||||
}
|
||||
}
|
||||
// only delete module
|
||||
else
|
||||
{
|
||||
return $this->onlyDeleteModule($modue_srl);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete module
|
||||
* Attempt to delete all related information when deleting a module.
|
||||
*/
|
||||
public function onlyDeleteModule($module_srl)
|
||||
{
|
||||
if(!$module_srl) return new Object(-1,'msg_invalid_request');
|
||||
|
||||
// check start module
|
||||
$oModuleModel = &getModel('module');
|
||||
$columnList = array('sites.index_module_srl');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue