From 9491db195d6b21f372ffb80043db829ef204cf34 Mon Sep 17 00:00:00 2001
From: wactbprot <thsteinbock@web.de>
Date: Wed, 4 Sep 2013 15:46:01 +0200
Subject: [PATCH] merge events

---
 lists/merge.js      | 29 +++++++++++++++++++++++++++++
 views/events/map.js | 14 +++++++++-----
 2 files changed, 38 insertions(+), 5 deletions(-)
 create mode 100644 lists/merge.js

diff --git a/lists/merge.js b/lists/merge.js
new file mode 100644
index 0000000..1af855f
--- /dev/null
+++ b/lists/merge.js
@@ -0,0 +1,29 @@
+function(head, req) {
+
+    var share = require("lib/share"),
+    data = {},
+    mergedEvents = [];
+
+    start(share.startJson);
+    while(row = getRow()) {
+        var rv = row.value,
+	signature = row.value.signature;
+	
+        if(data[signature]){
+            data[signature].id.push(rv.id);
+            data[signature].sign.push(rv.sign);
+
+        }else{
+            data[signature]       = {};
+            data[signature].id    = [rv.id];
+            data[signature].sign  = [rv.sign];
+            data[signature].title = rv.title;
+            data[signature].start = rv.start;
+            data[signature].end   = rv.end;
+        }
+    }
+    for(var k in data){
+       mergedEvents.push(data[k]);
+   }
+    send(toJSON( mergedEvents));
+}
\ No newline at end of file
diff --git a/views/events/map.js b/views/events/map.js
index 7f2c294..37c5703 100644
--- a/views/events/map.js
+++ b/views/events/map.js
@@ -27,15 +27,19 @@ function(doc) {
                    dateObj.Value != ""){
 
 		    var keyObj = dateObj.Value.split(" ")[0],
-		    startDate  = share.vlDateString(dateObj.Value),
-		    valObj     = { id : doc._id,
-                                   title : dc.Standard + ": " + customer + " " + dc.Sign,
+		    startDate  = share.vlDateString(dateObj.Value).split(" ")[0],
+		    valObj     = { id    : doc._id,
+				   sign  : dc.Sign,
+                                   title : dc.Standard + ": " + customer,
                                    start : startDate
                                  };
 		    if(dateObj.Duration){
-			valObj.end = share.addDays(dateObj.Duration, dateObj.Value);
+			valObj.end = share.addDays(dateObj.Duration, dateObj.Value).split(" ")[0];
 		    }
-                    emit(keyObj, valObj);
+		    valObj.signature = dc.Standard +"_"+ 
+			startDate + "_" + customer;
+		    
+                  emit(keyObj, valObj);
                 }
 	    } //Date
         } // Presettings
-- 
GitLab