@Override
  public PortletURL getURLAdd(
      LiferayPortletRequest liferayPortletRequest,
      LiferayPortletResponse liferayPortletResponse,
      long classTypeId)
      throws PortalException {

    ThemeDisplay themeDisplay =
        (ThemeDisplay) liferayPortletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    CalendarResource calendarResource =
        CalendarResourceUtil.getScopeGroupCalendarResource(
            liferayPortletRequest, themeDisplay.getScopeGroupId());

    if (calendarResource == null) {
      return null;
    }

    PortletURL portletURL =
        PortalUtil.getControlPanelPortletURL(
            liferayPortletRequest, CalendarPortletKeys.CALENDAR, PortletRequest.RENDER_PHASE);

    portletURL.setParameter("mvcPath", "/edit_calendar_booking.jsp");

    Calendar calendar = calendarResource.getDefaultCalendar();

    portletURL.setParameter("calendarId", String.valueOf(calendar.getCalendarId()));

    return portletURL;
  }
  public static void addPortletBreadcrumbEntries(
      MBMessage message, HttpServletRequest request, RenderResponse renderResponse)
      throws Exception {

    if (message.getCategoryId() == MBCategoryConstants.DISCUSSION_CATEGORY_ID) {

      return;
    }

    MBCategory category = null;

    if (message.getCategoryId() != MBCategoryConstants.DEFAULT_PARENT_CATEGORY_ID) {

      category = message.getCategory();
    }

    addPortletBreadcrumbEntries(category, request, renderResponse);

    PortletURL portletURL = renderResponse.createRenderURL();

    portletURL.setParameter("mvcRenderCommandName", "/message_boards/view_message");
    portletURL.setParameter("messageId", String.valueOf(message.getMessageId()));

    PortalUtil.addPortletBreadcrumbEntry(request, message.getSubject(), portletURL.toString());
  }
  protected URLMenuItem getPortletTitleMenuItem(
      PortletRequest portletRequest, ThemeDisplay themeDisplay) {

    URLMenuItem urlMenuItem = new URLMenuItem();

    urlMenuItem.setIcon("icon-plus-sign-2");

    PortletURL portletURL =
        PortletURLFactoryUtil.create(
            portletRequest,
            BlogsPortletKeys.BLOGS,
            themeDisplay.getPlid(),
            PortletRequest.RENDER_PHASE);

    portletURL.setParameter("mvcRenderCommandName", "/blogs/edit_entry");

    String currentURL = PortalUtil.getCurrentURL(portletRequest);

    portletURL.setParameter("redirect", currentURL);
    portletURL.setParameter("backURL", currentURL);

    urlMenuItem.setURL(portletURL.toString());

    return urlMenuItem;
  }
  @Override
  protected Summary doGetSummary(
      Document document,
      Locale locale,
      String snippet,
      PortletURL portletURL,
      PortletRequest portletRequest,
      PortletResponse portletResponse) {

    LiferayPortletURL liferayPortletURL = (LiferayPortletURL) portletURL;

    liferayPortletURL.setLifecycle(PortletRequest.ACTION_PHASE);

    try {
      liferayPortletURL.setWindowState(LiferayWindowState.EXCLUSIVE);
    } catch (WindowStateException wse) {
    }

    String fileEntryId = document.get(Field.ENTRY_CLASS_PK);

    portletURL.setParameter("struts_action", "/document_library/get_file");
    portletURL.setParameter("fileEntryId", fileEntryId);

    Summary summary = createSummary(document, Field.TITLE, Field.CONTENT);

    summary.setMaxContentLength(200);
    summary.setPortletURL(portletURL);

    return summary;
  }
  @Override
  protected Summary doGetSummary(
      Document document,
      Locale locale,
      String snippet,
      PortletURL portletURL,
      PortletRequest portletRequest,
      PortletResponse portletResponse) {

    String title = document.get(Field.TITLE);

    String content = snippet;

    if (Validator.isNull(snippet)) {
      content = document.get(Field.DESCRIPTION);

      if (Validator.isNull(content)) {
        content = StringUtil.shorten(document.get(Field.CONTENT), 200);
      }
    }

    String resourcePrimKey = document.get(Field.ENTRY_CLASS_PK);

    portletURL.setParameter("mvcPath", "/admin/view_article.jsp");
    portletURL.setParameter("resourcePrimKey", resourcePrimKey);

    return new Summary(title, content, portletURL);
  }
  @Override
  public String getURL(PortletRequest portletRequest, PortletResponse portletResponse) {

    PortletURL portletURL =
        PortalUtil.getControlPanelPortletURL(
            portletRequest, MBPortletKeys.MESSAGE_BOARDS_ADMIN, PortletRequest.ACTION_PHASE);

    portletURL.setParameter(ActionRequest.ACTION_NAME, "/message_boards/edit_message");

    try {
      MBMessage message = ActionUtil.getMessage(portletRequest);

      MBThread thread = message.getThread();

      if (thread.isLocked()) {
        portletURL.setParameter(Constants.CMD, Constants.UNLOCK);
      } else {
        portletURL.setParameter(Constants.CMD, Constants.LOCK);
      }

      portletURL.setParameter("redirect", PortalUtil.getCurrentURL(portletRequest));
      portletURL.setParameter("threadId", String.valueOf(thread.getThreadId()));
    } catch (Exception e) {
      return null;
    }

    return portletURL.toString();
  }
  protected String getRedirect(
      ActionRequest actionRequest, ActionResponse actionResponse, MBMessage message) {

    if (message == null) {
      String redirect = ParamUtil.getString(actionRequest, "redirect");

      return redirect;
    }

    int workflowAction =
        ParamUtil.getInteger(actionRequest, "workflowAction", WorkflowConstants.ACTION_PUBLISH);

    if (workflowAction == WorkflowConstants.ACTION_SAVE_DRAFT) {
      return getSaveAndContinueRedirect(actionRequest, actionResponse, message);
    } else if (message == null) {
      return ParamUtil.getString(actionRequest, "redirect");
    }

    ActionResponseImpl actionResponseImpl = (ActionResponseImpl) actionResponse;

    PortletURL portletURL = actionResponseImpl.createRenderURL();

    portletURL.setParameter("mvcRenderCommandName", "/message_boards/view_message");
    portletURL.setParameter("messageId", String.valueOf(message.getMessageId()));

    return portletURL.toString();
  }
