Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
37332 52 d 16 h amit /trunk/profitmandi-fofo/src/main/ Move the offer-circular upload directory off a developer home path

Every upload in production failed with a 400 on mkdirs. offer.circular.dir was
never set in any environment, so it fell back to the code default
/users/amit/uploads/offer-circulars; Tomcat runs as the tomcat user, which cannot
create /users at the filesystem root, and the controller threw "Circular storage
directory is not writable".

- default is now /var/lib/smartdukaan/offer-circulars, a real server path
- offer.circular.dir set explicitly in prod.properties, and pointed at the
developer's own space in dev.properties, since /var/lib needs sudo on a
workstation
- staging.properties deliberately untouched; the new default covers it

The location has two hard constraints, now recorded on the field itself:

- OUTSIDE webapps/. A redeploy wipes anything under it, and
offer_document.stored_path is how both re-ingest and re-download resolve the
PDF, so a wipe breaks them permanently. Stray PDFs are already sitting in
WEB-INF/classes/META-INF on the server from exactly this mistake.
- OUTSIDE any web root. A circular carries the OEM's confidential cashback
economics and must never be servable as a static file. Hence /var/lib rather
than /var/www, whose local precedent /var/www/partner_stats is chmod 777.

Only fofo needs the key: the cron ingest resolves the PDF from
offer_document.stored_path and reads it as root, so 0750 tomcat:tomcat is enough.

Deploying this alone does not fix production - the directory must also exist and
be writable by tomcat.
 
37035 94 d 10 h aman /trunk/profitmandi-fofo/src/main/ AI lead intake in fofo app (deployable via fofo_deploy): add POST /add/lead to fofo LeadController mirroring the profitmandi-web contract (Auth-Token->401, dedup by mobile, NOT-NULL coalesced, stores state+recordingUrl, status=pending, SUCCESS envelope); exclude /add/lead from auth/role/post interceptors in WebConfig; add ai.lead.intake.token to dev/staging/prod (same values as profitmandi-web). Bot repoints host apis.smartdukaan.com -> partners.smartdukaan.com, same path/token/payload.  
36989 100 d 8 h vikas /trunk/profitmandi-fofo/src/main/ Changed mail sender password and Duplicate Req interceptor behavior  
36962 101 d 12 h vikas /trunk/ L4 and Above can now assign beat on same day  
36781 127 d 13 h ranu /trunk/profitmandi-fofo/src/main/ some Enhancements or changes  
36408 165 d 7 h amit /trunk/profitmandi-fofo/src/main/ Sale-return reversal: controller wiring + UI for cancellability gate + INV reject + date filter

PurchaseReturnController:
/return/invoice/process — autoApprove now isIrnCancellable && !isShipped.
!isShipped guard restored: shipped goods route through manual approval
even within 24h, so the physical return goes through CN flow.
/return/invoice/reject/{proId} — new endpoint for finance to reject a
pending INV PRO (sale stands, no inventory/wallet/GST action).
/return/invoice — date filter (fromDate/toDate query params, default
last 30 days) backed by selectByWarehouseIdsAndDateRange. Limit
bumped to 200 to accommodate longer ranges.
receive-debit-note view — passes $requiresFinanceApproval so the
template can render the finance-approval banner when DN's IRN is
past the 24h window.

invoice-return.vm:
Added From/To date inputs + Apply button.
Added Reject button next to Approve & Refund for pending INV PROs.

receive-debit-note.vm:
Added one informational banner (#if $requiresFinanceApproval) above
the receipt form. No layout / JS / submit-URL change.

return.js:
#invoice-return-date-apply handler — POSTs the selected range to
/return/invoice and refreshes the table.
.reject-invoice-return handler — prompts for reason, calls the new
reject endpoint.

dev/staging/prod.properties: feature flag finance.receipt.approval.email.enabled
(default false, flip per env when mail infra is ready).
 
36369 169 d 8 h vikas /trunk/profitmandi-fofo/src/main/ Fix: Sale purchase invoice item quantity calculation  
35879 224 d 8 h ranu /trunk/profitmandi-fofo/ code commit for agent live status 2.0  
35868 224 d 13 h ranu /trunk/profitmandi-fofo/src/main/ code commit for agent live status roll back  
35867 224 d 14 h ranu /trunk/ code commit for agent live status  
35832 228 d 11 h amit /trunk/ Unify property loading: all modules use runtime profile with shared properties from dao, remove duplicated DB/Hibernate/HikariCP/integration keys from module files  
35633 251 d 14 h amit /trunk/ Add hikari.keepaliveTime property to all environment configs  
35597 255 d 6 h amit /trunk/profitmandi-fofo/src/main/resources/META-INF/ Migrate from C3P0 to HikariCP connection pooling

- Replace C3P0 properties with HikariCP settings
- New settings: maximumPoolSize=20, minimumIdle=2, idleTimeout=30s, maxLifetime=30min
 
35441 294 d 8 h amit /trunk/profitmandi-fofo/src/main/resources/META-INF/ Remove duplicate properties - now inherited from shared-*.properties in profitmandi-dao

🤖 Generated with Claude Code
 
35384 298 d 13 h amit /trunk/profitmandi-fofo/src/main/resources/META-INF/ Fixed DP its now purchase - price drop  
33472 840 d 2 h amit.gupta /trunk/profitmandi-fofo/src/main/resources/META-INF/ Fixed Order quantity availability  
32763 1023 d 2 h amit.gupta /trunk/ Minor refactoring  
30223 1655 d 15 h amit.gupta /trunk/profitmandi-fofo/src/main/resources/META-INF/ Fixed ahead issue  
30222 1655 d 15 h amit.gupta /trunk/profitmandi-fofo/src/main/resources/META-INF/ Fixed ahead issue  
30221 1655 d 15 h tejbeer /trunk/profitmandi-fofo/src/main/resources/META-INF/  

Show All