svn commit: r616800 - in /lenya/branches/BRANCH_1_2_X/src: java/org/apache/lenya/cms/cocoon/acting/ webapp/lenya/ webapp/lenya/content/rc/ webapp/lenya/pubs/default/ webapp/lenya/usecases/1formedit/ webapp/lenya/usecases/edit/ webapp/lenya/usecases/kup...

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
Author: andreas
Date: Wed Jan 30 08:11:01 2008
New Revision: 616800

URL: http://svn.apache.org/viewvc?rev=616800&view=rev
Log:
Show full user name on revision control error pages.

Modified:
    lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckinAction.java
    lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutAction.java
    lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutTestAction.java
    lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/RevisionControllerAction.java
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/rc/fileReservedCheckOutException.xsp
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/pubs/default/usecase-bxeng.xmap
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecase.xmap
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/1formedit/usecase-1formedit.xmap
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/edit/usecase-edit.xmap
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/kupu/usecase-kupu.xmap
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/rc/rco-exception.xsl

Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckinAction.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckinAction.java?rev=616800&r1=616799&r2=616800&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckinAction.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckinAction.java Wed Jan 30 08:11:01 2008
@@ -26,6 +26,7 @@
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.cocoon.environment.Redirector;
 import org.apache.cocoon.environment.SourceResolver;
+import org.apache.lenya.ac.User;
 import org.apache.lenya.cms.rc.FileReservedCheckInException;
 
 
@@ -61,7 +62,16 @@
             actionMap.put("exception", "fileReservedCheckInException");
             actionMap.put("filename", getFilename());
             actionMap.put("checkType", e.getTypeString());
-            actionMap.put("user", e.getUsername());
+            
+            String userId = e.getUsername();
+            if (userId != null && !userId.equals("")) {
+                User user = getUser(objectModel, userId);
+                if (user != null) {
+                    actionMap.put("userFullName", user.getName());
+                }
+                actionMap.put("user", userId);
+            }
+            
             actionMap.put("date", e.getDate());
             getLogger().warn(e.getMessage());
 

Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutAction.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutAction.java?rev=616800&r1=616799&r2=616800&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutAction.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutAction.java Wed Jan 30 08:11:01 2008
@@ -24,30 +24,28 @@
 import java.util.Map;
 
 import org.apache.avalon.framework.parameters.Parameters;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.avalon.framework.service.ServiceSelector;
+import org.apache.avalon.framework.service.Serviceable;
+import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.environment.Redirector;
+import org.apache.cocoon.environment.Request;
 import org.apache.cocoon.environment.SourceResolver;
+import org.apache.lenya.ac.AccessControllerResolver;
+import org.apache.lenya.ac.User;
+import org.apache.lenya.ac.UserManager;
+import org.apache.lenya.ac.impl.DefaultAccessController;
 import org.apache.lenya.cms.rc.FileReservedCheckOutException;
+import org.apache.lenya.util.ServletHelper;
 import org.apache.log4j.Logger;
 
 /**
  * Action doing reserved checkout
  */