示例#8
0
  @Override
  protected Summary doGetSummary(
      Document document,
      Locale locale,
      String snippet,
      PortletURL portletURL,
      PortletRequest portletRequest,
      PortletResponse portletResponse) {

    String firstName = document.get("firstName");
    String middleName = document.get("middleName");
    String lastName = document.get("lastName");

    FullNameGenerator fullNameGenerator = FullNameGeneratorFactory.getInstance();

    String title = fullNameGenerator.getFullName(firstName, middleName, lastName);

    String content = null;

    String userId = document.get(Field.USER_ID);

    portletURL.setParameter("struts_action", "/users_admin/edit_user");
    portletURL.setParameter("p_u_i_d", userId);

    return new Summary(title, content, portletURL);
  }
  @Override
  public String getRestoreLink(PortletRequest portletRequest, long classPK)
      throws PortalException, SystemException {

    String portletId = PortletKeys.WIKI;

    WikiPage page = WikiPageLocalServiceUtil.getPage(classPK);

    long plid = PortalUtil.getPlidFromPortletId(page.getGroupId(), PortletKeys.WIKI);

    if (plid == LayoutConstants.DEFAULT_PLID) {
      plid = PortalUtil.getControlPanelPlid(portletRequest);

      portletId = PortletKeys.WIKI_ADMIN;
    }

    PortletURL portletURL =
        PortletURLFactoryUtil.create(portletRequest, portletId, plid, PortletRequest.RENDER_PHASE);

    WikiNode node = page.getNode();

    portletURL.setParameter("struts_action", "/wiki/view");
    portletURL.setParameter("nodeName", node.getName());
    portletURL.setParameter("title", HtmlUtil.unescape(page.getTitle()));

    return portletURL.toString();
  }
  protected PortletURL getRestoreURL(
      PortletRequest portletRequest, long classPK, boolean isContainerModel)
      throws PortalException, SystemException {

    String portletId = PortletKeys.MESSAGE_BOARDS;

    MBThread thread = MBThreadLocalServiceUtil.getThread(classPK);

    long plid = PortalUtil.getPlidFromPortletId(thread.getGroupId(), PortletKeys.MESSAGE_BOARDS);

    if (plid == LayoutConstants.DEFAULT_PLID) {
      portletId = PortletKeys.MESSAGE_BOARDS_ADMIN;

      plid = PortalUtil.getControlPanelPlid(portletRequest);
    }

    PortletURL portletURL =
        PortletURLFactoryUtil.create(portletRequest, portletId, plid, PortletRequest.RENDER_PHASE);

    if (isContainerModel) {
      if (portletId.equals(PortletKeys.MESSAGE_BOARDS)) {
        portletURL.setParameter("struts_action", "/message_boards/view");
      } else {
        portletURL.setParameter("struts_action", "/message_boards_admin/view");
      }
    } else {
      if (portletId.equals(PortletKeys.MESSAGE_BOARDS)) {
        portletURL.setParameter("struts_action", "/message_boards/view_message");
      } else {
        portletURL.setParameter("struts_action", "/message_boards_admin/view_message");
      }
    }

    return portletURL;
  }
  protected PortletURL getDynamicPortletURL(long plid, int status, HttpServletRequest request)
      throws Exception {

    String portletId = getPortletId(plid);

    PortletURL portletURL = getKBArticleURL(plid, portletId, null, request);

    if (status != WorkflowConstants.STATUS_APPROVED) {
      portletURL.setParameter("status", String.valueOf(status));
    }

    if (_PORTLET_ADD_DEFAULT_RESOURCE_CHECK_ENABLED) {
      String token = AuthTokenUtil.getToken(request, plid, portletId);

      portletURL.setParameter("p_p_auth", token);
    }

    portletURL.setPortletMode(PortletMode.VIEW);

    if (Validator.equals(portletId, PortletKeys.KNOWLEDGE_BASE_ARTICLE_DEFAULT_INSTANCE)) {

      portletURL.setWindowState(LiferayWindowState.MAXIMIZED);
    }

    return portletURL;
  }
