Search the web
Sign In
New User? Sign Up
congo-dev
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Messages 1893 - 1922 of 1939   Newest  |  < Newer  |  Older >  |  Oldest
Messages: Show Message Summaries   (Group by Topic) Sort by Date v  
#1922 From: svn@...
Date: Fri Nov 27, 2009 8:23 pm
Subject: r4606 - in /congo/v2/trunk/src/main: java/com/stonekeep/congo/dao/InvoiceDAO.java webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
svn@...
Send Email Send Email
 
Author: dbs
Date: Fri Nov 27 15:23:14 2009
New Revision: 4606

Log:
Added display hooks for Checkin and Print Badge when processing an invoice (not
wired up yet)

Also display some more information on the invoice preview screen.

Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/InvoiceDAO.java
     congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/InvoiceDAO.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/InvoiceDAO.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/InvoiceDAO.java
[iso-8859-1] Fri Nov 27 15:23:14 2009
@@ -30,7 +30,8 @@
 			 + "invoice_creator=?,invoice_amount=?,invoice_payer=?,invoice_paytype=?,"
 			 +
"invoice_paydate=?,invoice_operator=?,invoice_comment=?,invoice_authcode=?,invoi\
ce_status=? "
 			 + "WHERE invoice_id=?";
- private final String SQL_GET_INVOICE = "SELECT * FROM invoices WHERE
invoice_id=?";
+ private final String SQL_GET_INVOICE = "SELECT * FROM invoices,reg_master " +
+ 	 "where invoice_creator = master_rid AND invoice_id=?";

 	 // Invoice detail queries...
 	 private final String SQL_LIST_INVOICEDETAIL = "SELECT * FROM invoice_detail "
+
@@ -240,6 +241,10 @@
 		 i.paydate = rset.getTimestamp("invoice_paydate");
 		 i.payer = rset.getInt("invoice_payer");
 		 i.paytype = rset.getString("invoice_paytype");
+  if ((rset.getString("master_lastname") != null) &&
(rset.getString("master_firstname") != null)) {
+ 	 i.creatorName= rset.getString("master_lastname") + ", " +
rset.getString("master_firstname");
+ 	 logger.debug("Added id.fullname");
+  }
 	 }

 	 private void loadInvoiceDetail(InvoiceDetail id, ResultSet rset)

Modified:
congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
[iso-8859-1] Fri Nov 27 15:23:14 2009
@@ -31,13 +31,19 @@
     			 <input type="radio" name="sendto" value="registrant" ${session.sendto ==
'registrant' ? 'checked' : ''}>This registrant<br>
     			 <input type="radio" name="sendto" value="everyone" ${session.sendto ==
'everyone' ? 'checked' : ''}>Everyone on this invoice<br>
        		 </div>
+
+       	 <div style="float: right; width: 150px;">
+       		 <b>Processing</b><hr>
+       		 <input type="checkbox" name="checkin" accesskey="h">C[h]eck in<br>
+       		 <input type="checkbox" name="checkin" accesskey="b">Print [b]adge<br>
+       	 </div>

 			 <table cellspacing=3>
- 		 <tr><td colspan=2><b>Invoice Summary</b><hr></td></tr>
+ 		 <tr><td colspan=3><b>Invoice Summary</b><hr></td></tr>
 				 <tr><td width=80px>Invoice</td><td><b># ${workinginvoice.id}</td></tr>
 				 <tr><td>Amount</td><td><fmt:formatNumber value="${workinginvoice.amount}"
type="currency"/></td></tr>
 				 <tr><td>Status</td><td>${workinginvoice.status }</td></tr>
- 		 <tr><td>Created by</td><td>${workinginvoice.creator }</td></tr>
+ 		 <tr><td>Created by</td><td>${workinginvoice.creator
}</td><td>${workinginvoice.creatorName}</td></tr>
 				 <tr><td>Operator</td><td>${workinginvoice.operator }</td></tr>
 			 </table>

#1921 From: svn@...
Date: Fri Nov 27, 2009 2:43 pm
Subject: r4605 - /congo/v2/trunk/pom.xml
svn@...
Send Email Send Email
 
Author: hudson
Date: Fri Nov 27 09:43:14 2009
New Revision: 4605

Log:
[maven-release-plugin] prepare for next development iteration

Modified:
     congo/v2/trunk/pom.xml

Modified: congo/v2/trunk/pom.xml
==============================================================================
--- congo/v2/trunk/pom.xml [iso-8859-1] (original)
+++ congo/v2/trunk/pom.xml [iso-8859-1] Fri Nov 27 09:43:14 2009
@@ -3,13 +3,13 @@

    <groupId>com.stonekeep.congo</groupId>
    <artifactId>congo</artifactId>
-  <version>2.0.1.5</version>
+  <version>2.0.1.6-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>CONGO</name>

    <scm>
-   
<developerConnection>scm:svn:http://svn.stonekeep.com/svn/congo/v2/tags/congo-2.\
0.1.5</developerConnection>
+   
<developerConnection>scm:svn:http://svn.stonekeep.com/svn/congo/v2/trunk</develo\
perConnection>
    </scm>

    <dependencies>

#1920 From: svn@...
Date: Fri Nov 27, 2009 2:43 pm
Subject: r4603 - /congo/v2/trunk/pom.xml
svn@...
Send Email Send Email
 
Author: hudson
Date: Fri Nov 27 09:43:11 2009
New Revision: 4603

Log:
[maven-release-plugin] prepare release congo-2.0.1.5

Modified:
     congo/v2/trunk/pom.xml

Modified: congo/v2/trunk/pom.xml
==============================================================================
--- congo/v2/trunk/pom.xml [iso-8859-1] (original)
+++ congo/v2/trunk/pom.xml [iso-8859-1] Fri Nov 27 09:43:11 2009
@@ -3,13 +3,13 @@

    <groupId>com.stonekeep.congo</groupId>
    <artifactId>congo</artifactId>
-  <version>2.0.1.5-SNAPSHOT</version>
+  <version>2.0.1.5</version>
    <packaging>war</packaging>

    <name>CONGO</name>

    <scm>
-   
<developerConnection>scm:svn:http://svn.stonekeep.com/svn/congo/v2/trunk</develo\
perConnection>
+   
<developerConnection>scm:svn:http://svn.stonekeep.com/svn/congo/v2/tags/congo-2.\
0.1.5</developerConnection>
    </scm>

    <dependencies>

#1919 From: svn@...
Date: Fri Nov 27, 2009 2:43 pm
Subject: r4604 - in /congo/v2/tags/congo-2.0.1.5: ./ pom.xml
svn@...
Send Email Send Email
 
Author: hudson
Date: Fri Nov 27 09:43:12 2009
New Revision: 4604

Log:
[maven-release-plugin]  copy for tag congo-2.0.1.5

Added:
     congo/v2/tags/congo-2.0.1.5/
       - copied from r4602, congo/v2/trunk/
     congo/v2/tags/congo-2.0.1.5/pom.xml
       - copied unchanged from r4603, congo/v2/trunk/pom.xml

#1918 From: svn@...
Date: Sun Oct 4, 2009 6:27 pm
Subject: r4563 - in /congo/v2/trunk/src/main: java/com/stonekeep/congo/coconut/SendMail.java java/com/stonekeep/congo/util/SMTP.java resources/struts.xml webapp/WEB-INF/jsp/coconut/ShowMessageForm.jsp
svn@...
Send Email Send Email
 
Author: dbs
Date: Sun Oct  4 14:26:59 2009
New Revision: 4563

Log:
Fix for trac bug #77 - Result codes from SMTP actions are not reported to the
client.

Added new action return type 'message' - any action class that returns that will
show a message screen with whatever is in the 'message' stack variable.

Added:
     congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ShowMessageForm.jsp
Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/SendMail.java
     congo/v2/trunk/src/main/java/com/stonekeep/congo/util/SMTP.java
     congo/v2/trunk/src/main/resources/struts.xml

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/SendMail.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/SendMail.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/SendMail.java
[iso-8859-1] Sun Oct  4 14:26:59 2009
@@ -166,7 +166,10 @@
 			 target = e.address;
 		 }

-  smtp.sendAnyMail(target, out.toString());
+  message = smtp.sendAnyMail(target, out.toString());
+  if (message != null) {
+ 	 return "message";
+  }

 		 // Record the history...
 		 History h = historyDAO.create(r.rid,c.getConCID(),"EMAIL",r.rid);

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/util/SMTP.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/util/SMTP.java [iso-8859-1]
(original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/util/SMTP.java [iso-8859-1]
Sun Oct  4 14:26:59 2009
@@ -25,12 +25,15 @@
 	 public void setsmtpfromname(String whatname) { smtpfromname=whatname; }
 	 public void setsmtpbcc(String whatbcc) { smtpbcc = whatbcc; }

+ public String message = null;
+

 	 public SMTP() {
 		 logger.debug("SMTP initialized...");
 	 }

- public void sendAnyMail(String target,String messagebody) throws Exception {
+ public String sendAnyMail(String target,String messagebody) throws Exception {
+  message = null;
 		 try {
 			 setDefaultPort(smtpport);
 			 int reply;
@@ -39,7 +42,8 @@
 			 logger.info(getReplyString());
 			 reply = getReplyCode();
 			 if(!SMTPReply.isPositiveCompletion(reply)) {
- 		 logger.error("SMTP server refused connection : " + reply);
+ 		 message = "SMTP server refused connection : " + reply ;
+ 		 logger.error(message);
 			 } else {
 				 logger.info("SMTP server ready: " + reply);
 				 logger.info("Sending main message...");
@@ -47,7 +51,8 @@
 					 logger.info("Message sent to " + target + " successfully.");
 				 } else {
 					 reply = getReplyCode();
- 			 logger.error("Message send to " + target + " failed.  Server responded: "
+ reply);
+ 			 message = "Message send to " + target + " failed.  Server responded: " +
reply ;
+ 			 logger.error(message);
 				 }
 				 if (smtpbcc.length() > 1) {
 					 logger.info("Sending BCC copy...");
@@ -55,7 +60,8 @@
 						 logger.info("Message sent to " + smtpbcc + " successfully.");
 					 } else {
 						 reply = getReplyCode();
- 				 logger.error("Message send to " + smtpbcc + " failed.  Server responded:
" + reply);
+ 				 message = "Message send to " + smtpbcc + " failed.  Server responded: " +
reply ;
+ 				 logger.error(message);
 					 }
 				 }
 			 }
@@ -72,7 +78,7 @@
 			 logger.error("Could not connect to server : " + e.getMessage());
 			 throw (e);
 		 }
-
+  return message;
 	 }

 	 public void sendReminderMail(String target,String newpassword) throws
Exception {

Modified: congo/v2/trunk/src/main/resources/struts.xml
==============================================================================
--- congo/v2/trunk/src/main/resources/struts.xml [iso-8859-1] (original)
+++ congo/v2/trunk/src/main/resources/struts.xml [iso-8859-1] Sun Oct  4
14:26:59 2009
@@ -25,10 +25,9 @@
      </interceptors>

      <global-results>
-      <result name="login" type="redirectAction">coconut/showloginpage
-      </result>
-      <result name="notconfigured" type="redirectAction">coconut/configure
-      </result>
+      <result name="login" type="redirectAction">coconut/showloginpage 
</result>
+      <result name="notconfigured" type="redirectAction">coconut/configure
</result>
+      <result name="message">/WEB-INF/jsp/coconut/ShowMessageForm.jsp</result>
      </global-results>

      <!-- ShowHistory -->

Added: congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ShowMessageForm.jsp
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ShowMessageForm.jsp
(added)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ShowMessageForm.jsp
[iso-8859-1] Sun Oct  4 14:26:59 2009
@@ -1,0 +1,34 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+    pageEncoding="ISO-8859-1"%>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <link href="<s:url value="coconut.css"/>" rel="stylesheet" type="text/css"/>
+ <title>Coconut: Message Reporting</title>
+</head>
+<body>
+<jsp:include page="PageHeader.jsp"></jsp:include>
+<div class="bodybox">
+ <div class="menuheader">Message</div>
+ <div class="menuboxes">
+  An system message was generated during the last action:
+ </div>
+
+ <div class="message">
+  <span style="color: #9a1010;">
+  ${message} <br>
+  </span>
+ </div>
+
+ <p>
+
+ <div class="menuheader">Other</div>
+ <div class="menuboxes">
+  <a href="<s:url action="coconut/Home"/>" accesskey="X">[X] Exit to Main
Menu</a>
+ </div>
+
+</div>
+</body>
+</html>

#1917 From: svn@...
Date: Sun Oct 4, 2009 6:41 pm
Subject: r4564 - /congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
svn@...
Send Email Send Email
 
Author: dbs
Date: Sun Oct  4 14:41:19 2009
New Revision: 4564

Log:
When creating a new registrant via the public interface, make sure there's a
history record logged.  This is a fix for Trac bug #54

Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
[iso-8859-1] Sun Oct  4 14:41:19 2009
@@ -326,6 +326,11 @@

 		 sessionData.put("webuser", r);

+  // Make a CREATE record for this entry
+  History loginRecord = historyDAO.create(r.rid,cid,"CREATE",0);
+  loginRecord.comment = "Created via public page";
+  historyDAO.save(loginRecord);
+
 		 logger.debug("Create completed - returning Success");
 		 return SUCCESS;
 	 }

#1916 From: svn@...
Date: Wed Jan 21, 2009 4:35 am
Subject: r4342 - in /congo/branches/congo-2.0.0.2/src/main/webapp: WEB-INF/jsp/public/PageHeader.jsp WEB-INF/jsp/public/Welcome.jsp public/web.css
svn@...
Send Email Send Email
 
Author: dbs
Date: Tue Jan 20 23:34:58 2009
New Revision: 4342

Log:
Added 'orange' information box to home page.

Modified:
    
congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/public/PageHeader.jsp
     congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/public/Welcome.jsp
     congo/branches/congo-2.0.0.2/src/main/webapp/public/web.css

Modified:
congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/public/PageHeader.jsp
==============================================================================
---
congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/public/PageHeader.jsp
[iso-8859-1] (original)
+++
congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/public/PageHeader.jsp
[iso-8859-1] Tue Jan 20 23:34:58 2009
@@ -1,6 +1,6 @@
- <div class='box'>
- 	 <div class='boxtop'><div></div></div>
-  		 <div class='boxcontent'>
+ <div class='box-green'>
+ 	 <div class='boxtop-green'><div></div></div>
+  		 <div class='boxcontent-green'>
 		 <div class="dates">
 			 Start: <fmt:formatDate type="both" dateStyle="long" timeStyle="short"
value="${currentConvention.conStart}"/><br>
 			 End: <fmt:formatDate type="both" dateStyle="long" timeStyle="short"
value="${currentConvention.conEnd}"/>
@@ -18,5 +18,5 @@
 			 ${currentConvention.conLocation}
 		 </div>
   			 </div>
- 	 <div class='boxbottom'><div></div></div>
+ 	 <div class='boxbottom-green'><div></div></div>
 	 </div>

Modified:
congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/public/Welcome.jsp
==============================================================================
--- congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/public/Welcome.jsp
[iso-8859-1] (original)
+++ congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/public/Welcome.jsp
[iso-8859-1] Tue Jan 20 23:34:58 2009
@@ -18,7 +18,18 @@

 	 <%@include file="PageHeader.jsp" %>

- <div class="inputform">
+ <div style="float: right; width: 200px;">
+  <div class='box-orange'>
+  	 <div class='boxtop-orange'><div></div></div>
+  			 <div class='boxcontent-orange'>
+  				 Event home page:<br>
+  				 <a href="${currentConvention.conWebsite
}">${currentConvention.conWebsite }</a>
+ 		 </div>
+ 		 <div class='boxbottom-orange'><div></div></div>
+  </div>
+ </div>
+
+ <div class="inputform" >

 		 Login Name / email address / registrant ID: (<i>Only ID works right
now</i>)<br>
 		 <input name="login"><br>
