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 and Cursor
cb5944e767
fix(finance): shared treasury layout so tab switches stop jumping
...
Keep title and nav mounted in TreasuryLayout with stable header height, and finish Ant form chrome (MoneyInput, Jalali) on finance pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-21 21:47:00 +03:30
Mahdi
23ae273232
feat(contacts): compact layout, mobile filter sheet and redesigned cards
2026-10-21 20:01:16 +03:30
Mahdi
1c2da34983
fix: persist and re-apply contact saved filters correctly
2026-10-21 18:46:12 +03:30
Mahdi
50d7cad66e
feat: multi-select contacts filter panel for groups sources and mood
2026-10-21 18:07:21 +03:30
Mahdi
29d99cbded
feat: customer groups for people and companies with tahesab group sync and bulk register
...
Multiple groups per contact, legacy group text migrated, excel import/export, contacts filter and column, richer create-in-tahesab, match-first bulk export
2026-10-21 17:16:31 +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
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
b731fe43aa
fix: fold the activity board picker and its actions into one dropdown
2026-10-20 17:59:34 +03:30
Mahdi
e6aa4c64f0
feat: group activities into boards with their own stages, like sales pipelines
...
Existing stages and activities move into a default board per environment; new activities pick a board in the form.
2026-10-20 17:23:27 +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
bb8fd489de
fix: let owners and admins change a user's role from the edit-user modal
2026-10-20 12:50:32 +03:30
Mahdi
adb63447ca
fix: stop Tahesab imports from stealing links between shared-mobile customers
...
List all Tahesab customers in one paginated table with a page-size picker instead of 2000-code pages.
2026-10-20 12:00:11 +03:30
Mahdi
c1b38e1737
feat: filter Tahesab sync results to customers not yet imported
2026-10-20 11:07:58 +03:30
Mahdi
bbbedc6059
fix: polish SMS header chip and add deposit info in adm panel
...
Tighten the wallet chip layout and let super-admins set charge deposit details shown in the header charge modal.
2026-10-19 21:47:17 +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
f15ebb72ea
fix: let only the owner set logout time and move the attendance tab
2026-10-19 13:54:09 +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
3863c5e7d1
fix: hide role permissions for modules disabled in super admin
2026-10-19 12:20:52 +03:30
Mahdi and Cursor
fddf22d7fe
fix: open the card menu from the three-dot button
...
Anchor the activity and deal menus to the button so they show beside the card.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-19 11:40:25 +03:30
Mahdi and Cursor
ada9a1f21f
fix: show activity board columns again
...
Give the kanban the remaining page height so the columns are no longer collapsed.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-19 11:18:19 +03:30
Mahdi and Cursor
2f11105628
fix: keep customer profile tabs from overlapping on mobile
...
Let the tab row scroll sideways so long labels stay readable.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-19 09:40:59 +03:30
Mahdi and Cursor
36eda8653e
merge: bring Ant Design UI from dev into main
...
Keep the design refresh together with DISC, the sales copilot, and treasury behavior.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 21:33:56 +03:30
Mahdi and Cursor
8fdd5147a5
feat(web): migrate finance treasury pages to Ant Design Vue
...
Replace legacy Ui* chrome on treasury routes with Ant layout, and polish mobile incomes stats colors plus nav visibility.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 21:06:18 +03:30
Mahdi and Cursor
002f697dfe
feat: add DISC profiles and a sales copilot as an org module
...
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 >
2026-10-18 21:04:26 +03:30
Mahdi and Cursor
96befd3867
feat: add treasury audit, attachment download, and installment SMS
...
Let cheque clearance pick a cash account and export income, expense, and installment lists to Excel.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 19:59:24 +03:30
Mahdi and Cursor
b25b5b125a
fix(web): resolve vue-tsc errors blocking push of Ant migration
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 19:48:16 +03:30
Mahdi and Cursor
4abab55a6b
feat(web): migrate CRM screens to Ant Design Vue with central theme
...
Adopt ant-design-vue and a shared antdTheme for leads, pipeline, invoices, and shared form controls under strict single-page governance.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 19:39:59 +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
ab538b8304
feat: add internal finance ledger for accounts, claims, and payroll
...
Keep booked income and expense separate from cash balances, with installments, recurring items, and reports.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 18:49:49 +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
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
960e01938d
fix(web): apply prior lens on user ProfileView timeline
...
Filter my-desk activities and deals by archive cutoff so current work stays clean.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-17 19:12:48 +03:30
Mahdi and Cursor
3fb5f32ac3
fix: align activity badge and person profile with prior lens
...
Count nav badge for desk=mine, always apply activity prior filter on person records, and stop loading prior=all deals on profiles.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-17 18:56:44 +03:30
Mahdi and Cursor
e86841fc60
feat(web): add prior archive promote actions
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-17 17:28:57 +03:30
Mahdi and Cursor
177e5cc31b
fix: keep list menus on screen and clip long activity subtitles
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-17 13:26:11 +03:30
Mahdi and Cursor
2c7c943802
feat: allow bulk select and delete on activities and deal list
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-17 12:47:07 +03:30
Mahdi and Cursor
a494b5308e
fix: make the user activity log readable and show Montact
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 14:18:56 +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 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
2cc81bb596
feat: keep deletions restorable and confirm a pipeline's deals before it is removed
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 22:23:09 +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
13ee70764b
feat: show this month's birthdays and send a greeting SMS
...
Each owner sees their customers born this Jalali month and can text a custom greeting.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 19:55:11 +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
5f4cc47c41
fix: share the dashboard assistant and count leads from data
...
The hero ask box now uses the same confirm-before-create path as the assistant, count questions use real filters, and lead mobile, Jalali follow-ups, and rial labels stay consistent.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 14:45:29 +03:30
Mahdi and Cursor
0e420a443f
fix: keep deal edits and right-align club leaderboard
...
Empty product lists were wiping the manual amount on update, and follow-ups were only created for new deals. Leaderboard rows were laid out left-to-right on an RTL page.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 11:38:59 +03:30
Mahdi and Cursor
6b4bd0b03e
fix(web): drop unused merge wizard props after preview load fix
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 22:02:56 +03:30
Mahdi and Cursor
609ce3d006
rename pipeline settings hub card to تنظیمات مسیر فروش
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 21:46:04 +03:30
Mahdi and Cursor
fd6e79c15d
feat(web): pipeline merge wizard
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 20:55:14 +03:30