add footer
This commit is contained in:
parent
bdaebf68cb
commit
4dd5015f18
@ -8,7 +8,7 @@
|
||||
--text-muted: #64748b;
|
||||
--border: #e2e8f0;
|
||||
--radius: 4px;
|
||||
--sidebar-width: 250px;
|
||||
--sidebar-width: 210px;
|
||||
}
|
||||
|
||||
body.theme-dark {
|
||||
@ -83,15 +83,15 @@ body {
|
||||
[dir="rtl"] .sidebar { right: 0; }
|
||||
|
||||
.sidebar-header {
|
||||
padding: 1.5rem;
|
||||
font-size: 1.25rem;
|
||||
padding: 1rem;
|
||||
font-size: 1.15rem;
|
||||
font-weight: 700;
|
||||
border-bottom: 1px solid var(--primary-light);
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: #cbd5e1;
|
||||
padding: 0.75rem 1.5rem;
|
||||
padding: 0.6rem 1rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-decoration: none;
|
||||
@ -105,7 +105,7 @@ body {
|
||||
|
||||
.nav-link i {
|
||||
width: 20px;
|
||||
margin-right: 10px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.nav-section-title {
|
||||
@ -237,7 +237,7 @@ body {
|
||||
|
||||
[dir="rtl"] .nav-link i {
|
||||
margin-right: 0;
|
||||
margin-left: 10px;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
/* Main Content */
|
||||
@ -329,6 +329,15 @@ body {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.main-footer {
|
||||
background: transparent;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.main-footer .border-top {
|
||||
border-color: var(--border) !important;
|
||||
}
|
||||
|
||||
/* RTL Adjustments */
|
||||
[dir="rtl"] .ms-auto {
|
||||
margin-right: auto !important;
|
||||
|
||||
176
index.php
176
index.php
@ -419,7 +419,7 @@ if (isset($_GET['action']) || isset($_POST['action'])) {
|
||||
|
||||
if ($type === 'purchase') {
|
||||
$stmt = db()->prepare("SELECT pr.*, c.name as party_name FROM purchase_returns pr LEFT JOIN customers c ON pr.supplier_id = c.id WHERE pr.id = ?");
|
||||
$stmt->execute([return_id]);
|
||||
$stmt->execute([$return_id]);
|
||||
$return = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
if ($return) {
|
||||
$stmtItems = db()->prepare("SELECT pri.*, i.name_en, i.name_ar, i.sku FROM purchase_return_items pri JOIN stock_items i ON pri.item_id = i.id WHERE pri.return_id = ?");
|
||||
@ -661,6 +661,23 @@ function getPromotionalPrice($item) {
|
||||
$message = "Unit added!";
|
||||
}
|
||||
|
||||
if (isset($_POST['edit_category'])) {
|
||||
db()->prepare("UPDATE stock_categories SET name_en = ?, name_ar = ? WHERE id = ?")->execute([$_POST['name_en'] ?? '', $_POST['name_ar'] ?? '', (int)$_POST['id']]);
|
||||
$message = "Category updated!";
|
||||
}
|
||||
if (isset($_POST['delete_category'])) {
|
||||
db()->prepare("DELETE FROM stock_categories WHERE id = ?")->execute([(int)$_POST['id']]);
|
||||
$message = "Category deleted!";
|
||||
}
|
||||
if (isset($_POST['edit_unit'])) {
|
||||
db()->prepare("UPDATE stock_units SET name_en = ?, name_ar = ?, short_name_en = ?, short_name_ar = ? WHERE id = ?")->execute([$_POST['name_en'] ?? '', $_POST['name_ar'] ?? '', $_POST['short_en'] ?? '', $_POST['short_ar'] ?? '', (int)$_POST['id']]);
|
||||
$message = "Unit updated!";
|
||||
}
|
||||
if (isset($_POST['delete_unit'])) {
|
||||
db()->prepare("DELETE FROM stock_units WHERE id = ?")->execute([(int)$_POST['id']]);
|
||||
$message = "Unit deleted!";
|
||||
}
|
||||
|
||||
if (isset($_POST['add_customer'])) {
|
||||
db()->prepare("INSERT INTO customers (name, email, phone, tax_id, balance, type) VALUES (?, ?, ?, ?, ?, ?)")->execute([$_POST['name'] ?? '', $_POST['email'] ?? '', $_POST['phone'] ?? '', $_POST['tax_id'] ?? '', (float)($_POST['balance'] ?? 0), $_POST['type'] ?? 'customer']);
|
||||
$message = "Entity added!";
|
||||
@ -2502,6 +2519,13 @@ $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'Accounting System';
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- POS Section -->
|
||||
<?php if (can('pos_view')): ?>
|
||||
<a href="index.php?page=pos" class="nav-link <?= isset($_GET['page']) && $_GET['page'] === 'pos' ? 'active' : '' ?>">
|
||||
<i class="fas fa-cash-register"></i> <span><?= __('pos') ?></span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Inventory Section -->
|
||||
<?php if (can('items_view') || can('categories_view') || can('units_view')): ?>
|
||||
<div class="nav-section-title px-4 mt-3 mb-1 text-uppercase text-muted <?= !in_array($page, ['items', 'categories', 'units']) ? 'collapsed' : '' ?>" data-bs-toggle="collapse" data-bs-target="#stock-collapse">
|
||||
@ -2553,13 +2577,6 @@ $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'Accounting System';
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- POS Section -->
|
||||
<?php if (can('pos_view')): ?>
|
||||
<a href="index.php?page=pos" class="nav-link <?= isset($_GET['page']) && $_GET['page'] === 'pos' ? 'active' : '' ?> mt-2">
|
||||
<i class="fas fa-cash-register"></i> <span><?= __('pos') ?></span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Sales Section -->
|
||||
<?php if (can('sales_view') || can('sales_returns_view') || can('quotations_view')): ?>
|
||||
<div class="nav-section-title px-4 mt-3 mb-1 text-uppercase text-muted <?= !in_array($page, ['sales', 'sales_returns', 'quotations']) ? 'collapsed' : '' ?>" data-bs-toggle="collapse" data-bs-target="#sales-collapse">
|
||||
@ -3236,14 +3253,16 @@ $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'Accounting System';
|
||||
<?php elseif ($page === 'categories'): ?>
|
||||
<div class="card p-4">
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<h5 class="m-0" data-en="Stock Categories" data-ar="فئات المخزون">Stock Categories</h5>
|
||||
<h5 class="m-0" data-en="Stock Categories Management" data-ar="إدارة فئات المخزون">Stock Categories Management</h5>
|
||||
<div>
|
||||
<?php if (can('categories_add')): ?>
|
||||
<button class="btn btn-outline-success me-2" data-bs-toggle="modal" data-bs-target="#importCategoriesModal">
|
||||
<i class="bi bi-file-earmark-excel"></i> <span data-en="Import Excel" data-ar="استيراد من اكسل">Import Excel</span>
|
||||
</button>
|
||||
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#addCategoryModal">
|
||||
<i class="bi bi-plus-lg"></i> <span data-en="Add Category" data-ar="إضافة فئة">Add Category</span>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
@ -3253,6 +3272,7 @@ $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'Accounting System';
|
||||
<th data-en="ID" data-ar="المعرف">ID</th>
|
||||
<th data-en="Name (EN)" data-ar="الاسم (إنجليزي)">Name (EN)</th>
|
||||
<th data-en="Name (AR)" data-ar="الاسم (عربي)">Name (AR)</th>
|
||||
<th data-en="Actions" data-ar="الإجراءات" class="text-end">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -3261,6 +3281,58 @@ $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'Accounting System';
|
||||
<td><?= $cat['id'] ?></td>
|
||||
<td><?= htmlspecialchars($cat['name_en']) ?></td>
|
||||
<td><?= htmlspecialchars($cat['name_ar']) ?></td>
|
||||
<td class="text-end">
|
||||
<div class="btn-group btn-group-sm">
|
||||
<?php if (can('categories_edit')): ?>
|
||||
<button class="btn btn-outline-primary" title="Edit" data-bs-toggle="modal" data-bs-target="#editCatModal<?= $cat['id'] ?>"><i class="bi bi-pencil"></i></button>
|
||||
<?php endif; ?>
|
||||
<?php if (can('categories_delete')): ?>
|
||||
<form method="POST" class="d-inline" onsubmit="return confirm('Are you sure?')">
|
||||
<input type="hidden" name="id" value="<?= $cat['id'] ?>">
|
||||
<button type="submit" name="delete_category" class="btn btn-outline-danger" title="Delete"><i class="bi bi-trash"></i></button>
|
||||
</form>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<!-- Edit Modal -->
|
||||
<div class="modal fade" id="editCatModal<?= $cat['id'] ?>" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content text-start">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Edit Category</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
||||
</div>
|
||||
<form method="POST">
|
||||
<input type="hidden" name="id" value="<?= $cat['id'] ?>">
|
||||
<div class="modal-body">
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Name (EN)</label>
|
||||
<div class="input-group">
|
||||
<input type="text" name="name_en" id="edit_cat_name_en_<?= $cat['id'] ?>" class="form-control" value="<?= htmlspecialchars($cat['name_en']) ?>" required>
|
||||
<button class="btn btn-outline-secondary btn-translate" type="button" data-source="edit_cat_name_ar_<?= $cat['id'] ?>" data-target="edit_cat_name_en_<?= $cat['id'] ?>" data-to="en">
|
||||
<i class="bi bi-translate"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Name (AR)</label>
|
||||
<div class="input-group">
|
||||
<input type="text" name="name_ar" id="edit_cat_name_ar_<?= $cat['id'] ?>" class="form-control" value="<?= htmlspecialchars($cat['name_ar']) ?>" required>
|
||||
<button class="btn btn-outline-secondary btn-translate" type="button" data-source="edit_cat_name_en_<?= $cat['id'] ?>" data-target="edit_cat_name_ar_<?= $cat['id'] ?>" data-to="ar">
|
||||
<i class="bi bi-translate"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-light" data-bs-dismiss="modal">Cancel</button>
|
||||
<button type="submit" name="edit_category" class="btn btn-primary">Update</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
@ -3271,14 +3343,16 @@ $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'Accounting System';
|
||||
<?php elseif ($page === 'units'): ?>
|
||||
<div class="card p-4">
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<h5 class="m-0" data-en="Stock Units" data-ar="وحدات المخزون">Stock Units</h5>
|
||||
<h5 class="m-0" data-en="Stock Units Management" data-ar="إدارة وحدات المخزون">Stock Units Management</h5>
|
||||
<div>
|
||||
<?php if (can('units_add')): ?>
|
||||
<button class="btn btn-outline-success me-2" data-bs-toggle="modal" data-bs-target="#importUnitsModal">
|
||||
<i class="bi bi-file-earmark-excel"></i> <span data-en="Import Excel" data-ar="استيراد من اكسل">Import Excel</span>
|
||||
</button>
|
||||
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#addUnitModal">
|
||||
<i class="bi bi-plus-lg"></i> <span data-en="Add Unit" data-ar="إضافة وحدة">Add Unit</span>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
@ -3289,6 +3363,7 @@ $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'Accounting System';
|
||||
<th data-en="Short (EN)" data-ar="الاختصار (إنجليزي)">Short (EN)</th>
|
||||
<th data-en="Name (AR)" data-ar="الاسم (عربي)">Name (AR)</th>
|
||||
<th data-en="Short (AR)" data-ar="الاختصار (عربي)">Short (AR)</th>
|
||||
<th data-en="Actions" data-ar="الإجراءات" class="text-end">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -3298,6 +3373,66 @@ $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'Accounting System';
|
||||
<td><?= htmlspecialchars($u['short_name_en']) ?></td>
|
||||
<td><?= htmlspecialchars($u['name_ar']) ?></td>
|
||||
<td><?= htmlspecialchars($u['short_name_ar']) ?></td>
|
||||
<td class="text-end">
|
||||
<div class="btn-group btn-group-sm">
|
||||
<?php if (can('units_edit')): ?>
|
||||
<button class="btn btn-outline-primary" title="Edit" data-bs-toggle="modal" data-bs-target="#editUnitModal<?= $u['id'] ?>"><i class="bi bi-pencil"></i></button>
|
||||
<?php endif; ?>
|
||||
<?php if (can('units_delete')): ?>
|
||||
<form method="POST" class="d-inline" onsubmit="return confirm('Are you sure?')">
|
||||
<input type="hidden" name="id" value="<?= $u['id'] ?>">
|
||||
<button type="submit" name="delete_unit" class="btn btn-outline-danger" title="Delete"><i class="bi bi-trash"></i></button>
|
||||
</form>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<!-- Edit Modal -->
|
||||
<div class="modal fade" id="editUnitModal<?= $u['id'] ?>" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content text-start">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Edit Unit</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
||||
</div>
|
||||
<form method="POST">
|
||||
<input type="hidden" name="id" value="<?= $u['id'] ?>">
|
||||
<div class="modal-body">
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Name (EN)</label>
|
||||
<div class="input-group">
|
||||
<input type="text" name="name_en" id="edit_unit_name_en_<?= $u['id'] ?>" class="form-control" value="<?= htmlspecialchars($u['name_en']) ?>" required>
|
||||
<button class="btn btn-outline-secondary btn-translate" type="button" data-source="edit_unit_name_ar_<?= $u['id'] ?>" data-target="edit_unit_name_en_<?= $u['id'] ?>" data-to="en">
|
||||
<i class="bi bi-translate"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Short (EN)</label>
|
||||
<input type="text" name="short_en" class="form-control" value="<?= htmlspecialchars($u['short_name_en']) ?>" required>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Name (AR)</label>
|
||||
<div class="input-group">
|
||||
<input type="text" name="name_ar" id="edit_unit_name_ar_<?= $u['id'] ?>" class="form-control" value="<?= htmlspecialchars($u['name_ar']) ?>" required>
|
||||
<button class="btn btn-outline-secondary btn-translate" type="button" data-source="edit_unit_name_en_<?= $u['id'] ?>" data-target="edit_unit_name_ar_<?= $u['id'] ?>" data-to="ar">
|
||||
<i class="bi bi-translate"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Short (AR)</label>
|
||||
<input type="text" name="short_ar" class="form-control" value="<?= htmlspecialchars($u['short_name_ar']) ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-light" data-bs-dismiss="modal">Cancel</button>
|
||||
<button type="submit" name="edit_unit" class="btn btn-primary">Update</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
@ -5447,11 +5582,21 @@ $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'Accounting System';
|
||||
<div class="modal-body">
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Name (EN)</label>
|
||||
<input type="text" name="name_en" class="form-control" value="<?= htmlspecialchars($cat['name_en']) ?>" required>
|
||||
<div class="input-group">
|
||||
<input type="text" name="name_en" id="editExpCatEn<?= $cat['id'] ?>" class="form-control" value="<?= htmlspecialchars($cat['name_en']) ?>" required>
|
||||
<button class="btn btn-outline-secondary btn-translate" type="button" data-source="editExpCatAr<?= $cat['id'] ?>" data-target="editExpCatEn<?= $cat['id'] ?>" data-to="en">
|
||||
<i class="bi bi-translate"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Name (AR)</label>
|
||||
<input type="text" name="name_ar" class="form-control" value="<?= htmlspecialchars($cat['name_ar']) ?>" required>
|
||||
<div class="input-group">
|
||||
<input type="text" name="name_ar" id="editExpCatAr<?= $cat['id'] ?>" class="form-control" value="<?= htmlspecialchars($cat['name_ar']) ?>" required>
|
||||
<button class="btn btn-outline-secondary btn-translate" type="button" data-source="editExpCatEn<?= $cat['id'] ?>" data-target="editExpCatAr<?= $cat['id'] ?>" data-to="ar">
|
||||
<i class="bi bi-translate"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
@ -11109,6 +11254,13 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer class="main-footer d-print-none">
|
||||
<div class="text-center py-4 border-top mt-5">
|
||||
<span class="text-muted small">Powered By Meezan Accounting omanapp.cloud aalabry@gmail.com- Whatsapp:+96899359472</span>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
/* Avery Label Printing */
|
||||
.avery-container {
|
||||
|
||||
@ -114,3 +114,15 @@
|
||||
2026-02-20 03:06:13 - POST: {"id":"6","name":"Accountant","permissions":["accounting_view","accounting_add","accounting_edit","accounting_delete","trial_balance_view","trial_balance_add","trial_balance_edit","trial_balance_delete","profit_loss_view","profit_loss_add","profit_loss_edit","profit_loss_delete","balance_sheet_view","balance_sheet_add","balance_sheet_edit","balance_sheet_delete","vat_report_view","vat_report_add","vat_report_edit","vat_report_delete"],"edit_role_group":""}
|
||||
2026-02-20 03:06:37 - POST: {"id":"1","name":"Administrator","permissions":["dashboard_view","dashboard_add","dashboard_edit","dashboard_delete","items_view","items_add","items_edit","items_delete","categories_view","categories_add","categories_edit","categories_delete","units_view","units_add","units_edit","units_delete","customers_view","customers_add","customers_edit","customers_delete","suppliers_view","suppliers_add","suppliers_edit","suppliers_delete","pos_view","pos_add","pos_edit","pos_delete","sales_view","sales_add","sales_edit","sales_delete","sales_returns_view","sales_returns_add","sales_returns_edit","sales_returns_delete","quotations_view","quotations_add","quotations_edit","quotations_delete","purchases_view","purchases_add","purchases_edit","purchases_delete","purchase_returns_view","purchase_returns_add","purchase_returns_edit","purchase_returns_delete","expense_categories_view","expense_categories_add","expense_categories_edit","expense_categories_delete","expenses_view","expenses_add","expenses_edit","expenses_delete","accounting_view","accounting_add","accounting_edit","accounting_delete","trial_balance_view","trial_balance_add","trial_balance_edit","trial_balance_delete","profit_loss_view","profit_loss_add","profit_loss_edit","profit_loss_delete","balance_sheet_view","balance_sheet_add","balance_sheet_edit","balance_sheet_delete","vat_report_view","vat_report_add","vat_report_edit","vat_report_delete","hr_departments_view","hr_departments_add","hr_departments_edit","hr_departments_delete","hr_employees_view","hr_employees_add","hr_employees_edit","hr_employees_delete","hr_attendance_view","hr_attendance_add","hr_attendance_edit","hr_attendance_delete","hr_payroll_view","hr_payroll_add","hr_payroll_edit","hr_payroll_delete","customer_statement_view","customer_statement_add","customer_statement_edit","customer_statement_delete","supplier_statement_view","supplier_statement_add","supplier_statement_edit","supplier_statement_delete","cashflow_report_view","cashflow_report_add","cashflow_report_edit","cashflow_report_delete","expiry_report_view","expiry_report_add","expiry_report_edit","expiry_report_delete","low_stock_report_view","low_stock_report_add","low_stock_report_edit","low_stock_report_delete","loyalty_history_view","loyalty_history_add","loyalty_history_edit","loyalty_history_delete","payment_methods_view","payment_methods_add","payment_methods_edit","payment_methods_delete","devices_view","devices_add","devices_edit","devices_delete","settings_view","settings_add","settings_edit","settings_delete","role_groups_view","role_groups_add","role_groups_edit","role_groups_delete","users_view","users_add","users_edit","users_delete","cash_registers_view","cash_registers_add","cash_registers_edit","cash_registers_delete","register_sessions_view","register_sessions_add","register_sessions_edit","register_sessions_delete","scale_devices_view","scale_devices_add","scale_devices_edit","scale_devices_delete","customer_display_settings_view","customer_display_settings_add","customer_display_settings_edit","customer_display_settings_delete","backups_view","backups_add","backups_edit","backups_delete","logs_view","logs_add","logs_edit","logs_delete"],"edit_role_group":""}
|
||||
2026-02-20 03:07:31 - POST: {"id":"4","name":"Cashier","permissions":["items_view","items_add","pos_view","pos_add","sales_view","sales_add"],"edit_role_group":""}
|
||||
2026-02-20 03:34:50 - POST: {"id":"4","name":"Cashier","permissions":["items_view","items_add","pos_view","pos_add","sales_view","sales_add"],"edit_role_group":""}
|
||||
2026-02-20 03:35:39 - POST: {"action":"translate","text":"\u062d\u0628 \u0647\u0627\u0644","target":"en"}
|
||||
2026-02-20 03:37:34 - POST: {"action":"translate","text":"\u0628\u0647\u0627\u0631\u0627\u062a","target":"en"}
|
||||
2026-02-20 03:37:42 - POST: {"name_en":"Spices","name_ar":"\u0628\u0647\u0627\u0631\u0627\u062a","add_category":""}
|
||||
2026-02-20 03:53:00 - POST: {"action":"translate","text":"\u0623\u062f\u0648\u0627\u062a \u0645\u0646\u0632\u0644\u064a\u0629","target":"en"}
|
||||
2026-02-20 03:53:17 - POST: {"id":"1","name_en":"Household items","name_ar":"\u0623\u062f\u0648\u0627\u062a \u0645\u0646\u0632\u0644\u064a\u0629","edit_category":""}
|
||||
2026-02-20 03:53:42 - POST: {"action":"translate","text":"\u0628\u0642\u0648\u0644\u064a\u0627\u062a","target":"en"}
|
||||
2026-02-20 03:53:58 - POST: {"name_en":"Legumes","name_ar":"\u0628\u0642\u0648\u0644\u064a\u0627\u062a","add_category":""}
|
||||
2026-02-20 03:54:22 - POST: {"action":"translate","text":"\u0639\u064a\u0634","target":"en"}
|
||||
2026-02-20 03:54:43 - POST: {"name_en":"Rice","name_ar":"\u0639\u064a\u0634","add_category":""}
|
||||
2026-02-20 03:55:23 - POST: {"action":"save_theme","theme":"dark"}
|
||||
2026-02-20 03:55:24 - POST: {"action":"save_theme","theme":"ocean"}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user