www/admin/news/list_news.jsp

Code
Comments
Other
Rev Date Author Line
1997 16 Feb 06 nicklas 1 <%-- $Id$
1997 16 Feb 06 nicklas 2   ------------------------------------------------------------------
5425 23 Sep 10 nicklas 3   Copyright (C) 2006 Jari Häkkinen, Nicklas Nordborg, Martin Svensson
3675 16 Aug 07 jari 4   Copyright (C) 2007 Johan Enell
1997 16 Feb 06 nicklas 5
2304 22 May 06 jari 6   This file is part of BASE - BioArray Software Environment.
2304 22 May 06 jari 7   Available at http://base.thep.lu.se/
1997 16 Feb 06 nicklas 8
1997 16 Feb 06 nicklas 9   BASE is free software; you can redistribute it and/or
1997 16 Feb 06 nicklas 10   modify it under the terms of the GNU General Public License
4476 05 Sep 08 jari 11   as published by the Free Software Foundation; either version 3
1997 16 Feb 06 nicklas 12   of the License, or (at your option) any later version.
1997 16 Feb 06 nicklas 13
1997 16 Feb 06 nicklas 14   BASE is distributed in the hope that it will be useful,
1997 16 Feb 06 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
1997 16 Feb 06 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1997 16 Feb 06 nicklas 17   GNU General Public License for more details.
1997 16 Feb 06 nicklas 18
1997 16 Feb 06 nicklas 19   You should have received a copy of the GNU General Public License
4510 11 Sep 08 jari 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
1997 16 Feb 06 nicklas 21   ------------------------------------------------------------------
1997 16 Feb 06 nicklas 22
1997 16 Feb 06 nicklas 23   @author Nicklas
1997 16 Feb 06 nicklas 24   @version 2.0
1997 16 Feb 06 nicklas 25 --%>
5426 24 Sep 10 nicklas 26 <%@ page pageEncoding="UTF-8" session="false"
1997 16 Feb 06 nicklas 27   import="net.sf.basedb.core.SessionControl"
1997 16 Feb 06 nicklas 28   import="net.sf.basedb.core.DbControl"
1997 16 Feb 06 nicklas 29   import="net.sf.basedb.core.Item"
1997 16 Feb 06 nicklas 30   import="net.sf.basedb.core.News"
1997 16 Feb 06 nicklas 31   import="net.sf.basedb.core.ItemQuery"
1997 16 Feb 06 nicklas 32   import="net.sf.basedb.core.Include"
1997 16 Feb 06 nicklas 33   import="net.sf.basedb.core.ItemResultIterator"
1997 16 Feb 06 nicklas 34   import="net.sf.basedb.core.ItemResultList"
1997 16 Feb 06 nicklas 35   import="net.sf.basedb.core.ItemContext"
1997 16 Feb 06 nicklas 36   import="net.sf.basedb.core.Permission"
1997 16 Feb 06 nicklas 37   import="net.sf.basedb.core.PluginDefinition"
1997 16 Feb 06 nicklas 38   import="net.sf.basedb.core.query.Orders"
1997 16 Feb 06 nicklas 39   import="net.sf.basedb.core.query.Hql"
1997 16 Feb 06 nicklas 40   import="net.sf.basedb.core.plugin.GuiContext"
1997 16 Feb 06 nicklas 41   import="net.sf.basedb.core.plugin.Plugin"
1997 16 Feb 06 nicklas 42   import="net.sf.basedb.util.Enumeration"
1997 16 Feb 06 nicklas 43   import="net.sf.basedb.clients.web.Base"
2401 21 Jun 06 martin 44   import="net.sf.basedb.clients.web.PermissionUtil"
1997 16 Feb 06 nicklas 45   import="net.sf.basedb.clients.web.ModeInfo"
1997 16 Feb 06 nicklas 46   import="net.sf.basedb.clients.web.util.HTML"
2942 22 Nov 06 nicklas 47   import="net.sf.basedb.util.formatter.Formatter"
2942 22 Nov 06 nicklas 48   import="net.sf.basedb.clients.web.formatter.FormatterFactory"
4886 03 Apr 09 nicklas 49   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
4886 03 Apr 09 nicklas 50   import="net.sf.basedb.clients.web.extensions.JspContext"
4886 03 Apr 09 nicklas 51   import="net.sf.basedb.clients.web.extensions.renderer.PrefixSuffixRenderer"
7604 25 Feb 19 nicklas 52   import="net.sf.basedb.clients.web.extensions.toolbar.ButtonAction" 
4886 03 Apr 09 nicklas 53   import="net.sf.basedb.clients.web.extensions.toolbar.ToolbarUtil"
7604 25 Feb 19 nicklas 54   import="net.sf.basedb.clients.web.extensions.list.ListColumnAction"
6045 03 Apr 12 nicklas 55   import="net.sf.basedb.clients.web.extensions.list.ListColumnUtil"
4886 03 Apr 09 nicklas 56   import="net.sf.basedb.util.extensions.ExtensionsInvoker"
2753 20 Oct 06 nicklas 57   import="net.sf.basedb.util.Values"
1997 16 Feb 06 nicklas 58   import="java.util.List"
1997 16 Feb 06 nicklas 59   import="java.util.Map"
2942 22 Nov 06 nicklas 60   import="java.util.Date"
1997 16 Feb 06 nicklas 61 %>
1997 16 Feb 06 nicklas 62 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
1997 16 Feb 06 nicklas 63 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
4886 03 Apr 09 nicklas 64 <%@ taglib prefix="ext" uri="/WEB-INF/extensions.tld" %>
1997 16 Feb 06 nicklas 65 <%!
1997 16 Feb 06 nicklas 66   private static final Item itemType = Item.NEWS;
1997 16 Feb 06 nicklas 67   private static final GuiContext guiContext = new GuiContext(itemType, GuiContext.Type.LIST);
1997 16 Feb 06 nicklas 68 %>
1997 16 Feb 06 nicklas 69 <%
1997 16 Feb 06 nicklas 70 final SessionControl sc = Base.getExistingSessionControl(pageContext, Permission.DENIED, itemType);
1997 16 Feb 06 nicklas 71 final String ID = sc.getId();
1997 16 Feb 06 nicklas 72 final boolean createPermission = sc.hasPermission(Permission.CREATE, itemType);
1997 16 Feb 06 nicklas 73 final boolean writePermission = sc.hasPermission(Permission.WRITE, itemType);
1997 16 Feb 06 nicklas 74 final boolean deletePermission = sc.hasPermission(Permission.DELETE, itemType);
1997 16 Feb 06 nicklas 75 final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, null);
1997 16 Feb 06 nicklas 76
1997 16 Feb 06 nicklas 77 final ModeInfo mode = ModeInfo.get(request.getParameter("mode"));
1997 16 Feb 06 nicklas 78 final String callback = request.getParameter("callback");
1997 16 Feb 06 nicklas 79 final String title = mode.generateTitle("news", "news");
7954 12 May 21 nicklas 80 final DbControl dc = sc.newDbControl(":List "+itemType);
1997 16 Feb 06 nicklas 81 ItemResultIterator<News> news = null;
1997 16 Feb 06 nicklas 82 try
1997 16 Feb 06 nicklas 83 {
1997 16 Feb 06 nicklas 84
1997 16 Feb 06 nicklas 85   Map<Plugin.MainType, Integer> pluginCount = PluginDefinition.countPlugins(dc, guiContext);
7914 23 Feb 21 nicklas 86   JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, guiContext, null);
1997 16 Feb 06 nicklas 87   try
1997 16 Feb 06 nicklas 88   {
7914 23 Feb 21 nicklas 89     final ItemQuery<News> query = Base.getConfiguredQuery(dc, cc, jspContext, true, News.getQuery(), mode);
1997 16 Feb 06 nicklas 90     news = query.iterate(dc);
1997 16 Feb 06 nicklas 91   }
1997 16 Feb 06 nicklas 92   catch (Throwable t)
1997 16 Feb 06 nicklas 93   {
1997 16 Feb 06 nicklas 94     cc.setMessage(t.getMessage());
1997 16 Feb 06 nicklas 95   }
1997 16 Feb 06 nicklas 96   int numListed = 0;
2942 22 Nov 06 nicklas 97   Formatter<Date> dateFormatter = FormatterFactory.getDateFormatter(sc);
7604 25 Feb 19 nicklas 98   ExtensionsInvoker<ButtonAction> invoker = ToolbarUtil.useExtensions(jspContext);
7604 25 Feb 19 nicklas 99   ExtensionsInvoker<ListColumnAction<News,?>> columnsInvoker = ListColumnUtil.useExtensions(jspContext);
1997 16 Feb 06 nicklas 100   %>
6220 10 Jan 13 nicklas 101   <base:page title="<%=title==null ? "News" : title%>" type="<%=mode.getPageType()%>" id="list-page">
6220 10 Jan 13 nicklas 102   <base:head scripts="table.js,~news.js" styles="table.css,toolbar.css">
4886 03 Apr 09 nicklas 103     <ext:scripts context="<%=jspContext%>" />
4886 03 Apr 09 nicklas 104     <ext:stylesheets context="<%=jspContext%>" />
1997 16 Feb 06 nicklas 105   </base:head>
1997 16 Feb 06 nicklas 106   
1997 16 Feb 06 nicklas 107   <base:body>
5954 13 Feb 12 nicklas 108     <h1><%=title==null ? "News" : title%></h1>
5954 13 Feb 12 nicklas 109     <div class="content">
1997 16 Feb 06 nicklas 110     <tbl:table 
1997 16 Feb 06 nicklas 111       id="news" 
1997 16 Feb 06 nicklas 112       columns="<%=cc.getSetting("columns")%>"
1997 16 Feb 06 nicklas 113       sortby="<%=cc.getSortProperty()%>" 
1997 16 Feb 06 nicklas 114       direction="<%=cc.getSortDirection()%>"
1997 16 Feb 06 nicklas 115       action="index.jsp"
1997 16 Feb 06 nicklas 116       sc="<%=sc%>"
1997 16 Feb 06 nicklas 117       item="<%=itemType%>"
6705 02 Feb 15 nicklas 118       filterrows="<%=cc.getFilterRows()%>"
5954 13 Feb 12 nicklas 119       subclass="fulltable"
7982 14 Jun 21 nicklas 120       stickyheaders="<%=cc.getSetting("columns.sticky", "name")%>"
1997 16 Feb 06 nicklas 121       >
1997 16 Feb 06 nicklas 122       <tbl:hidden 
1997 16 Feb 06 nicklas 123         name="mode" 
1997 16 Feb 06 nicklas 124         value="<%=mode.getName()%>" 
1997 16 Feb 06 nicklas 125       />
1997 16 Feb 06 nicklas 126       <tbl:hidden 
1997 16 Feb 06 nicklas 127         name="callback" 
1997 16 Feb 06 nicklas 128         value="<%=callback%>" 
1997 16 Feb 06 nicklas 129         skip="<%=callback == null%>" 
1997 16 Feb 06 nicklas 130       />
1997 16 Feb 06 nicklas 131       <tbl:columndef 
1997 16 Feb 06 nicklas 132         id="name"
1997 16 Feb 06 nicklas 133         property="name"
1997 16 Feb 06 nicklas 134         datatype="string"
1997 16 Feb 06 nicklas 135         title="Name"
1997 16 Feb 06 nicklas 136         sortable="true" 
1997 16 Feb 06 nicklas 137         filterable="true"
1997 16 Feb 06 nicklas 138         exportable="true"
1997 16 Feb 06 nicklas 139         show="always" 
1997 16 Feb 06 nicklas 140       />
1997 16 Feb 06 nicklas 141       <tbl:columndef 
4332 12 Jun 08 martin 142         id="id"
4387 11 Aug 08 nicklas 143         clazz="uniquecol"
4332 12 Jun 08 martin 144         property="id"
4332 12 Jun 08 martin 145         datatype="int"
4332 12 Jun 08 martin 146         title="ID"
4332 12 Jun 08 martin 147         sortable="true"
4332 12 Jun 08 martin 148         filterable="true"
4332 12 Jun 08 martin 149         exportable="true"
4332 12 Jun 08 martin 150       />
4332 12 Jun 08 martin 151       <tbl:columndef 
4698 10 Dec 08 nicklas 152         id="entryDate"
4698 10 Dec 08 nicklas 153         property="entryDate"
4698 10 Dec 08 nicklas 154         datatype="date"
4698 10 Dec 08 nicklas 155         title="Registered"
4698 10 Dec 08 nicklas 156         sortable="true" 
4698 10 Dec 08 nicklas 157         filterable="true"
4698 10 Dec 08 nicklas 158         exportable="true"
4698 10 Dec 08 nicklas 159         formatter="<%=dateFormatter%>"
4698 10 Dec 08 nicklas 160       />
4698 10 Dec 08 nicklas 161       <tbl:columndef 
7393 09 Jun 17 nicklas 162         id="sticky"
7393 09 Jun 17 nicklas 163         property="sticky"
7393 09 Jun 17 nicklas 164         datatype="boolean"
7393 09 Jun 17 nicklas 165         title="Sticky"
7393 09 Jun 17 nicklas 166         sortable="true"
7393 09 Jun 17 nicklas 167         filterable="true"
7393 09 Jun 17 nicklas 168         exportable="true"
7393 09 Jun 17 nicklas 169       />
7393 09 Jun 17 nicklas 170       <tbl:columndef 
1997 16 Feb 06 nicklas 171         id="startDate"
1997 16 Feb 06 nicklas 172         property="startDate"
1997 16 Feb 06 nicklas 173         datatype="date" 
1997 16 Feb 06 nicklas 174         title="Start date" 
1997 16 Feb 06 nicklas 175         sortable="true" 
1997 16 Feb 06 nicklas 176         filterable="true" 
1997 16 Feb 06 nicklas 177         exportable="true"
2942 22 Nov 06 nicklas 178         formatter="<%=dateFormatter%>"
1997 16 Feb 06 nicklas 179       />
1997 16 Feb 06 nicklas 180       <tbl:columndef 
1997 16 Feb 06 nicklas 181         id="newsDate" 
1997 16 Feb 06 nicklas 182         property="newsDate"
1997 16 Feb 06 nicklas 183         datatype="date" 
1997 16 Feb 06 nicklas 184         title="News date" 
1997 16 Feb 06 nicklas 185         sortable="true" 
1997 16 Feb 06 nicklas 186         filterable="true" 
1997 16 Feb 06 nicklas 187         exportable="true"
2942 22 Nov 06 nicklas 188         formatter="<%=dateFormatter%>"
1997 16 Feb 06 nicklas 189       />
1997 16 Feb 06 nicklas 190       <tbl:columndef 
1997 16 Feb 06 nicklas 191         id="endDate" 
1997 16 Feb 06 nicklas 192         property="endDate"
1997 16 Feb 06 nicklas 193         datatype="date" 
1997 16 Feb 06 nicklas 194         title="End date" 
1997 16 Feb 06 nicklas 195         sortable="true" 
1997 16 Feb 06 nicklas 196         filterable="true" 
1997 16 Feb 06 nicklas 197         exportable="true"
2942 22 Nov 06 nicklas 198         formatter="<%=dateFormatter%>"
1997 16 Feb 06 nicklas 199       />
1997 16 Feb 06 nicklas 200       <tbl:columndef 
1997 16 Feb 06 nicklas 201         id="description"
1997 16 Feb 06 nicklas 202         property="description"
1997 16 Feb 06 nicklas 203         datatype="string"
1997 16 Feb 06 nicklas 204         title="Description" 
1997 16 Feb 06 nicklas 205         sortable="true" 
1997 16 Feb 06 nicklas 206         filterable="true" 
1997 16 Feb 06 nicklas 207         exportable="true"
1997 16 Feb 06 nicklas 208       />
6045 03 Apr 12 nicklas 209       <tbl:columndef 
6045 03 Apr 12 nicklas 210         id="xt-columns" 
6045 03 Apr 12 nicklas 211         extensions="<%=columnsInvoker%>" 
6045 03 Apr 12 nicklas 212         jspcontext="<%=jspContext%>" 
6045 03 Apr 12 nicklas 213       />
6604 18 Nov 14 nicklas 214       <div class="panelgroup bg-filled-50 bottomborder">
5954 13 Feb 12 nicklas 215         <tbl:toolbar
5954 13 Feb 12 nicklas 216           subclass="bottomborder"
5954 13 Feb 12 nicklas 217           visible="<%=mode.hasToolbar()%>"
5954 13 Feb 12 nicklas 218           >
5954 13 Feb 12 nicklas 219           <tbl:button 
6220 10 Jan 13 nicklas 220             id="btnNewItem"
5954 13 Feb 12 nicklas 221             disabled="<%=!createPermission%>" 
5954 13 Feb 12 nicklas 222             image="new.png" 
5954 13 Feb 12 nicklas 223             title="New&hellip;" 
5954 13 Feb 12 nicklas 224             tooltip="<%=createPermission ? "Create news" : "You do not have permission to create news"%>" 
5954 13 Feb 12 nicklas 225           />
5954 13 Feb 12 nicklas 226           <tbl:button 
6220 10 Jan 13 nicklas 227             id="btnDeleteItems"
5954 13 Feb 12 nicklas 228             disabled="<%=!deletePermission%>" 
5954 13 Feb 12 nicklas 229             image="delete.png" 
5954 13 Feb 12 nicklas 230             title="Delete" 
5954 13 Feb 12 nicklas 231             tooltip="<%=deletePermission ? "Delete the selected items" : "You do not have permission to delete news" %>" 
5954 13 Feb 12 nicklas 232           />
5954 13 Feb 12 nicklas 233           <tbl:button 
6220 10 Jan 13 nicklas 234             id="btnRestoreItems"
5954 13 Feb 12 nicklas 235             disabled="<%=!writePermission%>" 
5954 13 Feb 12 nicklas 236             image="restore.png" 
5954 13 Feb 12 nicklas 237             title="Restore" 
5954 13 Feb 12 nicklas 238             tooltip="<%=writePermission ? "Restore the selected (deleted) items" : "You do not have permission to edit news" %>" 
5954 13 Feb 12 nicklas 239           />
5954 13 Feb 12 nicklas 240           <tbl:button 
6220 10 Jan 13 nicklas 241             id="btnColumns"
5954 13 Feb 12 nicklas 242             image="columns.png" 
5954 13 Feb 12 nicklas 243             title="Columns&hellip;" 
5954 13 Feb 12 nicklas 244             tooltip="Show, hide and re-order columns" 
5954 13 Feb 12 nicklas 245           />
5954 13 Feb 12 nicklas 246           <tbl:button 
6220 10 Jan 13 nicklas 247             id="btnImport"
6220 10 Jan 13 nicklas 248             data-plugin-type="IMPORT"
5954 13 Feb 12 nicklas 249             image="import.png" 
5954 13 Feb 12 nicklas 250             title="Import&hellip;" 
5954 13 Feb 12 nicklas 251             tooltip="Import data" 
5954 13 Feb 12 nicklas 252             visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
5954 13 Feb 12 nicklas 253           />
5954 13 Feb 12 nicklas 254           <tbl:button 
6220 10 Jan 13 nicklas 255             id="btnExport"
6220 10 Jan 13 nicklas 256             data-plugin-type="EXPORT"
5954 13 Feb 12 nicklas 257             image="export.png" 
5954 13 Feb 12 nicklas 258             title="Export&hellip;" 
5954 13 Feb 12 nicklas 259             tooltip="Export data" 
5954 13 Feb 12 nicklas 260             visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
5954 13 Feb 12 nicklas 261           />
5954 13 Feb 12 nicklas 262           <tbl:button 
6220 10 Jan 13 nicklas 263             id="btnRunPlugin"
6220 10 Jan 13 nicklas 264             data-plugin-type="OTHER"
5954 13 Feb 12 nicklas 265             image="runplugin.png" 
5954 13 Feb 12 nicklas 266             title="Run plugin&hellip;" 
5954 13 Feb 12 nicklas 267             tooltip="Run a plugin" 
5954 13 Feb 12 nicklas 268             visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
5954 13 Feb 12 nicklas 269           />
5954 13 Feb 12 nicklas 270           <ext:render extensions="<%=invoker%>" context="<%=jspContext%>" 
7604 25 Feb 19 nicklas 271             wrapper="<%=new PrefixSuffixRenderer<ButtonAction>(jspContext, "<td>", "</td>") %>"/>
5954 13 Feb 12 nicklas 272         </tbl:toolbar>
5954 13 Feb 12 nicklas 273         <tbl:panel>
6182 23 Oct 12 nicklas 274           <tbl:presetselector />
5954 13 Feb 12 nicklas 275           <tbl:navigator
5954 13 Feb 12 nicklas 276             page="<%=cc.getPage()%>" 
5954 13 Feb 12 nicklas 277             rowsperpage="<%=cc.getRowsPerPage()%>" 
5954 13 Feb 12 nicklas 278             totalrows="<%=news == null ? 0 : news.getTotalCount()%>" 
5954 13 Feb 12 nicklas 279             visible="<%=mode.hasNavigator()%>"
5954 13 Feb 12 nicklas 280           />
5954 13 Feb 12 nicklas 281         </tbl:panel>
5954 13 Feb 12 nicklas 282       </div>
1997 16 Feb 06 nicklas 283       <tbl:data>
5948 08 Feb 12 nicklas 284         <tbl:headers>
5948 08 Feb 12 nicklas 285           <tbl:headerrow>
7943 04 May 21 nicklas 286             <tbl:header clazz="row-index bg-filled-100" />
5948 08 Feb 12 nicklas 287             <tbl:columnheaders />
5948 08 Feb 12 nicklas 288           </tbl:headerrow>
6705 02 Feb 15 nicklas 289           <%
6705 02 Feb 15 nicklas 290           int numFilters = cc.getNumPropertyFilters();
6705 02 Feb 15 nicklas 291           int numRows = cc.getFilterRows();
6705 02 Feb 15 nicklas 292           for (int filterNo = 0; filterNo < numRows; filterNo++)
6705 02 Feb 15 nicklas 293           {
6705 02 Feb 15 nicklas 294             boolean lastRow = filterNo == numRows-1;
6705 02 Feb 15 nicklas 295             %>
6705 02 Feb 15 nicklas 296             <tbl:headerrow>
7943 04 May 21 nicklas 297               <tbl:header subclass="row-index bg-filled-100">
7943 04 May 21 nicklas 298                 <div class="index-<%=mode.getName()%>">
7943 04 May 21 nicklas 299                   <div class="index"></div>
7943 04 May 21 nicklas 300                   <div class="check">
7943 04 May 21 nicklas 301                     <base:icon 
7943 04 May 21 nicklas 302                       subclass="link table-check"
7943 04 May 21 nicklas 303                       image="check_uncheck.png" 
7943 04 May 21 nicklas 304                       tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)" 
7943 04 May 21 nicklas 305                       visible="<%=lastRow && mode.hasCheck()%>"
7943 04 May 21 nicklas 306                     />
7943 04 May 21 nicklas 307                   </div>
7943 04 May 21 nicklas 308                   <div class="icons">
7943 04 May 21 nicklas 309                     <base:icon
7943 04 May 21 nicklas 310                       subclass="link table-filter-row-action"
7943 04 May 21 nicklas 311                       image="add.png"
7943 04 May 21 nicklas 312                       tooltip="Add extra filter row"
7943 04 May 21 nicklas 313                       visible="<%=lastRow%>"
7943 04 May 21 nicklas 314                     /><base:icon
7943 04 May 21 nicklas 315                       subclass="link table-filter-row-action"
7943 04 May 21 nicklas 316                       image="remove.png"
7943 04 May 21 nicklas 317                       tooltip="Remove this filter row"
7943 04 May 21 nicklas 318                       visible="<%=numRows > 1 || numFilters > 0 %>"
7943 04 May 21 nicklas 319                       data-remove-row="<%=filterNo%>"
7943 04 May 21 nicklas 320                     />
7943 04 May 21 nicklas 321                   </div>
7943 04 May 21 nicklas 322                 </div>
6705 02 Feb 15 nicklas 323               </tbl:header>
6705 02 Feb 15 nicklas 324               <tbl:propertyfilter row="<%=filterNo%>" />
6705 02 Feb 15 nicklas 325             </tbl:headerrow>
6705 02 Feb 15 nicklas 326             <%
6705 02 Feb 15 nicklas 327           }
6705 02 Feb 15 nicklas 328           %>
7913 22 Feb 21 nicklas 329           <tbl:columnsubtitles />
5948 08 Feb 12 nicklas 330         </tbl:headers>
5948 08 Feb 12 nicklas 331         <tbl:rows>
1997 16 Feb 06 nicklas 332           <%
5954 13 Feb 12 nicklas 333           if (cc.getMessage() != null)
5954 13 Feb 12 nicklas 334           {
5954 13 Feb 12 nicklas 335             %>
6604 18 Nov 14 nicklas 336             <tbl:panel subclass="bg-filled-50">
5954 13 Feb 12 nicklas 337               <div class="messagecontainer error"><%=cc.getMessage()%></div>
5954 13 Feb 12 nicklas 338             </tbl:panel>
5954 13 Feb 12 nicklas 339             <%
5954 13 Feb 12 nicklas 340             cc.setMessage(null);
5954 13 Feb 12 nicklas 341           }
1997 16 Feb 06 nicklas 342           int index = cc.getPage()*cc.getRowsPerPage();
1997 16 Feb 06 nicklas 343           int selectedItemId = cc.getId();
1997 16 Feb 06 nicklas 344           if (news != null)
2500 09 Aug 06 martin 345           {            
1997 16 Feb 06 nicklas 346             while (news.hasNext())
1997 16 Feb 06 nicklas 347             {
1997 16 Feb 06 nicklas 348               News item = news.next();
1997 16 Feb 06 nicklas 349               int itemId = item.getId();
1997 16 Feb 06 nicklas 350               String name = HTML.encodeTags(item.getName());
2500 09 Aug 06 martin 351               String tooltip = mode.isSelectionMode() ? 
2500 09 Aug 06 martin 352                   "Select this item" : "View this item" + (writePermission ? " (use CTRL, ALT or SHIFT to edit)" : ""); 
1997 16 Feb 06 nicklas 353               index++;
1997 16 Feb 06 nicklas 354               numListed++;
1997 16 Feb 06 nicklas 355               %>
1997 16 Feb 06 nicklas 356               <tbl:row>
7943 04 May 21 nicklas 357                 <tbl:header clazz="row-index bg-filled-100">
7943 04 May 21 nicklas 358                   <div class="index-<%=mode.getName()%>">
7943 04 May 21 nicklas 359                     <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
7943 04 May 21 nicklas 360                     <div class="check">
7943 04 May 21 nicklas 361                       <base:input
7943 04 May 21 nicklas 362                         type="checkbox" 
7943 04 May 21 nicklas 363                         name="<%=itemId%>" 
7943 04 May 21 nicklas 364                         value="<%=itemId%>" 
7943 04 May 21 nicklas 365                         title="<%=name%>" 
7943 04 May 21 nicklas 366                         checked="<%=cc.getSelected().contains(itemId)%>"
7943 04 May 21 nicklas 367                         visible="<%=mode.hasCheck()%>"
7943 04 May 21 nicklas 368                       />
7943 04 May 21 nicklas 369                       <base:input 
7943 04 May 21 nicklas 370                         type="radio" 
7943 04 May 21 nicklas 371                         name="item_id" 
7943 04 May 21 nicklas 372                         value="<%=itemId%>" 
7943 04 May 21 nicklas 373                         title="<%=name%>" 
7943 04 May 21 nicklas 374                         checked="<%=selectedItemId == itemId%>"
7943 04 May 21 nicklas 375                         visible="<%=mode.hasRadio()%>"
7943 04 May 21 nicklas 376                       />
7943 04 May 21 nicklas 377                     </div>
7943 04 May 21 nicklas 378                     <div class="icons">
7943 04 May 21 nicklas 379                       <base:icon 
7943 04 May 21 nicklas 380                         image="deleted.png"
7943 04 May 21 nicklas 381                         id="<%="delete."+itemId %>"
7943 04 May 21 nicklas 382                         subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
7943 04 May 21 nicklas 383                         data-item-id="<%=itemId%>"
7943 04 May 21 nicklas 384                         tooltip="This item has been scheduled for deletion" 
7943 04 May 21 nicklas 385                         visible="<%=item.isRemoved()%>"
7943 04 May 21 nicklas 386                       />
7943 04 May 21 nicklas 387                     </div>
7943 04 May 21 nicklas 388                   </div>
7943 04 May 21 nicklas 389                 </tbl:header>
6220 10 Jan 13 nicklas 390                 <tbl:cell column="name"><div 
6220 10 Jan 13 nicklas 391                   class="link table-item"
6220 10 Jan 13 nicklas 392                   data-item-id="<%=itemId%>"
6220 10 Jan 13 nicklas 393                   data-no-edit="<%=writePermission ? 0 : 1 %>"
6220 10 Jan 13 nicklas 394                   tabindex="0"
2438 28 Jun 06 nicklas 395                   title="<%=tooltip%>"><%=name%></div></tbl:cell>
4332 12 Jun 08 martin 396                 <tbl:cell column="id"><%=item.getId()%></tbl:cell>
4698 10 Dec 08 nicklas 397                 <tbl:cell column="entryDate" value="<%=item.getEntryDate()%>" />
7393 09 Jun 17 nicklas 398                 <tbl:cell column="sticky"><%=item.isSticky() %></tbl:cell>
2942 22 Nov 06 nicklas 399                 <tbl:cell column="startDate" value="<%=item.getStartDate()%>" />
2942 22 Nov 06 nicklas 400                 <tbl:cell column="newsDate" value="<%=item.getNewsDate()%>" />
2942 22 Nov 06 nicklas 401                 <tbl:cell column="endDate" value="<%=item.getEndDate()%>" />
1997 16 Feb 06 nicklas 402                 <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell>
6045 03 Apr 12 nicklas 403                 <tbl:xt-cells dc="<%=dc%>" item="<%=item%>">
6045 03 Apr 12 nicklas 404                   <tbl:cell column="xt-columns" />
6045 03 Apr 12 nicklas 405                 </tbl:xt-cells>
1997 16 Feb 06 nicklas 406               </tbl:row>
1997 16 Feb 06 nicklas 407               <%
1997 16 Feb 06 nicklas 408               }
1997 16 Feb 06 nicklas 409             }
5954 13 Feb 12 nicklas 410           if (numListed == 0)
5954 13 Feb 12 nicklas 411           {
5954 13 Feb 12 nicklas 412             %>
6604 18 Nov 14 nicklas 413             <tbl:panel subclass="bg-filled-50">
5954 13 Feb 12 nicklas 414               <div class="messagecontainer note">
5954 13 Feb 12 nicklas 415               <%=news == null || news.getTotalCount() == 0 ? "No news were found" : "No news on this page. Please select another page!" %>
5954 13 Feb 12 nicklas 416               </div>
5954 13 Feb 12 nicklas 417             </tbl:panel>
5954 13 Feb 12 nicklas 418             <%
5954 13 Feb 12 nicklas 419           }
1997 16 Feb 06 nicklas 420           %>
5954 13 Feb 12 nicklas 421         </tbl:rows>
1997 16 Feb 06 nicklas 422       </tbl:data>
1997 16 Feb 06 nicklas 423     </tbl:table>
5954 13 Feb 12 nicklas 424     </div>
5954 13 Feb 12 nicklas 425     
5951 09 Feb 12 nicklas 426     <base:buttongroup subclass="dialogbuttons">
6220 10 Jan 13 nicklas 427       <base:button id="btnOk" title="Ok" visible="<%=mode.hasOkButton()%>" />
6220 10 Jan 13 nicklas 428       <base:button id="close" title="Cancel" visible="<%=mode.hasCancelButton()%>" />
6220 10 Jan 13 nicklas 429       <base:button id="close" title="Close" visible="<%=mode.hasCloseButton()%>" />
1997 16 Feb 06 nicklas 430     </base:buttongroup>
5951 09 Feb 12 nicklas 431     
1997 16 Feb 06 nicklas 432   </base:body>
1997 16 Feb 06 nicklas 433   </base:page>
1997 16 Feb 06 nicklas 434   <%
1997 16 Feb 06 nicklas 435 }
1997 16 Feb 06 nicklas 436 finally
1997 16 Feb 06 nicklas 437 {
1997 16 Feb 06 nicklas 438   if (news != null) news.close();
1997 16 Feb 06 nicklas 439   if (dc != null) dc.close();
1997 16 Feb 06 nicklas 440 }
3675 16 Aug 07 jari 441 %>