From 59db9f187ae827e836986a448b2becac5d332e65 Mon Sep 17 00:00:00 2001 From: Jumpy Squirrel Date: Fri, 16 Feb 2024 17:49:48 +0100 Subject: [PATCH] feat(#122): allow search for dealer --- .../regsys/web/forms/SearchForm.java | 32 +++++++++++++++++++ src/tpl/common/pages/searchForm.vm | 4 +-- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/java/org/eurofurence/regsys/web/forms/SearchForm.java b/src/java/org/eurofurence/regsys/web/forms/SearchForm.java index 36413fb..9a8dc75 100644 --- a/src/java/org/eurofurence/regsys/web/forms/SearchForm.java +++ b/src/java/org/eurofurence/regsys/web/forms/SearchForm.java @@ -43,6 +43,7 @@ public class SearchForm extends Form { public static final String X_WAITING = "search_status_Xwait"; public static final String X_CANCELLED = "search_status_Xcanc"; public static final String SPONSOR_ITEMS = "search_sponsor_items"; + public static final String DEALER = "search_dealer"; public static final String FLAG_BASE = "search_flag_"; // includes options public static final String PACKAGE_BASE = "search_package_"; @@ -124,6 +125,15 @@ protected String getSearchSponsorItems() { } } + protected String getSearchDealer() { + String key = "dealerreg"; + if (attendeeFinder.addInfo != null && attendeeFinder.addInfo.containsKey(key)) { + return Integer.toString(attendeeFinder.addInfo.get(key)); + } else { + return "-1"; + } + } + // --------- Business methods ---------------------- public static final String SEARCH_FORM_SESSION_KEY = "SearchForm_Session_Attendee"; @@ -456,6 +466,23 @@ private void setSearchSponsorItems(String t) { } } + private void setSearchDealer(String t) { + if (t == null || t.equals("")) t = "-1"; + if (attendeeFinder.addInfo == null) + attendeeFinder.addInfo = new HashMap<>(); + String key = "dealerreg"; + int current = -1; + if (attendeeFinder.addInfo.containsKey(key)) { + current = attendeeFinder.addInfo.get(key); + } + int searchDealer = FormHelper.parseInt(getPage(), t, DEALER, current); + if (searchDealer == -1) { + attendeeFinder.addInfo.remove(key); + } else { + attendeeFinder.addInfo.put(key, searchDealer); + } + } + private void genericOptionSetter(HttpServletRequest request, OptionList list, Map paramMap, String paramBaseName, String errorMessageFormat) { for (Option o: list) { String parname = paramBaseName + o.code; @@ -505,6 +532,7 @@ public void parse(HttpServletRequest request) { setSearchStatusXwait(nvl(request.getParameter(X_WAITING))); setSearchStatusXcanc(nvl(request.getParameter(X_CANCELLED))); setSearchSponsorItems(request.getParameter(SPONSOR_ITEMS)); + setSearchDealer(request.getParameter(DEALER)); setSearchFlagsByCode(request); setSearchOptionsByCode(request); setSearchPackagesByCode(request); @@ -631,6 +659,10 @@ public String fieldSponsorItems(String style) { return anyNoYesSelector(SPONSOR_ITEMS, getSearchSponsorItems(), style); } + public String fieldDealer(String style) { + return anyNoYesSelector(DEALER, getSearchDealer(), style); + } + public String getResetFormUrl() { return "search?resetform=yes"; } diff --git a/src/tpl/common/pages/searchForm.vm b/src/tpl/common/pages/searchForm.vm index 8e1ab42..b7d1255 100644 --- a/src/tpl/common/pages/searchForm.vm +++ b/src/tpl/common/pages/searchForm.vm @@ -62,8 +62,8 @@ ${form.fieldXcancelled("check")} cancelled - - + Dealer + $form.fieldDealer("small") Reset Search Form