mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-31 01:35:36 +02:00
Added edit function with auto position
This commit is contained in:
parent
bb0e15261a
commit
4fd4783bc5
@ -5117,6 +5117,135 @@ sub cli_edit_visual_console() {
|
|||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
foreach my $elem (@$elements_in_array) {
|
||||||
|
if (defined($elem->{'id'})) {
|
||||||
|
print_log "[INFO] Edit element with id " . $elem->{'id'} . " \n\n";
|
||||||
|
|
||||||
|
my $element_in_db = get_db_single_row ($dbh, "SELECT *
|
||||||
|
FROM tlayout_data
|
||||||
|
WHERE id = " . $elem->{'id'});
|
||||||
|
|
||||||
|
my $new_pos_x = $element_in_db->{'pos_x'};
|
||||||
|
my $new_pos_y = $element_in_db->{'pos_y'};
|
||||||
|
my $new_width = $element_in_db->{'width'};
|
||||||
|
my $new_height = $element_in_db->{'height'};
|
||||||
|
my $new_label = $element_in_db->{'label'};
|
||||||
|
my $new_image = $element_in_db->{'image'};
|
||||||
|
my $new_type = $element_in_db->{'type'};
|
||||||
|
my $new_period = $element_in_db->{'period'};
|
||||||
|
my $new_id_agente_modulo = $element_in_db->{'id_agente_modulo'};
|
||||||
|
my $new_id_agent = $element_in_db->{'id_agent'};
|
||||||
|
my $new_id_layout_linked = $element_in_db->{'id_layout_linked'};
|
||||||
|
my $new_parent_item = $element_in_db->{'parent_item'};
|
||||||
|
my $new_enable_link = $element_in_db->{'enable_link'};
|
||||||
|
my $new_id_metaconsole = $element_in_db->{'id_metaconsole'};
|
||||||
|
my $new_id_group = $element_in_db->{'id_group'};
|
||||||
|
my $new_id_custom_graph = $element_in_db->{'id_custom_graph'};
|
||||||
|
my $new_border_width = $element_in_db->{'border_width'};
|
||||||
|
my $new_type_graph = $element_in_db->{'type_graph'};
|
||||||
|
my $new_label_position = $element_in_db->{'label_position'};
|
||||||
|
my $new_border_color = $element_in_db->{'border_color'};
|
||||||
|
my $new_fill_color = $element_in_db->{'fill_color'};
|
||||||
|
|
||||||
|
if(defined($elem->{'width'})) {
|
||||||
|
$new_width = $elem->{'width'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'height'})) {
|
||||||
|
$new_height = $elem->{'height'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'label'})) {
|
||||||
|
$new_label = $elem->{'label'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'image'})) {
|
||||||
|
$new_image = $elem->{'image'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'type'})) {
|
||||||
|
$new_type = $elem->{'type'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'period'})) {
|
||||||
|
$new_period = $elem->{'period'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'id_agente_modulo'})) {
|
||||||
|
$new_id_agente_modulo = $elem->{'id_agente_modulo'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'id_agent'})) {
|
||||||
|
$new_id_agent = $elem->{'id_agent'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'id_layout_linked'})) {
|
||||||
|
$new_id_layout_linked = $elem->{'id_layout_linked'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'parent_item'})) {
|
||||||
|
$new_parent_item = $elem->{'parent_item'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'enable_link'})) {
|
||||||
|
$new_enable_link = $elem->{'enable_link'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'id_metaconsole'})) {
|
||||||
|
$new_id_metaconsole = $elem->{'id_metaconsole'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'id_group'})) {
|
||||||
|
$new_id_group = $elem->{'id_group'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'id_custom_graph'})) {
|
||||||
|
$new_id_custom_graph = $elem->{'id_custom_graph'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'border_width'})) {
|
||||||
|
$new_border_width = $elem->{'border_width'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'type_graph'})) {
|
||||||
|
$new_type_graph = $elem->{'type_graph'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'label_position'})) {
|
||||||
|
$new_label_position = $elem->{'label_position'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'border_color'})) {
|
||||||
|
$new_border_color = $elem->{'border_color'};
|
||||||
|
}
|
||||||
|
if(defined($elem->{'fill_color'})) {
|
||||||
|
$new_fill_color = $elem->{'fill_color'};
|
||||||
|
}
|
||||||
|
|
||||||
|
db_update ($dbh, "UPDATE tlayout_data SET pos_x = " . $new_pos_x . ", pos_y = " . $new_pos_y . ", width = " . $new_width .
|
||||||
|
", height = " . $new_height . ", label = '" . $new_label . "', image = '" . $new_image .
|
||||||
|
"', type = " . $new_type . ", period = " . $new_period . ", id_agente_modulo = " . $new_id_agente_modulo .
|
||||||
|
", id_agent = " . $new_id_agent . ", id_layout_linked = " . $new_id_layout_linked . ", parent_item = " . $new_parent_item .
|
||||||
|
", enable_link = " . $new_enable_link . ", id_metaconsole = " . $new_id_metaconsole . ", id_group = " . $new_id_group .
|
||||||
|
", id_custom_graph = " . $new_id_custom_graph . ", border_width = " . $new_border_width . ", type_graph = '" . $new_type_graph .
|
||||||
|
"', label_position = '" . $new_label_position . "', border_color = '" . $new_border_color . "', fill_color = '" . $new_fill_color .
|
||||||
|
"' WHERE id = " . $elem->{'id'});
|
||||||
|
|
||||||
|
print_log "[INFO] Element with id " . $elem->{'id'} . " has been updated \n\n";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
my $pos_x = 0;
|
||||||
|
my $pos_y = 0;
|
||||||
|
my $width = $elem->{'width'};
|
||||||
|
my $height = $elem->{'height'};
|
||||||
|
my $label = $elem->{'label'};
|
||||||
|
my $image = $elem->{'image'};
|
||||||
|
my $type = $elem->{'type'};
|
||||||
|
my $period = $elem->{'period'};
|
||||||
|
my $id_agente_modulo = $elem->{'id_agente_modulo'};
|
||||||
|
my $id_agent = $elem->{'id_agent'};
|
||||||
|
my $id_layout_linked = $elem->{'id_layout_linked'};
|
||||||
|
my $parent_item = $elem->{'parent_item'};
|
||||||
|
my $enable_link = $elem->{'enable_link'};
|
||||||
|
my $id_metaconsole = $elem->{'id_metaconsole'};
|
||||||
|
my $id_group = $elem->{'id_group'};
|
||||||
|
my $id_custom_graph = $elem->{'id_custom_graph'};
|
||||||
|
my $border_width = $elem->{'border_width'};
|
||||||
|
my $type_graph = $elem->{'type_graph'};
|
||||||
|
my $label_position = $elem->{'label_position'};
|
||||||
|
my $border_color = $elem->{'border_color'};
|
||||||
|
my $fill_color = $elem->{'fill_color'};
|
||||||
|
|
||||||
|
my $new_elem_id = db_insert ($dbh, 'id', 'INSERT INTO tlayout_data (id_layout, pos_x, pos_y, height, width, label, image, type, period, id_agente_modulo, id_agent, id_layout_linked, parent_item, enable_link, id_metaconsole, id_group, id_custom_graph, border_width, type_graph, label_position, border_color, fill_color, show_statistics)
|
||||||
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', $id, $pos_x, $pos_y, $height, $width, $label, $image, $type, $period, $id_agente_modulo, $id_agent, $id_layout_linked, $parent_item, $enable_link, $id_metaconsole, $id_group, $id_custom_graph, $border_width, $type_graph, $label_position, $border_color, $fill_color, 0);
|
||||||
|
|
||||||
|
print_log "[INFO] New element with id $new_elem_id has been created \n\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
my $positions = decode_json($element_square_positions);
|
my $positions = decode_json($element_square_positions);
|
||||||
|
|
||||||
my $pos1X = $positions->{'pos1x'};
|
my $pos1X = $positions->{'pos1x'};
|
||||||
@ -5124,8 +5253,12 @@ sub cli_edit_visual_console() {
|
|||||||
my $pos2X = $positions->{'pos2x'};
|
my $pos2X = $positions->{'pos2x'};
|
||||||
my $pos2Y = $positions->{'pos2y'};
|
my $pos2Y = $positions->{'pos2y'};
|
||||||
|
|
||||||
my $number_of_elements = scalar(@$elements_in_array);
|
my @console_elements = get_db_rows ($dbh, "SELECT *
|
||||||
|
FROM tlayout_data
|
||||||
|
WHERE id_layout = $id");
|
||||||
|
|
||||||
|
my $number_of_elements = scalar(@console_elements);
|
||||||
|
|
||||||
my $x_divider = 4;
|
my $x_divider = 4;
|
||||||
my $y_divider = 1;
|
my $y_divider = 1;
|
||||||
|
|
||||||
@ -5148,33 +5281,17 @@ sub cli_edit_visual_console() {
|
|||||||
my $elem_count = 1;
|
my $elem_count = 1;
|
||||||
my $pos_helper_x = 0;
|
my $pos_helper_x = 0;
|
||||||
my $pos_helper_y = 0;
|
my $pos_helper_y = 0;
|
||||||
foreach my $elem (@$elements_in_array) {
|
foreach my $elem (@console_elements) {
|
||||||
my $pos_x = $pos_helper_x * $elem_width;
|
my $new_pos_x = $pos_helper_x * $elem_width;
|
||||||
my $pos_y = $pos_helper_y * $elem_height;
|
my $new_pos_y = $pos_helper_y * $elem_height;
|
||||||
my $width = $elem_width;
|
my $new_elem_width = $elem_width;
|
||||||
my $height = $elem_height;
|
my $new_elem_height = $elem_height;
|
||||||
my $label = $elem->{'label'};
|
|
||||||
my $image = $elem->{'image'};
|
|
||||||
my $type = $elem->{'type'};
|
|
||||||
my $period = $elem->{'period'};
|
|
||||||
my $id_agente_modulo = $elem->{'id_agente_modulo'};
|
|
||||||
my $id_agent = $elem->{'id_agent'};
|
|
||||||
my $id_layout_linked = $elem->{'id_layout_linked'};
|
|
||||||
my $parent_item = $elem->{'parent_item'};
|
|
||||||
my $enable_link = $elem->{'enable_link'};
|
|
||||||
my $id_metaconsole = $elem->{'id_metaconsole'};
|
|
||||||
my $id_group = $elem->{'id_group'};
|
|
||||||
my $id_custom_graph = $elem->{'id_custom_graph'};
|
|
||||||
my $border_width = $elem->{'border_width'};
|
|
||||||
my $type_graph = $elem->{'type_graph'};
|
|
||||||
my $label_position = $elem->{'label_position'};
|
|
||||||
my $border_color = $elem->{'border_color'};
|
|
||||||
my $fill_color = $elem->{'fill_color'};
|
|
||||||
|
|
||||||
my $elem_id = db_insert ($dbh, 'id', 'INSERT INTO tlayout_data (id_layout, pos_x, pos_y, height, width, label, image, type, period, id_agente_modulo, id_agent, id_layout_linked, parent_item, enable_link, id_metaconsole, id_group, id_custom_graph, border_width, type_graph, label_position, border_color, fill_color, show_statistics)
|
db_update ($dbh, "UPDATE tlayout_data SET pos_x = " . $new_pos_x . ", pos_y = " . $new_pos_y .
|
||||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', $id, $pos_x, $pos_y, $height, $width, $label, $image, $type, $period, $id_agente_modulo, $id_agent, $id_layout_linked, $parent_item, $enable_link, $id_metaconsole, $id_group, $id_custom_graph, $border_width, $type_graph, $label_position, $border_color, $fill_color, 0);
|
", width = " . $new_elem_width . ", height = " . $new_elem_height .
|
||||||
|
" WHERE id = " . $elem->{'id'});
|
||||||
|
|
||||||
print_log "[INFO] The element id in position $elem_count is '$elem_id' \n\n";
|
print_log "[INFO] Recolocate element with id " . $elem->{'id'} . " \n\n";
|
||||||
|
|
||||||
$elem_count++;
|
$elem_count++;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user