Changeset 7112


Ignore:
Timestamp:
Mar 16, 2016, 8:37:52 AM (6 years ago)
Author:
Nicklas Nordborg
Message:

References #1995: Add extension point for selecting start page

Added configuration setting in the BASE -> Preferences dialog for selecting the start page.

Location:
trunk/www/my_base/user
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/my_base/user/preferences.jsp

    r6624 r7112  
    4646  import="net.sf.basedb.clients.web.util.HTML"
    4747  import="net.sf.basedb.clients.web.formatter.FormatterSettings"
     48  import="net.sf.basedb.util.extensions.ExtensionsInvoker"
     49  import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
     50  import="net.sf.basedb.clients.web.extensions.JspContext"
     51  import="net.sf.basedb.clients.web.extensions.startpage.StartPageAction"
    4852  import="net.sf.basedb.util.Values"
    4953  import="java.util.List"
     
    7680 
    7781  final boolean rememberDialogPositions = Values.getBoolean(sc.getUserClientSetting("dialogs.remember-positions"), true);
     82  final String startPageId = sc.getUserClientSetting("start-page-id");
    7883 
    7984  ItemContext cc = sc.getCurrentContext(Item.USERCLIENTSETTING);
     
    8994  allItems.addAll(Metadata.getOwnableItems());
    9095  allItems.add(Item.BIOASSAYSET);
     96 
     97  JspContext context = ExtensionsControl.createContext(dc, pageContext, null, user);
     98  ExtensionsInvoker<StartPageAction> invoker = (ExtensionsInvoker<StartPageAction>)ExtensionsControl.useExtensions(context, "net.sf.basedb.clients.web.start-page");
    9199  %>
    92100  <base:page type="popup" title="<%="Preferences for "+HTML.encodeTags(user.getName())%>" id="preferences">
     
    305313          </td>
    306314        </tr>   
     315        <tr>
     316          <th>Start page</th>
     317          <td>
     318            <select name="start_page" class="selectionlist">
     319              <option value="" title="The BASE › Home page">BASE › Home
     320              <%
     321              Iterator<StartPageAction> it = invoker.iterator();
     322              while (it.hasNext())
     323              {
     324                try
     325                {
     326                  StartPageAction action = it.next();
     327                  %>
     328                  <option value="<%=action.getId()%>"
     329                    title="<%=HTML.encodeTags(action.getDescription())%>"
     330                    <%=action.getId().equals(startPageId) ? "selected": ""%>
     331                    ><%=HTML.encodeTags(action.getName())%>
     332                  <%
     333                }
     334                catch (RuntimeException ex)
     335                {} // Ignore exceptions thrown inside extensions
     336              }
     337              %>
     338            </select>
     339          </td>
     340        </tr>   
    307341        <tr class="dynamic">
    308342          <th></th>
  • trunk/www/my_base/user/submit_user.jsp

    r6520 r7112  
    154154    sc.setUserClientSetting("dialogs.remember-positions", Values.getBoolean(request.getParameter("remember_positions")) ? "1" : "0");
    155155   
     156    sc.setUserClientSetting("start-page-id", Values.getStringOrNull(request.getParameter("start_page")));
     157   
    156158    // Plugins tab
    157159    sc.setUserClientSetting("plugins.sendmessage", Values.getString(request.getParameter("sendmessage"), "0"));
Note: See TracChangeset for help on using the changeset viewer.