SEBWIN-464 added missing attributes and created migration task
This commit is contained in:
parent
256b59e566
commit
b6e9e55106
4 changed files with 125 additions and 4 deletions
|
@ -56,7 +56,9 @@ public class BrowserViewModeRule implements ValueChangeRule {
|
|||
if (KEY_TOUCH_OPTIMIZED.equals(attribute.name)) {
|
||||
if (BooleanUtils.toBoolean(value.value)) {
|
||||
context.disableGroup(KEY_MAIN_WINDOW_GROUP);
|
||||
context.setValue(KEY_BROWSER_VIEW_MODE, "2");
|
||||
context.setValue(
|
||||
KEY_BROWSER_VIEW_MODE,
|
||||
context.getAttributeByName(KEY_BROWSER_VIEW_MODE).defaultValue);
|
||||
} else {
|
||||
context.setValue(KEY_TOUCH_EXIT, Constants.FALSE_STRING);
|
||||
context.disable(KEY_TOUCH_EXIT);
|
||||
|
@ -70,7 +72,9 @@ public class BrowserViewModeRule implements ValueChangeRule {
|
|||
case 1: {
|
||||
context.disable(KEY_TOUCH_EXIT);
|
||||
context.disableGroup(KEY_MAIN_WINDOW_GROUP);
|
||||
context.setValue(KEY_TOUCH_OPTIMIZED, Constants.FALSE_STRING);
|
||||
context.setValue(
|
||||
KEY_TOUCH_OPTIMIZED,
|
||||
context.getAttributeByName(KEY_TOUCH_OPTIMIZED).defaultValue);
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
|
@ -79,7 +83,9 @@ public class BrowserViewModeRule implements ValueChangeRule {
|
|||
}
|
||||
default: {
|
||||
context.disable(KEY_TOUCH_EXIT);
|
||||
context.setValue(KEY_TOUCH_OPTIMIZED, Constants.FALSE_STRING);
|
||||
context.setValue(
|
||||
KEY_TOUCH_OPTIMIZED,
|
||||
context.getAttributeByName(KEY_TOUCH_OPTIMIZED).defaultValue);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
/*
|
||||
* Copyright (c) 2021 ETH Zürich, Educational Development and Technology (LET)
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package ch.ethz.seb.sebserver.gui.service.examconfig.impl.rules;
|
||||
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.model.sebconfig.ConfigurationAttribute;
|
||||
import ch.ethz.seb.sebserver.gbl.model.sebconfig.ConfigurationValue;
|
||||
import ch.ethz.seb.sebserver.gbl.profile.GuiProfile;
|
||||
import ch.ethz.seb.sebserver.gui.service.examconfig.ValueChangeRule;
|
||||
import ch.ethz.seb.sebserver.gui.service.examconfig.impl.ViewContext;
|
||||
|
||||
@Lazy
|
||||
@Service
|
||||
@GuiProfile
|
||||
public class IgnoreSEBService implements ValueChangeRule {
|
||||
|
||||
public static final String KEY_IGNORE_SEB_SERVICE = "sebServiceIgnore";
|
||||
|
||||
public static final String KEY_SEB_SERVICE_POLICY = "sebServicePolicy";
|
||||
public static final String KEY_ATTR_1 = "enableWindowsUpdate";
|
||||
public static final String KEY_ATTR_2 = "enableChromeNotifications";
|
||||
public static final String KEY_ATTR_3 = "allowScreenSharing";
|
||||
|
||||
@Override
|
||||
public boolean observesAttribute(final ConfigurationAttribute attribute) {
|
||||
return KEY_IGNORE_SEB_SERVICE.equals(attribute.name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applyRule(
|
||||
final ViewContext context,
|
||||
final ConfigurationAttribute attribute,
|
||||
final ConfigurationValue value) {
|
||||
|
||||
if (KEY_IGNORE_SEB_SERVICE.equals(attribute.name)) {
|
||||
if (BooleanUtils.toBoolean(value.value)) {
|
||||
context.disable(KEY_SEB_SERVICE_POLICY);
|
||||
context.disable(KEY_ATTR_1);
|
||||
context.disable(KEY_ATTR_2);
|
||||
context.disable(KEY_ATTR_3);
|
||||
|
||||
context.setValue(
|
||||
KEY_SEB_SERVICE_POLICY,
|
||||
context.getAttributeByName(KEY_SEB_SERVICE_POLICY).defaultValue);
|
||||
context.setValue(
|
||||
KEY_ATTR_1,
|
||||
context.getAttributeByName(KEY_ATTR_1).defaultValue);
|
||||
context.setValue(
|
||||
KEY_ATTR_2,
|
||||
context.getAttributeByName(KEY_ATTR_2).defaultValue);
|
||||
context.setValue(
|
||||
KEY_ATTR_3,
|
||||
context.getAttributeByName(KEY_ATTR_3).defaultValue);
|
||||
} else {
|
||||
context.enable(KEY_SEB_SERVICE_POLICY);
|
||||
context.enable(KEY_ATTR_1);
|
||||
context.enable(KEY_ATTR_2);
|
||||
context.enable(KEY_ATTR_3);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
INSERT IGNORE INTO configuration_attribute VALUES
|
||||
(318, 'sebServiceIgnore', 'CHECKBOX', null, null, null, null, 'true'),
|
||||
(319, 'allowApplicationLog', 'CHECKBOX', null, null, null, null, 'false'),
|
||||
(320, 'showApplicationLogButton', 'CHECKBOX', null, null, null, null, 'false'),
|
||||
(321, 'enableWindowsUpdate', 'CHECKBOX', null, null, null, null, 'false'),
|
||||
(322, 'enableChromeNotifications', 'CHECKBOX', null, null, null, null, 'false')
|
||||
;
|
||||
|
||||
|
||||
UPDATE orientation SET y_position='13', width='12' WHERE id='305';
|
||||
UPDATE orientation SET y_position='16', width='10' WHERE id='306';
|
||||
UPDATE orientation SET y_position='17', width='10' WHERE id='307';
|
||||
UPDATE orientation SET y_position='18' WHERE id='317';
|
||||
UPDATE orientation SET x_position='0', y_position='9' WHERE id='301';
|
||||
UPDATE orientation SET x_position='3', y_position='10', width='4' WHERE id='501';
|
||||
UPDATE orientation SET x_position='3', y_position='11', width='4' WHERE id='304';
|
||||
UPDATE orientation SET x_position='3', y_position='12', width='4' WHERE id='302';
|
||||
UPDATE orientation SET group_id='sebService', x_position='4', y_position='6', width='3' WHERE id='303';
|
||||
UPDATE orientation SET group_id='sebService', y_position='2', width='7', title='TOP' WHERE id='300';
|
||||
UPDATE orientation SET y_position='3' WHERE id='309';
|
||||
UPDATE orientation SET y_position='4' WHERE id='310';
|
||||
UPDATE orientation SET y_position='5' WHERE id='311';
|
||||
UPDATE orientation SET y_position='6' WHERE id='312';
|
||||
UPDATE orientation SET y_position='7' WHERE id='313';
|
||||
UPDATE orientation SET y_position='8' WHERE id='314';
|
||||
UPDATE orientation SET y_position='11' WHERE id='315';
|
||||
UPDATE orientation SET y_position='12' WHERE id='316';
|
||||
|
||||
|
||||
INSERT IGNORE INTO orientation VALUES
|
||||
(318, 318, 0, 9, 'sebService', 0, 0, 7, 1, 'NONE'),
|
||||
(319, 319, 0, 9, 'logging', 0, 14, 5, 1, 'NONE'),
|
||||
(320, 320, 0, 9, 'logging', 0, 15, 5, 1, 'NONE'),
|
||||
(321, 321, 0, 9, 'sebService', 0, 6, 4, 1, 'NONE'),
|
||||
(322, 322, 0, 9, 'sebService', 0, 7, 4, 1, 'NONE')
|
||||
;
|
|
@ -1154,11 +1154,15 @@ sebserver.examconfig.props.label.RTSPUsername=Username
|
|||
sebserver.examconfig.props.label.RTSPPassword=Password
|
||||
|
||||
|
||||
sebserver.examconfig.props.group.servicePolicy=SEB Service policy
|
||||
sebserver.examconfig.props.group.sebService=SEB Service (Win)
|
||||
sebserver.examconfig.props.label.sebServicePolicy=<span style=\"color:#aa0000\">IMPORTANT: The SEB Service changes aspects of the system configuration.<br/>Some anti-virus software providers might falsely identify its operation as malicious,<br/>thus it is not recommended to use the SEB Service in uncontrolled environments (e.g. BYOD).</span><br/><br/>SEB Service policy
|
||||
sebserver.examconfig.props.label.sebServicePolicy.0=allow to run SEB without service
|
||||
sebserver.examconfig.props.label.sebServicePolicy.1=display warning when service is not running
|
||||
sebserver.examconfig.props.label.sebServicePolicy.2=allow to use SEB only with service
|
||||
sebserver.examconfig.props.label.sebServicePolicy.tooltip=Policy that applies when an exam client doesn't have the SEB client running
|
||||
sebserver.examconfig.props.label.sebServiceIgnore=Ignore SEB Service
|
||||
sebserver.examconfig.props.label.enableWindowsUpdate=Allow Windows Update to run while SEB is running
|
||||
sebserver.examconfig.props.label.enableChromeNotifications=Allow notifications from Chrome browsers
|
||||
|
||||
sebserver.examconfig.props.group.kioskMode=Kiosk Mode
|
||||
sebserver.examconfig.props.label.kioskMode.tooltip=The kiosk mode setting reflects how the computer is locked down in SEB
|
||||
|
@ -1220,6 +1224,8 @@ sebserver.examconfig.props.label.logLevel.3=Debug
|
|||
sebserver.examconfig.props.label.logLevel.3.tooltip=Debug is reserved for information which is only necessary for in-deep program code debugging
|
||||
sebserver.examconfig.props.label.logLevel.4=Verbose
|
||||
sebserver.examconfig.props.label.logLevel.4.tooltip=Verbose level contains events of all levels
|
||||
sebserver.examconfig.props.label.allowApplicationLog=Allow access to application log (Win)
|
||||
sebserver.examconfig.props.label.showApplicationLogButton=Show log button on taskbar (Win)
|
||||
|
||||
sebserver.examconfig.props.group.registry=While running SEB
|
||||
sebserver.examconfig.props.group.registry.tooltip=Options in the Windows Security Screen invoked by Ctrl-Alt-Del
|
||||
|
|
Loading…
Reference in a new issue