Skip to content

Commit 83209c7

Browse files
Merge pull request #240 from protegeproject/role-definitions-menu-item
Add role definitions menu item
2 parents cb79c55 + 82a38c0 commit 83209c7

File tree

3 files changed

+44
-1
lines changed

3 files changed

+44
-1
lines changed

webprotege-gwt-ui-client/src/main/java/edu/stanford/bmir/protege/web/client/Messages.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1421,4 +1421,8 @@ public interface Messages extends com.google.gwt.i18n.client.Messages {
14211421
@DefaultMessage("Manage hierarchies")
14221422
@Key("settings.managerHierarchies.title")
14231423
String setting_manageHierarchies();
1424+
1425+
@DefaultMessage("Edit roles")
1426+
@Key("settings.editProjectRoles.title")
1427+
String settings_editProjectRoles();
14241428
}

webprotege-gwt-ui-client/src/main/java/edu/stanford/bmir/protege/web/client/project/ProjectMenuPresenter.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import edu.stanford.bmir.protege.web.client.permissions.LoggedInUserProjectCapabilityChecker;
1111
import edu.stanford.bmir.protege.web.client.projectsettings.ProjectSettingsDownloader;
1212
import edu.stanford.bmir.protege.web.client.projectsettings.ProjectSettingsImporter;
13+
import edu.stanford.bmir.protege.web.client.role.EditProjectRolesHandler;
1314
import edu.stanford.bmir.protege.web.client.tag.EditProjectTagsUIActionHandler;
1415
import edu.stanford.bmir.protege.web.shared.HasDispose;
1516

@@ -51,6 +52,7 @@ public class ProjectMenuPresenter implements HasDispose, Presenter {
5152

5253
private final ManageHierarchiesHandler manageHierarchiesHandler;
5354

55+
private final EditProjectRolesHandler editProjectRolesHandler;
5456

5557
private final AbstractUiAction editProjectSettings = new AbstractUiAction(MESSAGES.projectSettings()) {
5658
@Override
@@ -122,6 +124,13 @@ public void execute() {
122124
}
123125
};
124126

127+
private final AbstractUiAction editProjectRoles = new AbstractUiAction(MESSAGES.settings_editProjectRoles()) {
128+
@Override
129+
public void execute() {
130+
editProjectRolesHandler.handleEditProjectRoles();
131+
}
132+
};
133+
125134
@Inject
126135
public ProjectMenuPresenter(LoggedInUserProjectCapabilityChecker capabilityChecker,
127136
ProjectMenuView view,
@@ -134,6 +143,7 @@ public ProjectMenuPresenter(LoggedInUserProjectCapabilityChecker capabilityCheck
134143
EditProjectFormsUiHandler editProjectFormsUiHandler,
135144
ProjectSettingsDownloader projectSettingsDownloader,
136145
ProjectSettingsImporter projectSettingsImporter,
146+
EditProjectRolesHandler editProjectRolesHandler,
137147
ManageHierarchiesHandler manageHierarchiesHandler) {
138148
this.capabilityChecker = capabilityChecker;
139149
this.view = view;
@@ -146,6 +156,7 @@ public ProjectMenuPresenter(LoggedInUserProjectCapabilityChecker capabilityCheck
146156
this.editProjectFormsUiHandler = editProjectFormsUiHandler;
147157
this.projectSettingsDownloader = projectSettingsDownloader;
148158
this.projectSettingsImporter = projectSettingsImporter;
159+
this.editProjectRolesHandler = editProjectRolesHandler;
149160
this.manageHierarchiesHandler = manageHierarchiesHandler;
150161
setupActions();
151162
}
@@ -156,6 +167,7 @@ public void start(@Nonnull AcceptsOneWidget container, @Nonnull EventBus eventBu
156167
uploadAndMergeAdditions.setEnabled(false);
157168
uploadSiblingsOrdering.setEnabled(false);
158169
manageHierarchies.setEnabled(false);
170+
editProjectRoles.setEnabled(false);
159171
displayButton(container);
160172
capabilityChecker.hasCapability(EDIT_PROJECT_SETTINGS, editProjectSettings::setEnabled);
161173
capabilityChecker.hasCapability(UPLOAD_AND_MERGE, uploadAndMerge::setEnabled);
@@ -167,6 +179,7 @@ public void start(@Nonnull AcceptsOneWidget container, @Nonnull EventBus eventBu
167179
capabilityChecker.hasCapability(UPLOAD_AND_MERGE_ADDITIONS, uploadAndMergeAdditions::setEnabled);
168180
capabilityChecker.hasCapability(EDIT_ONTOLOGY, uploadSiblingsOrdering::setEnabled);
169181
capabilityChecker.hasCapability(EDIT_PROJECT_SETTINGS, manageHierarchies::setEnabled);
182+
capabilityChecker.hasCapability(EDIT_PROJECT_SETTINGS, editProjectRoles::setEnabled);
170183
}
171184

172185
public void dispose() {
@@ -183,6 +196,7 @@ private void setupActions() {
183196
view.addMenuAction(editProjectForms);
184197
view.addMenuAction(editProjectPrefixes);
185198
view.addMenuAction(manageHierarchies);
199+
view.addMenuAction(editProjectRoles);
186200
view.addSeparator();
187201
view.addMenuAction(uploadSiblingsOrdering);
188202
view.addSeparator();
@@ -196,5 +210,4 @@ private void setupActions() {
196210

197211
}
198212

199-
200213
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package edu.stanford.bmir.protege.web.client.role;
2+
3+
import com.google.gwt.place.shared.Place;
4+
import com.google.gwt.place.shared.PlaceController;
5+
import edu.stanford.bmir.protege.web.shared.project.ProjectId;
6+
7+
import javax.inject.Inject;
8+
import java.util.Optional;
9+
10+
public class EditProjectRolesHandler {
11+
12+
private final ProjectId projectId;
13+
14+
private final PlaceController placeController;
15+
16+
@Inject
17+
public EditProjectRolesHandler(ProjectId projectId, PlaceController placeController) {
18+
this.projectId = projectId;
19+
this.placeController = placeController;
20+
}
21+
22+
public void handleEditProjectRoles() {
23+
Place nextPlace = placeController.getWhere();
24+
placeController.goTo(ProjectRolesPlace.get(projectId, Optional.ofNullable(nextPlace)));
25+
}
26+
}

0 commit comments

Comments
 (0)