TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
<html
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true"
|
||||
>
|
||||
|
||||
<f:form action="list" objectName="demand" object="{demand}">
|
||||
<div class="form-row">
|
||||
<div class="form-group">
|
||||
<label for="tx_Beuser_username" class="form-label"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:userName" /></label>
|
||||
<f:form.textfield
|
||||
type="search"
|
||||
autocomplete="off"
|
||||
id="tx_Beuser_username"
|
||||
class="form-control"
|
||||
property="userName"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="tx_Beuser_usertype" class="form-label"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.list.filter.userType" /></label>
|
||||
<f:form.select
|
||||
id="tx_Beuser_usertype"
|
||||
class="form-select"
|
||||
property="userType"
|
||||
options="{
|
||||
0: '{f:translate(key:\"backendUser.list.filter.userType.all\")}',
|
||||
1: '{f:translate(key:\"backendUser.list.filter.userType.admin\")}',
|
||||
2: '{f:translate(key:\"backendUser.list.filter.userType.normalUser\")}'
|
||||
}"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="tx_Beuser_status" class="form-label"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.list.filter.status" /></label>
|
||||
<f:form.select
|
||||
id="tx_Beuser_status"
|
||||
class="form-select"
|
||||
property="status"
|
||||
options="{
|
||||
0: '{f:translate(key:\"backendUser.list.filter.status.all\")}',
|
||||
1: '{f:translate(key:\"backendUser.list.filter.status.enabled\")}',
|
||||
2: '{f:translate(key:\"backendUser.list.filter.status.disabled\")}'
|
||||
}"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="tx_Beuser_logins" class="form-label"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.list.filter.loginState" /></label>
|
||||
<f:form.select
|
||||
id="tx_Beuser_logins"
|
||||
class="form-select"
|
||||
property="logins"
|
||||
options="{
|
||||
0: '{f:translate(key:\"backendUser.list.filter.loginState.all\")}',
|
||||
1: '{f:translate(key:\"backendUser.list.filter.loginState.loginBefore\")}',
|
||||
2: '{f:translate(key:\"backendUser.list.filter.loginState.never\")}',
|
||||
3: '{f:translate(key:\"backendUser.list.filter.loginState.loggedIn\")}'
|
||||
}"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="tx_beuser_backendUserGroup" class="form-label"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.list.filter.group" /></label>
|
||||
<f:form.select
|
||||
id="tx_beuser_backendUserGroup"
|
||||
class="form-select"
|
||||
property="backendUserGroup"
|
||||
options="{backendUserGroups}"
|
||||
optionLabelField="title"
|
||||
optionValueField="uid"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-group align-self-end">
|
||||
<f:form.button type="submit" name="operation" value="filter" class="btn btn-default">
|
||||
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:filter" />
|
||||
</f:form.button>
|
||||
<f:form.button type="submit" name="operation" value="reset-filters" class="btn btn-link">
|
||||
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:reset" />
|
||||
</f:form.button>
|
||||
</div>
|
||||
</div>
|
||||
</f:form>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,223 @@
|
||||
<html
|
||||
xmlns:backend="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
|
||||
xmlns:beuser="http://typo3.org/ns/TYPO3/CMS/Beuser/ViewHelpers"
|
||||
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true"
|
||||
>
|
||||
|
||||
<div class="table-fit">
|
||||
<table id="typo3-backend-user-list" class="table table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="3"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:userName" /> / <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:realName" /></th>
|
||||
<th><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUser.list.table.column.group" /></th>
|
||||
<th class="col-datetime"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:lastLogin" /></th>
|
||||
<th class="col-control"><span class="visually-hidden"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels._CONTROL_" /></span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<f:for each="{paginator.paginatedItems}" as="backendUser">
|
||||
<tr>
|
||||
<td class="col-indicator">
|
||||
<f:if condition="{onlineBackendUsers.{backendUser.uid}}">
|
||||
<typo3-backend-status-indicator state="success" live label="{f:translate(key:'backendUser.list.label.online', domain:'beuser.messages')}"></typo3-backend-status-indicator>
|
||||
</f:if>
|
||||
</td>
|
||||
<td class="col-avatar">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-link"
|
||||
data-contextmenu-trigger="click"
|
||||
data-contextmenu-table="be_users"
|
||||
data-contextmenu-uid="{backendUser.uid}"
|
||||
title="{f:if(condition: '{backendUser.description}', then: '{backendUser.description} (id={backendUser.uid})', else: 'id={backendUser.uid}')}"
|
||||
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.contextMenu.open')}"
|
||||
>
|
||||
<backend:avatar backendUser="{backendUser.uid}" showIcon="TRUE" />
|
||||
</button>
|
||||
</td>
|
||||
<td class="col-50">
|
||||
<backend:link.editRecord table="be_users" uid="{backendUser.uid}" title="{f:translate(key:'btn.edit')}">
|
||||
<f:if condition="{backendUser.realName}">
|
||||
<f:then>
|
||||
{backendUser.realName}
|
||||
<beuser:mfaStatus userUid="{backendUser.uid}"/><br>
|
||||
<span class="text-variant">({backendUser.username})</span>
|
||||
</f:then>
|
||||
<f:else>
|
||||
{backendUser.username}
|
||||
<beuser:mfaStatus userUid="{backendUser.uid}"/>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</backend:link.editRecord>
|
||||
</td>
|
||||
<td class="col-50 nowrap-disabled">
|
||||
<f:for each="{backendUser.backendUserGroups}" as="backendUserGroup" iteration="backendUserGroupIterator">
|
||||
<backend:link.editRecord table="be_groups" uid="{backendUserGroup.uid}" title="{f:translate(key:'btn.edit')}" class="nowrap">{backendUserGroup.title}</backend:link.editRecord><f:if condition="!{backendUserGroupIterator.isLast}">,</f:if>
|
||||
</f:for>
|
||||
</td>
|
||||
<td class="col-datetime">
|
||||
<f:if condition="{backendUser.lastLoginDateAndTime}">
|
||||
<f:then>
|
||||
<f:format.date format="{dateFormat} {timeFormat}">{backendUser.lastLoginDateAndTime}</f:format.date>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:never" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</td>
|
||||
<td class="col-control">
|
||||
<div class="btn-group" role="group">
|
||||
<backend:link.editRecord
|
||||
class="btn btn-default"
|
||||
table="be_users"
|
||||
uid="{backendUser.uid}"
|
||||
title="{f:translate(key:'btn.edit')}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-open" />
|
||||
</backend:link.editRecord>
|
||||
<f:if condition="{backendUser.currentlyLoggedIn} == 1">
|
||||
<f:then>
|
||||
<span class="btn btn-default disabled"><core:icon identifier="empty-empty" /></span>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:if condition="{backendUser.isDisabled} == 1">
|
||||
<f:then>
|
||||
<a
|
||||
class="btn btn-default"
|
||||
href="{backend:moduleLink(route:'tce_db', query:'data[be_users][{backendUser.uid}][disable]=0', currentUrlParameterName:'redirect')}"
|
||||
title="{f:translate(key:'btn.enable')}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-edit-unhide" />
|
||||
</a>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<a
|
||||
class="btn btn-default"
|
||||
href="{backend:moduleLink(route:'tce_db', query:'data[be_users][{backendUser.uid}][disable]=1', currentUrlParameterName:'redirect')}"
|
||||
title="{f:translate(key:'btn.disable')}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-edit-hide" />
|
||||
</a>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<f:if condition="{currentUserUid} == {backendUser.uid}">
|
||||
<f:then>
|
||||
<span class="btn btn-default disabled"><core:icon identifier="empty-empty" /></span>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<form action="{backend:moduleLink(route:'tce_db', currentUrlParameterName:'redirect')}" name="be_user_remove_{backendUser.uid}" id="be_user_remove_{backendUser.uid}" method="post">
|
||||
<input name="cmd[be_users][{backendUser.uid}][delete]=1" type="hidden" value="{group.uid}">
|
||||
</form>
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-default t3js-modal-trigger"
|
||||
data-target-form="be_user_remove_{backendUser.uid}"
|
||||
title="{f:translate(key:'btn.delete')}"
|
||||
data-severity="warning"
|
||||
data-title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_alt_doc.xlf:label.confirm.delete_record.title')}"
|
||||
data-content="{f:translate(key:'backendUser.confirmDelete',arguments:'{0:backendUser.userName}')}"
|
||||
data-button-close-text="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
|
||||
data-button-ok-text="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_alt_doc.xlf:buttons.confirm.delete_record.yes')}"
|
||||
>
|
||||
<core:icon identifier="actions-edit-delete" />
|
||||
</button>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
<div class="btn-group" role="group">
|
||||
<f:if condition="{backendUser.passwordResetEnabled}">
|
||||
<f:then>
|
||||
<f:form.button
|
||||
name="user"
|
||||
value="{backendUser.uid}"
|
||||
form="form-initiate-password-reset"
|
||||
class="btn btn-default t3js-modal-trigger"
|
||||
title="{f:translate(key: 'resetPassword.label')}"
|
||||
type="submit"
|
||||
data-severity="warning"
|
||||
data-title="{f:translate(key: 'resetPassword.confirmation.header')}"
|
||||
data-content="{f:translate(key: 'resetPassword.confirmation.text', arguments: {0: '{backendUser.email}'})}"
|
||||
data-button-close-text="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}">
|
||||
<core:icon identifier="actions-key" />
|
||||
</f:form.button>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<span class="btn btn-default disabled"><core:icon identifier="empty-empty" /></span>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<f:link.action
|
||||
action="show"
|
||||
arguments="{uid: backendUser.uid}"
|
||||
class="btn btn-default"
|
||||
title="{f:translate(key: 'btn.details')}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-system-options-view" size="small"/>
|
||||
</f:link.action>
|
||||
<a
|
||||
class="btn btn-default"
|
||||
href="#"
|
||||
title="{f:translate(key:'btn.info')}"
|
||||
data-dispatch-action="TYPO3.InfoWindow.showItem"
|
||||
data-dispatch-args-list="be_users,{backendUser.uid}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-document-info" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="btn-group" role="group">
|
||||
<f:if condition="{compareUserUidList.{backendUser.uid}}">
|
||||
<f:then>
|
||||
<f:form.button
|
||||
form="form-remove-from-compare-list"
|
||||
name="uid"
|
||||
value="{backendUser.uid}"
|
||||
type="submit"
|
||||
class="btn btn-default"
|
||||
title="{f:translate(key: 'btn.removeFromCompareList')}"
|
||||
>
|
||||
<core:icon identifier="actions-minus" size="small"/>
|
||||
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.compare" />
|
||||
</f:form.button>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:form.button
|
||||
form="form-add-to-compare-list"
|
||||
name="uid"
|
||||
value="{backendUser.uid}"
|
||||
type="submit"
|
||||
class="btn btn-default"
|
||||
title="{f:translate(key: 'btn.addToCompareList')}"
|
||||
>
|
||||
<core:icon identifier="actions-plus" size="small"/>
|
||||
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.compare" />
|
||||
</f:form.button>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<beuser:SwitchUser class="btn btn-default" backendUser="{backendUser}" />
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<f:if condition="{totalAmountOfBackendUsers} > 1">
|
||||
<f:then>{totalAmountOfBackendUsers} <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:users" /></f:then>
|
||||
<f:else>{totalAmountOfBackendUsers} <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:user" /></f:else>
|
||||
</f:if>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<f:render partial="SimplePagination" arguments="{paginator:paginator, pagination:pagination, actionName:'list'}" />
|
||||
@@ -0,0 +1,27 @@
|
||||
<html
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true"
|
||||
>
|
||||
|
||||
<f:form action="groups" objectName="userGroupDto" object="{userGroupDto}">
|
||||
<div class="form-row">
|
||||
<div class="form-group">
|
||||
<label for="tx_Beugroups_title" class="form-label"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUserGroup.list.filter.groupTitle" /></label>
|
||||
<f:form.textfield
|
||||
id="tx_Beugroups_title"
|
||||
class="form-control"
|
||||
property="title"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-group align-self-end">
|
||||
<f:form.button type="submit" name="operation" value="filter" class="btn btn-default">
|
||||
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:filter" />
|
||||
</f:form.button>
|
||||
<f:form.button type="submit" name="operation" value="reset-filters" class="btn btn-link">
|
||||
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:reset" />
|
||||
</f:form.button>
|
||||
</div>
|
||||
</div>
|
||||
</f:form>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,162 @@
|
||||
<html
|
||||
xmlns:backend="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
|
||||
xmlns:beuser="http://typo3.org/ns/TYPO3/CMS/Beuser/ViewHelpers"
|
||||
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true"
|
||||
>
|
||||
|
||||
<div class="table-fit">
|
||||
<table id="typo3-backend-user-group-list" class="table table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUserGroup.list.table.column.groupTitle" /></th>
|
||||
<th><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:backendUserGroup.list.table.column.subgroup" /></th>
|
||||
<th class="col-control"><span class="visually-hidden"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels._CONTROL_" /></span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<f:for each="{paginator.paginatedItems}" as="backendUserGroup">
|
||||
<tr>
|
||||
<td class="col-icon">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-link"
|
||||
data-contextmenu-trigger="click"
|
||||
data-contextmenu-table="be_groups"
|
||||
data-contextmenu-uid="{backendUserGroup.uid}"
|
||||
title="{f:if(condition: '{backendUserGroup.description}', then: '{backendUserGroup.description} (id={backendUserGroup.uid})', else: 'id={backendUserGroup.uid}')}"
|
||||
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.contextMenu.open')}"
|
||||
>
|
||||
<beuser:spriteIconForRecord table="be_groups" object="{backendUserGroup}" />
|
||||
</button>
|
||||
</td>
|
||||
<td class="col-50">
|
||||
<backend:link.editRecord table="be_groups" uid="{backendUserGroup.uid}" title="{f:translate(key:'btn.edit')}">
|
||||
{backendUserGroup.title}
|
||||
</backend:link.editRecord>
|
||||
</td>
|
||||
<td class="col-50 nowrap-disabled">
|
||||
<f:for each="{backendUserGroup.subgroups}" as="subgroup" iteration="subGroupIterator">
|
||||
<backend:link.editRecord table="be_groups" uid="{subgroup.uid}" title="{f:translate(key:'btn.edit')}">{subgroup.title}</backend:link.editRecord><f:if condition="!{subGroupIterator.isLast}">,</f:if>
|
||||
</f:for>
|
||||
</td>
|
||||
<td class="col-control">
|
||||
<div class="btn-group" role="group">
|
||||
<backend:link.editRecord
|
||||
class="btn btn-default"
|
||||
table="be_groups"
|
||||
uid="{backendUserGroup.uid}"
|
||||
title="{f:translate(key:'btn.edit')}"
|
||||
>
|
||||
<core:icon identifier="actions-open" />
|
||||
</backend:link.editRecord>
|
||||
<f:if condition="{backendUserGroup.hidden}">
|
||||
<f:then>
|
||||
<a
|
||||
class="btn btn-default"
|
||||
href="{backend:moduleLink(route:'tce_db', query:'data[be_groups][{backendUserGroup.uid}][hidden]=0', currentUrlParameterName:'redirect')}"
|
||||
title="{f:translate(key:'btn.enable')}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-edit-unhide" />
|
||||
</a>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<a
|
||||
class="btn btn-default"
|
||||
href="{backend:moduleLink(route:'tce_db', query:'data[be_groups][{backendUserGroup.uid}][hidden]=1', currentUrlParameterName:'redirect')}"
|
||||
title="{f:translate(key:'btn.disable')}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-edit-hide" />
|
||||
</a>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<form action="{backend:moduleLink(route:'tce_db', currentUrlParameterName:'redirect')}" name="be_user_group_remove_{backendUserGroup.uid}" id="be_user_group_remove_{backendUserGroup.uid}" method="post">
|
||||
<input name="cmd[be_groups][{backendUserGroup.uid}][delete]=1" type="hidden" value="{group.uid}">
|
||||
</form>
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-default t3js-modal-trigger"
|
||||
data-target-form="be_user_group_remove_{backendUserGroup.uid}"
|
||||
data-severity="warning"
|
||||
data-title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_alt_doc.xlf:label.confirm.delete_record.title')}"
|
||||
data-content="{f:translate(key:'backendUserGroup.confirmDelete',arguments:'{0:backendUserGroup.title}')}"
|
||||
data-button-close-text="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
|
||||
data-button-ok-text="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_alt_doc.xlf:buttons.confirm.delete_record.yes')}"
|
||||
title="{f:translate(key:'btn.delete')}"
|
||||
>
|
||||
<core:icon identifier="actions-edit-delete"/>
|
||||
</button>
|
||||
</div>
|
||||
<div class="btn-group" role="group">
|
||||
<f:link.action
|
||||
action="showGroup"
|
||||
arguments="{uid: backendUserGroup.uid}"
|
||||
class="btn btn-default"
|
||||
title="{f:translate(key: 'btn.details')}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-system-options-view" size="small"/>
|
||||
</f:link.action>
|
||||
<a
|
||||
class="btn btn-default"
|
||||
href="#"
|
||||
title="{f:translate(key:'btn.info')}"
|
||||
data-dispatch-action="TYPO3.InfoWindow.showItem"
|
||||
data-dispatch-args-list="be_groups,{backendUserGroup.uid}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-document-info" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="btn-group" role="group">
|
||||
<f:if condition="{compareGroupUidList.{backendUserGroup.uid}}">
|
||||
<f:then>
|
||||
<f:form.button
|
||||
form="form-remove-group-from-compare-list"
|
||||
name="uid"
|
||||
value="{backendUserGroup.uid}"
|
||||
type="submit"
|
||||
class="btn btn-default"
|
||||
title="{f:translate(key: 'btn.removeFromCompareList')}"
|
||||
>
|
||||
<core:icon identifier="actions-minus" size="small"/>
|
||||
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.compare" />
|
||||
</f:form.button>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:form.button
|
||||
form="form-add-group-to-compare-list"
|
||||
name="uid"
|
||||
value="{backendUserGroup.uid}"
|
||||
type="submit"
|
||||
class="btn btn-default"
|
||||
title="{f:translate(key: 'btn.addToCompareList')}"
|
||||
>
|
||||
<core:icon identifier="actions-plus" size="small"/> <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.compare" />
|
||||
</f:form.button>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<f:if condition="{totalAmountOfBackendUserGroups} > 1">
|
||||
<f:then>{totalAmountOfBackendUserGroups} <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:groups" /></f:then>
|
||||
<f:else>{totalAmountOfBackendUserGroups} <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:group" /></f:else>
|
||||
</f:if>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<f:render partial="SimplePagination" arguments="{paginator:paginator, pagination:pagination, actionName:'groups'}" />
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,489 @@
|
||||
<html
|
||||
xmlns:backend="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
|
||||
xmlns:beuser="http://typo3.org/ns/TYPO3/CMS/Beuser/ViewHelpers"
|
||||
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true"
|
||||
>
|
||||
|
||||
<f:section name="languages">
|
||||
<f:if condition="{languages}">
|
||||
<div class="table-fit">
|
||||
<table class="table">
|
||||
<f:for each="{languages}" key="languageId" as="language">
|
||||
<tr>
|
||||
<f:if condition="{languageId} == 0">
|
||||
<f:then>
|
||||
<td class="col-icon"></td>
|
||||
<td class="col-title">
|
||||
{language.title} (<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:information.defaultLanguage" />)<f:if condition="{showUid}"> <code>[{languageId}]</code></f:if>
|
||||
</td>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<td class="col-icon">
|
||||
<span title="id={languageId}"><core:icon identifier="{language.flagIconIdentifier}" /></span>
|
||||
</td>
|
||||
<td class="col-title">{language.title}<f:if condition="{showUid}"> <code>[{languageId}]</code></f:if></td>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</tr>
|
||||
</f:for>
|
||||
</table>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="groups">
|
||||
<f:if condition="{groups.all}">
|
||||
<div class="table-fit">
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:information.groups.table.column.groupTitle" /></th>
|
||||
<th{f:if(condition: '{hasColumnClasses}', then: ' class="col-min"')}><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:compare.direct.direct" /></th>
|
||||
<th{f:if(condition: '{hasColumnClasses}', then: ' class="col-min"')}><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:compare.direct.inherit" /></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<f:for each="{groups.all}" as="group">
|
||||
<tr>
|
||||
<td class="col-title col-responsive">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-link"
|
||||
data-contextmenu-trigger="click"
|
||||
data-contextmenu-table="be_groups"
|
||||
data-contextmenu-uid="{group.row.uid}"
|
||||
title="id={group.row.uid}"
|
||||
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.contextMenu.open')}"
|
||||
>
|
||||
<core:iconForRecord table="be_groups" row="{group.row}"/>
|
||||
</button>
|
||||
<backend:link.editRecord
|
||||
table="be_groups"
|
||||
uid="{group.row.uid}"
|
||||
title="{f:translate(key: 'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.edit')}"
|
||||
>
|
||||
{group.row.title}<f:if condition="{showUid}"> <code>[{group.row.uid}]</code></f:if>
|
||||
</backend:link.editRecord>
|
||||
</td>
|
||||
<td{f:if(condition: '{hasColumnClasses}', then: ' class="col-min"')}>
|
||||
<f:if condition="{group.direct}"><span class="text-success"><core:icon identifier="actions-check" size="small" /></span></f:if>
|
||||
</td>
|
||||
<td{f:if(condition: '{hasColumnClasses}', then: ' class="col-min"')}>
|
||||
<f:if condition="{group.diff}"><span class="text-success"><core:icon identifier="actions-check" size="small" /></span></f:if>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="dbMounts">
|
||||
<f:if condition="{dbMounts}">
|
||||
<div class="table-fit">
|
||||
<table class="table">
|
||||
<f:for each="{dbMounts}" as="item">
|
||||
<tr>
|
||||
<td class="col-icon">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-link"
|
||||
data-contextmenu-trigger="click"
|
||||
data-contextmenu-table="pages"
|
||||
data-contextmenu-uid="{item.uid}"
|
||||
title="id={item.uid}"
|
||||
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.contextMenu.open')}"
|
||||
>
|
||||
<core:iconForRecord table="pages" row="{item}"/>
|
||||
</button>
|
||||
</td>
|
||||
<td class="col-title">
|
||||
<backend:link.editRecord
|
||||
table="pages"
|
||||
uid="{item.uid}"
|
||||
title="{f:translate(key: 'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.edit')}"
|
||||
>
|
||||
{item.title}<f:if condition="{showUid}"> <code>[{item.uid}]</code></f:if>
|
||||
</backend:link.editRecord>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</table>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="fileMounts">
|
||||
<f:if condition="{fileMounts}">
|
||||
<div class="table-fit">
|
||||
<table class="table">
|
||||
<f:for each="{fileMounts}" as="item">
|
||||
<tr>
|
||||
<td class="col-icon">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-link"
|
||||
data-contextmenu-trigger="click"
|
||||
data-contextmenu-table="sys_filemounts"
|
||||
data-contextmenu-uid="{item.uid}"
|
||||
title="id={item.uid}"
|
||||
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.contextMenu.open')}"
|
||||
>
|
||||
<core:iconForRecord table="sys_filemounts" row="{item}"/>
|
||||
</button>
|
||||
</td>
|
||||
<td class="col-title">
|
||||
<backend:link.editRecord
|
||||
table="sys_filemounts"
|
||||
uid="{item.uid}"
|
||||
title="{f:translate(key: 'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.edit')}"
|
||||
>
|
||||
{item.title}<f:if condition="{showUid}"> <code>[{item.uid}]</code></f:if>
|
||||
</backend:link.editRecord>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</table>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="fileFolderPermissions">
|
||||
<f:if condition="{fileFolderPermissions}">
|
||||
<div class="table-fit">
|
||||
<table class="table">
|
||||
<f:for each="{fileFolderPermissions}" as="item">
|
||||
<tr>
|
||||
<td class="col-icon"><core:icon identifier="{item.icon}" /></td>
|
||||
<td class="col-title">
|
||||
<f:if condition="{item.label}">
|
||||
<f:then>{f:translate(key:item.label,default:item.label)}</f:then>
|
||||
<f:else>{item.value}</f:else>
|
||||
</f:if>
|
||||
<f:if condition="{showUid}"> <code>[{item.value}]</code></f:if>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</table>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="categories">
|
||||
<f:if condition="{categories}">
|
||||
<div class="table-fit">
|
||||
<table class="table">
|
||||
<f:for each="{categories}" as="item">
|
||||
<tr>
|
||||
<td class="col-icon">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-link"
|
||||
data-contextmenu-trigger="click"
|
||||
data-contextmenu-table="sys_category"
|
||||
data-contextmenu-uid="{item.uid}"
|
||||
title="id={item.uid}"
|
||||
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.contextMenu.open')}"
|
||||
>
|
||||
<core:iconForRecord table="sys_category" row="{item}"/>
|
||||
</button>
|
||||
</td>
|
||||
<td class="col-title">
|
||||
<backend:link.editRecord
|
||||
table="sys_category"
|
||||
uid="{item.uid}"
|
||||
title="{f:translate(key: 'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.edit')}"
|
||||
>
|
||||
{item.title}<f:if condition="{showUid}"> <code>[{item.uid}]</code></f:if>
|
||||
</backend:link.editRecord>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</table>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="workspaces">
|
||||
<f:if condition="{workspaces}">
|
||||
<f:if condition="{workspaces.record.uid}">
|
||||
<div class="table-fit">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td class="col-icon">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-link"
|
||||
data-contextmenu-trigger="click"
|
||||
data-contextmenu-table="sys_workspace"
|
||||
data-contextmenu-uid="{workspaces.record.uid}"
|
||||
title="id={workspaces.record.uid}"
|
||||
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.contextMenu.open')}"
|
||||
>
|
||||
<core:icon identifier="mimetypes-x-sys_workspace" size="small" />
|
||||
</button>
|
||||
</td>
|
||||
<td class="col-title">
|
||||
<backend:link.editRecord
|
||||
table="sys_workspace"
|
||||
uid="{workspaces.record.uid}"
|
||||
title="{f:translate(key: 'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:btn.edit')}"
|
||||
>{workspaces.record.title}</backend:link.editRecord>
|
||||
(<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:information.defaultWorkspace" />)<f:if condition="{showUid}"> <code>[{workspaces.record.uid}]</code></f:if>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="pageTypes">
|
||||
<f:if condition="{pageTypes}">
|
||||
<div class="table-fit">
|
||||
<table class="table">
|
||||
<f:for each="{pageTypes}" as="item">
|
||||
<tr>
|
||||
<td class="col-icon"><core:icon identifier="{item.icon}" /></td>
|
||||
<td class="col-title">
|
||||
<f:if condition="{item.label}">{f:translate(key:item.label,default:item.label)}</f:if><f:if condition="{showUid}"> <code>[{item.value}]</code></f:if>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</table>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="modules">
|
||||
<f:if condition="{modules}">
|
||||
<div class="table-fit">
|
||||
<table class="table">
|
||||
<f:if condition="{showHeadline}">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:modules" /></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</f:if>
|
||||
<tbody>
|
||||
<f:for each="{modules}" as="module">
|
||||
<tr>
|
||||
<td class="col-icon"><core:icon identifier="{module.iconIdentifier}" /></td>
|
||||
<td class="col-title">{f:translate(key: module.title, default: module.title)}<f:if condition="{showUid}"> <code>[{module.identifier}]</code></f:if></td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="tables">
|
||||
<f:if condition="{tables.all}">
|
||||
<f:for each="{tables.all}" key="table" as="label">
|
||||
<f:if condition="{tables.tables_select.{table}} && !{tables.tables_modify.{table}}">
|
||||
<f:variable name="tableReadConfigured" value="1" />
|
||||
</f:if>
|
||||
<f:if condition="{tables.tables_modify.{table}}">
|
||||
<f:variable name="tableReadWriteConfigured" value="1" />
|
||||
</f:if>
|
||||
</f:for>
|
||||
<f:if condition="{tableReadConfigured}">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" role="tab">
|
||||
<div class="panel-heading-row">
|
||||
<button
|
||||
class="panel-button collapsed"
|
||||
type="button"
|
||||
data-bs-toggle="collapse"
|
||||
data-bs-target="#permission-group-read-table-{id}-collapse"
|
||||
aria-controls="permission-group-read-table-{id}-collapse"
|
||||
aria-expanded="false"
|
||||
>
|
||||
<div class="panel-title">
|
||||
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:tableModes.read" />
|
||||
</div>
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="permission-group-read-table-{id}-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
|
||||
<div class="table-fit">
|
||||
<table class="table">
|
||||
<f:for each="{tables.all}" key="table" as="label">
|
||||
<f:if condition="{tables.tables_select.{table}} && !{tables.tables_modify.{table}}">
|
||||
<tr>
|
||||
<td class="col-icon">
|
||||
<core:iconForRecord table="{table}" row="{id: '0'}" />
|
||||
</td>
|
||||
<td class="col-title">
|
||||
<f:if condition="{label}">{f:translate(key:label, default:label)}</f:if><f:if condition="{showUid}"> <code>[{table}]</code></f:if>
|
||||
</td>
|
||||
</tr>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{tableReadWriteConfigured}">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" role="tab">
|
||||
<div class="panel-heading-row">
|
||||
<button
|
||||
class="panel-button collapsed"
|
||||
type="button"
|
||||
data-bs-toggle="collapse"
|
||||
data-bs-target="#permission-group-read-write-table-{id}-collapse"
|
||||
aria-controls="permission-group-read-write-table-{id}-collapse"
|
||||
aria-expanded="false"
|
||||
>
|
||||
<div class="panel-title">
|
||||
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:tableModes.write" />
|
||||
</div>
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="permission-group-read-write-table-{id}-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
|
||||
<div class="table-fit">
|
||||
<table class="table">
|
||||
<f:for each="{tables.all}" key="table" as="label">
|
||||
<f:if condition="{tables.tables_modify.{table}}">
|
||||
<tr>
|
||||
<td class="col-icon">
|
||||
<core:iconForRecord table="{table}" row="{id: '0'}" />
|
||||
</td>
|
||||
<td class="col-title">
|
||||
<f:if condition="{label}">{f:translate(key:label, default:label)}</f:if><f:if condition="{showUid}"> <code>[{table}]</code></f:if>
|
||||
</td>
|
||||
</tr>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="nonExcludeFields">
|
||||
<f:if condition="{nonExcludeFields}">
|
||||
<f:for each="{nonExcludeFields}" key="tableName" as="table">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" role="tab">
|
||||
<div class="panel-heading-row">
|
||||
<button
|
||||
class="panel-button collapsed"
|
||||
type="button"
|
||||
data-bs-toggle="collapse"
|
||||
data-bs-target="#permission-group-{tableName}-{id}-collapse"
|
||||
aria-controls="permission-group-{tableName}-{id}-collapse"
|
||||
aria-expanded="false"
|
||||
>
|
||||
<div class="panel-icon">
|
||||
<core:iconForRecord table="{tableName}" row="{id: '0'}" />
|
||||
</div>
|
||||
<div class="panel-title">
|
||||
<f:if condition="{table.label}">{f:translate(key:table.label,default:table.label)}</f:if><f:if condition="{showUid}"> <code>[{tableName}]</code></f:if>
|
||||
</div>
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="permission-group-{tableName}-{id}-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
|
||||
<div class="panel-body">
|
||||
<ul class="panel-list">
|
||||
<f:for each="{table.fields}" as="label" key="field">
|
||||
<li><f:if condition="{label}">{f:translate(key:label,default:label)} </f:if><code>[{field}]</code></li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:for>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="tsconfig">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" role="tab">
|
||||
<div class="panel-heading-row">
|
||||
<button
|
||||
class="panel-button collapsed"
|
||||
type="button"
|
||||
data-bs-toggle="collapse"
|
||||
data-bs-target="#permission-group-tsconfig-{id}-collapse"
|
||||
aria-controls="permission-group-tsconfig-{id}-collapse"
|
||||
aria-expanded="false"
|
||||
>
|
||||
<div class="panel-title">
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:TSconfig" />
|
||||
</div>
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="permission-group-tsconfig-{id}-collapse" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
|
||||
<div class="panel-body">
|
||||
<f:render section="userTsConfigTree" arguments="{treeArray: tsconfig}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
|
||||
<f:section name="userTsConfigTree">
|
||||
<ul class="treelist">
|
||||
<f:for each="{treeArray}" key="key" as="value">
|
||||
<li>
|
||||
<span class="treelist-group treelist-group-monospace">
|
||||
<span class="treelist-label">{key}</span>
|
||||
<f:if condition="!{beuser:isArray(value: value)}">
|
||||
<span class="treelist-operator">=</span>
|
||||
<span class="treelist-value">{value}</span>
|
||||
</f:if>
|
||||
</span>
|
||||
<f:if condition="{beuser:isArray(value: value)}">
|
||||
<f:render section="userTsConfigTree" arguments="{treeArray: value}" />
|
||||
</f:if>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:section>
|
||||
|
||||
<f:section name="pageContentTypes">
|
||||
<f:if condition="{pageContentTypes}">
|
||||
<div class="table-fit">
|
||||
<table class="table">
|
||||
<f:for each="{pageContentTypes}" as="item">
|
||||
<tr>
|
||||
<td class="col-icon">
|
||||
<core:icon identifier="{f:if(condition: item.icon, then: item.icon, else: 'empty-empty')}" />
|
||||
</td>
|
||||
<td class="col-title">
|
||||
<f:if condition="{item.label}">
|
||||
<f:then>
|
||||
{f:translate(key: item.label)}
|
||||
<f:if condition="{showUid}"><code title="{item.longType}">[{item.shortType}]</code></f:if>
|
||||
</f:then>
|
||||
<f:else>
|
||||
{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:notAvailableAbbreviation')}
|
||||
<f:if condition="{showUid}"><code>[{item.longType}]</code></f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</table>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,150 @@
|
||||
<html
|
||||
xmlns:backend="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
|
||||
xmlns:beuser="http://typo3.org/ns/TYPO3/CMS/Beuser/ViewHelpers"
|
||||
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true"
|
||||
>
|
||||
|
||||
<div class="table-fit">
|
||||
<table id="typo3-filemount-list" class="table table-striped table-hover">
|
||||
<colgroup>
|
||||
<col class="col-icon">
|
||||
<col style="width: 20%;">
|
||||
</colgroup>
|
||||
<colgroup>
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 20%;">
|
||||
<col class="col-min">
|
||||
<col class="col-control">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_filemounts.title" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.description" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_storage" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_filemounts.identifier" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_filemounts.read_only" /></th>
|
||||
<th class="col-control"><span class="visually-hidden"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels._CONTROL_" /></span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<f:for each="{paginator.paginatedItems}" as="fileMount">
|
||||
<tr>
|
||||
<td class="col-icon">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-link"
|
||||
data-contextmenu-trigger="click"
|
||||
data-contextmenu-table="sys_filemounts"
|
||||
data-contextmenu-uid="{fileMount.uid}"
|
||||
title="{f:if(condition: '{fileMount.description}', then: '{fileMount.description} (id={fileMount.uid})', else: 'id={fileMount.uid}')}"
|
||||
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.contextMenu.open')}"
|
||||
>
|
||||
<beuser:spriteIconForRecord table="sys_filemounts" object="{fileMount}" />
|
||||
</button>
|
||||
</td>
|
||||
<td>
|
||||
<backend:link.editRecord table="sys_filemounts" uid="{fileMount.uid}" title="{f:translate(key:'btn.edit')}">
|
||||
{fileMount.title}
|
||||
</backend:link.editRecord>
|
||||
</td>
|
||||
<td>{fileMount.description}</td>
|
||||
<td>
|
||||
<a
|
||||
href="{backend:moduleLink(route: 'media_management', query: 'id={fileMount.storage.uid}:/')}'"
|
||||
title="{f:translate(key: 'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:filemount.link.openInFilelist')}"
|
||||
>
|
||||
{fileMount.storage.name}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a
|
||||
href="{backend:moduleLink(route: 'media_management', query: 'id={fileMount.storage.uid}:{fileMount.path}')}'"
|
||||
title="{f:translate(key: 'LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:filemount.link.openInFilelist')}"
|
||||
>
|
||||
{fileMount.storage.configuration.basePath}{fileMount.path}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<f:if condition="{fileMount.readOnly} == true">
|
||||
<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:yes" />
|
||||
</f:if>
|
||||
</td>
|
||||
<td class="col-control">
|
||||
<div class="btn-group" role="group">
|
||||
<backend:link.editRecord class="btn btn-default" table="sys_filemounts" uid="{fileMount.uid}" title="{f:translate(key:'btn.edit')}">
|
||||
<core:icon identifier="actions-open" />
|
||||
</backend:link.editRecord>
|
||||
<f:if condition="{fileMount.hidden} == true">
|
||||
<f:then>
|
||||
<a
|
||||
class="btn btn-default"
|
||||
href="{backend:moduleLink(route:'tce_db', query:'data[sys_filemounts][{fileMount.uid}][hidden]=0', currentUrlParameterName:'redirect')}"
|
||||
title="{f:translate(key:'btn.enable')}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-toggle-off" />
|
||||
</a>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<a
|
||||
class="btn btn-default"
|
||||
href="{backend:moduleLink(route:'tce_db', query:'data[sys_filemounts][{fileMount.uid}][hidden]=1', currentUrlParameterName:'redirect')}"
|
||||
title="{f:translate(key:'btn.disable')}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-toggle-on" />
|
||||
</a>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<a
|
||||
class="btn btn-default t3js-modal-trigger"
|
||||
href="{backend:moduleLink(route:'tce_db', query:'cmd[sys_filemounts][{fileMount.uid}][delete]=1', currentUrlParameterName:'redirect')}"
|
||||
title="{f:translate(key:'btn.delete')}"
|
||||
data-severity="warning"
|
||||
data-title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_alt_doc.xlf:label.confirm.delete_record.title')}"
|
||||
data-content="{f:translate(key:'filemount.confirm.deletion',arguments:'{0:fileMount.title}')}"
|
||||
data-button-close-text="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-delete" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="btn-group" role="group">
|
||||
<a
|
||||
class="btn btn-default"
|
||||
href="#"
|
||||
title="{f:translate(key:'btn.info')}"
|
||||
data-dispatch-action="TYPO3.InfoWindow.showItem"
|
||||
data-dispatch-args-list="sys_filemounts,{fileMount.uid}"
|
||||
role="button"
|
||||
>
|
||||
<core:icon identifier="actions-info" />
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="7">
|
||||
<f:if condition="{totalAmountOfFilemounts} > 1" >
|
||||
<f:then>
|
||||
{totalAmountOfFilemounts} <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:filemount.amount.multiple" />
|
||||
</f:then>
|
||||
<f:else>
|
||||
{totalAmountOfFilemounts} <f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:filemount.amount.singular" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<f:render partial="SimplePagination" arguments="{paginator:paginator, pagination:pagination, actionName:'filemounts'}" />
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,42 @@
|
||||
<html
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true"
|
||||
>
|
||||
|
||||
<span id="g_{pageId}">
|
||||
<button
|
||||
type="button"
|
||||
class="ug_selector changegroup btn btn-sm btn-link"
|
||||
data-page="{pageId}"
|
||||
data-group-id="{groupId}"
|
||||
data-groupname="{groupname}"
|
||||
title="{groupname}"
|
||||
>
|
||||
<f:if condition="{groupId} == 0">
|
||||
<f:then>
|
||||
<f:comment>
|
||||
No group set -> [not set]
|
||||
</f:comment>
|
||||
[<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:notSet" />]
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:if condition="{groupname}">
|
||||
<f:then>
|
||||
<f:comment>
|
||||
A group name can be resolved
|
||||
</f:comment>
|
||||
{groupname}
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:comment>
|
||||
Group was deleted -> [deleted]
|
||||
</f:comment>
|
||||
[<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:deleted" />]
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</button>
|
||||
</span>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,42 @@
|
||||
<html
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true"
|
||||
>
|
||||
|
||||
<span id="o_{pageId}">
|
||||
<button
|
||||
type="button"
|
||||
class="ug_selector changeowner btn btn-sm btn-link"
|
||||
data-page="{pageId}"
|
||||
data-owner="{userId}"
|
||||
data-username="{username}"
|
||||
title="{username}"
|
||||
>
|
||||
<f:if condition="{userId} == 0">
|
||||
<f:then>
|
||||
<f:comment>
|
||||
No owner set -> [not set]
|
||||
</f:comment>
|
||||
[<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:notSet" />]
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:if condition="{username}">
|
||||
<f:then>
|
||||
<f:comment>
|
||||
A user name can be resolved
|
||||
</f:comment>
|
||||
{username}
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:comment>
|
||||
User was deleted -> [deleted]
|
||||
</f:comment>
|
||||
[<f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:deleted" />]
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</button>
|
||||
</span>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,99 @@
|
||||
<html
|
||||
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true"
|
||||
>
|
||||
|
||||
<f:if condition="{paginator.numberOfPages} > 1">
|
||||
<nav class="pagination-wrap">
|
||||
<ul class="pagination">
|
||||
<f:if condition="{pagination.previousPageNumber} && {pagination.previousPageNumber} >= {pagination.firstPageNumber}">
|
||||
<f:then>
|
||||
<li class="page-item">
|
||||
<a href="{f:uri.action(action:actionName, arguments:{currentPage: 1})}" title="{f:translate(key:'pagination.first')}" class="page-link">
|
||||
<core:icon identifier="actions-view-paging-first" />
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a href="{f:uri.action(action:actionName, arguments:{currentPage: pagination.previousPageNumber})}" title="{f:translate(key:'pagination.previous')}" class="page-link">
|
||||
<core:icon identifier="actions-view-paging-previous" />
|
||||
</a>
|
||||
</li>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
<core:icon identifier="empty-empty"/>
|
||||
</span>
|
||||
</li>
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
<core:icon identifier="empty-empty"/>
|
||||
</span>
|
||||
</li>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<li class="page-item">
|
||||
<span class="page-link">
|
||||
<f:translate key="pagination.records" /> {pagination.startRecordNumber} - {pagination.endRecordNumber}
|
||||
</span>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<span class="page-link">
|
||||
<f:translate key="pagination.page" />
|
||||
<form class="form-inline"
|
||||
data-global-event="submit"
|
||||
data-action-navigate="$form=~s/$value/"
|
||||
data-navigate-value="{f:uri.action(action:actionName, arguments:'{currentPage: \'$[value]\'}')}"
|
||||
data-value-selector="input[name='paginator-target-page']">
|
||||
<input
|
||||
min="{pagination.firstPageNumber}"
|
||||
max="{pagination.lastPageNumber}"
|
||||
data-number-of-pages="{paginator.numberOfPages}"
|
||||
name="paginator-target-page"
|
||||
class="form-control form-control-sm paginator-input"
|
||||
size="5"
|
||||
value="{paginator.currentPageNumber}"
|
||||
type="number"
|
||||
/>
|
||||
</form>
|
||||
/ {pagination.lastPageNumber}
|
||||
</span>
|
||||
</li>
|
||||
|
||||
<f:if condition="{pagination.nextPageNumber} && {pagination.nextPageNumber} <= {pagination.lastPageNumber}">
|
||||
<f:then>
|
||||
<li class="page-item">
|
||||
<a href="{f:uri.action(action:actionName, arguments:{currentPage: pagination.nextPageNumber})}" title="{f:translate(key:'pagination.next')}" class="page-link">
|
||||
<core:icon identifier="actions-view-paging-next" />
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a href="{f:uri.action(action:actionName, arguments:{currentPage: pagination.lastPageNumber})}" title="{f:translate(key:'pagination.last')}" class="page-link">
|
||||
<core:icon identifier="actions-view-paging-last" />
|
||||
</a>
|
||||
</li>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
<core:icon identifier="empty-empty"/>
|
||||
</span>
|
||||
</li>
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
<core:icon identifier="empty-empty"/>
|
||||
</span>
|
||||
</li>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<li class="page-item">
|
||||
<a href="{f:uri.action(action:actionName, arguments:{currentPage: paginator.currentPageNumber})}" title="{f:translate(key:'pagination.refresh')}" class="page-link">
|
||||
<core:icon identifier="actions-refresh" />
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</f:if>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user