www/biomaterials/bioplateeventtypes/index.jsp

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