[seam-commits] Seam SVN: r7310 - in trunk/examples/wiki: src/main/org/jboss/seam/wiki/core/action and 9 other directories.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Wed Jan 30 10:42:43 EST 2008


Author: christian.bauer at jboss.com
Date: 2008-01-30 10:42:43 -0500 (Wed, 30 Jan 2008)
New Revision: 7310

Modified:
   trunk/examples/wiki/src/etc/messages_flash_en.properties
   trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java
   trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java
   trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiLinkResolver.java
   trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FeedServlet.java
   trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FileServlet.java
   trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/UIWikiFormattedText.java
   trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ReplyHome.java
   trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java
   trunk/examples/wiki/view/dirDisplay_d.xhtml
   trunk/examples/wiki/view/includes/ownerSelector.xhtml
   trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml
   trunk/examples/wiki/view/plugins/lastModifiedDocuments/plugin.xhtml
   trunk/examples/wiki/view/search_d.xhtml
   trunk/examples/wiki/view/themes/default/css/template.css
   trunk/examples/wiki/view/userList_d.xhtml
Log:
Fixing the bugs introduced yesterday

Modified: trunk/examples/wiki/src/etc/messages_flash_en.properties
===================================================================
--- trunk/examples/wiki/src/etc/messages_flash_en.properties	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/src/etc/messages_flash_en.properties	2008-01-30 15:42:43 UTC (rev 7310)
@@ -4,5 +4,5 @@
 flash.preferences.Height=Height in pixels
 flash.preferences.AllowedDomains=Comma-separated list of allowed domain names
 
-flash.msg.URLNotSupplied=[Flash Macro: Add 'flashURL' macro parameter to embed flash movie.]
+flash.msg.URLNotSupplied=[Flash Macro: Add 'url' macro parameter to embed flash movie.]
 flash.msg.URLNotAllowed=[Flash Macro: The flash URL you supplied is not in the list of valid domains, please ask the system administrator to add it.]

Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java	2008-01-30 15:42:43 UTC (rev 7310)
@@ -99,11 +99,9 @@
     }
 
     @Override
-    protected void checkPersistPermissions() {
+    public boolean isPersistAllowed(WikiComment node, WikiNode parent) {
         getLog().trace("checking comment persist permissions");
-        if (!Identity.instance().hasPermission("Comment", "create", documentHome.getInstance()) ) {
-            throw new AuthorizationException("You don't have permission for this operation");
-        }
+        return Identity.instance().hasPermission("Comment", "create", documentHome.getInstance());
     }
 
     /* -------------------------- Custom CUD ------------------------------ */
@@ -165,9 +163,9 @@
     }
 
     protected String getEditorWorkspaceDescription(boolean create) {
-        return "Foo";
+        return null;
     }
