use of org.springframework.web.portlet.bind.annotation.RenderMapping in project uPortal by Jasig.
the class FavoritesEditController method initializeView.
/**
* Handles all Favorites portlet EDIT mode renders. Populates model with user's favorites and
* selects a view to display those favorites.
*
* <p>View selection:
*
* <p>Returns "jsp/Favorites/edit" in the normal case where the user has at least one favorited
* portlet or favorited collection.
*
* <p>Returns "jsp/Favorites/edit_zero" in the edge case where the user has zero favorited
* portlets AND zero favorited collections.
*
* <p>Model: marketPlaceFname --> String functional name of Marketplace portlet, or null if not
* available. collections --> List of favorited collections (IUserLayoutNodeDescription s)
* favorites --> List of favorited individual portlets (IUserLayoutNodeDescription s)
* successMessageCode --> String success message bundle key, or null if none errorMessageCode
* --> String error message bundle key, or null if none nameOfFavoriteActedUpon --> Name of
* favorite acted upon, intended as parameter to success or error message
*
* @param model . Spring model. This method adds five model attributes.
* @return jsp/Favorites/edit[_zero]
*/
@RenderMapping
public String initializeView(Model model, RenderRequest renderRequest) {
IUserInstance ui = userInstanceManager.getUserInstance(portalRequestUtils.getCurrentPortalRequest());
UserPreferencesManager upm = (UserPreferencesManager) ui.getPreferencesManager();
IUserLayoutManager ulm = upm.getUserLayoutManager();
IUserLayout userLayout = ulm.getUserLayout();
// TODO: the portlet could predicate including a non-null marketplace portlet fname
// on the accessing user having permission to render the portlet referenced by that fname
// so that portlet would gracefully degrade when configured with bad marketplace portlet
// fname
// and also gracefully degrade when the accessing user doesn't have permission to access an
// otherwise
// viable configured marketplace. This complexity may not be worth it. Anyway it is not
// yet implemented.
model.addAttribute("marketplaceFname", this.marketplaceFName);
List<IUserLayoutNodeDescription> collections = favoritesUtils.getFavoriteCollections(userLayout);
model.addAttribute("collections", collections);
List<IUserLayoutNodeDescription> favorites = favoritesUtils.getFavoritePortletLayoutNodes(userLayout);
model.addAttribute("favorites", favorites);
model.addAttribute("successMessageCode", renderRequest.getParameter("successMessageCode"));
model.addAttribute("errorMessageCode", renderRequest.getParameter("errorMessageCode"));
model.addAttribute("nameOfFavoriteActedUpon", renderRequest.getParameter("nameOfFavoriteActedUpon"));
// default to the regular old edit view
String viewName = "jsp/Favorites/edit";
if (collections.isEmpty() && favorites.isEmpty()) {
// use the special case view
viewName = "jsp/Favorites/edit_zero";
}
logger.trace("Favorites Portlet EDIT mode built model [{}] and selected view {}.", model, viewName);
return viewName;
}
use of org.springframework.web.portlet.bind.annotation.RenderMapping in project uPortal by Jasig.
the class DirectoryPortletController method findPersonByUsername.
@RenderMapping(params = "action=findByUsername")
public ModelAndView findPersonByUsername(RenderRequest request, @RequestParam String username) {
// get an authorization principal for the current requesting user
HttpServletRequest servletRequest = portalRequestUtils.getPortletHttpRequest(request);
IPerson currentUser = personManager.getPerson(servletRequest);
// get the set of people matching the search query
final IPersonAttributes person = this.lookupHelper.findPerson(currentUser, username);
final boolean isMobile = isMobile(request);
String viewName = isMobile ? "/jsp/Directory/mobileDirectory" : "/jsp/Directory/directory";
final Map<String, Object> model = new HashMap<String, Object>();
model.put("query", username);
model.put("people", Collections.singletonList(person));
model.put("attributeNames", this.displayAttributes);
return new ModelAndView(viewName, model);
}
use of org.springframework.web.portlet.bind.annotation.RenderMapping in project uPortal by Jasig.
the class ActivityController method summary.
@RenderMapping
public ModelAndView summary(PortletRequest request) throws TypeMismatchException {
final Map<String, Object> model = new HashMap<String, Object>();
final PortalActivity now = buildPortalActivity(request, NOW);
final PortalActivity today = buildPortalActivity(request, TODAY);
final PortalActivity yesterday = buildPortalActivity(request, YESTERDAY);
model.put("usageNow", now);
model.put("usageToday", today);
model.put("usageYesterday", yesterday);
// Searches
// default
List<SearchInfo> popularSearchTerms = Collections.emptyList();
final PortletPreferences prefs = request.getPreferences();
final Boolean showSearches = Boolean.valueOf(prefs.getValue(PREFERENCE_SHOW_SEACHES, DEFAULT_PREFERENCE_SHOW_SEARCHES));
if (showSearches) {
popularSearchTerms = getPopularSearchTerms();
}
model.put("showSearches", showSearches);
model.put("popularSearchTerms", popularSearchTerms);
return new ModelAndView("jsp/Activity/activity", model);
}
Aggregations