diff --git a/app/Controllers/Items.php b/app/Controllers/Items.php index 5d9088b99..8bf7914cb 100644 --- a/app/Controllers/Items.php +++ b/app/Controllers/Items.php @@ -876,12 +876,12 @@ class Items extends Secure_Controller $items_to_update = $this->request->getPost('item_ids'); $item_data = []; - foreach ($_POST as $key => $value) { - // This field is nullable, so treat it differently - if ($key === 'supplier_id' && $value !== '') { - $item_data[$key] = $value; - } elseif ($value !== '' && !(in_array($key, ['item_ids', 'tax_names', 'tax_percents']))) { - $item_data[$key] = $value; + foreach (Item::ALLOWED_BULK_EDIT_FIELDS as $field) { + $value = $this->request->getPost($field); + if ($field === 'supplier_id' && $value !== '') { + $item_data[$field] = $value; + } elseif ($value !== null && $value !== '') { + $item_data[$field] = $value; } } diff --git a/app/Models/Item.php b/app/Models/Item.php index adeabfb01..0d21edaaa 100644 --- a/app/Models/Item.php +++ b/app/Models/Item.php @@ -16,6 +16,18 @@ use stdClass; */ class Item extends Model { + public const ALLOWED_BULK_EDIT_FIELDS = [ + 'name', + 'category', + 'supplier_id', + 'cost_price', + 'unit_price', + 'reorder_level', + 'description', + 'allow_alt_description', + 'is_serialized' + ]; + protected $table = 'items'; protected $primaryKey = 'item_id'; protected $useAutoIncrement = true;