You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2005/10/06 09:31:24 UTC

svn commit: r306549 - in /lenya/trunk/src: confpatch/ java/org/apache/lenya/cms/site/usecases/ webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/publication/templating/ webapp/lenya/pubs/default/lenya/usecases/site/ webapp/lenya/pubs/d...

Author: andreas
Date: Thu Oct  6 00:31:08 2005
New Revision: 306549

URL: http://svn.apache.org/viewcvs?rev=306549&view=rev
Log:
Added link to create document to 404 page. It is now possible to create documents by providing the document ID to the usecase. Thus, it is not necessary to copy the content when the default publication is instanciated.

Added:
    lenya/trunk/src/webapp/lenya/pubs/default/lenya/xslt/exception/
    lenya/trunk/src/webapp/lenya/pubs/default/lenya/xslt/exception/document-does-not-exist.xsl
Modified:
    lenya/trunk/src/confpatch/pipelines.xmap
    lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java
    lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/CreateDocument.java
    lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/publication/templating/Instantiator.java
    lenya/trunk/src/webapp/lenya/pubs/default/lenya/usecases/site/create.jx
    lenya/trunk/src/webapp/lenya/resources/i18n/cmsui.xml
    lenya/trunk/src/webapp/lenya/resources/i18n/cmsui_de.xml
    lenya/trunk/src/webapp/lenya/xslt/exception/document-does-not-exist.xsl

Modified: lenya/trunk/src/confpatch/pipelines.xmap
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/confpatch/pipelines.xmap?rev=306549&r1=306548&r2=306549&view=diff
==============================================================================
--- lenya/trunk/src/confpatch/pipelines.xmap (original)
+++ lenya/trunk/src/confpatch/pipelines.xmap Thu Oct  6 00:31:08 2005
@@ -98,6 +98,7 @@
             <map:transform src="fallback://lenya/xslt/exception/document-does-not-exist.xsl">
               <map:parameter name="documentid" value="{page-envelope:document-id}"/>
               <map:parameter name="documenturl" value="{page-envelope:document-url}"/>
+              <map:parameter name="area" value="{page-envelope:area}"/>
             </map:transform>
             <map:call resource="style-cms-page" />
             <map:serialize status-code="404" />
@@ -107,6 +108,7 @@
             <map:transform src="fallback://lenya/xslt/exception/document-does-not-exist.xsl">
               <map:parameter name="documentid" value="{page-envelope:document-id}"/>
               <map:parameter name="documenturl" value="{page-envelope:document-url}"/>
+              <map:parameter name="area" value="{page-envelope:area}"/>
             </map:transform>
             <map:call resource="style-cms-page" />
             <map:serialize status-code="404" />

Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java?rev=306549&r1=306548&r2=306549&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java Thu Oct  6 00:31:08 2005
@@ -17,8 +17,11 @@
 package org.apache.lenya.cms.site.usecases;
 
 import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.GregorianCalendar;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.avalon.framework.service.ServiceSelector;
