рефактиринг интерфейса при отображении полномочий роли пользователя. ввод настройки отменяющей приглашение регистрации при запуске приложения.

This commit is contained in:
2025-02-28 17:46:57 +03:00
parent c551fdd2c9
commit 61d8670416
11 changed files with 90 additions and 62 deletions

View File

@@ -1,7 +1,7 @@
package _VisualDVM.Visual.Interface;
import Common.Visual.VisualizerForm;
public interface CallbackWindow extends VisualizerForm {
void ShowAccount();
void ShowAccountInfo(); //отображение в шапке окна обратной связи имени и прав. возможно убрать если нет регистрации вовсе.
void ShowBugReports();
void ShowNoBugReports();
void ShowCurrentBugReport();
@@ -9,7 +9,7 @@ public interface CallbackWindow extends VisualizerForm {
void ShowSubscription();
//-
default void ShowAll() {
ShowAccount();
ShowAccountInfo();
ShowSubscription();
ShowBugReports();
}
@@ -21,7 +21,8 @@ public interface CallbackWindow extends VisualizerForm {
void ClearBugReportCommentAdditionText();
void FocusRecipients();
void SwitchScreen(boolean small);
void setUndefinedRights();
void setUserRights();
void setAdminRights();
void showNoBugReports();
void showMyOnlyBugReports();
void showAllBugreports();
void showAllBugReportsAdmin();
}

View File

@@ -100,6 +100,51 @@ public class MainUI extends UIModule_ {
return profilesWindow;
}
//---
void showUndefinedRights(){
Global.mainModule.SetUserPassesAccess();
getMainWindow().SwitchTestingTabs(false);
getMainWindow().SwitchAdministrationTab(false);
getTestingMenuBar().showServerAdminLabel(false);
getMainWindow().getCallbackWindow().showNoBugReports();
};
void showUserRights(){
Global.mainModule.SetUserPassesAccess();
getMainWindow().SwitchTestingTabs(false);
getMainWindow().SwitchAdministrationTab(false);
getTestingMenuBar().showServerAdminLabel(false);
getMainWindow().getCallbackWindow().showMyOnlyBugReports();
};
void showDeveloperRights(){
Global.mainModule.SetDeveloperPassesAccess();
getMainWindow().SwitchTestingTabs(true);
getMainWindow().SwitchAdministrationTab(false);
getTestingMenuBar().showServerAdminLabel(false);
getMainWindow().getCallbackWindow().showAllBugreports();
}
void showAdminRights(){
Global.mainModule.SetAdminPassesAccess();
getMainWindow().SwitchTestingTabs(true);
getMainWindow().SwitchAdministrationTab(true);
getTestingMenuBar().showServerAdminLabel(true);
getMainWindow().getCallbackWindow().showAllBugReportsAdmin(); //метод избыточный. возможно.
};
public void ShowAccount(){
getMainWindow().getCallbackWindow().ShowAccountInfo();
switch (Global.mainModule.getAccount().role) {
case Undefined:
showUndefinedRights();
break;
case User:
showUserRights();
break;
case Developer:
showDeveloperRights();
break;
case Admin:
showAdminRights();
break;
default:
break;
}
}
}

View File

@@ -5,6 +5,7 @@ public class SynchronizationSettingsMenu extends PropertiesSubmenu {
public SynchronizationSettingsMenu() {
super("Синхронизация", null,
Global.normalProperties,
"OfferRegistrationOnStart",
"AutoBugReportsLoad",
"AutoTestsLoad");
}

View File

@@ -363,67 +363,34 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
accountPanel.add(SC10);
}
@Override
public void setUndefinedRights(){
Global.mainModule.SetUserPassesAccess();
public void showNoBugReports(){
UI.Clear(accountPanel);
accountPanel.add(new CallbackWelcomeForm().content);
Global.mainModule.getUI().getMainWindow().SwitchTestingTabs(false);
Global.mainModule.getUI().getMainWindow().SwitchAdministrationTab(false);
Global.mainModule.getUI().getTestingMenuBar().showServerAdminLabel(false);
adminLabel.setVisible(false);
}
@Override
public void setUserRights() {
public void showMyOnlyBugReports() {
EnableBugreports();
LockMyOnly();
Global.mainModule.SetUserPassesAccess();
Global.mainModule.getUI().getMainWindow().SwitchTestingTabs(false);
Global.mainModule.getUI().getMainWindow().SwitchAdministrationTab(false);
Global.mainModule.getUI().getTestingMenuBar().showServerAdminLabel(false);
adminLabel.setVisible(false);
}
private void setDeveloperRights() {
//возможно перезапуск серверов перетащить во вкладку администрирование? вместе с бекапами. надо подумать.
@Override
public void showAllBugreports() {
EnableBugreports();
UnlockMyOnly();
Global.mainModule.SetDeveloperPassesAccess();
Global.mainModule.getUI().getMainWindow().SwitchTestingTabs(true);
Global.mainModule.getUI().getMainWindow().SwitchAdministrationTab(false);
Global.mainModule.getUI().getTestingMenuBar().showServerAdminLabel(false);
adminLabel.setVisible(false);
}
@Override
public void setAdminRights() {
public void showAllBugReportsAdmin() {
EnableBugreports();
UnlockMyOnly();
Global.mainModule.SetAdminPassesAccess();
//--
Global.mainModule.getUI().getMainWindow().SwitchTestingTabs(true);
Global.mainModule.getUI().getMainWindow().SwitchAdministrationTab(true);
Global.mainModule.getUI().getTestingMenuBar().showServerAdminLabel(true);
adminLabel.setVisible(true);
}
@Override
public void ShowAccount() {
public void ShowAccountInfo() {
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()));
switch (Global.mainModule.getAccount().role) {
case Undefined:
setUndefinedRights();
break;
case User:
//видит только свои баги.
setUserRights();
break;
case Developer:
setDeveloperRights();
break;
case Admin:
setAdminRights();
break;
default:
break;
}
}
@Override
public void ShowBugReports() {

View File

@@ -238,6 +238,7 @@ public class MainForm extends Form implements MainWindow {
public void Show() {
//приходится идти на это только ПОСЛЕ создания главного окна.
// иначе ссылка на главное окно в методах пустая.
Global.mainModule.getUI().ShowAccount();
getCallbackWindow().ShowAll();
getTestsWindow().ShowAll();
getCredentialsWindow().ShowAll();