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

Reply via email to