<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SmartDukaan &#x2013; //trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java</title><description>WebSVN RSS feed &#x2013; SmartDukaan</description><lastBuildDate>Thu, 03 Sep 2026 06:38:52 +0530</lastBuildDate><generator>WebSVN 2.8.6-DEV</generator><language>en</language><link>https://svn.smartdukaan.com/log.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;max=40&amp;peg=37513</link><atom:link href="https://svn.smartdukaan.com/rss.php?path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;peg=37513&amp;repname=SmartDukaan" rel="self" type="application/rss+xml" />
<item><pubDate>Tue, 01 Sep 2026 18:46:42 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37513 – notification live</title><description>&lt;div&gt;&lt;strong&gt;ranu – 7 file(s) modified&lt;/strong&gt;&lt;br/&gt;notification live&lt;/div&gt;+ /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/NotificationTargetCriteria.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/dtr/NotificationSchedule.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/dtr/NotificationScheduleRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/dtr/NotificationScheduleRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/js/notification-calendar.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/notification-calendar.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37513&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37513&amp;peg=37513</guid></item>
<item><pubDate>Tue, 01 Sep 2026 12:56:08 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37493 – Fix: scheme item inline date edit fired N duplicate PUTs ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix: scheme item inline date edit fired N duplicate PUTs per click&lt;br /&gt;
&lt;br /&gt;
scheme-details.vm is injected with .html(), which re-executes its inline&lt;br /&gt;
&amp;lt;script&gt;, and a successful save re-injects it - so each load stacked another&lt;br /&gt;
$(document) handler for .edit/.cancel/.save-item-dates. One Save click then&lt;br /&gt;
fired N identical PUT /scheme/item/window, and PostInterceptor rejected all&lt;br /&gt;
but the first with &apos;Duplicate request.&apos; (27 per click in prod today).&lt;br /&gt;
The stacked copies also carried a stale $scheme closure, so a save could&lt;br /&gt;
repaint the container with a previously viewed scheme.&lt;br /&gt;
&lt;br /&gt;
Move the handlers to scheme.js (loaded once via include-scripts.vm) and read&lt;br /&gt;
the scheme id/window from data- attributes on the fragment root, keeping them&lt;br /&gt;
stateless. Fragment is now markup only.&lt;br /&gt;
&lt;br /&gt;
Reuse cleanup while in here:&lt;br /&gt;
- configureMultiselect() replaces 3 near-identical multiselect configs&lt;br /&gt;
- loadBrandsByCategory/loadCatalogDescriptionByBrands take an optional&lt;br /&gt;
  afterRender so the add-item modal reuses them instead of duplicating both&lt;br /&gt;
- toggleItemDateEdit()/initSingleDatePicker() collapse mirrored blocks&lt;br /&gt;
- SCHEME_DETAILS_CONTAINER single-sources the container id&lt;br /&gt;
- drop the template&apos;s duplicate toIsoDateTime (scheme.js already had it)&lt;br /&gt;
- updateSchemeItemWindow() now prefixes context like every other call&lt;br /&gt;
&lt;br /&gt;
Bump jsVersion 409 -&gt; 410.&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/scheme.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/scheme-details.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37493&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37493&amp;peg=37513</guid></item>
<item><pubDate>Mon, 31 Aug 2026 17:55:16 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37480 – mail: correct a wrong claim in r37479 -- the Google ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;mail: correct a wrong claim in r37479 -- the Google app password IS valid&lt;br /&gt;
&lt;br /&gt;
r37479 stated googleMailSender&apos;s app password was rejected. That was wrong. The&lt;br /&gt;
test behind it resolved smtp.gmail.com over IPv6; repeating it over IPv4 with&lt;br /&gt;
the same credential gives AUTH OK on both 465 and 587.&lt;br /&gt;
&lt;br /&gt;
The real fault is not the credential and not the bean config, both of which are&lt;br /&gt;
correct. SMTP from this host works over IPv4 only:&lt;br /&gt;
&lt;br /&gt;
  smtp.gmail.com   IPv4 -&gt; AUTH OK        IPv6 -&gt; 535 5.7.8 Username and Password not accepted&lt;br /&gt;
  smtp-relay       IPv4 -&gt; 250 MAIL FROM  IPv6 -&gt; 550 5.7.1 Invalid credentials for relay&lt;br /&gt;
