From 511b61d487adc476d736213d1f6e021760c24590 Mon Sep 17 00:00:00 2001
From: Andreas Valder <andreasv@fsmpi.rwth-aachen.de>
Date: Wed, 31 Aug 2016 08:04:42 +0200
Subject: [PATCH] mod interface now working in firefox, still needs cleanup

---
 run.py                  |  1 +
 static/moderator.js     | 18 ++++++++----------
 templates/macros.html   |  2 +-
 templates/schedule.html |  1 -
 4 files changed, 10 insertions(+), 12 deletions(-)
 mode change 100644 => 100755 run.py

diff --git a/run.py b/run.py
old mode 100644
new mode 100755
index c49f8a2..b322eba
--- a/run.py
+++ b/run.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
 from server import *
 
 if __name__ == '__main__':
diff --git a/static/moderator.js b/static/moderator.js
index e6945d4..4fb25a4 100644
--- a/static/moderator.js
+++ b/static/moderator.js
@@ -15,10 +15,10 @@ var moderatorinterface = {
 							return `
 								<div class="row form-group">
 									<span class="col-xs-12">
-										<textarea class="form-control" rows="3">`+this.parentElement.getElementsByClassName('modeditablevalue')[0].innerHTML+`</textarea>
+										<textarea class="form-control editorvalue" rows="3" data-path="`+$(this.parentElement).data('path')+`">`+this.parentElement.getElementsByClassName('modeditablevalue')[0].innerHTML+`</textarea>
 									</span>
 									<span class="col-xs-12">
-										<input class="btn btn-default pull-right" type="submit" data-path="`+$(this.parentElement).data('path')+`" value="save" onClick="moderatorinterface.edit()">
+										<input class="btn btn-default pull-right editorbtn" type="submit" data-path="`+$(this.parentElement).data('path')+`" value="save" onClick="moderatorinterface.edit(this)">
 									</span>
 								</div>
 								`;
@@ -28,10 +28,9 @@ var moderatorinterface = {
 			}
 		})
 	},
-	edit: function () {
-		var event = window.event;
-		var value = $(event.srcElement)[0].parentElement.previousElementSibling.children[0].value;
-		var path = $($(event.srcElement)[0]).data('path');
+	edit: function (src) {
+		var path = $($(src)[0]).data('path');
+		var value = $(".editorvalue")[0].value;
 
 		var editable = $('.modeditable');
 		for (var i=0; i<editable.length; i++) {
@@ -44,10 +43,9 @@ var moderatorinterface = {
 		}
 		moderatorinterface.set(path,value);
 	},
-	change: function() {
-		var event = window.event;
-		var value = $(event.srcElement)[0].checked;
-		var path = $($(event.srcElement)[0]).data('path');
+	change: function(src) {
+		var value = $(src)[0].checked;
+		var path = $(src).data('path');
 		moderatorinterface.set(path,value ? 1 : 0);
 	},
 	set: function(path,value) {
diff --git a/templates/macros.html b/templates/macros.html
index 4ecd4e4..1f6fe5c 100644
--- a/templates/macros.html
+++ b/templates/macros.html
@@ -167,6 +167,6 @@ $('#embedcodebtn').popover(
 
 {% macro valuecheckbox (path,value) %}
 	{% if ismod() %}
-	<input type="checkbox" data-path="{{path|join('.')}}" {% if value %} checked {% endif %} onchange="moderatorinterface.change()"/>
+	<input type="checkbox" data-path="{{path|join('.')}}" {% if value %} checked {% endif %} onchange="moderatorinterface.change(this)"/>
 	{% endif %}
 {% endmacro %}
diff --git a/templates/schedule.html b/templates/schedule.html
index e00fcdc..5df33e3 100644
--- a/templates/schedule.html
+++ b/templates/schedule.html
@@ -1,5 +1,4 @@
 {% extends "base.html" %}
-{% set active_page = "schedule" %}
 {% block content %}
 <div class="panel-group" id="accordion">
 	<div class="panel panel-default">
-- 
GitLab