From e97d77f65c634bbd2a004316b65b3f5186fb8cda Mon Sep 17 00:00:00 2001
From: Lukas Gygi <lukas.gygi@gmail.com>
Date: Tue, 19 Apr 2016 20:49:22 +0200
Subject: [PATCH] developed events tool

---
 admin/tools/events.tool | 228 ++++++++++++++++++++++++++++++++++------
 1 file changed, 197 insertions(+), 31 deletions(-)

diff --git a/admin/tools/events.tool b/admin/tools/events.tool
index d75de5f..37e56ac 100644
--- a/admin/tools/events.tool
+++ b/admin/tools/events.tool
@@ -1,47 +1,213 @@
 <div class="users-table-wrapper">
-	<div class="tools-full-height">
-		<table class="table table-hover events-table">
-			<thead>
-				<tr>
-				</tr>
-			</thead>
-			<tbody>
-			</tbody>
-		</table>
+  <div class="tools-full-height">
+    <table class="table table-hover events-table" id="events-table">
+      <thead>
+        <tr>
+        </tr>
+      </thead>
+      <tbody>
+      </tbody>
+    </table>
+  </div>
+</div>
+
+<!-- modal for details of events-->
+<div class="modal fade" id="detail-modal" role="dialog">
+	<div class="modal-dialog">
+		<div class="modal-content">
+			<div class="modal-header">
+				<button type="button" class="close" data-dismiss="modal">&times;</button>
+				<h4 id="event-modal-title" class="modal-title"></h4>
+			</div>
+			<div class="modal-body">
+        <table class="table table-hover" id="event-details-table">
+          <thead>
+            <tr>
+              <th>field</th>
+              <th>value</th>
+            </tr>
+          </thead>
+          <tbody name="table-body">
+          </tbody>
+        </table>
+			</div>
+			<div class="modal-footer">
+				<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+			</div>
+		</div>
 	</div>
 </div>
+
+<!-- modal for creating new events-->
+<div class="modal fade" id="new-modal" role="dialog">
+	<div class="modal-dialog">
+		<div class="modal-content">
+			<div class="modal-header">
+				<button type="button" class="close" data-dismiss="modal">&times;</button>
+				<h4 class="modal-title">Create new Event</h4>
+			</div>
+			<div class="modal-body">
+          <div class="form-group">
+            <label for="title_de">Title</label>
+            <input type="text" class="form-control" id="title_de"></input>
+          </div>
+          <div class="form-group">
+            <label for="description_de">Description</label>
+            <textarea type="text" class="form-control" rows="3" id="description_de"></textarea>
+          </div>
+          <div class="form-group">
+            <label for="catchphrase_de">Catchphrase</label>
+            <input type="text" class="form-control" id="catchphrase_de"></input>
+          </div>
+
+          <div class="form-group">
+            <label for="time_start">Start Time</label>
+            <input type="datetime" class="form-control" id="time_start"></input>
+          </div>
+          <div class="form-group">
+            <label for="time_end">End Time</label>
+            <input type="datetime" class="form-control" id="time_end"></input>
+          </div>
+
+          <label class="checkbox-inline">
+            <input type="checkbox" id="signup-required" value="">No Signup
+          </label>
+          <label class="checkbox-inline">
+            <input type="checkbox" id="no-signup-limit" value="">No Signup Limit
+          </label>
+
+          <div class="form-group">
+            <label for="spots">Spots</label>
+            <input type="number" class="form-control" id="spots"></input>
+          </div>
+
+          <label class="checkbox-inline">
+            <input type="checkbox" id="allow_email_signup" value="">Only amiv Members
+          </label>
+
+          <div class="form-group">
+            <label for="time_register_start">Start of Registration</label>
+            <input type="datetime" class="form-control" id="time_register_start"></input>
+          </div>
+          <div class="form-group">
+            <label for="time_register_end">End of Registration</label>
+            <input type="datetime" class="form-control" id="time_register_end"></input>
+          </div>
+
+          <div class="form-group">
+            <label for="location">Location</label>
+            <input type="text" class="form-control" id="location"></input>
+          </div>
+
+          <div class="form-group">
+            <label for="price">Price</label>
+            <input type="text" class="form-control" id="price"></input>
+          </div>
+
+          <div>
+            <label class="checkbox-inline">
+              <input type="checkbox" id="show_website" value="">Show on Webstite (requires banner image and title)
+            </label>
+          </div>
+          <div>
+            <label class="checkbox-inline">
+              <input type="checkbox" id="show_infoscreen" value="">Show ond Infoscreen (requires infoscreen image)
+            </label>
+          </div>
+          <div>
+            <label class="checkbox-inline">
+              <input type="checkbox" id="show announce" value="">Show in Announce (requires stuff)
+            </label>
+          </div>
+
+          <button data-toggle="collapse" data-target="#english-collapse">show english fields</button>
+
+          <div id="english-collapse" class="collapse">
+            <div class=form-group>
+              <label for="title_en">Title english</label>
+              <input type="text" class="form-control" id="title_en"></input>
+            </div>
+            <div class="form-group">
+              <label for="description_en">Description english</label>
+              <textarea type="text" class="form-control" rows="3" id="description_en"></textarea>
+            </div>
+            <div class="form-group">
+              <label for="catchphrase_en">Catchphrase english</label>
+              <input type="text" class="form-control" id="catchphrase_en"></input>
+            </div>
+          </div>
+
+
+        </div>
+			<div class="modal-footer">
+				<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+			</div>
+		</div>
+	</div>
+</div>
+
+
 <style>
 .users-table-wrapper {
-	position: relative;
+  position: relative;
 }
 .users-table-wrapper>div {
-	overflow: auto;
+  overflow: auto;
 }
 
 .users-sidebar {
-	background: #fff;
+  background: #fff;
 }
 </style>