&lt;br /&gt;
The JVM prefers IPv4, which is the only reason mail leaves this box at all.&lt;br /&gt;
Anything that prefers IPv6 fails on both paths.&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/Application.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37480&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37480&amp;peg=37513</guid></item>
<item><pubDate>Mon, 31 Aug 2026 17:49:38 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37479 – mail: make the relay the default sender, not the Google ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;mail: make the relay the default sender, not the Google identity&lt;br /&gt;
&lt;br /&gt;
Correcting r37474-37476. Those made googleMailSender @Primary on the assumption&lt;br /&gt;
its credentials worked. Tested against the live servers from the prod host:&lt;br /&gt;
&lt;br /&gt;
  googleMailSender  535 5.7.8 Username and Password not accepted (BadCredentials)&lt;br /&gt;
                    -- the app password in the source is no longer valid&lt;br /&gt;
  relay over IPv4   250 OK for MAIL FROM:&amp;lt;&lt;a href=&quot;mailto:noreply@smartdukaan.com&quot;&gt;noreply@smartdukaan.com&lt;/a&gt;&gt;&lt;br /&gt;
  relay over IPv6   550 5.7.1 Invalid credentials for relay&lt;br /&gt;
&lt;br /&gt;
So promoting google would have replaced one broken default with another. The&lt;br /&gt;
relay is what actually delivers today and it becomes &apos;mailSender&apos;. It does not&lt;br /&gt;
authenticate -- Workspace authorises it by allowlisted source IP -- so sending&lt;br /&gt;
as noreply@ is legitimate there and AuthenticatedIdentityMailSender correctly&lt;br /&gt;
leaves it alone.&lt;br /&gt;
&lt;br /&gt;
googleMailSender stays available by qualifier. Point the default back at it once&lt;br /&gt;
a valid app password is issued for &lt;a href=&quot;mailto:sdtech@smartdukaan.com&quot;&gt;sdtech@smartdukaan.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Also noted in the javadoc: the relay allowlist covers the IPv4 address only, so&lt;br /&gt;
anything that prefers IPv6 will be refused.&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/Application.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37479&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37479&amp;peg=37513</guid></item>
<item><pubDate>Mon, 31 Aug 2026 17:19:03 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37476 – mail: delete the dead SendGrid bean from fofo, make the ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;mail: delete the dead SendGrid bean from fofo, make the authenticated identity primary&lt;br /&gt;
&lt;br /&gt;
googleMailSender is now @Primary and answers to &apos;mailSender&apos;. Two senders remain:&lt;br /&gt;
the authenticated Workspace identity and the IP-authorised relay.&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37476&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37476&amp;peg=37513</guid></item>
<item><pubDate>Sat, 29 Aug 2026 13:22:56 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 37458 – LOI payment screenshot: report upload failures instead of reporting the ...</title><description>&lt;div&gt;&lt;strong&gt;aman – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;LOI payment screenshot: report upload failures instead of reporting the field as missing&lt;br /&gt;
&lt;br /&gt;
Submit validated the hidden #payment-sc-docId, but a file input keeps displaying the&lt;br /&gt;
chosen filename regardless of what happens next - so a failed /document-upload left the&lt;br /&gt;
field looking attached to the operator and missing to the validator (&quot;The following&lt;br /&gt;
fields are required: Payment screenshot&quot; on a form that was in fact filled in).&lt;br /&gt;
&lt;br /&gt;
The failure was silent three ways: doAjaxUploadRequestHandler had no error handler; the&lt;br /&gt;
global ajaxError reporter calls bootbox, which loads from cdnjs and throws if that is&lt;br /&gt;
blocked; and the confirm(&apos;Confirm file upload ?&apos;) gate returned false with no trace once&lt;br /&gt;
Chrome&apos;s &quot;prevent this page from creating additional dialogs&quot; box was ticked.&lt;br /&gt;
&lt;br /&gt;
- common.js: optional error callback on doAjaxUploadRequestHandler (additive, opts out of&lt;br /&gt;
  the generic global dialog via suppressGlobalError); uploadErrorMessage() extracts the&lt;br /&gt;
  server&apos;s real reason from the JSON body or the plain-text duplicate-request body;&lt;br /&gt;
  uploadDocument() pre-checks size/type, verifies a document_id actually came back, and&lt;br /&gt;
  reports a message naming the file - .HEIC and .webp get specific guidance;&lt;br /&gt;
  showAlert() falls back to native alert when bootbox is absent.&lt;br /&gt;