-    
+
     /* -------------------------- Internal Methods ------------------------------ */
 
     protected void endConversation() {

Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java	2008-01-30 15:42:43 UTC (rev 7310)
@@ -95,7 +95,7 @@
         // Set workspace description of the current conversation
         String desc = getEditorWorkspaceDescription(getNodeId() == null);
         WikiPreferences prefs = Preferences.getInstance(WikiPreferences.class);
-        if (desc.length() > prefs.getWorkspaceSwitcherDescriptionLength()) {
+        if (desc != null && desc.length() > prefs.getWorkspaceSwitcherDescriptionLength()) {
             desc = desc.substring(0, prefs.getWorkspaceSwitcherDescriptionLength().intValue()) + "...";
         }
         Conversation.instance().setDescription(desc);
@@ -149,7 +149,7 @@
         getLog().debug("initalized with parent node: " + parentNode);
 
         // Check write access level of the parent node, if the user wants to create a new node
-        if (!Identity.instance().hasPermission("Node", "create", parentNode) )
+        if (!isPersistAllowed(node, parentNode))
             throw new AuthorizationException("You don't have permission for this operation");
 
         // Default to same access permissions as parent node
@@ -185,7 +185,7 @@
     public N beforeNodeEditFound(N node) {
 
         // Check write access level of the node the user wants to edit
-        if (!Identity.instance().hasPermission("Node", "edit", node) )
+        if (!isUpdateAllowed(node, null))
             throw new AuthorizationException("You don't have permission for this operation");
 
         writeAccessLevel = getAccessLevelsList().get(
@@ -348,23 +348,19 @@
 
     protected void checkPersistPermissions() {
         getLog().trace("checking persist permissions");
-        if (!Identity.instance().hasPermission("Node", "create", getParentNode()) )
+        if (!isPersistAllowed(getInstance(), getParentNode()))
             throw new AuthorizationException("You don't have permission for this operation");
-        if (!Identity.instance().hasPermission("Node", "changeAccessLevel", getInstance()))
-            throw new AuthorizationException("You don't have permission for this operation");
     }
 
     protected void checkUpdatePermissions() {
         getLog().trace("checking update permissions");
-        if (!Identity.instance().hasPermission("Node", "edit", getInstance()) )
+        if (!isUpdateAllowed(getInstance(), getParentNode()))
             throw new AuthorizationException("You don't have permission for this operation");
-        if (!Identity.instance().hasPermission("Node", "changeAccessLevel", getInstance()))
-            throw new AuthorizationException("You don't have permission for this operation");
     }
 
     protected void checkRemovePermissions() {
         getLog().trace("checking remove permissions");
-        if (!Identity.instance().hasPermission("Node", "edit", getInstance()) )
+        if (!isRemoveAllowed(getInstance(), getParentNode()))
             throw new AuthorizationException("You don't have permission for this operation");
     }
 
@@ -377,6 +373,18 @@
         );
     }
 
+    public boolean isPersistAllowed(N node, P parent) {
+        return Identity.instance().hasPermission("Node", "create", parent);
+    }
+
+    public boolean isUpdateAllowed(N node, P parent) {
+        return Identity.instance().hasPermission("Node", "edit", node);
+    }
+
+    public boolean isRemoveAllowed(N node, P parent) {
+        return Identity.instance().hasPermission("Node", "edit", node);
+    }
+
     /* -------------------------- Optional Subclass Callbacks ------------------------------ */
 
     protected boolean isPageRootController() { return true; }
@@ -412,6 +420,12 @@
      */
     protected abstract NodeRemover getNodeRemover();
 
+    /**
+     * Description (i18n) of workspace switcher item.
+     *
+     * @param create true if editor is initialized to create an item, false if it's used to update an item.
+     * @return String description of workspace switcher item or <tt>null</tt> if no workspace switcher item should be shown.
+     */
     protected abstract String getEditorWorkspaceDescription(boolean create);
 
     /* -------------------------- Public Features ------------------------------ */

Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiLinkResolver.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiLinkResolver.java	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiLinkResolver.java	2008-01-30 15:42:43 UTC (rev 7310)
@@ -128,9 +128,9 @@
 
         log.debug("trying to resolve link text: " + linkText);
 
-        Matcher wikiProtocolMatcher = Pattern.compile(REGEX_WIKI_PROTOCOL).matcher(linkText);
-        Matcher knownProtocolMatcher = Pattern.compile(REGEX_KNOWN_PROTOCOL).matcher(linkText);
-        Matcher customProtocolMatcher = Pattern.compile(REGEX_CUSTOM_PROTOCOL).matcher(linkText);
+        Matcher wikiProtocolMatcher = Pattern.compile(REGEX_WIKI_PROTOCOL).matcher(linkText.trim());
+        Matcher knownProtocolMatcher = Pattern.compile(REGEX_KNOWN_PROTOCOL).matcher(linkText.trim());
+        Matcher customProtocolMatcher = Pattern.compile(REGEX_CUSTOM_PROTOCOL).matcher(linkText.trim());
 
         WikiLink wikiLink;
 

Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FeedServlet.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FeedServlet.java	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FeedServlet.java	2008-01-30 15:42:43 UTC (rev 7310)
@@ -239,10 +239,12 @@
             throw new RuntimeException(ex);
         }
 
+        /* TODO: This breaks stuff...
         // If the user is not logged in, we might as well destroy the session immediately, saving some memory
         if (!Identity.instance().isLoggedIn()) {
             Session.instance().invalidate();
         }
+        */
     }
 
     public SyndFeed createSyndFeed(String baseURI, SyndFeedType syndFeedType, Feed feed, Integer currentAccessLevel) {

Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FileServlet.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FileServlet.java	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FileServlet.java	2008-01-30 15:42:43 UTC (rev 7310)
@@ -123,10 +123,12 @@
             response.getOutputStream().flush();
         }
 
