Class CmsChacc


  • public class CmsChacc
    extends org.opencms.workplace.CmsDialog
    Provides methods for building the permission settings dialog.

    The following files use this class:

    • /commons/chacc.jsp

    Since:
    6.0.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ACTION_ADDACE
      Value for the action: add an access control entry.
      static int ACTION_DELETE
      Value for the action: delete the permissions.
      static int ACTION_INTERNALUSE
      Value for the action: set the internal use flag.
      static java.lang.String DIALOG_ADDACE
      Request parameter value for the action: add an access control entry.
      static java.lang.String DIALOG_DELETE
      Request parameter value for the action: delete the permissions.
      static java.lang.String DIALOG_INTERNALUSE
      Request parameter value for the action: set the internal use flag.
      static java.lang.String DIALOG_TYPE
      The dialog type.
      static java.lang.String PARAM_INHERIT
      Request parameter name for the inherit permissions parameter.
      static java.lang.String PARAM_INTERNAL
      Request parameter name for the internal use only flag.
      static java.lang.String PARAM_NAME
      Request parameter name for the name parameter.
      static java.lang.String PARAM_OVERWRITEINHERITED
      Request parameter name for the overwrite inherited permissions parameter.
      static java.lang.String PARAM_RESPONSIBLE
      Request parameter name for the responsible parameter.
      static java.lang.String PARAM_TYPE
      Request parameter name for the type parameter.
      static java.lang.String PARAM_VIEW
      Request parameter name for the view parameter.
      static java.lang.String PERMISSION_ALLOW
      Constant for the request parameters suffix: allow.
      static java.lang.String PERMISSION_DENY
      Constant for the request parameters suffix: deny.
      • Fields inherited from class org.opencms.workplace.CmsDialog

        ACTION_CANCEL, ACTION_CLOSEPOPUP, ACTION_CLOSEPOPUP_SAVE, ACTION_CONFIRMED, ACTION_CONTINUE, ACTION_DEFAULT, ACTION_LOCKS_CONFIRMED, ACTION_OK, ACTION_REPORT_BEGIN, ACTION_REPORT_END, ACTION_REPORT_UPDATE, ACTION_SET, ACTION_WAIT, ATTRIBUTE_THROWABLE, BUTTON_ADVANCED, BUTTON_BACK, BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_CONTINUE, BUTTON_DETAILS, BUTTON_DISCARD, BUTTON_EDIT, BUTTON_OK, BUTTON_OK_NO_SUBMIT, BUTTON_SET, DIALOG_BACK, DIALOG_CANCEL, DIALOG_CONFIRMED, DIALOG_CONTINUE, DIALOG_INITIAL, DIALOG_LOCKS_CONFIRMED, DIALOG_OK, DIALOG_SET, DIALOG_WAIT, PARAM_ACTION, PARAM_ACTION_VALUE_FOR_CHANGED_INDEX, PARAM_CLOSELINK, PARAM_DIALOGTYPE, PARAM_ERRORSTACK, PARAM_FILE, PARAM_FRAMENAME, PARAM_ISPOPUP, PARAM_LOCK, PARAM_MESSAGE, PARAM_ORIGINALPARAMS, PARAM_PREACTIONDONE, PARAM_REDIRECT, PARAM_RESOURCE, PARAM_TARGET, PARAM_THREAD, PARAM_THREAD_HASNEXT, PARAM_TITLE, REPORT_BEGIN, REPORT_END, REPORT_UPDATE
      • Fields inherited from class org.opencms.workplace.tools.CmsToolDialog

        PARAM_ADMIN_PROJECT, PARAM_BASE, PARAM_FORCE, PARAM_PATH, PARAM_ROOT, PARAM_STYLE, STYLE_NEW
      • Fields inherited from class org.opencms.workplace.CmsWorkplace

        DEBUG, DEFAULT_DATE_STRING, DEFAULT_LANGUAGE, DEFAULT_LOCALE, DIALOG_PATH_COMMON, FILE_DIALOG_CLOSE, FILE_DIALOG_SCREEN_CONFIRM, FILE_DIALOG_SCREEN_ERROR, FILE_DIALOG_SCREEN_ERRORPAGE, FILE_DIALOG_SCREEN_WAIT, FILE_EXPLORER_FILELIST, FILE_REPORT_OUTPUT, HTML_END, HTML_START, INPUT_DEFAULT, INPUT_NONE, JSP_WORKPLACE_URI, PARAM_DIRECTPUBLISH, PARAM_MODELFILE, PARAM_NEWRESOURCETYPE, PARAM_PUBLISHSIBLINGS, PARAM_RELATEDRESOURCES, PARAM_RESOURCELIST, PARAM_SUBRESOURCES, PARAM_WP_EXPLORER_RESOURCE, PARAM_WP_PROJECT, PARAM_WP_SITE, PARAM_WP_START, PARAM_WP_VIEW, PATH_DIALOGS, PATH_WORKPLACE, REQUEST_ATTRIBUTE_MULTIPART, REQUEST_ATTRIBUTE_RELOADTREE, RES_PATH_FILETYPES, RFS_PATH_RESOURCES, SESSION_WORKPLACE_CLASS, VFS_DIR_DEFAULTBODIES, VFS_DIR_TEMPLATES, VFS_PATH_COMMONS, VFS_PATH_EDITORS, VFS_PATH_GALLERIES, VFS_PATH_LOCALES, VFS_PATH_MODELDIALOG, VFS_PATH_MODULES, VFS_PATH_NEWRESOURCEDIALOG, VFS_PATH_RESOURCES, VFS_PATH_SITES, VFS_PATH_SYSTEM, VFS_PATH_VIEWS, VFS_PATH_WORKPLACE, VIEW_ADMIN, VIEW_DIRECT_EDIT, VIEW_EXPLORER, VIEW_GALLERY, VIEW_LIST, VIEW_WORKPLACE
    • Constructor Summary

      Constructors 
      Constructor Description
      CmsChacc​(javax.servlet.jsp.PageContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
      Public constructor with JSP variables.
      CmsChacc​(org.opencms.jsp.CmsJspActionElement jsp)
      Public constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean actionAddAce()
      Adds a new access control entry to the resource.
      boolean actionInternalUse​(javax.servlet.http.HttpServletRequest request)
      Modifies the Internal Use flag of a resource.
      boolean actionModifyAce​(javax.servlet.http.HttpServletRequest request)
      Modifies a present access control entry for a resource.
      boolean actionRemoveAce()
      Removes a present access control entry from the resource.
      java.lang.String buildCurrentPermissions()
      Builds a String with HTML code to display the users access rights for the current resource.
      java.lang.String buildErrorMessages()
      Returns the error messages if something went wrong.
      java.lang.String buildResponsibleList​(boolean show)
      Builds a String with HTML code to display the responsible users of a resource.
      java.lang.String buildRightsList()
      Builds a String with HTML code to display the inherited and own access control entries of a resource.
      static java.lang.String buildSummaryDetailsButtons​(org.opencms.workplace.CmsDialog wp)
      Builds a detail view selector.
      protected boolean checkNewEntry​(java.lang.String name, int arrayPosition)
      Validates the user input when creating a new access control entry.
      protected java.lang.String getConnectedResource​(org.opencms.security.CmsAccessControlEntry entry, java.util.Map<org.opencms.util.CmsUUID,​java.lang.String> parents)
      Returns the resource on which the specified access control entry was set.
      org.opencms.security.CmsPermissionSet getCurPermissions()
      Returns the current users permission set on the resource.
      protected boolean getEditable()
      Returns the current editable flag for the user to change ACEs.
      protected java.lang.String getEntryType​(int flags, boolean all)
      Determines the type of the current access control entry.
      protected int getEntryTypeInt​(int flags)
      Determines the int type of the current access control entry.
      java.util.List<java.lang.String> getErrorMessages()
      Returns a list with all error messages which occurred when trying to add a new access control entry.
      java.lang.String getErrorMessagesString()
      Returns a String with all error messages occuring when trying to add a new access control entry.
      protected boolean getInheritOption()
      Returns if the access control entry can be inherited to subfolders and can overwrite inherited permissions.
      java.lang.String getParamName()
      Returns the value of the name parameter, or null if this parameter was not provided.
      java.lang.String getParamType()
      Returns the value of the type parameter, or null if this parameter was not provided.
      java.lang.String getParamUuid()
      Returns the UUID parameter.
      boolean getShowInheritedPermissions()
      Returns if the inherited permissions information should be displayed.
      protected java.lang.String[] getTypes​(boolean all)
      Returns a String array with the possible entry types.
      protected int[] getTypesInt()
      Returns an int array with possible entry types.
      protected java.lang.String[] getTypesLocalized()
      Returns a String array with the possible localized entry types.
      java.lang.String htmlStart()  
      void init()
      Initializes some member variables to display the form with the right options for the current user.
      protected void initWorkplaceRequestValues​(org.opencms.workplace.CmsWorkplaceSettings settings, javax.servlet.http.HttpServletRequest request)  
      protected boolean isAllowed​(org.opencms.security.CmsPermissionSet p, int value)
      Checks if a certain permission of a permission set is allowed.
      protected boolean isDenied​(org.opencms.security.CmsPermissionSet p, int value)
      Checks if a certain permission of a permission set is denied.
      protected boolean isOverWritingInherited​(int flags)
      Check if the current permissions are overwriting the inherited ones.
      protected boolean isResponsible​(int flags)
      Check if the user is a responsible for the resource.
      protected void setCurPermissions​(org.opencms.security.CmsPermissionSet value)
      Sets the current users permissions on the resource.
      protected void setEditable​(boolean value)
      Sets the editable flag for the forms.
      protected void setInheritOption​(boolean value)
      Sets if the access control entry can be inherited to subfolders and can overwrite inherited permissions.
      void setParamName​(java.lang.String value)
      Sets the value of the name parameter.
      void setParamType​(java.lang.String value)
      Sets the value of the type parameter.
      void setParamUuid​(java.lang.String uuid)
      Sets the UUID parameter.
      protected void setShowInheritedPermissions​(boolean showInheritedPermissions)
      Sets if the inherited permissions information should be displayed.
      • Methods inherited from class org.opencms.workplace.CmsDialog

        actionCloseDialog, appendDelimiter, buildAjaxResultContainer, buildAjaxWaitMessage, buildLockAdditionalOptions, buildLockConfirmationMessageJS, buildLockHeaderBox, checkResourcePermissions, checkResourcePermissions, computeCurrentFolder, dialog, dialogBlock, dialogBlockEnd, dialogBlockStart, dialogButtonRow, dialogButtonRowEnd, dialogButtonRowStart, dialogButtons, dialogButtonsClose, dialogButtonsClose, dialogButtonsCloseDetails, dialogButtonsHtml, dialogButtonsOk, dialogButtonsOk, dialogButtonsOkCancel, dialogButtonsOkCancel, dialogButtonsOkCancelAdvanced, dialogButtonsSetOkCancel, dialogContent, dialogContentEnd, dialogContentStart, dialogEnd, dialogHead, dialogHorizontalSpacer, dialogLockButtons, dialogRow, dialogRowEnd, dialogRowStart, dialogScriptSubmit, dialogSeparator, dialogSpacer, dialogStart, dialogStart, dialogSubheadline, dialogToggleStart, dialogWhiteBox, dialogWhiteBoxEnd, dialogWhiteBoxStart, getAction, getAdministrationBackLink, getCancelAction, getDialogRealUri, getDialogUri, getOnlineHelpUriCustom, getParamAction, getParamCloseLink, getParamDialogtype, getParamFramename, getParamIsPopup, getParamMessage, getParamOriginalParams, getParamPreActionDone, getParamRedirect, getParamResource, getParamTitle, getState, hasCorrectLockstate, hasSiblings, htmlStart, htmlStart, htmlStartStyle, includeErrorpage, initCmsDialog, isPopup, isPreEditor, openLaunchpad, openWorkplaceLink, pageHtml, pageHtml, setAction, setOnlineHelpUriCustom, setParamAction, setParamCloseLink, setParamDialogtype, setParamFramename, setParamIsPopup, setParamMessage, setParamOriginalParams, setParamPreActionDone, setParamRedirect, setParamResource, setParamTitle
      • Methods inherited from class org.opencms.workplace.tools.CmsToolDialog

        computeUpLevelLink, dialogTitle, getAdminTool, getCurrentToolPath, getParamBase, getParamForce, getParamPath, getParamRoot, getParamStyle, getParentPath, getToolManager, iconsBlockArea, iconsBlockAreaEnd, iconsBlockAreaStart, initAdminTool, pageBody, pageHtmlStyle, setParamBase, setParamForce, setParamPath, setParamRoot, setParamStyle, useNewStyle
      • Methods inherited from class org.opencms.workplace.CmsWorkplace

        addMessages, addMessages, allParamsAsHidden, allParamsAsRequest, allParamValues, bodyEnd, bodyStart, bodyStart, buildSelect, buildSelect, button, button, buttonBar, buttonBar, buttonBarHorizontalLine, buttonBarLabel, buttonBarLabel, buttonBarLine, buttonBarLineSpacer, buttonBarSeparator, buttonBarSpacer, buttonBarStartTab, canEditPermissionsForRoles, checkLock, checkLock, checkRole, decodeParamValue, fillParamValues, fillParamValues, generateCssStyle, generatePageEndExtended, generatePageEndSimple, generatePageStartExtended, generatePageStartSimple, getBroadcastMessageString, getCms, getEncoding, getExplorerFileListFullUri, getFrameSource, getJsp, getLocale, getMacroResolver, getMessages, getMultiPartFileItems, getParameterMap, getResourceUri, getResourceUri, getSession, getSettings, getSkinUri, getStartSiteRoot, getStartSiteRoot, getStaticResourceUri, getStaticResourceUri, getStyleUri, getStyleUri, getStyleUri, getTemporaryFileName, getWorkplaceExplorerLink, getWorkplaceExplorerLink, getWorkplaceSettings, htmlEnd, initMessages, initSettings, initTimeWarp, initUserSettings, initWorkplaceMembers, initWorkplaceMembers, initWorkplaceSettings, isForwarded, isHelpEnabled, isSubElement, isTemporaryFile, key, key, keyDefault, nullToEmpty, paramsAsHidden, paramsAsHidden, paramsAsParameterMap, paramsAsRequest, paramValues, resolveMacros, sendCmsRedirect, sendForward, setForwarded, shortKey, substituteSiteTitle, substituteSiteTitleStatic, switchToCurrentProject, switchToTempProject, updateUserPreferences
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CmsChacc

        public CmsChacc​(org.opencms.jsp.CmsJspActionElement jsp)
        Public constructor.

        Parameters:
        jsp - an initialized JSP action element
      • CmsChacc

        public CmsChacc​(javax.servlet.jsp.PageContext context,
                        javax.servlet.http.HttpServletRequest req,
                        javax.servlet.http.HttpServletResponse res)
        Public constructor with JSP variables.

        Parameters:
        context - the JSP page context
        req - the JSP request
        res - the JSP response
    • Method Detail

      • buildSummaryDetailsButtons

        public static java.lang.String buildSummaryDetailsButtons​(org.opencms.workplace.CmsDialog wp)
        Builds a detail view selector.

        Parameters:
        wp - the dialog object
        Returns:
        the HTML code for the detail view selector
      • actionAddAce

        public boolean actionAddAce()
        Adds a new access control entry to the resource.

        Returns:
        true if a new ace was created, otherwise false
      • actionInternalUse

        public boolean actionInternalUse​(javax.servlet.http.HttpServletRequest request)
        Modifies the Internal Use flag of a resource.

        Parameters:
        request - the Http servlet request
        Returns:
        true if the operation was was successfully removed, otherwise false
      • actionModifyAce

        public boolean actionModifyAce​(javax.servlet.http.HttpServletRequest request)
        Modifies a present access control entry for a resource.

        Parameters:
        request - the Http servlet request
        Returns:
        true if the modification worked, otherwise false
      • actionRemoveAce

        public boolean actionRemoveAce()
        Removes a present access control entry from the resource.

        Returns:
        true if the ace was successfully removed, otherwise false
      • buildCurrentPermissions

        public java.lang.String buildCurrentPermissions()
        Builds a String with HTML code to display the users access rights for the current resource.

        Returns:
        HTML String with the access rights of the current user
      • buildErrorMessages

        public java.lang.String buildErrorMessages()
        Returns the error messages if something went wrong.

        Returns:
        all error messages
      • buildResponsibleList

        public java.lang.String buildResponsibleList​(boolean show)
        Builds a String with HTML code to display the responsible users of a resource.

        Parameters:
        show - true the responsible list is open
        Returns:
        HTML code for the responsible users of the current resource
      • buildRightsList

        public java.lang.String buildRightsList()
        Builds a String with HTML code to display the inherited and own access control entries of a resource.

        Returns:
        HTML code for inherited and own entries of the current resource
      • getCurPermissions

        public org.opencms.security.CmsPermissionSet getCurPermissions()
        Returns the current users permission set on the resource.

        Returns:
        the users permission set
      • getErrorMessages

        public java.util.List<java.lang.String> getErrorMessages()
        Returns a list with all error messages which occurred when trying to add a new access control entry.

        Returns:
        List of error message Strings
      • getErrorMessagesString

        public java.lang.String getErrorMessagesString()
        Returns a String with all error messages occuring when trying to add a new access control entry.

        Returns:
        String with error messages, separated by <br>
      • getParamName

        public java.lang.String getParamName()
        Returns the value of the name parameter, or null if this parameter was not provided.

        The name parameter stores the name of the group or user.

        Returns:
        the value of the name parameter
      • getParamType

        public java.lang.String getParamType()
        Returns the value of the type parameter, or null if this parameter was not provided.

        The type parameter stores the type of an ace (group or user).

        Returns:
        the value of the type parameter
      • getParamUuid

        public java.lang.String getParamUuid()
        Returns the UUID parameter.

        Returns:
        the UUID parameter
      • getShowInheritedPermissions

        public boolean getShowInheritedPermissions()
        Returns if the inherited permissions information should be displayed.

        Returns:
        true if the inherited permissions information should be displayed, otherwise false
      • htmlStart

        public java.lang.String htmlStart()
        Overrides:
        htmlStart in class org.opencms.workplace.CmsDialog
        See Also:
        CmsDialog.htmlStart()
      • init

        public void init()
        Initializes some member variables to display the form with the right options for the current user.

        This method must be called after initWorkplaceRequestValues().

      • setParamName

        public void setParamName​(java.lang.String value)
        Sets the value of the name parameter.

        Parameters:
        value - the value to set
      • setParamType

        public void setParamType​(java.lang.String value)
        Sets the value of the type parameter.

        Parameters:
        value - the value to set
      • setParamUuid

        public void setParamUuid​(java.lang.String uuid)
        Sets the UUID parameter.

        Parameters:
        uuid - the UUID to set
      • checkNewEntry

        protected boolean checkNewEntry​(java.lang.String name,
                                        int arrayPosition)
        Validates the user input when creating a new access control entry.

        Parameters:
        name - the name of the new user/group
        arrayPosition - the position in the types array
        Returns:
        true if everything is ok, otherwise false
      • getConnectedResource

        protected java.lang.String getConnectedResource​(org.opencms.security.CmsAccessControlEntry entry,
                                                        java.util.Map<org.opencms.util.CmsUUID,​java.lang.String> parents)
        Returns the resource on which the specified access control entry was set.

        Parameters:
        entry - the current access control entry
        parents - the parent resources to determine the connected resource
        Returns:
        the resource name of the corresponding resource
      • getEditable

        protected boolean getEditable()
        Returns the current editable flag for the user to change ACEs.

        Returns:
        true if user can edit the permissions, otherwise false
      • getEntryType

        protected java.lang.String getEntryType​(int flags,
                                                boolean all)
        Determines the type of the current access control entry.

        Parameters:
        flags - the value of the current flags
        all - to include all types, or just user and groups
        Returns:
        String representation of the ace type
      • getEntryTypeInt

        protected int getEntryTypeInt​(int flags)
        Determines the int type of the current access control entry.

        Parameters:
        flags - the value of the current flags
        Returns:
        int representation of the ace type as int
      • getInheritOption

        protected boolean getInheritOption()
        Returns if the access control entry can be inherited to subfolders and can overwrite inherited permissions.

        Returns:
        true to show the checkbox, otherwise false
      • getTypes

        protected java.lang.String[] getTypes​(boolean all)
        Returns a String array with the possible entry types.

        Parameters:
        all - to include all types, or just user, groups and roles
        Returns:
        the possible types
      • getTypesInt

        protected int[] getTypesInt()
        Returns an int array with possible entry types.

        Returns:
        the possible types as int array
      • getTypesLocalized

        protected java.lang.String[] getTypesLocalized()
        Returns a String array with the possible localized entry types.

        Returns:
        the possible localized types
      • initWorkplaceRequestValues

        protected void initWorkplaceRequestValues​(org.opencms.workplace.CmsWorkplaceSettings settings,
                                                  javax.servlet.http.HttpServletRequest request)
        Overrides:
        initWorkplaceRequestValues in class org.opencms.workplace.CmsDialog
        See Also:
        CmsWorkplace.initWorkplaceRequestValues(org.opencms.workplace.CmsWorkplaceSettings, javax.servlet.http.HttpServletRequest)
      • isAllowed

        protected boolean isAllowed​(org.opencms.security.CmsPermissionSet p,
                                    int value)
        Checks if a certain permission of a permission set is allowed.

        Parameters:
        p - the current CmsPermissionSet
        value - the int value of the permission to check
        Returns:
        true if the permission is allowed, otherwise false
      • isDenied

        protected boolean isDenied​(org.opencms.security.CmsPermissionSet p,
                                   int value)
        Checks if a certain permission of a permission set is denied.

        Parameters:
        p - the current CmsPermissionSet
        value - the int value of the permission to check
        Returns:
        true if the permission is denied, otherwise false
      • isOverWritingInherited

        protected boolean isOverWritingInherited​(int flags)
        Check if the current permissions are overwriting the inherited ones.

        Parameters:
        flags - value of all flags of the current entry
        Returns:
        true if permissions are overwriting the inherited ones, otherwise false
      • isResponsible

        protected boolean isResponsible​(int flags)
        Check if the user is a responsible for the resource.

        Parameters:
        flags - value of all flags of the current entry
        Returns:
        true if user is responsible for the resource, otherwise false
      • setCurPermissions

        protected void setCurPermissions​(org.opencms.security.CmsPermissionSet value)
        Sets the current users permissions on the resource. This is set in the init() method.

        Parameters:
        value - the CmsPermissionSet
      • setEditable

        protected void setEditable​(boolean value)
        Sets the editable flag for the forms. This is set in the init() method.

        Parameters:
        value - true if user can edit the permissions, otherwise false
      • setInheritOption

        protected void setInheritOption​(boolean value)
        Sets if the access control entry can be inherited to subfolders and can overwrite inherited permissions.

        This is set in the init() method.

        Parameters:
        value - set to true for folders, otherwise false
      • setShowInheritedPermissions

        protected void setShowInheritedPermissions​(boolean showInheritedPermissions)
        Sets if the inherited permissions information should be displayed.

        Parameters:
        showInheritedPermissions - true if the inherited permissions information should be displayed, otherwise false