@@ -52,6 +55,8 @@
  */
 public abstract class Create extends AbstractUsecase {
 
+    protected static final String RESOURCE_TYPES = "resourceTypes";
+
     protected static final String LANGUAGE = "language";
 
     protected static final String LANGUAGES = "languages";
@@ -62,7 +67,6 @@
 
     protected static final String SAMPLE = "sample";
     protected static final String SAMPLES = "samples";
-    protected static final String SAMPLES_COUNT = "samplesCount";
 
     /**
      * Ctor.
@@ -100,10 +104,20 @@
      */
     protected void doCheckExecutionConditions() throws Exception {
         String navigationTitle = getParameterAsString(DublinCore.ELEMENT_TITLE);
-
         if (navigationTitle.equals("")) {
             addErrorMessage("The navigation title is required.");
         }
+        
+        List samples = (List) getParameter(SAMPLES);
+        String sample = getParameterAsString(SAMPLE);
+        if (samples != null && samples.size() > 1 && (sample == null || sample.equals(""))) {
+            addErrorMessage("Please select a page layout.");
+        }
+        
+        String doctypeName = getDocumentTypeName();
+        if (doctypeName != null) {
+            initSampleParameters();
+        }
     }
 
     /**
@@ -235,13 +249,24 @@
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
         setParameter(DublinCore.ELEMENT_DATE, format.format(new GregorianCalendar().getTime()));
 
+        String doctypeName = getDocumentTypeName();
+        if (doctypeName != null) {
+            initSampleParameters();
+            setParameter(RESOURCE_TYPES, Collections.EMPTY_LIST);
+        }
+        else {
+            String[] resourceTypes = getPublication().getResourceTypeNames();
+            setParameter(RESOURCE_TYPES, Arrays.asList(resourceTypes));
+        }
+    }
+
+    protected void initSampleParameters() {
         ServiceSelector selector = null;
         ResourceType resourceType = null;
         try {
             selector = (ServiceSelector) this.manager.lookup(ResourceType.ROLE + "Selector");
             resourceType = (ResourceType) selector.select(getDocumentTypeName());
-            setParameter(SAMPLES, resourceType.getSampleNames());
-            setParameter(SAMPLES_COUNT, new Integer(resourceType.getSampleNames().length));
+            setParameter(SAMPLES, Arrays.asList(resourceType.getSampleNames()));
         } catch (Exception e) {
             throw new RuntimeException(e);
         } finally {

Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/CreateDocument.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/CreateDocument.java?rev=306549&r1=306548&r2=306549&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/CreateDocument.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/CreateDocument.java Thu Oct  6 00:31:08 2005
@@ -38,6 +38,7 @@
     protected static final String RELATION_CHILD = "child";
     protected static final String RELATION_BEFORE = "sibling before";
     protected static final String RELATION_AFTER = "sibling after";
+    protected static final String DOCUMENT_ID_PROVIDED = "documentIdProvided";
 
     /**
      * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
@@ -57,6 +58,10 @@
         String[] relations = { RELATION_CHILD, RELATION_AFTER };
         setParameter(RELATIONS, relations);
         setParameter(RELATION, RELATION_CHILD);
+
+        String documentId = getParameterAsString(DOCUMENT_ID);
+        boolean provided = documentId != null && !documentId.equals("");
+        setParameter(DOCUMENT_ID_PROVIDED, Boolean.valueOf(provided));
     }
 
     /**
@@ -104,7 +109,14 @@
      * @see Create#getNewDocumentName()
      */
     protected String getNewDocumentName() {
-        return getParameterAsString(DOCUMENT_ID);
+        final String documentId = getParameterAsString(DOCUMENT_ID);
+        String documentName;
+        if (getParameterAsBoolean(DOCUMENT_ID_PROVIDED, false)) {
+            documentName = documentId.substring(documentId.lastIndexOf("/") + 1);
+        } else {
+            documentName = documentId;
+        }
+        return documentName;
     }
 
     /**
@@ -118,20 +130,24 @@
      * @see Create#getNewDocumentId()
      */
     protected String getNewDocumentId() {
-        String relation = getRelation();
-        Document sourceDoc = getSourceDocument();
-        if (relation.equals(RELATION_CHILD)) {
-            return sourceDoc.getId() + "/" + getNewDocumentName();
-        } else if (relation.equals(RELATION_BEFORE)) {
-            return sourceDoc.getId().substring(0,
-                    sourceDoc.getId().lastIndexOf(sourceDoc.getName()))
-                    + getNewDocumentName();
-        } else if (relation.equals(RELATION_AFTER)) {
-            return sourceDoc.getId().substring(0,
-                    sourceDoc.getId().lastIndexOf(sourceDoc.getName()))
-                    + getNewDocumentName();
+        if (getParameterAsBoolean(DOCUMENT_ID_PROVIDED, false)) {
+            return getParameterAsString(DOCUMENT_ID);
         } else {
-            return getSourceDocument().getId() + "/" + getNewDocumentName();
+            String relation = getRelation();
+            Document sourceDoc = getSourceDocument();
+            if (relation.equals(RELATION_CHILD)) {
+                return sourceDoc.getId() + "/" + getNewDocumentName();
+            } else if (relation.equals(RELATION_BEFORE)) {
+                return sourceDoc.getId().substring(0,
+                        sourceDoc.getId().lastIndexOf(sourceDoc.getName()))
+                        + getNewDocumentName();
+            } else if (relation.equals(RELATION_AFTER)) {
+                return sourceDoc.getId().substring(0,
+                        sourceDoc.getId().lastIndexOf(sourceDoc.getName()))
+                        + getNewDocumentName();
+            } else {
+                return getSourceDocument().getId() + "/" + getNewDocumentName();
+            }
         }
     }
 

Modified: lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/publication/templating/Instantiator.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/publication/templating/Instantiator.java?rev=306549&r1=306548&r2=306549&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/publication/templating/Instantiator.java (original)
+++ lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/publication/templating/Instantiator.java Thu Oct  6 00:31:08 2005
@@ -53,7 +53,7 @@
 
     protected static final String[] sourcesToCopy = { "publication.xml",
             "config/publication.xconf", "config/ac/passwd/", "config/ac/ac.xconf",
-            "config/ac/policies/", "config/ac/usecase-policies.xml", "content/" };
+            "config/ac/policies/", "config/ac/usecase-policies.xml" };
 
     /**
      * @see org.apache.lenya.cms.publication.templating.Instantiator#instantiate(org.apache.lenya.cms.publication.Publication,

Modified: lenya/trunk/src/webapp/lenya/pubs/default/lenya/usecases/site/create.jx
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/lenya/usecases/site/create.jx?rev=306549&r1=306548&r2=306549&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/lenya/usecases/site/create.jx (original)
+++ lenya/trunk/src/webapp/lenya/pubs/default/lenya/usecases/site/create.jx Thu Oct  6 00:31:08 2005
@@ -18,24 +18,25 @@
 <!-- $Id$ -->
 
 <page:page xmlns:jx="http://apache.org/cocoon/templates/jx/1.0" 
-           xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" 
-           xmlns="http://www.w3.org/1999/xhtml" 
-           xmlns:i18n="http://apache.org/cocoon/i18n/2.1" >
-
+  xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" 
+  xmlns="http://www.w3.org/1999/xhtml" 
+  xmlns:i18n="http://apache.org/cocoon/i18n/2.1" >
+  
   <page:title><i18n:text>New Document</i18n:text></page:title>
   <page:body>
     <div class="lenya-box">
       <div class="lenya-box-title">
         <i18n:text>New Document</i18n:text>
       </div>
-
+      
       <jx:import uri="fallback://lenya/usecases/templates/messages.jx"/>
-
+      
       <div class="lenya-box-body">
         <form>
           <input type="hidden" name="lenya.continuation" value="${continuation.id}"/>
           <input type="hidden" name="lenya.usecase" value="${request.getParameter('lenya.usecase')}"/>
           <table class="lenya-table-noborder">
+            <jx:if test="${!usecase.getParameter('documentIdProvided')}">
               <tr>
                 <td class="lenya-entry-caption">
                   <i18n:text>Parent ID</i18n:text>:</td>
@@ -43,135 +44,168 @@
                   <jx:out value="${usecase.getParameter('parentId')}"/>
                 </td>
               </tr>
+            </jx:if>
+            <tr>
+              <td class="lenya-entry-caption">
+                <label for="documentId"><i18n:text>Document ID</i18n:text>*: </label></td>
+              <td>
+                <jx:choose>
+                  <jx:when test="${usecase.getParameter('documentIdProvided')}">
+                    <jx:out value="${usecase.getParameter('documentId')}"/>
+                  </jx:when>
+                  <jx:otherwise>
+                    <input class="lenya-form-element" type="text" name="documentId" value="${usecase.getParameter('documentId')}"/>
+                    <br/> (<i18n:text>No whitespace, no special characters</i18n:text>)
+                  </jx:otherwise>
+                </jx:choose>
+              </td>
+            </tr>
+            <tr>
+              <td class="lenya-entry-caption">
+                <label for="title"><i18n:text>Navigation Title</i18n:text>*: </label></td>
+              <td>
+                <input class="lenya-form-element" type="text" name="title" value="${usecase.getParameter('title')}"/>
+              </td>
+            </tr>
+            <tr>
+              <td class="lenya-entry-caption">
+                <label for="visibleinnav"><i18n:text>Document visible in Navigation</i18n:text>*: </label></td>
+              <jx:set var="visible" value="yes"/>
+              <jx:if test="${usecase.getParameter('visibleInNav').equals('false')}">
+                <jx:set var="visible" value="no"/>
+              </jx:if> 
+              <td>
+                <select class="lenya-form-element" name="visibleInNav">
+                  <jx:choose>
+                    <jx:when test="${visible.equals('yes')}">
+                      <option value="true" selected="selected"><i18n:text>yes</i18n:text></option>
+                      <option value="false"><i18n:text>no</i18n:text></option>
+                    </jx:when>
+                    <jx:otherwise>
+                      <option value="true"><i18n:text>yes</i18n:text></option>
+                      <option value="false" selected="selected"><i18n:text>no</i18n:text></option>
+                    </jx:otherwise>
+                  </jx:choose>
+                </select>
+              </td>
+            </tr>
+            <jx:if test="${!usecase.getParameter('documentIdProvided')}">
               <tr>
                 <td class="lenya-entry-caption">
-                  <label for="documentId"><i18n:text>Document ID</i18n:text>*: </label></td>
-                <td>
-                  <input class="lenya-form-element" type="text" name="documentId" value="${usecase.getParameter('documentId')}"/>
-                  <br/> (<i18n:text>No whitespace, no special characters</i18n:text>)</td>
-              </tr>
-              <tr>
-                <td class="lenya-entry-caption">
-                  <label for="title"><i18n:text>Navigation Title</i18n:text>*: </label></td>
-                <td>
-                  <input class="lenya-form-element" type="text" name="title" value="${usecase.getParameter('title')}"/>
+                  <label for="relation"><i18n:text>Relation</i18n:text>*: </label>
                 </td>
-              </tr>
-              <tr>
-                <td class="lenya-entry-caption">
-                  <label for="visibleinnav"><i18n:text>Document visible in Navigation</i18n:text>*: </label></td>
-                  <jx:set var="visible" value="yes"/>
-                  <jx:if test="${usecase.getParameter('visibleInNav').equals('false')}">
-                     <jx:set var="visible" value="no"/>
-                  </jx:if> 
                 <td>
-                  <select class="lenya-form-element" name="visibleInNav">
+                  <jx:forEach var="relation" items="${usecase.getParameter('relations')}">
                     <jx:choose>
-                      <jx:when test="${visible.equals('yes')}">
-                        <option value="true" selected="selected"><i18n:text>yes</i18n:text></option>
-                        <option value="false"><i18n:text>no</i18n:text></option>
+                      <jx:when test="${relation.equals(usecase.getParameter('relation'))}">
+                        <input type="radio" name="relation" value="${relation}" checked="checked"/><i18n:text>${relation}</i18n:text>
                       </jx:when>
                       <jx:otherwise>
-                        <option value="true"><i18n:text>yes</i18n:text></option>
-                        <option value="false" selected="selected"><i18n:text>no</i18n:text></option>
+                        <input type="radio" name="relation" value="${relation}"/><i18n:text>${relation}</i18n:text>
                       </jx:otherwise>
                     </jx:choose>
-                  </select>
+                  </jx:forEach>
                 </td>
               </tr>
+            </jx:if>
+            <tr>
+              <td class="lenya-entry-caption">
+                <label for="language"><i18n:text>Language</i18n:text>*: </label></td>
+              <td>
+                <select class="lenya-form-element" name="language">
+                  <jx:forEach var="language" items="${usecase.getParameter('languages')}">
+                    <option value="${language}">${language}</option>
+                  </jx:forEach>
+                </select>
+              </td>
+            </tr>
+            <tr>
+              <td class="lenya-entry-caption">
+                <label for="creator"><i18n:text>Creator</i18n:text>:</label></td>
+              <td>
+                <input class="lenya-form-element" type="text" name="creator" value="${usecase.getParameter('creator')}"/>
+              </td>
+            </tr>
+            <tr>
+              <td class="lenya-entry-caption">
+                <label for="subject"><i18n:text>Subject</i18n:text>:</label></td>
+              <td>
+                <input class="lenya-form-element" type="text" name="subject" value="${usecase.getParameter('subject')}"/>
+              </td>
+            </tr>
+            <tr>
+              <td class="lenya-entry-caption">
+                <label for="publisher"><i18n:text>Publisher</i18n:text>:</label></td>
+              <td>
+                <input class="lenya-form-element" type="text" name="publisher" value="${usecase.getParameter('publisher')}"/>
+              </td>
+            </tr>
+            <tr>
+              <td class="lenya-entry-caption">
+                <i18n:text>Date</i18n:text>:</td>
+              <td>
+                <jx:out value="${usecase.getParameter('date')}"/>
+              </td>
+            </tr>
+            <tr>
+              <td class="lenya-entry-caption">
+                <label for="rights"><i18n:text>Rights</i18n:text>:</label></td>
+              <td>
+                <input class="lenya-form-element" type="text" name="rights" value="${usecase.getParameter('rights')}"/>
+              </td>
+            </tr>
+            <jx:set var="resourceTypes" value="${usecase.getParameter('resourceTypes')}"/>
+            <jx:if test="${resourceTypes.size()  &gt; 0}">
               <tr>
                 <td class="lenya-entry-caption">
-                  <label for="relation"><i18n:text>Relation</i18n:text>*: </label>
-                </td>
+                  <label for="sample"><i18n:text>Resource Type</i18n:text>:</label></td>
                 <td>
-                    <jx:forEach var="relation" items="${usecase.getParameter('relations')}">
+                  <select name="doctype">
+                    <jx:forEach var="item" items="${resourceTypes}">
                       <jx:choose>
-                        <jx:when test="${relation.equals(usecase.getParameter('relation'))}">
-                          <input type="radio" name="relation" value="${relation}" checked="checked"/><i18n:text>${relation}</i18n:text>
+                        <jx:when test="${usecase.getParameter('doctype').equals(item)}">
+                          <option value="${item}" selected="selected">${item}</option>
                         </jx:when>
                         <jx:otherwise>
-                          <input type="radio" name="relation" value="${relation}"/><i18n:text>${relation}</i18n:text>
+                          <option value="${item}">${item}</option>
                         </jx:otherwise>
                       </jx:choose>
                     </jx:forEach>
-                </td>
-              </tr> 
-              <tr>
-                <td class="lenya-entry-caption">
-                  <label for="language"><i18n:text>Language</i18n:text>*: </label></td>
-                <td>
-                  <select class="lenya-form-element" name="language">
-                    <jx:forEach var="language" items="${usecase.getParameter('languages')}">
-                      <option value="${language}">${language}</option>
-                    </jx:forEach>
                   </select>
                 </td>
               </tr>
+            </jx:if>
+            <jx:set var="samples" value="${usecase.getParameter('samples')}"/>
+            <jx:if test="${samples.size() &gt; 0}">
               <tr>
                 <td class="lenya-entry-caption">
-                  <label for="creator"><i18n:text>Creator</i18n:text>:</label></td>
-                <td>
-                  <input class="lenya-form-element" type="text" name="creator" value="${usecase.getParameter('creator')}"/>
-                </td>
-              </tr>
-              <tr>
-                <td class="lenya-entry-caption">
-                  <label for="subject"><i18n:text>Subject</i18n:text>:</label></td>
+                  <label for="sample"><i18n:text>Page Layout</i18n:text>:</label></td>
                 <td>
-                  <input class="lenya-form-element" type="text" name="subject" value="${usecase.getParameter('subject')}"/>
-                </td>
-              </tr>
-              <tr>
-                <td class="lenya-entry-caption">
-                  <label for="publisher"><i18n:text>Publisher</i18n:text>:</label></td>
-                <td>
-                  <input class="lenya-form-element" type="text" name="publisher" value="${usecase.getParameter('publisher')}"/>
-                </td>
-              </tr>
-              <tr>
-                <td class="lenya-entry-caption">
-                  <i18n:text>Date</i18n:text>:</td>
-                <td>
-                  <jx:out value="${usecase.getParameter('date')}"/>
-                </td>
-              </tr>
-              <tr>
-                <td class="lenya-entry-caption">
-                  <label for="rights"><i18n:text>Rights</i18n:text>:</label></td>
-                <td>
-                  <input class="lenya-form-element" type="text" name="rights" value="${usecase.getParameter('rights')}"/>
-                </td>
-              </tr>
-              <jx:if test="${usecase.getParameter('samplesCount') &gt; 0}">
-                <tr>
-                  <td class="lenya-entry-caption">
-                    <label for="sample"><i18n:text>Page Layout</i18n:text>:</label></td>
-                  <td>
-                    <jx:forEach var="item" items="${usecase.getParameter('samples')}">
-                      <jx:choose>
-                        <jx:when test="${usecase.getParameter('sample').equals(item)}">
-                          <input type="radio" name="sample" value="${item}" checked="checked"/>${item}<br />
-                        </jx:when>
-                        <jx:otherwise>
-                          <input type="radio" name="sample" value="${item}"/>${item}<br />
-                        </jx:otherwise>
-                      </jx:choose>
-                    </jx:forEach>
-                  </td>
-                </tr>
-              </jx:if>  
-              <tr>
-                <td class="lenya-entry-caption">* <i18n:text>required fields</i18n:text>
-                </td>
-              </tr>
-              <tr>
-                <td/>
-                <td>
-                  <input i18n:attr="value" type="submit" name="submit" value="Create"/>
-                  &#160;
-                  <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/>
+                  <jx:forEach var="item" items="${samples}">
+                    <jx:choose>
+                      <jx:when test="${usecase.getParameter('sample').equals(item)}">
+                        <input type="radio" name="sample" value="${item}" checked="checked"/>${item}<br />
+                      </jx:when>
+                      <jx:otherwise>
+                        <input type="radio" name="sample" value="${item}"/>${item}<br />
+                      </jx:otherwise>
+                    </jx:choose>
+                  </jx:forEach>
                 </td>
               </tr>
+            </jx:if>  
+            <tr>
+              <td class="lenya-entry-caption">* <i18n:text>required fields</i18n:text>
+              </td>
+            </tr>
+            <tr>
+              <td/>
+              <td>
+                <input i18n:attr="value" type="submit" name="submit" value="Create"/>
+                &#160;
+                <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/>
+              </td>
+            </tr>
           </table>
         </form>
       </div>

Added: lenya/trunk/src/webapp/lenya/pubs/default/lenya/xslt/exception/document-does-not-exist.xsl
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/lenya/xslt/exception/document-does-not-exist.xsl?rev=306549&view=auto
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/lenya/xslt/exception/document-does-not-exist.xsl (added)
+++ lenya/trunk/src/webapp/lenya/pubs/default/lenya/xslt/exception/document-does-not-exist.xsl Thu Oct  6 00:31:08 2005
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: document-does-not-exist.xsl 180003 2005-06-04 16:40:42Z gregor $ -->
+
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0"
+  xmlns:i18n="http://apache.org/cocoon/i18n/2.1"    
+  >
+  
+  <xsl:import href="../util/page-util.xsl"/>
+  
+  <xsl:param name="documentid"/>
+  <xsl:param name="documenturl"/>
+  <xsl:param name="area"/>
+  
+  <xsl:template match="/">
+    
+    <page:page>
+      <page:title><i18n:text>error-404</i18n:text></page:title>
+      <page:body>
+        <div class="lenya-box">
+          <div class="lenya-box-title"><i18n:text>error-document-existance-short</i18n:text></div>
+          <div class="lenya-box-body">
+            <p>
+              <i18n:translate>
+                <i18n:text i18n:key="error-document-existance" />
+                <i18n:param>'<xsl:value-of select="$documenturl"/>'</i18n:param>
+                <i18n:param>'<xsl:value-of select="$documentid"/>'</i18n:param>
+              </i18n:translate>
+            </p>
+            <xsl:if test="$area = 'authoring'">
+              <p>
+                <a href="?lenya.usecase=site.create&amp;documentId={$documentid}"><i18n:text>create-document</i18n:text></a>
+              </p>
+            </xsl:if>
+          </div>
+        </div>
+      </page:body>
+    </page:page>
+  </xsl:template>
+  
+</xsl:stylesheet>

Modified: lenya/trunk/src/webapp/lenya/resources/i18n/cmsui.xml
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/resources/i18n/cmsui.xml?rev=306549&r1=306548&r2=306549&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/resources/i18n/cmsui.xml (original)
+++ lenya/trunk/src/webapp/lenya/resources/i18n/cmsui.xml Thu Oct  6 00:31:08 2005
@@ -63,6 +63,7 @@
   <message key="Back">Back</message>
   <message key="Add">Add</message>
   <message key="Create">Create</message>
+  <message key="create-document">Create this document</message>
   <message key="The Archive">Archive</message>
   <message key="Trash">Trash</message>
   <message key="Publisher">Publisher</message>
@@ -368,7 +369,9 @@
   <message key="error-document-form">Document is not well-formed: {0}</message>
   <message key="error-validation">Schema validation failed: {0}</message>
   <message key="error-missing-language">The requested document is not available for language: {0}</message>
+  <message key="error-document-existance-short">Document does not exist</message>
   <message key="error-document-existance">The requested document {0} with document-id {1} does not exist.</message>
   <message key="error-generic">An error occured.</message>
+  <message key="error-404">404: Page not found</message>
 
 </catalogue>

Modified: lenya/trunk/src/webapp/lenya/resources/i18n/cmsui_de.xml
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/resources/i18n/cmsui_de.xml?rev=306549&r1=306548&r2=306549&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/resources/i18n/cmsui_de.xml (original)
+++ lenya/trunk/src/webapp/lenya/resources/i18n/cmsui_de.xml Thu Oct  6 00:31:08 2005
@@ -63,6 +63,7 @@
   <message key="Back">Zurück</message>
   <message key="Add">Hinzufügen</message>
   <message key="Create">Erstellen</message>
+  <message key="create-document">Dieses Dokument erstellen</message>
   <message key="The Archive">Archiv</message>
   <message key="Trash">Papierkorb</message>
   <message key="Publisher">Herausgeber</message>
@@ -361,7 +362,9 @@
   <message key="error-document-form">Dokument ist nicht wohlgeformt: {0}</message>
   <message key="error-validation">Schema Validierung schlug fehl: {0}</message>
   <message key="error-missing-language">Das angeforderte Dokument ist nicht verfügbar in der Sprache: {0}</message>
+  <message key="error-document-existance-short">Dokument existiert nicht</message>
   <message key="error-document-existance">Das angeforderte Dokument {0} mit der ID {1} existiert nicht.</message>
   <message key="error-generic">Ein Fehler ist aufgetreten.</message>
+  <message key="error-404">404: Seite nicht gefunden</message>
 </catalogue>
 

Modified: lenya/trunk/src/webapp/lenya/xslt/exception/document-does-not-exist.xsl
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/xslt/exception/document-does-not-exist.xsl?rev=306549&r1=306548&r2=306549&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/xslt/exception/document-does-not-exist.xsl (original)
+++ lenya/trunk/src/webapp/lenya/xslt/exception/document-does-not-exist.xsl Thu Oct  6 00:31:08 2005
@@ -31,10 +31,10 @@
   <xsl:template match="/">
     
     <page:page>
-      <page:title><i18n:text>404: Page not found</i18n:text></page:title>
+      <page:title><i18n:text>error-404</i18n:text></page:title>
       <page:body>
 	<div class="lenya-box">
-	  <div class="lenya-box-title"><i18n:text>The requested document does not exist</i18n:text></div>
+	  <div class="lenya-box-title"><i18n:text>error-document-existance-short</i18n:text></div>
 	  <div class="lenya-box-body">
 	    <p>
       <i18n:translate>



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org