RolesSourceProvider to enable activities by cdm roles and protecting bulkeditors...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / plugin.xml
index 35589febe8b3a7be2d0e0c3117999c59c5ec4c70..3eeaba994bdfd8eec0d2d23cd438303f34010df5 100644 (file)
             id="eu.etaxonomy.taxeditor.preferences.mobotOpenUrl"
             name="Mobot Open Url">
       </page>
+      <page
+            category="eu.etaxonomy.taxeditor.preferences.general"
+            class="eu.etaxonomy.taxeditor.preference.TypeDesignationPreferences"
+            id="eu.etaxonomy.taxeditor.preferences.typeDesignation"
+            name="Type Designations">
+      </page>
+      <page
+            category="eu.etaxonomy.taxeditor.preferences.general"
+            class="eu.etaxonomy.taxeditor.preference.SpecimenOrObservationPreferences"
+            id="eu.etaxonomy.taxeditor.preference.SpecimenOrObservationPreferences"
+            name="Specimens and FieldUnits">
+      </page>
    </extension>
    <extension
          point="org.eclipse.ui.views">
         name="Details"
         restorable="true">
   </view>
+  <view
+        class="eu.etaxonomy.taxeditor.view.userecords.UseRecordsViewPart"
+        icon="icons/leaf_detail.png"
+        id="eu.etaxonomy.taxeditor.view.userecords"
+        name="Use Records"
+        restorable="true">
+  </view>
+  <view
+        class="eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView"
+        icon="icons/derivate_search_view-16x16-32.png"
+        id="eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView"
+        name="Derivate Search"
+        restorable="true">
+  </view>
+   </extension>
+   <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            class="eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor"
+            default="false"
+            id="eu.etaxonomy.taxeditor.editor.definedTerm"
+            name="Defined Term Editor">
+      </editor>
    </extension>
    <extension
          point="org.eclipse.ui.menus">
       <menuContribution
-            locationURI="menu:org.eclipse.ui.main.menu.window?before=taxeditor-application.windowMenu.last">
+            locationURI="menu:org.eclipse.ui.main.menu.window?before=eu.etaxonomy.taxeditor.application.windowMenu.last">
          <menu
                id="eu.etaxonomy.taxeditor.menu.showView"
                label="Show View">
+            <command
+                  commandId="org.eclipse.ui.views.showView"
+                  label="Derivate Search View"
+                  style="push">
+               <parameter
+                     name="org.eclipse.ui.views.showView.viewId"
+                     value="eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView">
+               </parameter>
+            </command>
+            <separator
+                  name="eu.etaxonomy.taxeditor.store.showViewMenu.details"
+                  visible="true">
+            </separator>
             <command
                   commandId="org.eclipse.ui.views.showView"
                   label="Details"
             </command>
          </menu>
       </menuContribution>
+      <menuContribution
+            class="eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermMenuFactory"
+            locationURI="menu:org.eclipse.ui.main.menu.window?before=eu.etaxonomy.taxeditor.application.windowMenu.last">
+      </menuContribution>
       <menuContribution
             locationURI="menu:org.eclipse.ui.main.menu.file?after=eu.etaxonomy.taxeditor.application.filemenu.io">
          <command
                commandId="eu.etaxonomy.taxeditor.store.operations.showLoginWindow"
-               label="Login"
+               label="Switch User"
                style="push">
          </command>
          <separator
          </command>
          <command
                commandId="eu.etaxonomy.taxeditor.store.datasource.update"
-               label="Update"
+               label="Update Datamodel"
                style="push">
             <visibleWhen
                   checkEnabled="true">
             </control>
          </toolbar>
       </menuContribution>