@@ -27,6 +38,7 @@
 		 ${message}

 	 </div>
+

 	 <div class="buttonbar">
 		 <input type="submit" name="loginbutton" value="Login">

Modified: congo/branches/congo-2.0.0.2/src/main/webapp/public/web.css
==============================================================================
--- congo/branches/congo-2.0.0.2/src/main/webapp/public/web.css [iso-8859-1]
(original)
+++ congo/branches/congo-2.0.0.2/src/main/webapp/public/web.css [iso-8859-1] Tue
Jan 20 23:34:58 2009
@@ -173,6 +173,6 @@
  }
  .boxcontent-orange {
    padding: 0px 10px 0px 10px;
-  color: #ffffff
+  color: #000000
  }

#1915 From: svn@...
Date: Thu Jul 9, 2009 6:41 pm
Subject: r4456 - /congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/coconut/Browse.jsp
svn@...
Send Email Send Email
 
Author: ojacobson
Date: Thu Jul  9 14:41:48 2009
New Revision: 4456

Log:
Quoting issue in JSP

Modified:
     congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/coconut/Browse.jsp

Modified:
congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/coconut/Browse.jsp
==============================================================================
--- congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/coconut/Browse.jsp
[iso-8859-1] (original)
+++ congo/branches/congo-2.0.0.2/src/main/webapp/WEB-INF/jsp/coconut/Browse.jsp
[iso-8859-1] Thu Jul  9 14:41:48 2009
@@ -17,7 +17,7 @@
 	 <s:form name="browse" action="coconut/processBrowse">
 	 <div class="menuboxes menuheader">Browse Registrants</div>
 	 <div class="menuboxes">
- <table width=100%">
+ <table width="100%">
 		 <tr valign="bottom">
 			 <td><b>Registration type</b><br />
 			 <s:select
@@ -43,7 +43,7 @@
 	 </div>

 	 <div class="menuboxes">
- <table width=100%">
+ <table width="100%">
 		 <tr>
 			 <th>RegID</th>
 			 <th>Last Name</th>

#1914 From: svn@...
Date: Wed Jul 8, 2009 7:03 pm
Subject: r4455 - /congo/branches/congo-2.0.0.2/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
svn@...
Send Email Send Email
 
Author: ojacobson
Date: Wed Jul  8 15:03:57 2009
New Revision: 4455

Log:
Found and eliminated some connection leaks and potential connection leaks:
  * RegistrantDAO.logChanges wasn't actually using the connection it allocated,
removed.
  * RegistrantDAO.searchByEmail interspersed logging with connection management,
reordered.
  * RegistrantDAO.checkPassword never closed its connection, fixed.

Modified:
    
congo/branches/congo-2.0.0.2/src/main/java/com/stonekeep/congo/dao/RegistrantDAO\
.java

Modified:
congo/branches/congo-2.0.0.2/src/main/java/com/stonekeep/congo/dao/RegistrantDAO\
.java
==============================================================================
---
congo/branches/congo-2.0.0.2/src/main/java/com/stonekeep/congo/dao/RegistrantDAO\
.java [iso-8859-1] (original)
+++
congo/branches/congo-2.0.0.2/src/main/java/com/stonekeep/congo/dao/RegistrantDAO\
.java [iso-8859-1] Wed Jul  8 15:03:57 2009
@@ -144,7 +144,6 @@
 	  * @param cid The convention ID.
 	  */
 	 public void logChanges(Registrant newRegistrant, int loggingUser,int cid)
