-
Notifications
You must be signed in to change notification settings - Fork 0
/
web_main.js
119 lines (100 loc) · 4.77 KB
/
web_main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/*
Copyright 2017 Lars Bremer
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
//////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// Statusmeldungen ueber HTTP bearbeiten (HTTP GET und POST) //
// //
// V1.0 2017-02-27 LB Initiale Version zum internen Test //
// //
//////////////////////////////////////////////////////////////////////////////////////////////////////
//POST-Anfragen zur Statusaenderung bearbeiten
function doPost(e) {
//Parameter fuer neuen Status einlesen
var newstate = e.parameter['newstate'];
//Pruefen ob gueltiger Status und ein Keyname uebergeben wurde
if ((newstate == 'S2' || newstate == 'S3' || newstate == 'S6') && e.parameter['keyname']) {
//Keyname aus Parameteruebergabe auslesen
var keyname = e.parameter['keyname'];
// Wenn Status geaendert werden konnte OK-Meldung zurueckgeben
if (newstatHTTP(keyname, newstate, 'POST')) {
return ContentService.createTextOutput('OK - ' + keyname + ' -> ' + newstate);
}
}
//Bei fehlenden Daten oder Fehlermeldung zurueckgeben
return ContentService.createTextOutput('ERROR')
}
//GET-Anfragen zur Anzeige von Websiten bearbeiten
function doGet(e) {
//Progammname fuer Websitentitel einlesen
var name = PropertiesService.getScriptProperties().getProperty('Name');
//Wenn kein Parameter 'Page' vorhanden Standardseite mit Einsatzbereitschaft anzeigen
if (!e.parameter['page']) {
return HtmlService.createTemplateFromFile('web-site_standby')
.evaluate()
.setTitle(name + ' - ' + 'Einsatzbereitschaft')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
//Wenn Parameter vorhanden diese auswerten
switch (e.parameter['page']) {
//Website im Einsatz von Vorlgae erzeugen und ausgeben
case 'onduty':
return HtmlService.createTemplateFromFile('web-site_onduty')
.evaluate()
.setTitle(name + ' - ' + 'Einsatz Bestätigt')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
break;
//Website mit Statusmeldungen von Vorlgae erzeugen und ausgeben
case 'log':
return HtmlService.createTemplateFromFile('web-site_log')
.evaluate()
.setTitle(name + ' - ' + 'Statusprotokoll')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
break;
//Website im Einsatz von Vorlage erzeugen und ausgeben
case 'newstate':
//Parameter fuer neuen Status einlesen
var newstate = e.parameter['newstate'];
//Pruefen ob gueltiger Status und ein Keyname uebergeben wurde
if ((newstate == 'S2' || newstate == 'S3' || newstate == 'S6') && e.parameter['keyname']) {
//Seite von Vorlage erzeugen und Variable fuer neuen Status setzen
var site = HtmlService.createTemplateFromFile('web-site_newstate-ok');
site.newstate = newstate;
//Keyname aus Parameteruebergabe auslesen
var keyname = e.parameter['keyname'];
// Wenn Status geaendert werden konnte OK Seite erstellen und anzeigen
if (newstatHTTP(keyname, newstate, 'GET')) {
return site.evaluate()
.setTitle(name + ' - ' + 'Neue Statusmeldung')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
break;
}
}
//Bei fehlenden Daten oder wenn Status nicht geandert werdenkonnte Fehlersite anzeigen
return HtmlService.createTemplateFromFile('web-site_newstate-err')
.evaluate()
.setTitle(name + ' - ' + 'FEHLER')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
break;
//Standardmaessig Website mit Einsatzbereitschaft von Vorlgae erzeugen und ausgeben
default:
return HtmlService.createTemplateFromFile('web-site_standby')
.evaluate()
.setTitle(name + ' - ' + 'Einsatzbereitschaft')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
}
//Adresse des Web-Interfaces (Hautpseite) bestimmen
function getWebUrl() {
var url = ScriptApp.getService().getUrl();
return url;
}