- loi-form.js: drop the confirm() gate, &apos;input&apos; -&gt; &apos;change&apos;, and clear the file input&lt;br /&gt;
  whenever the id does not land so the widget can never claim an unuploaded file. Status&lt;br /&gt;
  line under the field (Uploading... / Attached: name / Not attached). Submit now&lt;br /&gt;
  distinguishes not-picked, still-uploading and upload-failed. Same treatment for the&lt;br /&gt;
  OnboardingDocumentTable and mk_brand-fee-collection-details uploads, and the brand-fee&lt;br /&gt;
  dialog names the Attachment field instead of echoing the raw form key.&lt;br /&gt;
- loi-form.vm, pendingForm.vm: accept=&quot;...&quot; on both file inputs plus the status span.&lt;br /&gt;
- FileUploadController: reject empty files, report actual size against the actual limit,&lt;br /&gt;
  and resolveExtension() falls back to the filename when the browser sends a generic MIME&lt;br /&gt;
  type (Android file managers send application/octet-stream for ordinary JPG/PNG/PDF).&lt;br /&gt;
- AppConfig: static resource version 395 -&gt; 396 for the JS change.&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/FileUploadController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/common.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/loi-form.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/loi-form.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/pendingForm.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37458&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37458&amp;peg=37513</guid></item>
<item><pubDate>Sat, 29 Aug 2026 07:31:14 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37455 – Make the KYC state a master-backed dropdown instead of free ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;Make the KYC state a master-backed dropdown instead of free text&lt;br /&gt;
&lt;br /&gt;
fofo-kyc-row.vm and legal-kyc-row.vm captured state as a free-text input, so&lt;br /&gt;
nothing stopped a spelling the master does not hold. That state is resolved back&lt;br /&gt;
through inventory.statemaster by name later, and an unresolvable one cannot be&lt;br /&gt;
turned into a state code. Both now render a $stateNames select, and all five&lt;br /&gt;
render paths in PartnerOnBoardingPanelController supply the list.&lt;br /&gt;
&lt;br /&gt;
panel-listing.js reads these fields positionally, by td index and&lt;br /&gt;
input[type=&apos;text&apos;]. A select does not match that selector, so the value would&lt;br /&gt;
have come back undefined and KYC would have saved a blank state silently -&lt;br /&gt;
both selectors now target the select. Row editing is unaffected: the enable&lt;br /&gt;
toggle uses :input, which covers select.&lt;br /&gt;
&lt;br /&gt;
Bump the asset version for the panel-listing.js change.&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PartnerOnBoardingPanelController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/panel-listing.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/fofo-kyc-row.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/legal-kyc-row.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37455&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37455&amp;peg=37513</guid></item>
<item><pubDate>Tue, 25 Aug 2026 20:30:22 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37400 – Merge the three sale-invoice download endpoints into /invoice/download  generateInvoice, ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 7 file(s) modified&lt;/strong&gt;&lt;br/&gt;Merge the three sale-invoice download endpoints into /invoice/download&lt;br /&gt;
&lt;br /&gt;
generateInvoice, generateInvoices and downloadInvoices differed only in how they&lt;br /&gt;
resolved the order ids and who was allowed to ask; everything after that was the&lt;br /&gt;
same. That drift meant only the single-order download stapled the policy&lt;br /&gt;
certificates, so the same invoice pulled from sale history came out without&lt;br /&gt;
them. One handler now selects by orderId, partner date range (admin only) or the&lt;br /&gt;
caller&apos;s own sale-history search, over reusable resolvers plus a shared&lt;br /&gt;
render-and-respond step. The old URLs stay as deprecated shims.&lt;br /&gt;
&lt;br /&gt;
The admin range download is now fault tolerant - one unbillable order used to&lt;br /&gt;
fail the whole batch.&lt;br /&gt;
&lt;br /&gt;
Remove the commented-out thermal variant of generateInvoice and the unused&lt;br /&gt;
paymentOptionIdPaymentOptionMapUsingPaymentOptions. Bump the asset version for&lt;br /&gt;
the sale.js change.&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/OrderController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/sale.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/order-details.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/sale-details.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/search-order-details.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/search-order.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37400&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37400&amp;peg=37513</guid></item>
<item><pubDate>Thu, 20 Aug 2026 11:21:57 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37369 – Fixed mail sender everywhere</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fixed mail sender everywhere&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/Application.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37369&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37369&amp;peg=37513</guid></item>
<item><pubDate>Wed, 19 Aug 2026 20:33:08 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37365 – Debit note receive: surface the partner-declared condition and warn before ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Debit note receive: surface the partner-declared condition and warn before rejecting&lt;br /&gt;
&lt;br /&gt;
The receive screen defaulted every row&apos;s condition to GOOD regardless of what the&lt;br /&gt;
partner declared, so a warehouse user could not see what they were disagreeing with -&lt;br /&gt;
and the backend treats any disagreement as a rejection of the whole debit note.&lt;br /&gt;
&lt;br /&gt;
- Show &apos;Declared By Partner&apos; per row and preselect the condition to match it, so&lt;br /&gt;
  submitting unchanged is a genuine agreement rather than an accident of the default.&lt;br /&gt;