+        /* TODO: This breaks stuff...
         // If the user is not logged in, we might as well destroy the session immediately, saving some memory
         if (!Identity.instance().isLoggedIn()) {
             Session.instance().invalidate();
         }
+        */
 
     }
 }

Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/UIWikiFormattedText.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/UIWikiFormattedText.java	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/UIWikiFormattedText.java	2008-01-30 15:42:43 UTC (rev 7310)
@@ -155,12 +155,9 @@
                 } else {
                     // Thumbnail with link display
 
-                    // I have no idea why this needs HTML entities for the & symbol -
-                    // Firefox complains about invalid XML if an & is in an attribute
-                    // value!
                     //TODO: Make sure we really don't need this - but it messes up the comment form conversation:
                     // String thumbnailUrl = WikiUtil.renderURL(image) + "&amp;thumbnail=true&amp;cid=" + Conversation.instance().getId();
-                    String thumbnailUrl = WikiUtil.renderURL(image) + "&amp;thumbnail=true";
+                    String thumbnailUrl = WikiUtil.renderURL(image) + "?thumbnail=true";
 
                     return "<a href=\""
                             + (link.isBroken() ? link.getUrl() : WikiUtil.renderURL(image))

Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ReplyHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ReplyHome.java	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ReplyHome.java	2008-01-30 15:42:43 UTC (rev 7310)
@@ -4,10 +4,11 @@
 import org.jboss.seam.ScopeType;
 import org.jboss.seam.faces.Renderer;
 import org.jboss.seam.security.Identity;
-import org.jboss.seam.security.AuthorizationException;
 import org.jboss.seam.annotations.*;
 import org.jboss.seam.wiki.core.action.CommentHome;
 import org.jboss.seam.wiki.core.action.prefs.WikiPreferences;
+import org.jboss.seam.wiki.core.model.WikiComment;
+import org.jboss.seam.wiki.core.model.WikiNode;
 import org.jboss.seam.wiki.preferences.Preferences;
 
 import static javax.faces.application.FacesMessage.SEVERITY_INFO;
@@ -64,19 +65,14 @@
         return "redirectToDocument";
     }
 
