www/admin/reportertypes/index.jsp

Code
Comments
Other
Rev Date Author Line
1604 14 Nov 05 nicklas 1 <%-- $Id$
1604 14 Nov 05 nicklas 2   ------------------------------------------------------------------
3675 16 Aug 07 jari 3   Copyright (C) 2005 Nicklas Nordborg
5425 23 Sep 10 nicklas 4   Copyright (C) 2006 Jari Häkkinen, Nicklas Nordborg, Martin Svensson
1604 14 Nov 05 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/
1604 14 Nov 05 nicklas 8
1604 14 Nov 05 nicklas 9   BASE is free software; you can redistribute it and/or
1604 14 Nov 05 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
1604 14 Nov 05 nicklas 12   of the License, or (at your option) any later version.
1604 14 Nov 05 nicklas 13
1604 14 Nov 05 nicklas 14   BASE is distributed in the hope that it will be useful,
1604 14 Nov 05 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
1604 14 Nov 05 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1604 14 Nov 05 nicklas 17   GNU General Public License for more details.
1604 14 Nov 05 nicklas 18
1604 14 Nov 05 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/>.
1604 14 Nov 05 nicklas 21   ------------------------------------------------------------------
1604 14 Nov 05 nicklas 22
1604 14 Nov 05 nicklas 23   @author Nicklas
1604 14 Nov 05 nicklas 24   @version 2.0
1604 14 Nov 05 nicklas 25 --%>
5426 24 Sep 10 nicklas 26 <%@ page pageEncoding="UTF-8" session="false"
1604 14 Nov 05 nicklas 27   import="net.sf.basedb.core.SessionControl"
1604 14 Nov 05 nicklas 28   import="net.sf.basedb.core.DbControl"
1604 14 Nov 05 nicklas 29   import="net.sf.basedb.core.Item"
1998 16 Feb 06 nicklas 30   import="net.sf.basedb.core.Include"
1604 14 Nov 05 nicklas 31   import="net.sf.basedb.core.ReporterType"
1604 14 Nov 05 nicklas 32   import="net.sf.basedb.core.ItemQuery"
1604 14 Nov 05 nicklas 33   import="net.sf.basedb.core.Permission"
1998 16 Feb 06 nicklas 34   import="net.sf.basedb.core.ItemContext"
1998 16 Feb 06 nicklas 35   import="net.sf.basedb.core.MultiPermissions"
1998 16 Feb 06 nicklas 36   import="net.sf.basedb.core.PermissionDeniedException"
1998 16 Feb 06 nicklas 37   import="net.sf.basedb.core.ItemAlreadyExistsException"
1998 16 Feb 06 nicklas 38   import="net.sf.basedb.util.RemovableUtil"
1604 14 Nov 05 nicklas 39   import="net.sf.basedb.clients.web.Base"
1998 16 Feb 06 nicklas 40   import="net.sf.basedb.clients.web.WebException"
2753 20 Oct 06 nicklas 41   import="net.sf.basedb.util.Values"
1604 14 Nov 05 nicklas 42   import="net.sf.basedb.clients.web.util.HTML"
5510 19 Nov 10 nicklas 43   import="net.sf.basedb.core.plugin.GuiContext"
5510 19 Nov 10 nicklas 44   import="net.sf.basedb.util.extensions.ExtensionsInvoker"
5510 19 Nov 10 nicklas 45   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
5510 19 Nov 10 nicklas 46   import="net.sf.basedb.clients.web.extensions.JspContext"
5510 19 Nov 10 nicklas 47   import="net.sf.basedb.clients.web.extensions.edit.EditUtil"
7604 25 Feb 19 nicklas 48   import="net.sf.basedb.clients.web.extensions.edit.OnSaveAction"
5510 19 Nov 10 nicklas 49   import="net.sf.basedb.clients.web.extensions.edit.OnSaveRenderer"
6045 03 Apr 12 nicklas 50   import="net.sf.basedb.clients.web.extensions.list.ListColumnExportRenderer"
7604 25 Feb 19 nicklas 51   import="net.sf.basedb.clients.web.extensions.list.ListColumnAction"
6045 03 Apr 12 nicklas 52   import="net.sf.basedb.clients.web.extensions.list.ListColumnUtil"
1998 16 Feb 06 nicklas 53   import="java.util.Enumeration"
1998 16 Feb 06 nicklas 54   import="java.util.Set"
1998 16 Feb 06 nicklas 55   import="java.util.HashSet"
1998 16 Feb 06 nicklas 56   import="java.util.List"
1998 16 Feb 06 nicklas 57   import="java.util.ArrayList"
1998 16 Feb 06 nicklas 58   import="java.util.Collections"
1604 14 Nov 05 nicklas 59 %>
1604 14 Nov 05 nicklas 60 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
1604 14 Nov 05 nicklas 61 <%!
1998 16 Feb 06 nicklas 62   private static final ItemContext defaultContext = Base.createDefaultContext("name", "name,description");
1998 16 Feb 06 nicklas 63   private static final Item itemType = Item.REPORTERTYPE;
1604 14 Nov 05 nicklas 64 %>
1604 14 Nov 05 nicklas 65 <%
1998 16 Feb 06 nicklas 66 final SessionControl sc = Base.getExistingSessionControl(pageContext, true);
1604 14 Nov 05 nicklas 67 final String ID = sc.getId();
1998 16 Feb 06 nicklas 68 final String cmd = request.getParameter("cmd");
1998 16 Feb 06 nicklas 69 final String root = request.getContextPath()+"/";
1998 16 Feb 06 nicklas 70 final String mode = request.getParameter("mode");
1998 16 Feb 06 nicklas 71 final String callback = request.getParameter("callback");
1998 16 Feb 06 nicklas 72 final String itemId = request.getParameter("item_id");
1998 16 Feb 06 nicklas 73 final String listPage = "list_reportertypes.jsp?ID="+ID
1998 16 Feb 06 nicklas 74   +(mode == null ? "" : "&mode="+mode)
1998 16 Feb 06 nicklas 75   +(callback == null ? "" : "&callback="+callback)
1998 16 Feb 06 nicklas 76   +(itemId == null ? "" : "&item_id="+itemId);
1998 16 Feb 06 nicklas 77 final String viewPage = "view_reportertype.jsp?ID="+ID;
1998 16 Feb 06 nicklas 78 final String editPage = "edit_reportertype.jsp?ID="+ID;
1604 14 Nov 05 nicklas 79
1998 16 Feb 06 nicklas 80 String forward = null;
1998 16 Feb 06 nicklas 81 String redirect = null;
1998 16 Feb 06 nicklas 82 String message = null;
1998 16 Feb 06 nicklas 83 DbControl dc = null;
1998 16 Feb 06 nicklas 84
1604 14 Nov 05 nicklas 85 try
1604 14 Nov 05 nicklas 86 {
1998 16 Feb 06 nicklas 87   if (cmd == null || "List".equals(cmd))
1998 16 Feb 06 nicklas 88   {
1998 16 Feb 06 nicklas 89     // Display the list page without updatinging the current context
2811 26 Oct 06 nicklas 90     Base.getAndSetCurrentContext(sc, itemType, null, defaultContext, true);
1998 16 Feb 06 nicklas 91     redirect = listPage;
1998 16 Feb 06 nicklas 92   }
1998 16 Feb 06 nicklas 93   else if ("UpdateContext".equals(cmd))
1998 16 Feb 06 nicklas 94   {
1998 16 Feb 06 nicklas 95     // Display the list page after updating the current context from the request parameters
1998 16 Feb 06 nicklas 96     Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 97     redirect = listPage;
1998 16 Feb 06 nicklas 98   }
1998 16 Feb 06 nicklas 99   else if ("LoadContext".equals(cmd))
1998 16 Feb 06 nicklas 100   {
1998 16 Feb 06 nicklas 101     // Display the list page after loading a saved context
1998 16 Feb 06 nicklas 102     int contextId = Values.getInt(request.getParameter("context"));
1998 16 Feb 06 nicklas 103     Base.loadContext(sc, contextId, defaultContext);
1998 16 Feb 06 nicklas 104     redirect = listPage;
1998 16 Feb 06 nicklas 105   }
1998 16 Feb 06 nicklas 106
1998 16 Feb 06 nicklas 107   else if ("ViewItem".equals(cmd))
1998 16 Feb 06 nicklas 108   {
1998 16 Feb 06 nicklas 109     // Display the view page for a single item 
1998 16 Feb 06 nicklas 110     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 111     forward = viewPage;
1998 16 Feb 06 nicklas 112   }
1998 16 Feb 06 nicklas 113   else if ("EditItem".equals(cmd))
1998 16 Feb 06 nicklas 114   {
1998 16 Feb 06 nicklas 115     // Display the edit page for a single item (should be opened in a popup)
1998 16 Feb 06 nicklas 116     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 117     redirect = editPage;
1998 16 Feb 06 nicklas 118   }
1998 16 Feb 06 nicklas 119   else if ("NewItem".equals(cmd))
1998 16 Feb 06 nicklas 120   {
1998 16 Feb 06 nicklas 121     // Display the edit page for a new item (should be opened in a popup)
1998 16 Feb 06 nicklas 122     if (!sc.hasPermission(Permission.CREATE, itemType))
1604 14 Nov 05 nicklas 123     {
1998 16 Feb 06 nicklas 124       throw new PermissionDeniedException(Permission.CREATE, itemType.toString());
1604 14 Nov 05 nicklas 125     }
1998 16 Feb 06 nicklas 126     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 127     cc.setId(0);
1998 16 Feb 06 nicklas 128     redirect = editPage;
1998 16 Feb 06 nicklas 129   }
1998 16 Feb 06 nicklas 130   else if ("UpdateItem".equals(cmd))
1998 16 Feb 06 nicklas 131   {
1998 16 Feb 06 nicklas 132     // Update the properties on an item (will close the popup)
1998 16 Feb 06 nicklas 133     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, defaultContext);
7954 12 May 21 nicklas 134     dc = sc.newDbControl(":Edit "+itemType);
7605 26 Feb 19 nicklas 135     ReporterType reporterType = cc.getObject("item");
1998 16 Feb 06 nicklas 136     if (reporterType == null)
1604 14 Nov 05 nicklas 137     {
1998 16 Feb 06 nicklas 138       reporterType = ReporterType.getNew(dc);
1998 16 Feb 06 nicklas 139       message = "Reporter type created";
1998 16 Feb 06 nicklas 140       dc.saveItem(reporterType);
1604 14 Nov 05 nicklas 141     }
1998 16 Feb 06 nicklas 142     else
1604 14 Nov 05 nicklas 143     {
5060 19 Aug 09 nicklas 144       dc.reattachItem(reporterType, false);
1998 16 Feb 06 nicklas 145       message = "Reporter type updated";
1604 14 Nov 05 nicklas 146     }
5510 19 Nov 10 nicklas 147     JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, GuiContext.item(Item.REPORTERTYPE), reporterType);
7604 25 Feb 19 nicklas 148     ExtensionsInvoker<OnSaveAction> invoker = EditUtil.useOnSaveExtensions(jspContext);
5510 19 Nov 10 nicklas 149     try
5510 19 Nov 10 nicklas 150     {
5510 19 Nov 10 nicklas 151       reporterType.setName(Values.getStringOrNull(request.getParameter("name")));
5510 19 Nov 10 nicklas 152       reporterType.setDescription(Values.getStringOrNull(request.getParameter("description")));
5510 19 Nov 10 nicklas 153       
5510 19 Nov 10 nicklas 154       // OnSave extensions
5510 19 Nov 10 nicklas 155       invoker.render(OnSaveRenderer.ON_SAVE);
5510 19 Nov 10 nicklas 156       dc.commit();
5510 19 Nov 10 nicklas 157       invoker.render(OnSaveRenderer.ON_COMMIT);
5510 19 Nov 10 nicklas 158     }
5510 19 Nov 10 nicklas 159     catch (Exception ex)
5510 19 Nov 10 nicklas 160     {
5510 19 Nov 10 nicklas 161       invoker.render(OnSaveRenderer.onRollback(ex));
5510 19 Nov 10 nicklas 162       throw ex;
5510 19 Nov 10 nicklas 163     }
5510 19 Nov 10 nicklas 164     finally
5510 19 Nov 10 nicklas 165     {
5510 19 Nov 10 nicklas 166       cc.removeObject("item");
5510 19 Nov 10 nicklas 167     }
1998 16 Feb 06 nicklas 168   }
1998 16 Feb 06 nicklas 169   else if ("DeleteItem".equals(cmd))
1998 16 Feb 06 nicklas 170   {
1998 16 Feb 06 nicklas 171     // Delete a single item and then return to the view page
7954 12 May 21 nicklas 172     dc = sc.newDbControl(":Delete "+itemType);
1998 16 Feb 06 nicklas 173     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 174     RemovableUtil.setRemoved(dc, itemType, Collections.singleton(cc.getId()), true);
1998 16 Feb 06 nicklas 175     dc.commit();
1998 16 Feb 06 nicklas 176     redirect = viewPage;
1998 16 Feb 06 nicklas 177   }
1998 16 Feb 06 nicklas 178   else if ("DeleteItems".equals(cmd))
1998 16 Feb 06 nicklas 179   {
1998 16 Feb 06 nicklas 180     // Delete all selected items on the list page
7954 12 May 21 nicklas 181     dc = sc.newDbControl(":Delete "+itemType);
1998 16 Feb 06 nicklas 182     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 183     int numTotal = cc.getSelected().size();
1998 16 Feb 06 nicklas 184     int numRemoved = RemovableUtil.setRemoved(dc, itemType, cc.getSelected(), true);
1998 16 Feb 06 nicklas 185     dc.commit();
1998 16 Feb 06 nicklas 186     if (numTotal != numRemoved)
1604 14 Nov 05 nicklas 187     {
1998 16 Feb 06 nicklas 188       message = (numRemoved == 0 ? "No" : "Only "+numRemoved+" of "+numTotal) + " items could be deleted, because you have no DELETE permission";
1604 14 Nov 05 nicklas 189     }
6192 31 Oct 12 nicklas 190     redirect = listPage;
1998 16 Feb 06 nicklas 191   }
1998 16 Feb 06 nicklas 192   else if ("RestoreItem".equals(cmd))
1998 16 Feb 06 nicklas 193   {
1998 16 Feb 06 nicklas 194     // Restore a single item and then return to the view page
7954 12 May 21 nicklas 195     dc = sc.newDbControl(":Restore "+itemType);
1998 16 Feb 06 nicklas 196     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 197     RemovableUtil.setRemoved(dc, itemType, Collections.singleton(cc.getId()), false);
1998 16 Feb 06 nicklas 198     dc.commit();
1998 16 Feb 06 nicklas 199     redirect = viewPage;
1998 16 Feb 06 nicklas 200   }
1998 16 Feb 06 nicklas 201   else if ("RestoreItems".equals(cmd))
1998 16 Feb 06 nicklas 202   {
1998 16 Feb 06 nicklas 203     // Restore all selected items on the list page
7954 12 May 21 nicklas 204     dc = sc.newDbControl(":Restore "+itemType);
1998 16 Feb 06 nicklas 205     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 206     int numTotal = cc.getSelected().size();
1998 16 Feb 06 nicklas 207     int numRemoved = RemovableUtil.setRemoved(dc, itemType, cc.getSelected(), false);
1998 16 Feb 06 nicklas 208     dc.commit();
1998 16 Feb 06 nicklas 209     if (numTotal != numRemoved)
1604 14 Nov 05 nicklas 210     {
2528 15 Aug 06 martin 211       message = (numRemoved == 0 ? "No" : "Only "+numRemoved+" of "+numTotal) + " items could be restored, because you have no WRITE permission";
1604 14 Nov 05 nicklas 212     }
6192 31 Oct 12 nicklas 213     redirect = listPage;
1998 16 Feb 06 nicklas 214   }
1998 16 Feb 06 nicklas 215   else if ("ExportItems".equals(cmd))
1998 16 Feb 06 nicklas 216   {
1998 16 Feb 06 nicklas 217     // Run an export plugin in a list context
1998 16 Feb 06 nicklas 218     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 219     final ItemQuery<ReporterType> query = ReporterType.getQuery();
7954 12 May 21 nicklas 220     dc = sc.newDbControl(":Export "+itemType);
7914 23 Feb 21 nicklas 221     JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, GuiContext.list(itemType), null);
7914 23 Feb 21 nicklas 222     cc.configureQuery(dc, query, jspContext, true);
6045 03 Apr 12 nicklas 223     cc.setQuery(query);
7604 25 Feb 19 nicklas 224     ExtensionsInvoker<ListColumnAction<ReporterType,?>> listInvoker = ListColumnUtil.useExtensions(jspContext);
7604 25 Feb 19 nicklas 225     listInvoker.render(new ListColumnExportRenderer<ReporterType>(cc));
5590 16 Mar 11 nicklas 226     dc.close();
1998 16 Feb 06 nicklas 227     redirect = "../../common/export/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=LIST&title=Export+reporter+types";
1998 16 Feb 06 nicklas 228   }
1998 16 Feb 06 nicklas 229   else if ("ExportItem".equals(cmd))
1998 16 Feb 06 nicklas 230   {
1998 16 Feb 06 nicklas 231     // Run an export plugin in single-item context
1998 16 Feb 06 nicklas 232     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 233     redirect = "../../common/export/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=ITEM&title=Export+reporter+type";
1998 16 Feb 06 nicklas 234   }
1998 16 Feb 06 nicklas 235   else if ("ImportItems".equals(cmd))
1998 16 Feb 06 nicklas 236   {
1998 16 Feb 06 nicklas 237     // Run an import plugin in a list context
1998 16 Feb 06 nicklas 238     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 239     final ItemQuery<ReporterType> query = ReporterType.getQuery();
7954 12 May 21 nicklas 240     dc = sc.newDbControl(":Import "+itemType);
7914 23 Feb 21 nicklas 241     JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, GuiContext.list(itemType), null);
7914 23 Feb 21 nicklas 242     cc.configureQuery(dc, query, jspContext, true);
5590 16 Mar 11 nicklas 243     dc.close();
1998 16 Feb 06 nicklas 244     cc.setQuery(query);
1998 16 Feb 06 nicklas 245     redirect = "../../common/import/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=LIST&title=Import+reporter+types";
1998 16 Feb 06 nicklas 246   }
1998 16 Feb 06 nicklas 247   else if ("ImportItem".equals(cmd))
1998 16 Feb 06 nicklas 248   {
1998 16 Feb 06 nicklas 249     // Run an import plugin in single-item context
1998 16 Feb 06 nicklas 250     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 251     redirect = "../../common/import/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=ITEM&title=Import+reporter+type";
1998 16 Feb 06 nicklas 252   }
1998 16 Feb 06 nicklas 253   else if ("RunListPlugin".equals(cmd))
1998 16 Feb 06 nicklas 254   {
1998 16 Feb 06 nicklas 255     // Run another plugin in a list context
1998 16 Feb 06 nicklas 256     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 257     final ItemQuery<ReporterType> query = ReporterType.getQuery();
7954 12 May 21 nicklas 258     dc = sc.newDbControl(":Run plugin "+itemType);
7914 23 Feb 21 nicklas 259     JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, GuiContext.list(itemType), null);
7914 23 Feb 21 nicklas 260     cc.configureQuery(dc, query, jspContext, true);
5590 16 Mar 11 nicklas 261     dc.close();
1998 16 Feb 06 nicklas 262     cc.setQuery(query);
1998 16 Feb 06 nicklas 263     redirect = "../../common/plugin/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=LIST&main_type=OTHER&title=Run+plugin";
1998 16 Feb 06 nicklas 264   }
1998 16 Feb 06 nicklas 265   else if ("RunPlugin".equals(cmd))
1998 16 Feb 06 nicklas 266   {
1998 16 Feb 06 nicklas 267     // Run another plugin in single-item context
1998 16 Feb 06 nicklas 268     ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, pageContext, defaultContext);
1998 16 Feb 06 nicklas 269     redirect = "../../common/plugin/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=ITEM&main_type=OTHER&title=Run+plugin";
1998 16 Feb 06 nicklas 270   }
1998 16 Feb 06 nicklas 271   else
1998 16 Feb 06 nicklas 272   {
1998 16 Feb 06 nicklas 273     throw new WebException("popup", "Invalid command", "The command {1} is not recognised as a valid command.", cmd);
1998 16 Feb 06 nicklas 274   }
1604 14 Nov 05 nicklas 275 }
1604 14 Nov 05 nicklas 276 finally
1604 14 Nov 05 nicklas 277 {
1604 14 Nov 05 nicklas 278   if (dc != null) dc.close();
1604 14 Nov 05 nicklas 279 }
1998 16 Feb 06 nicklas 280
1998 16 Feb 06 nicklas 281 if (forward != null)
1998 16 Feb 06 nicklas 282 {
6192 31 Oct 12 nicklas 283   sc.setSessionSetting("alert-message", message);
1998 16 Feb 06 nicklas 284   pageContext.forward(forward);
1998 16 Feb 06 nicklas 285 }
1998 16 Feb 06 nicklas 286 else if (redirect != null)
1998 16 Feb 06 nicklas 287 {
6192 31 Oct 12 nicklas 288   sc.setSessionSetting("alert-message", message);
1998 16 Feb 06 nicklas 289   response.sendRedirect(redirect);
1998 16 Feb 06 nicklas 290 }
1998 16 Feb 06 nicklas 291 else if (message == null)
1998 16 Feb 06 nicklas 292 {
1998 16 Feb 06 nicklas 293   response.sendRedirect(root + "common/close_popup.jsp?refresh_opener=1&wait=0");
1998 16 Feb 06 nicklas 294 }
1998 16 Feb 06 nicklas 295 else
1998 16 Feb 06 nicklas 296 {
1998 16 Feb 06 nicklas 297   response.sendRedirect(root + "common/close_popup.jsp?refresh_opener=1&message="+HTML.urlEncode(message));
1998 16 Feb 06 nicklas 298 }
1998 16 Feb 06 nicklas 299 %>
1998 16 Feb 06 nicklas 300