%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/waritko/jetty-distribution-9.4.21.v20190926/webapps/ROOT/templates/
Upload File :
Create Path :
Current File : //home/waritko/jetty-distribution-9.4.21.v20190926/webapps/ROOT/templates/getusers.vm

#macro (displayUserAliasWithAvatar $userReference $disabled)
  <div class="user#if ($disabled) disabled#end" data-reference="$escapetool.xml($userReference)">
    <span class="user-avatar-wrapper">
      #getUserAvatarURL($userReference $avatarURL 120)
      <img class="user-avatar" src="$escapetool.xml($avatarURL.url)" />
    </span>
    <a href="$xwiki.getURL($userReference)">$escapetool.xml($userReference.name)</a>
  </div>
#end

#### get all the request parameters which are filters
#set ($params = $request.getParameterMap())
#set ($keys = $params.keySet())
#set ($defaultKeys = ["xpage", "offset", "limit", "wiki", "reqNo", "sort", "dir"])
#set ($docProps = ["fullName", "name"])
#set ($filterMap = {})
#set ($orderList = [])

#foreach ($key in $keys)
  #if (! $defaultKeys.contains( $key ) )
    ## build the filters map
    #foreach ($i in $params.get($key)) #set ($value = $i) #end
    #if ($docProps.contains($key))
      #set ($arr = [])
      #set ($discard = $arr.add($NULL)) ## this may be variable...
      #set ($discard = $arr.add("$value"))
      #set ($discard = $filterMap.put("$key", $arr))
      #set ($discard = $orderList.add("$key"))
    #else
      #set ($arr = [])
      #set ($discard = $arr.add("StringProperty")) ## this may be variable...
      #set ($discard = $arr.add("$value"))
      #set ($discard = $filterMap.put("$key", $arr))
      #set ($arr2 = [])
      #set ($discard = $arr2.add("$key"))
      #set ($discard = $arr2.add("StringProperty"))
      #set ($discard = $orderList.add($arr2))
    #end
  #end
#end

#if ($orderList.isEmpty())
  #set ($discard = $orderList.add('name'))
#end

#set ($usersService = $xwiki.rightsmanager.usersApi)
#set ($offset = $mathtool.toInteger($request.get('offset')))
#set ($limit = $mathtool.toInteger($request.get('limit')))

## If the Rights Manager Plugin is not enabled, then return an empty JSON result.
#if ("$!usersService" != '')
  ## The live table offset starts from 1 so we need to subtract 1.
  #if ($request.wiki == 'local')
    #set ($users = $usersService.getAllMatchedLocalUsers($filterMap, $limit, $mathtool.sub($offset, 1), $orderList))
    #set ($countUsers = $usersService.countAllMatchedLocalUsers($filterMap))
  #elseif ($request.wiki == 'global')
    #set ($users = $usersService.getAllMatchedGlobalUsers($filterMap, $limit, $mathtool.sub($offset, 1), $orderList))
    #set ($countUsers = $usersService.countAllMatchedGlobalUsers($filterMap))
  #else
    ## Get both local and global users.
    #set ($users = $usersService.getAllMatchedUsers($filterMap, $limit, $mathtool.sub($offset, 1), $orderList))
    #set ($countUsers = $usersService.countAllMatchedUsers($filterMap))
  #end
#else
  #set ($users = [])
  #set ($countUsers = 0)
#end

#set ($data = {
  'totalrows': $countUsers,
  'returnedrows': $mathtool.min($countUsers, $limit),
  'offset': $offset,
  'reqNo': $mathtool.toInteger($request.reqNo),
  'rows': []
})
#foreach ($user in $users)
  #set ($grayed = $xcontext.user == $user.fullName)
  #set ($wikiName = $user.wiki)
  #if ($wikiName != $xcontext.mainWikiName || $wikiName == $xcontext.database)
    #set ($wikiName = 'local')
  #end
  #set ($userObject = $user.getObject('XWiki.XWikiUsers'))
  ## Deprecated properties kept for backward compatibility with XWiki versions older than 10.9
  #set ($row = {
    'username': $user.documentReference.name,
    'fullname': $user.fullName,
    'wikiname': $wikiName,
    'firstname': $userObject.getValue('first_name'),
    'lastname': $userObject.getValue('last_name'),
    'userurl': $user.getURL(),
    'usersaveurl': $user.getURL('save'),
    'userinlineurl': $user.getURL('edit', 'xpage=edituser'),
    'docurl': $xwiki.getURL('XWiki.XWikiPreferences', 'admin', 'section=Users'),
    'grayed': $grayed
  })
  #if ($user.wiki == $xcontext.mainWikiName)
    #set ($scope = 'global')
  #else
    #set ($scope = 'local')
  #end
  #set ($hasEdit = $services.security.authorization.hasAccess('edit', $user.documentReference))
  #set ($disabled = $xwiki.getUser($user.documentReference).isDisabled())
  #set ($hasEnable = $hasEdit && $disabled)
  ## Prevent users from disabling their own accounts.
  #set ($hasDisable = $hasEdit && !$disabled && $xcontext.userReference != $user.documentReference)
  ## Delete user accounts only after they have been disabled. Also prevent users from deleting their own accounts.
  #set ($hasDelete = $disabled && $xcontext.userReference != $user.documentReference
    && $services.security.authorization.hasAccess('delete', $user.documentReference))
  #set ($discard = $row.putAll({
    'doc_fullName': $user.fullName,
    'doc_wiki': $user.wiki,
    'doc_url': $user.getURL(),
    'doc_viewable': $services.security.authorization.hasAccess('view', $user.documentReference),
    'doc_hasadmin': $xwiki.hasAdminRights(),
    'doc_hasedit': $hasEdit,
    'doc_edit_url': $user.getURL('edit'),
    'doc_hasdelete': $hasDelete,
    'doc_delete_url': $user.getURL('delete'),
    'doc_hasdisable': $hasDisable,
    'doc_disable_url': $user.getURL('save', $escapetool.url({
      'XWiki.XWikiUsers_0_active': 0,
      'comment': $services.localization.render('core.users.disable.saveComment'),
      'form_token': $services.csrf.token
    })),
    'doc_hasenable': $hasEnable,
    'doc_enable_url': $user.getURL('save', $escapetool.url({
      'XWiki.XWikiUsers_0_active': 1,
      'comment': $services.localization.render('core.users.enable.saveComment'),
      'form_token': $services.csrf.token
    })),
    'name': "#displayUserAliasWithAvatar($user.documentReference $disabled)",
    'first_name': $userObject.getValue('first_name'),
    'last_name': $userObject.getValue('last_name'),
    'scope': $services.localization.render("xe.admin.groups.$scope")
  }))
  #set ($discard = $data.rows.add($row))
#end
#jsonResponse($data)

Zerion Mini Shell 1.0