throws SQLException {
-  Connection c = dataSource.getConnection();
 		 // Retrieve what's in the database for this registrant
 		 Registrant oldRegistrant = getByID(newRegistrant.rid);
 		 if (! oldRegistrant.firstName.equals(newRegistrant.firstName)) {
@@ -236,8 +235,8 @@
 	 }

 	 public Registrant searchbyEmail(String em) throws SQLException {
-  Connection c = dataSource.getConnection();
 		 logger.debug("Searching for email address " + em);
+  Connection c = dataSource.getConnection();
 		 try {
 			 String sql = "SELECT * from reg_email WHERE email_address=?";
 			 Registrant r = null;
@@ -342,17 +341,21 @@
 	 public boolean checkPassword(Registrant r,String password) throws SQLException
{
 		 final String sql = "select master_rid from reg_master where master_rid=? and
master_password=password(?)";
 		 Connection c = dataSource.getConnection();
-  PreparedStatement p;
-  p = c.prepareStatement(sql.toString());
-  p.setInt(1, r.rid);
-  p.setString(2,password);
-  ResultSet rs = p.executeQuery();
-  if (rs.next()) {
- 	 logger.debug("Password validation for registrant " + r.rid + "
successful.");
- 	 return true;
-  } else {
- 	 logger.warn("Password validation for registrant " + r.rid + " FAILED.");
- 	 return false;
+  try {
+ 	 PreparedStatement p;
+ 	 p = c.prepareStatement(sql.toString());
+ 	 p.setInt(1, r.rid);
+ 	 p.setString(2,password);
+ 	 ResultSet rs = p.executeQuery();
+ 	 if (rs.next()) {
+ 		 logger.debug("Password validation for registrant " + r.rid + "
successful.");
+ 		 return true;
+ 	 } else {
+ 		 logger.warn("Password validation for registrant " + r.rid + " FAILED.");
+ 		 return false;
+ 	 }
+  } finally {
+ 	 c.close();
 		 }
 	 }

#1913 From: svn@...
Date: Thu Nov 26, 2009 4:05 am
Subject: r4602 - in /congo/v2/trunk/src/main: java/com/stonekeep/congo/dao/ java/com/stonekeep/congo/interceptors/ java/com/stonekeep/congo/web/ resources/ webapp/WEB-INF/jsp/public/
svn@...
Send Email Send Email
 
Author: dbs
Date: Wed Nov 25 23:05:28 2009
New Revision: 4602

Log:
A whole slew of changes here.

* Fix for bug #35 - Session not destroyed on logout
* Fix for bug #27 - Self service registrant changes.  Change password is now
enabled (and also logs).  Basic contact info is editable.  Others still needed,
but this is good for now)

A variety of other fixes:

If a session is active when the appserver is restarted (destroying the backing
session), public interface sessions will automatically redirect to login.

Password changes via public interface enabled.

Formatting issues with 'messages' from registrant and password changes fixed.

Added:
     congo/v2/trunk/src/main/webapp/WEB-INF/jsp/public/ChangePassword.jsp
Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
    
congo/v2/trunk/src/main/java/com/stonekeep/congo/interceptors/PublicLoginChecker\
.java
     congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
     congo/v2/trunk/src/main/resources/struts-web.xml
     congo/v2/trunk/src/main/webapp/WEB-INF/jsp/public/Change.jsp

Modified:
congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
[iso-8859-1] Wed Nov 25 23:05:28 2009
@@ -223,8 +223,7 @@
 			 throws SQLException {
 		 Connection c = dataSource.getConnection();
 		 try {
- 	 logger
- 			 .debug("Setting password for " + r.rid + " to "
+ 	 logger.trace("Setting password for " + r.rid + " to "
 							 + newPassword);
 			 String sql = "UPDATE reg_master SET "
 					 + "master_password=password(?) " + "WHERE master_rid=?";
@@ -235,6 +234,11 @@
 			 logger.debug("Setting password : " + p.executeUpdate()
 					 + " rows updated.");
 			 p.close();
+
+ 	 logger.debug("Saving history record...");
+ 	 History h = historyDAO.create(r.rid, 0, "CHANGE", r.rid);
+ 	 h.comment = "Password changed";
+ 	 historyDAO.save(h);
 		 } finally {
 			 c.close();
 		 }

Modified:
congo/v2/trunk/src/main/java/com/stonekeep/congo/interceptors/PublicLoginChecker\
.java
==============================================================================
---
congo/v2/trunk/src/main/java/com/stonekeep/congo/interceptors/PublicLoginChecker\
.java [iso-8859-1] (original)
+++
congo/v2/trunk/src/main/java/com/stonekeep/congo/interceptors/PublicLoginChecker\
.java [iso-8859-1] Wed Nov 25 23:05:28 2009
@@ -31,7 +31,7 @@
 			 logger.debug("There's a webuser, passing on to action class....");
 			 return invocation.invoke();
 		 } else {
- 	 logger.info("No username, returning 'notloggedin' to the interceptor.");
+ 	 logger.info("No webuser in session, returning 'notloggedin' to the
interceptor.");
 			 return "notloggedin";
 		 }
 	 }

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
[iso-8859-1] Wed Nov 25 23:05:28 2009
@@ -82,6 +82,7 @@
 	 public String homeeventsbutton = null;
 	 public String homelogoutbutton = null;
 	 public String homechangebutton = null;
+ public String homechangepass = null;

 	 // Register form
 	 public String registerexitbutton = null;
@@ -98,6 +99,10 @@

 	 // change form
 	 public String savebutton = null;
+
+ // Change password form
+ public String password1 = null;
+ public String password2 = null;

 	 // Internal DAO's - injected on the constructor by spring.
 	 private final ConventionDAO conventionDAO;
@@ -340,6 +345,9 @@
 		 if (homechangebutton != null) {
 			 return "change";
 		 }
+  if (homechangepass != null) {
+ 	 return "password";
+  }
 		 return SUCCESS;
 	 }

@@ -475,6 +483,22 @@
 		 return SUCCESS;
 	 }

+ public String changepassword() throws Exception {
+  if (savebutton != null) {
+ 	 logger.debug("This would change the password!");
+ 	 logger.trace("password 1 is " + password1);
+ 	 logger.trace("password 2 is " + password2);
+ 	 if (password1.equals(password2)) {
+ 		 Registrant r = (Registrant)sessionData.get("webuser");
+ 		 registrantDAO.setPassword(r, password1);
+ 	 } else {
+ 		 message = "Passwords do not match!";
+ 		 return INPUT;
+ 	 }
+  }
+  return SUCCESS ;
+ }
+

 	 @Override
 	 public void prepare() throws Exception {

Modified: congo/v2/trunk/src/main/resources/struts-web.xml
==============================================================================
--- congo/v2/trunk/src/main/resources/struts-web.xml [iso-8859-1] (original)
+++ congo/v2/trunk/src/main/resources/struts-web.xml [iso-8859-1] Wed Nov 25
23:05:28 2009
@@ -50,36 +50,49 @@
 		 </action>

 	 	 <action name="public/webCreateForm" method="create"
class="com.stonekeep.congo.web.WebActions">
+ 	 <interceptor-ref name="pppweb"/>
 			 <result name="success" type="redirectAction">public/MyHome</result>
 			 <result name="input">/WEB-INF/jsp/public/Create.jsp</result>
 			 <result name="exit">/WEB-INF/jsp/public/Welcome.jsp</result>
 		 </action>

 		 <action name="public/webMyHomeForm" method="myhome"
class="com.stonekeep.congo.web.WebActions">
+ 	 <interceptor-ref name="pppweb"/>
 			 <result name="success">/WEB-INF/jsp/public/MyHome.jsp</result>
 			 <result name="register">/WEB-INF/jsp/public/Register.jsp</result>
 			 <result name="change">/WEB-INF/jsp/public/Change.jsp</result>
+ 	 <result name="password">/WEB-INF/jsp/public/ChangePassword.jsp</result>
 			 <result name="exit">/WEB-INF/jsp/public/Welcome.jsp</result>
 		 </action>

 		 <action name="public/webChangeForm" method="change"
class="com.stonekeep.congo.web.WebActions">
+ 	 <interceptor-ref name="pppweb"/>
 			 <result name="success">/WEB-INF/jsp/public/MyHome.jsp</result>
 			 <result name="input">/WEB-INF/jsp/public/Change.jsp</result>
 		 </action>
+
+  <action name="public/webChangePasswordForm" method="changepassword"
class="com.stonekeep.congo.web.WebActions">
+ 	 <interceptor-ref name="pppweb"/>
+ 	 <result name="success">/WEB-INF/jsp/public/MyHome.jsp</result>
+ 	 <result name="input">/WEB-INF/jsp/public/ChangePassword.jsp</result>
+  </action>

 		 <action name="public/webRegisterForm" method="register"
class="com.stonekeep.congo.web.WebActions">
+ 	 <interceptor-ref name="pppweb"/>
 			 <result name="success">/WEB-INF/jsp/public/PayInvoice.jsp</result>
 			 <result name="input">/WEB-INF/jsp/public/Register.jsp</result>
 			 <result name="exit">/WEB-INF/jsp/public/MyHome.jsp</result>
 		 </action>

 		 <action name="public/webPayInvoiceForm" method="pay"
class="com.stonekeep.congo.web.WebActions">
+ 	 <interceptor-ref name="pppweb"/>
 			 <result name="success">/WEB-INF/jsp/public/MyHome.jsp</result>
 			 <result name="input">/WEB-INF/jsp/public/PayInvoice.jsp</result>
 			 <result name="exit">/WEB-INF/jsp/public/MyHome.jsp</result>
 		 </action>

 		 <action name="public/webPayPalForm" method="pay"
class="com.stonekeep.congo.web.Paypal">
+ 	 <interceptor-ref name="pppweb"/>
 			 <result name="success">/WEB-INF/jsp/public/MyHome.jsp</result>
 			 <result name="input">/WEB-INF/jsp/public/PayInvoice.jsp</result>
 			 <result name="redirect" type="redirect">${redirectURL}</result>
@@ -87,17 +100,20 @@
 		 </action>

 		 <action name="public/webPayPalConfirmSetup" method="setup"
class="com.stonekeep.congo.web.Paypal">
+ 	 <interceptor-ref name="pppweb"/>
 			 <result name="success">/WEB-INF/jsp/public/PayPalReviewForm.jsp</result>
 			 <result name="exit">/WEB-INF/jsp/public/MyHome.jsp</result>
 		 </action>

 		 <action name="public/webPayPalComplete" method="complete"
class="com.stonekeep.congo.web.Paypal">
+ 	 <interceptor-ref name="pppweb"/>
 			 <result name="success">/WEB-INF/jsp/public/PayPalComplete.jsp</result>
 			 <result name="error">/WEB-INF/jsp/public/PayPalError.jsp</result>
 			 <result name="exit">/WEB-INF/jsp/public/MyHome.jsp</result>
 		 </action>

 		 <action name="public/webForgotForm" method="forgot"
class="com.stonekeep.congo.util.GenerateMail">
+ 	 <interceptor-ref name="pppweb"/>
 			 <result name="input">/WEB-INF/jsp/public/Forgot.jsp</result>
 			 <result name="success">/WEB-INF/jsp/public/ForgotSent.jsp</result>
 			 <result name="exit">/WEB-INF/jsp/public/Welcome.jsp</result>

Modified: congo/v2/trunk/src/main/webapp/WEB-INF/jsp/public/Change.jsp
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/jsp/public/Change.jsp [iso-8859-1]
(original)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/jsp/public/Change.jsp [iso-8859-1]
Wed Nov 25 23:05:28 2009
@@ -34,7 +34,6 @@
 		 </div>

 		 <table class="inputform">
- 	 <tr><td colspan=2">${message}</td></tr>
 			 <tr><td>First Name</td>
 				 <td><s:textfield name="firstname" value="%{#session.webuser.firstName}"
/></td></tr>
 			 <tr><td>Last Name</td>

Added: congo/v2/trunk/src/main/webapp/WEB-INF/jsp/public/ChangePassword.jsp
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/jsp/public/ChangePassword.jsp (added)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/jsp/public/ChangePassword.jsp
[iso-8859-1] Wed Nov 25 23:05:28 2009
@@ -1,0 +1,61 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+    pageEncoding="UTF-8"%>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <LINK REL="StyleSheet" href="web.css" type="text/css">
+ <link rel="StyleSheet" href="getStylesheet.action" type="text/css">
+ <title>${currentConvention.conName}</title>
+</head>
+<body>
+ <form method="post" action="webChangePasswordForm.action" name="changeform">
+
+ <%@include file="PageHeader.jsp" %>
+
+ <div class="inputform">
+
+  <div class="title">
+ 	 Change your password<hr>
+  </div>
+
+  <div style="float: right; width: 200px;">
+ 	 <div class='box-orange'>
+  		 <div class='boxtop-orange'><div></div></div>
+  				 <div class='boxcontent-orange'>
+   				 Use this form to change your password.
+ 				 </div>
+  		 <div class='boxbottom-orange'><div></div></div>
+ 	 </div>
+  </div>
+
+  <table class="inputform">
+ 	 <tr><td>New password</td>
+ 		 <td><s:password name="password1" /></td></tr>
+ 	 <tr><td>Enter it again</td>
+ 		 <td><s:password name="password2" /></td></tr>
+  </table>
+
+  <div class="message">${message}</div>
+
+ </div>
+
+  <div class="buttonbar">
+ 	 <input type="submit" name="savebutton" class="webbutton" value="Save
changes">
+ 	 <input type="submit" name="cancelbutton" class="webbutton" value="Cancel">
+  </div>
+
+ <jsp:include page="PageFooter.jsp" />
+ </form>
+
+<script language="JavaScript">
+<!--
+document.createform.password1.focus();
+//-->
+</script>
+</body>
+</html>

#1912 From: svn@...
Date: Tue Nov 24, 2009 12:53 am
Subject: r4601 - in /congo/v2/trunk/src/main: java/com/stonekeep/congo/coconut/Operations.java java/com/stonekeep/congo/dao/InvoiceDAO.java java/com/stonekeep/congo/data/InvoiceDetail.java webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
svn@...
Send Email Send Email
 
Author: dbs
Date: Mon Nov 23 19:53:40 2009
New Revision: 4601

Log:
Fix for bug #94 - 'all' invoice detail items not showing

Also added display of registrant name on invoice detail

Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Operations.java
     congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/InvoiceDAO.java
     congo/v2/trunk/src/main/java/com/stonekeep/congo/data/InvoiceDetail.java
     congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp

Modified:
congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Operations.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Operations.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Operations.java
[iso-8859-1] Mon Nov 23 19:53:40 2009
@@ -161,11 +161,9 @@
 			 invoiceDAO.saveInvoiceDetail(id);
 			 invoiceDAO.recalculate(i.id);
 			 i = invoiceDAO.getInvoice(i.id);
+// 	 i.detailList.add(id);
+ 	 i.detailList = invoiceDAO.listInvoiceDetails(i.id);
 			 sessionData.put("workinginvoice", i);
- 	 logger.debug("i is " + i);
- 	 logger.debug("detailList is " + i.detailList);
- 	 logger.debug("id is " + id);
- 	 i.detailList.add(id);
 		 } else if (exitbutton != null) {
 			 return "exit";
 		 }

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/InvoiceDAO.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/InvoiceDAO.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/InvoiceDAO.java
[iso-8859-1] Mon Nov 23 19:53:40 2009
@@ -33,8 +33,9 @@
 	 private final String SQL_GET_INVOICE = "SELECT * FROM invoices WHERE
invoice_id=?";

 	 // Invoice detail queries...
- private final String SQL_LIST_INVOICEDETAIL = "SELECT * FROM invoice_detail "
- 	 + "WHERE detail_invoice=?";
+ private final String SQL_LIST_INVOICEDETAIL = "SELECT * FROM invoice_detail "
+
+ 	 "left outer join reg_master on (detail_rid = master_rid) " +
+ 	 "WHERE detail_invoice=? ";
 	 private final String SQL_UPDATE_INVOICEDETAIL = "UPDATE invoice_detail SET "
 			 + "detail_id=? , detail_rid=?, detail_cid=?, detail_invoice=?,
detail_sequence=?, detail_operator=?, "
 			 + "detail_type=?, detail_type2=?, detail_description=?, detail_amount=?,
detail_comment=?, "
@@ -257,6 +258,10 @@
 		 id.sequence = rset.getInt("detail_sequence");
 		 id.type = rset.getString("detail_type");
 		 id.type2 = rset.getString("detail_type2");
+  if ((rset.getString("master_lastname") != null) &&
(rset.getString("master_firstname") != null)) {
+ 	 id.fullname = rset.getString("master_lastname") + ", " +
rset.getString("master_firstname");
+ 	 logger.debug("Added id.fullname");
+  }
 	 }

 	 /*

Modified:
congo/v2/trunk/src/main/java/com/stonekeep/congo/data/InvoiceDetail.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/data/InvoiceDetail.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/data/InvoiceDetail.java
[iso-8859-1] Mon Nov 23 19:53:40 2009
@@ -10,6 +10,7 @@
 	 public int invoice;
 	 public int sequence;
 	 public int operator;
+ public String fullname;
 	 public String type;
 	 public String type2;
 	 public String description;
@@ -25,6 +26,7 @@
 	 public int getInvoice() { return this.invoice; }
 	 public int getSequence() { return this.sequence; }
 	 public int getOperator() { return this.operator; }
+ public String getFullname() { return this.fullname; }
 	 public String getType() { return this.type; }
 	 public String getType2() { return this.type2; }
 	 public String getDescription() { return this.description; }

Modified:
congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
[iso-8859-1] Mon Nov 23 19:53:40 2009
@@ -48,8 +48,8 @@
 						 <th>By</th>
 						 <th>For</th>
 						 <th>Date</th>
+ 				 <th>Transaction</th>
 						 <th>Type</th>
- 				 <th></th>
 						 <th>Comment</th>
 						 <th>Amount</th>
 					 </tr>
@@ -57,7 +57,7 @@
 						 <tr>
 							 <td>${rows.sequence}</td>
 							 <td>${rows.operator}</td>
- 					 <td>${rows.rid }</td>
+ 					 <td>${rows.rid } ${rows.fullname}</td>
 							 <td>${rows.activity}</td>
 							 <td>${rows.type}</td>
 							 <td>${rows.type2}</td>

#1911 From: svn@...
Date: Sun Nov 22, 2009 5:52 pm
Subject: r4600 - in /congo/v2/trunk/src/main: java/com/stonekeep/congo/coconut/ java/com/stonekeep/congo/dao/ java/com/stonekeep/congo/reports/ webapp/WEB-INF/jsp/coconut/
svn@...
Send Email Send Email
 
Author: dbs
Date: Sun Nov 22 12:52:17 2009
New Revision: 4600

Log:
Fix for bug / feature #55 - pagination in 'browse' functions.

Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Browse.java
    
congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/LookupRegistrant.java
     congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
    
congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/AfterEventExport.java
     congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/Browse.jsp

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Browse.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Browse.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Browse.java
[iso-8859-1] Sun Nov 22 12:52:17 2009
@@ -24,14 +24,14 @@
 	 public Map<String, RegistrationType> regtypeList;
 	 public String regtype = "Any";
 	 public String status = "Any";
+ public int skip = 0;
 	 private final RegistrantDAO registrantDAO;
 	 private final RegistrationTypeDAO registrationTypeDAO;
- private int skip = 0;
 	 public int totalrows;

 	 public void setRegtype(String newvalue) { this.regtype = newvalue; }
 	 public void setStatus(String newvalue) { this.status = newvalue; }
- public void setSkip(int newvalue) { this.skip = 0; }
+ public void setSkip(int newvalue) { this.skip = newvalue; }

 	 public Browse(RegistrantDAO registrantDAO,
 			 RegistrationTypeDAO registrationTypeDAO) {
@@ -42,7 +42,7 @@
 	 public String setup() throws Exception {
 		 logger.debug("Browse.setup()
----------------------------------------------------------");
 		 int cid = ((Convention) sessionData.get("conference")).getConCID();
-  Object[] results = registrantDAO.searchbyAny("%", cid);
+  Object[] results = registrantDAO.searchbyAny("%", cid, skip);
 		 totalrows = ((Integer)results[0]).intValue();
 		 registrantList = (List<Registrant>) results[1];
 		 regtypeList = registrationTypeDAO.list(cid);
@@ -54,11 +54,12 @@
 		 logger.debug("regtype from this browse is " + regtype);
 		 logger.debug("Regtype to display : " + regtype);
 		 logger.debug("Status to display --: " + status);
+  logger.debug("Skip value is --: " + skip);
 		 if ((browsebutton != null) && (browsebutton.equalsIgnoreCase("Cancel"))) {
 			 return "exit";
 		 } else {
 			 int cid = ((Convention) sessionData.get("conference")).getConCID();
- 	 Object[] results = registrantDAO.searchbyAny("%", cid);
+ 	 Object[] results = registrantDAO.searchbyAny("%", cid, skip);
 			 totalrows = ((Integer)results[0]).intValue();
 			 registrantList = (List<Registrant>) results[1];
 			 regtypeList = registrationTypeDAO.list(cid);

Modified:
congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/LookupRegistrant.java
==============================================================================
---
congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/LookupRegistrant.java
[iso-8859-1] (original)
+++
congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/LookupRegistrant.java
[iso-8859-1] Sun Nov 22 12:52:17 2009
@@ -44,7 +44,7 @@
 			 catch (NumberFormatException e) {
 				 logger.debug("Searching for " + search + " for event " + cid);
 				 // searchResults = registrantDAO.searchbyAny(search,cid);
- 		 Object[] results = registrantDAO.searchbyAny("%" + search + "%", cid);
+ 		 Object[] results = registrantDAO.searchbyAny("%" + search + "%", cid, 0);
 				 totalrows = ((Integer)results[0]).intValue();
 				 searchResults = (List<Registrant>) results[1];
 				 return SUCCESS;

Modified:
congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
[iso-8859-1] Sun Nov 22 12:52:17 2009
@@ -289,7 +289,7 @@
 	  * @return
 	  * @throws SQLException
 	  */
- public Object[] searchbyAny(String whatString,int cid) throws SQLException {
+ public Object[] searchbyAny(String whatString,int cid,int skip) throws
SQLException {
 		 logger.debug("Searching for any match against " + whatString);
 		 Connection c = dataSource.getConnection();
 		 try {
@@ -299,7 +299,7 @@
 					 + "((master_firstname LIKE ?) OR "
 					 + "(master_lastname LIKE ?) OR "
 					 + "(master_badgename LIKE ?) OR "
- 			 + "(master_company LIKE ?)) ORDER BY master_lastname LIMIT 200";
+ 			 + "(master_company LIKE ?)) ORDER BY master_lastname LIMIT ?,200";
 			 Registrant r = null;
 			 PreparedStatement p;

@@ -309,6 +309,7 @@
 			 p.setString(2, whatString);
 			 p.setString(3, whatString);
 			 p.setString(4, whatString);
+ 	 p.setInt(5,skip);
 			 ResultSet rs = p.executeQuery();
 			 while (rs.next()) {
 				 r = new Registrant();

Modified:
congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/AfterEventExport.java
==============================================================================
---
congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/AfterEventExport.java
[iso-8859-1] (original)
+++
congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/AfterEventExport.java
[iso-8859-1] Sun Nov 22 12:52:17 2009
@@ -55,7 +55,7 @@
 		 myReport.titles.add("Email");

 		 logger.debug("Fetching list of registrants for " + cid);
-  Object[] results = registrantDAO.searchbyAny("%", cid);
+  Object[] results = registrantDAO.searchbyAny("%", cid, 0);
 		 int totalrows = ((Integer)results[0]).intValue();
 		 List<Registrant> l = (List<Registrant>) results[1];


Modified: congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/Browse.jsp
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/Browse.jsp [iso-8859-1]
(original)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/Browse.jsp [iso-8859-1]
Sun Nov 22 12:52:17 2009
@@ -43,7 +43,15 @@
 	 </div>

 	 <div class="menuboxes">
- Total rows : ${totalrows} (showing only first 200 results)
+ Total rows : ${totalrows} (showing ${skip} - ${skip + 200} results)
+ <c:if test="${totalrows > 200}">
+  <button name="slip" type="submit" value="${skip - 200}">
+ 	 Previous
+  </button>
+  <button name="skip" type="submit" value="${skip + 200}">
+ 	 Next
+  </button>
+ </c:if>
 	 <table width="100%">
 		 <tr>
 			 <th>RegID</th>

#1910 From: svn@...
Date: Sun Nov 22, 2009 5:25 pm
Subject: r4599 - /congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Invoices.java
svn@...
Send Email Send Email
 
Author: dbs
Date: Sun Nov 22 12:25:21 2009
New Revision: 4599

Log:
Fix for bug #82 - "send to all doesn't".  When processng an invoice with
multiple entries, selecting 'send email notification to all' wasn't actually
sending.  Fixed.

Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Invoices.java

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Invoices.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Invoices.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Invoices.java
[iso-8859-1] Sun Nov 22 12:25:21 2009
@@ -16,6 +16,7 @@
  import com.stonekeep.congo.data.Convention;
  import com.stonekeep.congo.data.Email;
  import com.stonekeep.congo.data.Invoice;
+import com.stonekeep.congo.data.InvoiceDetail;
  import com.stonekeep.congo.data.Registrant;
  import com.stonekeep.congo.payments.InvoiceUtilities;
  import com.stonekeep.congo.util.SMTP;
@@ -139,6 +140,29 @@
 						 sm.sendMail();
 						 // smtp.sendAnyMail(e.address, "You've been registered!");
 					 }
+
+ 			 if (sendto.equals("everyone")) {
+ 				 // Need to iterate over the invoice detail line items, get the email
address, and
+ 				 // fire off the mail
+ 				 Email e = null;
+ 				 Registrant r=null;
+ 				 SendMail sm = new SendMail(smtp,registrantDAO,historyDAO,emailDAO);
+ 				 Convention c = (Convention)sessionData.get("conference");
+ 				 for (InvoiceDetail id : i.detailList) {
+ 					 e = emailDAO.getEmail(id.rid);
+ 					 // If there's no email for a user, 'e' can come back null.  Allow for
that.
+ 					 if (e != null) {
+ 						 r = registrantDAO.getByID(id.rid);
+ 						 logger.info("Sending mail to " + e.address);
+ 						 sm.c = c;
+ 						 sm.r=r;
+ 						 sm.target=e.address;
+ 						 sm.sendMail();
+ 					 } else {
+ 						 logger.warn("No email address for registrant " + id.rid + ". 
Skipping.");
+ 					 }
+ 				 }
+ 			 }
 				 }
 				 // Assuming processing is done, remove the current invoice from the session
 				 sessionData.remove("workinginvoice");

#1909 From: svn@...
Date: Sun Nov 22, 2009 3:04 am
Subject: r4598 - in /congo/v2/trunk/src/main: java/com/stonekeep/congo/coconut/Invoices.java webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
svn@...
Send Email Send Email
 
Author: dbs
Date: Sat Nov 21 22:04:13 2009
New Revision: 4598

Log:
Fixed a problem where the checkbox for send mail to registrants on invoice
processing would not save whatever you checked.

Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Invoices.java
     congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Invoices.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Invoices.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Invoices.java
[iso-8859-1] Sat Nov 21 22:04:13 2009
@@ -119,6 +119,9 @@
 					 // First, store away whatever they specified into the session.
 					 logger.debug("Storing away 'sendto' value as " + sendto);
 					 sessionData.put("sendto",sendto);
+ 			 if (sendto.equals("none")) {
+ 				 logger.info("Mail set to 'none'.  Not sending any notifications.");
+ 			 }
 					 // Now send off the mail...
 					 // This is a bit hacky - it's using the SendMail class I created for
 					 // mailing in the public interface - but it does process the templates

Modified:
congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
[iso-8859-1] Sat Nov 21 22:04:13 2009
@@ -27,9 +27,9 @@
 			 <div style="float: right; width: 150px;">
     			 <b>Notifications</b><hr>
     			 Send email to:<br>
-    		 <input type="radio" name="sendto" value="none" ${session.sendto ==
'none' ? 'checked="checked"' : ''}>None<br>
-    		 <input type="radio" name="sendto" value="registrant" ${session.sendto ==
'registrant' ? 'selected' : ''}>This registrant<br>
-    		 <input type="radio" name="sendto" value="everyone" ${session.sendto ==
'everyone' ? 'selected' : ''}>Everyone on this invoice<br>
+    		 <input type="radio" name="sendto" value="none" ${session.sendto ==
'none' ? 'checked' : ''}>None<br>
+    		 <input type="radio" name="sendto" value="registrant" ${session.sendto ==
'registrant' ? 'checked' : ''}>This registrant<br>
+    		 <input type="radio" name="sendto" value="everyone" ${session.sendto ==
'everyone' ? 'checked' : ''}>Everyone on this invoice<br>
        		 </div>

 			 <table cellspacing=3>

#1908 From: svn@...
Date: Sun Nov 22, 2009 1:39 am
Subject: r4597 - in /congo/v2/trunk/src/main/java/com/stonekeep/congo: PrintJobWatcher.java Registrants.java util/PrintJobWatcher.java
svn@...
Send Email Send Email
 
Author: dbs
Date: Sat Nov 21 20:39:42 2009
New Revision: 4597

Log:
Some more refactoring and code pruning.

Added:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/util/PrintJobWatcher.java
       - copied, changed from r4593,
congo/v2/trunk/src/main/java/com/stonekeep/congo/PrintJobWatcher.java
Removed:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/PrintJobWatcher.java
     congo/v2/trunk/src/main/java/com/stonekeep/congo/Registrants.java

Removed: congo/v2/trunk/src/main/java/com/stonekeep/congo/PrintJobWatcher.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/PrintJobWatcher.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/PrintJobWatcher.java
(removed)
@@ -1,47 +1,0 @@
-package com.stonekeep.congo;
-
-import javax.print.DocPrintJob;
-import javax.print.event.PrintJobAdapter;
-import javax.print.event.PrintJobEvent;
-
-
-class PrintJobWatcher {
- // true iff it is safe to close the print job's input stream
- boolean done = false;
-
- PrintJobWatcher(DocPrintJob job) {
-  // Add a listener to the print job
-  job.addPrintJobListener(new PrintJobAdapter() {
- 	 @Override
- 	 public void printJobCanceled(PrintJobEvent pje) {
- 		 allDone();
- 	 }
- 	 @Override
- 	 public void printJobCompleted(PrintJobEvent pje) {
- 		 allDone();
- 	 }
- 	 @Override
- 	 public void printJobFailed(PrintJobEvent pje) {
- 		 allDone();
- 	 }
- 	 @Override
- 	 public void printJobNoMoreEvents(PrintJobEvent pje) {
- 		 allDone();
- 	 }
- 	 void allDone() {
- 		 synchronized (PrintJobWatcher.this) {
- 			 done = true;
- 			 PrintJobWatcher.this.notify();
- 		 }
- 	 }
-  });
- }
- public synchronized void waitForDone() {
-  try {
- 	 while (!done) {
- 		 wait();
- 	 }
-  } catch (InterruptedException e) {
-  }
- }
-}

Removed: congo/v2/trunk/src/main/java/com/stonekeep/congo/Registrants.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/Registrants.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/Registrants.java (removed)
@@ -1,274 +1,0 @@
-package com.stonekeep.congo;
-
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.Statement;
-import java.sql.Timestamp;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-
-public class Registrants {
-
- // static Logger logger = getLogger("registrants");
- private static Logger logger = Logger.getLogger("Registrants.class");
- public Connection connection;
-
- public Registrants(Connection c) {
-  this.connection = c;
-  logger.setLevel(Level.DEBUG);
-  logger.debug("initialized");
- }
-
- // private static Hashtable populateHistoryHash(RowSet rowresult) {
- private static Hashtable populateHistoryHash(ResultSet rowresult)
- 	 throws Exception {
-  // internal method used to populate a history hashtable from
-  // a row result queried from the History table
-  Hashtable<String, Object> tmphash = new Hashtable<String, Object>();
-  Timestamp activity;
-  tmphash.put("histRID", new Integer(rowresult.getInt("hist_rid")));
-  tmphash.put("histTID", new Integer(rowresult.getInt("hist_tid")));
-  tmphash.put("histCID", new Integer(rowresult.getInt("hist_cid")));
-  activity = rowresult.getTimestamp("hist_activity");
-  //tmphash.put("histActivity",rowresult.getDate("hist_activity").toString
-  // () + tmpHours + ":" + tmpMinutes + ":" + tmpSeconds);
-  tmphash.put("histActivity", activity.toString());
-  logger.debug("\tpopulateHistoryHash - adding: "
- 		 + tmphash.get("histActivity"));
-  String holdval = null;
-  holdval = rowresult.getString("hist_operator");
-  if (holdval != null) {
- 	 tmphash.put("histOperator", holdval);
- 	 logger.debug("\tpopulateHistoryHash: operator is " + holdval);
-  }
-  holdval = rowresult.getString("hist_actcode");
-  if (holdval != null) {
- 	 tmphash.put("histActcode", holdval);
- 	 logger.debug("\tpopulateHistoryHash: actcode is " + holdval);
-  }
-  holdval = rowresult.getString("hist_arg1");
-  if (holdval != null) {
- 	 tmphash.put("histArg1", holdval);
- 	 logger.debug("\tpopulateHistoryHash: arg1 is " + holdval);
-  }
-  holdval = rowresult.getString("hist_arg2");
-  if (holdval != null) {
- 	 tmphash.put("histArg2", holdval);
-  }
-  holdval = rowresult.getString("hist_comment");
-  if (holdval != null) {
- 	 tmphash.put("histComment", holdval);
-  }
-  holdval = rowresult.getString("badgename");
-  if (holdval != null) {
- 	 tmphash.put("histOpName", holdval);
-  }
-  //tmphash.put("histActivity",rowresult.getDate("hist_activity").toString
-  // ());
-  tmphash.put("histactivity", rowresult.getTimestamp("hist_activity")
- 		 .toString());
-  // Date actDate = (Date)rowresult.getDate("hist_activity");
-
-  return tmphash;
- }
-
- //--------------------------------------------------------------------------
- // --------
- /**
-  * Returns an array of hashes listing all registrants who match substrings
-  * within specified fields. Do a generalized search of registrant
-  * information. This is a generic tool used for looking up a registrant.
-  * Unless the 'extra' flag is set, just the reg_master table will be
-  * searched (first name, last name, company, handle)<br>
-  *
-  * @param search
-  *            Text to be searched for
-  * @param extra
-  *            Should other tables be searched as well? (takes longer)
-  * @return A Hashtable containing:<br>
-  *         <ul>
-  *         rowcount - How many rows matched.<br>
-  *         rowdata - Results of the lookup<br>
-  *         </ul>
-  *         Structure of rowdata:<br>
-  *         <ul>
-  *         Integer regRID - Registrant ID<br>
-  *         String regFirstname - First name<br>
-  *         String regLastname - Last name<br>
-  *         String regCompany - Company name<br>
-  *         String regBadgename - Handle<br>
-  *         String regPassword - Password<br>
-  *         String regType - Current registration type<br>
-  *         </ul>
-  */
-
- public Object getRegistrantsBySearch(String search, int extra)
- 	 throws Exception {
-  logger.info("registrants.getRegistrantsBySearch(" + search + ","
- 		 + extra + ") invoked...");
-  Statement stmt = null;
-  ResultSet rset = null;
-  int rowcount = 0;
-  Hashtable regData = new Hashtable();
-
-  stmt = connection.createStatement();
-  String sql = "select reg_master.*,reg_state.* from ";
-  sql += "reg_master ";
-  if (extra == 1) {
- 	 // Add extra tables to search in here
-
-  }
-  // this is ugly, we need to fix the preferredcid state stuff soon.
-  sql += "left outer join reg_state on
reg_master.master_rid=reg_state.state_rid ";
-  // sql += "AND reg_state.state_cid=" +
-  // Cserver.props.getProperty("preferredcid") + " ";
-  sql += "where ";
-  if (extra == 1) {
- 	 // Add releation clause to extra tables here
-
- 	 // Add searches within extra tables here
-
-  }
-  sql += "lower(reg_master.master_company) like ";
-  sql += "lower('%" + search + "%') or ";
-  sql += "lower(reg_master.master_lastname) like ";
-  sql += "lower('%" + search + "%') or ";
-  sql += "lower(reg_master.master_firstname) like ";
-  sql += "lower('%" + search + "%') or ";
-  sql += "lower(reg_master.master_badgename) like ";
-  sql += "lower('%" + search + "%') ";
-  sql += "order by ";
-  sql += "reg_master.master_lastname,reg_master.master_firstname";
-  logger.debug("\tExecuting " + sql);
-  rset = stmt.executeQuery(sql);
-  logger.debug("\tSkipping to last");
-  rset.last();
-  logger.debug("\tFetching rownumber");
-  rowcount = rset.getRow();
-  logger.debug("\tWe got " + rowcount + " rows back.");
-  rset.beforeFirst();
-
-  Vector rowdata = new Vector();
-  if (rowcount > 0) {
- 	 int counter = 1;
- 	 while (rset.next()) {
- 		 Hashtable tmphash = new Hashtable();
- 		 logger.debug("\tpopulating tmphash with registrant "
- 				 + rset.getInt("master_rid"));
- 		 tmphash.put("regCounter", new Integer(counter++));
- 		 tmphash.put("regRID", new Integer(rset.getInt("master_rid")));
- 		 String holdval = null;
- 		 holdval = rset.getString("master_firstname");
- 		 if (holdval != null) {
- 			 tmphash.put("regFirstname", holdval);
- 		 }
- 		 holdval = rset.getString("master_lastname");
- 		 if (holdval != null) {
- 			 tmphash.put("regLastname", holdval);
- 		 }
- 		 holdval = rset.getString("master_company");
- 		 if (holdval != null) {
- 			 tmphash.put("regCompany", holdval);
- 		 }
- 		 holdval = rset.getString("master_badgename");
- 		 if (holdval != null) {
- 			 tmphash.put("regBadgename", holdval);
- 		 }
- 		 holdval = rset.getString("master_password");
- 		 if (holdval != null) {
- 			 tmphash.put("regPassword", holdval);
- 		 }
- 		 holdval = rset.getString("state_regtype");
- 		 tmphash.put("regType", " ");
- 		 if (holdval != null) {
- 			 tmphash.put("regType", holdval);
- 		 }
- 		 tmphash.put("regBadged", rset.getInt("state_badged"));
- 		 tmphash.put("regCheckedin", rset.getInt("state_checkedin"));
- 		 rowdata.add(tmphash);
- 		 tmphash = null;
- 	 }
-  }
-  regData.put("rowcount", new Integer(rowcount));
-  regData.put("rowdata", rowdata);
-  logger.info("registrants.getRegistrantsByField() exiting");
-  return regData;
- }
-
- /**
-  * Return an array of hashes describing the history of a registrant as
-  * pertains to a specific conference. Return all the history information for
-  * a registrant at a certain conference.<br>
-  *
-  * @param rid
-  *            Registrant ID
-  * @param cid
-  *            Conference ID
-  * @return A hashtable containing:
-  *         <ul>
-  *         rowcount - The number of rows matching rowdata - Results of the
-  *         lookup
-  *         </ul>
-  *         Structure of rowdata:<br>
-  *         <ul>
-  *         Integer histRID - Registrant ID (should all be the same)<br>
-  *         Integer histTID - Transaction ID<br>
-  *         Integer histCID - Conference ID<br>
-  *         String histActivity - Datestamp of the entry<br>
-  *         String histOperator - The login of the user making the change<br>
-  *         String histActcode - An activity code categorizing this entry<br>
-  *         String histArg1 - Argument 1 - this depends on the Actcode<br>
-  *         String histArg2 - Argument 2 - this depends on the Actcode<br>
-  *         String histComment - A freeform comment describing this entry<br>
-  *         </ul>
-  */
-
- public Object getHistory(int rid, int cid) throws Exception {
-  logger.info("registrants.getHistory(" + rid + "," + cid
- 		 + ") invoked...");
-
-  Statement stmt = null;
-  ResultSet rset = null;
-  int rowcount = 0;
-  Hashtable confData = new Hashtable();
-
-  stmt = connection.createStatement();
-  String sql = "SELECT *,reg_master.master_badgename as badgename FROM
reg_history "
- 		 + "LEFT OUTER JOIN reg_master ON hist_operator=reg_master.master_rid "
- 		 + "WHERE hist_rid=" + rid + " ";
-  if (cid > 0) {
- 	 sql += " and hist_cid=" + cid + " ";
-  }
-  sql += "order by hist_activity";
-  logger.info("\tExecuting " + sql);
-  rset = stmt.executeQuery(sql);
-  // Figure out how many rows there are.
-  rset.last();
-  rowcount = rset.getRow();
-  logger.info("\tWe got " + rowcount + " rows back.");
-  rset.beforeFirst();
-
-  // Okay, got the rowcount. If the number is > 0, then populate the
-  // array...
-
-  Vector rowdata = new Vector();
-  if (rowcount > 0) {
- 	 while (rset.next()) {
- 		 // Create a new hash
- 		 Hashtable tmphash = new Hashtable(populateHistoryHash(rset));
-
- 		 // Add it then flush.
- 		 rowdata.add(tmphash);
- 		 tmphash = null;
- 	 }
-  }
-  confData.put("rowcount", new Integer(rowcount));
-  confData.put("rowdata", rowdata);
-  logger.info("registrants.getHistory() exiting.");
-  return confData;
- }
-
-}

Copied:
congo/v2/trunk/src/main/java/com/stonekeep/congo/util/PrintJobWatcher.java (from
r4593, congo/v2/trunk/src/main/java/com/stonekeep/congo/PrintJobWatcher.java)
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/PrintJobWatcher.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/util/PrintJobWatcher.java
[iso-8859-1] Sat Nov 21 20:39:42 2009
@@ -1,4 +1,4 @@
-package com.stonekeep.congo;
+package com.stonekeep.congo.util;

  import javax.print.DocPrintJob;
  import javax.print.event.PrintJobAdapter;

#1907 From: svn@...
Date: Sun Nov 22, 2009 1:16 am
Subject: r4595 - /congo/v2/trunk/src/main/resources/com/stonekeep/congo/structs/install.changelog.xml
svn@...
Send Email Send Email
 
Author: dbs
Date: Sat Nov 21 20:16:42 2009
New Revision: 4595

Log:
Fix for bug #93 - invoice_detail timestamps not being updated.

Modified:
    
congo/v2/trunk/src/main/resources/com/stonekeep/congo/structs/install.changelog.\
xml

Modified:
congo/v2/trunk/src/main/resources/com/stonekeep/congo/structs/install.changelog.\
xml
==============================================================================
---
congo/v2/trunk/src/main/resources/com/stonekeep/congo/structs/install.changelog.\
xml [iso-8859-1] (original)
+++
congo/v2/trunk/src/main/resources/com/stonekeep/congo/structs/install.changelog.\
xml [iso-8859-1] Sat Nov 21 20:16:42 2009
@@ -539,4 +539,16 @@
 		 </modifyColumn>
 	 </changeSet>

+ <changeSet author="dbs" id="invoices-timestamp-notnull">
+  <modifyColumn tableName="invoice_detail">
+ 	 <column name="detail_activity" type="timestamp not null on update
CURRENT_TIMESTAMP"></column>
+  </modifyColumn>
+ </changeSet>
+
+ <changeSet author="dbs" id="invoices-timestamp-notnull1">
+  <modifyColumn tableName="invoice_detail">
+ 	 <column name="detail_activity" type="timestamp not null default
CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP"></column>
+  </modifyColumn>
+ </changeSet>
+
  </databaseChangeLog>

#1906 From: svn@...
Date: Sat Nov 21, 2009 10:38 pm
Subject: r4594 - in /congo/v2/trunk/src/main/java/com/stonekeep/congo: dao/HistoryDAO.java reports/ByDate.java
svn@...
Send Email Send Email
 
Author: dbs
Date: Sat Nov 21 17:38:08 2009
New Revision: 4594

Log:
Made the ByDate report a little more accurate by factoring in 'VOID's on
registrations.

Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/HistoryDAO.java
     congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/ByDate.java

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/HistoryDAO.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/HistoryDAO.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/HistoryDAO.java
[iso-8859-1] Sat Nov 21 17:38:08 2009
@@ -133,7 +133,7 @@
 		 // This is called by Reports.Bydate to generate numbers based on history
records.
 		 String sql = "SELECT
date_format(hist_activity,'%Y-%m-%d'),count('hist_actcode') " +
 			 "FROM reg_history " +
- 	 "WHERE hist_cid=? AND hist_actcode='REGISTERED' " +
+ 	 "WHERE hist_cid=? AND hist_actcode=? " +
 			 "GROUP BY date_format(hist_activity,'%Y-%m-%d') " +
 			 "ORDER BY  hist_activity ";
 		 HashMap<String,Integer> workingMap = new HashMap<String,Integer>();
@@ -141,6 +141,7 @@
 		 try {
 			 PreparedStatement p = c.prepareStatement(sql);
 			 p.setInt(1, cid);
+ 	 p.setString(2,"REGISTERED");
 			 ResultSet r = p.executeQuery();
 			 int counter=0;
 			 while (r.next()) {
@@ -150,6 +151,22 @@
 				 counter++;
 			 }
 			 logger.info("registrationsByDate generated " + counter + " entries.");
+
+ 	 // Now count hte voids, and subtract / update them...
+ 	 p = c.prepareStatement(sql);
+ 	 p.setInt(1, cid);
+ 	 p.setString(2,"VOID");
+ 	 r = p.executeQuery();
+ 	 counter=0;
+ 	 while (r.next()) {
+ 		 String dateStamp = r.getString(1);
+ 		 if (workingMap.containsKey(dateStamp)) {
+ 			 workingMap.put(dateStamp, new Integer(workingMap.get(dateStamp).intValue()
- r.getInt(2)));
+ 		 } else {
+ 			 workingMap.put(dateStamp, new Integer(-1 * r.getInt(2)));
+ 			 counter++;
+ 		 }
+ 	 }
 		 } finally {
 			 c.close();
 		 }

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/ByDate.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/ByDate.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/ByDate.java
[iso-8859-1] Sat Nov 21 17:38:08 2009
@@ -40,7 +40,7 @@
 		 cid = ((Convention) sessionData.get("conference")).getConCID();
 		 myReport.title = "Registrations By Date Report";
 		 myReport.titles.add("Date");
-  myReport.titles.add("Registrations");
+  myReport.titles.add("Registrations / Voids");
 		 myReport.titles.add("Running Total");

 		 TreeMap<String,Integer> countData = new
TreeMap(historyDAO.registrationsByDate(cid));

#1905 From: svn@...
Date: Tue Nov 17, 2009 3:07 am
Subject: r4593 - in /congo/v2/trunk/src/main: java/com/stonekeep/congo/reports/AfterEventExport.java webapp/WEB-INF/jsp/coconut/ReportsMenu.jsp
svn@...
Send Email Send Email
 
Author: dbs
Date: Mon Nov 16 22:07:53 2009
New Revision: 4593

Log:
Cleaned up the after-event report, and removed some unused picks on the menu.

Modified:
    
congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/AfterEventExport.java
     congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ReportsMenu.jsp

Modified:
congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/AfterEventExport.java
==============================================================================
---
congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/AfterEventExport.java
[iso-8859-1] (original)
+++
congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/AfterEventExport.java
[iso-8859-1] Mon Nov 16 22:07:53 2009
@@ -39,6 +39,7 @@
 		 logger.debug("execute()");
 		 myReport.title = "Export After Event Report";
 		 myReport.actionClass = "ReportAfterEventExport";
+  myReport.titles.add("ID #");
 		 myReport.titles.add("Last Name");
 		 myReport.titles.add("First Name");
 		 myReport.titles.add("Badge name");
@@ -50,8 +51,8 @@
 		 myReport.titles.add("State");
 		 myReport.titles.add("Zipcode");
 		 myReport.titles.add("Country");
+  myReport.titles.add("Phone");
 		 myReport.titles.add("Email");
-  myReport.titles.add("Phone");

 		 logger.debug("Fetching list of registrants for " + cid);
 		 Object[] results = registrantDAO.searchbyAny("%", cid);

Modified: congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ReportsMenu.jsp
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ReportsMenu.jsp
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ReportsMenu.jsp
[iso-8859-1] Mon Nov 16 22:07:53 2009
@@ -17,10 +17,9 @@

  <div class="menuboxes">
 	 <a href="index.php?page=sqlquery" accesskey="S">[S] Run a database (SQL)
query.</a><br />
- <a href="<s:url action="coconut/ReportAfterEventExport"/>" accesskey="E">[E]
Export after-convention report (CSV only)</a><br />
+ <a href="<s:url action="coconut/ReportAfterEventExport"/>" accesskey="E">[E]
Export after-convention report</a><br />
 	 <a href="<s:url action="coconut/ReportStatus"/>" accesskey="R">[R] Registrant
current status report</a><br />
 	 <a href="<s:url action="coconut/ReportByDate"/>" accesskey="8">[8] Registrant
report by date</a><br />
- <a href="<s:url action="ReportBatchPrint"/>" accesskey="7" disabled>[7] Batch
print badges</a><br />
 	 <a href="<s:url action="ReportProperties"/>" accesskey="O" disabled>[O]
Registrant Properties report</a><br />
  </div>

#1904 From: svn@...
Date: Tue Nov 17, 2009 1:34 am
Subject: r4592 - in /congo/v2/trunk/src/main: java/com/stonekeep/congo/dao/HistoryDAO.java java/com/stonekeep/congo/reports/ByDate.java resources/struts-reports.xml webapp/WEB-INF/applicationContext.xml webapp/WEB-INF/jsp/coconut/ReportsMenu.jsp
svn@...
Send Email Send Email
 
Author: dbs
Date: Mon Nov 16 20:34:51 2009
New Revision: 4592

Log:
Added "Registrant report by date" - this closes trac ticket #71.

Added:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/ByDate.java
Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/HistoryDAO.java
     congo/v2/trunk/src/main/resources/struts-reports.xml
     congo/v2/trunk/src/main/webapp/WEB-INF/applicationContext.xml
     congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ReportsMenu.jsp

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/HistoryDAO.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/HistoryDAO.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/HistoryDAO.java
[iso-8859-1] Mon Nov 16 20:34:51 2009
@@ -6,6 +6,7 @@
  import java.sql.SQLException;
  import java.sql.Statement;
  import java.util.ArrayList;
+import java.util.HashMap;

  import javax.sql.DataSource;

@@ -128,5 +129,31 @@
 		 return h;
 	 }

+ public HashMap<String,Integer> registrationsByDate(int cid) throws
SQLException {
+  // This is called by Reports.Bydate to generate numbers based on history
records.
+  String sql = "SELECT
date_format(hist_activity,'%Y-%m-%d'),count('hist_actcode') " +
+ 	 "FROM reg_history " +
+ 	 "WHERE hist_cid=? AND hist_actcode='REGISTERED' " +
+ 	 "GROUP BY date_format(hist_activity,'%Y-%m-%d') " +
+ 	 "ORDER BY  hist_activity ";
+  HashMap<String,Integer> workingMap = new HashMap<String,Integer>();
+  Connection c = dataSource.getConnection();
+  try {
+ 	 PreparedStatement p = c.prepareStatement(sql);
+ 	 p.setInt(1, cid);
+ 	 ResultSet r = p.executeQuery();
+ 	 int counter=0;
+ 	 while (r.next()) {
+ 		 String dateStamp = r.getString(1);
+ 		 Integer i = r.getInt(2);
+ 		 workingMap.put(dateStamp, i);
+ 		 counter++;
+ 	 }
+ 	 logger.info("registrationsByDate generated " + counter + " entries.");
+  } finally {
+ 	 c.close();
+  }
+  return workingMap;
+ }

-}
+}

Added: congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/ByDate.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/ByDate.java (added)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/reports/ByDate.java
[iso-8859-1] Mon Nov 16 20:34:51 2009
@@ -1,0 +1,69 @@
+package com.stonekeep.congo.reports;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+import org.apache.log4j.Logger;
+import org.apache.struts2.interceptor.SessionAware;
+
+import com.opensymphony.xwork2.ActionSupport;
+import com.stonekeep.congo.dao.HistoryDAO;
+import com.stonekeep.congo.data.Convention;
+import com.stonekeep.congo.data.RegistrationType;
+import com.stonekeep.congo.data.Report;
+
+public class ByDate extends ActionSupport implements SessionAware {
+ private static final long serialVersionUID = 1L;
+ private Logger logger = Logger.getLogger(ByDate.class);
+ private Map<String,Object> sessionData;
+ private int cid = 0;
+ private final HistoryDAO historyDAO ;
+
+ public String message = "";
+ public Report myReport = new Report();
+ public String format = "";
+
+ public void setCid(int cid) { this.cid = cid; }
+ public Report getMyReport() {return this.myReport; }
+ public void setFormat(String fmt) { this.format = fmt; }
+
+ public ByDate(HistoryDAO historyDAO) {
+  this.historyDAO = historyDAO;
+  logger.debug("Format is " + format);
+ }
+
+ public String execute() throws Exception {
+  logger.debug("execute()");
+  cid = ((Convention) sessionData.get("conference")).getConCID();
+  myReport.title = "Registrations By Date Report";
+  myReport.titles.add("Date");
+  myReport.titles.add("Registrations");
+  myReport.titles.add("Running Total");
+
+  TreeMap<String,Integer> countData = new
TreeMap(historyDAO.registrationsByDate(cid));
+
+  int runningTotal = 0;
+        for ( String key : countData.keySet()) {
+         Integer i = countData.get( key );
+ 	 ArrayList<String>rowdata = new ArrayList<String>();
+ 	 rowdata.add(key);
+ 	 rowdata.add(i + "");
+ 	 runningTotal = runningTotal + i.intValue();
+ 	 rowdata.add(runningTotal + "");
+ 	 myReport.rows.add(rowdata);
+  }
+
+  logger.debug("Done.");
+  return SUCCESS;
+ }
+
+ @Override
+ public void setSession(Map arg0) {
+  this.sessionData = arg0;
+ }
+
+
+}

Modified: congo/v2/trunk/src/main/resources/struts-reports.xml
==============================================================================
--- congo/v2/trunk/src/main/resources/struts-reports.xml [iso-8859-1] (original)
+++ congo/v2/trunk/src/main/resources/struts-reports.xml [iso-8859-1] Mon Nov 16
20:34:51 2009
@@ -18,6 +18,11 @@
 		 </result>
      </action>

-
+    <action name="coconut/ReportByDate"
class="com.stonekeep.congo.reports.ByDate">
+     <interceptor-ref name="mystack"/>
+     <result name="success">/WEB-INF/jsp/coconut/ShowReportForm.jsp
+     </result>
+    </action>
+
 	 </package>
  </struts>

Modified: congo/v2/trunk/src/main/webapp/WEB-INF/applicationContext.xml
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/applicationContext.xml [iso-8859-1]
(original)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/applicationContext.xml [iso-8859-1]
Mon Nov 16 20:34:51 2009
@@ -207,6 +207,9 @@
    <bean class="com.stonekeep.congo.coconut.SendEmail">
 	 <property name="cid" value="${preferredcid}"/>
    </bean>
+  <bean class="com.stonekeep.congo.reports.ByDate" scope="request">
+   <constructor-arg ref="com.stonekeep.congo.dao.HistoryDAO"/>
+  </bean>

    <!-- Some semi-legacy actions that don't speak DAO -->
    <bean class="com.stonekeep.congo.coconut.ReportStatus" scope="request">

Modified: congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ReportsMenu.jsp
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ReportsMenu.jsp
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ReportsMenu.jsp
[iso-8859-1] Mon Nov 16 20:34:51 2009
@@ -19,9 +19,9 @@
 	 <a href="index.php?page=sqlquery" accesskey="S">[S] Run a database (SQL)
query.</a><br />
 	 <a href="<s:url action="coconut/ReportAfterEventExport"/>" accesskey="E">[E]
Export after-convention report (CSV only)</a><br />
 	 <a href="<s:url action="coconut/ReportStatus"/>" accesskey="R">[R] Registrant
current status report</a><br />
- <a href="<s:url action="ReportBatchPrint"/>" accesskey="7">[7] Batch print
badges</a><br />
- <a href="<s:url action="ReportByDate"/>" accesskey="8">[8] Registrant report
by date</a><br />
- <a href="<s:url action="ReportProperties"/>" accesskey="O">[O] Registrant
Properties report</a><br />
+ <a href="<s:url action="coconut/ReportByDate"/>" accesskey="8">[8] Registrant
report by date</a><br />
+ <a href="<s:url action="ReportBatchPrint"/>" accesskey="7" disabled>[7] Batch
print badges</a><br />
+ <a href="<s:url action="ReportProperties"/>" accesskey="O" disabled>[O]
Registrant Properties report</a><br />
  </div>

  <div class="menuheader">

#1903 From: svn@...
Date: Wed Nov 11, 2009 10:34 pm
Subject: r4589 - /congo/v2/trunk/pom.xml
svn@...
Send Email Send Email
 
Author: hudson
Date: Wed Nov 11 17:34:01 2009
New Revision: 4589

Log:
[maven-release-plugin] prepare release congo-2.0.1.4

Modified:
     congo/v2/trunk/pom.xml

Modified: congo/v2/trunk/pom.xml
==============================================================================
--- congo/v2/trunk/pom.xml [iso-8859-1] (original)
+++ congo/v2/trunk/pom.xml [iso-8859-1] Wed Nov 11 17:34:01 2009
@@ -3,13 +3,13 @@

    <groupId>com.stonekeep.congo</groupId>
    <artifactId>congo</artifactId>
-  <version>2.0.1.4-SNAPSHOT</version>
+  <version>2.0.1.4</version>
    <packaging>war</packaging>

    <name>CONGO</name>

    <scm>
-   
<developerConnection>scm:svn:http://svn.stonekeep.com/svn/congo/v2/trunk</develo\
perConnection>
+   
<developerConnection>scm:svn:http://svn.stonekeep.com/svn/congo/v2/tags/congo-2.\
0.1.4</developerConnection>
    </scm>

    <dependencies>

#1902 From: svn@...
Date: Wed Nov 11, 2009 10:34 pm
Subject: r4590 - in /congo/v2/tags/congo-2.0.1.4: ./ pom.xml
svn@...
Send Email Send Email
 
Author: hudson
Date: Wed Nov 11 17:34:04 2009
New Revision: 4590

Log:
[maven-release-plugin]  copy for tag congo-2.0.1.4

Added:
     congo/v2/tags/congo-2.0.1.4/
       - copied from r4588, congo/v2/trunk/
     congo/v2/tags/congo-2.0.1.4/pom.xml
       - copied unchanged from r4589, congo/v2/trunk/pom.xml

#1901 From: svn@...
Date: Wed Nov 11, 2009 10:30 pm
Subject: r4588 - /congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
svn@...
Send Email Send Email
 
Author: dbs
Date: Wed Nov 11 17:30:25 2009
New Revision: 4588

Log:
Fixed a minor problem in the public interface that wouldn't let you see the
processed invoice screen.

Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
[iso-8859-1] Wed Nov 11 17:30:25 2009
@@ -366,6 +366,7 @@
 				 i.creator= r.rid;
 				 i.comment = "Online registration";
 				 i.status = "READY";
+ 		 i.operator = r.rid;
 				 logger.debug("Created new invoice " + i.id);
 				 invoiceDAO.saveInvoice(i);
 			 }

#1900 From: svn@...
Date: Wed Nov 11, 2009 10:34 pm
Subject: r4591 - /congo/v2/trunk/pom.xml
svn@...
Send Email Send Email
 
Author: hudson
Date: Wed Nov 11 17:34:09 2009
New Revision: 4591

Log:
[maven-release-plugin] prepare for next development iteration

Modified:
     congo/v2/trunk/pom.xml

Modified: congo/v2/trunk/pom.xml
==============================================================================
--- congo/v2/trunk/pom.xml [iso-8859-1] (original)
+++ congo/v2/trunk/pom.xml [iso-8859-1] Wed Nov 11 17:34:09 2009
@@ -3,13 +3,13 @@

    <groupId>com.stonekeep.congo</groupId>
    <artifactId>congo</artifactId>
-  <version>2.0.1.4</version>
+  <version>2.0.1.5-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>CONGO</name>

    <scm>
-   
<developerConnection>scm:svn:http://svn.stonekeep.com/svn/congo/v2/tags/congo-2.\
0.1.4</developerConnection>
+   
<developerConnection>scm:svn:http://svn.stonekeep.com/svn/congo/v2/trunk</develo\
perConnection>
    </scm>

    <dependencies>

#1899 From: svn@...
Date: Wed Nov 11, 2009 10:13 pm
Subject: r4587 - /congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
svn@...
Send Email Send Email
 
Author: dbs
Date: Wed Nov 11 17:13:39 2009
New Revision: 4587

Log:
Removed some unused code.

Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
[iso-8859-1] Wed Nov 11 17:13:39 2009
@@ -113,50 +113,6 @@
 	 public void setPaypalenabled(boolean newvalue) { this.paypalenabled =
newvalue; }
 	 public void setAuthorizenetenabled(boolean newvalue) {
this.authorizenetenabled = newvalue; }

- public class MyComparator implements Comparator<String> {
-     public MyComparator(Map<String,RegistrationType> types) {
-         this.types.putAll(types);
-     }
-
-  private final Map<String,RegistrationType> types = new
HashMap<String,RegistrationType>();
-  public int compare(String o1, String o2) {
- 	 RegistrationType r1 = types.get(o1);
- 	 RegistrationType r2 = types.get(o2);
-
- 	 int v1 = r1.getregSequence();
- 	 int v2 = r2.getregSequence();
-
- 	 //sort on key as well if the value is different - and yeah, i know this is
- 	 // probably an idiotic way to do this.  but whatevuh.
-
- 	 if(v1 == v2) {
- 		 return 0;
- 	 } else if (v1 < v2) {
- 		 return -1;
- 	 } else {
- 		 return 1;
- 	 }
-  }
- };
-
- public class MyComparator2 implements Comparator<RegistrationType> {
-  public int compare(RegistrationType t1, RegistrationType t2) {
- 	 int v1 = t1.getregSequence();
- 	 int v2 = t2.getregSequence();
-
- 	 //sort on key as well if the value is different - and yeah, i know this is
- 	 // probably an idiotic way to do this.  but whatevuh.
-
- 	 if(v1 == v2) {
- 		 return 0;
- 	 } else if (v1 < v2) {
- 		 return -1;
- 	 } else {
- 		 return 1;
- 	 }
-  }
- }
-
 	 public WebActions(ConventionDAO conventionDAO,
 			 RegistrantDAO registrantDAO,
 			 RegistrationTypeDAO registrationTypeDAO,
@@ -363,21 +319,6 @@
 			 return "exit";
 		 }
 		 if (homeregisterbutton != null) {
- 	 logger.debug("Loading registration types...");
-// 	 Map<String,RegistrationType> tmpTypes = new
TreeMap(registrationTypeDAO.list(cid));
-// 	 logger.debug("Loaded " + tmpTypes.size() + " before sorting.");
-//
-// 	 // Sort the regtypes by their sequence number...
-//            MyComparator comparator = new MyComparator(tmpTypes) ;
-// 	 regTypes = new TreeMap<String, RegistrationType>(comparator);
-// 	 //regTypes.putAll(tmpTypes);
-//
-//            MyComparator2 comparator = new MyComparator2() ;
-// 	 regTypes = new TreeMap<String,RegistrationType>(comparator);
-// 	 regTypes.putAll(tmpTypes);
-//
-// 	 logger.debug("After sorting, the final array is " + regTypes.size());
-
 			 regTypes = new TreeMap(registrationTypeDAO.list(cid));

 			 logger.debug("Loading available properties for this event...");

#1898 From: svn@...
Date: Wed Nov 11, 2009 3:15 am
Subject: r4586 - in /congo/v2/trunk/src/main: java/com/stonekeep/congo/dao/RegistrationTypeDAO.java java/com/stonekeep/congo/web/WebActions.java webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
svn@...
Send Email Send Email
 
Author: dbs
Date: Tue Nov 10 22:15:13 2009
New Revision: 4586

Log:
Checkpoint of work in progress getting the public interface back in shape.

Modified:
    
congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrationTypeDAO.java
     congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
     congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp

Modified:
congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrationTypeDAO.java
==============================================================================
---
congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrationTypeDAO.java
[iso-8859-1] (original)
+++
congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrationTypeDAO.java
[iso-8859-1] Tue Nov 10 22:15:13 2009
@@ -114,7 +114,7 @@
 			 while (rset.next()) {
 				 RegistrationType row = new RegistrationType();
 				 loadData(row, rset);
- 		 logger.debug("regtype loaded : " + row.getregName());
+ 		 logger.debug("regtype loaded : " + row.getregName() + ", active = " +
row.getregActive());
 				 row.setregCount(rset.getInt("reg_count")); // INELEGANT!  I am ashamed.
-dbs
 				 allTypes.put(row.getregName(), row);
 			 }

Modified: congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/web/WebActions.java
[iso-8859-1] Tue Nov 10 22:15:13 2009
@@ -2,6 +2,7 @@

  import java.math.BigDecimal;
  import java.sql.SQLException;
+import java.util.ArrayList;
  import java.util.Comparator;
  import java.util.HashMap;
  import java.util.List;
@@ -137,6 +138,25 @@
 			 }
 		 }
 	 };