-   </extension>
-   <extension
-         name="Window Menu Commands"
-         point="org.eclipse.ui.commands">
-      <command
-            defaultHandler="eu.etaxonomy.taxeditor.handler.ShowLoginWindowHandler"
-            id="eu.etaxonomy.taxeditor.store.operations.showLoginWindow"
-            name="Show Login Window">
-      </command>
+      <menuContribution
+            locationURI="popup:eu.etaxonomy.taxeditor.editor.definedTerm">
+         <menu
+               label="New">
+            <command
+                  commandId="eu.etaxonomy.taxeditor.editor.definedTerms.newTermVocabulary"
+                  label="Vocabulary"
+                  style="push">
+            </command>
+            <command
+                  commandId="eu.etaxonomy.taxeditor.editor.definedTerms.newDefinedTerm"
+                  label="Defined Term"
+                  style="push">
+               <visibleWhen
+                     checkEnabled="true">
+                  <reference
+                        definitionId="isModifiable">
+                  </reference>
+               </visibleWhen>
+            </command>
+         </menu>
+         <command
+               commandId="org.eclipse.ui.edit.delete"
+               label="Delete"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+               <reference
+                     definitionId="isModifiable">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
    </extension>
    <extension
          point="org.eclipse.ui.handlers">
             </with>
          </activeWhen>
       </handler>
+      <handler
+            class="eu.etaxonomy.taxeditor.editor.definedterm.handler.DeleteTermBaseHandler"
+            commandId="org.eclipse.ui.edit.delete">
+         <activeWhen>
+            <with
+                  variable="activePartId">
+               <equals
+                     value="eu.etaxonomy.taxeditor.editor.definedTerm">
+               </equals>
+            </with>
+         </activeWhen>
+      </handler>
    </extension>
    <extension
          name="Popup Menu Commands"
             id="eu.etaxonomy.taxeditor.store.datasource.update"
             name="Update Datasource">
       </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.handler.ShowLoginWindowHandler"
+            id="eu.etaxonomy.taxeditor.store.operations.showLoginWindow"
+            name="Show Login Window">
+      </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.definedterm.handler.OpenDefinedTermEditorHandler"
+            id="eu.etaxonomy.taxeditor.store.openDefinedTermEditor"
+            name="Open Defined Term Editor">
+         <commandParameter
+               id="eu.etaxonomy.taxeditor.store.openDefinedTermEditor.parameter"
+               name="inputType"
+               optional="true">
+         </commandParameter>
+         <commandParameter
+               id="eu.etaxonomy.taxeditor.store.openDefinedTermEditor.termTypeUuid"
+               name="inputType"
+               optional="true">
+         </commandParameter>
+      </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.definedterm.handler.CreateDefinedTermHandler"
+            id="eu.etaxonomy.taxeditor.editor.definedTerms.newDefinedTerm"
+            name="New Defined Term">
+      </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.definedterm.handler.CreateTermVocabularyHandler"
+            id="eu.etaxonomy.taxeditor.editor.definedTerms.newTermVocabulary"
+            name="New Term Vocabulary">
+      </command>
    </extension>
    <extension
          point="org.eclipse.ui.importWizards">
             id="eu.etaxonomy.taxeditor.io.import.tcs"
             name="TCS">
       </wizard>
-      <wizard
+<!--      <wizard
             category="eu.etaxonomy.taxeditor.import.category.cdm"
             class="eu.etaxonomy.taxeditor.io.wizard.JaxbImportWizard"
             id="eu.etaxonomy.taxeditor.io.import.jaxb"
             name="JAXB">
-      </wizard>
+      </wizard> -->
       <wizard
             category="eu.etaxonomy.taxeditor.import.category.cdm"
             class="eu.etaxonomy.taxeditor.io.wizard.BerlinModelImportWizard"
             id="eu.etaxonomy.taxeditor.io.import.sdd"
             name="SDD">
       </wizard>
+      <wizard
+            category="eu.etaxonomy.taxeditor.import.category.cdm"
+            class="eu.etaxonomy.taxeditor.io.wizard.SpecimenCdmExcelImportWizard"
+            id="eu.etaxonomy.taxeditor.io.import.specimenCdmExcel"
+            name="Specimen CDM Excel">
+      </wizard>
    </extension>
    <extension
          point="org.eclipse.ui.exportWizards">
             id="eu.etaxonomy.taxeditor.io.export.sdd"
             name="SDD">
       </wizard>
