Update of /var/cvs/contributions/natmm/src/nl/natuurmonumenten/activiteiten
In directory
james.mmbase.org:/tmp/cvs-serv7095/src/nl/natuurmonumenten/activiteiten
Modified Files:
Tag: BRANCH_NATMM_1_2
BeanFactory.java EventDetails.java ActiviteitenHelper.java
Log Message:
NMCMS-622 - Added new getEventDetails code
See also:
http://cvs.mmbase.org/viewcvs/contributions/natmm/src/nl/natuurmonumenten/activiteiten
See also: http://www.mmbase.org/jira/browse/NMCMS-622
Index: BeanFactory.java
===================================================================
RCS file:
/var/cvs/contributions/natmm/src/nl/natuurmonumenten/activiteiten/Attic/BeanFactory.java,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -b -r1.1.2.1 -r1.1.2.2
--- BeanFactory.java 16 Jan 2009 08:00:10 -0000 1.1.2.1
+++ BeanFactory.java 16 Jan 2009 13:02:33 -0000 1.1.2.2
@@ -5,11 +5,15 @@
import java.util.List;
import nl.leocms.util.DoubleDateNode;
+import nl.leocms.util.RelationUtil;
import org.mmbase.bridge.Cloud;
import org.mmbase.bridge.Node;
import org.mmbase.bridge.NodeIterator;
import org.mmbase.bridge.NodeList;
+import org.mmbase.bridge.NodeManager;
+import org.mmbase.bridge.Relation;
+import org.mmbase.bridge.RelationList;
class BeanFactory {
@@ -154,19 +158,25 @@
bean.setExtraInfo(createLijst(extraInfoNodeList));
NodeList vertrekpuntenNodeList = node.getRelatedNodes("vertrekpunten");
bean.setVertrekpuntId(createLijst(vertrekpuntenNodeList));
- NodeList deelnemersCategorieNodeList =
node.getRelatedNodes("deelnemers_categorie"); // posrel
- bean.setKosten(createKosten(deelnemersCategorieNodeList));
- // TODO bean.setAantalPlaatsenBeschikbaar();
+ NodeList deelnemersCategorieNodeList =
node.getRelatedNodes("deelnemers_categorie", "posrel", "both"); // posrel
+ bean.setKosten(createKosten(node, deelnemersCategorieNodeList));
+
Cloud cloud = node.getCloud();
String eventNumber = node.getStringValue("number");
String parentNumber =
nl.leocms.evenementen.Evenement.findParentNumber(eventNumber);
+ Node imageNode = ActiviteitenHelper.getFoto(cloud, parentNumber);
+ if (imageNode != null) {
+ bean.setFoto(createFoto(imageNode));
+ }
Node parentEvent = cloud.getNode(parentNumber);
+
bean.setAantalPlaatsenBeschikbaar(ActiviteitenHelper.getAantalBeschikbarePlaatsen(parentEvent,
node));
boolean volgeboekt =
nl.leocms.evenementen.Evenement.isFullyBooked(parentEvent, node);
boolean aanmeldingGesloten =
nl.leocms.evenementen.Evenement.subscriptionClosed(parentEvent, node);
boolean canceled = node.getBooleanValue("iscanceled");
bean.setVolgeboekt(volgeboekt);
bean.setAanmeldingGesloten(aanmeldingGesloten);
+
bean.setTypeAanmeldMogelijkheid(node.getStringValue("aanmelden_vooraf"));
bean.setGeannuleerd(canceled);
return bean;
@@ -181,14 +191,27 @@
return (String[]) list.toArray(new String[list.size()]);
}
- private Kosten[] createKosten(NodeList nodeList) {
+ private Kosten[] createKosten(Node event, NodeList nodeList) {
List list = new ArrayList();
for (NodeIterator iter = nodeList.nodeIterator(); iter.hasNext();) {
Node node = iter.nextNode();
+ System.out.println("Kosten node: " + node.getNumber());
Kosten kosten = new Kosten();
kosten.setDeelnemersCategorieId(node.getStringValue("number"));
- // TODO kosten gaat via posrel, hoe krijg ik die te pakken?
+
+ // de kosten staan in posrel.pos!!, rijp voor
http://thedailywtf.com/
+ NodeManager manager = node.getCloud().getNodeManager("posrel");
+ String snumber = event.getStringValue("number");
+ String dnumber = node.getStringValue("number");
+ String constraint = "dnumber=" + dnumber + " and snumber=" +
snumber;
+ NodeList relations = manager.getList(constraint, null, null);
+ if (relations != null && relations.size() > 0) {
+ Node relation = relations.getNode(0);
+ System.out.println("posrel.pos: " +
relation.getStringValue("pos"));
+ kosten.setKostenInCenten(relation.getIntValue("pos"));
+ } else {
kosten.setKostenInCenten(-1);
+ }
list.add(kosten);
}
return (Kosten[]) list.toArray(new Kosten[list.size()]);
Index: EventDetails.java
===================================================================
RCS file:
/var/cvs/contributions/natmm/src/nl/natuurmonumenten/activiteiten/Attic/EventDetails.java,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -b -r1.1.2.1 -r1.1.2.2
--- EventDetails.java 16 Jan 2009 08:00:10 -0000 1.1.2.1
+++ EventDetails.java 16 Jan 2009 13:02:33 -0000 1.1.2.2
@@ -24,6 +24,7 @@
private Kosten[] kosten;
private String[] vertrekpuntId;
private String[] extraInfo;
+ private String typeAanmeldMogelijkheid;
private boolean geannuleerd;
public String getId() {
return id;
@@ -121,6 +122,12 @@
public String[] getExtraInfo() {
return extraInfo;
}
+ public void setTypeAanmeldMogelijkheid(String typeAanmeldMogelijkheid) {
+ this.typeAanmeldMogelijkheid = typeAanmeldMogelijkheid;
+ }
+ public String getTypeAanmeldMogelijkheid() {
+ return typeAanmeldMogelijkheid;
+ }
public boolean isGeannuleerd() {
return geannuleerd;
}
Index: ActiviteitenHelper.java
===================================================================
RCS file:
/var/cvs/contributions/natmm/src/nl/natuurmonumenten/activiteiten/Attic/ActiviteitenHelper.java,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -b -r1.1.2.2 -r1.1.2.3
--- ActiviteitenHelper.java 16 Jan 2009 08:43:53 -0000 1.1.2.2
+++ ActiviteitenHelper.java 16 Jan 2009 13:02:33 -0000 1.1.2.3
@@ -178,4 +178,8 @@
}
return image;
}
+
+ public static int getAantalBeschikbarePlaatsen(Node parentEvent, Node
childEvent) {
+ return parentEvent.getIntValue("max_aantal_deelnemers") -
childEvent.getIntValue("cur_aantal_deelnemers");
+ }
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs