Merge branch '2.0'
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / acp / templates / userList.tpl
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
7 {include file='header'}
8
9 {event name='javascriptInclude'}
10 <script data-relocate="true">
11 //<![CDATA[
12 $(function() {
13 var actionObjects = { };
14 actionObjects['com.woltlab.wcf.user'] = { };
15 actionObjects['com.woltlab.wcf.user']['delete'] = new WCF.Action.Delete('wcf\\data\\user\\UserAction', '.jsUserRow');
16
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);
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}',
29 'wcf.acp.user.ban.sure': '{lang}wcf.acp.user.ban.sure{/lang}',
30 'wcf.acp.user.sendNewPassword.workerTitle': '{lang}wcf.acp.user.sendNewPassword.workerTitle{/lang}',
31 'wcf.acp.worker.abort.confirmMessage': '{lang}wcf.acp.worker.abort.confirmMessage{/lang}'
32 });
33 WCF.ACP.User.BanHandler.init();
34
35 {if $__wcf->session->getPermission('admin.user.canEnableUser')}
36 WCF.ACP.User.EnableHandler.init();
37 {/if}
38
39 {if $__wcf->session->getPermission('admin.user.canEditPassword')}
40 WCF.ACP.User.SendNewPasswordHandler.init();
41 {/if}
42
43 {event name='javascriptInit'}
44 });
45 //]]>
46 </script>
47
48 <header class="boxHeadline">
49 <h1>{lang}{@$pageTitle}{/lang}</h1>
50 </header>
51
52 {assign var=encodedURL value=$url|rawurlencode}
53 {assign var=encodedAction value=$action|rawurlencode}
54 <div class="contentNavigation">
55 {pages print=true assign=pagesLinks controller="UserList" id=$searchID link="pageNo=%d&action=$encodedAction&sortField=$sortField&sortOrder=$sortOrder"}
56
57 <nav>
58 <ul>
59 {if $__wcf->session->getPermission('admin.user.canAddUser')}
60 <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>
61 {/if}
62
63 {event name='contentNavigationButtonsTop'}
64 </ul>
65 </nav>
66 </div>
67
68 {if $users|count}
69 <div id="userTableContainer" class="tabularBox tabularBoxTitle marginTop">
70 <header>
71 <h2>{lang}wcf.acp.user.list{/lang} <span class="badge badgeInverse">{#$items}</span></h2>
72 </header>
73
74 <table data-type="com.woltlab.wcf.user" class="table jsClipboardContainer">
75 <thead>
76 <tr>
77 <th class="columnMark"><label><input type="checkbox" class="jsClipboardMarkAll" /></label></th>
78 <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>
79 <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>
80
81 {foreach from=$columnHeads key=column item=columnLanguageVariable}
82 <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>
83 {/foreach}
84
85 {event name='columnHeads'}
86 </tr>
87 </thead>
88
89 <tbody>
90 {foreach from=$users item=user}
91 <tr class="jsUserRow jsClipboardObject">
92 <td class="columnMark"><input type="checkbox" class="jsClipboardItem" data-object-id="{@$user->userID}" /></td>
93 <td class="columnIcon">
94 {if $user->editable}
95 <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>
96 {else}
97 <span class="icon icon16 icon-pencil disabled" title="{lang}wcf.global.button.edit{/lang}"></span>
98 {/if}
99 {if $user->deletable}
100 <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>
101 {else}
102 <span class="icon icon16 icon-remove disabled" title="{lang}wcf.global.button.delete{/lang}"></span>
103 {/if}
104 {if $user->bannable}
105 <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>
106 {else}
107 <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>
108 {/if}
109 {if $user->canBeEnabled}
110 <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>
111 {else}
112 <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>
113 {/if}
114
115 {event name='rowButtons'}
116 </td>
117 <td class="columnID columnUserID">{@$user->userID}</td>
118 <td class="columnIcon"><p class="framed">{@$user->getAvatar()->getImageTag(24)}</p></td>
119 <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}</td>
120
121 {foreach from=$columnHeads key=column item=columnLanguageVariable}
122 <td class="column{$column|ucfirst}">{if $columnValues[$user->userID][$column]|isset}{@$columnValues[$user->userID][$column]}{/if}</td>
123 {/foreach}
124
125 {event name='columns'}
126 </tr>
127 {/foreach}
128 </tbody>
129 </table>
130 </div>
131
132 <div class="contentNavigation">
133 {@$pagesLinks}
134
135 <nav>
136 <ul>
137 {if $__wcf->session->getPermission('admin.user.canAddUser')}
138 <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>
139 {/if}
140
141 {event name='contentNavigationButtonsBottom'}
142 </ul>
143 </nav>
144
145 <nav class="jsClipboardEditor" data-types="[ 'com.woltlab.wcf.user' ]"></nav>
146 </div>
147 {else}
148 <p class="info">{lang}wcf.acp.user.search.error.noMatches{/lang}</p>
149 {/if}
150
151 {include file='footer'}