mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-31 01:35:36 +02:00
Merge remote-tracking branch 'origin/develop' into ent-12333-anadir-tablas-dinamicas-a-pandoradb-sql
This commit is contained in:
commit
f9e7f19771
@ -90,7 +90,7 @@ function dbmgr_extension_main()
|
||||
|
||||
// Header.
|
||||
ui_print_standard_header(
|
||||
__('Database interface'),
|
||||
__('DB interface'),
|
||||
'images/gm_db.png',
|
||||
false,
|
||||
'',
|
||||
|
@ -180,8 +180,8 @@ if ($report_id_user == $config['id_user']
|
||||
$options['div_class'] = '';
|
||||
}
|
||||
|
||||
$table->data[2][1] = html_print_label_input_block(
|
||||
__('Group'),
|
||||
$table->data[3][0] = html_print_label_input_block(
|
||||
__('Write Access Group'),
|
||||
html_print_select_groups(
|
||||
false,
|
||||
'RW',
|
||||
@ -216,7 +216,7 @@ if ($enterpriseEnable) {
|
||||
|
||||
|
||||
if (enterprise_installed() === true) {
|
||||
$table->data[3][0] = html_print_label_input_block(
|
||||
$table->data[4][0] = html_print_label_input_block(
|
||||
__('Generate cover page in PDF render'),
|
||||
html_print_checkbox_switch(
|
||||
'cover_page_render',
|
||||
@ -226,7 +226,7 @@ if (enterprise_installed() === true) {
|
||||
)
|
||||
);
|
||||
|
||||
$table->data[3][1] = html_print_label_input_block(
|
||||
$table->data[4][1] = html_print_label_input_block(
|
||||
__('Generate index in PDF render'),
|
||||
html_print_checkbox_switch(
|
||||
'index_render',
|
||||
|
@ -93,7 +93,7 @@ $buttons['general'] = [
|
||||
'images/setup.png',
|
||||
true,
|
||||
[
|
||||
'title' => __('General'),
|
||||
'title' => __('General setup'),
|
||||
'class' => 'invert_filter',
|
||||
|
||||
]
|
||||
@ -265,7 +265,7 @@ if (enterprise_installed()) {
|
||||
switch ($section) {
|
||||
case 'general':
|
||||
$buttons['general']['active'] = true;
|
||||
$subpage = __('General');
|
||||
$subpage = __('General setup');
|
||||
$help_header = 'setup_general_tab';
|
||||
break;
|
||||
|
||||
@ -377,7 +377,7 @@ switch ($section) {
|
||||
|
||||
// Header.
|
||||
ui_print_standard_header(
|
||||
$subpage,
|
||||
__('Setup').' » '.$subpage,
|
||||
'',
|
||||
false,
|
||||
$help_header,
|
||||
@ -388,6 +388,10 @@ ui_print_standard_header(
|
||||
'link' => '',
|
||||
'label' => __('Setup'),
|
||||
],
|
||||
[
|
||||
'link' => '',
|
||||
'label' => $subpage,
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
|
@ -310,8 +310,6 @@ function initialiceLayout(data) {
|
||||
}
|
||||
|
||||
function duplicateWidget(original_cellId, original_widgetId) {
|
||||
let duplicate_cellId = insertCellLayoutForDuplicate();
|
||||
|
||||
$.ajax({
|
||||
method: "post",
|
||||
url: data.url,
|
||||
@ -320,16 +318,14 @@ function initialiceLayout(data) {
|
||||
method: "duplicateWidget",
|
||||
dashboardId: data.dashboardId,
|
||||
widgetId: original_widgetId,
|
||||
cellId: original_cellId,
|
||||
duplicateCellId: duplicate_cellId
|
||||
cellId: original_cellId
|
||||
},
|
||||
dataType: "json",
|
||||
success: function(success) {
|
||||
console.log(success);
|
||||
success: function(data) {
|
||||
addCell(data.cellId, 0, 0, 4, 4, true, 0, 2000, 0, 2000, 0, true);
|
||||
},
|
||||
error: function(error) {
|
||||
console.log(error);
|
||||
return [];
|
||||
error: function(xhr, textStatus, errorMessage) {
|
||||
console.log("ERROR" + errorMessage + textStatus + xhr);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -428,8 +424,8 @@ function initialiceLayout(data) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function insertCellLayoutForDuplicate() {
|
||||
/*
|
||||
function insertCellLayoutForDuplicate(original_cell_id) {
|
||||
let duplicateCellId = 0;
|
||||
$.ajax({
|
||||
async: false,
|
||||
@ -441,7 +437,8 @@ function initialiceLayout(data) {
|
||||
dashboardId: data.dashboardId,
|
||||
auth_class: data.auth.class,
|
||||
auth_hash: data.auth.hash,
|
||||
id_user: data.auth.user
|
||||
id_user: data.auth.user,
|
||||
copy: original_cell_id
|
||||
},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
@ -449,7 +446,7 @@ function initialiceLayout(data) {
|
||||
// width and height = 4
|
||||
// position auto = true.
|
||||
if (data.cellId !== 0) {
|
||||
addCell(data.cellId, 0, 0, 4, 4, true, 0, 2000, 0, 2000, 0, true);
|
||||
addCell(data.cellId, 0, 0, 4, 4, true, 0, 2000, 0, 2000, 0, true, original_cell_id);
|
||||
duplicateCellId = data.cellId;
|
||||
}
|
||||
},
|
||||
@ -458,7 +455,7 @@ function initialiceLayout(data) {
|
||||
}
|
||||
});
|
||||
return duplicateCellId;
|
||||
}
|
||||
}*/
|
||||
|
||||
function configurationWidget(cellId, widgetId, size) {
|
||||
load_modal({
|
||||
|
@ -609,10 +609,25 @@ class Manager implements PublicLogin
|
||||
/**
|
||||
* Duplicate widget.
|
||||
*
|
||||
* @return integer
|
||||
* @return void
|
||||
*/
|
||||
public function duplicateWidget():int
|
||||
public function duplicateWidget():void
|
||||
{
|
||||
global $config;
|
||||
|
||||
$return = false;
|
||||
|
||||
$position = [
|
||||
'x' => 0,
|
||||
'y' => 0,
|
||||
'width' => 4,
|
||||
'height' => 4,
|
||||
];
|
||||
|
||||
$cellClass = new Cell($position, $this->dashboardId);
|
||||
$dataCell = $cellClass->get();
|
||||
|
||||
// $result = ['cellId' => $dataCell['id']];
|
||||
$original_widget = [];
|
||||
|
||||
$original_cellId = $this->cellId;
|
||||
@ -632,12 +647,23 @@ class Manager implements PublicLogin
|
||||
'options' => $options_json,
|
||||
'id_widget' => $original_widget['id_widget'],
|
||||
];
|
||||
|
||||
$res = \db_process_sql_update(
|
||||
'twidget_dashboard',
|
||||
$values,
|
||||
['id' => $this->duplicateCellId]
|
||||
['id' => $dataCell['id']]
|
||||
);
|
||||
return $res;
|
||||
|
||||
if ($res === 1) {
|
||||
$return = [
|
||||
'cellId' => $dataCell['id'],
|
||||
'widgetId' => $original_widget['id_widget'],
|
||||
];
|
||||
|
||||
$json_return = json_encode($return);
|
||||
}
|
||||
|
||||
echo $json_return;
|
||||
|
||||
}
|
||||
|
||||
|
@ -328,7 +328,7 @@ class SingleGraphWidget extends Widget
|
||||
|
||||
// Autocomplete module.
|
||||
$inputs[] = [
|
||||
'label' => __('Module'),
|
||||
'label' => __('Module').ui_print_help_tip(__('Warning, this requires to have data for a mid-term (days/weeks) of the source data, if not, projection will not be reliable.'), true),
|
||||
'arguments' => [
|
||||
'type' => 'autocomplete_module',
|
||||
'name' => 'moduleId',
|
||||
|
@ -34,9 +34,8 @@ if ($redraw === false) {
|
||||
|
||||
$output .= '<div class="header-widget">';
|
||||
$output .= '<div>';
|
||||
|
||||
if ((int) $cellData['id_widget'] !== 0) {
|
||||
$options = json_decode($cellData['options'], true);
|
||||
$options = json_decode($cellData['options'], true);
|
||||
if ($cellData['id_widget'] !== '0') {
|
||||
$output .= $options['title'];
|
||||
} else {
|
||||
$output .= __('New widget');
|
||||
@ -44,10 +43,15 @@ if ((int) $cellData['id_widget'] !== 0) {
|
||||
|
||||
$output .= '</div>';
|
||||
$output .= '<div class="header-options">';
|
||||
|
||||
if ($manageDashboards !== 0 || $writeDashboards !== 0) {
|
||||
if ((int) $cellData['id_widget'] !== 0) {
|
||||
$output .= '<a id="copy-widget-'.$cellData['id'].'" class="">';
|
||||
$count_options = count(json_decode($cellData['options'], true));
|
||||
$invisible = '';
|
||||
if ($count_options <= 2 && $options['copy'] == 0) {
|
||||
$invisible = 'invisible';
|
||||
}
|
||||
|
||||
$output .= '<a id="copy-widget-'.$cellData['id'].'" class="'.$invisible.'" >';
|
||||
$output .= html_print_image(
|
||||
'images/copy.svg',
|
||||
true,
|
||||
|
Loading…
x
Reference in New Issue
Block a user