- A changed row now switches the submit button to &apos;Reject Return&apos;, shows what rejection&lt;br /&gt;
  means (no refund; partner, Logistics, RBM and Sales notified), makes the remark&lt;br /&gt;
  mandatory and confirms before posting.&lt;br /&gt;
- SMTP timeouts raised to 30s connect / 120s read-write; the 10s read timeout was&lt;br /&gt;
  cutting off larger attachment sends.&lt;br /&gt;
- jsVersion 405 -&gt; 406 for the return.js change.&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/receive-debit-note.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37365&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37365&amp;peg=37513</guid></item>
<item><pubDate>Tue, 18 Aug 2026 13:37:58 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37337 – Move offer-circular ingest out of cron and into the portal ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 23 file(s) modified&lt;/strong&gt;&lt;br/&gt;Move offer-circular ingest out of cron and into the portal&lt;br /&gt;
&lt;br /&gt;
The parse now runs in profitmandi-fofo, on a background thread, triggered by the&lt;br /&gt;
upload that produced the document.&lt;br /&gt;
&lt;br /&gt;
Why: splitting one feature across two artifacts with independent deploy cadences&lt;br /&gt;
cost a full day. fofo shipped, cron did not, and a valid upload sat in DRAFT with&lt;br /&gt;
nothing on the server able to parse it - the deployed cron jar contained none of the&lt;br /&gt;
ingest classes. One 9-page PDF a month never justified a batch tier, and the portal&lt;br /&gt;
already ships two PDF stacks, so the isolation argument for keeping PDFBox out was&lt;br /&gt;
weaker than it looked.&lt;br /&gt;
&lt;br /&gt;
- 13 parser classes move verbatim from com.smartdukaan.cron.offercircular to&lt;br /&gt;
  com.spice.profitmandi.web.offercircular. No logic changed.&lt;br /&gt;
- CircularIngestScheduler becomes CircularIngestRunner: the @Scheduled(every 5 min)&lt;br /&gt;
  entry point and the offer.circular.ingest.enabled flag are gone, replaced by a&lt;br /&gt;
  single-threaded daemon executor. All claim, ingest and notification logic is&lt;br /&gt;
  unchanged.&lt;br /&gt;
- Upload hands the document id to the runner AFTER COMMIT, not inline. The DRAFT row&lt;br /&gt;
  is written inside the request transaction; a worker starting immediately would race&lt;br /&gt;
  that commit, find nothing to claim and silently do nothing - which is precisely the&lt;br /&gt;
  stuck-on-DRAFT symptom this change removes.&lt;br /&gt;
- The guarded claim is KEPT even though there is now one trigger. It still stops a&lt;br /&gt;
  double-submit, a second portal node, and a re-ingest racing an in-flight parse.&lt;br /&gt;
- Re-ingest parses immediately instead of queueing for a scheduler.&lt;br /&gt;
- The stall reaper runs when the review screen loads. There is no timer here any&lt;br /&gt;
  more, and a document stranded by a redeploy mid-parse only matters when somebody&lt;br /&gt;
  looks for it - which matters more now the parse lives in the web application.&lt;br /&gt;
- tabula moves to this module with its exclusions intact, as does the&lt;br /&gt;
  dumpCircularClasspath helper the local ingest harness depends on.&lt;br /&gt;
- Screen no longer claims &quot;the ingest job runs every 5 minutes&quot;, which was untrue the&lt;br /&gt;
  moment cron stopped being the route; poll interval 15s -&gt; 3s to match a parse that&lt;br /&gt;
  takes seconds. jsVersion 404 -&gt; 405.&lt;br /&gt;