-public class ReservedCheckoutAction extends RevisionControllerAction {
+public class ReservedCheckoutAction extends RevisionControllerAction  {
     Logger log = Logger.getLogger(ReservedCheckoutAction.class);
 
-    /**
-     * DOCUMENT ME!
-     *
-     * @param redirector DOCUMENT ME!
-     * @param resolver DOCUMENT ME!
-     * @param objectModel DOCUMENT ME!
-     * @param src DOCUMENT ME!
-     * @param parameters DOCUMENT ME!
-     *
-     * @return DOCUMENT ME!
-     *
-     * @throws Exception DOCUMENT ME!
-     */
     public Map act(
         Redirector redirector,
         SourceResolver resolver,
@@ -76,7 +74,16 @@
         } catch (FileReservedCheckOutException e) {
             actionMap.put("exception", "fileReservedCheckOutException");
             actionMap.put("filename", getFilename());
-            actionMap.put("user", e.getCheckOutUsername());
+            
+            String userId = e.getCheckOutUsername();
+            if (userId != null && !userId.equals("")) {
+                User user = getUser(objectModel, userId);
+                if (user != null) {
+                    actionMap.put("userFullName", user.getName());
+                }
+                actionMap.put("user", userId);
+            }
+            
             actionMap.put("date", e.getCheckOutDate());
             getLogger().warn(
                 "Document "
@@ -98,4 +105,5 @@
 
         return null;
     }
+    
 }

Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutTestAction.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutTestAction.java?rev=616800&r1=616799&r2=616800&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutTestAction.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutTestAction.java Wed Jan 30 08:11:01 2008
@@ -26,6 +26,7 @@
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.cocoon.environment.Redirector;
 import org.apache.cocoon.environment.SourceResolver;
+import org.apache.lenya.ac.User;
 import org.apache.lenya.cms.rc.FileReservedCheckOutException;
 import org.apache.lenya.cms.rc.RCML;
 import org.apache.lenya.cms.rc.RCMLEntry;
@@ -57,7 +58,16 @@
 		} catch (FileReservedCheckOutException e) {
 			actionMap.put("exception", "fileReservedCheckOutException");
 			actionMap.put("filename", getFilename());
-			actionMap.put("user", e.getCheckOutUsername());
+			
+            String userId = e.getCheckOutUsername();
+            if (userId != null && !userId.equals("")) {
+                User user = getUser(objectModel, userId);
+                if (user != null) {
+                    actionMap.put("userFullName", user.getName());
+                }
+                actionMap.put("user", userId);
+            }
+            
 			actionMap.put("date", e.getCheckOutDate());
 			getLogger().warn("Document " + getFilename() + " already checked-out by " + e.getCheckOutUsername() + " since " + e.getCheckOutDate());
 

Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/RevisionControllerAction.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/RevisionControllerAction.java?rev=616800&r1=616799&r2=616800&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/RevisionControllerAction.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/acting/RevisionControllerAction.java Wed Jan 30 08:11:01 2008
@@ -24,14 +24,21 @@
 import java.util.Map;
 
 import org.apache.avalon.framework.parameters.Parameters;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.avalon.framework.service.ServiceSelector;
+import org.apache.avalon.framework.service.Serviceable;
 import org.apache.cocoon.acting.AbstractAction;
 import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.environment.Redirector;
 import org.apache.cocoon.environment.Request;
 import org.apache.cocoon.environment.Session;
 import org.apache.cocoon.environment.SourceResolver;
+import org.apache.lenya.ac.AccessControllerResolver;
 import org.apache.lenya.ac.Identity;
 import org.apache.lenya.ac.User;
+import org.apache.lenya.ac.UserManager;
+import org.apache.lenya.ac.impl.DefaultAccessController;
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentBuilder;
 import org.apache.lenya.cms.publication.PageEnvelope;
@@ -39,9 +46,10 @@
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.rc.RCEnvironment;
 import org.apache.lenya.cms.rc.RevisionController;
+import org.apache.lenya.util.ServletHelper;
 import org.apache.log4j.Logger;
 
-public class RevisionControllerAction extends AbstractAction {
+public class RevisionControllerAction extends AbstractAction implements Serviceable {
     Logger log = Logger.getLogger(RevisionControllerAction.class);
 
     private String rcmlDirectory = null;
@@ -50,7 +58,8 @@
     private String username = null;
     private String filename = null;
     private Document document = null;
-    
+    private ServiceManager manager;
+
     /**
      * DOCUMENT ME!
      *
@@ -210,4 +219,45 @@
         return username;
     }
 
+    protected User getUser(Map objectModel, String userId) throws Exception {
+        ServiceSelector selector = null;
+        AccessControllerResolver resolver = null;
+        DefaultAccessController accessController = null;
+
+        Request request = ObjectModelHelper.getRequest(objectModel);
+
+        Map result = null;
+
+        try {
+            selector =
+                (ServiceSelector) manager.lookup(AccessControllerResolver.ROLE + "Selector");
+                
+            getLogger().debug("Resolving AC resolver for type [" + AccessControllerResolver.DEFAULT_RESOLVER + "]");
+            resolver =
+                (AccessControllerResolver) selector.select(
+                    AccessControllerResolver.DEFAULT_RESOLVER);
+            getLogger().debug("Resolved AC resolver [" + resolver + "]");
+
+            String webappUrl = ServletHelper.getWebappURI(request);
+            accessController = (DefaultAccessController) resolver.resolveAccessController(webappUrl);
+            UserManager userMgr = accessController.getAccreditableManager().getUserManager();
+            User user = userMgr.getUser(userId);
+            if (user == null) {
+                getLogger().warn("User [" + userId + "] does not exist.");
+            }
+            return user;
+
+        } finally {
+            if (selector != null) {
+                if (resolver != null) {
+                    selector.release(resolver);
+                }
+                manager.release(selector);
+            }
+        }
+    }
+
+    public void service(ServiceManager manager) throws ServiceException {
+        this.manager = manager;
+    }
 }

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/rc/fileReservedCheckOutException.xsp
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/rc/fileReservedCheckOutException.xsp?rev=616800&r1=616799&r2=616800&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/rc/fileReservedCheckOutException.xsp (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/rc/fileReservedCheckOutException.xsp Wed Jan 30 08:11:01 2008
@@ -23,12 +23,16 @@
 <rc:exception xmlns:rc="http://apache.org/cocoon/lenya/rc/1.0">
   <xsp:logic>
     String user=parameters.getParameter("user","null");
+    String userFullName = parameters.getParameter("userFullName","null");
     String filename=parameters.getParameter("filename","null");
     String date=parameters.getParameter("date","null");
   </xsp:logic>
   <rc:file-reserved-checkout-exception>
     <rc:filename><xsp:expr>filename</xsp:expr></rc:filename>
-    <rc:user><xsp:expr>user</xsp:expr></rc:user>
+    <rc:user>
+      <xsp:attribute name="id"><xsp:expr>user</xsp:expr></xsp:attribute>
+      <xsp:attribute name="fullName"><xsp:expr>userFullName</xsp:expr></xsp:attribute>
+    </rc:user>
     <rc:date><xsp:expr>date</xsp:expr></rc:date>
   </rc:file-reserved-checkout-exception>
 </rc:exception>

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/pubs/default/usecase-bxeng.xmap
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/pubs/default/usecase-bxeng.xmap?rev=616800&r1=616799&r2=616800&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/pubs/default/usecase-bxeng.xmap (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/pubs/default/usecase-bxeng.xmap Wed Jan 30 08:11:01 2008
@@ -97,6 +97,7 @@
         <map:act type="reserved-checkout">
           <map:generate type="serverpages" src="../../content/rc/{exception}.xsp">
             <map:parameter name="user" value="{user}"/>
+            <map:parameter name="userFullName" value="{userFullName}"/>
             <map:parameter name="filename" value="{filename}"/>
             <map:parameter name="date" value="{date}"/>
             <map:parameter name="message" value="{message}"/>

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecase.xmap
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecase.xmap?rev=616800&r1=616799&r2=616800&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecase.xmap (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecase.xmap Wed Jan 30 08:11:01 2008
@@ -380,7 +380,8 @@
         	        <map:act type="reserved-checkout-test">
             	      <map:generate type="serverpages" src="../../content/rc/{exception}.xsp">
                 	    <map:parameter name="user" value="{user}"/>
-                    	<map:parameter name="filename" value="{filename}"/>
+            	        <map:parameter name="userFullName" value="{userFullName}"/>
+            	        <map:parameter name="filename" value="{filename}"/>
         	            <map:parameter name="date" value="{date}"/>
                         <map:parameter name="message" value="{message}"/>
             	      </map:generate>

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/1formedit/usecase-1formedit.xmap
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/1formedit/usecase-1formedit.xmap?rev=616800&r1=616799&r2=616800&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/1formedit/usecase-1formedit.xmap (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/1formedit/usecase-1formedit.xmap Wed Jan 30 08:11:01 2008
@@ -65,6 +65,7 @@
               <map:act type="reserved-checkout">
                 <map:generate type="serverpages" src="{global:basedir}/content/rc/{exception}.xsp">
                   <map:parameter name="user" value="{user}"/>
+                  <map:parameter name="userFullName" value="{userFullName}"/>
                   <map:parameter name="filename" value="{filename}"/>
                   <map:parameter name="date" value="{date}"/>
                   <map:parameter name="message" value="{message}"/>

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/edit/usecase-edit.xmap
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/edit/usecase-edit.xmap?rev=616800&r1=616799&r2=616800&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/edit/usecase-edit.xmap (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/edit/usecase-edit.xmap Wed Jan 30 08:11:01 2008
@@ -65,6 +65,7 @@
               <map:act type="reserved-checkout">
                 <map:generate type="serverpages" src="{global:basedir}/content/rc/{exception}.xsp">
                   <map:parameter name="user" value="{user}"/>
+                  <map:parameter name="userFullName" value="{userFullName}"/>
                   <map:parameter name="filename" value="{filename}"/>
                   <map:parameter name="date" value="{date}"/>
                   <map:parameter name="message" value="{message}"/>
@@ -138,6 +139,7 @@
                 <map:parameter name="backup" value="false"/>
                 <map:generate src="{global:basedir}/content/rc/{exception}.xsp" type="serverpages">
                   <map:parameter name="user" value="{user}"/>
+                  <map:parameter name="userFullName" value="{userFullName}"/>
                   <map:parameter name="filename" value="{filename}"/>
                   <map:parameter name="checkType" value="{checkType}"/>
                   <map:parameter name="date" value="{date}"/>

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/kupu/usecase-kupu.xmap
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/kupu/usecase-kupu.xmap?rev=616800&r1=616799&r2=616800&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/kupu/usecase-kupu.xmap (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/kupu/usecase-kupu.xmap Wed Jan 30 08:11:01 2008
@@ -104,6 +104,7 @@
                 <map:generate type="serverpages" 
                   src="{global:basedir}/content/rc/{exception}.xsp">
                   <map:parameter name="user" value="{user}"/>
+                  <map:parameter name="userFullName" value="{userFullName}"/>
                   <map:parameter name="filename" value="{filename}"/>
                   <map:parameter name="date" value="{date}"/>
                   <map:parameter name="message" value="{message}"/>
@@ -214,6 +215,7 @@
           <map:act type="reserved-checkin">
             <map:generate src="{global:basedir}/content/rc/{exception}.xsp" type="serverpages">
               <map:parameter name="user" value="{user}"/>
+              <map:parameter name="userFullName" value="{userFullName}"/>
               <map:parameter name="filename" value="{filename}"/>
               <map:parameter name="checkType" value="{checkType}"/>
               <map:parameter name="date" value="{date}"/>
@@ -238,6 +240,7 @@
                 <map:generate type="serverpages" 
                   src="{global:basedir}/../../content/rc/{exception}.xsp">
                   <map:parameter name="user" value="{user}"/>
+                  <map:parameter name="userFullName" value="{userFullName}"/>
                   <map:parameter name="filename" value="{filename}"/>
                   <map:parameter name="date" value="{date}"/>
                   <map:parameter name="message" value="{message}"/>

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/rc/rco-exception.xsl
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/rc/rco-exception.xsl?rev=616800&r1=616799&r2=616800&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/rc/rco-exception.xsl (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/rc/rco-exception.xsl Wed Jan 30 08:11:01 2008
@@ -6,9 +6,9 @@
   The ASF licenses this file to You 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
-
+  
+  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.
@@ -29,29 +29,27 @@
   <xsl:template match="/">
     <xsl:apply-templates/>
   </xsl:template>
-
+  
   <xsl:template match="rc:exception">
-          <xsl:apply-templates/>
+    <xsl:apply-templates/>
   </xsl:template>
-
+  
   <xsl:template match="rc:file-reserved-checkout-exception">
     <page:page>
       <page:title><i18n:text>lenya.rc.nocheckout</i18n:text></page:title>
       <page:body>
- 	    <div class="lenya-box">
-    	  <div class="lenya-box-title"><i18n:text>lenya.rc.nocheckout</i18n:text></div>
-	      <div class="lenya-box-body">
-	        <p><i18n:text>lenya.rc.checkedoutalready</i18n:text></p>
-            <table>
-              <tr><td><i18n:text>User</i18n:text>:</td><td><xsl:value-of select="rc:user"/></td></tr>
-              <tr><td><i18n:text>Date</i18n:text>:</td><td><xsl:value-of select="rc:date"/></td></tr>
-              <tr><td><i18n:text>Filename</i18n:text>:</td><td><xsl:value-of select="rc:filename"/></td></tr>
-            </table>
+        <div class="lenya-box">
+          <div class="lenya-box-title"><i18n:text>lenya.rc.nocheckout</i18n:text></div>
+          <div class="lenya-box-body">
+            <p><i18n:text>lenya.rc.checkedoutalready</i18n:text></p>
+            <xsl:call-template name="info"/>
             <form>
-              <input type="button" value="OK" onClick="history.go(-1)"/>
-            </form>		
-  	      </div>
-  	    </div>
+              <p>
+                <input type="button" value="OK" onClick="history.go(-1)"/>
+              </p>
+            </form>    
+          </div>
+        </div>
       </page:body>
     </page:page>
   </xsl:template>
@@ -60,45 +58,58 @@
     <page:page>
       <page:title><i18n:text>lenya.rc.nocheckin</i18n:text></page:title>
       <page:body>
- 	    <div class="lenya-box">
+        <div class="lenya-box">
           <div class="lenya-box-title"><i18n:text>lenya.rc.nocheckin</i18n:text></div>
-    	  <div class="lenya-box-body">
-	        <p><i18n:text>lenya.rc.checkedoutalready</i18n:text></p>
-            <table>
-              <tr><td><i18n:text>User</i18n:text>:</td><td><xsl:value-of select="rc:user"/></td></tr>
-              <tr><td><i18n:text>Date</i18n:text>:</td><td><xsl:value-of select="rc:date"/></td></tr>
-              <tr><td><i18n:text>Filename</i18n:text>:</td><td><xsl:value-of select="rc:filename"/></td></tr>
-            </table>
+          <div class="lenya-box-body">
+            <p><i18n:text>lenya.rc.checkedoutalready</i18n:text></p>
+            <xsl:call-template name="info"/>
             <form>
-              <input type="button" value="OK" onClick="history.go(-1)"/>
-            </form>		
-  	      </div>
-  	    </div>
+              <p>
+                <input type="button" value="OK" onClick="history.go(-1)"/>
+              </p>
+            </form>    
+          </div>
+        </div>
       </page:body>
     </page:page>
   </xsl:template>
-
-
+  
+  
+  <xsl:template name="info">
+    <table>
+      <tr>
+        <td><i18n:text>User</i18n:text>:</td>
+        <td>
+          <strong><xsl:value-of select="rc:user/@id"/></strong>
+          <xsl:if test="rc:user/@fullName != ''"> (<xsl:value-of select="rc:user/@fullName"/>)</xsl:if>
+        </td>
+      </tr>
+      <tr><td><i18n:text>Date</i18n:text>:</td><td><xsl:value-of select="rc:date"/></td></tr>
+      <tr><td><i18n:text>Filename</i18n:text>:</td><td><xsl:value-of select="rc:filename"/></td></tr>
+    </table>
+  </xsl:template>
+  
+  
   <xsl:template match="rc:generic-exception">
     <page:page>
       <page:title><i18n:text>Generic Exception</i18n:text></page:title>
       <page:body>
- 	    <div class="lenya-box">
-	    <div class="lenya-box-title"><i18n:text>Generic Exception</i18n:text></div>
-	      <div class="lenya-box-body">
+        <div class="lenya-box">
+          <div class="lenya-box-title"><i18n:text>Generic Exception</i18n:text></div>
+          <div class="lenya-box-body">
             <p><i18n:text>Reason</i18n:text>: <xsl:value-of select="rc:message"/><br />
-            <i18n:text>Check the log files.</i18n:text>
+              <i18n:text>Check the log files.</i18n:text>
             </p>
             <table>
               <tr><td><i18n:text>Filename</i18n:text>:</td><td><xsl:value-of select="rc:filename"/></td></tr>
             </table>
             <form>
               <input type="button" value="OK" onClick="history.go(-1)"/>
-            </form>		
-       	  </div>
-  	    </div>
+            </form>    
+          </div>
+        </div>
       </page:body>
     </page:page>
   </xsl:template>
-
+  
 </xsl:stylesheet>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.