Neue Benutzerberechtigung 'Editor', die dazu verwendet wird, den Speichern Knopf der Templates freizuschalten (IsEnabled)

This commit is contained in:
Daniel Schick 2022-12-09 09:32:13 +01:00
parent bd93f98460
commit c29a936fa2
6 changed files with 37 additions and 9 deletions

View File

@ -67,6 +67,8 @@ namespace ENI2.DetailViewControls
this.RegisterTextboxChange(this.textBox_AgentPostalCode, Message.NotificationClass.AGNT);
this.RegisterTextboxChange(this.textBox_AgentStreetAndNumber, Message.NotificationClass.AGNT);
this.RegisterTextboxChange(this.textBox_AgentCountry, Message.NotificationClass.AGNT);
this.buttonSaveTemplate.IsEnabled = DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].IsEditor;
}
public override void Initialize()
@ -308,21 +310,21 @@ namespace ENI2.DetailViewControls
{
if (MessageBox.Show("A template with this name already exists, overwrite?", "Confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No) == MessageBoxResult.No)
return;
}
}
this._currentTemplate = createFromCurrentText(title, existingTemplate);
DBManager.Instance.Save(this._currentTemplate);
DBManager.Instance.Save(this._currentTemplate);
if(existingTemplate == null)
{
comboBox_AgentTemplate.ItemsSource = null;
_agntTemplates.Add(this._currentTemplate);
_agntTemplates.Sort();
comboBox_AgentTemplate.ItemsSource = _agntTemplates;
}
}
MessageBox.Show("Template saved", "OK", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
private void buttonUndoTemplate_Click(object sender, RoutedEventArgs e)
{
@ -349,7 +351,7 @@ namespace ENI2.DetailViewControls
this.textBox_AgentStreetAndNumber.GetBindingExpression(TextBox.TextProperty).UpdateSource();
this.buttonUndoTemplate.IsEnabled = false; // can't undo after undo
}
}
private void buttonSetTemplate_Click(object sender, RoutedEventArgs e)
{

View File

@ -48,6 +48,7 @@
<Label Name="labelArchived" Grid.Row="8" Grid.Column="0" Content="{x:Static p:Resources.textArchived}" HorizontalContentAlignment="Right" />
<Label Name="labelCreated" Grid.Row="9" Grid.Column="0" Content="{x:Static p:Resources.textCreated}" HorizontalContentAlignment="Right" />
<Label Name="labelChanged" Grid.Row="9" Grid.Column="2" Content="{x:Static p:Resources.textChanged}" HorizontalContentAlignment="Right" />
<Label Name="labelEditor" Grid.Row="8" Grid.Column="2" Content="{x:Static p:Resources.textEditor}" HorizontalContentAlignment="Right" />
<TextBox Grid.Row="0" Grid.Column="1" Width="auto" Name="textBoxName" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
<TextBox Grid.Row="0" Grid.Column="3" Width="auto" Name="textBoxEMail" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
@ -64,6 +65,7 @@
<PasswordBox Grid.Row="6" Grid.Column="3" Width="auto" Name="passwordBoxPassword" Margin="2" VerticalContentAlignment="Center" />
<TextBox Grid.Row="7" Grid.Column="1" Width="auto" Name="textBoxUserEMail" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
<CheckBox Grid.Row="7" Grid.Column="3" VerticalAlignment="Center" Name="checkBoxAdministrator" Margin="2" />
<CheckBox Grid.Row="8" Grid.Column="3" VerticalAlignment="Center" Name="checkBoxEditor" Margin="2" />
<CheckBox Grid.Row="8" Grid.Column="1" VerticalAlignment="Center" Name="checkBoxArchived" Margin="2" />
<Label Grid.Row="9" Grid.Column="1" Name="dateTimePickerCreated" FontStyle="Italic" />

View File

@ -39,6 +39,7 @@ namespace ENI2.EditControls
this.checkBoxAdministrator.IsChecked = this.ReportingParty.IsAdmin;
this.checkBoxArchived.IsChecked = this.ReportingParty.IsArchived;
this.checkBoxEditor.IsChecked = this.ReportingParty.IsEditor;
this.dateTimePickerChanged.Content = this.ReportingParty.Changed.HasValue ? this.ReportingParty.Changed.ToString() : "";
this.dateTimePickerCreated.Content = this.ReportingParty.Created.HasValue ? this.ReportingParty.Created.ToString() : "";
@ -67,8 +68,9 @@ namespace ENI2.EditControls
this.ReportingParty.SetPassword(this.passwordBoxPassword.Password);
}
this.ReportingParty.IsAdmin = this.checkBoxAdministrator.IsChecked ?? false;
this.ReportingParty.IsAdmin = this.checkBoxAdministrator.IsChecked ?? false;
this.ReportingParty.IsArchived = this.checkBoxArchived.IsChecked ?? false;
this.ReportingParty.IsEditor = this.checkBoxEditor.IsChecked ?? false;
// save value
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(this.ReportingParty);

View File

@ -2040,6 +2040,15 @@ namespace ENI2.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Editor.
/// </summary>
public static string textEditor {
get {
return ResourceManager.GetString("textEditor", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Edit rules.
/// </summary>

View File

@ -1852,4 +1852,7 @@
<data name="textNewDGItem" xml:space="preserve">
<value>New dangerous goods item</value>
</data>
<data name="textEditor" xml:space="preserve">
<value>Editor</value>
</data>
</root>

View File

@ -42,7 +42,11 @@ namespace bsmd.database
/// <summary>
/// System-User (Testing, Tool)
/// </summary>
SYSTEM = 4
SYSTEM = 4,
/// <summary>
/// kann bestimmte Dinge (e.g. templates) im ENI bearbeiten
/// </summary>
EDITOR = 8
};
#endregion
@ -156,6 +160,12 @@ namespace bsmd.database
set { this.SetUserFlag(value, UserFlags.ADMIN); }
}
public bool IsEditor
{
get { return (this.Flags & (int)UserFlags.EDITOR) != 0; }
set { this.SetUserFlag(value, UserFlags.EDITOR); }
}
#endregion
#endregion