Commit Graph
35 Commits
Author SHA1 Message Date
MahdiandCursor 9812e4e5ba fix(crm): honor open data scopes and role assignees
Unset sections on a saved role policy were still filtered as own-only, so full lead access showed nothing. Activities can now be assigned by org role, and the Tahesab sales report reads as a result instead of a tag wall.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-27 18:07:42 +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 50d7cad66e feat: multi-select contacts filter panel for groups sources and mood 2026-10-21 18:07:21 +03:30
Mahdi 9127fa334b fix: stop birth dates from saving one day early in Tehran time 2026-10-20 15:20:47 +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
MahdiandCursor 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
MahdiandCursor 02841a5b8c refactor(api): cutoff-based prior-archive where helpers
Replace didar/live-deal filters with createdAt cutoff and promotedFromPriorAt; add unit tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 16:33:32 +03:30
MahdiandCursor 582733e2ea fix: hide unlinked old activities from current work
Imported follow-ups with no person, company, or deal stayed on the board because only linked prior records were archived.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 13:02:01 +03:30
MahdiandCursor 6bff9d2888 fix: keep imported follow-ups out of current work
They stayed on the board when a non-prior deal was attached, even though the person was prior.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 12:34:40 +03:30
MahdiandCursor 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
MahdiandCursor 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
MahdiandCursor 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
MahdiandCursor 13668c4ba4 feat(activities): split customer column, wider search, custom activity types with type-specific fields
- Table: separate assignee and customer columns; search by assignee and activity type
- ActivityTypeDef model with per-type field definitions (text, select, checklist, participants, ...)
- Default types incl. meeting subject/participants and task checklist; admins manage types
- Participants see activities in their lists and get notified

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:29:23 +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
MahdiandCursor 60c16053a4 Support Didar activity Excel exports without header rows via positional columns.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-04 10:44:00 +03:30
MahdiandCursor cbfe470f33 Import large activity Excel in the browser via JSON chunks to avoid 502.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 18:28:47 +03:30
MahdiandCursor ac57b8ac33 Parse large Excel imports asynchronously to avoid gateway 502 timeouts.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 18:14:17 +03:30
MahdiandCursor c629729a9a Allow large activity Excel imports (40k+ rows) with bigger chunks and caches.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 17:42:11 +03:30
Mahdi 2e315c9cfd Fixing the error when importing a large Excel file 2026-10-03 15:01:01 +03:30
Mahdi 3b128bd980 Selection of multiple officials and role sub-categories 2026-10-03 13:16:13 +03:30
Mahdi 1309da2281 Adding registration date and multiple addresses for contacts and leads. 2026-10-03 12:29:11 +03:30
Mahdi 5784b09232 Fixing Excel login error 2026-10-03 11:32:37 +03:30
Mahdi 32e27d45f7 Add desk-style task workflow on Activities and Project boards.
Managers can switch my desk vs team, reassign activities, and filter project cards to their work; assignees can see and move cards.
2026-09-28 12:28:14 +03:30
MahdiandCursor 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 c06c92b333 Add deal co-assignees and saved filters on people/pipeline lists.
Deals keep a primary owner plus shared assignees with matching visibility; Contacts and Pipeline can save and reuse filter presets.
2026-09-27 14:25:32 +03:30
Mahdi 00f8b91d78 Add personal/team note visibility and edit history.
Notes can be marked personal or team, with revision snapshots and restore from the notes UI.
2026-09-27 13:19:08 +03:30
Mahdi 1b160c8cd3 Add named teams and per-user data visibility (own/team/org) with settings UI and org module. 2026-09-26 17:15:09 +03:30
Mahdi 6463275c3d Add Didar gap features: lost-reason reports, audit logs, tags, card assignees, and saved-views API.
Ignore Graphify local artifacts and expose new modules in superadmin.
2026-09-26 14:59:48 +03:30
Mahdi 4776d1a3c3 Edit import excel 2026-09-19 15:30:31 +03:30
Mahdi e61fad95c6 Editing of the project's Kariz page 2026-09-15 19:13:30 +03:30
Mahdi 44f9849d0e Creating import&export excel 2026-09-15 17:33:05 +03:30
MahdiandCursor 48d3469eea Rebrand the product to Montact and point local UI at production API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 11:49:54 +03:30
MahdiandCursor 523e641d8f Redesign home dashboard and app shell to match Mento mockup.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 15:21:54 +03:30
MahdiandCursor 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