Export of personal data (GDPR)
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / acp / templates / userList.tpl
CommitLineData
7485c55b
MS
1{if $searchID}
2 {assign var='pageTitle' value='wcf.acp.user.search'}
3{else}
4 {assign var='pageTitle' value='wcf.acp.user.list'}
5{/if}
6
158bd3ca 7{include file='header'}
8c34456d 8
11910ce3 9{event name='javascriptInclude'}
9543d9fe 10<script data-relocate="true">
158bd3ca 11 //<![CDATA[
2c04fc49 12 $(function() {
da27d58a
MS
13 var actionObjects = { };
14 actionObjects['com.woltlab.wcf.user'] = { };
d371330f 15 actionObjects['com.woltlab.wcf.user']['delete'] = new WCF.Action.Delete('wcf\\data\\user\\UserAction', '.jsUserRow');
9f959ced 16
da27d58a
MS
17 WCF.Clipboard.init('wcf\\acp\\page\\UserListPage', {@$hasMarkedItems}, actionObjects);
18
19 var options = { };
20 {if $pages > 1}
21 options.refreshPage = true;
22 {/if}
23
24 new WCF.Table.EmptyTableHandler($('#userTableContainer'), 'jsUserRow', options);
11cf19be
MW
25
26 WCF.Language.addObject({
27 'wcf.acp.user.banReason': '{lang}wcf.acp.user.banReason{/lang}',
28 'wcf.acp.user.banReason.description': '{lang}wcf.acp.user.banReason.description{/lang}',
cb6e5946 29 'wcf.acp.user.ban.sure': '{lang}wcf.acp.user.ban.sure{/lang}',
f034d0ec
MS
30 'wcf.acp.user.ban.expires': '{lang}wcf.acp.user.ban.expires{/lang}',
31 'wcf.acp.user.ban.expires.description': '{lang}wcf.acp.user.ban.expires.description{/lang}',
32 'wcf.acp.user.ban.neverExpires': '{lang}wcf.acp.user.ban.neverExpires{/lang}',
cb6e5946
MS
33 'wcf.acp.user.sendNewPassword.workerTitle': '{lang}wcf.acp.user.sendNewPassword.workerTitle{/lang}',
34 'wcf.acp.worker.abort.confirmMessage': '{lang}wcf.acp.worker.abort.confirmMessage{/lang}'
11cf19be
MW
35 });
36 WCF.ACP.User.BanHandler.init();
cb6e5946
MS
37
38 {if $__wcf->session->getPermission('admin.user.canEnableUser')}
39 WCF.ACP.User.EnableHandler.init();
40 {/if}
41
42 {if $__wcf->session->getPermission('admin.user.canEditPassword')}
43 WCF.ACP.User.SendNewPasswordHandler.init();
44 {/if}
11910ce3
MW
45
46 {event name='javascriptInit'}
2c04fc49 47 });
158bd3ca
TD
48 //]]>
49</script>
50
daa737bf 51<header class="boxHeadline">
635a8feb 52 <h1>{lang}{@$pageTitle}{/lang}</h1>
158bd3ca
TD
53</header>
54
55{assign var=encodedURL value=$url|rawurlencode}
56{assign var=encodedAction value=$action|rawurlencode}
184a8d6d 57<div class="contentNavigation">
2b146ddc 58 {pages print=true assign=pagesLinks controller="UserList" id=$searchID link="pageNo=%d&action=$encodedAction&sortField=$sortField&sortOrder=$sortOrder"}
158bd3ca 59
ef097134 60 <nav>
184a8d6d 61 <ul>
158bd3ca 62 {if $__wcf->session->getPermission('admin.user.canAddUser')}
6ab4d963 63 <li><a href="{link controller='UserAdd'}{/link}" class="button"><span class="icon icon16 icon-plus"></span> <span>{lang}wcf.acp.user.add{/lang}</span></a></li>
158bd3ca 64 {/if}
5348d3d2 65
7991009f 66 {event name='contentNavigationButtonsTop'}
158bd3ca
TD
67 </ul>
68 </nav>
69</div>
70
baa1ddc3
MW
71{if $users|count}
72 <div id="userTableContainer" class="tabularBox tabularBoxTitle marginTop">
73 <header>
74 <h2>{lang}wcf.acp.user.list{/lang} <span class="badge badgeInverse">{#$items}</span></h2>
75 </header>
76
184a8d6d 77 <table data-type="com.woltlab.wcf.user" class="table jsClipboardContainer">
158bd3ca 78 <thead>
e843c814 79 <tr>
6f475a52 80 <th class="columnMark"><label><input type="checkbox" class="jsClipboardMarkAll" /></label></th>
ef959540
MW
81 <th class="columnID columnUserID{if $sortField == 'userID'} active {@$sortOrder}{/if}" colspan="2"><a href="{link controller='UserList' id=$searchID}action={@$encodedAction}&pageNo={@$pageNo}&sortField=userID&sortOrder={if $sortField == 'userID' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.global.objectID{/lang}</a></th>
82 <th class="columnTitle columnUsername{if $sortField == 'username'} active {@$sortOrder}{/if}" colspan="2"><a href="{link controller='UserList' id=$searchID}action={@$encodedAction}&pageNo={@$pageNo}&sortField=username&sortOrder={if $sortField == 'username' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.user.username{/lang}</a></th>
158bd3ca
TD
83
84 {foreach from=$columnHeads key=column item=columnLanguageVariable}
ef959540 85 <th class="column{$column|ucfirst}{if $sortField == $column} active {@$sortOrder}{/if}"><a href="{link controller='UserList' id=$searchID}action={@$encodedAction}&pageNo={@$pageNo}&sortField={$column}&sortOrder={if $sortField == $column && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}{$columnLanguageVariable}{/lang}</a></th>
158bd3ca
TD
86 {/foreach}
87
7991009f 88 {event name='columnHeads'}
158bd3ca
TD
89 </tr>
90 </thead>
eee4c4ff 91
158bd3ca 92 <tbody>
baa1ddc3 93 {foreach from=$users item=user}
34553633 94 <tr class="jsUserRow jsClipboardObject">
baa1ddc3
MW
95 <td class="columnMark"><input type="checkbox" class="jsClipboardItem" data-object-id="{@$user->userID}" /></td>
96 <td class="columnIcon">
97 {if $user->editable}
98 <a href="{link controller='UserEdit' id=$user->userID}{/link}" title="{lang}wcf.global.button.edit{/lang}" class="jsTooltip"><span class="icon icon16 icon-pencil"></span></a>
99 {else}
100 <span class="icon icon16 icon-pencil disabled" title="{lang}wcf.global.button.edit{/lang}"></span>
101 {/if}
102 {if $user->deletable}
103 <span class="icon icon16 icon-remove jsTooltip jsDeleteButton pointer" title="{lang}wcf.global.button.delete{/lang}" data-object-id="{@$user->userID}" data-confirm-message="{lang}wcf.acp.user.delete.sure{/lang}"></span>
104 {else}
105 <span class="icon icon16 icon-remove disabled" title="{lang}wcf.global.button.delete{/lang}"></span>
106 {/if}
11cf19be
MW
107 {if $user->bannable}
108 <span class="icon icon16 icon-{if $user->banned}lock{else}unlock{/if} jsBanButton jsTooltip pointer" title="{lang}wcf.acp.user.{if $user->banned}unban{else}ban{/if}{/lang}" data-object-id="{@$user->userID}" data-ban-message="{lang}wcf.acp.user.ban{/lang}" data-unban-message="{lang}wcf.acp.user.unban{/lang}" data-banned="{if $user->banned}true{else}false{/if}"></span>
109 {else}
110 <span class="icon icon16 icon-{if $user->banned}lock{else}unlock{/if} disabled" title="{lang}wcf.acp.user.{if $user->banned}unban{else}ban{/if}{/lang}"></span>
111 {/if}
e6740117
MS
112 {if $user->canBeEnabled}
113 <span class="icon icon16 icon-{if !$user->activationCode}check{else}check-empty{/if} jsEnableButton jsTooltip pointer" title="{lang}wcf.acp.user.{if !$user->activationCode}disable{else}enable{/if}{/lang}" data-object-id="{@$user->userID}" data-enable-message="{lang}wcf.acp.user.enable{/lang}" data-disable-message="{lang}wcf.acp.user.disable{/lang}" data-enabled="{if !$user->activationCode}true{else}false{/if}"></span>
114 {else}
115 <span class="icon icon16 icon-{if !$user->activationCode}check{else}check-empty{/if} disabled" title="{lang}wcf.acp.user.{if !$user->activationCode}disable{else}enable{/if}{/lang}"></span>
320f4a6d 116 {/if}
32028252
AE
117 {if $user->editable}
118 <a href="{link controller='UserExportGdpr' id=$user->userID}{/link}" title="{lang}wcf.acp.user.exportGdpr{/lang}" class="jsTooltip"><span class="icon icon16 icon-download-alt"></span></a>
119 {else}
120 <span class="icon icon16 icon-download-alt disabled" title="{lang}wcf.acp.user.exportGdpr{/lang}"></span>
121 {/if}
9f959ced 122
baa1ddc3
MW
123 {event name='rowButtons'}
124 </td>
125 <td class="columnID columnUserID">{@$user->userID}</td>
f538a459 126 <td class="columnIcon"><p class="framed">{@$user->getAvatar()->getImageTag(24)}</p></td>
071007ed 127 <td class="columnTitle columnUsername">{if $user->editable}<a title="{lang}wcf.acp.user.edit{/lang}" href="{link controller='UserEdit' id=$user->userID}{/link}">{$user->username}</a>{else}{$user->username}{/if}{if MODULE_USER_RANK}{if $user->getUserTitle()} <span class="badge userTitleBadge{if $user->getRank() && $user->getRank()->cssClassName} {@$user->getRank()->cssClassName}{/if}">{$user->getUserTitle()}</span>{/if}{if $user->getRank() && $user->getRank()->rankImage} <span class="userRankImage">{@$user->getRank()->getImage()}</span>{/if}{/if}</td>
baa1ddc3
MW
128
129 {foreach from=$columnHeads key=column item=columnLanguageVariable}
d9e1d8a4 130 <td class="column{$column|ucfirst}{if $columnStyling[$column]|isset} {$columnStyling[$column]}{/if}">{if $columnValues[$user->userID][$column]|isset}{@$columnValues[$user->userID][$column]}{/if}</td>
baa1ddc3
MW
131 {/foreach}
132
133 {event name='columns'}
134 </tr>
135 {/foreach}
158bd3ca
TD
136 </tbody>
137 </table>
138 </div>
baa1ddc3 139
184a8d6d 140 <div class="contentNavigation">
2c04fc49
AE
141 {@$pagesLinks}
142
ef097134 143 <nav>
184a8d6d 144 <ul>
158bd3ca 145 {if $__wcf->session->getPermission('admin.user.canAddUser')}
6ab4d963 146 <li><a href="{link controller='UserAdd'}{/link}" class="button"><span class="icon icon16 icon-plus"></span> <span>{lang}wcf.acp.user.add{/lang}</span></a></li>
158bd3ca 147 {/if}
5348d3d2 148
7991009f 149 {event name='contentNavigationButtonsBottom'}
158bd3ca
TD
150 </ul>
151 </nav>
04f02424
MS
152
153 <nav class="jsClipboardEditor" data-types="[ 'com.woltlab.wcf.user' ]"></nav>
158bd3ca 154 </div>
baa1ddc3
MW
155{else}
156 <p class="info">{lang}wcf.acp.user.search.error.noMatches{/lang}</p>
157{/if}
158bd3ca
TD
158
159{include file='footer'}