mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-04-16 12:57:32 -04:00
Fix config Table and Reward errors
This commit is contained in:
@@ -552,33 +552,38 @@ class Config extends Secure_Controller
|
||||
{
|
||||
$this->db->trans_start();
|
||||
|
||||
$this->Appconfig->save('dinner_table_enable',$this->input->post('dinner_table_enable'));
|
||||
$dinner_table_enable = $this->input->post('dinner_table_enable') != NULL;
|
||||
|
||||
$deleted_tables = $this->Dinner_table->get_all()->result_array();
|
||||
$not_to_delete = array();
|
||||
foreach($this->input->post() as $key => $value)
|
||||
$this->Appconfig->save('dinner_table_enable', $dinner_table_enable);
|
||||
|
||||
if($dinner_table_enable)
|
||||
{
|
||||
if(strstr($key, 'dinner_table') && $key != 'dinner_table_enable')
|
||||
$not_to_delete = array();
|
||||
foreach($this->input->post() as $key => $value)
|
||||
{
|
||||
|
||||
$dinner_table_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
||||
$not_to_delete[] = $dinner_table_id;
|
||||
|
||||
// save or update
|
||||
$table_data = array('name' => $value);
|
||||
if($this->Dinner_table->save($table_data, $dinner_table_id))
|
||||
if(strstr($key, 'dinner_table') && $key != 'dinner_table_enable')
|
||||
{
|
||||
$this->_clear_session_state();
|
||||
$dinner_table_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
||||
$not_to_delete[] = $dinner_table_id;
|
||||
|
||||
// save or update
|
||||
$table_data = array('name' => $value);
|
||||
if($this->Dinner_table->save($table_data, $dinner_table_id))
|
||||
{
|
||||
$this->_clear_session_state();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// all locations not available in post will be deleted now
|
||||
foreach($deleted_tables as $dinner_table)
|
||||
{
|
||||
if(!in_array($dinner_table['dinner_table_id'],$not_to_delete))
|
||||
// all locations not available in post will be deleted now
|
||||
$deleted_tables = $this->Dinner_table->get_all()->result_array();
|
||||
|
||||
foreach($deleted_tables as $dinner_table)
|
||||
{
|
||||
$this->Dinner_table->delete($dinner_table['dinner_table_id']);
|
||||
if(!empty($customer_reward['dinner_table_id']) && !in_array($dinner_table['dinner_table_id'], $not_to_delete))
|
||||
{
|
||||
$this->Dinner_table->delete($dinner_table['dinner_table_id']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -596,47 +601,56 @@ class Config extends Secure_Controller
|
||||
{
|
||||
$this->db->trans_start();
|
||||
|
||||
$this->Appconfig->save('customer_reward_enable', $this->input->post('customer_reward_enable'));
|
||||
$customer_reward_enable = $this->input->post('customer_reward_enable') != NULL;
|
||||
|
||||
$deleted_packages = $this->Customer_rewards->get_all()->result_array();
|
||||
$not_to_delete = array();
|
||||
$array_save = array();
|
||||
foreach($this->input->post() as $key => $value)
|
||||
$this->Appconfig->save('customer_reward_enable', $customer_reward_enable);
|
||||
|
||||
if($customer_reward_enable)
|
||||
{
|
||||
if(strstr($key, 'reward_points') && $key != 'customer_reward_enable')
|
||||
$not_to_delete = array();
|
||||
$array_save = array();
|
||||
foreach($this->input->post() as $key => $value)
|
||||
{
|
||||
$customer_reward_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
||||
$not_to_delete[] = $customer_reward_id;
|
||||
$array_save[$customer_reward_id]['points_percent'] = $value;
|
||||
}
|
||||
|
||||
if(strstr($key, 'customer_reward') && $key != 'customer_reward_enable')
|
||||
{
|
||||
$customer_reward_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
||||
$not_to_delete[] = $customer_reward_id;
|
||||
$array_save[$customer_reward_id]['package_name'] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
if(!empty($array_save))
|
||||
{
|
||||
foreach($array_save as $key => $value)
|
||||
{
|
||||
// save or update
|
||||
$table_data = array('package_name' => $value['package_name'], 'points_percent' => $value['points_percent']);
|
||||
if($this->Customer_rewards->save($table_data, $key))
|
||||
if(strstr($key, 'customer_reward_enable'))
|
||||
{
|
||||
$this->_clear_session_state();
|
||||
// skip the check box
|
||||
}
|
||||
elseif(strstr($key, 'customer_reward'))
|
||||
{
|
||||
$customer_reward_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
||||
$not_to_delete[] = $customer_reward_id;
|
||||
$array_save[$customer_reward_id]['package_name'] = $value;
|
||||
}
|
||||
elseif(strstr($key, 'reward_points'))
|
||||
{
|
||||
$customer_reward_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
||||
$not_to_delete[] = $customer_reward_id;
|
||||
$array_save[$customer_reward_id]['points_percent'] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// all locations not available in post will be deleted now
|
||||
foreach($deleted_packages as $customer_reward)
|
||||
{
|
||||
if(!in_array($customer_reward['customer_reward_id'], $not_to_delete))
|
||||
if(!empty($array_save))
|
||||
{
|
||||
$this->Customer_rewards->delete($customer_reward['customer_reward_id']);
|
||||
foreach($array_save as $key => $value)
|
||||
{
|
||||
// save or update
|
||||
$table_data = array('package_name' => $value['package_name'], 'points_percent' => $value['points_percent']);
|
||||
if($this->Customer_rewards->save($table_data, $key))
|
||||
{
|
||||
$this->_clear_session_state();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// all locations not available in post will be deleted now
|
||||
$deleted_packages = $this->Customer_rewards->get_all()->result_array();
|
||||
|
||||
foreach($deleted_packages as $customer_reward)
|
||||
{
|
||||
if(!empty($customer_reward['customer_reward_id']) && !in_array($customer_reward['customer_reward_id'], $not_to_delete))
|
||||
{
|
||||
$this->Customer_rewards->delete($customer_reward['customer_reward_id']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user