Commit aa46b599 authored by Tino Goratsch's avatar Tino Goratsch

Merge branch 'release/v4.0.0-rc.18'

parents 61eba19c f1b34650
/.idea
/ACP3/config.yml
/bower_components
/node_modules
/cache/*
/uploads/assets/*
/uploads/categories/*
......
......@@ -14,7 +14,7 @@ interface BootstrapInterface extends HttpKernelInterface
/**
* Contains the current ACP3 version string
*/
const VERSION = '4.0.0-rc.17';
const VERSION = '4.0.0-rc.18';
/**
* Performs some startup checks
......
......@@ -26,7 +26,7 @@ class Assets
'enabled' => false,
'dependencies' => ['jquery'],
'css' => 'jquery.fancybox.css',
'js' => 'jquery.fancybox.min.js'
'js' => 'jquery.fancybox.pack.js'
],
'bootstrap' => [
'enabled' => false,
......@@ -38,12 +38,12 @@ class Assets
'enabled' => false,
'dependencies' => ['bootstrap'],
'css' => 'dataTables.bootstrap.css',
'js' => 'jquery.datatables.min.js'
'js' => 'jquery.dataTables.min.js'
],
'bootbox' => [
'enabled' => false,
'dependencies' => ['bootstrap'],
'js' => 'bootbox.min.js'
'js' => 'bootbox.js'
],
'datetimepicker' => [
'enabled' => false,
......
......@@ -30,6 +30,7 @@ class Index extends Core\Controller\AbstractAdminAction
return [
'roles' => $roles,
'can_delete' => $this->acl->hasPermission('admin/permissions/index/delete'),
'can_edit' => $this->acl->hasPermission('admin/permissions/index/edit'),
'can_order' => $this->acl->hasPermission('admin/permissions/index/order')
];
}
......
......@@ -23,26 +23,31 @@
</nav>
{redirect_message}
{if isset($roles)}
<table class="table table-striped table-hover">
<table class="table table-striped table-hover datagrid">
<thead>
<tr>
{if $can_delete === true}
<th style="width:3%"><input type="checkbox" id="mark-all" value="1" {mark name="entries"}></th>
<th class="datagrid-column datagrid-column__mass-action">
<input type="checkbox" id="mark-all" value="1" {mark name="entries"}>
</th>
{/if}
<th>{lang t="system|name"}</th>
{if $can_order === true}
<th>{lang t="system|order"}</th>
{/if}
<th style="width:5%">{lang t="system|id"}</th>
<th class="datagrid-column datagrid-column__actions">{lang t="system|action"}</th>
</tr>
</thead>
<tbody>
{foreach $roles as $row}
<tr>
{if $can_delete === true}
<td><input type="checkbox" name="entries[]" value="{$row.id}"></td>
<td class="datagrid-column datagrid-column__mass-action">
<input type="checkbox" name="entries[]" value="{$row.id}">
</td>
{/if}
<td>{$row.spaces}{check_access mode="link" path="acp/permissions/index/edit/id_`$row.id`" title=$row.name}</td>
<td>{$row.spaces}{$row.name}</td>
{if $can_order === true}
<td>
{if !$row.last}
......@@ -59,6 +64,25 @@
</td>
{/if}
<td>{$row.id}</td>
<td class="datagrid-column__actions">
<div class="btn-group pull-right">
{if $can_edit === true}
<a href="{uri args="acp/permissions/index/edit/id_`$row.id`"}"
class="btn btn-default btn-xs"
title="{lang t="permissions|admin_index_edit"}">
<i class="glyphicon glyphicon-edit"></i>
</a>
{/if}
{if $can_delete === true}
<a href="{uri args="acp/permissions/index/delete/entries_`$row.id`"}"
class="btn btn-danger btn-xs"
title="{lang t="permissions|admin_index_delete"}">
<i class="glyphicon glyphicon-remove"></i>
</a>
{/if}
</div>
</td>
</tr>
{/foreach}
</tbody>
......
/*!
* Datetimepicker for Bootstrap 3
* ! version : 4.7.14
* version : 4.17.37
* https://github.com/Eonasdan/bootstrap-datetimepicker/
*/
.bootstrap-datetimepicker-widget {
......@@ -299,7 +299,8 @@
.bootstrap-datetimepicker-widget table td.today:before {
content: '';
display: inline-block;
border: 0 0 7px 7px solid transparent;
border: solid transparent;
border-width: 0 0 7px 7px;
border-bottom-color: #337ab7;
border-top-color: rgba(0, 0, 0, 0.2);
position: absolute;
......@@ -351,6 +352,12 @@
height: 27px;
line-height: 27px;
}
.bootstrap-datetimepicker-widget.wider {
width: 21em;
}
.bootstrap-datetimepicker-widget .datepicker-decades .decade {
line-height: 1.8em !important;
}
.input-group.date .input-group-addon {
cursor: pointer;
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
div.dataTables_length label {
font-weight: normal;
float: left;
text-align: left;
}
div.dataTables_length select {
width: 75px;
}
div.dataTables_filter label {
font-weight: normal;
float: right;
}
div.dataTables_filter input {
width: 16em;
}
div.dataTables_info {
padding-top: 8px;
}
div.dataTables_paginate {
float: right;
margin: 0;
}
div.dataTables_paginate ul.pagination {
margin: 2px;
}
table.table {
clear: both;
margin-top: 6px !important;
margin-bottom: 6px !important;
max-width: none !important;
}
table.table thead .sorting,
table.table thead .sorting_asc,
table.table thead .sorting_desc,
table.table thead .sorting_asc_disabled,
table.table thead .sorting_desc_disabled {
cursor: pointer;
}
table.table thead .sorting {
background: url('../images/sort_both.png') no-repeat center right;
}
table.table thead .sorting_asc {
background: url('../images/sort_asc.png') no-repeat center right;
}
table.table thead .sorting_desc {
background: url('../images/sort_desc.png') no-repeat center right;
}
table.table thead .sorting_asc_disabled {
background: url('../images/sort_asc_disabled.png') no-repeat center right;
}
table.table thead .sorting_desc_disabled {
background: url('../images/sort_desc_disabled.png') no-repeat center right;
}
table.dataTable th:active {
outline: none;
}
/* Scrolling */
div.dataTables_scrollHead table {
margin-bottom: 0 !important;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
div.dataTables_scrollHead table thead tr:last-child th:first-child,
div.dataTables_scrollHead table thead tr:last-child td:first-child {
border-bottom-left-radius: 0 !important;
border-bottom-right-radius: 0 !important;
table.dataTable {
clear: both;
margin-top: 6px !important;
margin-bottom: 6px !important;
max-width: none !important;
border-collapse: separate !important;
}
table.dataTable td,
table.dataTable th {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
table.dataTable td.dataTables_empty,
table.dataTable th.dataTables_empty {
text-align: center;
}
table.dataTable.nowrap th,
table.dataTable.nowrap td {
white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_length label {
font-weight: normal;
text-align: left;
white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_length select {
width: 75px;
display: inline-block;
}
div.dataTables_wrapper div.dataTables_filter {
text-align: right;
}
div.dataTables_wrapper div.dataTables_filter label {
font-weight: normal;
white-space: nowrap;
text-align: left;
}
div.dataTables_wrapper div.dataTables_filter input {
margin-left: 0.5em;
display: inline-block;
width: auto;
}
div.dataTables_wrapper div.dataTables_info {
padding-top: 8px;
white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_paginate {
margin: 0;
white-space: nowrap;
text-align: right;
}
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
margin: 2px 0;
white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_processing {
position: absolute;
top: 50%;
left: 50%;
width: 200px;
margin-left: -100px;
margin-top: -26px;
text-align: center;
padding: 1em 0;
}
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting,
table.dataTable thead > tr > td.sorting_asc,
table.dataTable thead > tr > td.sorting_desc,
table.dataTable thead > tr > td.sorting {
padding-right: 30px;
}
table.dataTable thead > tr > th:active,
table.dataTable thead > tr > td:active {
outline: none;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
cursor: pointer;
position: relative;
}
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:after {
position: absolute;
bottom: 8px;
right: 8px;
display: block;
font-family: 'Glyphicons Halflings';
opacity: 0.5;
}
table.dataTable thead .sorting:after {
opacity: 0.2;
content: "\e150";
/* sort */
}
table.dataTable thead .sorting_asc:after {
content: "\e155";
/* sort-by-attributes */
}
table.dataTable thead .sorting_desc:after {
content: "\e156";
/* sort-by-attributes-alt */
}
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:after {
color: #eee;
}
div.dataTables_scrollHead table.dataTable {
margin-bottom: 0 !important;
}
div.dataTables_scrollBody table {
border-top: none;
margin-bottom: 0 !important;
}
div.dataTables_scrollBody tbody tr:first-child th,
div.dataTables_scrollBody tbody tr:first-child td {
border-top: none;
}
div.dataTables_scrollFoot table {
border-top: none;
}
/*
* TableTools styles
*/
.table tbody tr.active td,
.table tbody tr.active th {
background-color: #08C;
color: white;
}
.table tbody tr.active td a,
.table tbody tr.active th a {
color: #fff;
text-decoration: underline;
}
.table tbody tr.active:hover td,
.table tbody tr.active:hover th {
background-color: #0075b0 !important;
border-top: none;
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.table-striped tbody tr.active:nth-child(odd) td,
.table-striped tbody tr.active:nth-child(odd) th {
background-color: #017ebc;
div.dataTables_scrollBody table thead .sorting:after,
div.dataTables_scrollBody table thead .sorting_asc:after,
div.dataTables_scrollBody table thead .sorting_desc:after {
display: none;
}
table.DTTT_selectable tbody tr {
cursor: pointer;
div.dataTables_scrollBody table tbody tr:first-child th,
div.dataTables_scrollBody table tbody tr:first-child td {
border-top: none;
}
div.DTTT .btn {
color: #333 !important;
font-size: 12px;
}
div.DTTT .btn:hover {
text-decoration: none !important;
div.dataTables_scrollFoot table {
margin-top: 0 !important;
border-top: none;
}
ul.DTTT_dropdown.dropdown-menu {
z-index: 2003;
@media screen and (max-width: 767px) {
div.dataTables_wrapper div.dataTables_length,
div.dataTables_wrapper div.dataTables_filter,
div.dataTables_wrapper div.dataTables_info,
div.dataTables_wrapper div.dataTables_paginate {
text-align: center;
}
}
ul.DTTT_dropdown.dropdown-menu a {
color: #333 !important; /* needed only when demo_page.css is included */
table.dataTable.table-condensed > thead > tr > th {
padding-right: 20px;
}
ul.DTTT_dropdown.dropdown-menu li {
position: relative;
table.dataTable.table-condensed .sorting:after,
table.dataTable.table-condensed .sorting_asc:after,
table.dataTable.table-condensed .sorting_desc:after {
top: 6px;
right: 6px;
}
ul.DTTT_dropdown.dropdown-menu li:hover a {
background-color: #0088cc;
color: white !important;
table.table-bordered.dataTable th,
table.table-bordered.dataTable td {
border-left-width: 0;
}
/* TableTools information display */
div.DTTT_print_info.modal {
height: 150px;
margin-top: -75px;
text-align: center;
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child,
table.table-bordered.dataTable td:last-child,
table.table-bordered.dataTable td:last-child {
border-right-width: 0;
}
div.DTTT_print_info h6 {
font-weight: normal;
font-size: 28px;
line-height: 28px;
margin: 1em;
table.table-bordered.dataTable tbody th,
table.table-bordered.dataTable tbody td {
border-bottom-width: 0;
}
div.DTTT_print_info p {
font-size: 14px;
line-height: 20px;
div.dataTables_scrollHead table.table-bordered {
border-bottom-width: 0;
}
/*
* FixedColumns styles
*/
div.DTFC_LeftHeadWrapper table,
div.DTFC_LeftFootWrapper table,
div.DTFC_RightHeadWrapper table,
div.DTFC_RightFootWrapper table,
table.DTFC_Cloned tr.even {
background-color: white;
div.table-responsive > div.dataTables_wrapper > div.row {
margin: 0;
}
div.DTFC_RightHeadWrapper table,
div.DTFC_LeftHeadWrapper table {
margin-bottom: 0 !important;
border-top-right-radius: 0 !important;
border-bottom-left-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child,
div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child,
div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child,
div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child {
border-bottom-left-radius: 0 !important;
border-bottom-right-radius: 0 !important;
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child {
padding-left: 0;
}
div.DTFC_RightBodyWrapper table,
div.DTFC_LeftBodyWrapper table {
border-top: none;
margin-bottom: 0 !important;
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child {
padding-right: 0;
}
div.DTFC_RightBodyWrapper tbody tr:first-child th,
div.DTFC_RightBodyWrapper tbody tr:first-child td,
div.DTFC_LeftBodyWrapper tbody tr:first-child th,
div.DTFC_LeftBodyWrapper tbody tr:first-child td {
border-top: none;
}
div.DTFC_RightFootWrapper table,
div.DTFC_LeftFootWrapper table {
border-top: none;
}
\ No newline at end of file
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
......@@ -8,267 +9,278 @@
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
padding: 0;
margin: 0;
border: 0;
outline: none;
vertical-align: top;
.fancybox-tmp {
padding: 0;
margin: 0;
border: 0;
outline: none;
vertical-align: top;
}
.fancybox-wrap {
position: absolute;
top: 0;
left: 0;
z-index: 8020;
position: absolute;
top: 0;
left: 0;
z-index: 8020;
}
.fancybox-skin {
position: relative;
background: #f9f9f9;
color: #444;
text-shadow: none;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
position: relative;
background: #f9f9f9;
color: #444;
text-shadow: none;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.fancybox-opened {
z-index: 8030;
z-index: 8030;
}
.fancybox-opened .fancybox-skin {
-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}
.fancybox-outer, .fancybox-inner {
position: relative;
.fancybox-outer,
.fancybox-inner {
position: relative;
}
.fancybox-inner {
overflow: hidden;
overflow: hidden;
}
.fancybox-type-iframe .fancybox-inner {
-webkit-overflow-scrolling: touch;
-webkit-overflow-scrolling: touch;
}
.fancybox-error {
color: #444;
font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
margin: 0;
padding: 15px;
white-space: nowrap;
color: #444;
font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
margin: 0;
padding: 15px;
white-space: nowrap;
}
.fancybox-image, .fancybox-iframe {
display: block;
width: 100%;
height: 100%;
.fancybox-image,
.fancybox-iframe {
display: block;
width: 100%;
height: 100%;
}
.fancybox-image {
max-width: 100%;
max-height: 100%;
max-width: 100%;
max-height: 100%;
}
#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
background: url('../images/fancybox_sprite.png');
#fancybox-loading,
.fancybox-close,
.fancybox-prev span,
.fancybox-next span {
background-image: url("../images/fancybox/fancybox_sprite.png");
}
#fancybox-loading {
position: fixed;
top: 50%;
left: 50%;
margin-top: -22px;
margin-left: -22px;
background-position: 0 -108px;
opacity: 0.8;
cursor: pointer;
z-index: 8060;
position: fixed;
top: 50%;
left: 50%;
margin-top: -22px;
margin-left: -22px;
background-position: 0 -108px;
opacity: 0.8;
cursor: pointer;
z-index: 8060;
}
#fancybox-loading div {
width: 44px;
height: 44px;
background: url('../images/fancybox_loading.gif') center center no-repeat;
width: 44px;
height: 44px;
background: url("../images/fancybox/fancybox_loading.gif") center center no-repeat;
}
.fancybox-close {