+
+ public class MyComparator2 implements Comparator<RegistrationType> {
+  public int compare(RegistrationType t1, RegistrationType t2) {
+ 	 int v1 = t1.getregSequence();
+ 	 int v2 = t2.getregSequence();
+
+ 	 //sort on key as well if the value is different - and yeah, i know this is
+ 	 // probably an idiotic way to do this.  but whatevuh.
+
+ 	 if(v1 == v2) {
+ 		 return 0;
+ 	 } else if (v1 < v2) {
+ 		 return -1;
+ 	 } else {
+ 		 return 1;
+ 	 }
+  }
+ }
+
 	 public WebActions(ConventionDAO conventionDAO,
 			 RegistrantDAO registrantDAO,
 			 RegistrationTypeDAO registrationTypeDAO,
@@ -344,15 +364,32 @@
 		 }
 		 if (homeregisterbutton != null) {
 			 logger.debug("Loading registration types...");
- 	 Map<String,RegistrationType> tmpTypes = new
TreeMap(registrationTypeDAO.list(cid));
-
- 	 // Sort the regtypes by their sequence number...
-            MyComparator comparator = new MyComparator(tmpTypes) ;
- 	 regTypes = new TreeMap<String, RegistrationType>(comparator);
- 	 regTypes.putAll(tmpTypes);
-
+// 	 Map<String,RegistrationType> tmpTypes = new
TreeMap(registrationTypeDAO.list(cid));
+// 	 logger.debug("Loaded " + tmpTypes.size() + " before sorting.");
+//
+// 	 // Sort the regtypes by their sequence number...
+//            MyComparator comparator = new MyComparator(tmpTypes) ;
+// 	 regTypes = new TreeMap<String, RegistrationType>(comparator);
+// 	 //regTypes.putAll(tmpTypes);
+//
+//            MyComparator2 comparator = new MyComparator2() ;
+// 	 regTypes = new TreeMap<String,RegistrationType>(comparator);
+// 	 regTypes.putAll(tmpTypes);
+//
+// 	 logger.debug("After sorting, the final array is " + regTypes.size());
+
+ 	 regTypes = new TreeMap(registrationTypeDAO.list(cid));
+
 			 logger.debug("Loading available properties for this event...");
- 	 properties = propertyDAO.listPropertyConfigurations(cid);
+ 	 List<PropertyConfiguration>propertiesTmp =
propertyDAO.listPropertyConfigurations(cid);
+
+ 	 // Only use those propertyconfigurations that are marked as regprompts.
+ 	 properties = new ArrayList<PropertyConfiguration>();
+ 	 for (PropertyConfiguration pc : propertiesTmp) {
+ 		 if (pc.regprompt) {
+ 			 properties.add(pc);
+ 		 }
+ 	 }

 			 logger.debug("Loading available Events...");
 			 events = eventDAO.getByConventionID(cid);

Modified:
congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/InvoiceReviewForm.jsp
[iso-8859-1] Tue Nov 10 22:15:13 2009
@@ -27,7 +27,7 @@
 			 <div style="float: right; width: 150px;">
     			 <b>Notifications</b><hr>
     			 Send email to:<br>
-    		 <input type="radio" name="sendto" value="none" ${session.sendto ==
'none' ? 'checked="checked"' : ''}> None<br>
+    		 <input type="radio" name="sendto" value="none" ${session.sendto ==
'none' ? 'checked="checked"' : ''}>None<br>
     			 <input type="radio" name="sendto" value="registrant" ${session.sendto ==
'registrant' ? 'selected' : ''}>This registrant<br>
     			 <input type="radio" name="sendto" value="everyone" ${session.sendto ==
'everyone' ? 'selected' : ''}>Everyone on this invoice<br>
        		 </div>

#1897 From: svn@...
Date: Tue Nov 10, 2009 11:55 pm
Subject: r4585 - in /congo/v2/trunk/src/main: java/com/stonekeep/congo/coconut/Operations.java java/com/stonekeep/congo/dao/RegistrantDAO.java resources/struts-registrantops.xml webapp/WEB-INF/applicationContext.xml webapp/WEB-INF/jsp/coconut/ShowRegistrant.jsp
svn@...
Send Email Send Email
 
Author: dbs
Date: Tue Nov 10 18:55:00 2009
New Revision: 4585

Log:
Fix for bug # 91 - Added 'repair' function for Email and Phone addresses.

Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Operations.java
     congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
     congo/v2/trunk/src/main/resources/struts-registrantops.xml
     congo/v2/trunk/src/main/webapp/WEB-INF/applicationContext.xml
     congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ShowRegistrant.jsp

Modified:
congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Operations.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Operations.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/coconut/Operations.java
[iso-8859-1] Tue Nov 10 18:55:00 2009
@@ -44,17 +44,20 @@
 	 private final RegistrationTypeDAO registrationTypeDAO;
 	 private final HistoryDAO historyDAO;
 	 private final InvoiceDAO invoiceDAO;
+ private final RegistrantDAO registrantDAO ;
 	 private Registrant r;
 	 private Invoice i;

 	 public Operations(StateDAO stateDAO,
 			 RegistrationTypeDAO registrationTypeDAO,
 			 HistoryDAO historyDAO,
- 	 InvoiceDAO invoiceDAO) {
+ 	 InvoiceDAO invoiceDAO,
+ 	 RegistrantDAO registrantDAO) {
 		 this.stateDAO = stateDAO;
 		 this.registrationTypeDAO = registrationTypeDAO;
 		 this.historyDAO = historyDAO;
 		 this.invoiceDAO = invoiceDAO;
+  this.registrantDAO = registrantDAO;
 	 }

 	 @Override
@@ -169,6 +172,19 @@

 		 return SUCCESS;
 	 }