-    /* Forum replies require write permissions on the forum directory */
-    public boolean hasReplyPermission() {
+    @Override
+    public boolean isPersistAllowed(WikiComment node, WikiNode parent) {
+        /* Forum replies require write permissions on the forum directory */
         Integer currentAccessLevel = (Integer)Component.getInstance("currentAccessLevel");
         return Identity.instance().hasPermission("Comment", "create", documentHome.getInstance())
                 && (documentHome.getParentNode().getWriteAccessLevel() <= currentAccessLevel);
     }
 
-    protected void checkPersistPermissions() {
-        if (!hasReplyPermission()) {
-            throw new AuthorizationException("You don't have permission for this operation");
-        }
-    }
-
     protected String getFeedEntryManagerName() {
         return "forumReplyFeedEntryManager";
     }

Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java	2008-01-30 15:42:43 UTC (rev 7310)
@@ -324,8 +324,8 @@
     }
 
     public static boolean isRegularUser(User user) {
-        return !(user.getUsername().equals(User.ADMIN_USERNAME) ||
-                 user.getUsername().equals(User.GUEST_USERNAME));
+        return user != null &&
+               !(user.getUsername().equals(User.ADMIN_USERNAME) || user.getUsername().equals(User.GUEST_USERNAME));
     }
 
     /**

Modified: trunk/examples/wiki/view/dirDisplay_d.xhtml
===================================================================
--- trunk/examples/wiki/view/dirDisplay_d.xhtml	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/view/dirDisplay_d.xhtml	2008-01-30 15:42:43 UTC (rev 7310)
@@ -230,7 +230,7 @@
     </s:div>
 
     <h:panelGrid columns="5" rendered="#{childNodesList.size > 0 and directoryHome.pager.numOfRecords > directoryHome.pager.pageSize}"
-                 styleClass="pager"
+                 styleClass="pager pagerTop"
                  columnClasses="pagerIconColumn,pagerIconColumn,pagerTextColumn,pagerIconColumn,pagerIconColumn"
                  cellpadding="0" cellspacing="0" border="0">
 
@@ -287,10 +287,10 @@
                  headerClass="regularHeader rightBorder alignCenter"
                  columnClasses="onePercentColumn rightBorder alignCenter, onePercentColumn rightBorder alignCenter,
                                 defaultColumn rightBorder alignLeft wrapWhitespace,
-                                twentyPercentColumn rightBorder alignLeft wrapWhitespace,
                                 fifteenPercentColumn rightBorder alignLeft wrapWhitespace,
-                                fifteenPercentColumn rightBorder alignLeft wrapWhitespace,
-                                fifteenPercentColumn rightBorder alignCenter wrapWhitespace"
+                                tenPercentColumn rightBorder alignLeft wrapWhitespace,
+                                tenPercentColumn rightBorder alignLeft wrapWhitespace,
+                                twentyPercentColumn rightBorder alignCenter wrapWhitespace"
                  rowClasses="rowOdd,rowEven"
                  cellpadding="0" cellspacing="0" border="0">
         <h:column>
@@ -483,14 +483,14 @@
             <f:facet name="header">
                 <h:outputText value="#{messages['lacewiki.label.dirDisplay.ReadAccess']}"/>
             </f:facet>
-            <h:outputText value="#{wiki:truncateString(wiki:resolveAccessLevel(node.readAccessLevel).roleNames, 20, '...')}"/>
+            <h:outputText value="#{wiki:truncateString(wiki:resolveAccessLevel(node.readAccessLevel).roleNames, 15, '...')}"/>
         </h:column>
 
         <h:column>
             <f:facet name="header">
                 <h:outputText value="#{messages['lacewiki.label.dirDisplay.WriteAccess']}"/>
             </f:facet>
-            <h:outputText value="#{wiki:truncateString(wiki:resolveAccessLevel(node.writeAccessLevel).roleNames, 20, '...')}"/>
+            <h:outputText value="#{wiki:truncateString(wiki:resolveAccessLevel(node.writeAccessLevel).roleNames, 15, '...')}"/>
         </h:column>
 
         <h:column rendered="#{!empty node.lastModifiedOn and !empty node.lastModifiedBy}">
@@ -516,6 +516,57 @@
 
     </h:dataTable>
 
+    <h:panelGrid columns="5" rendered="#{childNodesList.size > 0 and directoryHome.pager.numOfRecords > directoryHome.pager.pageSize}"
+                 styleClass="pager pagerBottom"
+                 columnClasses="pagerIconColumn,pagerIconColumn,pagerTextColumn,pagerIconColumn,pagerIconColumn"
+                 cellpadding="0" cellspacing="0" border="0">
+
+
+        <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
+                rendered="#{directoryHome.pager.previousPageAvailable}">
+            <f:param name="page" value="0"/>
+            <f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
+            <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/page.first.gif" width="13" height="11"/>
+        </s:link>
+        <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/blank.gif" width="13" height="11"
+                        rendered="#{!directoryHome.pager.previousPageAvailable}"/>
+
+        <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
+                rendered="#{directoryHome.pager.previousPageAvailable}">
+            <f:param name="page" value="#{directoryHome.pager.previousPage}"/>
+            <f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
+            <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/page.previous.gif" width="13" height="11"/>
+        </s:link>
+        <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/blank.gif" width="13" height="11"
+                        rendered="#{!directoryHome.pager.previousPageAvailable}"/>
+
+        <s:span>
+            <h:outputText value="#{messages['lacewiki.label.dirDisplay.PagerShowing']}
+                                    #{directoryHome.pager.firstRecord} #{messages['lacewiki.label.dirDisplay.PagerTo']}
+                                    #{directoryHome.pager.lastRecord} #{messages['lacewiki.label.dirDisplay.PagerOf']}
+                                    #{directoryHome.pager.numOfRecords} #{messages['lacewiki.label.dirDisplay.PagerElements']}"/>
+        </s:span>
+
+        <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
+                rendered="#{directoryHome.pager.nextPageAvailable}">
+            <f:param name="page" value="#{directoryHome.pager.nextPage}"/>
+            <f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
+            <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/page.next.gif" width="13" height="11"/>
+        </s:link>
+        <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/blank.gif" width="13" height="11"
+                        rendered="#{!directoryHome.pager.nextPageAvailable}"/>
+
+        <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
+                rendered="#{directoryHome.pager.nextPageAvailable}">
+            <f:param name="page" value="#{directoryHome.pager.lastPage}"/>
+            <f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
+            <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/page.last.gif" width="13" height="11"/>
+        </s:link>
+        <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/blank.gif" width="13" height="11"
+                        rendered="#{!directoryHome.pager.nextPageAvailable}"/>
+
+    </h:panelGrid>
+
 </div>
 
 </h:form>

Modified: trunk/examples/wiki/view/includes/ownerSelector.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/ownerSelector.xhtml	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/view/includes/ownerSelector.xhtml	2008-01-30 15:42:43 UTC (rev 7310)
@@ -67,7 +67,7 @@
         </div>
 
         <s:div id="userPager" style="margin-top:10px;">
-            <h:panelGrid columns="5" styleClass="pager"
+            <h:panelGrid columns="5" styleClass="pager pagerTop"
                          columnClasses="pagerIconColumn,pagerIconColumn,pagerTextColumn,pagerIconColumn,pagerIconColumn"
                          cellpadding="0" cellspacing="0" border="0"
                          rendered="#{userSearch.rowCount > 0}">

Modified: trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml	2008-01-30 15:42:43 UTC (rev 7310)
@@ -28,7 +28,7 @@
 
         <s:div id="forumPostingControls" styleClass="forumPostingControls">
 
-            <h:panelGroup rendered="#{not replyHome.showForm and replyHome.hasReplyPermission()}">
+            <h:panelGroup rendered="#{not replyHome.showForm and replyHome.isPersistAllowed(null,null)}">
 
                 <s:link tabindex="1"
                         action="#{replyHome.replyToDocument()}"
@@ -113,7 +113,7 @@
 
                         <s:fragment>
 
-                            <s:fragment rendered="#{not replyHome.showForm and replyHome.hasReplyPermission()}">
+                            <s:fragment rendered="#{not replyHome.showForm and replyHome.isPersistAllowed(null,null)}">
 
                                 <s:link tabindex="102"
                                         action="#{replyHome.replyTo()}"

Modified: trunk/examples/wiki/view/plugins/lastModifiedDocuments/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/lastModifiedDocuments/plugin.xhtml	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/view/plugins/lastModifiedDocuments/plugin.xhtml	2008-01-30 15:42:43 UTC (rev 7310)
@@ -26,14 +26,14 @@
 
                         <s:fragment rendered="#{preferences.get('LastModifiedDocuments', currentMacro).showUsernames}">
 
-                            <s:span styleClass="undecoratedLink" rendered="#{wiki:isRegularUser(doc.lastModifiedBy)}">
+                            (<s:span styleClass="undecoratedLink" rendered="#{wiki:isRegularUser(doc.lastModifiedBy)}">
                                 <h:outputLink value="#{wiki:renderUserInfoURL(doc.lastModifiedBy)}">
                                     <h:outputText value="#{doc.lastModifiedBy.username}"/>
                                 </h:outputLink>
                             </s:span>
                             <s:span rendered="#{not wiki:isRegularUser(doc.lastModifiedBy)}">
                                 <h:outputText value="#{doc.lastModifiedBy.username}"/>
-                            </s:span>
+                            </s:span>)
 
                             <h:outputText value="&#160;"/>
                         </s:fragment>

Modified: trunk/examples/wiki/view/search_d.xhtml
===================================================================
--- trunk/examples/wiki/view/search_d.xhtml	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/view/search_d.xhtml	2008-01-30 15:42:43 UTC (rev 7310)
@@ -141,7 +141,7 @@
         </s:div>
 
         <s:div id="searchPager">
-            <h:panelGrid columns="5" styleClass="pager"
+            <h:panelGrid columns="5" styleClass="pager pagerTop"
                          columnClasses="pagerIconColumn,pagerIconColumn,pagerTextColumn,pagerIconColumn,pagerIconColumn"
                          cellpadding="0" cellspacing="0" border="0"
                          rendered="#{wikiSearch.totalCount > 0}">

Modified: trunk/examples/wiki/view/themes/default/css/template.css
===================================================================
--- trunk/examples/wiki/view/themes/default/css/template.css	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/view/themes/default/css/template.css	2008-01-30 15:42:43 UTC (rev 7310)
@@ -876,7 +876,6 @@
     width: 100%;
     padding: 0;
     margin: 0;
-    border-top: 1px solid #C3BBB6;
     border-left: 1px solid #C3BBB6;
     border-right: 1px solid #C3BBB6;
     background: #fff url(../img/th.bg.gif) 0 0 repeat-x;
@@ -890,6 +889,14 @@
     font-size: 85%;
 }
 
+.pagerTop {
+    border-top: 1px solid #C3BBB6;
+}
+
+.pagerBottom {
+    border-bottom: 1px solid #C3BBB6;
+}
+
 /* Comments
 -----------------------------------------------*/
 

Modified: trunk/examples/wiki/view/userList_d.xhtml
===================================================================
--- trunk/examples/wiki/view/userList_d.xhtml	2008-01-30 12:01:34 UTC (rev 7309)
+++ trunk/examples/wiki/view/userList_d.xhtml	2008-01-30 15:42:43 UTC (rev 7310)
@@ -92,7 +92,7 @@
         </div>
 
         <s:div id="userListPager">
-            <h:panelGrid columns="5" styleClass="pager"
+            <h:panelGrid columns="5" styleClass="pager pagerTop"
                          columnClasses="pagerIconColumn,pagerIconColumn,pagerTextColumn,pagerIconColumn,pagerIconColumn"
                          cellpadding="0" cellspacing="0" border="0"
                          rendered="#{userSearch.rowCount > 0}">




More information about the seam-commits mailing list