safavimohadeseh78
bdf70a4c05
feat: automatic instant Jibit verification on customer profile update without admin manual approval
2026-11-10 14:33:09 +03:30
safavimohadeseh78 and Cursor
487d899ded
feat(admin): gift card codes usage report API
...
Expose codes-usage-report endpoint with per-code usage counts and filter-aware summary for admin reporting.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-10 11:48:23 +03:30
safavimohadeseh78
885e51a79b
feat: add deposit receipt upload and admin approval/rejection workflow with SMS
2026-11-08 13:26:28 +03:30
safavimohadeseh78
808c272e0c
fix: resolve copper unit kilogram display and asset valuation calculations
2026-11-07 12:24:19 +03:30
safavimohadeseh78
7dd5304638
feat: shayegan inbound charges workflow and copper kilogram unit enforcement
2026-11-05 17:15:38 +03:30
safavimohadeseh78 and Cursor
e65b8053fd
fix(customer): use next free id instead of stale AUTO_INCREMENT after manual id edits
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-05 11:20:24 +03:30
safavimohadeseh78
9ec71efcbb
change accounting-number
2026-11-04 11:56:53 +03:30
safavimohadeseh78 and Cursor
21da78943c
feat(price): broadcast world copper and free-dollar ton and kilo quotes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-03 19:57:36 +03:30
safavimohadeseh78 and Cursor
9769f2ffad
feat(convert): let customers list and change pending requests
...
History is limited to the signed-in customer. Update and delete only apply while the request is still pending.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-03 13:04:08 +03:30
safavimohadeseh78 and Cursor
7b81adc096
fix(price-trigger): store the selected product instead of defaulting to gold
...
Only a real numeric product id is saved, and an empty alert title no longer falls back to gold.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-02 18:20:13 +03:30
safavimohadeseh78 and Cursor
e0216d35a6
fix(shayegan): return the document list in the shared table shape
...
The admin table expects rows and query from TableEngine instead of a custom page payload.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-02 13:24:01 +03:30
safavimohadeseh78 and Cursor
97865a98fc
fix(shayegan): register customers as floating detail jobs
...
Customer accounts are not sub-accounts of moin 12101. Send Job/Put with JobNumber moin plus customer id.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-02 13:05:53 +03:30
safavimohadeseh78 and Cursor
3b689a24f6
fix(shayegan): build the account number as moin plus customer id
...
Customer 530 with moin 12101 is sent as 12101530 again.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-02 11:49:47 +03:30
safavimohadeseh78 and Cursor
77a448e4e1
fix(shayegan): send the account number as customer id plus moin
...
Hesabgar kept generating a number when UpdateKind was 3. Insert with account type 1 and send 53012101.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-02 11:35:33 +03:30
safavimohadeseh78
8ccdea99c8
.
2026-11-02 11:21:36 +03:30
safavimohadeseh78 and Cursor
1cd6c61e0f
fix(shayegan): send the customer detail code on account create
...
Hesabgar fails when it must invent the account number. Send the subsidiary code plus the customer id as AccountNumber.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-02 10:57:57 +03:30
safavimohadeseh78 and Cursor
c96e5820fe
feat(convert): text the customer when a convert request is approved or rejected
...
The message goes out after the result is saved, and a send failure does not undo the approval or rejection.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-01 13:44:48 +03:30
safavimohadeseh78
3f59af5a6d
change copperConvertPage
2026-11-01 12:42:14 +03:30
safavimohadeseh78
9528056036
feat(shayegan): per-product item code and auto customer Account/Put
2026-10-28 16:51:47 +03:30
safavimohadeseh78
25ee47b473
digipay
2026-10-20 10:11:03 -04:00
safavimohadeseh78
f26fd1d86e
changes of giftCard page
2026-10-20 12:09:20 +03:30
safavimohadeseh78
755243bfa2
Administrator Access
2026-10-20 10:52:02 +03:30
safavimohadeseh78
a5f3b3b4b3
.
2026-10-20 10:26:45 +03:30
safavimohadeseh78
4d0f0f8c8d
fix(auth): require verified identity for wallet and gift card
2026-10-20 09:10:01 +03:30
safavimohadeseh78
b91dbccb3d
final changes
2026-10-19 12:50:26 +03:30
safavimohadeseh78
489662eb38
fix bug of main-page for guest
2026-10-17 14:10:11 +03:30
safavimohadeseh78
8b13908bac
shayegan
2026-10-17 11:23:03 +03:30
safavimohadeseh78
5b431c64a6
set log for test shayegan
2026-10-17 10:28:01 +03:30
safavimohadeseh78
f1c68d955d
.
2026-10-06 13:40:00 +03:30
safavimohadeseh78 and Cursor
a42261c06e
feat(accounting): add Shayegan as fixed boursecu provider
...
Wire outbound Invoice/Document sync after confirmed ops, store sync status with timeout lock, and keep SQL credentials out of frontend responses.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-05 17:12:43 +03:30
safavimohadeseh78
698fbed805
change gift-card
2026-09-21 11:09:40 +03:30
safavimohadeseh78
ba2ac5aefe
change the giftcard logic
2026-09-20 15:48:53 +03:30
safavimohadeseh78
aecbd5b3bf
changes of giftcard
2026-09-12 10:12:43 +03:30
safavimohadeseh78
f3202ee89e
feat(giftcard): redeem metal unit=2 into main wallet gold
2026-09-09 20:58:24 +03:30
safavimohadeseh78
0fa2b4d1f5
feat(giftcard): add customer giftcard/mine endpoint; fix admin/app password digit normalization
2026-09-09 16:57:20 +03:30
safavimohadeseh78
741faa38fb
.
2026-09-08 14:06:28 +03:30
safavimohadeseh78
7cd7261055
mamad
2026-09-06 20:07:26 +03:30
safavimohadeseh78 and Cursor
37b94ed32a
Add create migrations for giftcards and giftcard_codes so new installs get both tables.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 19:22:53 +03:30
mohmdsdg
5c955a06a3
fixed bug of transaction
2026-09-06 15:29:11 +03:30
mohmdsdg and Cursor
c7ca410b31
fix(wallet): allow discharging leftover fractional count-product gold
...
Admin charge can now wipe the exact remaining balance when a count product has a leftover decimal amount.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 13:40:52 +03:30
mohmdsdg and Cursor
034d18b690
fix(orders): cover with colleague only for main_wallet_products
...
Silver and other non-main products settle locally instead of posting to Montzar.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 11:49:20 +03:30
mohmdsdg and Cursor
4ef2de8583
fix(products): force direct_price=1 when saving a manual price
...
Keeps weight-based live enrich from replacing an explicit stored mid price.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 11:38:46 +03:30
mohmdsdg and Cursor
00b23ac404
feat(tahesab,colleague): push app balance to Tahesab and always wait callback
...
Add admin decision to write app wallet onto Tahesab even when zero, always await colleague callback regardless of the wait switch, and SMS admins on colleague reject.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 22:30:56 +03:30
mohmdsdg and Cursor
8cee34bfba
feat: landing settings, instant withdraw deduct, and OTP site URL
...
Add has_landing plus landing_* deploy keys, deduct balance on withdraw request, keep app_url for SMS login links, and clarify Zarin rial wallet document titles.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 17:01:39 +03:30
mohmdsdg and Cursor
1c7ea16300
fix(sse): send per-product trade_open from server trading hours
...
The list stream must tell clients whether each product is open so the device clock cannot reopen a closed shop.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 12:58:14 +03:30
mohmdsdg and Cursor
166764d6b8
fix(sse): isolate price stream inbox per tenant
...
Shared Redis global inbox mixed other shops' product lists into this catalog and made the grid jump.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 10:58:43 +03:30
mohmdsdg and Cursor
e4e9c74872
fix(product): separate list and TV visibility toggles
...
Product active toggle now drives show_in_list; TV has its own endpoint and no longer requires active.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 10:16:35 +03:30
mohmdsdg and Cursor
f3eaf91559
feat(pargar): prune inbound logs via MySQL INSERT trigger
...
Run one-time overflow cleanup on migrate and keep mande/document success
rows capped at 2000 with an AFTER INSERT trigger, without cron or manual SQL.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 20:24:44 +03:30
mohmdsdg and Cursor
3b7db1eb72
feat(tahesab): reset local success flags when remote docs were wiped
...
Clear tahesab_id on locally successful rows so they re-enter the send queue without touching panel customer codes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 13:43:16 +03:30
mohmdsdg and Cursor
d65bbce791
fix(settings): resolve superadmin domain from Origin before API host
...
Split frontends like my.goldarvin.ir were waiting on 404 retries for the API hostname, which made get_settings take ~16s.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 10:55:58 +03:30