Use transactions in several member controller methods

This commit is contained in:
Kijin Sung 2020-10-04 17:02:23 +09:00
parent 65d106b237
commit a6e55dcdee
2 changed files with 38 additions and 6 deletions

View file

@ -28,7 +28,12 @@ class moduleController extends module
$args->route_regexp = is_scalar($route_regexp) ? $route_regexp : serialize($route_regexp);
$args->route_config = is_scalar($route_config) ? $route_config : serialize($route_config);
$args->global_route = $global_route === 'Y' ? 'Y' : 'N';
$oDB = DB::getInstance();
$oDB->begin();
$output = executeQuery('module.deleteActionForward', ['act' => $act]);
$output = executeQuery('module.insertActionForward', $args);
$oDB->commit();
Rhymix\Framework\Cache::delete('action_forward');
return $output;
@ -43,7 +48,6 @@ class moduleController extends module
$args->module = $module;
$args->type = $type;
$args->act = $act;
$output = executeQuery('module.deleteActionForward', $args);
Rhymix\Framework\Cache::delete('action_forward');
@ -220,11 +224,25 @@ class moduleController extends module
$args->config = serialize($config);
$args->site_srl = $site_srl;
$oDB = DB::getInstance();
$oDB->begin();
$output = executeQuery('module.deleteModuleConfig', $args);
if(!$output->toBool()) return $output;
if(!$output->toBool())
{
$oDB->rollback();
return $output;
}
$output = executeQuery('module.insertModuleConfig', $args);
if(!$output->toBool())
{
$oDB->rollback();
return $output;
}
$oDB->commit();
//remove from cache
Rhymix\Framework\Cache::clearGroup('site_and_module');
return $output;
@ -241,10 +259,24 @@ class moduleController extends module
$args->module_srl = $module_srl;
$args->config = serialize($config);
$oDB = DB::getInstance();
$oDB->begin();
$output = executeQuery('module.deleteModulePartConfig', $args);
if(!$output->toBool()) return $output;
if(!$output->toBool())
{
$oDB->rollback();
return $output;
}
$output = executeQuery('module.insertModulePartConfig', $args);
if(!$output->toBool())
{
$oDB->rollback();
return $output;
}
$oDB->commit();
//remove from cache
Rhymix\Framework\Cache::clearGroup('site_and_module');

View file

@ -3,8 +3,8 @@
<table name="action_forward" />
</tables>
<conditions>
<condition operation="equal" column="module" var="module" notnull="notnull" />
<condition operation="equal" column="type" var="type" notnull="notnull" pipe="and" />
<condition operation="equal" column="act" var="act" notnull="notnull" pipe="and" />
<condition operation="equal" column="act" var="act" notnull="notnull" />
<condition operation="equal" column="module" var="module" pipe="and" />
<condition operation="equal" column="type" var="type" pipe="and" />
</conditions>
</query>