[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