+
+ /**
+  * This method repairs an existing Registrant record by doing internal
consistency
+  * checks and updates.
+  * @return
+  * @throws Exception
+  */
+ public String repair() throws Exception {
+  setupState();
+  logger.debug("Repairing registrant " + rid);
+  registrantDAO.repair(rid);
+  return SUCCESS;
+ }

 	 private void setupState() throws Exception {
 		 rid = ((Registrant) sessionData.get("workingregistrant")).rid;

Modified:
congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
[iso-8859-1] Tue Nov 10 18:55:00 2009
@@ -376,5 +376,28 @@
 			 c.close();
 		 }
 	 }
+
+ public void repair(int whatrid) throws SQLException {
+  final String sqlphone = "update reg_phone set phone_location='Home' where
phone_rid=? and phone_location=''";
+  final String sqlemail = "update reg_email set email_location='Home' where
email_rid=? and email_location=''";
+
+  Connection c = dataSource.getConnection();
+  PreparedStatement p ;
+  try {
+
+ 	 p = c.prepareStatement(sqlphone);
+ 	 p.setInt(1, whatrid);
+ 	 p.execute();
+ 	 p.close();
+
+ 	 p = c.prepareStatement(sqlemail);
+ 	 p.setInt(1, whatrid);
+ 	 p.execute();
+ 	 p.close();
+
+  } finally {
+ 	 c.close();
+  }
+ }

  }