- offer.circular.review.url added here, since the runner sends that email now.&lt;br /&gt;
&lt;br /&gt;
Verified: full ingest of the Aug&apos;26 circular through the relocated code is identical&lt;br /&gt;
to the reference - 239 offers, 663 products, 279 AUTO_EXACT, 361 benefits, 511&lt;br /&gt;
tenures, 911 bank links. ProductNamesTest 11/11 in its new home.&lt;/div&gt;~ /trunk/profitmandi-fofo/build.gradle&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/OfferCircularController.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/BankTextParser.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/BenefitParser.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/CatalogIndex.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/CircularExtractor.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/CircularIngestRunner.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/CircularIngestService.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/CircularRow.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/FootnoteParser.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/ProductAliases.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/ProductMatcher.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/ProductNames.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/ScopeConfig.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/SequenceRatio.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/offercircular/TenureParser.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/dev.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/offer-circular-review.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web/offercircular&lt;br /&gt;+ /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web/offercircular/ProductNamesTest.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37337&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37337&amp;peg=37513</guid></item>
<item><pubDate>Tue, 18 Aug 2026 12:12:09 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37335 – Show offer circular ingest state on the review screen  ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Show offer circular ingest state on the review screen&lt;br /&gt;
&lt;br /&gt;
Upload and parsing run in different processes - the portal stores the PDF as DRAFT&lt;br /&gt;
and the cron job claims it minutes later - so the screen looked identical before and&lt;br /&gt;
after a successful ingest. A reviewer had no way to tell &quot;not parsed yet&quot; from&lt;br /&gt;
&quot;parsed and produced nothing&quot;, and a FAILED circular showed nothing at all.&lt;br /&gt;
&lt;br /&gt;
- the selected circular&apos;s state is shown as queued / parsing / parsed / failed,&lt;br /&gt;
  with the recorded reason on failure and the ingest summary on success&lt;br /&gt;
- while it is DRAFT or PROCESSING the screen polls every 15s and pulls in the rows&lt;br /&gt;
  the moment the parse lands. Polling stops as soon as the state settles, so it&lt;br /&gt;
  cannot spin forever, and a transient error keeps waiting rather than giving up&lt;br /&gt;
- jsVersion 403 -&gt; 404, since offer-circular-review.js is already being served and&lt;br /&gt;
  this is a modification rather than a new file&lt;br /&gt;
&lt;br /&gt;
Pairs with the stall reaper: a circular abandoned mid-parse is now both recovered&lt;br /&gt;
and explained on screen instead of sitting silently in PROCESSING.&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/offer-circular-review.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/offer-circular-review.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37335&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37335&amp;peg=37513</guid></item>
<item><pubDate>Mon, 17 Aug 2026 17:46:07 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37327 – super retailer club 5 live</title><description>&lt;div&gt;&lt;strong&gt;ranu – 21 file(s) modified&lt;/strong&gt;&lt;br/&gt;super retailer club 5 live&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/FofoOrderRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/FofoOrderRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/DashboardController.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/1 GM Gold Coin.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/accessories.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/calendar_.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/CURRENTLY AIMING FOR.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/download.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/Group 4.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/Maharaja.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/Mobile And tv.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/Raftaar.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/Shuruaat.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/Tarakki.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/Target.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/TOTAL ACHIEVEMENT.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/Udaan.png&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/images/src-images/Vijeta.png&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/dashboard1.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37327&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37327&amp;peg=37513</guid></item>
<item><pubDate>Mon, 10 Aug 2026 10:14:54 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37270 – Hot deals admin: activated -&gt; fresh (labels, params, row editors); ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;Hot deals admin: activated -&gt; fresh (labels, params, row editors); manual Push to Solr for selected models (checkbox selection + /hotDeals/pushSolr calling FofoSolr.updateSingleCatalog directly, bypasses prod-gated event so Category team curation is searchable immediately); jsVersion 395&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/HotDealController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/hot-deals.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/hot-deals-table.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/hot-deals.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37270&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37270&amp;peg=37513</guid></item>
<item><pubDate>Thu, 06 Aug 2026 15:38:43 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37256 – feat: hot-deals admin — all-brands searchable/paginated table  - /hotDeals/all ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;feat: hot-deals admin — all-brands searchable/paginated table&lt;br /&gt;
&lt;br /&gt;
- /hotDeals/all replaces per-brand /hotDeals table: server-side search (model/&lt;br /&gt;
  brand), 20/page with prev/next, Brand column, newest window first&lt;br /&gt;
