update table and add listing and collection class

This commit is contained in:
envoyr
2022-02-22 17:09:36 +01:00
parent 5f2550e19c
commit 855e220d14
11 changed files with 284 additions and 131 deletions

View File

@@ -22,38 +22,46 @@ return [
'icon' => 'fa-solid fa-user',
'columns' => [
'adminid' => [
'title' => '#',
'label' => '#',
'column' => 'adminid',
'sortable' => true,
],
'loginname' => [
'title' => $lng['login']['username'],
'label' => $lng['login']['username'],
'column' => 'loginname',
'sortable' => true,
],
'name' => [
'title' => $lng['customer']['name'],
'label' => $lng['customer']['name'],
'column' => 'name',
],
'diskspace' => [
'title' => $lng['customer']['diskspace'],
'label' => $lng['customer']['diskspace'],
'column' => 'diskspace',
'type' => 'usage',
],
'diskspace_used' => [
'title' => $lng['customer']['diskspace'] . ' (' . $lng['panel']['used'] . ')',
'label' => $lng['customer']['diskspace'] . ' (' . $lng['panel']['used'] . ')',
'column' => 'diskspace_used',
'type' => 'usage',
],
'traffic' => [
'title' => $lng['customer']['traffic'],
'label' => $lng['customer']['traffic'],
'column' => 'traffic',
'type' => 'usage',
],
'traffic_used' => [
'title' => $lng['customer']['traffic'] . ' (' . $lng['panel']['used'] . ')',
'label' => $lng['customer']['traffic'] . ' (' . $lng['panel']['used'] . ')',
'column' => 'traffic_used',
'type' => 'usage',
],
'deactivated' => [
'title' => $lng['admin']['deactivated'],
'label' => $lng['admin']['deactivated'],
'column' => 'deactivated',
'type' => 'boolean',
],
],
'visible_columns' => getVisibleColumnsForListing('admin_list', [
'visible_columns' => \Froxlor\UI\Listing::getVisibleColumnsForListing('admin_list', [
'loginname',
'name',
'diskspace',
@@ -68,7 +76,7 @@ return [
'href' => '#',
],
'show' => [
'title' => 'Show',
'text' => 'Show',
'href' => '#',
]
],
@@ -90,13 +98,3 @@ return [
]
]
];
// Das müsste dann irgendwie als Klasse ausgelagert werden
function getVisibleColumnsForListing($listing, $default_columns)
{
// Hier käme dann die Logik, die das aus der DB zieht ...
// alternativ nimmt er die $default_columns, wenn kein Eintrag
// in der DB definiert ist
return $default_columns;
}

View File

@@ -21,22 +21,61 @@ return [
'title' => $lng['admin']['customers'],
'icon' => 'fa-solid fa-user',
'columns' => [
'loginname' => [
'title' => $lng['login']['username']
'c.loginname' => [
'label' => $lng['login']['username'],
'column' => 'loginname',
],
'a.loginname' => [
'label' => $lng['admin']['admin'],
'column' => 'admin.loginname',
],
'c.name' => [
'label' => $lng['customer']['name'],
'column' => 'name',
],
'c.email' => [
'label' => $lng['customer']['email'],
'column' => 'email',
],
'c.firstname' => [
'label' => $lng['customer']['firstname'],
'column' => 'firstname',
],
'c.company' => [
'label' => $lng['customer']['company'],
'column' => 'company',
],
'c.diskspace' => [
'label' => $lng['customer']['diskspace'],
'column' => 'diskspace',
'type' => 'usage'
],
'c.diskspace_used' => [
'label' => $lng['customer']['diskspace'] . ' (' . $lng['panel']['used'] . ')',
'column' => 'diskspace_used',
'type' => 'usage'
],
'c.traffic' => [
'label' => $lng['customer']['traffic'],
'column' => 'traffic',
'type' => 'usage'
],
'c.traffic_used' => [
'label' => $lng['customer']['traffic'] . ' (' . $lng['panel']['used'] . ')',
'column' => 'traffic_used',
'type' => 'usage'
],
],
'visible_columns' => getVisibleColumnsForListing('admin_list', [
'loginname',
'visible_columns' => \Froxlor\UI\Listing::getVisibleColumnsForListing('customer_list', [
'c.loginname',
'a.loginname',
'c.email',
'c.firstname',
'c.company',
'c.diskspace',
'c.diskspace_used',
'c.traffic',
'c.traffic_used',
]),
]
];
// Das müsste dann irgendwie als Klasse ausgelagert werden
function getVisibleColumnsForListing($listing, $default_columns)
{
// Hier käme dann die Logik, die das aus der DB zieht ...
// alternativ nimmt er die $default_columns, wenn kein Eintrag
// in der DB definiert ist
return $default_columns;
}

View File

@@ -0,0 +1,58 @@
<?php
/**
* This file is part of the Froxlor project.
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2010-)
* @author Maurice Preuß <hello@envoyr.com>
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Tabellisting
*
*/
return [
'domain_list' => [
'title' => $lng['admin']['domains'],
'icon' => 'fa-solid fa-user',
'columns' => [
'd.domain_ace' => [
'label' => $lng['domains']['domainname'],
'column' => 'domain_ace',
],
'c.name' => [
'label' => $lng['customer']['name'],
'column' => 'customer.name',
],
'c.firstname' => [
'label' => $lng['customer']['firstname'],
'column' => 'customer.firstname',
],
'c.company' => [
'label' => $lng['customer']['company'],
'column' => 'customer.company',
],
'c.loginname' => [
'label' => $lng['login']['username'],
'column' => 'customer.loginname',
],
'd.aliasdomain' => [
'label' => $lng['domains']['aliasdomain'],
'column' => 'aliasdomain',
],
],
'visible_columns' => \Froxlor\UI\Listing::getVisibleColumnsForListing('domain_list', [
'd.domain_ace',
'c.name',
'c.firstname',
'c.company',
'c.loginname',
'd.aliasdomain',
]),
]
];