SEBWIN-448: Implemented disclaimer for remote proctoring.
This commit is contained in:
parent
f4a00beebb
commit
b27bf24eea
16 changed files with 84 additions and 19 deletions
|
@ -161,6 +161,7 @@ namespace SafeExamBrowser.I18n.Contracts
|
|||
OperationStatus_TerminateShell,
|
||||
OperationStatus_ValidateRemoteSessionPolicy,
|
||||
OperationStatus_ValidateVirtualMachinePolicy,
|
||||
OperationStatus_WaitDisclaimerConfirmation,
|
||||
OperationStatus_WaitExplorerStartup,
|
||||
OperationStatus_WaitExplorerTermination,
|
||||
OperationStatus_WaitRuntimeDisconnection,
|
||||
|
|
|
@ -252,6 +252,12 @@
|
|||
<Entry key="MessageBox_OkButton">
|
||||
OK
|
||||
</Entry>
|
||||
<Entry key="MessageBox_ProctoringDisclaimer">
|
||||
Die aktuelle Sitzung wird mithilfe eines Live-Video- und Audiostreams fernüberwacht, der an einen individuell konfigurierten Server gesendet wird. Fragen Sie Ihren Prüfer nach dessen Datenschutzbestimmungen. SEB selbst stellt keine Verbindung zu einem zentralen SEB-Überwachungsserver her. Ihr Prüfungsanbieter entscheidet, welcher Überwachungsdienst/-server verwendet werden soll.
|
||||
</Entry>
|
||||
<Entry key="MessageBox_ProctoringDisclaimerTitle">
|
||||
Starte Fernüberwachung
|
||||
</Entry>
|
||||
<Entry key="MessageBox_Quit">
|
||||
Möchten Sie SEB beenden?
|
||||
</Entry>
|
||||
|
@ -435,6 +441,9 @@
|
|||
<Entry key="OperationStatus_ValidateVirtualMachinePolicy">
|
||||
Validiere Richtlinie für virtuelle Maschinen
|
||||
</Entry>
|
||||
<Entry key="OperationStatus_WaitDisclaimerConfirmation">
|
||||
Warte auf die Bestätigung des Hinweises zur Fernüberwachung
|
||||
</Entry>
|
||||
<Entry key="OperationStatus_WaitExplorerStartup">
|
||||
Warte bis Windows Explorer gestartet ist
|
||||
</Entry>
|
||||
|
|
|
@ -441,6 +441,9 @@
|
|||
<Entry key="OperationStatus_ValidateVirtualMachinePolicy">
|
||||
Validating virtual machine policy
|
||||
</Entry>
|
||||
<Entry key="OperationStatus_WaitDisclaimerConfirmation">
|
||||
Waiting for confirmation of the disclaimer
|
||||
</Entry>
|
||||
<Entry key="OperationStatus_WaitExplorerStartup">
|
||||
Waiting for Windows explorer to start up
|
||||
</Entry>
|
||||
|
|
|
@ -252,6 +252,12 @@
|
|||
<Entry key="MessageBox_OkButton">
|
||||
OK
|
||||
</Entry>
|
||||
<Entry key="MessageBox_ProctoringDisclaimer">
|
||||
La session en cours sera surveillée à distance à l'aide d'un flux vidéo et audio en direct, qui est envoyé à un serveur configuré individuellement. Demandez à votre examinateur sa politique de confidentialité. SEB lui-même ne se connecte à aucun serveur de surveillance SEB centralisé, votre fournisseur d'examen décide du service / serveur de surveillance à utiliser.
|
||||
</Entry>
|
||||
<Entry key="MessageBox_ProctoringDisclaimerTitle">
|
||||
Démarrage de la surveillance à distance
|
||||
</Entry>
|
||||
<Entry key="MessageBox_Quit">
|
||||
Voulez-vous quitter SEB ?
|
||||
</Entry>
|
||||
|
@ -435,6 +441,9 @@
|
|||
<Entry key="OperationStatus_ValidateVirtualMachinePolicy">
|
||||
Validation de la directive sur les machines virtuelles
|
||||
</Entry>
|
||||
<Entry key="OperationStatus_WaitDisclaimerConfirmation">
|
||||
En attente de confirmation de la clause de non-responsabilité
|
||||
</Entry>
|
||||
<Entry key="OperationStatus_WaitExplorerStartup">
|
||||
Attente du démarrage de l’explorateur Windows
|
||||
</Entry>
|
||||
|
|
|
@ -252,6 +252,12 @@
|
|||
<Entry key="MessageBox_OkButton">
|
||||
OK
|
||||
</Entry>
|
||||
<Entry key="MessageBox_ProctoringDisclaimer">
|
||||
La sessione corrente verrà controllata in remoto utilizzando un flusso video e audio dal vivo, che viene inviato a un server configurato individualmente. Chiedi al tuo esaminatore la sua politica sulla privacy. SEB stesso non si connette a nessun server di proctoring SEB centralizzato, il fornitore dell'esame decide quale servizio / server di proctoring utilizzare.
|
||||
</Entry>
|
||||
<Entry key="MessageBox_ProctoringDisclaimerTitle">
|
||||
Avvio del proctoring remoto
|
||||
</Entry>
|
||||
<Entry key="MessageBox_Quit">
|
||||
Vuoi uscire da SEB?
|
||||
</Entry>
|
||||
|
@ -435,6 +441,9 @@
|
|||
<Entry key="OperationStatus_ValidateVirtualMachinePolicy">
|
||||
Convalida dei criteri della macchina virtuale
|
||||
</Entry>
|
||||
<Entry key="OperationStatus_WaitDisclaimerConfirmation">
|
||||
In attesa di conferma del disclaimer
|
||||
</Entry>
|
||||
<Entry key="OperationStatus_WaitExplorerStartup">
|
||||
In attesa dell'avvio di Esplora risorse di Windows
|
||||
</Entry>
|
||||
|
|
|
@ -216,6 +216,12 @@
|
|||
<Entry key="MessageBox_OkButton">
|
||||
确定
|
||||
</Entry>
|
||||
<Entry key="MessageBox_ProctoringDisclaimer">
|
||||
当前会话将使用实时视频和音频流进行远程管理,并将其发送到单独配置的服务器。 向考官询问他们的隐私政策。 SEB本身不连接到任何集中式SEB代理服务器,您的考试提供商决定要使用哪个代理服务/服务器。
|
||||
</Entry>
|
||||
<Entry key="MessageBox_ProctoringDisclaimerTitle">
|
||||
启动远程代理
|
||||
</Entry>
|
||||
<Entry key="MessageBox_Quit">
|
||||
您想要退出防作弊考试专用浏览器吗?
|
||||
</Entry>
|
||||
|
@ -387,6 +393,9 @@
|
|||
<Entry key="OperationStatus_ValidateVirtualMachinePolicy">
|
||||
验证虚拟机策略
|
||||
</Entry>
|
||||
<Entry key="OperationStatus_WaitDisclaimerConfirmation">
|
||||
等待确认免责声明
|
||||
</Entry>
|
||||
<Entry key="OperationStatus_WaitExplorerStartup">
|
||||
等待Windows资源管理器启动
|
||||
</Entry>
|
||||
|
|
|
@ -306,7 +306,7 @@ namespace SafeExamBrowser.Runtime.UnitTests
|
|||
messageBox.Verify(m => m.Show(
|
||||
It.IsAny<string>(),
|
||||
It.IsAny<string>(),
|
||||
It.Is<MessageBoxAction>(a => a == MessageBoxAction.Confirm),
|
||||
It.Is<MessageBoxAction>(a => a == MessageBoxAction.Ok),
|
||||
It.Is<MessageBoxIcon>(i => i == args.Icon),
|
||||
It.IsAny<IWindow>()), Times.Once);
|
||||
clientProxy.VerifyAdd(p => p.ConnectionLost += It.IsAny<CommunicationEventHandler>());
|
||||
|
@ -330,7 +330,7 @@ namespace SafeExamBrowser.Runtime.UnitTests
|
|||
clientProxy.Setup(c => c.ShowMessage(
|
||||
It.IsAny<string>(),
|
||||
It.IsAny<string>(),
|
||||
It.Is<int>(a => a == (int) MessageBoxAction.Confirm),
|
||||
It.Is<int>(a => a == (int) MessageBoxAction.Ok),
|
||||
It.IsAny<int>(),
|
||||
It.IsAny<Guid>()))
|
||||
.Callback<string, string, int, int, Guid>((m, t, a, i, id) =>
|
||||
|
@ -345,7 +345,7 @@ namespace SafeExamBrowser.Runtime.UnitTests
|
|||
clientProxy.Verify(c => c.ShowMessage(
|
||||
It.IsAny<string>(),
|
||||
It.IsAny<string>(),
|
||||
It.Is<int>(a => a == (int) MessageBoxAction.Confirm),
|
||||
It.Is<int>(a => a == (int) MessageBoxAction.Ok),
|
||||
It.Is<int>(i => i == (int) args.Icon),
|
||||
It.IsAny<Guid>()), Times.Once);
|
||||
}
|
||||
|
|
|
@ -46,11 +46,13 @@ namespace SafeExamBrowser.Runtime.Operations
|
|||
{
|
||||
var args = new MessageEventArgs
|
||||
{
|
||||
Icon = MessageBoxIcon.Question,
|
||||
Action = MessageBoxAction.OkCancel,
|
||||
Icon = MessageBoxIcon.Information,
|
||||
Message = TextKey.MessageBox_ProctoringDisclaimer,
|
||||
Title = TextKey.MessageBox_ProctoringDisclaimerTitle
|
||||
};
|
||||
|
||||
StatusChanged?.Invoke(TextKey.OperationStatus_WaitDisclaimerConfirmation);
|
||||
ActionRequired?.Invoke(args);
|
||||
|
||||
if (args.Result == MessageBoxResult.Ok)
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace SafeExamBrowser.Runtime.Operations.Events
|
|||
|
||||
public MessageEventArgs()
|
||||
{
|
||||
Action = MessageBoxAction.Confirm;
|
||||
Action = MessageBoxAction.Ok;
|
||||
MessagePlaceholders = new Dictionary<string, string>();
|
||||
TitlePlaceholders = new Dictionary<string, string>();
|
||||
}
|
||||
|
|
|
@ -468,11 +468,11 @@ namespace SafeExamBrowser.Runtime
|
|||
|
||||
if (isStartup || isRunningOnDefaultDesktop)
|
||||
{
|
||||
args.Result = messageBox.Show(message, title, MessageBoxAction.Confirm, args.Icon, runtimeWindow);
|
||||
args.Result = messageBox.Show(message, title, args.Action, args.Icon, runtimeWindow);
|
||||
}
|
||||
else
|
||||
{
|
||||
args.Result = ShowMessageBoxViaClient(message, title, MessageBoxAction.Confirm, args.Icon);
|
||||
args.Result = ShowMessageBoxViaClient(message, title, args.Action, args.Icon);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,11 +19,11 @@ namespace SafeExamBrowser.UserInterface.Contracts.MessageBox
|
|||
/// <summary>
|
||||
/// Shows a message box according to the specified parameters and returns the result chosen by the user.
|
||||
/// </summary>
|
||||
MessageBoxResult Show(string message, string title, MessageBoxAction action = MessageBoxAction.Confirm, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null);
|
||||
MessageBoxResult Show(string message, string title, MessageBoxAction action = MessageBoxAction.Ok, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null);
|
||||
|
||||
/// <summary>
|
||||
/// Shows a message box according to the specified parameters and returns the result chosen by the user.
|
||||
/// </summary>
|
||||
MessageBoxResult Show(TextKey message, TextKey title, MessageBoxAction action = MessageBoxAction.Confirm, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null);
|
||||
MessageBoxResult Show(TextKey message, TextKey title, MessageBoxAction action = MessageBoxAction.Ok, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,8 +13,8 @@ namespace SafeExamBrowser.UserInterface.Contracts.MessageBox
|
|||
/// </summary>
|
||||
public enum MessageBoxAction
|
||||
{
|
||||
Confirm,
|
||||
ConfirmAbort,
|
||||
Ok,
|
||||
OkCancel,
|
||||
YesNo
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,9 +23,9 @@ namespace SafeExamBrowser.UserInterface.Desktop
|
|||
this.text = text;
|
||||
}
|
||||
|
||||
public MessageBoxResult Show(string message, string title, MessageBoxAction action = MessageBoxAction.Confirm, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null)
|
||||
public MessageBoxResult Show(string message, string title, MessageBoxAction action = MessageBoxAction.Ok, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null)
|
||||
{
|
||||
var result = System.Windows.MessageBoxResult.None;
|
||||
var result = default(System.Windows.MessageBoxResult);
|
||||
|
||||
if (parent is Window window)
|
||||
{
|
||||
|
@ -39,7 +39,7 @@ namespace SafeExamBrowser.UserInterface.Desktop
|
|||
return ToResult(result);
|
||||
}
|
||||
|
||||
public MessageBoxResult Show(TextKey message, TextKey title, MessageBoxAction action = MessageBoxAction.Confirm, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null)
|
||||
public MessageBoxResult Show(TextKey message, TextKey title, MessageBoxAction action = MessageBoxAction.Ok, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null)
|
||||
{
|
||||
return Show(text.Get(message), text.Get(title), action, icon, parent);
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ namespace SafeExamBrowser.UserInterface.Desktop
|
|||
{
|
||||
switch (action)
|
||||
{
|
||||
case MessageBoxAction.OkCancel:
|
||||
return MessageBoxButton.OKCancel;
|
||||
case MessageBoxAction.YesNo:
|
||||
return MessageBoxButton.YesNo;
|
||||
default:
|
||||
|
|
|
@ -24,9 +24,9 @@ namespace SafeExamBrowser.UserInterface.Mobile
|
|||
this.text = text;
|
||||
}
|
||||
|
||||
public MessageBoxResult Show(string message, string title, MessageBoxAction action = MessageBoxAction.Confirm, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null)
|
||||
public MessageBoxResult Show(string message, string title, MessageBoxAction action = MessageBoxAction.Ok, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null)
|
||||
{
|
||||
var result = MessageBoxResult.None;
|
||||
var result = default(MessageBoxResult);
|
||||
|
||||
if (parent is Window window)
|
||||
{
|
||||
|
@ -40,7 +40,7 @@ namespace SafeExamBrowser.UserInterface.Mobile
|
|||
return result;
|
||||
}
|
||||
|
||||
public MessageBoxResult Show(TextKey message, TextKey title, MessageBoxAction action = MessageBoxAction.Confirm, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null)
|
||||
public MessageBoxResult Show(TextKey message, TextKey title, MessageBoxAction action = MessageBoxAction.Ok, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null)
|
||||
{
|
||||
return Show(text.Get(message), text.Get(title), action, icon, parent);
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
<Grid Grid.Row="2" Background="{StaticResource BackgroundBrush}">
|
||||
<WrapPanel Orientation="Horizontal" Margin="50,25" HorizontalAlignment="Right" VerticalAlignment="Center">
|
||||
<Button x:Name="OkButton" Cursor="Hand" Padding="20,10" MinWidth="100" />
|
||||
<Button x:Name="CancelButton" Cursor="Hand" Margin="20,0,0,0" Padding="20,10" MinWidth="100" />
|
||||
<Button x:Name="YesButton" Cursor="Hand" Margin="0,0,20,0" Padding="20,10" MinWidth="100" />
|
||||
<Button x:Name="NoButton" Cursor="Hand" Padding="20,10" MinWidth="100" />
|
||||
</WrapPanel>
|
||||
|
|
|
@ -53,13 +53,22 @@ namespace SafeExamBrowser.UserInterface.Mobile.Windows
|
|||
{
|
||||
switch (action)
|
||||
{
|
||||
case MessageBoxAction.Confirm:
|
||||
case MessageBoxAction.Ok:
|
||||
CancelButton.Visibility = Visibility.Collapsed;
|
||||
OkButton.Visibility = Visibility.Visible;
|
||||
OkButton.Focus();
|
||||
YesButton.Visibility = Visibility.Collapsed;
|
||||
NoButton.Visibility = Visibility.Collapsed;
|
||||
break;
|
||||
case MessageBoxAction.OkCancel:
|
||||
CancelButton.Visibility = Visibility.Visible;
|
||||
CancelButton.Focus();
|
||||
OkButton.Visibility = Visibility.Visible;
|
||||
YesButton.Visibility = Visibility.Collapsed;
|
||||
NoButton.Visibility = Visibility.Collapsed;
|
||||
break;
|
||||
case MessageBoxAction.YesNo:
|
||||
CancelButton.Visibility = Visibility.Collapsed;
|
||||
OkButton.Visibility = Visibility.Collapsed;
|
||||
YesButton.Visibility = Visibility.Visible;
|
||||
NoButton.Visibility = Visibility.Visible;
|
||||
|
@ -109,6 +118,9 @@ namespace SafeExamBrowser.UserInterface.Mobile.Windows
|
|||
{
|
||||
InitializeBounds();
|
||||
|
||||
CancelButton.Content = text.Get(TextKey.MessageBox_CancelButton);
|
||||
CancelButton.Click += CancelButton_Click;
|
||||
|
||||
NoButton.Content = text.Get(TextKey.MessageBox_NoButton);
|
||||
NoButton.Click += NoButton_Click;
|
||||
|
||||
|
@ -125,8 +137,10 @@ namespace SafeExamBrowser.UserInterface.Mobile.Windows
|
|||
{
|
||||
switch (action)
|
||||
{
|
||||
case MessageBoxAction.Confirm:
|
||||
case MessageBoxAction.Ok:
|
||||
return DialogResult == true ? MessageBoxResult.Ok : MessageBoxResult.None;
|
||||
case MessageBoxAction.OkCancel:
|
||||
return DialogResult == true ? MessageBoxResult.Ok : MessageBoxResult.Cancel;
|
||||
case MessageBoxAction.YesNo:
|
||||
return DialogResult == true ? MessageBoxResult.Yes : MessageBoxResult.No;
|
||||
default:
|
||||
|
@ -134,6 +148,12 @@ namespace SafeExamBrowser.UserInterface.Mobile.Windows
|
|||
}
|
||||
}
|
||||
|
||||
private void CancelButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
DialogResult = false;
|
||||
Close();
|
||||
}
|
||||
|
||||
private void NoButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
DialogResult = false;
|
||||
|
|
Loading…
Reference in a new issue