- /hotDeals/slots: active-slot usage per brand (n / 15) for the add form&lt;br /&gt;
- jsVersion 394&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/HotDealController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/hot-deals.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/hot-deals-table.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/hot-deals.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37256&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37256&amp;peg=37513</guid></item>
<item><pubDate>Thu, 06 Aug 2026 10:54:48 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37246 – Hot deals admin: five mandatory attribute inputs (no defaults) on ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;Hot deals admin: five mandatory attribute inputs (no defaults) on add + inline row edit, table columns, updateDeal params; jsVersion 393&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/HotDealController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/hot-deals.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/hot-deals-table.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/hot-deals.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37246&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37246&amp;peg=37513</guid></item>
<item><pubDate>Tue, 04 Aug 2026 16:04:16 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37222 – external api v2: Technology &gt; External API Clients admin screen ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;external api v2: Technology &gt; External API Clients admin screen (read-only client/store/category mappings), jsVersion 392&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ApiClientAdminController.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/model/ApiClientAccessModel.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/js/api-client-access.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/api-client-access.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/include-scripts.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37222&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37222&amp;peg=37513</guid></item>
<item><pubDate>Tue, 04 Aug 2026 13:02:06 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37212 – Hot Deals: Category-team page under Catalog menu - brand-wise hot ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Hot Deals: Category-team page under Catalog menu - brand-wise hot deal models with inline date editing (manage-hot-deals)&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/HotDealController.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/js/hot-deals.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/hot-deals-table.vm&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/hot-deals.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/include-scripts.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37212&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37212&amp;peg=37513</guid></item>
<item><pubDate>Fri, 31 Jul 2026 17:39:11 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 37194 – LOI OTP: report real send outcome instead of always &apos;OTP ...</title><description>&lt;div&gt;&lt;strong&gt;aman – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;LOI OTP: report real send outcome instead of always &apos;OTP Sent Successfully!&apos;&lt;br /&gt;
&lt;br /&gt;
The Send OTP button showed success for any HTTP 200, including the daily-cap&lt;br /&gt;
failure where the controller returned &apos;Something went wrong..&apos;. Ops could not&lt;br /&gt;
tell a working send from a broken one, so genuine failures were invisible.&lt;br /&gt;
&lt;br /&gt;
- OTPResponse: add &apos;sent&apos; flag. result=true did not mean anything was&lt;br /&gt;
  dispatched - the 2-minute resend throttle returns the previous OTP without&lt;br /&gt;
  contacting the gateway.&lt;br /&gt;
- OtpProcessor: set sent=true only on branches that actually dispatch.&lt;br /&gt;
- LoiFormController.sentLoiAcceptanceOtp: return {status, sent, message} with&lt;br /&gt;
  the processor&apos;s real reason, wrap generateOtp in try/catch so a dispatch&lt;br /&gt;
  exception is logged and reported instead of surfacing as a generic 500, and&lt;br /&gt;
  log loiId/result/sent/reason.&lt;br /&gt;
- loi-form.js: check the payload; distinct green/amber/red states, re-enable&lt;br /&gt;
  the button on failure instead of leaving it stuck on &apos;Sending...&apos;.&lt;br /&gt;
- common.js: optional error callback on doAjaxRequestHandler /&lt;br /&gt;
  doPostAjaxRequestHandler (additive; existing callers unchanged).&lt;br /&gt;
