исправление безопасности. промежуточный.
This commit is contained in:
@@ -20,7 +20,12 @@ public class Pass<T> {
|
||||
public PassState state = PassState.Inactive; //текущее состояние прохода.
|
||||
public Semaphore animation_sem;
|
||||
//--------------
|
||||
public boolean ui_visible = true;
|
||||
public Vector<PassControl> controls = new Vector<>();
|
||||
public void addControl(PassControl control_in){
|
||||
control_in.setVisible(ui_visible);
|
||||
controls.add(control_in);
|
||||
}
|
||||
public TextLog Log; //внутренний журнал прохода.
|
||||
protected boolean interrupt;
|
||||
protected SwingWorker dispatcher = null;
|
||||
@@ -74,8 +79,9 @@ public class Pass<T> {
|
||||
control.setEnabled(flag);
|
||||
}
|
||||
public void setControlsVisible(boolean flag) {
|
||||
ui_visible =flag;
|
||||
for (PassControl control : controls)
|
||||
control.setVisible(flag);
|
||||
control.setVisible(ui_visible);
|
||||
}
|
||||
public void setControlsToolTipText(String text) {
|
||||
for (PassControl control : controls)
|
||||
|
||||
@@ -16,7 +16,7 @@ public class PassButton extends MenuBarButton implements PassControl {
|
||||
setIcon(pass.getIconPath());
|
||||
}
|
||||
addActionListener(pass.getControlAction());
|
||||
pass.controls.add(this);
|
||||
pass.addControl(this);
|
||||
}
|
||||
public PassButton(Pass pass) {
|
||||
this(pass, false);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
package Common.Visual.Controls;
|
||||
import Common.Passes.Pass;
|
||||
public interface PassControl {
|
||||
void setIcon(String icon_path);
|
||||
void setEnabled(boolean flag);
|
||||
|
||||
@@ -8,7 +8,7 @@ public class PassMenuItem extends VisualiserMenuItem implements PassControl {
|
||||
setToolTipText(pass.getDescription());
|
||||
if (pass.getIconPath() != null) setIcon(pass.getIconPath());
|
||||
addActionListener(pass.getControlAction());
|
||||
pass.controls.add(this);
|
||||
pass.addControl(this);
|
||||
}
|
||||
@Override
|
||||
public void setIcon(String icon_path) {
|
||||
|
||||
@@ -7,7 +7,7 @@ public class StablePassMenuItem extends StableMenuItem implements PassControl {
|
||||
setToolTipText(pass.getDescription());
|
||||
if (pass.getIconPath() != null) setIcon(pass.getIconPath());
|
||||
addActionListener(pass.getControlAction());
|
||||
pass.controls.add(this);
|
||||
pass.addControl(this);
|
||||
}
|
||||
@Override
|
||||
public void setIcon(String icon_path) {
|
||||
|
||||
@@ -34,7 +34,8 @@ public class MainModule extends MainModule_<GlobalDatabase, MainUI> {
|
||||
//
|
||||
PassCode.ShutdownTestingServer,
|
||||
PassCode.StartTestingServer,
|
||||
PassCode.PublishTestingServer
|
||||
PassCode.PublishTestingServer,
|
||||
PassCode.CreateTestsGroupFromSelectedVersions
|
||||
);
|
||||
public MainModule() throws Exception {
|
||||
super(GlobalDatabase.class, MainUI.class);
|
||||
@@ -147,6 +148,7 @@ public class MainModule extends MainModule_<GlobalDatabase, MainUI> {
|
||||
}
|
||||
public void SetDeveloperPassesAccess() {
|
||||
SetUserPassesAccess();
|
||||
getPass(PassCode.CreateTestsGroupFromSelectedVersions).setControlsVisible(true);
|
||||
getPass(PassCode.DownloadAllBugReportsArchives).setControlsVisible(true);
|
||||
}
|
||||
public void SetAdminPassesAccess() {
|
||||
|
||||
@@ -24,6 +24,7 @@ public interface CallbackWindow extends VisualizerForm {
|
||||
void ClearBugReportCommentAdditionText();
|
||||
void FocusRecipients();
|
||||
void SwitchScreen(boolean small);
|
||||
void setUdefinedRights();
|
||||
void setUserRights();
|
||||
void setAdminRights();
|
||||
}
|
||||
|
||||
@@ -366,6 +366,15 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
|
||||
Global.mainModule.getUI().getMainWindow().SwitchTestingTabs(true);
|
||||
}
|
||||
@Override
|
||||
public void setUdefinedRights(){
|
||||
Global.mainModule.SetUserPassesAccess();
|
||||
UI.Clear(accountPanel);
|
||||
accountPanel.add(new CallbackWelcomeForm().content);
|
||||
Global.mainModule.getUI().getMainWindow().SwitchTestingTabs(false);
|
||||
Global.mainModule.getUI().getTestingMenuBar().showServerAdminLabel(false);
|
||||
adminLabel.setVisible(false);
|
||||
}
|
||||
@Override
|
||||
public void setUserRights() {
|
||||
LockMyOnly();
|
||||
Global.mainModule.SetUserPassesAccess();
|
||||
@@ -391,17 +400,16 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
|
||||
lAccountName.setText(Utils_.Brackets(Global.mainModule.getAccount().name));
|
||||
lAccountMail.setText(Utils_.Brackets(Global.mainModule.getAccount().email));
|
||||
lAccountRole.setText(Utils_.Brackets(Global.mainModule.getAccount().role.getDescription()));
|
||||
System.out.println("ROLE IS "+Global.mainModule.getAccount().role);
|
||||
switch (Global.mainModule.getAccount().role) {
|
||||
case Undefined:
|
||||
/// UI.Clear(accountPanel);
|
||||
// accountPanel.add(new CallbackWelcomeForm().content);
|
||||
// UI.getMainWindow().SwitchTestingTabs(false);
|
||||
// break;
|
||||
setUdefinedRights();
|
||||
break;
|
||||
case User:
|
||||
//видит только свои баги.
|
||||
// EnableBugreports();
|
||||
// setUserRights();
|
||||
// break;
|
||||
EnableBugreports();
|
||||
setUserRights();
|
||||
break;
|
||||
case Developer:
|
||||
EnableBugreports();
|
||||
setDeveloperRights();
|
||||
|
||||
@@ -218,7 +218,6 @@ public class MainForm extends Form implements MainWindow {
|
||||
public void SwitchTestingTabs(boolean flag) {
|
||||
globalTabs.setEnabledAt(3, flag);
|
||||
globalTabs.setEnabledAt(4, flag);
|
||||
// globalTabs.setEnabledAt(4, flag);
|
||||
}
|
||||
@Override
|
||||
public TestingWindow getTestingWindow() {
|
||||
|
||||
Reference in New Issue
Block a user