12c4ca8334
edits for trenders attachments & claims
2026-05-19 11:41:44 +03:00
7732a40726
upload file
2026-05-07 16:51:45 +03:00
31c59a3c9f
edit status of tenders
2026-05-07 16:16:31 +03:00
e01e351713
updates
2026-05-07 15:21:10 +03:00
9e5dd47a2f
add permission to suppliers
2026-05-06 15:17:58 +03:00
da4cb36036
add supplier management module
2026-05-06 10:56:31 +03:00
8621096a82
add suppliers
2026-05-03 15:25:50 +03:00
287401f1da
add notification route
2026-05-03 11:53:05 +03:00
345ba195f8
update expense-claims
2026-05-03 10:30:03 +03:00
11d14c01d2
edit tender module
2026-04-26 12:02:45 +03:00
0a9e1bbd4d
addition expense claims
2026-04-22 11:36:47 +03:00
e262d8c09c
notification process
2026-04-19 15:16:45 +03:00
417a5ac661
add edit & delete button to tender & update contacts dashbaord
2026-04-14 14:50:37 +03:00
18699e6926
add edit & delete button to tender & update contacts dashbaord
2026-04-14 14:47:10 +03:00
Talal Sharabi
93f6e23861
fix(deploy): restore backend host binding for proxy connectivity
...
Keep Postgres restricted to localhost, but re-expose backend on host port 5001 so the external reverse proxy can reach API routes reliably.
Made-with: Cursor
2026-04-13 12:54:35 +04:00
Talal Sharabi
7270c4961f
fix(deploy): restrict backend and postgres ports to localhost
...
Limit direct network exposure on staging by binding backend and Postgres to 127.0.0.1 while keeping frontend public via the reverse proxy.
Made-with: Cursor
2026-04-13 12:34:34 +04:00
bda70feb18
edit contact form
2026-04-12 16:52:44 +03:00
13f2214df5
Rebuild lock file clean
2026-04-07 11:16:12 +03:00
04cc054be1
Fix swc helpers mismatch
2026-04-07 11:06:22 +03:00
8954e9c1dd
Fix package lock sync for deploy
2026-04-07 10:38:01 +03:00
yotakii
7b73053d80
Merge branch 'master' of https://git.atmata-group.com/ATMATA/zerp
2026-04-01 15:52:41 +03:00
yotakii
f101989047
updates for contacts & tenders Modules
2026-04-01 15:50:21 +03:00
Talal Sharabi
03312c3769
docs: align developer staging guide with rsync + Docker workflow
...
Made-with: Cursor
2026-04-01 11:26:29 +04:00
Talal Sharabi
1014d88313
docs: add staging Docker deploy guide for remote developers
...
Made-with: Cursor
2026-04-01 11:23:35 +04:00
yotakii
278d8f6982
update HR modules
2026-04-01 10:17:38 +03:00
yotakii
94d651c29e
Merge branch 'master' of https://git.atmata-group.com/ATMATA/zerp
2026-03-30 13:23:23 +03:00
yotakii
3e8985ffe0
expand contant types
2026-03-30 13:22:14 +03:00
Talal Sharabi
3fbe607ed7
fix(dashboard): bundle header logo with next/image for reliable staging
...
Made-with: Cursor
2026-03-30 11:58:07 +04:00
Talal Sharabi
14d2597722
fix(frontend): use logo.png filename so dashboard header image loads
...
Made-with: Cursor
2026-03-30 11:50:40 +04:00
Talal Sharabi
45c43ab526
fix(docker): default DATABASE_URL when unset so Compose works without .env
...
Made-with: Cursor
2026-03-30 11:45:44 +04:00
yotakii
78aa7c0fb5
add logo png
2026-03-29 16:15:56 +03:00
yotakii
005edf2b69
Merge branch 'master' of https://git.atmata-group.com/ATMATA/zerp
2026-03-26 15:10:51 +03:00
yotakii
5f7e9e517f
solve prisma connection
2026-03-26 15:07:06 +03:00
Talal Sharabi
4043f3bd6c
chore(db): add idempotent SQL to backfill tenders position_permissions
...
Made-with: Cursor
2026-03-26 11:07:03 +04:00
yotakii
3fd62ba0ad
some editing
2026-03-25 12:04:27 +03:00
yotakii
ba33072d95
rebrand
2026-03-16 13:01:30 +03:00
Talal Sharabi
03dea2e52b
fix: rename map callback param to avoid shadowing translation t
...
Made-with: Cursor
2026-03-12 15:36:44 +04:00
Talal Sharabi
854a42980d
fix: CORS for localhost:3000, login with username or email, favicon
...
Made-with: Cursor
2026-03-12 15:35:36 +04:00
Talal Sharabi
4c139429e2
feat(tenders): add Tender Management module (SRS, backend, frontend)
...
- SRS document: docs/SRS_TENDER_MANAGEMENT.md
- Prisma: Tender, TenderDirective models; Deal.sourceTenderId; Attachment.tenderId/tenderDirectiveId
- Backend: tenders module (CRUD, duplicate check, directives, notifications, file upload, convert-to-deal)
- Frontend: tenders list, detail, create/edit forms, directives, convert to deal, i18n (en/ar), dashboard card
- Seed: tenders permissions for admin and sales positions
- Auth: admin.service findFirst for email check (Prisma compatibility)
Made-with: Cursor
2026-03-11 16:57:40 +04:00
Talal Sharabi
18c13cdf7c
feat(crm): add contracts, cost sheets, invoices modules and API clients
...
Made-with: Cursor
2026-03-11 16:40:25 +04:00
yotakii
8a20927044
add atmata brand
2026-03-10 11:54:46 +03:00
yotakii
6d82c5007c
fix login
2026-03-05 12:16:29 +03:00
yotakii
625bc26a05
Merge branch 'master' of https://git.atmata-group.com/ATMATA/zerp
2026-03-05 11:57:04 +03:00
yotakii
8365f4da2d
fix login error
2026-03-05 11:54:14 +03:00
Talal Sharabi
72ed9a2ff5
feat(hr): Complete HR module with Employee Portal, Loans, Leave, Purchase Requests, Contracts
...
- Database: Add Loan, LoanInstallment, PurchaseRequest, LeaveEntitlement, EmployeeContract models
- Database: Extend Attendance with ZK Tico fields (sourceDeviceId, externalId, rawData)
- Database: Add Employee.attendancePin for device mapping
- Backend: HR admin - Loans, Purchase Requests, Leave entitlements, Employee contracts CRUD
- Backend: Leave reject, bulk attendance sync (ZK Tico ready)
- Backend: Employee Portal API - scoped by employeeId (loans, leaves, purchase-requests, attendance, salaries)
- Frontend: Employee Portal - dashboard, loans, leave, purchase-requests, attendance, salaries
- Frontend: HR Admin - new tabs for Leaves, Loans, Purchase Requests, Contracts (approve/reject)
- Dashboard: Add My Portal link
- No destructive schema changes; additive migrations only
Made-with: Cursor
2026-03-04 19:44:09 +04:00
Talal Sharabi
ae890ca1c5
Merge origin/master: resolve conflicts, keep RBAC and fixes
...
Made-with: Cursor
2026-03-04 19:31:34 +04:00
Talal Sharabi
8edeaf10f5
RBAC: Phase 1-3, Total Salary fix, employee creation fix, permission groups, backup script
...
Made-with: Cursor
2026-03-04 19:31:08 +04:00
yotakii
69d3d21487
fix bug
2026-03-03 12:41:04 +03:00
yotakii
eecdf547cf
fix salary field
2026-03-03 11:59:40 +03:00
yotakii
1c1c5bd254
fix
2026-03-03 10:38:57 +03:00