Skip to content

Commit d8632fa

Browse files
committed
task(/series/SeriesController) : Search by catalog number in user's collection
Part of php-coder#673 Fix php-coder#1098
1 parent f616144 commit d8632fa

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/main/java/ru/mystamps/web/feature/series/SeriesController.java

+14
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.springframework.beans.propertyeditors.StringTrimmerEditor;
2323
import org.springframework.http.HttpStatus;
2424
import org.springframework.security.core.annotation.AuthenticationPrincipal;
25+
import org.springframework.security.core.context.SecurityContextHolder;
2526
import org.springframework.stereotype.Controller;
2627
import org.springframework.ui.Model;
2728
import org.springframework.validation.BindingResult;
@@ -72,6 +73,7 @@
7273
import java.util.Locale;
7374
import java.util.Map;
7475
import java.util.Objects;
76+
import java.util.stream.Collectors;
7577

7678
import static ru.mystamps.web.common.ControllerUtils.redirectTo;
7779

@@ -470,6 +472,7 @@ public String processAskForm(
470472
public String searchSeriesByCatalog(
471473
@RequestParam(name = "catalogNumber", defaultValue = "") String catalogNumber,
472474
@RequestParam(name = "catalogName", defaultValue = "") String catalogName,
475+
@RequestParam(name = "inCollection", defaultValue = "" ,required = false) Boolean inCollection,
473476
Model model,
474477
Locale userLocale,
475478
RedirectAttributes redirectAttributes) {
@@ -504,6 +507,17 @@ public String searchSeriesByCatalog(
504507
series = Collections.emptyList();
505508
break;
506509
}
510+
511+
boolean searchInCollection =(inCollection != null)?Boolean.TRUE:Boolean.FALSE;
512+
513+
if( Features.SEARCH_IN_COLLECTION.isActive() && searchInCollection &&
514+
SecurityContextHolder.getContext().getAuthentication().isAuthenticated()){
515+
series = series
516+
.stream()
517+
.filter(item->collectionService.isSeriesInCollection(SecurityContextUtils.getUserId(),item.getId()))
518+
.collect(Collectors.toList());
519+
}
520+
507521
model.addAttribute("searchResults", series);
508522

509523
return "series/search_result";

0 commit comments

Comments
 (0)