[jboss-cvs] JBossBlog SVN: r287 - in trunk: view/manage and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 10 09:32:58 EDT 2008


Author: adamw
Date: 2008-04-10 09:32:58 -0400 (Thu, 10 Apr 2008)
New Revision: 287

Added:
   trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsToolsBean.java
Modified:
   trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsListener.java
   trunk/view/manage/index.xhtml
   trunk/view/manage/proposition/proposition_list.xhtml
Log:


Modified: trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsListener.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsListener.java	2008-04-10 11:30:52 UTC (rev 286)
+++ trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsListener.java	2008-04-10 13:32:58 UTC (rev 287)
@@ -7,15 +7,12 @@
 import org.jboss.seam.faces.Renderer;
 import org.jboss.seam.log.Log;
 import org.jboss.blog.model.log.PropositionsLog;
-import org.jboss.blog.model.security.*;
 import org.jboss.blog.model.feed.Feed;
 import org.jboss.blog.session.security.FeedsIdentity;
-import org.jboss.blog.session.security.external.ExternalSecurityService;
 import org.jboss.blog.session.configuration.ConfigurationManager;
 import org.jboss.blog.tools.StringTools;
 
 import javax.persistence.EntityManager;
-import javax.persistence.NoResultException;
 import java.util.Date;
 
 /**
@@ -36,10 +33,10 @@
     private FeedsIdentity identity;
 
     @In
-    private ExternalSecurityService externalSecurityService;
+    private ConfigurationManager configurationManager;
 
     @In
-    private ConfigurationManager configurationManager;
+    private PropositionsToolsBean propositionsTools;
 
     @Logger
     private Log log;
@@ -69,31 +66,15 @@
         sendEmail(configurationManager.getConfiguration().getAdminEmail(), "/emails/new_proposition_email.xhtml");
     }
 
-    private String getEmailForProposedFeed(Feed feed) {
-        try {
-            SecurityUser securityUser = (SecurityUser) entityManager.createQuery(
-                    "select pl.securityUser from PropositionsLog pl where pl.feed = ?1")
-                    .setParameter(1, feed).getSingleResult();
-
-            if (securityUser != null) {
-                return externalSecurityService.getEmail(securityUser);
-            } else {
-                return null;
-            }
-        } catch (NoResultException e) {
-            return null;
-        }
-    }
-
     @Observer("org.jboss.blog.feed.accepted")
     public void feedAccepted(Feed feed) {
-        sendEmail(getEmailForProposedFeed(feed), "/emails/proposition_accepted.xhtml");
+        sendEmail(propositionsTools.getEmailForProposedFeed(feed), "/emails/proposition_accepted.xhtml");
     }
 
     @Observer("org.jboss.blog.feed.before_delete")
     public void beforeFeedDeleted(Feed feed) {
         if (!feed.isAccepted()) {
-            sendEmail(getEmailForProposedFeed(feed), "/emails/proposition_rejected.xhtml");
+            sendEmail(propositionsTools.getEmailForProposedFeed(feed), "/emails/proposition_rejected.xhtml");
         }
 
         entityManager.createQuery("delete from PropositionsLog pl where pl.feed = ?1")

Copied: trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsToolsBean.java (from rev 286, trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsCountBean.java)
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsToolsBean.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsToolsBean.java	2008-04-10 13:32:58 UTC (rev 287)
@@ -0,0 +1,62 @@
+package org.jboss.blog.session.feed.mod;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.ScopeType;
+import org.jboss.blog.service.GroupsService;
+import org.jboss.blog.model.Group;
+import org.jboss.blog.model.security.SecurityUser;
+import org.jboss.blog.model.feed.Feed;
+import org.jboss.blog.session.security.filtering.GroupsSecurity;
+import org.jboss.blog.session.security.external.ExternalSecurityService;
+
+import javax.persistence.NoResultException;
+import javax.persistence.EntityManager;
+
+/**
+ * @author Adam Warski (adam at warski dot org)
+ */
+ at Name("propositionsTools")
+ at Scope(ScopeType.STATELESS)
+ at AutoCreate
+public class PropositionsToolsBean {
+    @In
+    private GroupsService groupsService;
+
+    @In
+    private GroupsSecurity groupsSecurity;
+
+    @In
+    private EntityManager entityManager;
+
+    @In
+    private ExternalSecurityService externalSecurityService;
+
+    public int getPendingPropositions() {
+        int total = 0;
+
+        for (Group group : groupsSecurity.filterForFeedMod(groupsService.getAllGroups())) {
+            total += groupsService.unacceptedFeeds(group).size();
+        }
+
+        return total;
+    }
+
+    public String getEmailForProposedFeed(Feed feed) {
+        try {
+            SecurityUser securityUser = (SecurityUser) entityManager.createQuery(
+                    "select pl.securityUser from PropositionsLog pl where pl.feed = ?1")
+                    .setParameter(1, feed).getSingleResult();
+
+            if (securityUser != null) {
+                return externalSecurityService.getEmail(securityUser);
+            } else {
+                return null;
+            }
+        } catch (NoResultException e) {
+            return null;
+        }
+    }
+}
\ No newline at end of file

Modified: trunk/view/manage/index.xhtml
===================================================================
--- trunk/view/manage/index.xhtml	2008-04-10 11:30:52 UTC (rev 286)
+++ trunk/view/manage/index.xhtml	2008-04-10 13:32:58 UTC (rev 287)
@@ -24,13 +24,13 @@
 
 <div class="adminlist">
     <dl>
-        <s:fragment rendered="#{propositionsCount.pendingPropositions > 0 ||
+        <s:fragment rendered="#{propositionsTools.pendingPropositions > 0 ||
                     identity.hasPermission('feed', 'add_any')}">
             <dt>New feed operations:</dt>
             <hr />
-            <s:fragment rendered="#{propositionsCount.pendingPropositions > 0}">
+            <s:fragment rendered="#{propositionsTools.pendingPropositions > 0}">
                 <dd>
-                    <s:link value="Pending feed propositions (#{propositionsCount.pendingPropositions})"
+                    <s:link value="Pending feed propositions (#{propositionsTools.pendingPropositions})"
                             view="/manage/proposition/proposition_list.xhtml" />
                 </dd>
             </s:fragment>

Modified: trunk/view/manage/proposition/proposition_list.xhtml
===================================================================
--- trunk/view/manage/proposition/proposition_list.xhtml	2008-04-10 11:30:52 UTC (rev 286)
+++ trunk/view/manage/proposition/proposition_list.xhtml	2008-04-10 13:32:58 UTC (rev 287)
@@ -19,6 +19,7 @@
                 <td class="tableheader">Feed name</td>
                 <td class="tableheader">Feed address</td>
                 <td class="tableheader">Feed category regexp</td>
+                <td class="tableheader">Feed author email</td>
                 <td class="tableheader">Accept the feed</td>
                 <td class="tableheader">Delete the feed</td>
             </tr>
@@ -43,6 +44,7 @@
                                 <td class="rowline">#{feed.name}</td>
                                 <td class="rowline"><h:outputLink value="#{feed.remoteLink}">#{feed.remoteLink}</h:outputLink></td>
                                 <td class="rowline">#{feed.includeCategoryRegexp}</td>
+                                <td class="rowline">#{propositionsTools.getEmailForProposedFeed(feed)}</td>
                                 <td class="rowline">
                                     <s:link view="/manage/proposition/proposition_accept_1.xhtml" value="Accept"
                                             rendered="#{identity.hasPermission('feed', 'edit', feed, group)}">




More information about the jboss-cvs-commits mailing list