www/my_base/user/reset_filters.jsp

Code
Comments
Other
Rev Date Author Line
4377 05 Aug 08 nicklas 1 <%-- $Id$
4377 05 Aug 08 nicklas 2   ------------------------------------------------------------------
4377 05 Aug 08 nicklas 3   Copyright (C) 2005 Nicklas Nordborg
5425 23 Sep 10 nicklas 4   Copyright (C) 2006 Jari Häkkinen, Nicklas Nordborg, Martin Svensson
4377 05 Aug 08 nicklas 5   Copyright (C) 2007 Johan Enell, Nicklas Nordborg, Martin Svensson
4377 05 Aug 08 nicklas 6
4377 05 Aug 08 nicklas 7   This file is part of BASE - BioArray Software Environment.
4377 05 Aug 08 nicklas 8   Available at http://base.thep.lu.se/
4377 05 Aug 08 nicklas 9
4377 05 Aug 08 nicklas 10   BASE is free software; you can redistribute it and/or
4377 05 Aug 08 nicklas 11   modify it under the terms of the GNU General Public License
4476 05 Sep 08 jari 12   as published by the Free Software Foundation; either version 3
4377 05 Aug 08 nicklas 13   of the License, or (at your option) any later version.
4377 05 Aug 08 nicklas 14
4377 05 Aug 08 nicklas 15   BASE is distributed in the hope that it will be useful,
4377 05 Aug 08 nicklas 16   but WITHOUT ANY WARRANTY; without even the implied warranty of
4377 05 Aug 08 nicklas 17   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
4377 05 Aug 08 nicklas 18   GNU General Public License for more details.
4377 05 Aug 08 nicklas 19
4377 05 Aug 08 nicklas 20   You should have received a copy of the GNU General Public License
4511 11 Sep 08 jari 21   along with BASE. If not, see <http://www.gnu.org/licenses/>.
4377 05 Aug 08 nicklas 22   ------------------------------------------------------------------
4377 05 Aug 08 nicklas 23
4377 05 Aug 08 nicklas 24 --%>
5426 24 Sep 10 nicklas 25 <%@ page pageEncoding="UTF-8" session="false"
4377 05 Aug 08 nicklas 26   import="net.sf.basedb.core.SessionControl"
4377 05 Aug 08 nicklas 27   import="net.sf.basedb.core.Item"
5203 16 Dec 09 nicklas 28   import="net.sf.basedb.core.ItemContext"
4377 05 Aug 08 nicklas 29   import="net.sf.basedb.core.DbControl"
4377 05 Aug 08 nicklas 30   import="net.sf.basedb.core.User"
4377 05 Aug 08 nicklas 31   import="net.sf.basedb.clients.web.Base"
4377 05 Aug 08 nicklas 32   import="net.sf.basedb.clients.web.util.HTML"
4377 05 Aug 08 nicklas 33   import="net.sf.basedb.util.Values"
5203 16 Dec 09 nicklas 34   import="net.sf.basedb.util.ToStringComparator"
5203 16 Dec 09 nicklas 35   import="net.sf.basedb.util.NestedIterator"
5203 16 Dec 09 nicklas 36   import="java.util.Iterator"
4377 05 Aug 08 nicklas 37   import="java.util.List"
4377 05 Aug 08 nicklas 38   import="java.util.Set"
4377 05 Aug 08 nicklas 39   import="java.util.TreeSet"
4377 05 Aug 08 nicklas 40   import="java.util.HashSet"
4377 05 Aug 08 nicklas 41   import="java.util.Arrays"
4377 05 Aug 08 nicklas 42 %>
4377 05 Aug 08 nicklas 43 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
4377 05 Aug 08 nicklas 44 <%
4377 05 Aug 08 nicklas 45 final SessionControl sc = Base.getExistingSessionControl(pageContext, true);
4377 05 Aug 08 nicklas 46 final String ID = sc.getId();
4377 05 Aug 08 nicklas 47 final float scale = Base.getScale(sc);
4377 05 Aug 08 nicklas 48 final String activePage = request.getParameter("page");
7954 12 May 21 nicklas 49 final DbControl dc = sc.newDbControl(":Reset list settings");
4377 05 Aug 08 nicklas 50 try
4377 05 Aug 08 nicklas 51 {
4377 05 Aug 08 nicklas 52   final User user = User.getById(dc, sc.getLoggedInUserId());
5902 08 Dec 11 nicklas 53   final String title = "Reset list settings for "+HTML.encodeTags(user.getName());
5203 16 Dec 09 nicklas 54   final List<ItemContext> inMemory = sc.getAllCurrentContexts(true, false);
5203 16 Dec 09 nicklas 55   final List<ItemContext> inDatabase = sc.getAllCurrentContexts(false, true);
5203 16 Dec 09 nicklas 56   final Set<Item> items = new TreeSet<Item>(new ToStringComparator<Item>(false));
5203 16 Dec 09 nicklas 57   final Set<Item> dbOnly = new HashSet<Item>();
7605 26 Feb 19 nicklas 58   Iterator<ItemContext> it = new NestedIterator<ItemContext>(inMemory, inDatabase);
5203 16 Dec 09 nicklas 59   for (ItemContext ctx : inMemory)
5203 16 Dec 09 nicklas 60   {
5203 16 Dec 09 nicklas 61     if (ctx.getNumPropertyFilters() > 0 || ctx.getSortProperty() != null)
5203 16 Dec 09 nicklas 62     {
5203 16 Dec 09 nicklas 63       items.add(ctx.getItemType());
5203 16 Dec 09 nicklas 64     }
5203 16 Dec 09 nicklas 65   }
5203 16 Dec 09 nicklas 66   for (ItemContext ctx : inDatabase)
5203 16 Dec 09 nicklas 67   {
5203 16 Dec 09 nicklas 68     if (ctx.getNumPropertyFilters() > 0 || ctx.getSortProperty() != null)
5203 16 Dec 09 nicklas 69     {
5203 16 Dec 09 nicklas 70       if (items.add(ctx.getItemType())) dbOnly.add(ctx.getItemType());
5203 16 Dec 09 nicklas 71     }
5203 16 Dec 09 nicklas 72   }
4377 05 Aug 08 nicklas 73   %>
5902 08 Dec 11 nicklas 74   <base:page type="popup" title="<%=title%>">
6166 11 Oct 12 nicklas 75   <base:head scripts="~reset_filters.js" />
4377 05 Aug 08 nicklas 76   <base:body>
5902 08 Dec 11 nicklas 77     <h1><%=title%><base:help helpid="userpreferences.resetfilters" /></h1>
6162 10 Oct 12 nicklas 78     <form action="submit_user.jsp?ID=<%=ID%>" method="post" name="filters">
5903 09 Dec 11 nicklas 79     <input type=hidden name="cmd" value="ResetFilters">
5903 09 Dec 11 nicklas 80
6607 19 Nov 14 nicklas 81     <div class="content">
5904 09 Dec 11 nicklas 82       <table class="fullform smaller bottomborder">
5903 09 Dec 11 nicklas 83       <tr>
5903 09 Dec 11 nicklas 84         <th>Which list?</th>
5903 09 Dec 11 nicklas 85         <td>
6166 11 Oct 12 nicklas 86           <select name="item_type" id="itemType" class="selectionlist">
5903 09 Dec 11 nicklas 87             <option value="">- all -
5903 09 Dec 11 nicklas 88             <%
5903 09 Dec 11 nicklas 89             for (Item item : items)
5903 09 Dec 11 nicklas 90             {
5903 09 Dec 11 nicklas 91               %>
5903 09 Dec 11 nicklas 92               <option value="<%=item.name()%>"><%=dbOnly.contains(item) ? "* " : "" %><%=item%>
5902 08 Dec 11 nicklas 93               <%
5903 09 Dec 11 nicklas 94             }
5903 09 Dec 11 nicklas 95             %>
5903 09 Dec 11 nicklas 96           </select><br>
6607 19 Nov 14 nicklas 97           * = This setting is only in the database
5903 09 Dec 11 nicklas 98         </td>
5903 09 Dec 11 nicklas 99       </tr>
5903 09 Dec 11 nicklas 100       <tr class="double">
5903 09 Dec 11 nicklas 101         <th>Location</th>
5903 09 Dec 11 nicklas 102         <td>
5903 09 Dec 11 nicklas 103         <input type="checkbox" name="memory" id="memory" value="1" checked disabled>In-memory<br>
5903 09 Dec 11 nicklas 104         <input type="checkbox" name="database" id="database" value="1"><label for="database">In-database</label>
5903 09 Dec 11 nicklas 105         </td>
5903 09 Dec 11 nicklas 106       </tr>
6607 19 Nov 14 nicklas 107       <tr class="dynamic">
6607 19 Nov 14 nicklas 108         <th></th>
6607 19 Nov 14 nicklas 109         <td>
6607 19 Nov 14 nicklas 110           <div class="padded">
6607 19 Nov 14 nicklas 111           Use this functionality if you are experiencing problems when listing
6607 19 Nov 14 nicklas 112           items on a list page. Try first with only the 'In-memory' option selected.
6607 19 Nov 14 nicklas 113           If that doesn't help, try the 'In-database' option.
6607 19 Nov 14 nicklas 114           </div>
6607 19 Nov 14 nicklas 115         </td>
6607 19 Nov 14 nicklas 116       </tr>
5903 09 Dec 11 nicklas 117       </table>
6607 19 Nov 14 nicklas 118
5902 08 Dec 11 nicklas 119     </div>
5903 09 Dec 11 nicklas 120     </form>
4377 05 Aug 08 nicklas 121
5900 07 Dec 11 nicklas 122     <base:buttongroup subclass="dialogbuttons">
6166 11 Oct 12 nicklas 123       <base:button id="btnOk" title="Ok" />
6166 11 Oct 12 nicklas 124       <base:button id="close" title="Cancel" />
5900 07 Dec 11 nicklas 125     </base:buttongroup>
4377 05 Aug 08 nicklas 126   </base:body>
4377 05 Aug 08 nicklas 127   </base:page>
4377 05 Aug 08 nicklas 128   <%
4377 05 Aug 08 nicklas 129 }
4377 05 Aug 08 nicklas 130 finally
4377 05 Aug 08 nicklas 131 {
4377 05 Aug 08 nicklas 132   if (dc != null) dc.close();
4377 05 Aug 08 nicklas 133 }
4377 05 Aug 08 nicklas 134 %>