示例#12
0
  @Override
  public void render(RenderRequest renderRequest, RenderResponse renderResponse)
      throws IOException, PortletException {

    PortletURL portletURL = renderResponse.createRenderURL();

    portletURL.setParameter("mvcPath", "hello_soy_description");

    template.put("descriptionURL", portletURL.toString());

    String path = getPath(renderRequest, renderResponse);

    if (Validator.equals(path, "hello_soy_edit")) {
      portletURL.setParameter("mvcPath", "hello_soy_view");
    } else {
      portletURL.setParameter("mvcPath", "hello_soy_edit");
    }

    template.put("portletURL", portletURL.toString());

    ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);

    User user = themeDisplay.getUser();

    template.put("userName", user.getFirstName());

    super.render(renderRequest, renderResponse);
  }
  @Override
  protected Summary doGetSummary(
      Document document, Locale locale, String snippet, PortletURL portletURL) {

    LiferayPortletURL liferayPortletURL = (LiferayPortletURL) portletURL;

    liferayPortletURL.setLifecycle(PortletRequest.ACTION_PHASE);

    try {
      liferayPortletURL.setWindowState(LiferayWindowState.EXCLUSIVE);
    } catch (WindowStateException wse) {
    }

    String folderId = document.get(Field.ENTRY_CLASS_PK);

    portletURL.setParameter("struts_action", "/journal/view");
    portletURL.setParameter("folderId", folderId);

    Summary summary = createSummary(document, Field.TITLE, Field.DESCRIPTION);

    summary.setMaxContentLength(200);
    summary.setPortletURL(portletURL);

    return summary;
  }
