Fix in EditUser Table Array query load for languages

Also split all queries into multi line ones
Fixes in Form\Generate for TableArray Interface location move
Update EditBase to new and old edit schema (scheme) file name
This commit is contained in:
Clemens Schwaighofer
2023-02-28 10:31:34 +09:00
parent 829f5c567f
commit 44f37b7f74
9 changed files with 58 additions and 22 deletions

View File

@@ -414,6 +414,8 @@ class EditBase
$elements[] = $this->form->formCreateElement('additional_acl');
break;
case 'edit_schemes':
// @deprecated Will be removed
case 'edit_schemas':
$elements[] = $this->form->formCreateElement('enabled');
$elements[] = $this->form->formCreateElement('name');
$elements[] = $this->form->formCreateElement('header_color');

View File

@@ -366,7 +366,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
$config_array = $table_arrays[System::getPageName(1)];
} else {
// primary try to load the class
/** @var \CoreLibs\Output\Form\TableArraysInterface|false $content_class */
/** @var TableArrays\Interface\TableArraysInterface|false $content_class */
$content_class = $this->loadTableArray();
if (is_object($content_class)) {
$config_array = $content_class->setTableArray();
@@ -468,9 +468,9 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
/**
* load table array class based on my page name converted to camel case
* class files are in \TableArrays folder in \Output\Form
* @return object|bool Return class object or false on failure
* @return TableArrays\Interface\TableArraysInterface|false Return class object or false on failure
*/
private function loadTableArray()
private function loadTableArray(): TableArrays\Interface\TableArraysInterface|false
{
// note: it schould be Schemas but an original type made it to this
// this file is kept for the old usage, new one should be EditSchemas
@@ -489,7 +489,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
$page_name_camel_case
);
try {
/** @var \CoreLibs\Output\Form\TableArraysInterface|false $class */
/** @var TableArrays\Interface\TableArraysInterface|false $class */
$class = new $class_string($this);
} catch (\Throwable $t) {
$this->log->debug('CLASS LOAD', 'Failed loading: ' . $class_string . ' => ' . $t->getMessage());
@@ -651,7 +651,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
$this->base_acl_level >= $this->security_level['new']
) {
if ($this->really_new == 'yes') {
$this->formUnsetTablearray();
$this->formUnsetTableArray();
} else {
$this->msg .= $this->l->__('You have to select the <b>Checkbox for New</b>!<br>');
$this->error = 2;

View File

@@ -87,7 +87,9 @@ class EditAccess implements Interface\TableArraysInterface
],
],
'table_name' => 'edit_access',
"load_query" => "SELECT edit_access_id, name FROM edit_access ORDER BY name",
"load_query" => "SELECT edit_access_id, name "
. "FROM edit_access "
. "ORDER BY name",
'show_fields' => [
[
'name' => 'name'

View File

@@ -55,14 +55,19 @@ class EditGroups implements Interface\TableArraysInterface
'mandatory' => 1,
'int' => 1,
'type' => 'drop_down_db',
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
'query' => "SELECT edit_access_right_id, name "
. "FROM edit_access_right "
. "ORDER BY level"
],
'edit_scheme_id' => [
'value' => $_POST['edit_scheme_id'] ?? '',
'output_name' => 'Group Scheme',
'int_null' => 1,
'type' => 'drop_down_db',
'query' => "SELECT edit_scheme_id, name FROM edit_scheme WHERE enabled = 1 ORDER BY name"
'query' => "SELECT edit_scheme_id, name "
. "FROM edit_scheme "
. "WHERE enabled = 1 "
. "ORDER BY name"
],
'additional_acl' => [
'value' => $_POST['additional_acl'] ?? '',
@@ -73,7 +78,9 @@ class EditGroups implements Interface\TableArraysInterface
'cols' => 60
],
],
'load_query' => "SELECT edit_group_id, name, enabled FROM edit_group ORDER BY name",
'load_query' => "SELECT edit_group_id, name, enabled "
. "FROM edit_group "
. "ORDER BY name",
'table_name' => 'edit_group',
'show_fields' => [
[
@@ -115,7 +122,9 @@ class EditGroups implements Interface\TableArraysInterface
'output_name' => 'Access Level',
'int' => 1,
'preset' => 1, // first of the select
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
'query' => "SELECT edit_access_right_id, name "
. "FROM edit_access_right "
. "ORDER BY level"
],
'edit_page_id' => [
'int' => 1,

View File

@@ -55,7 +55,9 @@ class EditMenuGroup implements Interface\TableArraysInterface
],
],
'table_name' => 'edit_menu_group',
'load_query' => "SELECT edit_menu_group_id, name FROM edit_menu_group ORDER BY name",
'load_query' => "SELECT edit_menu_group_id, name "
. "FROM edit_menu_group "
. "ORDER BY name",
'show_fields' => [
[
'name' => 'name'

View File

@@ -140,7 +140,10 @@ class EditPages implements Interface\TableArraysInterface
],
],
'load_query' => "SELECT edit_page_id, "
. "CASE WHEN hostname IS NOT NULL THEN hostname ELSE ''::VARCHAR END || filename AS filename, "
. "CASE "
. "WHEN hostname IS NOT NULL THEN hostname "
. "ELSE ''::VARCHAR "
. "END || filename AS filename, "
. "name, online, menu, popup "
. "FROM edit_page "
. "ORDER BY order_number",
@@ -178,7 +181,8 @@ class EditPages implements Interface\TableArraysInterface
'select_size' => 10,
'selected' => $_POST['edit_visible_group_id'] ?? '',
'query' => "SELECT edit_visible_group_id, 'Name: ' || name || ', ' || 'Flag: ' || flag "
. "FROM edit_visible_group ORDER BY name"
. "FROM edit_visible_group "
. "ORDER BY name"
],
'edit_menu_group' => [
'table_name' => 'edit_page_menu_group',
@@ -188,7 +192,8 @@ class EditPages implements Interface\TableArraysInterface
'select_size' => 10,
'selected' => $_POST['edit_menu_group_id'] ?? '',
'query' => "SELECT edit_menu_group_id, 'Name: ' || name || ', ' || 'Flag: ' || flag "
. "FROM edit_menu_group ORDER BY order_number"
. "FROM edit_menu_group "
. "ORDER BY order_number"
],
],
'element_list' => [
@@ -259,7 +264,9 @@ class EditPages implements Interface\TableArraysInterface
'output_name' => 'Access Level',
'int' => 1,
'preset' => 1, // first of the select
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
'query' => "SELECT edit_access_right_id, name "
. "FROM edit_access_right "
. "ORDER BY level"
],
'edit_page_content_id' => [
'type' => 'hidden',

View File

@@ -68,7 +68,9 @@ class EditSchemas implements Interface\TableArraysInterface
],
],
'table_name' => 'edit_scheme',
'load_query' => "SELECT edit_scheme_id, name, enabled FROM edit_scheme ORDER BY name",
'load_query' => "SELECT edit_scheme_id, name, enabled "
. "FROM edit_scheme "
. "ORDER BY name",
'show_fields' => [
[
'name' => 'name'

View File

@@ -274,7 +274,7 @@ class EditUsers implements Interface\TableArraysInterface
'type' => 'drop_down_db',
'query' => "SELECT edit_language_id, long_name "
. "FROM edit_language "
. "WHERE enabled = 1"
. "WHERE enabled = 1 "
. "ORDER BY order_number",
'min_edit_acl' => '100',
'min_show_acl' => '100',
@@ -284,7 +284,10 @@ class EditUsers implements Interface\TableArraysInterface
'output_name' => 'Scheme',
'int_null' => 1,
'type' => 'drop_down_db',
'query' => "SELECT edit_scheme_id, name FROM edit_scheme WHERE enabled = 1 ORDER BY name",
'query' => "SELECT edit_scheme_id, name "
. "FROM edit_scheme "
. "WHERE enabled = 1 "
. "ORDER BY name",
'min_edit_acl' => '100',
'min_show_acl' => '100',
],
@@ -293,7 +296,10 @@ class EditUsers implements Interface\TableArraysInterface
'output_name' => 'Group',
'int' => 1,
'type' => 'drop_down_db',
'query' => "SELECT edit_group_id, name FROM edit_group WHERE enabled = 1 ORDER BY name",
'query' => "SELECT edit_group_id, name "
. "FROM edit_group "
. "WHERE enabled = 1 "
. "ORDER BY name",
'mandatory' => 1,
'min_edit_acl' => '100',
'min_show_acl' => '100',
@@ -304,7 +310,9 @@ class EditUsers implements Interface\TableArraysInterface
'mandatory' => 1,
'int' => 1,
'type' => 'drop_down_db',
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level",
'query' => "SELECT edit_access_right_id, name "
. "FROM edit_access_right "
. "ORDER BY level",
'min_edit_acl' => '100',
'min_show_acl' => '100',
],
@@ -434,7 +442,9 @@ class EditUsers implements Interface\TableArraysInterface
'output_name' => 'Access Level',
'preset' => 1, // first of the select
'int' => 1,
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
'query' => "SELECT edit_access_right_id, name "
. "FROM edit_access_right "
. "ORDER BY level"
],
'edit_default' => [
'type' => 'radio_group',

View File

@@ -48,7 +48,9 @@ class EditVisibleGroup implements Interface\TableArraysInterface
],
],
'table_name' => 'edit_visible_group',
'load_query' => "SELECT edit_visible_group_id, name FROM edit_visible_group ORDER BY name",
'load_query' => "SELECT edit_visible_group_id, name "
. "FROM edit_visible_group "
. "ORDER BY name",
'show_fields' => [
[
'name' => 'name'