1010import edu .stanford .bmir .protege .web .client .permissions .LoggedInUserProjectCapabilityChecker ;
1111import edu .stanford .bmir .protege .web .client .projectsettings .ProjectSettingsDownloader ;
1212import edu .stanford .bmir .protege .web .client .projectsettings .ProjectSettingsImporter ;
13+ import edu .stanford .bmir .protege .web .client .role .EditProjectRolesHandler ;
1314import edu .stanford .bmir .protege .web .client .tag .EditProjectTagsUIActionHandler ;
1415import 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}
0 commit comments