158 lines
3.7 KiB
Java
Executable File
158 lines
3.7 KiB
Java
Executable File
package org.thdl.roster.pages;
|
|
|
|
import java.util.*;
|
|
import org.apache.tapestry.*;
|
|
import org.apache.tapestry.form.*;
|
|
import org.apache.torque.*;
|
|
import org.apache.torque.util.*;
|
|
import org.thdl.roster.*;
|
|
import org.thdl.roster.om.*;
|
|
import org.apache.log4j.*;
|
|
|
|
public class Home extends RosterPage
|
|
{
|
|
//attributes
|
|
private RosterQuery rosterQuery;
|
|
private String login;
|
|
private String password;
|
|
private Member member;
|
|
//accessors
|
|
public void setMember(Member member) {
|
|
this.member = member;
|
|
}
|
|
public Member getMember() {
|
|
return member;
|
|
}
|
|
public void setLogin(String login) {
|
|
this.login = login;
|
|
}
|
|
public void setPassword(String password) {
|
|
this.password = password;
|
|
}
|
|
public String getLogin() {
|
|
return login;
|
|
}
|
|
public String getPassword() {
|
|
return password;
|
|
}
|
|
|
|
public void setRosterQuery(RosterQuery rosterQuery) {
|
|
this.rosterQuery = rosterQuery;
|
|
}
|
|
public RosterQuery getRosterQuery() {
|
|
if ( null == rosterQuery )
|
|
{
|
|
Global global = (Global) getGlobal();
|
|
setRosterQuery( new RosterQuery( global.getRepresentedCountries() ) );
|
|
}
|
|
return rosterQuery;
|
|
}
|
|
//helpers
|
|
public List getPersonalEntries()
|
|
{
|
|
List entries = new LinkedList();
|
|
Visit visit = (Visit)getVisit();
|
|
if ( visit.isAuthenticated() )
|
|
{
|
|
Integer userId = visit.getThdlUser().getId() ;
|
|
Global global = (Global) getGlobal();
|
|
Iterator iter = global.getAllPeople().iterator();
|
|
while( iter.hasNext() )
|
|
{
|
|
Member mem = (Member)iter.next();
|
|
if ( mem.getCreatedBy().equals( userId ) )
|
|
{
|
|
entries.add( mem );
|
|
}
|
|
}
|
|
iter = global.getAllOrganizations().iterator();
|
|
while( iter.hasNext() )
|
|
{
|
|
Member mem = (Member)iter.next();
|
|
if ( mem.getCreatedBy().equals( userId ) )
|
|
{
|
|
entries.add( mem );
|
|
}
|
|
}
|
|
iter = global.getAllProjects().iterator();
|
|
while( iter.hasNext() )
|
|
{
|
|
Member mem = (Member)iter.next();
|
|
if ( mem.getCreatedBy().equals( userId ) )
|
|
{
|
|
entries.add( mem );
|
|
}
|
|
}
|
|
}
|
|
return entries;
|
|
}
|
|
//listeners
|
|
public void loginToEdit( IRequestCycle cycle )
|
|
{
|
|
//test for Login.validateUser then either forward to ContactInfo/Home
|
|
Login loginPage = (Login)cycle.getPage( "Login" );
|
|
loginPage.setLogin( getLogin() );
|
|
loginPage.setPassword( getPassword() );
|
|
if ( loginPage.validateUser() )
|
|
{
|
|
if ( getPersonalEntries().size() == 1 )
|
|
{
|
|
Visit visit = (Visit) getVisit();
|
|
visit.setMember( (Member)getPersonalEntries().get( 0 ) );
|
|
IPage page = cycle.getPage( "Contact" );
|
|
page.validate( cycle );
|
|
cycle.activate( page );
|
|
}
|
|
}
|
|
else
|
|
{
|
|
setWarning( "Invalid Login/Password combination" );
|
|
}
|
|
}
|
|
|
|
public void editMember( IRequestCycle cycle )
|
|
{
|
|
MembersPage page = (MembersPage)cycle.getPage( "People" );
|
|
page.editMember( cycle );
|
|
}
|
|
public void addNewMember( IRequestCycle cycle )
|
|
{
|
|
MembersPage page = (MembersPage)cycle.getPage( "People" );
|
|
page.addNewMember( cycle );
|
|
}
|
|
public void processForm( IRequestCycle cycle ) throws Exception
|
|
{
|
|
List members = null;
|
|
try
|
|
{
|
|
Global global =(Global)getGlobal();
|
|
RosterQueryAgent agent = new RosterQueryAgent( global.getTorqueConfig() );
|
|
String sql = agent.buildQuery( getRosterQuery() );
|
|
Logger logger = Logger.getLogger("org.thdl.roster");
|
|
logger.debug( "About to call RosterQueryAgent.executeQuery( sql ) where sql = " +sql );
|
|
members = agent.executeQuery( sql );
|
|
}
|
|
catch ( TorqueException te )
|
|
{
|
|
throw new ApplicationRuntimeException( te );
|
|
}
|
|
MembersPage page = (MembersPage) cycle.getPage( "SearchResults" );
|
|
page.setMembers( members );
|
|
cycle.activate( page );
|
|
}
|
|
public void detach()
|
|
{
|
|
getRosterQuery().clear();
|
|
setLogin( null );
|
|
setPassword( null );
|
|
super.detach();
|
|
}
|
|
|
|
//constructors
|
|
|
|
public Home()
|
|
{
|
|
super();
|
|
}
|
|
}
|