Mahdi
65cf4e9a66
feat(auth): allow owner to force OTP-only login per user
...
Team menu «ورود با کد» blocks password login with a clear message and switches the login screen to OTP.
2026-10-22 15:43:24 +03:30
Mahdi
ce27df20ca
feat: compact logout-time cell and optional login block after logout time
...
Owners set the daily logout time in a modal and can block re-login until the next Tehran day.
2026-10-21 14:20:15 +03:30
Mahdi
f5d68d83fc
feat: add per-org SMS wallet with adm panel and header credit
...
Bill all platform SMS (including OTP), allow negative balance with manual/auto cutoffs, and support own-panel bypass without wallet debit.
2026-10-19 15:55:48 +03:30
Mahdi
8590579605
feat: log staff sign-in and sign-out and force logout at a set time
2026-10-19 13:34:55 +03:30
Mahdi and Cursor
8981a552fc
feat: gate treasury as an org module and group money inputs
...
Link optional invoice and cheque settlements to cash accounts, and let superadmin enable the finance module per organization.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 19:33:09 +03:30
Mahdi and Cursor
f7b07f6b7a
feat: owner read-only view-as from team users table
...
Allow org owners to inspect any member's data scope via dual JWT; server blocks mutations and team page stays reachable for return.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-17 19:57:26 +03:30
Mahdi and Cursor
0ce2533066
fix(api): load multer types for avatar upload typecheck
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-17 18:08:31 +03:30
Mahdi and Cursor
bc68582fe2
Fix prior archive filter collisions
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-17 17:49:51 +03:30
Mahdi and Cursor
008733d338
Add prior promotion endpoints
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-17 17:13:01 +03:30
Mahdi and Cursor
79ba146118
Wire prior archive cutoff through API
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-17 16:52:20 +03:30
Mahdi and Cursor
6bc5e1bec7
feat: separate prior records behind an owner switch and count last-period questions
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 10:48:30 +03:30
Mahdi
ac3ffb8ab2
Promote Leads to a top-level nav hub and expire login OTP after 90s.
...
Leads items sit under their own hub after Customers; login OTP shows a countdown and returns to the mobile step when time runs out.
2026-09-27 18:00:59 +03:30
Mahdi and Cursor
c079295ff4
Add standalone Leads module for prospect outreach before customers.
...
Import large Excel lists with duplicate checks, assign and kanban follow-up, convert to Person when ready; also fix OTP mobile mask order and SMS brand name to منتکت.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-27 17:05:11 +03:30
Mahdi
0e580b19c3
Editing Super Admin permissions and visual changes
2026-09-20 12:07:05 +03:30
Mahdi
4a9fe0b07c
Configuring access rights in the CRM Super Admin
2026-09-20 11:24:14 +03:30
Mahdi
d3f97b9dc4
Multi-environment and multi-user construction
2026-09-15 21:37:58 +03:30
Mahdi
44f9849d0e
Creating import&export excel
2026-09-15 17:33:05 +03:30
Mahdi
9ae176bec0
Creating & Edit profile
2026-09-15 14:10:52 +03:30
Mahdi and Cursor
55d9b494e6
Use password login without OTP; keep OTP for signup and optional mobile login.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 01:37:15 +03:30
Mahdi and Cursor
78511a7d53
Prefer SMS for auth OTP when email mailer is not configured.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 01:22:55 +03:30
Mahdi and Cursor
c620d1d6d4
Redesign login/register with Mento branding and email/mobile OTP.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 00:47:33 +03:30
Mahdi and Cursor
d2f66d11fc
Ask for organization business field at signup, including jewelry.
...
Store Didar-style industry on the org so registration, settings, and Ask Mento share the same catalog.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:45:59 +03:30
Mahdi and Cursor
29a040c21d
Initial Mento CRM: portal OTP, reports, SMS, and deploy for crm.montzar.ir.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-29 21:06:30 +03:30