Common..CurrentUser static class with Stack<UserAndForm> userStack, Change( ) and Restore( ).
This commit is contained in:
@@ -65,26 +65,38 @@ namespace TBF.UI.Procedures
|
||||
|
||||
bool unlocked;
|
||||
|
||||
public ProcedureDlg()
|
||||
ProcedureDlg()
|
||||
{
|
||||
/// Detect display setting: 100% = 96dpi, 125% = 120dpi, 150% = 144dpi.
|
||||
Dpi = (int)this.CreateGraphics().DpiX;
|
||||
initialMode = Mode.Locked;
|
||||
InitializeComponent();
|
||||
|
||||
InitializeComponent();
|
||||
/// Detect display setting: 100% = 96dpi, 125% = 120dpi, 150% = 144dpi.
|
||||
Dpi = (int)this.CreateGraphics().DpiX;
|
||||
}
|
||||
|
||||
public ProcedureDlg(Procedure procedure, IList<string> usedNames, Mode initialMode, Form parentForm)
|
||||
: this()
|
||||
{
|
||||
if (procedure == null) throw new ArgumentNullException("procedure");
|
||||
|
||||
LoadedProcedure = procedure;
|
||||
this.usedNames = usedNames;
|
||||
this.initialMode = initialMode;
|
||||
|
||||
/// SharedDlgButtons configuration
|
||||
sharedButtons.ParentForm = parentForm;
|
||||
#if KEMPNO_50 || KRAKOW_50
|
||||
sharedButtons.RequiredGroupMembership = new GID[] { GID.TestingSpecialists, GID.WaterMeterAuthority };
|
||||
sharedButtons.RequiredGroupMembership = procedure.Protected ? new GID[] { GID.WaterMeterAuthority }
|
||||
: new GID[] { GID.TestingSpecialists, GID.WaterMeterAuthority };
|
||||
#else
|
||||
sharedButtons.RequiredGroupMembership = new GID[] { GID.TestingSpecialists, GID.Metrologists };
|
||||
sharedButtons.RequiredGroupMembership = procedure.Protected ? new GID[] { GID.Metrologists }
|
||||
: new GID[] { GID.TestingSpecialists, GID.Metrologists };
|
||||
#endif
|
||||
|
||||
sharedButtons.OptionalButtons = SharedButtons.Buttons.Add |
|
||||
SharedButtons.Buttons.Remove |
|
||||
SharedButtons.Buttons.Up |
|
||||
SharedButtons.Buttons.Down |
|
||||
SharedButtons.Buttons.Copy;
|
||||
|
||||
#if TURA_SPECIAL || TURA_IPERL || TURA_IPERL_NEW
|
||||
/// Custom button 'Načítaj testy iPerl z Oracle'
|
||||
sharedButtons.OptionalButtons |= SharedButtons.Buttons.Custom1;
|
||||
@@ -92,15 +104,16 @@ namespace TBF.UI.Procedures
|
||||
sharedButtons.Custom1Clicked += iPerlWizardButton_Click;
|
||||
#endif
|
||||
sharedButtons.Unlocked += Unlocked;
|
||||
sharedButtons.OKClicked += okButton_Click;
|
||||
sharedButtons.CancelClicked += cancelButton_Click;
|
||||
sharedButtons.AddClicked += addButton_Click;
|
||||
sharedButtons.RemoveClicked += removeButton_Click;
|
||||
sharedButtons.UpClicked += upButton_Click;
|
||||
sharedButtons.DownClicked += downButton_Click;
|
||||
sharedButtons.OKClicked += okButton_Click;
|
||||
sharedButtons.CancelClicked += cancelButton_Click;
|
||||
sharedButtons.AddClicked += addButton_Click;
|
||||
sharedButtons.RemoveClicked += removeButton_Click;
|
||||
sharedButtons.UpClicked += upButton_Click;
|
||||
sharedButtons.DownClicked += downButton_Click;
|
||||
sharedButtons.CopyClicked += copyButton_Click;
|
||||
if (initialMode == Mode.PermanentlyLocked) sharedButtons.DisableUnlock();
|
||||
|
||||
/// ListViewEx-es configuration
|
||||
/// ListViewEx-es configuration
|
||||
metrology1ListViewEx.SubItemClicked += new SubItemEventHandler(metrology1ListViewEx_SubItemClicked);
|
||||
metrology1ListViewEx.SubItemRightClicked += new SubItemEventHandler(metrology1ListViewEx_SubItemRightClicked);
|
||||
metrology1ListViewEx.SubItemEndEditing += new SubItemEndEditingEventHandler(metrology1ListViewEx_SubItemEndEditing);
|
||||
@@ -118,25 +131,6 @@ namespace TBF.UI.Procedures
|
||||
parametersListViewEx.SubItemEndEditing += new SubItemEndEditingEventHandler(parametersListViewEx_SubItemEndEditing);
|
||||
|
||||
SelectedTestIx = -1;
|
||||
}
|
||||
|
||||
public ProcedureDlg(Config.Entities.Procedure procedure, IList<string> usedNames, Mode initialMode)
|
||||
: this()
|
||||
{
|
||||
if (procedure == null) throw new ArgumentNullException("procedure");
|
||||
|
||||
LoadedProcedure = procedure;
|
||||
this.usedNames = usedNames;
|
||||
this.initialMode = initialMode;
|
||||
|
||||
#if KEMPNO_50 || KRAKOW_50
|
||||
sharedButtons.RequiredGroupMembership = procedure.Protected ? new GID[] { GID.WaterMeterAuthority }
|
||||
: new GID[] { GID.TestingSpecialists, GID.WaterMeterAuthority };
|
||||
#else
|
||||
sharedButtons.RequiredGroupMembership = procedure.Protected ? new GID[] { GID.Metrologists }
|
||||
: new GID[] { GID.TestingSpecialists, GID.Metrologists };
|
||||
#endif
|
||||
if (initialMode == Mode.PermanentlyLocked) sharedButtons.DisableUnlock();
|
||||
|
||||
using (NHibernate.ISession session = TBF.DB.CreateSession(DBKind.Config))
|
||||
{
|
||||
@@ -2117,7 +2111,7 @@ namespace TBF.UI.Procedures
|
||||
procNameTextBox.Enabled = true;
|
||||
descriptionTextBox.Enabled = true;
|
||||
variantTextBox.Enabled = true;
|
||||
protectedCheckBox.Enabled = GlobalData.CurrentUser.IsMemberOf(GID.Metrologists);
|
||||
protectedCheckBox.Enabled = CurrentUser.IsMemberOf(GID.Metrologists);
|
||||
mustBeCompleteCheckBox.Enabled = true;
|
||||
manualControlDisabledCheckBox.Enabled = true;
|
||||
dataEntryComboBox.Enabled = true;
|
||||
@@ -2857,7 +2851,7 @@ namespace TBF.UI.Procedures
|
||||
/// <param name="procedure">Loaded procedure</param>
|
||||
/// <param name="sensorsPath">Selected sensors path</param>
|
||||
/// <param name="roiData">ROI data</param>
|
||||
void AddProcedureParamsToRoiComponents(Config.Entities.Procedure procedure, string sensorsPathName, TestWizard.RoiData roiData)
|
||||
void AddProcedureParamsToRoiComponents(Procedure procedure, string sensorsPathName, TestWizard.RoiData roiData)
|
||||
{
|
||||
IList<IComponent> cmpntsInSensPath = new List<IComponent>();
|
||||
|
||||
@@ -3087,7 +3081,7 @@ namespace TBF.UI.Procedures
|
||||
|
||||
if (lvi.Tag is Procedure)
|
||||
{
|
||||
(new ProcedureDlg(lvi.Tag as Procedure, new List<string>(), ProcedureDlg.Mode.PermanentlyLocked)).ShowDialog();
|
||||
(new ProcedureDlg(lvi.Tag as Procedure, new List<string>(), ProcedureDlg.Mode.PermanentlyLocked, sharedButtons.ParentForm)).ShowDialog();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2020 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2020-2022 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -304,10 +304,10 @@ namespace TBF.UI.Procedures
|
||||
newProcedure.Revision = 1;
|
||||
newProcedure.PredecessorId = 0;
|
||||
newProcedure.ObtainedByCopy = false;
|
||||
newProcedure.CreationUser = GlobalData.GetCurrentUserName();
|
||||
newProcedure.CreationUser = CurrentUser.UserName();
|
||||
newProcedure.CreationTime = DateTime.Now;
|
||||
|
||||
if (new ProcedureDlg(newProcedure, GetUsedNames(false), ProcedureDlg.Mode.Unlocked).ShowDialog() == DialogResult.OK)
|
||||
if (new ProcedureDlg(newProcedure, GetUsedNames(false), ProcedureDlg.Mode.Unlocked, parent).ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
/// TODO: Make name uniqueness test
|
||||
parent.Unlock();
|
||||
@@ -316,7 +316,7 @@ namespace TBF.UI.Procedures
|
||||
{
|
||||
try
|
||||
{
|
||||
newProcedure.LastChgUser = GlobalData.GetCurrentUserName();
|
||||
newProcedure.LastChgUser = CurrentUser.UserName();
|
||||
newProcedure.LastChgTime = DateTime.Now;
|
||||
|
||||
DoAddOne(newProcedure);
|
||||
@@ -542,7 +542,7 @@ namespace TBF.UI.Procedures
|
||||
IList<string> usedNames = GetUsedNames(false);
|
||||
usedNames.Remove(originalProcedure.Name.ToLower()); /// Allow original procedure name
|
||||
///
|
||||
if (new ProcedureDlg(modifiedProcedure, usedNames, ProcedureDlg.Mode.Locked).ShowDialog() == DialogResult.OK)
|
||||
if (new ProcedureDlg(modifiedProcedure, usedNames, ProcedureDlg.Mode.Locked, parent).ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
parent.Unlock();
|
||||
|
||||
@@ -551,7 +551,7 @@ namespace TBF.UI.Procedures
|
||||
try
|
||||
{
|
||||
originalProcedure.ProcedureState = ProcedureState.History;
|
||||
modifiedProcedure.LastChgUser = GlobalData.GetCurrentUserName();
|
||||
modifiedProcedure.LastChgUser = CurrentUser.UserName();
|
||||
modifiedProcedure.LastChgTime = DateTime.Now;
|
||||
|
||||
session.SaveOrUpdate(originalProcedure);
|
||||
@@ -591,18 +591,18 @@ namespace TBF.UI.Procedures
|
||||
newProcedure.Revision = 1;
|
||||
newProcedure.PredecessorId = selectedProcedure.Id;
|
||||
newProcedure.ObtainedByCopy = true;
|
||||
newProcedure.CreationUser = GlobalData.GetCurrentUserName();
|
||||
newProcedure.CreationUser = CurrentUser.UserName();
|
||||
newProcedure.CreationTime = DateTime.Now;
|
||||
newProcedure.Protected = false;
|
||||
|
||||
if ((new ProcedureDlg(newProcedure, GetUsedNames(false), ProcedureDlg.Mode.Unlocked)).ShowDialog() == DialogResult.OK)
|
||||
if ((new ProcedureDlg(newProcedure, GetUsedNames(false), ProcedureDlg.Mode.Unlocked, parent)).ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
/// TODO: Make name uniqueness test
|
||||
parent.Unlock();
|
||||
|
||||
using (var transaction = session.BeginTransaction())
|
||||
{
|
||||
newProcedure.LastChgUser = GlobalData.GetCurrentUserName();
|
||||
newProcedure.LastChgUser = CurrentUser.UserName();
|
||||
newProcedure.LastChgTime = DateTime.Now;
|
||||
|
||||
DoAddOne(newProcedure);
|
||||
@@ -645,17 +645,17 @@ namespace TBF.UI.Procedures
|
||||
newProcedure.Revision = 1;
|
||||
newProcedure.PredecessorId = 0;
|
||||
newProcedure.ObtainedByCopy = false;
|
||||
newProcedure.CreationUser = GlobalData.GetCurrentUserName();
|
||||
newProcedure.CreationUser = CurrentUser.UserName();
|
||||
newProcedure.CreationTime = DateTime.Now;
|
||||
|
||||
if ((new ProcedureDlg(newProcedure, GetUsedNames(false), ProcedureDlg.Mode.Unlocked)).ShowDialog() == DialogResult.OK)
|
||||
if ((new ProcedureDlg(newProcedure, GetUsedNames(false), ProcedureDlg.Mode.Unlocked, parent)).ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
/// TODO: Make name uniqueness test
|
||||
parent.Unlock();
|
||||
|
||||
using (var transaction = session.BeginTransaction())
|
||||
{
|
||||
newProcedure.LastChgUser = GlobalData.GetCurrentUserName();
|
||||
newProcedure.LastChgUser = CurrentUser.UserName();
|
||||
newProcedure.LastChgTime = DateTime.Now;
|
||||
|
||||
DoAddOne(newProcedure);
|
||||
@@ -726,7 +726,9 @@ namespace TBF.UI.Procedures
|
||||
IList<IParamsProvider> errorFlagsParamsOfCreatedTests = new List<IParamsProvider>();
|
||||
IList<IParamsProvider> waterMeterParamsOfNewProcedure = new List<IParamsProvider>();
|
||||
|
||||
var cmpntEntities = session.QueryOver<Component>().OrderBy(x => x.ItemNr).Asc.List<Component>();
|
||||
var cmpntEntities = session.QueryOver<Component>()
|
||||
.OrderBy(x => x.ItemNr).Asc
|
||||
.List<Component>();
|
||||
IList<Rig.Generic.IComponent> components = Rig.TbfComponents.LoadComponentsFromDB(cmpntEntities);
|
||||
foreach (var cmptn in components)
|
||||
{
|
||||
@@ -860,10 +862,10 @@ namespace TBF.UI.Procedures
|
||||
newProcedure.Revision = 1;
|
||||
newProcedure.PredecessorId = 0;
|
||||
newProcedure.ObtainedByCopy = false;
|
||||
newProcedure.CreationUser = GlobalData.GetCurrentUserName();
|
||||
newProcedure.CreationUser = CurrentUser.UserName();
|
||||
newProcedure.CreationTime = DateTime.Now;
|
||||
|
||||
if (new ProcedureDlg(newProcedure, GetUsedNames(false), ProcedureDlg.Mode.Unlocked).ShowDialog() == DialogResult.OK)
|
||||
if (new ProcedureDlg(newProcedure, GetUsedNames(false), ProcedureDlg.Mode.Unlocked, parent).ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
/// TODO: Make name uniqueness test
|
||||
parent.Unlock();
|
||||
@@ -872,7 +874,7 @@ namespace TBF.UI.Procedures
|
||||
{
|
||||
try
|
||||
{
|
||||
newProcedure.LastChgUser = GlobalData.GetCurrentUserName();
|
||||
newProcedure.LastChgUser = CurrentUser.UserName();
|
||||
newProcedure.LastChgTime = DateTime.Now;
|
||||
|
||||
DoAddOne(newProcedure);
|
||||
|
||||
+3
-2
@@ -32,7 +32,7 @@ namespace TBF.UI.Procedures
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.splitContainer = new System.Windows.Forms.SplitContainer();
|
||||
this.proceduresCtrl = new ProceduresCtrl();
|
||||
this.proceduresCtrl = new TBF.UI.Procedures.ProceduresCtrl();
|
||||
this.sharedButtons = new TBF.UI.Shared.SharedButtons();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
|
||||
this.splitContainer.Panel1.SuspendLayout();
|
||||
@@ -63,7 +63,7 @@ namespace TBF.UI.Procedures
|
||||
this.proceduresCtrl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.proceduresCtrl.Location = new System.Drawing.Point(0, 0);
|
||||
this.proceduresCtrl.Name = "proceduresCtrl";
|
||||
this.proceduresCtrl.Size = new System.Drawing.Size(412, 402);
|
||||
this.proceduresCtrl.Size = new System.Drawing.Size(606, 402);
|
||||
this.proceduresCtrl.TabIndex = 0;
|
||||
//
|
||||
// sharedButtons
|
||||
@@ -82,6 +82,7 @@ namespace TBF.UI.Procedures
|
||||
this.Name = "ProceduresDlg";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "ProceduresDlg";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ProceduresDlg_FormClosing);
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.ProceduresDlg_FormClosed);
|
||||
this.Load += new System.EventHandler(this.ProceduresDlg_Load);
|
||||
this.splitContainer.Panel1.ResumeLayout(false);
|
||||
|
||||
@@ -25,6 +25,7 @@ namespace TBF.UI.Procedures
|
||||
InitializeComponent();
|
||||
|
||||
/// SharedDlgButtons configuration
|
||||
sharedButtons.ParentForm = this;
|
||||
sharedButtons.RequiredGroupMembership = new GID[] { GID.TestingSpecialists, GID.Metrologists };
|
||||
|
||||
#if TEST_PROFILES
|
||||
@@ -252,5 +253,10 @@ namespace TBF.UI.Procedures
|
||||
sharedButtons.DisableButtons(SharedButtons.Buttons.Remove | SharedButtons.Buttons.Up | SharedButtons.Buttons.Down);
|
||||
}
|
||||
}
|
||||
|
||||
private void ProceduresDlg_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (CurrentUser.Restore(this)) Program.MainWnd.UpdateUser();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user