Author: xlawrence
Date: Wed Aug 16 16:20:32 2006
New Revision: 14917

URL: https://svndev.jahia.net/websvn/listing.php?sc=1&rev=14917&repname=jahia
Log:
Improve implementation of navigation bar. Resolve some issues regarding locks 

Modified:
    trunk/core/src/java/org/jahia/engines/addcontainer/AddContainer_Engine.java
    
trunk/core/src/java/org/jahia/engines/updatecontainer/UpdateContainer_Engine.java
    trunk/core/src/webapp/jsp/jahia/engines/navigation.jsp

Modified: 
trunk/core/src/java/org/jahia/engines/addcontainer/AddContainer_Engine.java
URL: 
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/engines/addcontainer/AddContainer_Engine.java&rev=14917&repname=jahia
==============================================================================
--- trunk/core/src/java/org/jahia/engines/addcontainer/AddContainer_Engine.java 
(original)
+++ trunk/core/src/java/org/jahia/engines/addcontainer/AddContainer_Engine.java 
Wed Aug 16 16:20:32 2006
@@ -42,6 +42,7 @@
 import org.jahia.engines.EngineToolBox;
 import org.jahia.engines.JahiaEngine;
 import org.jahia.engines.JahiaEngineTools;
+import org.jahia.engines.updatecontainer.UpdateContainer_Engine;
 import org.jahia.engines.categories.ManageCategories;
 import org.jahia.engines.importexport.ManageContentPicker;
 import org.jahia.engines.importexport.ManageImportExport;
@@ -279,6 +280,34 @@
             throw new JahiaForbiddenAccessException();
         }
 
