Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 26 → Rev 27

/kickup/trunk/src/ak/kickup/core/action/ParticipantAction.java
27,6 → 27,9
import ak.kickup.core.model.ParticipantManager;
import ak.kickup.core.model.Event;
import ak.kickup.core.model.EventManager;
import ak.kickup.core.model.ParticipantAct;
import ak.kickup.core.model.EventAct;
import ak.kickup.core.form.ParticipantActBean;
 
public final class ParticipantAction
extends Action
44,6 → 47,9
Event event = (eventId == null)
? null : EventManager.getInstance().get(eventId, true);
request.setAttribute("event", event);
 
if("submit".equals(mapping.getParameter()) || "update".equals(mapping.getParameter()))
initLists(request, event);
}
 
if("update".equals(mapping.getParameter())) {
84,7 → 90,18
 
showForm.set("emailPublic", Boolean.TRUE);
 
// acts
List acts = new ArrayList(event.getActCollection());
ParticipantActBean[] a = new ParticipantActBean[acts.size()];
Collections.sort(acts, EventManager.ACT_NAME_COMPARATOR);
for(int i = 0; i < acts.size(); i++) {
EventAct act = (EventAct)acts.get(i);
a[i] = new ParticipantActBean(act.getAct(), null);
}
showForm.set("acts", a);
 
request.setAttribute("event", event);
initLists(request, event);
return mapping.findForward("default");
}
else if("login".equals(mapping.getParameter())) {
103,6 → 120,18
throw new UserException("ak.kickup.core.participant.edit.ident.wrong");
}
 
// acts
List acts = new ArrayList(event.getActCollection());
ParticipantActBean[] a = new ParticipantActBean[acts.size()];
Collections.sort(acts, EventManager.ACT_NAME_COMPARATOR);
for(int i = 0; i < acts.size(); i++) {
EventAct act = (EventAct)acts.get(i);
a[i] = new ParticipantActBean(act.getAct(),
participant.getAct(act.getAct().getId()));
}
showForm.set("acts", a);
 
// others
showForm.set("emailPublic", participant.getEmailPublic());
showForm.set("name", participant.getName());
showForm.set("phone", participant.getPhone());
117,6 → 146,7
showForm.set("comment", participant.getComment());
 
request.setAttribute("participant", participant);
initLists(request, event);
return mapping.findForward("default");
}
else if("unregister".equals(mapping.getParameter())) {
153,11 → 183,43
"ak.kickup.core.participant.edit.registration.unavailable");
}
 
// acts
ParticipantActBean[] acts = (ParticipantActBean[])theForm.get("acts");
for(int i = 0; i < acts.length; i++) {
// get bean
Long actId = StringConverter.parseLong(acts[i].getActId());
EventAct act = event.getAct(actId);
ParticipantAct participantAct = participant.getAct(actId);
 
if(acts[i].getSelected() == null || !acts[i].getSelected().booleanValue()) {
if(participantAct != null) participant.removeAct(participantAct);
}
else {
if(participantAct == null) {
participantAct = ParticipantManager.getInstance().createAct();
participantAct.setParticipant(participant);
participantAct.setAct(act.getAct());
participant.addAct(participantAct);
}
participantAct.setComment(acts[i].getComment());
}
}
 
// bind
participant.setIdent(ParticipantManager.getInstance().generateIdent());
participant.setEvent(event);
 
// email
String email = (String)theForm.get("email");
if(ParticipantManager.getInstance().emailExists(participant, email)) {
request.setAttribute("event", event);
initLists(request, event);
throw new UserException("ak.kickup.core.participant.email.nonunique");
}
participant.setEmail(email);
 
// others
participant.setNick((String)theForm.get("nick"));
participant.setEmail((String)theForm.get("email"));
participant.setEmailPublic((Boolean)theForm.get("emailPublic"));
participant.setName((String)theForm.get("name"));
participant.setPhone((String)theForm.get("phone"));
173,7 → 235,7
 
ParticipantManager.getInstance().save(participant);
 
// FIXME: send email here
Messages.sendRegistrationMessage(participant, request.getRemoteAddr());
 
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl());
return null;
191,6 → 253,29
throw new ModelSecurityException();
}
 
// acts
ParticipantActBean[] acts = (ParticipantActBean[])theForm.get("acts");
for(int i = 0; i < acts.length; i++) {
// get bean
Long actId = StringConverter.parseLong(acts[i].getActId());
EventAct act = event.getAct(actId);
ParticipantAct participantAct = participant.getAct(actId);
 
if(acts[i].getSelected() == null || !acts[i].getSelected().booleanValue()) {
if(participantAct != null) participant.removeAct(participantAct);
}
else {
if(participantAct == null) {
participantAct = ParticipantManager.getInstance().createAct();
participantAct.setParticipant(participant);
participantAct.setAct(act.getAct());
participant.addAct(participantAct);
}
participantAct.setComment(acts[i].getComment());
}
}
 
// others
participant.setEmailPublic((Boolean)theForm.get("emailPublic"));
participant.setName((String)theForm.get("name"));
participant.setPhone((String)theForm.get("phone"));
213,4 → 298,12
throw new Exception("unknown mapping parameter");
}
}
 