示例#14
0
  @Override
  protected Summary doGetSummary(
      Document document, Locale locale, String snippet, PortletURL portletURL) {

    LiferayPortletURL liferayPortletURL = (LiferayPortletURL) portletURL;

    liferayPortletURL.setLifecycle(PortletRequest.ACTION_PHASE);

    try {
      liferayPortletURL.setWindowState(LiferayWindowState.EXCLUSIVE);
    } catch (WindowStateException wse) {
    }

    String title = document.get(Field.TITLE);

    String content = snippet;

    if (Validator.isNull(snippet)) {
      content = StringUtil.shorten(document.get(Field.CONTENT), 200);
    }

    String fileEntryId = document.get(Field.ENTRY_CLASS_PK);

    portletURL.setParameter("struts_action", "/document_library/get_file");
    portletURL.setParameter("fileEntryId", fileEntryId);

    return new Summary(title, content, portletURL);
  }
  @Override
  public PortletURL getURLViewDiffs(
      LiferayPortletRequest liferayPortletRequest, LiferayPortletResponse liferayPortletResponse)
      throws Exception {

    PortletURL portletURL =
        liferayPortletResponse.createLiferayPortletURL(
            getControlPanelPlid(liferayPortletRequest),
            PortletKeys.JOURNAL,
            PortletRequest.RENDER_PHASE);

    JournalArticle previousApprovedArticle =
        JournalArticleLocalServiceUtil.getPreviousApprovedArticle(_article);

    if (previousApprovedArticle.getVersion() == _article.getVersion()) {
      return null;
    }

    portletURL.setParameter("struts_action", "/journal/compare_versions");
    portletURL.setParameter("groupId", String.valueOf(_article.getGroupId()));
    portletURL.setParameter("articleId", _article.getArticleId());
    portletURL.setParameter("sourceVersion", String.valueOf(previousApprovedArticle.getVersion()));
    portletURL.setParameter("targetVersion", String.valueOf(_article.getVersion()));

    return portletURL;
  }
示例#16
0
  public static String getCreateAccountHREF(HttpServletRequest request, ThemeDisplay themeDisplay)
      throws Exception {

    if (Validator.isNull(PropsValues.COMPANY_SECURITY_STRANGERS_URL)) {
      PortletURL createAccountURL =
          new PortletURLImpl(
              request, PortletKeys.LOGIN, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE);

      createAccountURL.setWindowState(WindowState.MAXIMIZED);
      createAccountURL.setPortletMode(PortletMode.VIEW);

      createAccountURL.setParameter("saveLastPath", "0");
      createAccountURL.setParameter("struts_action", "/login/create_account");

      return createAccountURL.toString();
    }

    try {
      Layout layout =
          LayoutLocalServiceUtil.getFriendlyURLLayout(
              themeDisplay.getScopeGroupId(), false, PropsValues.COMPANY_SECURITY_STRANGERS_URL);

      return PortalUtil.getLayoutURL(layout, themeDisplay);
    } catch (NoSuchLayoutException nsle) {
    }

    return StringPool.BLANK;
  }