+
 <script type="text/javascript">
-var showInTable = ['title_de', 'catchphrase_de', 'show_website', 'spots'];
+var showInTable = ['title_de', 'time_start', 'show_website', 'spots'];
+var tableTitles = ['Title', 'Date', 'on website', 'spots'];
+
 amivcore.events.GET({data:{'max_results':'50'}}, function(ret){
-	console.log(ret);
-	if(!ret || ret['_items'].length == 0){
-		tools.log('No Data', 'w');
-		return;
-	}
-
-	showInTable.forEach(function(i){
-		$('.events-table thead tr').append('<th>'+ i +'</th>');
-	});
-
-	for(var n in ret['_items']){
-		var tmp = '';
-		showInTable.forEach(function(i){
-			tmp += '<td>'+ ret['_items'][n][i] +'</td>';
-		});
-		$('.events-table tbody').append('<tr>'+tmp+'</tr>');
-		//$('.users-table tbody').append('<tr><td>'+ret['_items'][n].firstname+'</td></tr>');
-	}
+  console.log(ret);
+  if(!ret || ret['_items'].length == 0){
+    tools.log('No Data', 'w');
+    return;
+  }
+
+  tableTitles.forEach(function(i){
+    $('.events-table thead tr').append('<th>'+ i +'</th>');
+  });
+
+  for(var n in ret['_items']){
+    var tmp = '';
+    showInTable.forEach(function(i){
+      tmp += '<td>'+ ret['_items'][n][i] +'</td>';
+    });
+    $('#events-table tbody').append('<tr name="'+ret['_items'][n]['id']+'"">'+tmp+'</tr>');
+  }
+
+  //show modal on click of the table
+  $('#events-table tbody tr').click(function(event) {
+    var id = $(this).attr('name')
+    var clickedEvent = $.grep(ret['_items'], function(e){return e.id == id;})[0];
+    console.log(clickedEvent);
+    $('#detail-modal .modal-title').text(clickedEvent['title_de']);
+    $('#detail-modal').modal('show');
+
+    for(var field in clickedEvent){
+      var temp = '<td>'+field+'</td><td>'+clickedEvent[field]+'</td>';
+      $('#event-details-table tbody').append('<tr>'+temp+'</tr>');
+    }
+    //var clicked = $.grep(_items, function(e){ return e.id == ; })[];
+  });
+
 });
+$('#detail-modal').on("hidden.bs.modal", function (e) {
+    $(e.target).removeData("bs.modal").find(".modal-content tbody").empty();
+});
+
+$(document).ready(function(){
+//  $('#time_start').datetimepicker({
+  //  locale: 'de'
+  //});
+});
+
+
 </script>
-- 
GitLab