Commit Graph
149 Commits
Author SHA1 Message Date
Mahdi 546a7a7e46 fix(web): keep jalali day cells inside calendar panel 2026-10-25 10:05:16 +03:30
Mahdi 48815852fc fix(crm): mesghal by metal, jalali fit, scoped group filters 2026-10-24 22:25:27 +03:30
Mahdi f8128ebe3a fix(tahesab): rename invoice timestamp label to زمان چاپ 2026-10-24 21:54:55 +03:30
MahdiandCursor 6ec7a1a942 fix(tahesab): label invoice timestamp as print date
Rename تاریخ ایجاد to تاریخ چاپ on the asnad invoice preview and PDF.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-24 21:51:32 +03:30
MahdiandCursor 2d690b4c04 feat(tahesab): polish asnad invoice PDF and prior balance
Compute حساب قبل from asnad before this doc date/number, add in-app preview layout, and leave a blank mesghal line for handwriting after print.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-24 21:47:46 +03:30
Mahdi 1ba352f127 fix(tahesab): open invoice PDF window synchronously on click
Awaiting settings before window.open left a blank tab; open about:blank on click then fill via blob URL.
2026-10-24 14:09:46 +03:30
Mahdi f50246dc46 feat(tahesab): PDF invoice export for asnad cards
Add per-document PDF print from account details, plus org invoice settings for logo and texts separate from CRM invoices.
2026-10-24 12:34:02 +03:30
Mahdi 31f45a6a31 fix(acl): simplify data access UI to a single filter
Drop multi-rule OR/AND editing; one all-or-filter form per section with clear hints.
2026-10-22 13:13:59 +03:30
Mahdi 73c87b8be4 fix(acl): keep empty draft rules and clarify OR/AND hint
Empty rules were stripped on re-parse so Add rule looked broken; editor now keeps drafts until filled.
2026-10-22 12:18:05 +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
MahdiandCursor 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 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 9a86f63f48 feat: let the Jalali date picker jump to any month or year from its title 2026-10-20 14:47:25 +03:30
Mahdi be7ae0a1d8 fix: keep the SMS credit chip pastel green when the balance is healthy 2026-10-20 10:25:38 +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
MahdiandCursor 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
MahdiandCursor 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
MahdiandCursor 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
MahdiandCursor 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
MahdiandCursor 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
MahdiandCursor 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
MahdiandCursor 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
MahdiandCursor 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
MahdiandCursor 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
MahdiandCursor 61d17c5cea fix: persist the prior-archive cutoff date when the owner changes it
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 16:31:19 +03:30
MahdiandCursor 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
MahdiandCursor e86841fc60 feat(web): add prior archive promote actions
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 17:28:57 +03:30
MahdiandCursor 5069647f79 Add prior archive team settings UI
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 17:20:28 +03:30
MahdiandCursor 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
MahdiandCursor 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
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 c04582072d fix: drop the unused button import that blocked the type check
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 21:08:14 +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 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
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 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
MahdiandCursor 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
MahdiandCursor 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
MahdiandCursor 910c7f51b0 fix(web): load pipeline merge preview when wizard opens
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 21:59:46 +03:30
MahdiandCursor fd6e79c15d feat(web): pipeline merge wizard
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 20:55:14 +03:30
Mahdi faac26d07d club home redesign; deal multi-select delete; anchored card menus 2026-10-12 17:59:07 +03:30
Mahdi a2b01f787e club home redesign; deal card menu anchored to button + delete 2026-10-12 14:54:32 +03:30
Mahdi 8af78047d9 club home redesign; deal card menu: delete with confirmation 2026-10-12 12:39:52 +03:30
Mahdi b43ed68e82 feat(automations): multi-option form-field conditions (all / any / none / exact) 2026-10-11 17:26:17 +03:30
Mahdi f4398cdb3e fix(web): mobile automation canvas/inspector, compact activity row, timestamped comments 2026-10-11 16:48:37 +03:30