示例#17
0
  @Override
  public void addPortletBreadcrumbEntries(
      Folder folder, HttpServletRequest request, RenderResponse renderResponse) throws Exception {

    String strutsAction = ParamUtil.getString(request, "struts_action");

    long groupId = ParamUtil.getLong(request, "groupId");

    PortletURL portletURL = renderResponse.createRenderURL();

    if (strutsAction.equals("/document_library/select_file_entry")
        || strutsAction.equals("/document_library/select_folder")
        || strutsAction.equals("/document_library_display/select_folder")
        || strutsAction.equals("/dynamic_data_mapping/select_document_library")
        || strutsAction.equals("/image_gallery_display/select_folder")) {

      ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

      portletURL.setParameter("struts_action", strutsAction);
      portletURL.setParameter("groupId", String.valueOf(groupId));
      portletURL.setWindowState(LiferayWindowState.POP_UP);

      PortalUtil.addPortletBreadcrumbEntry(
          request, themeDisplay.translate("home"), portletURL.toString());
    } else {
      portletURL.setParameter("struts_action", "/document_library/view");
    }

    addPortletBreadcrumbEntries(folder, request, portletURL);
  }
  public PortletURL getPortletURL() throws PortalException {
    PortletURL portletURL = _liferayPortletResponse.createRenderURL();

    portletURL.setParameter("mvcPath", "/view.jsp");
    portletURL.setParameter("tabs1", getTabs1());
    portletURL.setParameter("groupId", String.valueOf(getGroupId()));

    return portletURL;
  }
示例#19
0
  protected String getURL(
      ThemeDisplay themeDisplay, long groupId, Document result, PortletURL portletURL)
      throws Exception {

    portletURL.setParameter("jspPage", "/html/eprintview/detail.jsp");
    long eprintId = GetterUtil.getLong(result.get(Field.ENTRY_CLASS_PK));
    portletURL.setParameter("eprintId", String.valueOf(eprintId));
    return super.getURL(themeDisplay, groupId, result, portletURL);
  }
  public PortletURL getURLEdit(
      LiferayPortletRequest liferayPortletRequest, LiferayPortletResponse liferayPortletResponse) {

    PortletURL editPortletURL = liferayPortletResponse.createRenderURL(PortletKeys.BLOGS);

    editPortletURL.setParameter("struts_action", "/blogs/edit_entry");
    editPortletURL.setParameter("entryId", String.valueOf(_entry.getEntryId()));

    return editPortletURL;
  }
  protected void redirectUpdateAccount(
      HttpServletRequest request, HttpServletResponse response, User user) throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    PortletURL portletURL =
        PortletURLFactoryUtil.create(
            request, PortletKeys.LOGIN, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE);

    portletURL.setParameter("saveLastPath", Boolean.FALSE.toString());
    portletURL.setParameter("struts_action", "/login/update_account");

    PortletURL redirectURL =
        PortletURLFactoryUtil.create(
            request, PortletKeys.FAST_LOGIN, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE);

    redirectURL.setParameter("struts_action", "/login/login_redirect");
    redirectURL.setParameter("emailAddress", user.getEmailAddress());
    redirectURL.setParameter("anonymousUser", Boolean.FALSE.toString());
    redirectURL.setPortletMode(PortletMode.VIEW);
    redirectURL.setWindowState(LiferayWindowState.POP_UP);

    portletURL.setParameter("redirect", redirectURL.toString());
    portletURL.setParameter("userId", String.valueOf(user.getUserId()));
    portletURL.setParameter("emailAddress", user.getEmailAddress());
    portletURL.setParameter("firstName", user.getFirstName());
    portletURL.setParameter("lastName", user.getLastName());
    portletURL.setPortletMode(PortletMode.VIEW);
    portletURL.setWindowState(LiferayWindowState.POP_UP);

    response.sendRedirect(portletURL.toString());
  }
  public static void addPortletBreadcrumbEntries(
      Folder folder, HttpServletRequest request, PortletURL portletURL) throws Exception {

    long defaultFolderId = _getDefaultFolderId(request);

    List<Folder> ancestorFolders = Collections.emptyList();

    if ((folder != null) && (folder.getFolderId() != defaultFolderId)) {
      ancestorFolders = folder.getAncestors();

      int indexOfRootFolder = -1;

      for (int i = 0; i < ancestorFolders.size(); i++) {
        Folder ancestorFolder = ancestorFolders.get(i);

        if (defaultFolderId == ancestorFolder.getFolderId()) {
          indexOfRootFolder = i;
        }
      }

      if (indexOfRootFolder > -1) {
        ancestorFolders = ancestorFolders.subList(0, indexOfRootFolder);
      }
    }

    Collections.reverse(ancestorFolders);

    for (Folder ancestorFolder : ancestorFolders) {
      portletURL.setParameter("folderId", String.valueOf(ancestorFolder.getFolderId()));

      Map<String, Object> data = new HashMap<String, Object>();

      data.put("folder-id", ancestorFolder.getFolderId());

      PortalUtil.addPortletBreadcrumbEntry(
          request, ancestorFolder.getName(), portletURL.toString(), data);
    }

    long folderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID;

    if (folder != null) {
      folderId = folder.getFolderId();
    }

    portletURL.setParameter("folderId", String.valueOf(folderId));

    if ((folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) && (folderId != defaultFolderId)) {

      Map<String, Object> data = new HashMap<String, Object>();

      data.put("folder-id", folderId);

      PortalUtil.addPortletBreadcrumbEntry(request, folder.getName(), portletURL.toString(), data);
    }
  }