- AppConfig: static resource version 389 -&gt; 390 for the JS change.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/OtpProcessor.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/OTPResponse.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/LoiFormController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/common.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/loi-form.js&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37194&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37194&amp;peg=37513</guid></item>
<item><pubDate>Thu, 30 Jul 2026 17:11:50 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37187 – PJP agenda config: sidebar action_class handler in Sales PJP menu; ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;PJP agenda config: sidebar action_class handler in Sales PJP menu; jsVersion 389&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/lead.js&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37187&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37187&amp;peg=37513</guid></item>
<item><pubDate>Thu, 30 Jul 2026 12:29:46 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37171 – Wallet page: show sanctioned credit limit tile alongside utilization/total due; ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;Wallet page: show sanctioned credit limit tile alongside utilization/total due; format amounts via currency class + formatCurrency on load; jsVersion 388&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/WalletController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/common.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/wallet-details.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/wallet-history-paginated.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37171&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37171&amp;peg=37513</guid></item>
<item><pubDate>Thu, 30 Jul 2026 12:24:50 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37169 – Remove &apos;Additional outlet for same GST&apos; checkbox (guard simplified to ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Remove &apos;Additional outlet for same GST&apos; checkbox (guard simplified to limbo-store rule; parallel outlets pass automatically); jsVersion 387&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/update-retailer-details.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/retailer-details.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37169&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37169&amp;peg=37513</guid></item>
<item><pubDate>Wed, 29 Jul 2026 19:36:39 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37161 – level l1 to l9 commited</title><description>&lt;div&gt;&lt;strong&gt;ranu – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;level l1 to l9 commited&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37161&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37161&amp;peg=37513</guid></item>
<item><pubDate>Wed, 29 Jul 2026 16:30:15 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37158 – Retailer-details form: &apos;Additional outlet for same GST&apos; checkbox feeding allowAdditionalOutlet ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Retailer-details form: &apos;Additional outlet for same GST&apos; checkbox feeding allowAdditionalOutlet onboarding-guard override; jsVersion 385&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/update-retailer-details.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/retailer-details.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37158&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37158&amp;peg=37513</guid></item>
<item><pubDate>Mon, 27 Jul 2026 17:17:34 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 37151 – Fix &apos;Mobile already exist&apos; on retailer save + store code ...</title><description>&lt;div&gt;&lt;strong&gt;aman – 4 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix &apos;Mobile already exist&apos; on retailer save + store code not linking to onboarding panel. (1) RetailerServiceImpl: extract linkStoreCodeToOnboardingPanel and call it for EXISTING stores too, so re-saving Retailer Details heals a panel missing its code (never overwrites, requires verification YES, best-effort). (2) retailer-details form now identifies the partner by the server-rendered loadedUserEmail hidden field instead of the editable email input, so editing email/mobile updates the loaded account instead of tripping the duplicate-mobile check. Bump js version to 384. Case: onboarding 1929 / UKDH1623.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/RetailerServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/update-retailer-details.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/retailer-details.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37151&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37151&amp;peg=37513</guid></item>
<item><pubDate>Thu, 23 Jul 2026 15:56:08 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37135 – Price hike manual processing UI for finance: hike rows (amount&lt;0) ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Price hike manual processing UI for finance: hike rows (amount&amp;lt;0) on incomplete price-drop screen show single Process Hike button wired to GET /priceHike/process/{id} (idempotent recovery sweep); drop-payout buttons and payout input hidden on hike rows; jsVersion 383&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/price-drop.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/price-drop-table.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37135&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37135&amp;peg=37513</guid></item>
<item><pubDate>Thu, 23 Jul 2026 13:18:48 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37133 – Bulk approve vendor catalog pricing requests by re-uploading the pricing ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 4 file(s) modified&lt;/strong&gt;&lt;br/&gt;Bulk approve vendor catalog pricing requests by re-uploading the pricing file on the approval queue page: new /bulkVendorCatalogPricing/verify endpoint, upload control + JS handler on pending-requests page, single-row approve branch moved to service (approveVendorCatalogPricingLog); bump jsVersion to 381&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/VendorController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/vendor-catalog.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/vendor-catalog-pricing-request.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37133&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37133&amp;peg=37513</guid></item>
<item><pubDate>Thu, 16 Jul 2026 16:14:52 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37105 – Add non-prod password reset page for auth users and partners ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 4 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add non-prod password reset page for auth users and partners (HRMS); bump jsVersion to 380&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/AuthUserController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/authUser.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/reset-password.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37105&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37105&amp;peg=37513</guid></item>
<item><pubDate>Thu, 16 Jul 2026 15:18:26 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37101 – Guard blocked-brand mapping against null brand (server + JS); bump ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Guard blocked-brand mapping against null brand (server + JS); bump jsVersion to 379&lt;br /&gt;
&lt;br /&gt;
getBlockBrandMappping now rejects null/blank/&quot;null&quot;/&quot;0&quot; brand before delete+persist,&lt;br /&gt;
and retailer-block-brands.js alerts instead of submitting when no brand is selected.&lt;br /&gt;
Stops literal &quot;null&quot; rows in dtr.retailer_block_brands.&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/RetailerController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/retailer-block-brands.js&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37101&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37101&amp;peg=37513</guid></item>
<item><pubDate>Mon, 13 Jul 2026 18:33:04 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37072 – PO creation: alert on missing approved vendor price + JS ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;PO creation: alert on missing approved vendor price + JS version bump 378 (T10); POST whitespace sanitizer deserializer + VendorController search fix (T9.5)&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/VendorController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/warehouse-purchase.js&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37072&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37072&amp;peg=37513</guid></item>
<item><pubDate>Fri, 10 Jul 2026 17:19:39 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37064 – edit lead on bgc can schedule</title><description>&lt;div&gt;&lt;strong&gt;ranu – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;edit lead on bgc can schedule&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/lead.js&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37064&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37064&amp;peg=37513</guid></item>
<item><pubDate>Thu, 09 Jul 2026 19:28:49 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37050 – serching work globally lead management</title><description>&lt;div&gt;&lt;strong&gt;ranu – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;serching work globally lead management&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/lead.js&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37050&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37050&amp;peg=37513</guid></item>
<item><pubDate>Thu, 09 Jul 2026 18:02:45 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 37046 – Lead Management: add a bottom global search box mirroring the ...</title><description>&lt;div&gt;&lt;strong&gt;aman – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Lead Management: add a bottom global search box mirroring the top lead-table search (name/mobile/outlet/city, any date) so users don&apos;t need to scroll back up on a long list; bump asset version to 375&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/lead.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/lead.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37046&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37046&amp;peg=37513</guid></item>
<item><pubDate>Wed, 08 Jul 2026 18:24:27 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37037 – Add Order Report under Partner Reports: /orderReport page + per-fofo ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 4 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add Order Report under Partner Reports: /orderReport page + per-fofo /downloadOrderReport CSV (admin partner filter, blank=all partners; non-admin forced to own store), reports.js handlers, jsVersion 373-&gt;374&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ReportsController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/reports.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/order-report.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37037&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37037&amp;peg=37513</guid></item>
<item><pubDate>Tue, 07 Jul 2026 14:36:06 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37031 – Credit block/unblock UI + Kred cleanup (fofo): rename activateKred/deactivateKred -&gt; ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Credit block/unblock UI + Kred cleanup (fofo): rename activateKred/deactivateKred -&gt; blockCredit(reason)/unblockCredit(logs)/switchCreditGateway, add block/unblock modals + credit-block-logs fragment, bump jsVersion 372-&gt;373&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/WalletController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/partner-credit-detail.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/credit-block-logs.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/partner-credit-detail-row.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/partner-credit-detail.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37031&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37031&amp;peg=37513</guid></item>
<item><pubDate>Tue, 07 Jul 2026 12:41:23 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37025 – FOFO add-to-cart: show held Live Demo IMEIs as disabled &apos;Sellable ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;FOFO add-to-cart: show held Live Demo IMEIs as disabled &apos;Sellable from &amp;lt;date&gt;&apos; checkboxes instead of falling back to quantity field&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/cart.js&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37025&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37025&amp;peg=37513</guid></item>
<item><pubDate>Tue, 07 Jul 2026 11:46:21 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 37021 – Lead Dashboard: make the lead-table Search box a global partner ...</title><description>&lt;div&gt;&lt;strong&gt;aman – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Lead Dashboard: make the lead-table Search box a global partner search (search-as-you-type, debounced) - matches any lead by name/mobile/outlet/city across ALL statuses and dates via /globalLeadSearch; add placeholder + results heading; bump asset version to 371&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/lead.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/lead.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37021&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37021&amp;peg=37513</guid></item>
<item><pubDate>Tue, 07 Jul 2026 01:10:39 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 37019 – Contact Us: add position control - &apos;place after&apos; dropdown + ...</title><description>&lt;div&gt;&lt;strong&gt;aman – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;Contact Us: add position control - &apos;place after&apos; dropdown + up/down reorder for Main &amp; Escalation tables (editor-gated); self-heal missing columns in ContactUsTableBootstrap (adds id/PK to pre-existing tables to fix GE_1007); bump asset version to 370&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/bootstrap/ContactUsTableBootstrap.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/DashboardController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/contact.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/contact-us.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37019&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37019&amp;peg=37513</guid></item>
<item><pubDate>Fri, 03 Jul 2026 11:00:21 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 37003 – positions without partner</title><description>&lt;div&gt;&lt;strong&gt;ranu – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;positions without partner&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/CsController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/LeadController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/VisitRequestController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/lead.js&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37003&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=37003&amp;peg=37513</guid></item>
<item><pubDate>Wed, 01 Jul 2026 19:40:13 +0530</pubDate><dc:creator>vikas</dc:creator><title>Rev 36989 – Changed mail sender password and Duplicate Req interceptor behavior</title><description>&lt;div&gt;&lt;strong&gt;vikas – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;Changed mail sender password and Duplicate Req interceptor behavior&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PartnerOnBoardingPanelController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/interceptor/PostInterceptor.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/dev.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/prod.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=36989&amp;peg=37513</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fweb%2Fconfig%2FAppConfig.java&amp;rev=36989&amp;peg=37513</guid></item>
</channel></rss>