Modified: congo/v2/trunk/src/main/resources/struts-registrantops.xml
==============================================================================
--- congo/v2/trunk/src/main/resources/struts-registrantops.xml [iso-8859-1]
(original)
+++ congo/v2/trunk/src/main/resources/struts-registrantops.xml [iso-8859-1] Tue
Nov 10 18:55:00 2009
@@ -30,6 +30,11 @@
 	 </action>

 	 <action name="coconut/uncheckinRegistrant" method="uncheckin"
class="com.stonekeep.congo.coconut.Operations">
+  <interceptor-ref name="mystack" />
+  <result name="success" type="redirectAction">coconut/gotoUser</result>
+ </action>
+
+ <action name="coconut/repairRegistrant" method="repair"
class="com.stonekeep.congo.coconut.Operations">
 		 <interceptor-ref name="mystack" />
 		 <result name="success" type="redirectAction">coconut/gotoUser</result>
 	 </action>

Modified: congo/v2/trunk/src/main/webapp/WEB-INF/applicationContext.xml
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/applicationContext.xml [iso-8859-1]
(original)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/applicationContext.xml [iso-8859-1]
Tue Nov 10 18:55:00 2009
@@ -100,6 +100,7 @@
      <constructor-arg ref="com.stonekeep.congo.dao.RegistrationTypeDAO"/>
      <constructor-arg ref="com.stonekeep.congo.dao.HistoryDAO"/>
      <constructor-arg ref="com.stonekeep.congo.dao.InvoiceDAO"/>