示例#23
0
  public static void addPortletBreadcrumbEntries(
      Folder folder, HttpServletRequest request, RenderResponse renderResponse) throws Exception {

    String mvcRenderCommandName = ParamUtil.getString(request, "mvcRenderCommandName");

    PortletURL portletURL = renderResponse.createRenderURL();

    if (mvcRenderCommandName.equals("/document_library/select_folder")) {
      ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

      portletURL.setParameter("mvcRenderCommandName", mvcRenderCommandName);
      portletURL.setWindowState(LiferayWindowState.POP_UP);

      PortalUtil.addPortletBreadcrumbEntry(
          request, themeDisplay.translate("home"), portletURL.toString());
    } else {
      portletURL.setParameter("mvcRenderCommandName", "/image_gallery_display/view");
    }

    long defaultFolderId = getDefaultFolderId(request);

    List<Folder> ancestorFolders = Collections.emptyList();

    if ((folder != null) && (folder.getFolderId() != defaultFolderId)) {
      ancestorFolders = folder.getAncestors();

      int indexOfRootFolder = -1;

      for (int i = 0; i < ancestorFolders.size(); i++) {
        Folder ancestorFolder = ancestorFolders.get(i);

        if (defaultFolderId == ancestorFolder.getFolderId()) {
          indexOfRootFolder = i;
        }
      }

      if (indexOfRootFolder > -1) {
        ancestorFolders = ancestorFolders.subList(0, indexOfRootFolder);
      }
    }

    Collections.reverse(ancestorFolders);

    for (Folder ancestorFolder : ancestorFolders) {
      portletURL.setParameter("folderId", String.valueOf(ancestorFolder.getFolderId()));

      PortalUtil.addPortletBreadcrumbEntry(
          request, ancestorFolder.getName(), portletURL.toString());
    }

    portletURL.setParameter("folderId", String.valueOf(folder.getFolderId()));

    PortalUtil.addPortletBreadcrumbEntry(request, folder.getName(), portletURL.toString());
  }
  public PortletURL getURLEdit(
      LiferayPortletRequest liferayPortletRequest, LiferayPortletResponse liferayPortletResponse) {

    PortletURL editPortletURL = liferayPortletResponse.createRenderURL(PortletKeys.IMAGE_GALLERY);

    editPortletURL.setParameter("struts_action", "/image_gallery/edit_image");
    editPortletURL.setParameter("folderId", String.valueOf(_image.getFolderId()));
    editPortletURL.setParameter("imageId", String.valueOf(_image.getImageId()));

    return editPortletURL;
  }
  @Override
  public PortletURL getURLExport(
      LiferayPortletRequest liferayPortletRequest, LiferayPortletResponse liferayPortletResponse) {

    PortletURL portletURL = liferayPortletResponse.createActionURL();

    portletURL.setParameter("struts_action", "/asset_publisher/export_journal_article");
    portletURL.setParameter("groupId", String.valueOf(_article.getGroupId()));
    portletURL.setParameter("articleId", _article.getArticleId());

    return portletURL;
  }
  public static String getControlPanelLink(PortletRequest portletRequest, long folderId)
      throws PortalException {

    PortletURL portletURL =
        PortalUtil.getControlPanelPortletURL(
            portletRequest, BookmarksPortletKeys.BOOKMARKS_ADMIN, 0, PortletRequest.RENDER_PHASE);

    portletURL.setParameter("mvcRenderCommandName", "/bookmarks/view");
    portletURL.setParameter("folderId", String.valueOf(folderId));

    return portletURL.toString();
  }