+      <wizard
+            category="eu.etaxonomy.taxeditor.export.category.cdm"
+            class="eu.etaxonomy.taxeditor.io.wizard.DarwinCoreArchiveExportWizard"
+            id="eu.etaxonomy.taxeditor.io.export.dwca"
+            name="DwC-A">
+      </wizard>
    </extension>
    <extension
          point="org.eclipse.ui.newWizards">
             label="Disabled Name Editor Field"
             value="105,114,124">
       </colorDefinition>
+      <colorDefinition
+            categoryId="eu.etaxonomy.taxeditor.preferences.themeElementCategory"
+            id="eu.etaxonomy.taxeditor.preferences.colorDefinition.editorError"
+            label="Editor On Error"
+            value="255,0,0">
+      </colorDefinition>
       </extension>
 <extension
       point="org.eclipse.core.expressions.propertyTesters">
          properties="isShowExperimentalFeatures"
          type="org.eclipse.jface.viewers.IStructuredSelection">
    </propertyTester>
+   <propertyTester
+         class="eu.etaxonomy.taxeditor.editor.definedterm.TermBasePropertyTester"
+         id="eu.etaxonomy.taxeditor.store.termEditor.propertyTester"
+         namespace="eu.etaxonomy.taxeditor.store.termEditor.propertyTester"
+         properties="isModifiable"
+         type="org.eclipse.jface.viewers.IStructuredSelection">
+   </propertyTester>
+   <propertyTester
+        class="eu.etaxonomy.taxeditor.security.PermissionPropertyTester"
+        id="eu.etaxonomy.taxeditor.security.permissionTester"
+        namespace="eu.etaxonomy.taxeditor.security.permissionTester"
+        properties="hasPermissions, hasRoles"
+        type="org.eclipse.jface.viewers.IStructuredSelection">
+   </propertyTester>
 </extension>
 <extension
       point="org.eclipse.core.expressions.definitions">
    <definition
          id="isCompatible">
       <with
-            variable="activeMenuSelection">
+            variable="selection">
          <test
                property="eu.etaxonomy.taxeditor.datasource.propertyTester.isCompatible">
          </test>
    <definition
          id="isShowExperimentalFeatures">
       <with
-            variable="activeMenuSelection">
+            variable="selection">
          <test
                property="eu.etaxonomy.taxeditor.preferences.propertyTester.isShowExperimentalFeatures">
          </test>
       </with>
    </definition>