+    <constructor-arg ref="com.stonekeep.congo.dao.RegistrantDAO"/>
    </bean>
    <bean class="com.stonekeep.congo.coconut.Properties" scope="request">
   	 <constructor-arg ref="com.stonekeep.congo.dao.PropertyDAO"/>

Modified: congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ShowRegistrant.jsp
==============================================================================
--- congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ShowRegistrant.jsp
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/webapp/WEB-INF/jsp/coconut/ShowRegistrant.jsp
[iso-8859-1] Tue Nov 10 18:55:00 2009
@@ -247,7 +247,8 @@
 			 <td>
 				 <s:a href="ShowHistory" accesskey="H">View [H]istory</s:a> |
 				 <s:a href="previewEmail" accesskey="M">Send [M]ail...</s:a> |
- 		 <s:a href="DeleteRegistrantForm.action" accesskey="D">[D]elete
Registrant</s:a>
+ 		 <s:a href="DeleteRegistrantForm.action" accesskey="D">[D]elete
Registrant</s:a> |
+ 		 <s:a href="repairRegistrant">Repair</s:a>
 			 </td>
 		 </tr>
 	 </table>

#1896 From: svn@...
Date: Tue Nov 10, 2009 10:24 pm
Subject: r4584 - /congo/v2/trunk/src/main/resources/com/stonekeep/congo/config/schema/xml/schema.xml
svn@...
Send Email Send Email
 