示例#27
0
  @Override
  public PortletURL getViewContentURL(HttpServletRequest request, String className, long classPK)
      throws PortalException {

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    if (!themeDisplay.isSignedIn()
        || !isTrashEnabled(themeDisplay.getScopeGroupId())
        || !PortletPermissionUtil.hasControlPanelAccessPermission(
            themeDisplay.getPermissionChecker(),
            themeDisplay.getScopeGroupId(),
            PortletKeys.TRASH)) {

      return null;
    }

    TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(className);

    if (trashHandler.isInTrashContainer(classPK)) {
      TrashEntry trashEntry = trashHandler.getTrashEntry(classPK);

      className = trashEntry.getClassName();
      classPK = trashEntry.getClassPK();

      trashHandler = TrashHandlerRegistryUtil.getTrashHandler(className);
    }

    TrashRenderer trashRenderer = trashHandler.getTrashRenderer(classPK);

    if (trashRenderer == null) {
      return null;
    }

    Layout layout = themeDisplay.getLayout();

    PortletURL portletURL =
        PortalUtil.getControlPanelPortletURL(
            request, PortletKeys.TRASH, layout.getLayoutId(), PortletRequest.RENDER_PHASE);

    portletURL.setParameter("struts_action", "/trash/view_content");
    portletURL.setParameter("redirect", themeDisplay.getURLCurrent());

    TrashEntry trashEntry = TrashEntryLocalServiceUtil.getEntry(className, classPK);

    if (trashEntry.getRootEntry() != null) {
      portletURL.setParameter("className", className);
      portletURL.setParameter("classPK", String.valueOf(classPK));
    } else {
      portletURL.setParameter("trashEntryId", String.valueOf(trashEntry.getEntryId()));
    }

    portletURL.setParameter("type", trashRenderer.getType());
    portletURL.setParameter("showActions", Boolean.FALSE.toString());
    portletURL.setParameter("showAssetMetadata", Boolean.TRUE.toString());
    portletURL.setParameter("showEditURL", Boolean.FALSE.toString());

    return portletURL;
  }
