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>
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>
Document refresh can follow the selected group or person instead of every linked customer, and the sales report picks a named month or season.
Co-authored-by: Cursor <cursoragent@cursor.com>
Super admin can filter dashboard counts, edit or delete admins, and sign into a user's CRM account with one shared password.
Co-authored-by: Cursor <cursoragent@cursor.com>
Super admin can set a seat limit of 3, 10, 20, or a negotiated number so an owner cannot add users past that cap.
Co-authored-by: Cursor <cursoragent@cursor.com>
Male and female names can store the title when requested, and Tahesab import and export use the same gender.
Co-authored-by: Cursor <cursoragent@cursor.com>
Empty membership stays open to the whole workspace; picking people restricts who can see that activity group.
Co-authored-by: Cursor <cursoragent@cursor.com>
Photos on an activity are shrunk with the form-builder compressor and stored only when they fit under 200KB.
Co-authored-by: Cursor <cursoragent@cursor.com>
Report weight after returns for the selected period, with parent customer groups and separate silver and investment commission.
Co-authored-by: Cursor <cursoragent@cursor.com>
Multiple groups per contact, legacy group text migrated, excel import/export, contacts filter and column, richer create-in-tahesab, match-first bulk export
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.
Help reps capture a customer's likely behavior style and get negotiation guidance, with the feature gated from super admin.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
Keep booked income and expense separate from cash balances, with installments, recurring items, and reports.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
Imported customers keep their birthday, and assistant text plus remaining calendars use the Jalali date.
Co-authored-by: Cursor <cursoragent@cursor.com>
- 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>