Author: dbs
Date: Tue Nov 10 17:24:50 2009
New Revision: 4584

Log:
Removed the authorized user list from the server properties

Modified:
    
congo/v2/trunk/src/main/resources/com/stonekeep/congo/config/schema/xml/schema.x\
ml

Modified:
congo/v2/trunk/src/main/resources/com/stonekeep/congo/config/schema/xml/schema.x\
ml
==============================================================================
---
congo/v2/trunk/src/main/resources/com/stonekeep/congo/config/schema/xml/schema.x\
ml [iso-8859-1] (original)
+++
congo/v2/trunk/src/main/resources/com/stonekeep/congo/config/schema/xml/schema.x\
ml [iso-8859-1] Tue Nov 10 17:24:50 2009
@@ -65,9 +65,6 @@
    <category name="Login Options">
      <entry key="preferredcid" name="Default Conference" type="text"
default="1000">
     	 <description>Conference used in the public pages</description>
-    </entry>
-    <entry key="operators" name="Operator list" type="text" default="1000">
-     <description>A list of users that may log into Coconut, separated by
spaces</description>
      </entry>
    </category>

#1895 From: svn@...
Date: Tue Nov 10, 2009 8:50 pm
Subject: r4582 - /congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
svn@...
Send Email Send Email
 
Author: dbs
Date: Tue Nov 10 15:50:24 2009
New Revision: 4582

Log:
Fix for ticket # 56 - sort by last name when searching - this is a regression
triggered by the last refactoring.  Fixed.

Modified:
     congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java

Modified:
congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
==============================================================================
--- congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
[iso-8859-1] (original)
+++ congo/v2/trunk/src/main/java/com/stonekeep/congo/dao/RegistrantDAO.java
[iso-8859-1] Tue Nov 10 15:50:24 2009
@@ -299,7 +299,7 @@
 					 + "((master_firstname LIKE ?) OR "
 					 + "(master_lastname LIKE ?) OR "
 					 + "(master_badgename LIKE ?) OR "
- 			 + "(master_company LIKE ?)) LIMIT 200";
+ 			 + "(master_company LIKE ?)) ORDER BY master_lastname LIMIT 200";
 			 Registrant r = null;
 			 PreparedStatement p;

#1894 From: svn@...
Date: Tue Nov 10, 2009 8:57 pm
Subject: r4583 - /congo/v2/trunk/src/main/resources/struts.xml
svn@...
Send Email Send Email
 
Author: dbs
Date: Tue Nov 10 15:57:40 2009
New Revision: 4583

Log:
Fix for ticket #92 - "Register option goes away when editing names"

Modified:
     congo/v2/trunk/src/main/resources/struts.xml

Modified: congo/v2/trunk/src/main/resources/struts.xml
==============================================================================
--- congo/v2/trunk/src/main/resources/struts.xml [iso-8859-1] (original)
+++ congo/v2/trunk/src/main/resources/struts.xml [iso-8859-1] Tue Nov 10
15:57:40 2009
@@ -40,7 +40,7 @@
      <!-- EditRegistrant -->
      <action name="coconut/EditRegistrant"
class="com.stonekeep.congo.coconut.EditRegistrant">
        <interceptor-ref name="mystack"/>
-      <result name="success">/WEB-INF/jsp/coconut/ShowRegistrant.jsp
+      <result name="success" type="redirectAction">coconut/gotoUser
        </result>
        <result name="input">/WEB-INF/jsp/coconut/EditRegistrantForm.jsp
        </result>

#1893 From: svn@...
Date: Tue Nov 10, 2009 3:30 am
Subject: r4581 - /congo/v2/trunk/pom.xml
svn@...
Send Email Send Email
 
Author: hudson
Date: Mon Nov  9 22:30:25 2009
New Revision: 4581

Log:
[maven-release-plugin] prepare for next development iteration

Modified:
     congo/v2/trunk/pom.xml

Modified: congo/v2/trunk/pom.xml
==============================================================================
--- congo/v2/trunk/pom.xml [iso-8859-1] (original)
+++ congo/v2/trunk/pom.xml [iso-8859-1] Mon Nov  9 22:30:25 2009
@@ -3,13 +3,13 @@

    <groupId>com.stonekeep.congo</groupId>
    <artifactId>congo</artifactId>
-  <version>2.0.1.3</version>
+  <version>2.0.1.4-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>CONGO</name>

    <scm>
-   
<developerConnection>scm:svn:http://svn.stonekeep.com/svn/congo/v2/tags/congo-2.\
0.1.3</developerConnection>
+   
<developerConnection>scm:svn:http://svn.stonekeep.com/svn/congo/v2/trunk</develo\
perConnection>
    </scm>

    <dependencies>

Messages 1893 - 1922 of 1939   Newest  |  < Newer  |  Older >  |  Oldest
Advanced
Add to My Yahoo!      XML What's This?

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help