示例#28
0
  public String getRenderURL(Map params) {

    PortletURL url = _renderResponse.createRenderURL();

    if (params != null) {

      Iterator iter = params.keySet().iterator();

      String paramName = "";
      String paramValue = "";

      while (iter.hasNext()) {
        paramName = (String) iter.next();

        if (paramName.equalsIgnoreCase(Constants.WINDOW_STATE)) {
          if ((paramValue = (String) params.get(paramName)) != null) {

            setWindowState(url, paramValue);
          }
        } else if (paramName.equalsIgnoreCase(Constants.PORTLET_MODE)) {
          if ((paramValue = (String) params.get(paramName)) != null) {

            setPortletMode(url, paramValue);
          }
        } else {
          if (!paramName.equalsIgnoreCase(Constants.URL_TYPE)
              && (paramValue = (String) params.get(paramName)) != null) {

            url.setParameter(paramName, paramValue);
          }
        }
      }
    }

    if (_consumerParameters != null) {

      Iterator iter2 = _consumerParameters.keySet().iterator();
      String name = null;
      String value = null;

      while (iter2.hasNext()) {

        if ((value = (String) _consumerParameters.get(name)) != null) {
          url.setParameter(name, value);
        }
      }
    }

    url.setParameter(WSRPProxyPortlet.REMOTE_INVOCATION, "true");

    return url.toString();
  }
  public void saveEntry(ActionRequest actionRequest, ActionResponse actionResponse)
      throws Exception {

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

    try {
      doSaveEntry(actionRequest, actionResponse);

      long entryId = ParamUtil.getLong(actionRequest, "entryId");

      if (entryId <= 0) {
        SessionMessages.add(actionRequest, "announcementAdded");
      } else {
        SessionMessages.add(actionRequest, "announcementUpdated");
      }

      LiferayPortletResponse liferayPortletResponse = (LiferayPortletResponse) actionResponse;

      PortletURL portletURL = liferayPortletResponse.createRenderURL();

      portletURL.setParameter("mvcPath", "/manage_entries.jsp");
      portletURL.setParameter(
          "distributionScope", ParamUtil.getString(actionRequest, "distributionScope"));

      jsonObject.put("redirect", portletURL.toString());

      jsonObject.put("success", true);
    } catch (Exception e) {
      String message = null;

      if (e instanceof EntryContentException) {
        message = "please-enter-valid-content";
      } else if (e instanceof EntryDisplayDateException) {
        message = "please-enter-a-valid-display-date";
      } else if (e instanceof EntryExpirationDateException) {
        message = "please-enter-a-valid-expiration-date";
      } else if (e instanceof EntryTitleException) {
        message = "please-enter-a-valid-title";
      } else if (e instanceof EntryURLException) {
        message = "please-enter-a-valid-url";
      } else {
        throw new PortletException(e);
      }

      SessionErrors.clear(actionRequest);

      jsonObject.put("message", translate(actionRequest, message));
      jsonObject.put("success", false);
    }

    writeJSON(actionRequest, actionResponse, jsonObject);
  }
示例#30
0
  protected void addBreadcrumbEntries(
      HttpServletRequest request,
      String className,
      long classPK,
      String paramName,
      PortletURL containerModelURL)
      throws PortalException {

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(className);

    List<ContainerModel> containerModels = trashHandler.getParentContainerModels(classPK);

    Collections.reverse(containerModels);

    containerModelURL.setParameter("struts_action", "/trash/view");

    PortalUtil.addPortletBreadcrumbEntry(
        request,
        LanguageUtil.get(themeDisplay.getLocale(), "recycle-bin"),
        containerModelURL.toString());

    for (ContainerModel containerModel : containerModels) {
      TrashHandler containerModelTrashHandler =
          TrashHandlerRegistryUtil.getTrashHandler(containerModel.getModelClassName());

      if (!containerModelTrashHandler.isInTrash(containerModel.getContainerModelId())) {

        continue;
      }

      containerModelURL.setParameter("struts_action", "/trash/view_content");

      containerModelURL.setParameter(
          paramName, String.valueOf(containerModel.getContainerModelId()));

      String name = containerModel.getContainerModelName();

      if (containerModelTrashHandler.isInTrash(containerModel.getContainerModelId())) {

        name = TrashUtil.getOriginalTitle(name);
      }

      PortalUtil.addPortletBreadcrumbEntry(request, name, containerModelURL.toString());
    }

    TrashRenderer trashRenderer = trashHandler.getTrashRenderer(classPK);

    PortalUtil.addPortletBreadcrumbEntry(
        request, trashRenderer.getTitle(themeDisplay.getLocale()), null);
  }