Mahdi and Cursor
7f6d9a84d6
fix(contacts): treat Iranian mobile formats as one person
...
Tahesab import still replaces the name and keeps the previous name.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-05 10:51:36 +03:30
Mahdi and Cursor
39cb5c2548
feat(public-api): let external sites register a lead with their key
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-04 21:34:07 +03:30
Mahdi and Cursor
52edccf74e
fix(boards): keep card order inside a column and show activity priority
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-03 21:22:30 +03:30
Mahdi and Cursor
c337b0b4c7
fix(leads): keep a future follow-up as an activity on the lead
...
A scheduled follow-up only stored a date, and activities opened from a lead were not linked back, so they disappeared from the lead.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-03 16:19:32 +03:30
Mahdi and Cursor
534dae45b2
feat(roles): let each section decide who may assign work to others
...
Section access now only creates a record for yourself. Assigning it to a colleague requires a separate permission on that section.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-03 13:15:21 +03:30
Mahdi and Cursor
28938e8f77
feat(billing): cap each owner's stored file volume
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-02 15:44:36 +03:30
Mahdi and Cursor
d7b5085096
feat(leads): keep gender on leads and form submissions
...
A lead can carry the same honorific as a person, and a form that asks gender writes it onto the lead.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-31 12:49:42 +03:30
Mahdi and Cursor
0d5e1034e5
feat(leads): edit lead-board columns from the board
...
New-lead counts follow the first open column instead of its name, and cards no longer show an initials mark.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-29 17:23:40 +03:30
Mahdi
09a60b3b5a
feat(acl): deep data access by section for roles and users
...
Role default + user override with OR rules; covers customers, leads, sales, activities, notes, routines, projects, and tickets.
2026-10-22 11:53:26 +03:30
Mahdi
7ae6a5837a
feat: enforce role section permissions and add a leads permission
...
Unticking a section hides it from the menu, closes its routes and blocks its writes on the server; existing roles keep their current access via migration.
2026-10-21 13:45:16 +03:30
Mahdi
631a3267d1
fix: accept createIfMissing when converting a lead to a customer
2026-10-20 21:07:39 +03:30
Mahdi
29398a445b
fix: validate activity, deal and lead assignees by active membership in the current environment
2026-10-20 14:47:08 +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 and Cursor
23f8da2c65
feat: log outbound SMS and show history in compose modal
...
Persist manual, campaign, and automation SMS; expose history APIs for people and leads.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-17 21:23:07 +03:30
Mahdi and Cursor
d62e004e90
feat: SMS campaigns for people or leads with filters and batching
...
Add audience tabs, province/city filters, select-all ids, dynamic SMS tokens, and 50-sized create/send chunks.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-17 20:54:32 +03:30
Mahdi and Cursor
831c682eb3
feat: show the full work history and load every lead stage on the board
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 19:47:32 +03:30
Mahdi and Cursor
42f0573a5f
feat: send one SMS from a person or lead and keep the dashboard inside the phone frame
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 21:05:17 +03:30
Mahdi and Cursor
cf326d1ed9
fix: keep birthdays and show Shamsi dates
...
Imported customers keep their birthday, and assistant text plus remaining calendars use the Jalali date.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 18:04:53 +03:30
Mahdi and Cursor
60d797f184
feat: باشگاه امتیازات کارکنان (موتور امتیاز، جدول رتبه، فروشگاه پاداش، نشانها، پنل مدیریت و گزارش ROI)
...
- موتور رویدادمحور با شرط، محدودیت، تأیید مدیر و idempotency
- اتصال به لید، مشتری، معامله، فعالیت، روتین، پیشفاکتور، فاکتور و تیکت
- صفحه /club و /club/admin، اعلان زنده امتیاز، آیتم منو
- انتقال فرمساز سرنخ به ابزارها
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-10 21:28:49 +03:30
Mahdi
e08f1452ef
Unified search algorithm across all lists; per-section record visibility (contacts, deals, activities, leads, finance, tickets, notes, projects)
2026-10-06 15:04:46 +03:30
Mahdi and Cursor
8b37525f2f
Track person import source and previous names; add source report and edit UX.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-04 12:01:21 +03:30
Mahdi
9f97371391
Fixed error when adding creation date and multiple addresses for contacts and leads.
2026-10-03 12:40:16 +03:30
Mahdi
1309da2281
Adding registration date and multiple addresses for contacts and leads.
2026-10-03 12:29:11 +03:30
Mahdi
66af7e577c
Chat settings in Super Admin and changing the chat title and position.
2026-09-29 14:45:19 +03:30
Mahdi
647503810d
Add lead company logos and refine Leads stats cards.
...
Leads can upload/change/remove a logo shown in the list; stats use fixed stage labels with accurate non-archived counts.
2026-09-27 21:17:42 +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