|
22 | 22 | import org.springframework.beans.propertyeditors.StringTrimmerEditor;
|
23 | 23 | import org.springframework.http.HttpStatus;
|
24 | 24 | import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
| 25 | +import org.springframework.security.core.context.SecurityContextHolder; |
25 | 26 | import org.springframework.stereotype.Controller;
|
26 | 27 | import org.springframework.ui.Model;
|
27 | 28 | import org.springframework.validation.BindingResult;
|
|
72 | 73 | import java.util.Locale;
|
73 | 74 | import java.util.Map;
|
74 | 75 | import java.util.Objects;
|
| 76 | +import java.util.stream.Collectors; |
75 | 77 |
|
76 | 78 | import static ru.mystamps.web.common.ControllerUtils.redirectTo;
|
77 | 79 |
|
@@ -470,6 +472,7 @@ public String processAskForm(
|
470 | 472 | public String searchSeriesByCatalog(
|
471 | 473 | @RequestParam(name = "catalogNumber", defaultValue = "") String catalogNumber,
|
472 | 474 | @RequestParam(name = "catalogName", defaultValue = "") String catalogName,
|
| 475 | + @RequestParam(name = "inCollection", defaultValue = "" ,required = false) Boolean inCollection, |
473 | 476 | Model model,
|
474 | 477 | Locale userLocale,
|
475 | 478 | RedirectAttributes redirectAttributes) {
|
@@ -504,6 +507,17 @@ public String searchSeriesByCatalog(
|
504 | 507 | series = Collections.emptyList();
|
505 | 508 | break;
|
506 | 509 | }
|
| 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 | + |
507 | 521 | model.addAttribute("searchResults", series);
|
508 | 522 |
|
509 | 523 | return "series/search_result";
|
|
0 commit comments