Skip to content

Commit

Permalink
Add an conditional "login" action to SAR context menu
Browse files Browse the repository at this point in the history
  • Loading branch information
shroffk committed Sep 9, 2024
1 parent 3ed77bb commit b8b6629
Show file tree
Hide file tree
Showing 9 changed files with 28 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ public class Messages {
public static String inverseSelection;
public static String liveReadbackVsSetpoint;
public static String liveSetpoint;
public static String login;
public static String loggingFailedTitle;
public static String loggingFailed;
public static String loggingFailedCauseUnknown;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import javafx.scene.image.ImageView;
import org.phoebus.applications.saveandrestore.Messages;
import org.phoebus.applications.saveandrestore.model.Node;
import org.phoebus.framework.workbench.ApplicationService;
import org.phoebus.ui.javafx.ImageCache;

/**
Expand All @@ -38,6 +39,9 @@ public abstract class ContextMenuBase extends ContextMenu {
protected MenuItem deleteNodesMenuItem;
protected MenuItem copyUniqueIdToClipboardMenuItem;

protected MenuItem loginMenuItem;
private static final String loginAppName = "credentials_management";

protected SimpleBooleanProperty multipleNodesSelectedProperty = new SimpleBooleanProperty();

protected SaveAndRestoreController saveAndRestoreController;
Expand Down Expand Up @@ -84,6 +88,12 @@ public ContextMenuBase(SaveAndRestoreController saveAndRestoreController) {
copyUniqueIdToClipboardMenuItem.setOnAction(ae -> saveAndRestoreController.copyUniqueNodeIdToClipboard());
copyUniqueIdToClipboardMenuItem.disableProperty().bind(multipleNodesSelectedProperty);

loginMenuItem = new MenuItem(Messages.login, ImageCache.getImageView(ImageCache.class, "/icons/credentials.png"));
loginMenuItem.setOnAction(ae -> {
ApplicationService.createInstance(loginAppName);
});
loginMenuItem.visibleProperty().bind(userIsAuthenticatedProperty.not());

// Controller may be null, e.g. when adding PVs from channel table
if(saveAndRestoreController != null){
setOnShowing(event -> runChecks());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,9 @@ public ContextMenuCompositeSnapshot(SaveAndRestoreController saveAndRestoreContr
userIsAuthenticatedProperty.not().get() || mayCopyProperty.not().get(),
userIsAuthenticatedProperty, mayCopyProperty));

getItems().addAll(editCompositeSnapshotMenuItem,
getItems().addAll(
loginMenuItem,
editCompositeSnapshotMenuItem,
copyMenuItem,
deleteNodesMenuItem,
copyUniqueIdToClipboardMenuItem,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,9 @@ public ContextMenuConfiguration(SaveAndRestoreController saveAndRestoreControlle
pasteMenuItem.setOnAction(ae -> saveAndRestoreController.pasteFromClipboard());
pasteMenuItem.disableProperty().bind(mayPasteProperty.not());

getItems().addAll(openConfigurationMenuItem,
getItems().addAll(
loginMenuItem,
openConfigurationMenuItem,
copyMenuItem,
pasteMenuItem,
deleteNodesMenuItem,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,9 @@ public ContextMenuFolder(SaveAndRestoreController saveAndRestoreController) {
mayPasteProperty.not().get() || userIsAuthenticatedProperty.not().get(),
mayPasteProperty, userIsAuthenticatedProperty));

getItems().addAll(newFolderMenuItem,
getItems().addAll(
loginMenuItem,
newFolderMenuItem,
renameNodeMenuItem,
pasteMenuItem,
deleteNodesMenuItem,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ public ContextMenuRootFolder(SaveAndRestoreController saveAndRestoreController)
multipleNodesSelectedProperty, userIsAuthenticatedProperty));
newFolderMenuItem.setOnAction(ae -> saveAndRestoreController.createNewFolder());

getItems().addAll(newFolderMenuItem);
getItems().addAll(
loginMenuItem,
newFolderMenuItem);

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,9 @@ public ContextMenuSnapshot(SaveAndRestoreController saveAndRestoreController) {
copyMenuItem.setOnAction(action -> saveAndRestoreController.copySelectionToClipboard());
copyMenuItem.disableProperty().bind(mayCopyProperty.not());

getItems().addAll(deleteNodesMenuItem,
getItems().addAll(
loginMenuItem,
deleteNodesMenuItem,
compareSnapshotsMenuItem,
tagGoldenMenuItem,
tagWithComment,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ labelThreshold=\u0394 Threshold (%)
lastModifiedDate=Last Modified
liveReadbackVsSetpoint=Live Readback\n(? Live Setpoint)
liveSetpoint=Live Setpoint
login=Login
loggingFailedTitle=Logging failed
loggingFailed=Unable to create log entry
loggingFailedCauseUnknown=Cause unknown, please check application logs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ labelThreshold=\u0394 Seuil (%)
lastModifiedDate=Dernière modification
liveReadbackVsSetpoint=Retour en direct\n(? Consigne en direct)
liveSetpoint=Consigne en direct
login=Se connecter
loggingFailedTitle=Échec de la journalisation
loggingFailed=Impossible de créer une entrée de journal
loggingFailedCauseUnknown=Cause inconnue, veuillez vérifier les journaux de l'application
Expand Down

0 comments on commit b8b6629

Please sign in to comment.