Check permissions to reset a network map - #4728

This commit is contained in:
Tatiana Llorente 2019-10-11 13:51:52 +02:00
parent e4775a3e6d
commit dd2ace99e1
2 changed files with 31 additions and 2 deletions

View File

@ -2642,8 +2642,17 @@ class NetworkMap
*/ */
public function loadMapData() public function loadMapData()
{ {
global $config;
$networkmap = $this->map; $networkmap = $this->map;
// ACL.
$networkmap_write = check_acl(
$config['id_user'],
$networkmap['id_group'],
'MW'
);
$simulate = false; $simulate = false;
if (isset($networkmap['__simulated']) === false) { if (isset($networkmap['__simulated']) === false) {
$networkmap['filter'] = json_decode( $networkmap['filter'] = json_decode(
@ -2711,6 +2720,7 @@ class NetworkMap
$output .= 'var networkmap_center = [ '.$networkmap['center_x'].', '.$networkmap['center_y']."];\n"; $output .= 'var networkmap_center = [ '.$networkmap['center_x'].', '.$networkmap['center_y']."];\n";
$output .= 'var networkmap_dimensions = [ '.$networkmap['width'].', '.$networkmap['height']."];\n"; $output .= 'var networkmap_dimensions = [ '.$networkmap['width'].', '.$networkmap['height']."];\n";
$output .= 'var enterprise_installed = '.((int) enterprise_installed()).";\n"; $output .= 'var enterprise_installed = '.((int) enterprise_installed()).";\n";
$output .= 'var networkmap_write = '.$networkmap_write.";\n";
$output .= 'var node_radius = '.$networkmap['filter']['node_radius'].";\n"; $output .= 'var node_radius = '.$networkmap['filter']['node_radius'].";\n";
$output .= 'var networkmap_holding_area_dimensions = '.json_encode($networkmap['filter']['holding_area']).";\n"; $output .= 'var networkmap_holding_area_dimensions = '.json_encode($networkmap['filter']['holding_area']).";\n";
$output .= "var networkmap = {'nodes': [], 'links': []};\n"; $output .= "var networkmap = {'nodes': [], 'links': []};\n";

View File

@ -14,6 +14,7 @@
/* global holding_area_dimensions */ /* global holding_area_dimensions */
/* global networkmap_id */ /* global networkmap_id */
/* global enterprise_installed */ /* global enterprise_installed */
/* global networkmap_write */
/* global force */ /* global force */
/* global layer_graph_nodes */ /* global layer_graph_nodes */
/* global layer_graph_links */ /* global layer_graph_links */
@ -2087,7 +2088,12 @@ function show_menu(item, data) {
icon: "add_node", icon: "add_node",
disabled: function() { disabled: function() {
if (enterprise_installed) { if (enterprise_installed) {
return false; // Check if user can write network maps.
if (networkmap_write) {
return false;
} else {
return true;
}
} else { } else {
return true; return true;
} }
@ -2099,6 +2105,14 @@ function show_menu(item, data) {
items_list["center"] = { items_list["center"] = {
name: set_center_menu, name: set_center_menu,
icon: "center", icon: "center",
disabled: function() {
// Check if user can write network maps.
if (networkmap_write) {
return false;
} else {
return true;
}
},
callback: function(key, options) { callback: function(key, options) {
set_center(networkmap_id); set_center(networkmap_id);
} }
@ -2136,7 +2150,12 @@ function show_menu(item, data) {
icon: "restart_map", icon: "restart_map",
disabled: function() { disabled: function() {
if (enterprise_installed) { if (enterprise_installed) {
return false; // Check if user can write network maps.
if (networkmap_write) {
return false;
} else {
return true;
}
} else { } else {
return true; return true;
} }