|
1 | | -{capture assign='pageTitle'}{if $status == 2}{lang}wcf.moderation.doneItems{/lang}{else}{lang}wcf.moderation.outstandingItems{/lang}{/if}{if $pageNo > 1} - {lang}wcf.page.pageNo{/lang}{/if}{/capture} |
| 1 | +{capture assign='pageTitle'}{*{if $status == 2}{lang}wcf.moderation.doneItems{/lang}{else}{lang}wcf.moderation.outstandingItems{/lang}{/if}*}{if $gridView->getPageNo() > 1} - {lang pageNo=$gridView->getPageNo()}wcf.page.pageNo{/lang}{/if}{/capture} |
2 | 2 |
|
3 | | -{capture assign='contentTitle'}{if $status == 2}{lang}wcf.moderation.doneItems{/lang}{else}{lang}wcf.moderation.outstandingItems{/lang}{/if} <span class="badge">{#$items}</span>{/capture} |
| 3 | +{capture assign='contentTitle'}{*{if $status == 2}{lang}wcf.moderation.doneItems{/lang}{else}{lang}wcf.moderation.outstandingItems{/lang}{/if}*} <span class="badge">{#$gridView->countRows()}</span>{/capture} |
4 | 4 |
|
5 | 5 | {capture assign='sidebarRight'} |
6 | 6 | {event name='sidebarBoxes'} |
7 | 7 | {/capture} |
8 | 8 |
|
9 | | -{capture assign='contentInteractionPagination'} |
10 | | - {pages print=true assign=pagesLinks controller='ModerationList' link="definitionID=$definitionID&assignedUserID=$assignedUserID&status=$status&pageNo=%d&sortField=$sortField&sortOrder=$sortOrder"} |
11 | | -{/capture} |
12 | | - |
13 | 9 | {capture assign='contentInteractionButtons'} |
14 | 10 | <button type="button" class="markAllAsReadButton contentInteractionButton button small jsOnly">{icon name='check'} <span>{lang}wcf.global.button.markAllAsRead{/lang}</span></button> |
15 | 11 | <a href="{link controller='DeletedContentList'}{/link}" class="contentInteractionButton button small">{icon name='trash-can'} <span>{lang}wcf.moderation.showDeletedContent{/lang}</span></a> |
16 | 12 | {/capture} |
17 | 13 |
|
18 | 14 | {include file='header'} |
19 | 15 |
|
20 | | -{if $objects|count} |
21 | | - <div class="section tabularBox messageGroupList moderationList moderationQueueEntryList jsClipboardContainer" data-type="com.woltlab.wcf.moderation.queue"> |
22 | | - <ol class="tabularList"> |
23 | | - <li class="tabularListRow tabularListRowHead"> |
24 | | - <ol class="tabularListColumns"> |
25 | | - <li class="columnMark jsOnly"><label><input type="checkbox" class="jsClipboardMarkAll"></label></li> |
26 | | - |
27 | | - <li class="columnSort"> |
28 | | - <ul class="inlineList"> |
29 | | - <li> |
30 | | - <a |
31 | | - class="jsTooltip" |
32 | | - href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$assignedUserID}&status={@$status}&pageNo={@$pageNo}&sortField={$sortField}&sortOrder={if $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}" |
33 | | - title="{lang}wcf.search.sortBy{/lang} ({lang}wcf.global.sortOrder.{if $sortOrder === 'ASC'}ascending{else}descending{/if}{/lang})" |
34 | | - > |
35 | | - {if $sortOrder === 'ASC'} |
36 | | - {icon name='arrow-down-short-wide'} |
37 | | - {else} |
38 | | - {icon name='arrow-down-wide-short'} |
39 | | - {/if} |
40 | | - </a> |
41 | | - </li> |
42 | | - <li> |
43 | | - <div class="dropdown"> |
44 | | - <span class="dropdownToggle">{lang}wcf.moderation.{$sortField}{/lang}</span> |
45 | | - |
46 | | - <ul class="dropdownMenu"> |
47 | | - {foreach from=$validSortFields item=_sortField} |
48 | | - <li{if $_sortField === $sortField} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$assignedUserID}&status={@$status}&pageNo={@$pageNo}&sortField={$_sortField}&sortOrder={if $sortField == $_sortField && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.moderation.{$_sortField}{/lang}</a></li> |
49 | | - {/foreach} |
50 | | - </ul> |
51 | | - </div> |
52 | | - </li> |
53 | | - </ul> |
54 | | - </li> |
55 | | - {hascontent} |
56 | | - <li class="columnFilter"> |
57 | | - <ul class="inlineList"> |
58 | | - {content} |
59 | | - {if $definitionID} |
60 | | - <li class="jsTooltip" title="{lang}wcf.moderation.filterByType{/lang}"> |
61 | | - {icon name='tag'} |
62 | | - {lang}wcf.moderation.type.{$availableDefinitions[$definitionID]}{/lang} |
63 | | - </li> |
64 | | - {/if} |
65 | | - |
66 | | - {if !$assignedUserID || $assignedUserID == $__wcf->getUser()->userID} |
67 | | - <li class="jsTooltip" title="{lang}wcf.moderation.filterByUser{/lang}"> |
68 | | - {icon name='user'} |
69 | | - {if !$assignedUserID} |
70 | | - {lang}wcf.moderation.filterByUser.nobody{/lang} |
71 | | - {else} |
72 | | - {lang}wcf.moderation.filterByUser.myself{/lang} |
73 | | - {/if} |
74 | | - </li> |
75 | | - {/if} |
76 | | - |
77 | | - {if $status == -1 || $status == 2} |
78 | | - <li class="jsTooltip" title="{lang}wcf.moderation.status{/lang}"> |
79 | | - {if $status == -1} |
80 | | - {icon name='circle'} |
81 | | - {lang}wcf.moderation.status.outstanding{/lang} |
82 | | - {else} |
83 | | - {icon name='circle-check'} |
84 | | - {lang}wcf.moderation.status.done{/lang} |
85 | | - {/if} |
86 | | - </li> |
87 | | - {/if} |
88 | | - {/content} |
89 | | - </ul> |
90 | | - </li> |
91 | | - {/hascontent} |
92 | | - <li class="columnApplyFilter jsOnly"> |
93 | | - <button type="button" class="button small jsStaticDialog" data-dialog-id="moderationListSortFilter">{icon name='filter'} {lang}wcf.global.filter{/lang}</button> |
94 | | - </li> |
95 | | - </ol> |
96 | | - </li> |
97 | | - |
98 | | - {foreach from=$objects item=entry} |
99 | | - <li class="tabularListRow"> |
100 | | - <ol class="tabularListColumns messageGroup moderationQueueEntry jsClipboardObject{if $entry->isNew()} new{/if}" data-queue-id="{@$entry->queueID}"> |
101 | | - <li class="columnMark jsOnly"> |
102 | | - <label><input type="checkbox" class="jsClipboardItem" data-object-id="{@$entry->getObjectID()}"></label> |
103 | | - </li> |
104 | | - <li class="columnIcon columnAvatar"> |
105 | | - <div> |
106 | | - <p{if $entry->isNew()} title="{lang}wcf.moderation.markAsRead.doubleClick{/lang}"{/if}>{@$entry->getUserProfile()->getAvatar()->getImageTag(48)}</p> |
107 | | - |
108 | | - {if $entry->assignedUserID} |
109 | | - <small class="myAvatar jsTooltip" title="{lang}wcf.moderation.assignedUser{/lang}">{@$entry->getAssignedUserProfile()->getAvatar()->getImageTag(24)}</small> |
110 | | - {/if} |
111 | | - </div> |
112 | | - </li> |
113 | | - <li class="columnSubject"> |
114 | | - <ul class="labelList"> |
115 | | - <li><span class="badge label">{$entry->getLabel()}</span></li> |
116 | | - </ul> |
117 | | - |
118 | | - <h3> |
119 | | - <a href="{$entry->getLink()}" class="messageGroupLink">{$entry->getTitle()}</a> |
120 | | - {if $entry->comments} |
121 | | - <span class="badge messageGroupCounterMobile">{@$entry->comments|shortUnit}</span> |
122 | | - {/if} |
123 | | - </h3> |
124 | | - |
125 | | - <ul class="inlineList dotSeparated small messageGroupInfo"> |
126 | | - <li class="messageGroupAuthor">{if $entry->getAffectedObject()->getUserID()}{user object=$entry->getUserProfile()}{else}{$entry->getAffectedObject()->getUsername()}{/if}</li> |
127 | | - <li class="messageGroupTime">{@$entry->getAffectedObject()->getTime()|time}</li> |
128 | | - <li>{lang}wcf.moderation.type.{@$entry->getObjectTypeName()}{/lang}</li> |
129 | | - |
130 | | - {event name='messageGroupInfo'} |
131 | | - </ul> |
132 | | - |
133 | | - <ul class="messageGroupInfoMobile"> |
134 | | - <li class="messageGroupAuthorMobile">{$entry->getAffectedObject()->getUsername()}</li> |
135 | | - <li class="messageGroupLastPostTimeMobile">{if $entry->lastChangeTime}{@$entry->lastChangeTime|time}{/if}</li> |
136 | | - </ul> |
137 | | - |
138 | | - {if $entry->assignedUserID} |
139 | | - <small class="moderationQueueEntryAssignedUser"> |
140 | | - {lang}wcf.moderation.assignedUser{/lang}: <a href="{link controller='User' id=$entry->assignedUserID}{/link}" class="userLink" data-object-id="{@$entry->assignedUserID}">{$entry->assignedUsername}</a> |
141 | | - </small> |
142 | | - {/if} |
143 | | - |
144 | | - {event name='moderationQueueEntryData'} |
145 | | - </li> |
146 | | - <li class="columnStats"> |
147 | | - <dl class="plain statsDataList"> |
148 | | - <dt>{lang}wcf.global.comments{/lang}</dt> |
149 | | - <dd>{@$entry->comments|shortUnit}</dd> |
150 | | - </dl> |
151 | | - |
152 | | - <div class="messageGroupListStatsSimple">{if $entry->comments}{icon name='comment'} {@$entry->comments|shortUnit}{/if}</div> |
153 | | - </li> |
154 | | - <li class="columnLastPost columnDate"> |
155 | | - {if $entry->lastChangeTime}{@$entry->lastChangeTime|time}{/if} |
156 | | - </li> |
157 | | - |
158 | | - {event name='columns'} |
159 | | - </ol> |
160 | | - </li> |
161 | | - {/foreach} |
162 | | - </ol> |
163 | | - </div> |
164 | | - |
165 | | - <footer class="contentFooter"> |
166 | | - {hascontent} |
167 | | - <div class="paginationBottom"> |
168 | | - {content}{@$pagesLinks}{/content} |
169 | | - </div> |
170 | | - {/hascontent} |
171 | | - |
172 | | - {hascontent} |
173 | | - <nav class="contentFooterNavigation"> |
174 | | - <ul> |
175 | | - {content}{event name='contentFooterNavigation'}{/content} |
176 | | - </ul> |
177 | | - </nav> |
178 | | - {/hascontent} |
179 | | - </footer> |
180 | | -{else} |
181 | | - <woltlab-core-notice type="info">{lang}wcf.moderation.noEntries{/lang}</woltlab-core-notice> |
182 | | -{/if} |
183 | | - |
184 | | -<div id="moderationListSortFilter" class="jsStaticDialogContent" data-title="{lang}wcf.moderation.filter{/lang}"> |
185 | | - <form method="post" action="{link controller='ModerationList'}{/link}"> |
186 | | - <div class="section"> |
187 | | - <dl> |
188 | | - <dt><label for="definitionID">{lang}wcf.moderation.filterByType{/lang}</label></dt> |
189 | | - <dd> |
190 | | - <select name="definitionID" id="definitionID"> |
191 | | - <option value="0">{lang}wcf.moderation.type.all{/lang}</option> |
192 | | - {foreach from=$availableDefinitions key=__definitionID item=definitionName} |
193 | | - <option value="{$__definitionID}"{if $__definitionID == $definitionID} selected{/if}>{lang}wcf.moderation.type.{$definitionName}{/lang}</option> |
194 | | - {/foreach} |
195 | | - |
196 | | - {event name='filterModerationType'} |
197 | | - </select> |
198 | | - </dd> |
199 | | - </dl> |
200 | | - |
201 | | - <dl> |
202 | | - <dt><label for="assignedUserID">{lang}wcf.moderation.filterByUser{/lang}</label></dt> |
203 | | - <dd> |
204 | | - <select name="assignedUserID" id="assignedUserID"> |
205 | | - <option value="-1"{if $assignedUserID == -1} selected{/if}>{lang}wcf.moderation.filterByUser.allEntries{/lang}</option> |
206 | | - <option value="0"{if $assignedUserID == 0} selected{/if}>{lang}wcf.moderation.filterByUser.nobody{/lang}</option> |
207 | | - <option value="{$__wcf->getUser()->userID}"{if $assignedUserID == $__wcf->getUser()->userID} selected{/if}>{lang}wcf.moderation.filterByUser.myself{/lang}</option> |
208 | | - |
209 | | - {event name='filterAssignedUser'} |
210 | | - </select> |
211 | | - </dd> |
212 | | - </dl> |
213 | | - |
214 | | - <dl> |
215 | | - <dt><label for="status">{lang}wcf.moderation.status{/lang}</label></dt> |
216 | | - <dd> |
217 | | - <select name="status" id="status"> |
218 | | - <option value="-1"{if $status == -1} selected{/if}>{lang}wcf.moderation.status.outstanding{/lang}</option> |
219 | | - <option value="2"{if $status == 2} selected{/if}>{lang}wcf.moderation.status.done{/lang}</option> |
220 | | - |
221 | | - {event name='filterStatus'} |
222 | | - </select> |
223 | | - </dd> |
224 | | - </dl> |
225 | | - </div> |
226 | | - |
227 | | - <div class="formSubmit"> |
228 | | - <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s"> |
229 | | - <a href="{link controller='ModerationList'}{/link}" class="button">{lang}wcf.global.button.reset{/lang}</a> |
230 | | - <input type="hidden" name="sortField" value="{$sortField}"> |
231 | | - <input type="hidden" name="sortOrder" value="{$sortOrder}"> |
232 | | - </div> |
233 | | - </form> |
| 16 | +<div class="section"> |
| 17 | + {unsafe:$gridView->render()} |
234 | 18 | </div> |
235 | 19 |
|
236 | | -<script data-relocate="true"> |
237 | | - require([ |
238 | | - 'Language', |
239 | | - 'WoltLabSuite/Core/Controller/Clipboard', |
240 | | - 'WoltLabSuite/Core/Ui/Moderation/Clipboard/AssignUser' |
241 | | - ], ( |
242 | | - Language, |
243 | | - ControllerClipboard, |
244 | | - UiModerationClipboardAssignUser |
245 | | - ) => { |
246 | | - Language.addObject({ |
247 | | - 'wcf.moderation.assignedUser': '{jslang}wcf.moderation.assignedUser{/jslang}', |
248 | | - 'wcf.moderation.assignedUser.change': '{jslang}wcf.moderation.assignedUser.change{/jslang}', |
249 | | - 'wcf.moderation.assignedUser.error.notAffected': '{jslang}wcf.moderation.assignedUser.error.notAffected{/jslang}', |
250 | | - 'wcf.moderation.assignedUser.nobody': '{jslang}wcf.moderation.assignedUser.nobody{/jslang}', |
251 | | - 'wcf.user.username.error.notFound': '{jslang __literal=true}wcf.user.username.error.notFound{/jslang}', |
252 | | - }); |
253 | | - |
254 | | - ControllerClipboard.setup({ |
255 | | - hasMarkedItems: {if $hasMarkedItems}true{else}false{/if}, |
256 | | - pageClassName: 'wcf\\page\\ModerationListPage', |
257 | | - }); |
258 | | - |
259 | | - UiModerationClipboardAssignUser.setup(); |
260 | | - }); |
261 | | -</script> |
262 | | - |
| 20 | +<!-- TODO --> |
263 | 21 | <script data-relocate="true"> |
264 | 22 | require(['WoltLabSuite/Core/Ui/Moderation/MarkAsRead'], (MarkAsRead) => { |
265 | 23 | MarkAsRead.setup(); |
|
0 commit comments