Productsetting Documentation

Product Settings Controller Documentation

File: /controllers/productsettingController.php

Purpose: Manages store-specific product inventory thresholds and minimum value settings

Last Updated: December 20, 2024

Total Functions: 3+

Lines of Code: ~137

---

๐Ÿ“‹ Overview

Simple controller for managing store-specific product settings, particularly minimum inventory values. Features:

Primary Functions

---

๐Ÿ—„๏ธ Database Tables

Primary Tables

Table NamePurposeKey Columns
**productsetting**Store product settingsproductsettingid, storeid, leastValueAtStore
**store**Store masterstoreId, storeName, conditions
---

๐Ÿ”‘ Key Functions

1. update() - Save Settings

Location: Line 118

Purpose: Insert or update store product settings

function update() {
    $productsettingid = (int)$_POST['productsettingid'];
    $storeid = $_POST['storeid'];
    $leastValueAtStore = $_POST['leastValueAtStore'];
    
    if ($productsettingid == 0) {
        // Insert new record
        $productSetting->leastValueAtStore = $leastValueAtStore;
        $productSetting->storeid = $storeid;
        $productSettingDAO->insert($productSetting);
    } else {
        // Update existing record
        $productSetting->leastValueAtStore = $leastValueAtStore;
        $productSetting->storeid = $storeid; 
        $productSetting->productsettingid = $productsettingid;
        $productSettingDAO->update($productSetting);
    }
}

2. getStores() - Load Store Data

Location: Line 111

Purpose: Load active stores for dropdown selection

function getStores() {
    $storeData = $storeDAO->queryByConditions(0);
    return $storeData;
}

---

๐Ÿ”„ Workflows

Workflow: Settings Management

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
START: Edit Settings
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ–ผ
โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
1Load Interface
- Load store dropdown
- Display edit form
- Load tutorials
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ–ผ
โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
2Process Update
- Check if insert or update
- Save settings to database
- Redirect to success
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

---

๐ŸŒ URL Routes & Actions

URL ParameterFunction CalledDescription
`do=` (empty) or `do=edit`DefaultSettings form
`do=editprint`Print viewPrint-friendly settings
`do=update``update()`Save settings
### Required Parameters

Update Settings (do=update):

---

๐Ÿงฎ Calculation Methods

Insert vs Update Logic

if ($productsettingid == 0) {
    // New record - INSERT
} else {
    // Existing record - UPDATE
}

---

๐Ÿ”’ Security & Permissions

Authentication

include_once("../public/authentication.php");

Input Validation

$productsettingid = (int)$_POST['productsettingid'];  // Integer casting

---

Documented By: AI Assistant

Review Status: โœ… Complete - Simple, well-structured controller

Next Review: When major changes occur