+        final String navigation = jParams.getParameter("navigation");
+        if (navigation != null && navigation.length() > 0 && 
!"new".equals(navigation)) {
+            final SessionState theSession = jParams.getSessionState();
+            theSession.setAttribute("Navigation", "Navigation");
+            if (jParams.settings().areLocksActivated()) {
+                final LockKey lockKey = 
LockKey.composeLockKey(LockKey.ADD_CONTAINER_TYPE, theContainer.getListID(),
+                        theContainer.getPageID());
+                final LockService lockRegistry = 
ServicesRegistry.getInstance().getLockService();
+                lockRegistry.release(lockKey, user, user.getUserKey());
+            }
+            final String cid;
+            if ("first".equals(navigation)) {
+                cid = (jParams.getParameter("first"));
+            } else if ("previous".equals(navigation)) {
+                cid = (jParams.getParameter("previous"));
+            } else {
+                throw new IllegalArgumentException("Validation param is 
unknow: " + navigation);
+            }
+
+            final UpdateContainer_Engine theEngine = 
UpdateContainer_Engine.getInstance();
+            jParams.getParameterMap().clear();
+            jParams.setParameter("cid", cid);
+            logger.debug("SWITCHING ENGINES: Navigating to container cid=" + 
cid);
+
+            theEngine.handleActions(jParams, jData);
+            return null;
+        }
+
         // displays the screen
         EngineToolBox.getInstance().displayScreen(jParams, engineMap);
 
@@ -305,8 +334,6 @@
     public EngineValidationHelper processLastScreen(final ProcessingContext 
jParams, final HashMap engineMap)
             throws JahiaException,
             JahiaForbiddenAccessException {
-        logger.debug("Processing last screen...");
-
         final EngineLanguageHelper elh = (EngineLanguageHelper) 
engineMap.get(JahiaEngine.ENGINE_LANGUAGE_HELPER);
 
         EngineValidationHelper evh = null;
@@ -320,6 +347,7 @@
             // reset session var
             jParams.getSessionState().removeAttribute("UpdateContainer");
         }
+        logger.debug("Processing last screen..." + lastScreen);
 
         // indicates to sub engines that we are processing last screen
         int mode = JahiaEngine.UPDATE_MODE;
@@ -407,7 +435,11 @@
             throws JahiaException,
             JahiaForbiddenAccessException {
 
-        logger.debug("Processing current screen...");
+        // gets the current screen
+        // screen   = edit, rights, logs
+        String theScreen = (String) engineMap.get("screen");
+        logger.debug("Processing current screen... " + theScreen);
+
 
         final EngineLanguageHelper elh = (EngineLanguageHelper)
                 engineMap.get(JahiaEngine.ENGINE_LANGUAGE_HELPER);
@@ -426,9 +458,7 @@
 
         engineMap.put("theContainer", theContainer);
 
-        // gets the current screen
-        // screen   = edit, rights, logs
-        String theScreen = (String) engineMap.get("screen");
+
 
         setDefaultWorkflowMode(theContainer, jParams, engineMap);
 
@@ -437,8 +467,7 @@
 
         // #ifdef LOCK
         final LockKey lockKey = 
LockKey.composeLockKey(LockKey.ADD_CONTAINER_TYPE,
-                theContainer.getListID(),
-                theContainer.getPageID());
+                theContainer.getListID(), theContainer.getPageID());
         // #endif
         final JahiaUser user = jParams.getUser();
         if (theScreen.equals("edit")) {
@@ -527,7 +556,7 @@
                     engineMap, list.getContentContainerList());
         } else if (theScreen.equals("save")) { //|| theScreen.equals("apply")) 
{
 
-            logger.debug("processCurrentScreen > we are in save Mode");
+            logger.debug("processCurrentScreen > we are in save Mode, 
navigation: " + jParams.getParameter("navigation"));
             if (transactionTemplate == null) {
                 final SpringContextSingleton instance = 
SpringContextSingleton.getInstance();
                 if (instance.isInitialized()) {
@@ -635,7 +664,17 @@
 //                    protected void 
doInTransactionWithoutResult(TransactionStatus status) {
 //                        try {
             // save the container info
-            int containerParentID = ((Integer) 
engineMap.get("containerParentID")).intValue();
+            int containerParentID = 0;
+            try {
+                containerParentID = ((Integer) 
engineMap.get("containerParentID")).intValue();
+            } catch (Exception e) {
+                try {
+                    containerParentID = 
Integer.parseInt(jParams.getParameter("cparentid"));
+                    engineMap.put("containerParentID", new 
Integer(containerParentID));
+                } catch (Exception ee) {
+                    logger.warn("Unable to set EngineMap value 
'containerParentID'");
+                }
+            }
             final int parentAclID;
             if (containerParentID != 0) {
                 parentAclID = 
ServicesRegistry.getInstance().getJahiaContainersService().
@@ -768,6 +807,7 @@
         } catch (Exception e) {
             try {
                 containerParentID = 
Integer.parseInt(jParams.getParameter("cparentid"));
+                engineMap.put("containerParentID", new 
Integer(containerParentID));
             } catch (Exception ee) {
                 logger.warn("Unable to set EngineMap value 
'containerParentID'");
             }
@@ -894,11 +934,13 @@
         ContainerFieldsEditHelper feh = null;
         int lastFieldId = 0;
         String theScreen = jParams.getParameter("screen");
+
         logger.debug("Initializing engine map for screen [" + theScreen + "]");
 
         // gets session values
         //HttpSession theSession = jParams.getRequest().getSession( true );
         final SessionState theSession = jParams.getSessionState();
+        final boolean isNavigation = theSession.getAttribute("Navigation") != 
null;
 
         // flag for subEngine: means that is a call from  AddContainer
         theSession.setAttribute("AddContainer", "true");
@@ -922,10 +964,10 @@
 
         final JahiaContentContainerFacade jahiaContentContainerFacade;
         final HashMap engineMap;
-        if (theScreen != null) {
+        if (theScreen != null && !isNavigation) {
+            logger.debug("The Screen is not null, load it from session: " + 
theScreen);
             // if no, load the container value from the session
-            engineMap = (HashMap) theSession.getAttribute(
-                    "jahia_session_engineMap");
+            engineMap = (HashMap) 
theSession.getAttribute("jahia_session_engineMap");
 
             
///////////////////////////////////////////////////////////////////////////////////////
             // FIXME -Fulco-
@@ -944,6 +986,7 @@
                     
.append(".").append(FieldsEditHelperAbstract.FIELDS_EDIT_HELPER_CONTEXTID)
                     .toString());
         } else {
+             logger.debug("the Screen is null load from storage, Navigation: " 
+ isNavigation);
             // init engine map
             engineMap = new HashMap();
             org.jahia.engines.shared.Page_Field.resetPageBeanSession(jParams);
@@ -976,6 +1019,7 @@
 
             theScreen = "edit";
             engineMap.put("containerParentID", new Integer(parentID));
+            theSession.removeAttribute("Navigation");
         }
 
         // Init Engine Language Helper
@@ -990,7 +1034,7 @@
 
         ensureContainerList(theContainer, engineMap, jParams);
 
-        if (feh == null) {
+        if (feh == null || isNavigation) {
             feh = new ContainerFieldsEditHelper(theContainer);
             // create the edit view
             final HashMap ctnListFieldAcls = 
JahiaEngineTools.getCtnListFieldAclMap(theContainer, jParams);

Modified: 
trunk/core/src/java/org/jahia/engines/updatecontainer/UpdateContainer_Engine.java
URL: 
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/engines/updatecontainer/UpdateContainer_Engine.java&rev=14917&repname=jahia
==============================================================================
--- 
trunk/core/src/java/org/jahia/engines/updatecontainer/UpdateContainer_Engine.java
 (original)
+++ 
trunk/core/src/java/org/jahia/engines/updatecontainer/UpdateContainer_Engine.java
 Wed Aug 16 16:20:32 2006
@@ -238,27 +238,31 @@
                     if (theScreen.equals("apply")) {
                         final String navigation = 
jParams.getParameter("navigation");
                         if (navigation != null && navigation.length() > 0) {
-                            final String newCID;
-                            if ("first".equals(navigation)) {
-                                newCID = jParams.getParameter("first");
-                            } else if ("previous".equals(navigation)) {
-                                newCID = jParams.getParameter("previous");
-                            } else if ("next".equals(navigation)) {
-                                newCID = jParams.getParameter("next");
-                            } else if ("last".equals(navigation)) {
-                                newCID = jParams.getParameter("last");
+                            if ("new".equals(navigation)) {
+                                return null;
                             } else {
-                                throw new IllegalArgumentException("Validation 
param is unknow: " + navigation);
+                                final String newCID;
+                                if ("first".equals(navigation)) {
+                                    newCID = jParams.getParameter("first");
+                                } else if ("previous".equals(navigation)) {
+                                    newCID = jParams.getParameter("previous");
+                                } else if ("next".equals(navigation)) {
+                                    newCID = jParams.getParameter("next");
+                                } else if ("last".equals(navigation)) {
+                                    newCID = jParams.getParameter("last");
+                                } else {
+                                    throw new 
IllegalArgumentException("Validation param is unknow: " + navigation);
+                                }
+                                final String newEngineURL = 
jParams.composeEngineUrl(ENGINE_NAME, "?cid=" + newCID);
+                                engineMap.put(ENGINE_URL_PARAM, newEngineURL);
+
+                                final SessionState theSession = 
jParams.getSessionState();
+                                theSession.setAttribute("Navigation", 
"Navigation");
+
+                                logger.debug("reloading engineMap and 
handleActions for navigation");
+                                handleActions(jParams, jData, newCID, "edit");
+                                return null;
                             }
-                            final String newEngineURL = 
jParams.composeEngineUrl(ENGINE_NAME, "?cid=" + newCID);
-                            engineMap.put(ENGINE_URL_PARAM, newEngineURL);
-
-                            final SessionState theSession = 
jParams.getSessionState();
-                            theSession.setAttribute("Navigation", 
"Navigation");
-
-                            logger.debug("reloading engineMap and 
handleActions for navigation");
-                            handleActions(jParams, jData, newCID, "edit");
-                            return null;
                         }
                     }
                     lockEngine.redirect(jParams, engineMap, lockKey);
@@ -274,27 +278,49 @@
         if (theScreen.equals("apply")) {
             final String navigation = jParams.getParameter("navigation");
             if (navigation != null && navigation.length() > 0) {
-                final String newEngineURL;
-                if ("first".equals(navigation)) {
-                    newEngineURL = jParams.composeEngineUrl(ENGINE_NAME, 
"?cid=" + jParams.getParameter("first"));
-                } else if ("previous".equals(navigation)) {
-                    newEngineURL = jParams.composeEngineUrl(ENGINE_NAME, 
"?cid=" + jParams.getParameter("previous"));
-                } else if ("next".equals(navigation)) {
-                    newEngineURL = jParams.composeEngineUrl(ENGINE_NAME, 
"?cid=" + jParams.getParameter("next"));
-                } else if ("last".equals(navigation)) {
-                    newEngineURL = jParams.composeEngineUrl(ENGINE_NAME, 
"?cid=" + jParams.getParameter("last"));
-                } else {
-                    throw new IllegalArgumentException("Validation param is 
unknow: " + navigation);
-                }
-                engineMap.put(ENGINE_URL_PARAM, newEngineURL);
+                final SessionState theSession = jParams.getSessionState();
+                theSession.setAttribute("Navigation", "Navigation");
                 if (jParams.settings().areLocksActivated()) {
                     final LockKey lockKey = 
LockKey.composeLockKey(LockKey.UPDATE_CONTAINER_TYPE, theContainer.getID(),
                             theContainer.getPageID());
                     final LockService lockRegistry = 
servicesRegistry.getLockService();
                     lockRegistry.release(lockKey, user, user.getUserKey());
                 }
-                final SessionState theSession = jParams.getSessionState();
-                theSession.setAttribute("Navigation", "Navigation");
+                final String newEngineURL;
+                if ("new".equals(navigation)) {
+                    final AddContainer_Engine theEngine = 
AddContainer_Engine.getInstance();
+                    EntryLoadRequest loadVersion = EntryLoadRequest.CURRENT;
+                    if 
(servicesRegistry.getJahiaVersionService().isStagingEnabled(theContainer.getJahiaID()))
 {
+                        loadVersion = EntryLoadRequest.STAGED;
+                    }
+                    final JahiaContainerList theList = 
servicesRegistry.getJahiaContainersService().
+                            loadContainerListInfo(theContainer.getListID(), 
loadVersion);
+                    final String link = theEngine.renderLink(jParams, theList);
+                    final String params = link.substring(link.indexOf("?") + 
1);
+                    final StringTokenizer tokenizer = new 
StringTokenizer(params, "&");
+                    jParams.getParameterMap().clear();
+                    while (tokenizer.hasMoreTokens()) {
+                        final String token = tokenizer.nextToken();
+                        final int index = token.indexOf("=");
+                        jParams.setParameter(token.substring(0, index), 
token.substring(index + 1, token.length()));
+                    }
+
+                    theEngine.handleActions(jParams, jData);
+                    return null;
+                } else {
+                    if ("first".equals(navigation)) {
+                        newEngineURL = jParams.composeEngineUrl(ENGINE_NAME, 
"?cid=" + jParams.getParameter("first"));
+                    } else if ("previous".equals(navigation)) {
+                        newEngineURL = jParams.composeEngineUrl(ENGINE_NAME, 
"?cid=" + jParams.getParameter("previous"));
+                    } else if ("next".equals(navigation)) {
+                        newEngineURL = jParams.composeEngineUrl(ENGINE_NAME, 
"?cid=" + jParams.getParameter("next"));
+                    } else if ("last".equals(navigation)) {
+                        newEngineURL = jParams.composeEngineUrl(ENGINE_NAME, 
"?cid=" + jParams.getParameter("last"));
+                    } else {
+                        throw new IllegalArgumentException("Validation param 
is unknow: " + navigation);
+                    }
+                    engineMap.put(ENGINE_URL_PARAM, newEngineURL);
+                }
             }
         }
 
@@ -802,6 +828,9 @@
             theScreen = jParams.getParameter("screen");
         }
 
+        logger.debug("screen: " + theScreen + ", nav: " + 
jParams.getParameter("navigation"));
+        logger.debug("isNavigation: " + isNavigation);
+
         final String ctnidStr;
         if (forcedCid != null && forcedCid.length() > 0) {
             ctnidStr = forcedCid;
@@ -902,8 +931,8 @@
             // init the JahiaContentFieldFacade
             final ArrayList localeList = 
jParams.getSite().getLanguageSettingsAsLocales(false);
 
-            jahiaContentContainerFacade
-                    = new 
JahiaContentContainerFacade(container.getJahiaContainer(jParams, 
jParams.getEntryLoadRequest()),
+            jahiaContentContainerFacade = new 
JahiaContentContainerFacade(container.getJahiaContainer(jParams,
+                    jParams.getEntryLoadRequest()),
                     jParams.getPage(),
                     LoadFlags.ALL,
                     jParams,

Modified: trunk/core/src/webapp/jsp/jahia/engines/navigation.jsp
URL: 
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/webapp/jsp/jahia/engines/navigation.jsp&rev=14917&repname=jahia
==============================================================================
--- trunk/core/src/webapp/jsp/jahia/engines/navigation.jsp (original)
+++ trunk/core/src/webapp/jsp/jahia/engines/navigation.jsp Wed Aug 16 16:20:32 
2006
@@ -4,15 +4,13 @@
 <%@ page import="org.jahia.data.containers.JahiaContainerList" %>
 <%@ page import="org.jahia.engines.JahiaEngine" %>
 <%@ page import="org.jahia.engines.addcontainer.AddContainer_Engine" %>
-<%@ page import="java.util.HashMap"%>
-<%@ page import="java.util.Vector"%>
-<%@ page import="org.jahia.registries.ServicesRegistry"%>
-<%@ page import="org.jahia.data.fields.LoadFlags"%>
+<%@ page import="java.util.HashMap" %>
+<%@ page import="java.util.Vector" %>
 <%@ taglib uri="JahiaLib" prefix="jahia" %>
 <jsp:useBean id="jspSource" class="java.lang.String" scope="request"/>
 
 <%!
-//    private static final org.apache.log4j.Logger logger = 
org.apache.log4j.Logger.
+    //    private static final org.apache.log4j.Logger logger = 
org.apache.log4j.Logger.
 //            getLogger("jsp.jahia.engines.navigation");
 
     private static int getNextCtnID(final Vector ids, final int currentID) {
@@ -23,15 +21,13 @@
         return -1;
     }
 
-    private static int getLastCtnID(final Vector ids, final int currentID) {
-        for (int i = 0; i < ids.size(); i++) {
-            final int value = ((Integer) ids.get(i)).intValue();
-            if (value == currentID) return ((Integer) ids.get(ids.size() - 
1)).intValue();
-        }
-        return -1;
+    private static int getLastCtnID(final Vector ids) {
+        if (ids.size() == 0) return -1;
+        return ((Integer) ids.get(ids.size() - 1)).intValue();
     }
 
-    private static int getPreviousCtnID(final Vector ids, final int currentID) 
{
+    private static int getPreviousCtnID(final Vector ids, final int currentID, 
final boolean isAddContainer) {
+        if (isAddContainer) return getLastCtnID(ids);
         for (int i = 0; i < ids.size(); i++) {
             final int value = ((Integer) ids.get(i)).intValue();
             if (value == currentID) return ((Integer) ids.get(i - 
1)).intValue();
@@ -39,12 +35,9 @@
         return -1;
     }
 
-    private static int getFirstCtnID(final Vector ids, final int currentID) {
-        for (int i = 0; i < ids.size(); i++) {
-            final int value = ((Integer) ids.get(i)).intValue();
-            if (value == currentID) return ((Integer) ids.get(0)).intValue();
-        }
-        return -1;
+    private static int getFirstCtnID(final Vector ids) {
+        if (ids.size() == 0) return -1;
+        return ((Integer) ids.get(0)).intValue();
     }
 
     private static int getCtnIndex(final Vector ids, final int currentID) {
@@ -78,23 +71,20 @@
 <script type="text/javascript">
     function navigate(goTo) {
         document.mainForm.navigation.value = goTo;
-    <% if (isAddContainer && enablePrevious) {
-        session.setAttribute("Navigation", "Navigation");
-        final JahiaContainer cont = 
ServicesRegistry.getInstance().getJahiaContainersService().
-            loadContainer(((Integer)ctnIds.get(0)).intValue(), LoadFlags.ALL, 
jData.getProcessingContext());
-        final JahiaContainer cont2 = 
ServicesRegistry.getInstance().getJahiaContainersService().
-            loadContainer(((Integer)ctnIds.get(ctnIds.size() - 1)).intValue(), 
LoadFlags.ALL, jData.getProcessingContext());
-    %>
+    <% if (isAddContainer) { %>
         sendFormSaveAndAddNew();
-        if (goTo == "first") {
-            document.location.href = 
"<%=jData.gui().drawUpdateContainerUrl(cont)%>";
+    <% } else { %>
+        if (goTo == "new") {
+        <% if(isLocked){ %>
+            submittedCount++;
+            document.location.href = 
'<%=jData.gui().drawAddContainerUrl((JahiaContainerList)session.getAttribute("getSorteredAndFilteredCtnIdsList"
 + listID))%>';
+        <% } else { %>
+            sendFormApply();
+        <% } %>
         } else {
-            document.location.href = 
"<%=jData.gui().drawUpdateContainerUrl(cont2)%>";
+            sendFormApply();
         }
-    <% } else { %>
-        sendFormApply();
     <% } %>
-        submittedCount++;
     }
 </script>
 
@@ -114,7 +104,7 @@
                  width="24"
                  height="24"/>
         </a>
-        <input type="hidden" name="first" value="<%=getFirstCtnID(ctnIds, 
theEditedContainer.getID())%>"/>
+        <input type="hidden" name="first" value="<%= getFirstCtnID(ctnIds)%>"/>
         <% } else { %>
         <img alt='<jahia:engineResourceBundle 
resourceName="org.jahia.navigation.toFirst.button"/> 
(<jahia:engineResourceBundle resourceName="org.jahia.disabled"/>)'
              title='<jahia:engineResourceBundle 
resourceName="org.jahia.navigation.toFirst.button"/> 
(<jahia:engineResourceBundle resourceName="org.jahia.disabled"/>)'
@@ -134,7 +124,7 @@
                  width="24"
                  height="24"/>
         </a>
-        <input type="hidden" name="previous" 
value="<%=getPreviousCtnID(ctnIds, theEditedContainer.getID())%>"/>
+        <input type="hidden" name="previous" 
value="<%=getPreviousCtnID(ctnIds, theEditedContainer.getID(), 
isAddContainer)%>"/>
         <% } else { %>
         <img alt='<jahia:engineResourceBundle 
resourceName="org.jahia.navigation.toPrevious.button"/> 
(<jahia:engineResourceBundle resourceName="org.jahia.disabled"/>)'
              title='<jahia:engineResourceBundle 
resourceName="org.jahia.navigation.toPrevious.button"/> 
(<jahia:engineResourceBundle resourceName="org.jahia.disabled"/>)'
@@ -144,11 +134,7 @@
         <% } %>
     </td>
     <td>
-        <% if (isAddContainer) { %>
-        <a href="javascript:sendFormSaveAndAddNew();" 
onclick="javascript:setWaitingCursor(1);">
-        <% } else { %>
-        <a 
href="javascript:<%if(!isLocked){%>sendFormApply();<%}%>submittedCount++;document.location.href='<%=jData.gui().drawAddContainerUrl((JahiaContainerList)session.getAttribute("getSorteredAndFilteredCtnIdsList"
 + listID))%>';">
-        <% } %>
+        <a href="javascript:navigate('new');">
             <img alt='<jahia:engineResourceBundle 
resourceName="org.jahia.engines.addcontainer.AddContainer.label"/>'
                  title='<jahia:engineResourceBundle 
resourceName="org.jahia.engines.addcontainer.AddContainer.label"/>'
                  onmouseover="this.src 
='<jahia:serverHttpPath/>/jsp/jahia/engines/images/element_add_on.gif'"
@@ -189,7 +175,7 @@
                  width="24"
                  height="24"/>
         </a>
-        <input type="hidden" name="last" value="<%=getLastCtnID(ctnIds, 
theEditedContainer.getID())%>"/>
+        <input type="hidden" name="last" value="<%=getLastCtnID(ctnIds)%>"/>
         <% } else { %>
         <img alt='<jahia:engineResourceBundle 
resourceName="org.jahia.navigation.toLast.button"/> 
(<jahia:engineResourceBundle resourceName="org.jahia.disabled"/>)'
              title='<jahia:engineResourceBundle 
resourceName="org.jahia.navigation.toLast.button"/> 
(<jahia:engineResourceBundle resourceName="org.jahia.disabled"/>)'
@@ -216,11 +202,7 @@
              height="24"/>
     </td>
     <td>
-        <% if (isAddContainer) { %>
-        <a href="javascript:sendFormSaveAndAddNew();" 
onclick="javascript:setWaitingCursor(1);">
-        <% } else { %>
-        <a 
href="javascript:<%if(!isLocked){%>sendFormApply();submittedCount++;<%}%>document.location.href='<%=jData.gui().drawAddContainerUrl((JahiaContainerList)session.getAttribute("getSorteredAndFilteredCtnIdsList"
 + listID))%>';">
-        <% } %>
+        <a href="javascript:navigate('new');">
             <img alt='<jahia:engineResourceBundle 
resourceName="org.jahia.engines.addcontainer.AddContainer.label"/>'
                  title='<jahia:engineResourceBundle 
resourceName="org.jahia.engines.addcontainer.AddContainer.label"/>'
                  onmouseover="this.src 
='<jahia:serverHttpPath/>/jsp/jahia/engines/images/element_add_on.gif'"
@@ -250,7 +232,8 @@
     <% if (isAddContainer) { %>
     <td>&nbsp;</td><td>&nbsp;</td><td colspan="3"><%=ctnIds.size() + 1%> / 
<%=ctnIds.size() + 1%></td>
     <% } else { %>
-    <td>&nbsp;</td><td>&nbsp;</td><td colspan="3"><%=getCtnIndex(ctnIds, 
theEditedContainer.getID())%> / <%=ctnIds.size()%></td>
+    <td>&nbsp;</td><td>&nbsp;</td><td colspan="3"><%=getCtnIndex(ctnIds, 
theEditedContainer.getID())%>
+    / <%=ctnIds.size()%></td>
     <% } %>
 </tr>
 </table>

Reply via email to