private void initLists(HttpServletRequest request, Event event)
throws Exception
{
List acts = new ArrayList(event.getActCollection());
Collections.sort(acts, EventManager.ACT_NAME_COMPARATOR);
request.setAttribute("actList", new ObjectList(acts));
}
}
/kickup/trunk/src/ak/kickup/core/action/AdminParticipantAction.java
26,6 → 26,9
import ak.kickup.core.model.ParticipantManager;
import ak.kickup.core.model.Event;
import ak.kickup.core.model.EventManager;
import ak.kickup.core.model.ParticipantAct;
import ak.kickup.core.model.EventAct;
import ak.kickup.core.form.ParticipantActBean;
 
public final class AdminParticipantAction
extends Action
38,17 → 41,22
if("submit".equals(mapping.getParameter())) {
DynaActionForm theForm = (DynaActionForm)form;
Long eventId = StringConverter.parseLong(theForm.get("event"));
Event event = EventManager.getInstance().get(eventId, false);
Long participantId = StringConverter.parseLong(theForm.get("id"));
Participant participant;
if(participantId == null) {
participant = ParticipantManager.getInstance().create();
if(eventId != null) {
Event event = EventManager.getInstance().get(eventId, false);
Long participantId = StringConverter.parseLong(theForm.get("id"));
Participant participant;
if(participantId == null) {
participant = ParticipantManager.getInstance().create();
}
else {
participant = ParticipantManager.getInstance().get(participantId);
}
request.setAttribute("event", event);
request.setAttribute("participant", participant);
 
initLists(request, event);
// FIXME: if a list is changed between "edit" and "submit" then indicies are wrong
}
else {
participant = ParticipantManager.getInstance().get(participantId);
}
request.setAttribute("event", event);
request.setAttribute("participant", participant);
}
}
 
98,6 → 106,18
showForm.set("privateComment", participant.getPrivateComment());
}
 
// acts
List acts = new ArrayList(event.getActCollection());
ParticipantActBean[] a = new ParticipantActBean[acts.size()];
Collections.sort(acts, EventManager.ACT_NAME_COMPARATOR);
for(int i = 0; i < acts.size(); i++) {
EventAct act = (EventAct)acts.get(i);
a[i] = new ParticipantActBean(act.getAct(),
participant.getAct(act.getAct().getId()));
}
showForm.set("acts", a);
 
initLists(request, event);
request.setAttribute("event", event);
request.setAttribute("participant", participant);
return mapping.findForward("default");
115,21 → 135,59
DynaActionForm theForm = (DynaActionForm)form;
Long participantId = StringConverter.parseLong(theForm.get("id"));
Participant participant;
Event event;
boolean newParticipant;
 
// get instance
if(participantId == null) {
Long eventId = StringConverter.parseLong(theForm.get("event"));
Event event = EventManager.getInstance().get(eventId, false);
Long eventId = StringConverter.parseLong(theForm.get("event"));
event = EventManager.getInstance().get(eventId, false);
 
participant = ParticipantManager.getInstance().create();
participant.setIdent(ParticipantManager.getInstance().generateIdent());
participant.setEvent(event);
newParticipant = true;
}
else {
participant = ParticipantManager.getInstance().get(participantId);
event = participant.getEvent();
newParticipant = false;
}
 
// acts
ParticipantActBean[] acts = (ParticipantActBean[])theForm.get("acts");
for(int i = 0; i < acts.length; i++) {
// get bean
Long actId = StringConverter.parseLong(acts[i].getActId());
EventAct act = event.getAct(actId);
ParticipantAct participantAct = participant.getAct(actId);
 
if(acts[i].getSelected() == null || !acts[i].getSelected().booleanValue()) {
if(participantAct != null) participant.removeAct(participantAct);
}
else {
if(participantAct == null) {
participantAct = ParticipantManager.getInstance().createAct();
participantAct.setParticipant(participant);
participantAct.setAct(act.getAct());
participant.addAct(participantAct);
}
participantAct.setComment(acts[i].getComment());
}
}
 
// email
String email = (String)theForm.get("email");
if(ParticipantManager.getInstance().emailExists(participant, email)) {
request.setAttribute("event", event);
request.setAttribute("participant", participant);
initLists(request, event);
throw new UserException("ak.kickup.core.participant.email.nonunique.admin");
}
participant.setEmail(email);
 
// others
participant.setNick((String)theForm.get("nick"));
participant.setEmail((String)theForm.get("email"));
participant.setEmailPublic((Boolean)theForm.get("emailPublic"));
participant.setName((String)theForm.get("name"));
participant.setPhone((String)theForm.get("phone"));
146,6 → 204,9
participant.setPrivateComment((String)theForm.get("privateComment"));
 
ParticipantManager.getInstance().save(participant);
if(newParticipant)
Messages.sendRegistrationMessage(participant, null);
 
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl());
return null;
}
153,4 → 214,12
throw new Exception("unknown mapping parameter");
}
}
 
private void initLists(HttpServletRequest request, Event event)
throws Exception
{
List acts = new ArrayList(event.getActCollection());
Collections.sort(acts, EventManager.ACT_NAME_COMPARATOR);
request.setAttribute("actList", new ObjectList(acts));
}
}
/kickup/trunk/src/ak/kickup/core/action/AdminEventAction.java
92,7 → 92,7
Collections.sort(acts, ActManager.NAME_COMPARATOR);
for(int i = 0; i < acts.size(); i++) {
Act act = (Act)acts.get(i);
a[i] = new EventActBean(act, (event == null) ? null : event.getAct(act.getId()));
a[i] = new EventActBean(act, event.getAct(act.getId()));
}
showForm.set("acts", a);