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:
- โข Store-specific minimum value settings
- โข Simple CRUD operations
- โข Store selection interface
- โข YouTube tutorial integration
Primary Functions
- โ Edit store product settings
- โ Store selection interface
- โ Minimum value configuration
- โ Tutorial integration
---
๐๏ธ Database Tables
Primary Tables
| Table Name | Purpose | Key Columns | |
|---|---|---|---|
| **productsetting** | Store product settings | productsettingid, storeid, leastValueAtStore | |
| **store** | Store master | storeId, 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 Parameter | Function Called | Description | |
|---|---|---|---|
| `do=` (empty) or `do=edit` | Default | Settings form | |
| `do=editprint` | Print view | Print-friendly settings | |
| `do=update` | `update()` | Save settings |
Update Settings (do=update):
- โข
productsettingid- Setting ID (0 for new) - โข
storeid- Store ID - โข
leastValueAtStore- Minimum value threshold
---
๐งฎ 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