+   <definition
+         id="isModifiable">
+      <with
+            variable="selection">
+         <test
+               property="eu.etaxonomy.taxeditor.store.termEditor.propertyTester.isModifiable">
+         </test>
+      </with>
+   </definition>
+   <definition
+            id="canUPDATE">
+               <with
+                       variable="selection">
+                <test
+                      args="UPDATE"
+                      property="eu.etaxonomy.taxeditor.security.permissionTester.hasPermissions">
+                </test>
+         </with>
+      </definition>
+      <definition
+            id="canDELETE">
+         <with
+               variable="selection">
+            <test
+                  args="DELETE"
+                  property="eu.etaxonomy.taxeditor.security.permissionTester.hasPermissions">
+            </test>
+         </with>
+    </definition>
+      <definition
+            id="canCREATE">
+         <with
+               variable="selection">
+            <test
+                  args="CREATE"
+                  property="eu.etaxonomy.taxeditor.security.permissionTester.hasPermissions">
+            </test>
+         </with>
+      </definition>
+      <definition
+            id="hasROLE_USER_MANAGER">
+            <with
+               variable="eu.etaxonomy.taxeditor.security.userRoles">
+            <iterate
+                  ifEmpty="false"
+                  operator="or">
+               <or>
+                  <equals
+                        value="ROLE_ADMIN">
+                  </equals>
+                  <equals
+                        value="ROLE_USER_MANAGER">
+                  </equals>
+               </or>
+            </iterate>
+         </with>
+      </definition>
+      <definition
+            id="hasROLE_PROJECT_MANAGER">
+         <with
+               variable="eu.etaxonomy.taxeditor.security.userRoles">
+            <iterate
+                  ifEmpty="false"
+                  operator="or">
+               <or>
+                  <equals
+                        value="ROLE_ADMIN">
+                  </equals>
+                  <equals
+                        value="ROLE_PROJECT_MANAGER">
+                  </equals>
+               </or>
+            </iterate>
+         </with>
+      </definition>
+</extension>
+<extension
+      point="org.eclipse.ui.activities">
+   <activity
+         description="DELETE permission dependent ui contributions"
+         id="eu.etaxonomy.taxeditor.store.activityDelete"
+         name="Delete">
+      <enabledWhen>
+         <reference
+               definitionId="canDELETE">
+         </reference>
+      </enabledWhen>
+   </activity>
+   <activityPatternBinding
+         activityId="eu.etaxonomy.taxeditor.store.activityDelete"
+         pattern="eu\.etaxonomy\.taxeditor\..*/.*.delete">
+   </activityPatternBinding>
+   <activity
+         description="UPDATE permission dependent ui contributions"
+         id="eu.etaxonomy.taxeditor.store.activityUpdate"
+         name="Update">
+      <enabledWhen>
+         <reference
+               definitionId="canUPDATE">
+         </reference>
+      </enabledWhen>
+   </activity>
+   <activityPatternBinding
+         activityId="eu.etaxonomy.taxeditor.store.activityUpdate"
+         pattern="eu\.etaxonomy\.taxeditor\..*/.*.command\.update\..*">
+   </activityPatternBinding>
+   <activity
+         description="CREATE permission dependent ui contributions"
+         id="eu.etaxonomy.taxeditor.store.activityCreate"
+         name="Delete">
+      <enabledWhen>
+         <reference
+               definitionId="canDELETE">
+         </reference>
+      </enabledWhen>
+   </activity>
+   <activityPatternBinding
+         activityId="eu.etaxonomy.taxeditor.store.activityCreate"
+         pattern="eu\.etaxonomy\.taxeditor\..*/.*.command\.create\..*">
+   </activityPatternBinding>
+   <activity
+         description="ROLE_USER_MANAGER dependent ui contributions"
+         id="eu.etaxonomy.taxeditor.store.activityUserManagement"
+         name="UserManagement">
+      <enabledWhen>
+         <reference
+               definitionId="hasROLE_USER_MANAGER">
+         </reference>
+      </enabledWhen>
+   </activity>
+   <activityPatternBinding
+         activityId="eu.etaxonomy.taxeditor.store.activityUserManagement"
+         pattern="eu\.etaxonomy\.taxeditor\..*/.*.UserManagement">
+   </activityPatternBinding>
+   <activityPatternBinding
+         activityId="eu.etaxonomy.taxeditor.store.activityUserManagement"
+         pattern="eu\.etaxonomy\.taxeditor\..*/bulkeditor\.input\.group">
+   </activityPatternBinding>
+   <activity
+         description="ROLE_PROJECT_MANAGER dependent ui contributions"
+         id="eu.etaxonomy.taxeditor.store.activityProjectManagement"
+         name="ProjectManagement">
+      <enabledWhen>
+         <reference
+               definitionId="hasROLE_PROJECT_MANAGER">
+         </reference>
+      </enabledWhen>
+   </activity>
+   <activityPatternBinding
+         activityId="eu.etaxonomy.taxeditor.store.activityProjectManagement"
+         pattern="eu\.etaxonomy\.taxeditor\..*/eu\.etaxonomy\.taxeditor\..*\.definedTerm.*">
+   </activityPatternBinding>
+   <activityPatternBinding
+         activityId="eu.etaxonomy.taxeditor.store.activityProjectManagement"
+         pattern="eu.etaxonomy.taxeditor.bulkeditor/bulkeditor.menus.openmenu"
+         isEqualityPattern="true">
+   </activityPatternBinding>
+</extension>
+<extension
+      point="org.eclipse.ui.services">
+   <sourceProvider
+         provider="eu.etaxonomy.taxeditor.security.RolesSourceProvider">
+      <variable
+            name="eu.etaxonomy.taxeditor.security.userRoles"
+            priorityLevel="workbench">
+      </variable>
+   </sourceProvider>
 </extension>
        
 </plugin>