| Rev |
Age |
Author |
Path |
Log message |
Diff |
| 37954 |
1 h 12 m |
amit |
/trunk/profitmandi-fofo/src/main/ |
Invalid GSTINs screen for Accounts to revalidate and re-enable billing
Lists stores flagged gst_invalid (NIC refused their GSTIN) with the NIC reason and date.
Revalidate & enable (Accounts category only) does a live GSTIN lookup and clears the
flag only when the portal returns Active; otherwise shows why it is still invalid.
Menu "Invalid GSTINs" under Partner Reports, action class invalid-gstin-stores, granted
like Credit Note (272) - inserted by claude-data/sql-migrations/store_gst_invalid_flag_20261023.sql.
Needs the matching dao commit. jsVersion 448 -> 449. |
|
| 37952 |
2 h 16 m |
ranu |
/trunk/profitmandi-fofo/src/main/ |
offer radar gateway time out fixed |
|
| 37950 |
3 h 21 m |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
fix(catalog): mark Brand Identifier column optional in catalog upload template |
|
| 37945 |
8 h 6 m |
amit |
/trunk/profitmandi-fofo/src/main/ |
fix(catalog): serve bulk upload template with Brand Identifier column
Download Template linked to /download/catalog-template.xls which 404s.
Add GET /catalog/template.xlsx generating the 21-column loader layout
(column U = Brand Identifier, mandatory for flagged smartphone brands). |
|
| 37936 |
1 d 3 h |
amit |
/trunk/profitmandi-fofo/src/main/ |
Store status lifecycle: fofo store pages and endpoints
- Pause / un-pause / suspend endpoints with a mandatory reason, status history; activate, temporary
activate and close go through StoreStatusService
- Active stores page lists ACTIVE + PAUSED with status badges; inactive page lists SUSPENDED + CLOSED;
buttons shown by the viewer's permissions
- LOI revival: a SUSPENDED store comes back on the same code; a CLOSED store gets a new code at store
creation (no longer reopened)
- JS version 447 |
|
| 37931 |
1 d 6 h |
amit |
/trunk/profitmandi-fofo/src/main/ |
feat(credit): show partner-safe SD Credit inactive message on partner Wallet page (needs dao r37930) |
|
| 37927 |
1 d 8 h |
amit |
/trunk/profitmandi-fofo/src/main/ |
feat(credit): show active/inactive reason + logs popup; CEO-only reactivation of loan default
- Partners Credit Detail: Active Status column (Active / Inactive - Awaiting Activation | Loan Default | Blocked) with Logs popup (reason + who)
- unblock and gateway Activate now require a reason; switchCreditGateway goes through the loan-default guard
- new sanctioned account starts as AWAITING_ACTIVATION
- needs dao r37926 |
|
| 37924 |
2 d 4 h |
vikas |
/trunk/profitmandi-fofo/src/main/ |
Login Usertype Tracker |
|
| 37921 |
4 d 2 h |
ranu |
/trunk/ |
loi bugs fixed |
|
| 37919 |
4 d 3 h |
ranu |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
commi tfile for offer radar send to all related department |
|
| 37913 |
4 d 12 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/ |
fix(security): fofo /login no longer trusts a request email when Google verification fails
LoginController.login fell back to emailId = emailIdOrMobileNumber whenever
googleTokenUtil.getEmailId(token) threw, so any bogus token plus any email
logged the caller in as that user. Verification failure now fails the login.
GoogleTokenUtil also requires tokeninfo aud == google.api.key (our web client
id, same value the login page uses) and email_verified == true.
Password login is unchanged. |
|
| 37908 |
4 d 12 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/ |
fix(offers): use TxStartTrackingTransactionManager; offer cache eviction moves into the service (dao r37907)
Activate/publishAll no longer evict in the controller; Refresh Cache also clears per-offer caches. |
|
| 37906 |
7 d 5 h |
vikas |
/trunk/profitmandi-fofo/src/main/ |
Corrected PJP Data |
|
| 37905 |
7 d 6 h |
ranu |
/trunk/ |
commi tfile for offer radar send to all related department |
|
| 37903 |
7 d 9 h |
ranu |
/trunk/profitmandi-fofo/src/main/ |
commi tfile for pine lab scrping emi plans |
|
| 37898 |
8 d 4 h |
ranu |
/trunk/ |
commi tfile for pine lab scrping emi plans |
|
| 37897 |
8 d 4 h |
ranu |
/trunk/ |
commi tfile for pine lab scrping emi plans |
|
| 37896 |
8 d 8 h |
aman |
/trunk/ |
Fin services: stop add-brands-to-service timing out
addPartnerServiceAndBrandService looked up partner_service and partner_service_brand
once per store x brand (each SELECT auto-flushing a growing session), so adding a brand
to a service with many brands (e.g. NOTHING on Bajaj) ran past the request timeout.
Load existing rows in two queries and insert only what's missing. The add endpoints
(fofo + web v2) also skip brands already on the service, so a retry can't duplicate them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012RhScihkTVEM5oJgpFkKWn |
|
| 37893 |
8 d 9 h |
aman |
/trunk/ |
AI Assistant leads: split Phone vs Web, route toll-free (IRA_PHONE) leads to Meenakshi
- /add/lead accepts optional source (IRA_PHONE / IRA_WEB), stored in new user.lead.ai_channel.
Anything that isn't IRA_PHONE (incl. missing source) is a web lead; requests without source still work.
- IRA_PHONE leads assigned to Meenakshi (84); other AI leads to a random active BGC L1 excluding her.
Falls back to the pool if she is inactive.
- LeadAiChannelColumnBootstrap adds the column at startup if missing (hbm2ddl is off).
- Lead Dashboard/records show Source as "AI Assistant (Phone)" / "AI Assistant (Web)";
Lead Dashboard filter + CSV; LMS report "AI Leads by Channel" (/lms/dashboard/ai-channel).
- Bump static version to 445 so browsers load the new lead.js.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012RhScihkTVEM5oJgpFkKWn |
|
| 37886 |
10 d 21 h |
ranu |
/trunk/profitmandi-fofo/src/main/ |
offer-radar notification commit |
|