diff --git a/app/assets/js/custom.js b/app/assets/js/custom.js
index 7d8186c..8c7bd0f 100644
--- a/app/assets/js/custom.js
+++ b/app/assets/js/custom.js
@@ -820,6 +820,13 @@ function ajax_request(options) {
throw xhr;
}
+ // File / payload too large (nginx 413)
+ if (xhr?.status === 413) {
+ bootbox.alert('The file you selected is too large. Please use an image under 2 MB and try again.');
+ options.onError?.(xhr, 'payload_too_large');
+ throw xhr;
+ }
+
// Usage limit reached — show upgrade notice instead of generic error
if (xhr?.status === 402) {
const d = xhr?.responseJSON ?? {};
diff --git a/app/ics/api/engine/retrieve_warehouse.php b/app/ics/api/engine/retrieve_warehouse.php
index f18e514..4fcab1f 100644
--- a/app/ics/api/engine/retrieve_warehouse.php
+++ b/app/ics/api/engine/retrieve_warehouse.php
@@ -17,6 +17,11 @@
$answer['output'] = $wh->getWarehouseList($type, $sku, $id);
}
- $answer['success'] = 1;
+ if (empty($answer['output'])) {
+ $answer['success'] = 0;
+ $answer['message'] = 'No warehouse found. Please go to Inventory → Warehouse to create your first warehouse before using this page.';
+ } else {
+ $answer['success'] = 1;
+ }
exit(json_encode($answer));
?>
\ No newline at end of file
diff --git a/app/ics/stock_overview.php b/app/ics/stock_overview.php
index cce75f7..892ca7e 100644
--- a/app/ics/stock_overview.php
+++ b/app/ics/stock_overview.php
@@ -304,8 +304,7 @@
});
$('#warehouse').html(option);
- // Auto-select first warehouse on page load
- if (res.output && res.output.length > 0) {
+ if (res.output.length > 0) {
$('#warehouse').val(res.output[0].id);
retrieve_overview();
}
diff --git a/app/inventory/api/engine/warehouse.php b/app/inventory/api/engine/warehouse.php
index 2aed388..7e98cba 100644
--- a/app/inventory/api/engine/warehouse.php
+++ b/app/inventory/api/engine/warehouse.php
@@ -4,7 +4,12 @@
require '../../../assets/utils/classes/WarehouseManager.php';
$wh = new WarehouseManager($pdo2, $company_id);
- $answer['output'] = $wh->getWarehouseListAll();
- $answer['success'] = 1;
+ $answer['output'] = $wh->getWarehouseListAll();
+ if (empty($answer['output'])) {
+ $answer['success'] = 0;
+ $answer['message'] = 'No warehouse found. Please go to Inventory → Warehouse to create your first warehouse before using this page.';
+ } else {
+ $answer['success'] = 1;
+ }
exit(json_encode($answer));
?>
\ No newline at end of file
diff --git a/app/login/api/engine/invited_onboarding.php b/app/login/api/engine/invited_onboarding.php
index ed23ac5..a74205b 100644
--- a/app/login/api/engine/invited_onboarding.php
+++ b/app/login/api/engine/invited_onboarding.php
@@ -23,12 +23,12 @@
* 10. Return { success: 1 }.
*/
-require '../../session.php';
-require '../../config.php';
-require '../../preset.php';
+require '../../../session.php';
+require '../../../config.php';
+require '../../../preset.php';
define('UNAUTHENTICATED_ROUTE', true);
-require '../../assets/utils/db_auth.php';
-require '../../assets/utils/classes/PasswordManager.php';
+require '../../../assets/utils/db_auth.php';
+require '../../../assets/utils/classes/PasswordManager.php';
header('Content-Type: application/json; charset=utf-8');
diff --git a/app/setting/api/engine/manage_profile.php b/app/setting/api/engine/manage_profile.php
index 97d1575..182fda7 100644
--- a/app/setting/api/engine/manage_profile.php
+++ b/app/setting/api/engine/manage_profile.php
@@ -42,7 +42,7 @@
$_SESSION['login_profile_picture'] = $db_picture;
$answer['success'] = 1;
- $answer['message'] = 'Profile updated.';
+ $answer['message'] = 'Profile updated successfully.';
$answer['profile_picture'] = $db_picture;
} catch (Exception $e) {
diff --git a/app/setting/profile.php b/app/setting/profile.php
index 788a811..269fe6c 100644
--- a/app/setting/profile.php
+++ b/app/setting/profile.php
@@ -414,7 +414,7 @@
$('#name').val(), $('#surname').val(),
$('#username_display').val(), $('#email').val()
);
- bootbox.alert('Profile updated successfully.');
+ bootbox.alert(res.message);
}
});
}