roles guard + docs + logo

This commit is contained in:
Thanakorn S
2026-05-06 16:37:20 +07:00
parent 797dee5d17
commit 2eb6a1a315
60 changed files with 496 additions and 105 deletions
+3 -1
View File
@@ -3,6 +3,8 @@
require '../../../assets/utils/db_auth.php';
require '../../../assets/utils/classes/ProductManager.php';
require_role($user_role, ['owner', 'admin']);
try {
dbTransaction($pdo2, function($pdo) use ($data, $company_id, $logging) {
$product = new ProductManager($pdo, $company_id);
@@ -23,4 +25,4 @@
}
exit(json_encode($answer));
?>
?>
+3 -1
View File
@@ -4,6 +4,8 @@
require '../../../assets/utils/classes/FileUploader.php';
require '../../../assets/utils/classes/ProductManager.php';
require_role($user_role, ['owner', 'admin']);
$id = (int)$data['id'];
$min_stock = (float)($data['min_stock'] ?? 0);
$reorder_point = (float)($data['reorder_point'] ?? 0);
@@ -68,4 +70,4 @@
}
exit(json_encode($answer));
?>
?>
@@ -4,6 +4,8 @@
require '../../../assets/utils/classes/WarehouseManager.php';
require '../../../assets/utils/classes/CompanySettingManager.php';
require_role($user_role, ['owner', 'admin']);
try {
$setting = new CompanySettingManager($pdo1, $company_id, $pdo2);
$advanced_location = (int)$setting->get('advanced_location') === 1;
@@ -3,6 +3,8 @@
require '../../../assets/utils/db_auth.php';
require '../../../assets/utils/classes/WarehouseManager.php';
require_role($user_role, ['owner', 'admin']);
try {
$newWarehouseId = null;
+3 -1
View File
@@ -3,6 +3,8 @@
require '../../../assets/utils/db_auth.php';
require '../../../assets/utils/classes/ProductManager.php';
require_role($user_role, ['owner', 'admin']);
try {
dbTransaction($pdo2, function($pdo) use ($data, $company_id) {
@@ -26,4 +28,4 @@
}
exit(json_encode($answer));
?>
?>
+3 -1
View File
@@ -3,6 +3,8 @@
require '../../../assets/utils/db_auth.php';
require '../../../assets/utils/classes/ProductManager.php';
require_role($user_role, ['owner', 'admin']);
try {
dbTransaction($pdo2, function($pdo) use ($data, $company_id) {
@@ -26,4 +28,4 @@
}
exit(json_encode($answer));
?>
?>
+3 -1
View File
@@ -3,6 +3,8 @@
require '../../../assets/utils/db_auth.php';
require '../../../assets/utils/classes/WarehouseManager.php';
require_role($user_role, ['owner', 'admin']);
try {
dbTransaction($pdo2, function($pdo) use ($data, $company_id) {
@@ -26,4 +28,4 @@
}
exit(json_encode($answer));
?>
?>
@@ -3,6 +3,8 @@
require '../../../assets/utils/db_auth.php';
require '../../../assets/utils/classes/WarehouseManager.php';
require_role($user_role, ['owner', 'admin']);
try {
dbTransaction($pdo2, function($pdo) use ($data, $company_id) {
@@ -26,4 +28,4 @@
}
exit(json_encode($answer));
?>
?>
+5 -1
View File
@@ -1,6 +1,10 @@
<?php
session_start();
require '../config.php';
if (!in_array($_SESSION['login_role'] ?? 'viewer', ['owner', 'admin'], true)) {
http_response_code(403);
exit('Access denied.');
}
require '../include_header.php';
?>
@@ -124,7 +128,7 @@
placeholder="Enter product description"></textarea>
</div>
<div class="d-flex gap-2">
<button type="submit" class="btn btn-primary" onclick="manage_product();">Create</button>
<button type="submit" class="btn btn-primary" data-min-role="admin" onclick="manage_product();">Create</button>
</div>
</div>
</div>
+5 -1
View File
@@ -1,6 +1,10 @@
<?php
session_start();
require '../config.php';
if (!in_array($_SESSION['login_role'] ?? 'viewer', ['owner', 'admin'], true)) {
http_response_code(403);
exit('Access denied.');
}
require '../include_header.php';
?>
@@ -99,7 +103,7 @@
</div>
<div class="d-flex gap-2">
<button type="submit" class="btn btn-primary" onclick="manage_storage();">Add Storage</button>
<button type="submit" class="btn btn-primary" data-min-role="admin" onclick="manage_storage();">Add Storage</button>
<button type="reset" class="btn btn-secondary" onclick="reset_input('#storageForm')">Clear</button>
</div>
+6 -2
View File
@@ -1,6 +1,10 @@
<?php
session_start();
require '../config.php';
if (!in_array($_SESSION['login_role'] ?? 'viewer', ['owner', 'admin'], true)) {
http_response_code(403);
exit('Access denied.');
}
require '../include_header.php';
?>
@@ -60,7 +64,7 @@
placeholder="Enter warehouse description"></textarea>
</div>
<div class="d-flex gap-2">
<button type="submit" class="btn btn-primary" onclick="manage_warehouse();">Add Warehouse</button>
<button type="submit" class="btn btn-primary" data-min-role="admin" onclick="manage_warehouse();">Add Warehouse</button>
<button type="reset" class="btn btn-secondary" onclick="reset_input('#warehouseForm')">Clear</button>
</div>
</div>
@@ -155,4 +159,4 @@
</body>
</html>
</html>
+3 -3
View File
@@ -171,7 +171,7 @@
<p class="mb-0">List of all products</p>
</div>
<div>
<a href="<?php echo $server_url?>inventory/manage_product.php" class="btn btn-secondary">
<a href="<?php echo $server_url?>inventory/manage_product.php" class="btn btn-secondary" data-min-role="admin">
<span class="me-1"><i class="ti ti-plus"></i></span>
<span>Add Product</span>
</a>
@@ -388,8 +388,8 @@
${(item['status']==1)?'<span class="badge bg-success">Active</span>':'<span class="badge bg-secondary">Inactive</span>'}
</td>
<td class="py-3">
<a href="<?php echo $server_url?>inventory/manage_product.php?id=${item['id']}" class=""><i class="ti ti-eye fs-5"></i></a>
<a href="javascript:;" class="link-danger" onclick="remove_product(${item['id']},$(this))"><i class="ti ti-trash ms-2 fs-5"></i></a>
<a href="<?php echo $server_url?>inventory/manage_product.php?id=${item['id']}" class="" data-min-role="admin"><i class="ti ti-eye fs-5"></i></a>
<a href="javascript:;" class="link-danger" data-min-role="admin" onclick="remove_product(${item['id']},$(this))"><i class="ti ti-trash ms-2 fs-5"></i></a>
</td>
</tr>`;
});
+11 -7
View File
@@ -1,6 +1,10 @@
<?php
session_start();
require '../config.php';
if (!in_array($_SESSION['login_role'] ?? 'viewer', ['owner', 'admin'], true)) {
http_response_code(403);
exit('Access denied.');
}
require '../include_header.php';
?>
@@ -152,7 +156,7 @@
<p>All warehouse facilities and their current status</p>
</div>
<div>
<a href="<?php echo $server_url?>inventory/manage_warehouse.php" class="btn btn-primary">
<a href="<?php echo $server_url?>inventory/manage_warehouse.php" class="btn btn-primary" data-min-role="admin">
Add Warehouse
</a>
</div>
@@ -205,7 +209,7 @@
<p id="storage_subtitle">Zones, aisles, and rack assignments</p>
</div>
<div>
<a href="<?php echo $server_url?>inventory/manage_storage.php" class="btn btn-secondary">
<a href="<?php echo $server_url?>inventory/manage_storage.php" class="btn btn-secondary" data-min-role="admin">
Add Storage
</a>
</div>
@@ -390,8 +394,8 @@
${(item['status']==1)?'<span class="badge bg-success">Active</span>':'<span class="badge bg-secondary">Inactive</span>'}
</td>
<td class="py-3">
<a href="<?php echo $server_url?>inventory/manage_warehouse.php?id=${item['id']}" class=""><i class="ti ti-eye fs-5"></i></a>
<a href="javascript:;" class="link-danger" onclick="remove_warehouse(${item['id']},$(this))"><i class="ti ti-trash ms-2 fs-5"></i></a>
<a href="<?php echo $server_url?>inventory/manage_warehouse.php?id=${item['id']}" class="" data-min-role="admin"><i class="ti ti-eye fs-5"></i></a>
<a href="javascript:;" class="link-danger" data-min-role="admin" onclick="remove_warehouse(${item['id']},$(this))"><i class="ti ti-trash ms-2 fs-5"></i></a>
</td>
</tr>`;
});
@@ -456,8 +460,8 @@
${location_cells}
<td class="py-3"></td>
<td class="py-3">
<a href="<?php echo $server_url?>inventory/manage_storage.php?id=${item['id']}" class=""><i class="ti ti-eye fs-5"></i></a>
<a href="javascript:;" class="link-danger" onclick="remove_storage(${item['id']},$(this))"><i class="ti ti-trash ms-2 fs-5"></i></a>
<a href="<?php echo $server_url?>inventory/manage_storage.php?id=${item['id']}" class="" data-min-role="admin"><i class="ti ti-eye fs-5"></i></a>
<a href="javascript:;" class="link-danger" data-min-role="admin" onclick="remove_storage(${item['id']},$(this))"><i class="ti ti-trash ms-2 fs-5"></i></a>
</td>
</tr>`;
});
@@ -554,4 +558,4 @@
</body>
</html>
</html>