diff --git a/application/models/stock_locations.php b/application/models/stock_locations.php index d8021b22f..2d3ab0220 100644 --- a/application/models/stock_locations.php +++ b/application/models/stock_locations.php @@ -80,31 +80,26 @@ class Stock_locations extends CI_Model { if (!$this->exists($location_id)) { - if($this->db->insert('stock_locations',$location_data)) - { - $location_name = $location_data['location_name']; - $this->db->trans_start(); - $location_data = array('location_name'=>$location_name,'deleted'=>0); - $this->db->insert('stock_locations',$location_data); - $location_id = $this->db->insert_id(); - - $this->_insert_new_permission('items', $location_id, $location_name); - $this->_insert_new_permission('sales', $location_id, $location_name); - $this->_insert_new_permission('receivings', $location_id, $location_name); + $location_name = $location_data['location_name']; + $this->db->trans_start(); + $location_data = array('location_name'=>$location_name,'deleted'=>0); + $this->db->insert('stock_locations',$location_data); + $location_id = $this->db->insert_id(); + + $this->_insert_new_permission('items', $location_id, $location_name); + $this->_insert_new_permission('sales', $location_id, $location_name); + $this->_insert_new_permission('receivings', $location_id, $location_name); - // insert quantities for existing items - $items = $this->Item->get_all(); - foreach ($items->result_array() as $item) - { - $quantity_data = array('item_id' => $item['item_id'], 'location_id' => $location_id, 'quantity' => 0); - $this->db->insert('item_quantities', $quantity_data); - } - $this->db->trans_complete(); - return TRUE; - } - return FALSE; - } + // insert quantities for existing items + $items = $this->Item->get_all(); + foreach ($items->result_array() as $item) + { + $quantity_data = array('item_id' => $item['item_id'], 'location_id' => $location_id, 'quantity' => 0); + $this->db->insert('item_quantities', $quantity_data); + } + $this->db->trans_complete(); + } else { $this->db->where('location_id', $location_id); @@ -125,8 +120,6 @@ class Stock_locations extends CI_Model { $grants_data = array('permission_id' => $permission_id, 'person_id' => $employee['person_id']); $this->db->insert('grants', $grants_data); - - $this->db->delete('permissions', array('permission_id' => 'items_'.$location_name)); } } @@ -136,8 +129,14 @@ class Stock_locations extends CI_Model */ function delete($location_id) { + $this->db->trans_start(); $this->db->where('location_id', $location_id); - return $this->db->update('stock_locations', array('deleted' => 1)); + $this->db->update('stock_locations', array('deleted' => 1)); + + // should delete permissions and grants as well? + $this->db->where('location_id', $location_id); + $this->db->delete('permissions'); + $this->db->trans_complete(); } diff --git a/application/views/config.php b/application/views/config.php index 7319da59b..df840fe1d 100644 --- a/application/views/config.php +++ b/application/views/config.php @@ -259,7 +259,9 @@ echo form_open('config/save/',array('id'=>'config_form')); -load->view('partial/stock_locations', array('stock_locations' => $stock_locations)); ?> +