Skip to content
This repository was archived by the owner on Dec 19, 2019. It is now read-only.

Commit 6f134df

Browse files
author
Oliver
committed
Add neue Bedingungen #198 #164
1 parent a7c193c commit 6f134df

18 files changed

+1276
-44
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
.idea/
33
rwf/data/storage/*.xml
44
shc/data/storage/*.xml
5-
errors.txt
5+
pcc/data/storage/*.xml
6+
mb/data/storage/*.xml

shc/data/commands/smartphone/acp/conditions/addconditionformpage.class.php

+208
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use SHC\Condition\ConditionEditor;
1313
use SHC\Core\SHC;
1414
use SHC\Form\FormElements\ConditionTypeChooser;
15+
use SHC\Form\Forms\Conditions\CalendarWeekConditionForm;
1516
use SHC\Form\Forms\Conditions\DateConditionForm;
1617
use SHC\Form\Forms\Conditions\DayOfWeekConditionForm;
1718
use SHC\Form\Forms\Conditions\FileExistsConditionForm;
@@ -25,6 +26,7 @@
2526
use SHC\Form\Forms\Conditions\NobodyAtHomeConditionForm;
2627
use SHC\Form\Forms\Conditions\SunriseSunsetConditionForm;
2728
use SHC\Form\Forms\Conditions\SunsetSunriseConditionForm;
29+
use SHC\Form\Forms\Conditions\SwitchableStateConditionForm;
2830
use SHC\Form\Forms\Conditions\TemperatureConditionForm;
2931
use SHC\Form\Forms\Conditions\TimeOfDayConditionForm;
3032
use SHC\Form\Forms\Conditions\UserAtHomeConditionForm;
@@ -1069,6 +1071,212 @@ public function processData() {
10691071
$tpl->assign('conditionForm', $conditionForm);
10701072
}
10711073
break;
1074+
case 22:
1075+
1076+
//gerade Kalenderwoche
1077+
$conditionForm = new CalendarWeekConditionForm();
1078+
$conditionForm->setView(Form::SMARTPHONE_VIEW);
1079+
$conditionForm->setAction('index.php?app=shc&m&page=addconditionform');
1080+
$conditionForm->addId('shc-view-form-addCondition');
1081+
1082+
if($conditionForm->isSubmitted() && $conditionForm->validate()) {
1083+
1084+
//Werte vorbereiten
1085+
$name = $conditionForm->getElementByName('name')->getValue();
1086+
$enabled = $conditionForm->getElementByName('enabled')->getValue();
1087+
1088+
//Speichern
1089+
$message = new Message();
1090+
try {
1091+
1092+
ConditionEditor::getInstance()->addJustCalendarWeekCondition($name, $enabled);
1093+
$message->setType(Message::SUCCESSFULLY);
1094+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.success'));
1095+
} catch(\Exception $e) {
1096+
1097+
if($e->getCode() == 1502) {
1098+
1099+
//Name schon vergeben
1100+
$message->setType(Message::ERROR);
1101+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1502'));
1102+
} elseif($e->getCode() == 1102) {
1103+
1104+
//fehlende Schreibrechte
1105+
$message->setType(Message::ERROR);
1106+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1102'));
1107+
} else {
1108+
1109+
//Allgemeiner Fehler
1110+
$message->setType(Message::ERROR);
1111+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error'));
1112+
}
1113+
}
1114+
RWF::getSession()->setMessage($message);
1115+
1116+
//Umleiten
1117+
$this->response->addLocationHeader('index.php?app=shc&page=listconditions');
1118+
$this->response->setBody('');
1119+
$this->template = '';
1120+
} else {
1121+
1122+
$tpl->assign('conditionForm', $conditionForm);
1123+
}
1124+
break;
1125+
case 23:
1126+
1127+
//ungerade Kalenderwoche
1128+
$conditionForm = new CalendarWeekConditionForm();
1129+
$conditionForm->setView(Form::SMARTPHONE_VIEW);
1130+
$conditionForm->setAction('index.php?app=shc&m&page=addconditionform');
1131+
$conditionForm->addId('shc-view-form-addCondition');
1132+
1133+
if($conditionForm->isSubmitted() && $conditionForm->validate()) {
1134+
1135+
//Werte vorbereiten
1136+
$name = $conditionForm->getElementByName('name')->getValue();
1137+
$enabled = $conditionForm->getElementByName('enabled')->getValue();
1138+
1139+
//Speichern
1140+
$message = new Message();
1141+
try {
1142+
1143+
ConditionEditor::getInstance()->addOddCalendarWeekCondition($name, $enabled);
1144+
$message->setType(Message::SUCCESSFULLY);
1145+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.success'));
1146+
} catch(\Exception $e) {
1147+
1148+
if($e->getCode() == 1502) {
1149+
1150+
//Name schon vergeben
1151+
$message->setType(Message::ERROR);
1152+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1502'));
1153+
} elseif($e->getCode() == 1102) {
1154+
1155+
//fehlende Schreibrechte
1156+
$message->setType(Message::ERROR);
1157+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1102'));
1158+
} else {
1159+
1160+
//Allgemeiner Fehler
1161+
$message->setType(Message::ERROR);
1162+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error'));
1163+
}
1164+
}
1165+
RWF::getSession()->setMessage($message);
1166+
1167+
//Umleiten
1168+
$this->response->addLocationHeader('index.php?app=shc&page=listconditions');
1169+
$this->response->setBody('');
1170+
$this->template = '';
1171+
} else {
1172+
1173+
$tpl->assign('conditionForm', $conditionForm);
1174+
}
1175+
break;
1176+
case 24:
1177+
1178+
//schaltbares Element "an"
1179+
$conditionForm = new SwitchableStateConditionForm();
1180+
$conditionForm->setView(Form::SMARTPHONE_VIEW);
1181+
$conditionForm->setAction('index.php?app=shc&m&page=addconditionform');
1182+
$conditionForm->addId('shc-view-form-addCondition');
1183+
1184+
if($conditionForm->isSubmitted() && $conditionForm->validate()) {
1185+
1186+
//Werte vorbereiten
1187+
$name = $conditionForm->getElementByName('name')->getValue();
1188+
$switchables = $conditionForm->getElementByName('switchables')->getValues();
1189+
$enabled = $conditionForm->getElementByName('enabled')->getValue();
1190+
1191+
//Speichern
1192+
$message = new Message();
1193+
try {
1194+
1195+
ConditionEditor::getInstance()->addSwitchableStateHighCondition($name, $switchables, $enabled);
1196+
$message->setType(Message::SUCCESSFULLY);
1197+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.success'));
1198+
} catch(\Exception $e) {
1199+
1200+
if($e->getCode() == 1502) {
1201+
1202+
//Name schon vergeben
1203+
$message->setType(Message::ERROR);
1204+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1502'));
1205+
} elseif($e->getCode() == 1102) {
1206+
1207+
//fehlende Schreibrechte
1208+
$message->setType(Message::ERROR);
1209+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1102'));
1210+
} else {
1211+
1212+
//Allgemeiner Fehler
1213+
$message->setType(Message::ERROR);
1214+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error'));
1215+
}
1216+
}
1217+
RWF::getSession()->setMessage($message);
1218+
1219+
//Umleiten
1220+
$this->response->addLocationHeader('index.php?app=shc&page=listconditions');
1221+
$this->response->setBody('');
1222+
$this->template = '';
1223+
} else {
1224+
1225+
$tpl->assign('conditionForm', $conditionForm);
1226+
}
1227+
break;
1228+
case 25:
1229+
1230+
//schaltbares Element "aus"
1231+
$conditionForm = new SwitchableStateConditionForm();
1232+
$conditionForm->setView(Form::SMARTPHONE_VIEW);
1233+
$conditionForm->setAction('index.php?app=shc&m&page=addconditionform');
1234+
$conditionForm->addId('shc-view-form-addCondition');
1235+
1236+
if($conditionForm->isSubmitted() && $conditionForm->validate()) {
1237+
1238+
//Werte vorbereiten
1239+
$name = $conditionForm->getElementByName('name')->getValue();
1240+
$switchables = $conditionForm->getElementByName('switchables')->getValues();
1241+
$enabled = $conditionForm->getElementByName('enabled')->getValue();
1242+
1243+
//Speichern
1244+
$message = new Message();
1245+
try {
1246+
1247+
ConditionEditor::getInstance()->addSwitchableStateLowCondition($name, $switchables, $enabled);
1248+
$message->setType(Message::SUCCESSFULLY);
1249+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.success'));
1250+
} catch(\Exception $e) {
1251+
1252+
if($e->getCode() == 1502) {
1253+
1254+
//Name schon vergeben
1255+
$message->setType(Message::ERROR);
1256+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1502'));
1257+
} elseif($e->getCode() == 1102) {
1258+
1259+
//fehlende Schreibrechte
1260+
$message->setType(Message::ERROR);
1261+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1102'));
1262+
} else {
1263+
1264+
//Allgemeiner Fehler
1265+
$message->setType(Message::ERROR);
1266+
$message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error'));
1267+
}
1268+
}
1269+
RWF::getSession()->setMessage($message);
1270+
1271+
//Umleiten
1272+
$this->response->addLocationHeader('index.php?app=shc&page=listconditions');
1273+
$this->response->setBody('');
1274+
$this->template = '';
1275+
} else {
1276+
1277+
$tpl->assign('conditionForm', $conditionForm);
1278+
}
1279+
break;
10721280
}
10731281
} else {
10741282

0 commit comments

Comments
 (0)