foreman_datacenter 0.1.43 → 0.1.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,51 +2,53 @@
2
2
 
3
3
  <% title_actions display_link_if_authorized(
4
4
  _('Edit'),
5
- hash_for_edit_manufacturer_path(:id => @manufacturer).merge(:auth_object => @manufacturer, :authorizer => authorizer),
5
+ hash_for_edit_manufacturer_path(:id => @manufacturer),
6
6
  :class => 'btn btn-warning'
7
7
  ),
8
8
  display_delete_if_authorized(
9
- hash_for_manufacturer_path(:id => @manufacturer).merge(:auth_object => @manufacturer, :authorizer => authorizer),
9
+ hash_for_manufacturer_path(:id => @manufacturer),
10
10
  :data => { :confirm => 'Are you sure?'},
11
11
  :action => :destroy,
12
12
  :class => 'btn btn-danger'
13
13
  )
14
14
  help_path %>
15
15
 
16
- <div class="col-md-6">
17
- <!-- Rack group details -->
18
- <div class="panel panel-default">
19
- <div class="panel-heading">
20
- <strong>Manufacturer</strong>
16
+ <div class="row">
17
+ <div class="col-md-6">
18
+ <!-- Rack group details -->
19
+ <div class="panel panel-default">
20
+ <div class="panel-heading">
21
+ <strong>Manufacturer</strong>
22
+ </div>
23
+ <table class="table table-hover panel-body">
24
+ <tbody>
25
+ <tr>
26
+ <td>Name</td>
27
+ <td><%= h @manufacturer.name %></td>
28
+ </tr>
29
+ <tr>
30
+ <td>Created</td>
31
+ <td><%= @manufacturer.created_at.to_s(:long) %></td>
32
+ </tr>
33
+ <tr>
34
+ <td>Last Updated</td>
35
+ <td><%= @manufacturer.updated_at.to_s(:long) %></td>
36
+ </tr>
37
+ </tbody>
38
+ </table>
21
39
  </div>
22
- <table class="table table-hover panel-body">
23
- <tbody>
24
- <tr>
25
- <td>Name</td>
26
- <td><%= h @manufacturer.name %></td>
27
- </tr>
28
- <tr>
29
- <td>Created</td>
30
- <td><%= @manufacturer.created_at.to_s(:long) %></td>
31
- </tr>
32
- <tr>
33
- <td>Last Updated</td>
34
- <td><%= @manufacturer.updated_at.to_s(:long) %></td>
35
- </tr>
36
- </tbody>
37
- </table>
38
40
  </div>
39
- </div>
40
41
 
41
- <div class="col-md-6">
42
- <!-- Stats -->
43
- <div class="panel panel-default">
44
- <div class="panel-heading"><strong>Stats</strong></div>
45
- <table class="table table-hover panel-body">
46
- <tr>
47
- <td>Devices types</td>
48
- <td><%= @manufacturer.device_types.length %></td>
49
- </tr>
50
- </table>
42
+ <div class="col-md-6">
43
+ <!-- Stats -->
44
+ <div class="panel panel-default">
45
+ <div class="panel-heading"><strong>Stats</strong></div>
46
+ <table class="table table-hover panel-body">
47
+ <tr>
48
+ <td>Devices types</td>
49
+ <td><%= @manufacturer.device_types.length %></td>
50
+ </tr>
51
+ </table>
52
+ </div>
51
53
  </div>
52
54
  </div>
@@ -2,55 +2,57 @@
2
2
 
3
3
  <% title_actions display_link_if_authorized(
4
4
  _('Edit'),
5
- hash_for_edit_platform_path(:id => @platform).merge(:auth_object => @platform, :authorizer => authorizer),
5
+ hash_for_edit_platform_path(:id => @platform),
6
6
  :class => 'btn btn-warning'
7
7
  ),
8
8
  display_delete_if_authorized(
9
- hash_for_platform_path(:id => @platform).merge(:auth_object => @platform, :authorizer => authorizer),
9
+ hash_for_platform_path(:id => @platform),
10
10
  :data => { :confirm => 'Are you sure?'},
11
11
  :action => :destroy,
12
12
  :class => 'btn btn-danger'
13
13
  )
14
14
  help_path %>
15
15
 
16
- <div class="col-md-6">
17
- <!-- Rack group details -->
18
- <div class="panel panel-default">
19
- <div class="panel-heading">
20
- <strong>Platform</strong>
16
+ <div class="row-md-6">
17
+ <div class="col-md-6">
18
+ <!-- Rack group details -->
19
+ <div class="panel panel-default">
20
+ <div class="panel-heading">
21
+ <strong>Platform</strong>
22
+ </div>
23
+ <table class="table table-hover panel-body">
24
+ <tbody>
25
+ <tr>
26
+ <td>Name</td>
27
+ <td><%= h @platform.name %></td>
28
+ </tr>
29
+ <tr>
30
+ <td>RPC Client</td>
31
+ <td><%= @platform.rpc_client %></td>
32
+ </tr>
33
+ <tr>
34
+ <td>Created</td>
35
+ <td><%= @platform.created_at.to_s(:long) %></td>
36
+ </tr>
37
+ <tr>
38
+ <td>Last Updated</td>
39
+ <td><%= @platform.updated_at.to_s(:long) %></td>
40
+ </tr>
41
+ </tbody>
42
+ </table>
21
43
  </div>
22
- <table class="table table-hover panel-body">
23
- <tbody>
24
- <tr>
25
- <td>Name</td>
26
- <td><%= h @platform.name %></td>
27
- </tr>
28
- <tr>
29
- <td>RPC Client</td>
30
- <td><%= @platform.rpc_client %></td>
31
- </tr>
32
- <tr>
33
- <td>Created</td>
34
- <td><%= @platform.created_at.to_s(:long) %></td>
35
- </tr>
36
- <tr>
37
- <td>Last Updated</td>
38
- <td><%= @platform.updated_at.to_s(:long) %></td>
39
- </tr>
40
- </tbody>
41
- </table>
42
44
  </div>
43
- </div>
44
45
 
45
- <div class="col-md-6">
46
- <!-- Stats -->
47
- <div class="panel panel-default">
48
- <div class="panel-heading"><strong>Stats</strong></div>
49
- <table class="table table-hover panel-body">
50
- <tr>
51
- <td>Devices</td>
52
- <td><%= @platform.devices.length %></td>
53
- </tr>
54
- </table>
46
+ <div class="col-md-6">
47
+ <!-- Stats -->
48
+ <div class="panel panel-default">
49
+ <div class="panel-heading"><strong>Stats</strong></div>
50
+ <table class="table table-hover panel-body">
51
+ <tr>
52
+ <td>Devices</td>
53
+ <td><%= @platform.devices.length %></td>
54
+ </tr>
55
+ </table>
56
+ </div>
55
57
  </div>
56
58
  </div>
@@ -2,16 +2,16 @@
2
2
 
3
3
  <% title_actions display_link_if_authorized(
4
4
  _('Edit'),
5
- hash_for_edit_rack_group_path(:id => @rack_group).merge(:auth_object => @rack_group, :authorizer => authorizer),
5
+ hash_for_edit_rack_group_path(id: @rack_group),
6
6
  :class => 'btn btn-warning'
7
7
  ),
8
8
  display_delete_if_authorized(
9
- hash_for_rack_group_path(:id => @rack_group).merge(:auth_object => @rack_group, :authorizer => authorizer),
10
- :data => { :confirm => 'Are you sure?'},
9
+ hash_for_rack_group_path(id: @rack_group),
10
+ :data => { :confirm => 'Are you sure?' },
11
11
  :action => :destroy,
12
12
  :class => 'btn btn-danger'
13
13
  )
14
- help_path %>
14
+ help_path %>
15
15
 
16
16
  <div class="col-md-6">
17
17
  <!-- Rack group details -->
@@ -2,11 +2,11 @@
2
2
 
3
3
  <% title_actions display_link_if_authorized(
4
4
  _('Edit'),
5
- hash_for_edit_rack_path(:id => @rack).merge(:auth_object => @rack, :authorizer => authorizer),
5
+ hash_for_edit_rack_path(:id => @rack),
6
6
  :class => 'btn btn-warning'
7
7
  ),
8
8
  display_delete_if_authorized(
9
- hash_for_rack_path(:id => @rack).merge(:auth_object => @rack, :authorizer => authorizer),
9
+ hash_for_rack_path(:id => @rack),
10
10
  :data => { :confirm => 'Are you sure?' },
11
11
  :action => :destroy,
12
12
  :class => 'btn btn-danger'
@@ -2,97 +2,98 @@
2
2
 
3
3
  <% title_actions display_link_if_authorized(
4
4
  _('Edit'),
5
- hash_for_edit_site_path(:id => @site).merge(:auth_object => @site, :authorizer => authorizer),
5
+ hash_for_edit_site_path(:id => @site),
6
6
  :class => 'btn btn-warning'
7
7
  ),
8
8
  display_delete_if_authorized(
9
- hash_for_site_path(:id => @site).merge(:auth_object => @site, :authorizer => authorizer),
9
+ hash_for_site_path(:id => @site),
10
10
  :data => { :confirm => 'Are you sure?'},
11
11
  :action => :destroy,
12
12
  :class => 'btn btn-danger'
13
13
  )
14
14
  help_path %>
15
15
 
16
- <div class="col-md-6">
16
+ <div class="row">
17
17
  <!-- Site -->
18
- <div class="panel panel-default">
19
- <div class="panel-heading">
20
- <strong>Site</strong>
18
+ <div class="col-md-6">
19
+ <div class="panel panel-default">
20
+ <div class="panel-heading">
21
+ <strong>Site</strong>
22
+ </div>
23
+ <table class="table table-hover panel-body">
24
+ <tbody>
25
+ <tr>
26
+ <td>Facility</td>
27
+ <td><%= h @site.facility %></td>
28
+ </tr>
29
+ <tr>
30
+ <td>AS Number</td>
31
+ <td><%= @site.asn %></td>
32
+ </tr>
33
+ <tr>
34
+ <td>Physical Address</td>
35
+ <td><%= h @site.physical_address %></td>
36
+ </tr>
37
+ <tr>
38
+ <td>Shipping Address</td>
39
+ <td><%= h @site.shipping_address %></td>
40
+ </tr>
41
+ <tr>
42
+ <td>Created</td>
43
+ <td><%= @site.created_at.to_s(:long) %></td>
44
+ </tr>
45
+ <tr>
46
+ <td>Last Updated</td>
47
+ <td><%= @site.updated_at.to_s(:long) %></td>
48
+ </tr>
49
+ </tbody>
50
+ </table>
21
51
  </div>
22
- <table class="table table-hover panel-body">
23
- <tbody>
24
- <tr>
25
- <td>Facility</td>
26
- <td><%= h @site.facility %></td>
27
- </tr>
28
- <tr>
29
- <td>AS Number</td>
30
- <td><%= @site.asn %></td>
31
- </tr>
32
- <tr>
33
- <td>Physical Address</td>
34
- <td><%= h @site.physical_address %></td>
35
- </tr>
36
- <tr>
37
- <td>Shipping Address</td>
38
- <td><%= h @site.shipping_address %></td>
39
- </tr>
40
- <tr>
41
- <td>Created</td>
42
- <td><%= @site.created_at.to_s(:long) %></td>
43
- </tr>
44
- <tr>
45
- <td>Last Updated</td>
46
- <td><%= @site.updated_at.to_s(:long) %></td>
47
- </tr>
48
- </tbody>
49
- </table>
50
52
  </div>
51
-
52
- <!-- Comments -->
53
- <div class="panel panel-default">
54
- <div class="panel-heading">
55
- <strong>Comments</strong>
53
+ <!-- Stats -->
54
+ <div class="col-md-6">
55
+ <div class="panel panel-default">
56
+ <div class="panel-heading">
57
+ <strong>Stats</strong>
58
+ </div>
59
+ <table class="table table-hover panel-body">
60
+ <tbody>
61
+ <tr>
62
+ <td>Racks</td>
63
+ <td><%= @site.racks_count %></td>
64
+ </tr>
65
+ <tr>
66
+ <td>Devices</td>
67
+ <td><%= @site.devices_count %></td>
68
+ </tr>
69
+ </tbody>
70
+ </table>
56
71
  </div>
57
- <div class="panel-body"><%= simple_format @site.comments %></div>
58
- </div>
59
- </div>
60
72
 
61
- <div class="col-md-6">
62
- <!-- Stats -->
63
- <div class="panel panel-default">
64
- <div class="panel-heading">
65
- <strong>Stats</strong>
73
+ <!-- Rack groups -->
74
+ <div class="panel panel-default">
75
+ <div class="panel-heading">
76
+ <strong>Rack Groups</strong>
77
+ </div>
78
+ <table class="table table-hover panel-body">
79
+ <tbody>
80
+ <% @site.rack_groups.each do |rack_group| %>
81
+ <tr>
82
+ <td>
83
+ <%= link_to rack_group.name, rack_group_path(rack_group) %>
84
+ </td>
85
+ </tr>
86
+ <% end %>
87
+ </tbody>
88
+ </table>
66
89
  </div>
67
- <table class="table table-hover panel-body">
68
- <tbody>
69
- <tr>
70
- <td>Racks</td>
71
- <td><%= @site.racks_count %></td>
72
- </tr>
73
- <tr>
74
- <td>Devices</td>
75
- <td><%= @site.devices_count %></td>
76
- </tr>
77
- </tbody>
78
- </table>
79
90
  </div>
91
+ </div>
80
92
 
81
- <!-- Rack groups -->
82
- <div class="panel panel-default">
83
- <div class="panel-heading">
84
- <strong>Rack Groups</strong>
85
- </div>
86
- <table class="table table-hover panel-body">
87
- <tbody>
88
- <% @site.rack_groups.each do |rack_group| %>
89
- <tr>
90
- <td>
91
- <%= link_to rack_group.name, rack_group_path(rack_group) %>
92
- </td>
93
- </tr>
94
- <% end %>
95
- </tbody>
96
- </table>
93
+ <!-- Comments -->
94
+ <div class="panel panel-default">
95
+ <div class="panel-heading">
96
+ <strong>Comments</strong>
97
97
  </div>
98
+ <div class="panel-body"><%= simple_format @site.comments %></div>
98
99
  </div>
@@ -20,6 +20,399 @@ module ForemanDatacenter
20
20
  Foreman::Plugin.register :foreman_datacenter do
21
21
  requires_foreman '>= 1.12'
22
22
 
23
+ security_block :datacenter do
24
+ # Hosts
25
+ permission :import_to_device, {
26
+ :'hosts' => [:import_to_device]},
27
+ :resource_type => "ForemanDatacenter::HostExtensions"
28
+ # Comments
29
+ permission :create_comments, {
30
+ :'foreman_datacenter/comments' => [:new, :create]},
31
+ :resource_type => "ForemanDatacenter::Comments"
32
+ permission :edit_comments, {
33
+ :'foreman_datacenter/comments' => [:edit, :update]},
34
+ :resource_type => "ForemanDatacenter::Comments"
35
+ permission :destroy_comments, {
36
+ :'foreman_datacenter/comments' => [:destroy]},
37
+ :resource_type => "ForemanDatacenter::Comments"
38
+ # ConsolePortTemplates /datacenter/device_types/:id/console_ports/...
39
+ permission :create_console_port_templates, {
40
+ :'foreman_datacenter/console_port_templates' => [:new, :create]},
41
+ :resource_type => "ForemanDatacenter::ConsolePortTemplates"
42
+ permission :destroy_console_port_templates, {
43
+ :'foreman_datacenter/console_port_templates' => [:destroy]},
44
+ :resource_type => "ForemanDatacenter::ConsolePortTemplates"
45
+ # ConsolePorts
46
+ permission :view_console_ports, {
47
+ :'foreman_datacenter/console_ports' => [:index]},
48
+ :resource_type => "ForemanDatacenter::ConsolePorts"
49
+ permission :create_console_ports, {
50
+ :'foreman_datacenter/console_ports' => [:new, :create]},
51
+ :resource_type => "ForemanDatacenter::ConsolePorts"
52
+ permission :edit_console_ports, {
53
+ :'foreman_datacenter/console_ports' => [:edit, :update]},
54
+ :resource_type => "ForemanDatacenter::ConsolePorts"
55
+ permission :destroy_console_ports, {
56
+ :'foreman_datacenter/console_ports' => [:destroy]},
57
+ :resource_type => "ForemanDatacenter::ConsolePorts"
58
+ # ConsoleServerPortTemplates
59
+ permission :create_console_server_port_templates, {
60
+ :'foreman_datacenter/console_server_port_templates' => [:new, :create]},
61
+ :resource_type => "ForemanDatacenter::ConsoleServerPortTemplates"
62
+ permission :destroy_console_server_port_templates, {
63
+ :'foreman_datacenter/console_server_port_templates' => [:destroy]},
64
+ :resource_type => "ForemanDatacenter::ConsoleServerPortTemplates"
65
+ # ConsoleServerPorts
66
+ permission :create_console_server_ports, {
67
+ :'foreman_datacenter/console_server_ports' => [:new, :create]},
68
+ :resource_type => "ForemanDatacenter::ConsoleServerPorts"
69
+ permission :edit_console_server_ports, {
70
+ :'foreman_datacenter/console_server_ports' => [:edit, :update]},
71
+ :resource_type => "ForemanDatacenter::ConsoleServerPorts"
72
+ permission :destroy_console_server_ports, {
73
+ :'foreman_datacenter/console_server_ports' => [:destroy]},
74
+ :resource_type => "ForemanDatacenter::ConsoleServerPorts"
75
+ permission :console_server_ports_connections, {
76
+ :'foreman_datacenter/console_server_ports' => [:new_connection, :connect, :disconnect, :for_device]},
77
+ :resource_type => "ForemanDatacenter::ConsoleServerPorts"
78
+ # DeviceBayTemplates /datacenter/device_types/:id/device_bays/...
79
+ permission :create_device_bay_templates, {
80
+ :'foreman_datacenter/device_bay_templates' => [:new, :create]},
81
+ :resource_type => "ForemanDatacenter::DeviceBayTemplates"
82
+ permission :destroy_device_bay_templates, {
83
+ :'foreman_datacenter/device_bay_templates' => [:destroy]},
84
+ :resource_type => "ForemanDatacenter::DeviceBayTemplates"
85
+ # DeviceBays
86
+ permission :create_device_bays, {
87
+ :'foreman_datacenter/device_bays' => [:new, :create]},
88
+ :resource_type => "ForemanDatacenter::DeviceBays"
89
+ permission :edit_device_bays, {
90
+ :'foreman_datacenter/device_bays' => [:edit, :update]},
91
+ :resource_type => "ForemanDatacenter::DeviceBays"
92
+ permission :destroy_device_bays, {
93
+ :'foreman_datacenter/device_bays' => [:destroy]},
94
+ :resource_type => "ForemanDatacenter::DeviceBays"
95
+ permission :population, {
96
+ :'foreman_datacenter/device_bays' => [:populate_new, :populate, :depopulate]},
97
+ :resource_type => "ForemanDatacenter::DeviceBays"
98
+ # DeviceInterfaceConnections
99
+ permission :view_device_interface_connections, {
100
+ :'foreman_datacenter/device_interface_connections' => [:index]},
101
+ :resource_type => "ForemanDatacenter::DeviceInterfaceConnections"
102
+ permission :create_device_interface_connections, {
103
+ :'foreman_datacenter/device_interface_connections' => [:new, :create]},
104
+ :resource_type => "ForemanDatacenter::DeviceInterfaceConnections"
105
+ permission :edit_device_interface_connections, {
106
+ :'foreman_datacenter/device_interface_connections' => [:destroy]},
107
+ :resource_type => "ForemanDatacenter::DeviceInterfaceConnections"
108
+ permission :device_interface_connections_management, {
109
+ :'foreman_datacenter/device_interface_connections' => [:planned, :connected, :interfaces]},
110
+ :resource_type => "ForemanDatacenter::DeviceInterfaceConnections"
111
+ # DeviceInterfaces
112
+ permission :create_device_interfaces, {
113
+ :'foreman_datacenter/device_interfaces' => [:new, :create]},
114
+ :resource_type => "ForemanDatacenter::DeviceInterfaces"
115
+ permission :edit_device_interfaces, {
116
+ :'foreman_datacenter/device_interfaces' => [:edit, :update]},
117
+ :resource_type => "ForemanDatacenter::DeviceInterfaces"
118
+ permission :destroy_device_interfaces, {
119
+ :'foreman_datacenter/device_interfaces' => [:destroy]},
120
+ :resource_type => "ForemanDatacenter::DeviceInterfaces"
121
+ permission :device_interfaces_new_management, {
122
+ :'foreman_datacenter/device_interfaces' => [:new_management]},
123
+ :resource_type => "ForemanDatacenter::DeviceInterfaces"
124
+ # DeviceModules
125
+ permission :create_devices_modules, {
126
+ :'foreman_datacenter/device_modules' => [:new, :create]},
127
+ :resource_type => "ForemanDatacenter::DeviceModules"
128
+ permission :edit_device_modules, {
129
+ :'foreman_datacenter/device_modules' => [:edit, :update]},
130
+ :resource_type => "ForemanDatacenter::DeviceModules"
131
+ permission :destroy_device_modules, {
132
+ :'foreman_datacenter/device_modules' => [:destroy]},
133
+ :resource_type => "ForemanDatacenter::DeviceModules"
134
+ # DeviceRoles
135
+ permission :view_device_roles, {
136
+ :'foreman_datacenter/device_roles' => [:show, :index]},
137
+ :resource_type => "ForemanDatacenter::DeviceRoles"
138
+ permission :create_devices_roles, {
139
+ :'foreman_datacenter/device_roles' => [:new, :create]},
140
+ :resource_type => "ForemanDatacenter::DeviceRoles"
141
+ permission :edit_device_roles, {
142
+ :'foreman_datacenter/device_roles' => [:edit, :update]},
143
+ :resource_type => "ForemanDatacenter::DeviceRoles"
144
+ permission :destroy_device_roles, {
145
+ :'foreman_datacenter/device_roles' => [:destroy]},
146
+ :resource_type => "ForemanDatacenter::DeviceRoles"
147
+ # DeviceTypes
148
+ permission :view_device_types, {
149
+ :'foreman_datacenter/device_types' => [:show, :index]},
150
+ :resource_type => "ForemanDatacenter::DeviceTypes"
151
+ permission :create_devices_types, {
152
+ :'foreman_datacenter/device_types' => [:new, :create]},
153
+ :resource_type => "ForemanDatacenter::DeviceTypes"
154
+ permission :edit_device_types, {
155
+ :'foreman_datacenter/device_types' => [:edit, :update]},
156
+ :resource_type => "ForemanDatacenter::DeviceTypes"
157
+ permission :destroy_device_types, {
158
+ :'foreman_datacenter/device_types' => [:destroy]},
159
+ :resource_type => "ForemanDatacenter::DeviceTypes"
160
+ # Devices
161
+ permission :view_devices, {
162
+ :'foreman_datacenter/devices' => [:show, :index]},
163
+ :resource_type => "ForemanDatacenter::Device"
164
+ permission :create_devices, {
165
+ :'foreman_datacenter/devices' => [:new, :create]},
166
+ :resource_type => "ForemanDatacenter::Device"
167
+ permission :edit_devices, {
168
+ :'foreman_datacenter/devices' => [:edit, :update]},
169
+ :resource_type => "ForemanDatacenter::Device"
170
+ permission :destroy_devices, {
171
+ :'foreman_datacenter/devices' => [:destroy]},
172
+ :resource_type => "ForemanDatacenter::Device"
173
+ permission :inventory, {
174
+ :'foreman_datacenter/devices' => [:inventory]},
175
+ :resource_type => "ForemanDatacenter::Device"
176
+ permission :device_types, {
177
+ :'foreman_datacenter/devices' => [:device_types, :device_type_size]},
178
+ :resource_type => "ForemanDatacenter::Device"
179
+ permission :device_racks, {
180
+ :'foreman_datacenter/devices' => [:racks, :for_rack]},
181
+ :resource_type => "ForemanDatacenter::Device"
182
+ permission :destroy_interfaces, {
183
+ :'foreman_datacenter/devices' => [:destroy_interfaces]},
184
+ :resource_type => "ForemanDatacenter::Device"
185
+ permission :qr_code, {
186
+ :'foreman_datacenter/devices' => [:qr_code]},
187
+ :resource_type => "ForemanDatacenter::Device"
188
+ # InterfaceTemplates /datacenter/device_types/:id/interfaces/...
189
+ permission :create_interface_templates, {
190
+ :'foreman_datacenter/interface_templates' => [:new, :create]},
191
+ :resource_type => "ForemanDatacenter::InterfaceTemplates"
192
+ permission :destroy_interface_templates, {
193
+ :'foreman_datacenter/interface_templates' => [:destroy]},
194
+ :resource_type => "ForemanDatacenter::InterfaceTemplates"
195
+ permission :new_management, {
196
+ :'foreman_datacenter/interface_templates' => [:new_management]},
197
+ :resource_type => "ForemanDatacenter::InterfaceTemplates"
198
+ # ManagementDevices
199
+ permission :create_management_devices, {
200
+ :'foreman_datacenter/management_devices' => [:new, :create]},
201
+ :resource_type => "ForemanDatacenter::ManagementDevices"
202
+ permission :edit_management_devices, {
203
+ :'foreman_datacenter/management_devices' => [:edit, :update]},
204
+ :resource_type => "ForemanDatacenter::ManagementDevices"
205
+ permission :destroy_management_devices, {
206
+ :'foreman_datacenter/management_devices' => [:destroy]},
207
+ :resource_type => "ForemanDatacenter::ManagementDevices"
208
+ # Manufacturers
209
+ permission :view_manufacturers, {
210
+ :'foreman_datacenter/manufacturers' => [:show, :index]},
211
+ :resource_type => "ForemanDatacenter::Manufacturers"
212
+ permission :create_manufacturers, {
213
+ :'foreman_datacenter/manufacturers' => [:new, :create]},
214
+ :resource_type => "ForemanDatacenter::Manufacturers"
215
+ permission :edit_manufacturers, {
216
+ :'foreman_datacenter/manufacturers' => [:edit, :update]},
217
+ :resource_type => "ForemanDatacenter::Manufacturers"
218
+ permission :destroy_manufacturers, {
219
+ :'foreman_datacenter/manufacturers' => [:destroy]},
220
+ :resource_type => "ForemanDatacenter::Manufacturers"
221
+ # Platforms
222
+ permission :view_platforms, {
223
+ :'foreman_datacenter/platforms' => [:show, :index]},
224
+ :resource_type => "ForemanDatacenter::Platforms"
225
+ permission :create_platforms, {
226
+ :'foreman_datacenter/platforms' => [:new, :create]},
227
+ :resource_type => "ForemanDatacenter::Platforms"
228
+ permission :edit_platforms, {
229
+ :'foreman_datacenter/platforms' => [:edit, :update]},
230
+ :resource_type => "ForemanDatacenter::Platforms"
231
+ permission :destroy_platforms, {
232
+ :'foreman_datacenter/platforms' => [:destroy]},
233
+ :resource_type => "ForemanDatacenter::Platforms"
234
+ # PowerOutletTemplates
235
+ permission :create_power_outlet_templates, {
236
+ :'foreman_datacenter/power_outlet_templates' => [:new, :create]},
237
+ :resource_type => "ForemanDatacenter::PowerOutletTemplates"
238
+ permission :destroy_power_outlet_templates, {
239
+ :'foreman_datacenter/power_outlet_templates' => [:destroy]},
240
+ :resource_type => "ForemanDatacenter::PowerOutletTemplates"
241
+ # PowerOutlets
242
+ permission :create_power_outlets, {
243
+ :'foreman_datacenter/power_outlets' => [:new, :create]},
244
+ :resource_type => "ForemanDatacenter::PowerOutlets"
245
+ permission :edit_power_outlets, {
246
+ :'foreman_datacenter/power_outlets' => [:edit, :update]},
247
+ :resource_type => "ForemanDatacenter::PowerOutlets"
248
+ permission :destroy_power_outlets, {
249
+ :'foreman_datacenter/power_outlets' => [:destroy]},
250
+ :resource_type => "ForemanDatacenter::PowerOutlets"
251
+ permission :power_outlets_connections, {
252
+ :'foreman_datacenter/power_outlets' => [:new_connection, :connect, :disconnect, :for_device]},
253
+ :resource_type => "ForemanDatacenter::PowerOutlets"
254
+ # PowerPortTemplates /datacenter/device_types/:id/power_ports/...
255
+ permission :create_power_port_templates, {
256
+ :'foreman_datacenter/power_port_templates' => [:new, :create]},
257
+ :resource_type => "ForemanDatacenter::PowerPortTemplates"
258
+ permission :destroy_power_port_templates, {
259
+ :'foreman_datacenter/power_port_templates' => [:destroy]},
260
+ :resource_type => "ForemanDatacenter::PowerPortTemplates"
261
+ # PowerPorts
262
+ permission :view_power_ports, {
263
+ :'foreman_datacenter/power_ports' => [:index]},
264
+ :resource_type => "ForemanDatacenter::PowerPorts"
265
+ permission :create_power_ports, {
266
+ :'foreman_datacenter/power_ports' => [:new, :create]},
267
+ :resource_type => "ForemanDatacenter::PowerPorts"
268
+ permission :edit_power_ports, {
269
+ :'foreman_datacenter/power_ports' => [:edit, :update]},
270
+ :resource_type => "ForemanDatacenter::PowerPorts"
271
+ permission :destroy_power_ports, {
272
+ :'foreman_datacenter/power_ports' => [:destroy]},
273
+ :resource_type => "ForemanDatacenter::PowerPorts"
274
+ permission :power_ports_connections_management, {
275
+ :'foreman_datacenter/device_interface_connections' => [:planned, :connected, :for_device, :new_connection, :connect, :disconnect]},
276
+ :resource_type => "ForemanDatacenter::PowerPorts"
277
+ # RackGroups
278
+ permission :view_rack_groups, {
279
+ :'foreman_datacenter/rack_groups' => [:show, :index]},
280
+ :resource_type => "ForemanDatacenter::RackGroup"
281
+ permission :create_rack_groups, {
282
+ :'foreman_datacenter/rack_groups' => [:new, :create]},
283
+ :resource_type => "ForemanDatacenter::RackGroup"
284
+ permission :edit_rack_groups, {
285
+ :'foreman_datacenter/rack_groups' => [:edit, :update]},
286
+ :resource_type => "ForemanDatacenter::RackGroup"
287
+ permission :destroy_rack_groups, {
288
+ :'foreman_datacenter/rack_groups' => [:destroy]},
289
+ :resource_type => "ForemanDatacenter::RackGroup"
290
+ # Racks
291
+ permission :view_racks, {
292
+ :'foreman_datacenter/racks' => [:show, :index]},
293
+ :resource_type => "ForemanDatacenter::Rack"
294
+ permission :create_racks, {
295
+ :'foreman_datacenter/racks' => [:new, :create]},
296
+ :resource_type => "ForemanDatacenter::Rack"
297
+ permission :edit_racks, {
298
+ :'foreman_datacenter/racks' => [:edit, :update]},
299
+ :resource_type => "ForemanDatacenter::Rack"
300
+ permission :destroy_racks, {
301
+ :'foreman_datacenter/racks' => [:destroy]},
302
+ :resource_type => "ForemanDatacenter::Rack"
303
+ permission :racks_groups, {
304
+ :'foreman_datacenter/racks' => [:rack_groups]},
305
+ :resource_type => "ForemanDatacenter::Rack"
306
+ # Sites
307
+ permission :view_sites, {
308
+ :'foreman_datacenter/sites' => [:show, :index]},
309
+ :resource_type => "ForemanDatacenter::Site"
310
+ permission :create_sites, {
311
+ :'foreman_datacenter/sites' => [:new, :create]},
312
+ :resource_type => "ForemanDatacenter::Site"
313
+ permission :edit_sites, {
314
+ :'foreman_datacenter/sites' => [:edit, :update]},
315
+ :resource_type => "ForemanDatacenter::Site"
316
+ permission :destroy_sites, {
317
+ :'foreman_datacenter/sites' => [:destroy]},
318
+ :resource_type => "ForemanDatacenter::Site"
319
+ end
320
+
321
+ MANAGER = [
322
+ :import_to_device,
323
+ :create_comments,
324
+ :edit_comments,
325
+ :destroy_comments,
326
+ :create_console_port_templates,
327
+ :destroy_console_port_templates,
328
+ :view_console_ports,
329
+ :create_console_ports,
330
+ :edit_console_ports,
331
+ :destroy_console_ports,
332
+ :create_console_server_port_templates,
333
+ :destroy_console_server_port_templates,
334
+ :create_console_server_ports,
335
+ :edit_console_server_ports,
336
+ :destroy_console_server_ports,
337
+ :console_server_ports_connections,
338
+ :create_device_bay_templates,
339
+ :destroy_device_bay_templates,
340
+ :create_device_bays,
341
+ :edit_device_bays,
342
+ :destroy_device_bays,
343
+ :population,
344
+ :view_device_interface_connections,
345
+ :create_device_interface_connections,
346
+ :edit_device_interface_connections,
347
+ :device_interface_connections_management,
348
+ :create_device_interfaces,
349
+ :edit_device_interfaces,
350
+ :destroy_device_interfaces,
351
+ :device_interfaces_new_management,
352
+ :create_devices_modules,
353
+ :edit_device_modules,
354
+ :destroy_device_modules,
355
+ :view_device_roles,
356
+ :create_devices_roles,
357
+ :edit_device_roles,
358
+ :destroy_device_roles,
359
+ :view_device_types,
360
+ :create_devices_types,
361
+ :edit_device_types,
362
+ :destroy_device_types,
363
+ :view_devices,
364
+ :create_devices,
365
+ :edit_devices,
366
+ :destroy_devices,
367
+ :inventory,
368
+ :device_types,
369
+ :device_racks,
370
+ :destroy_interfaces,
371
+ :qr_code,
372
+ :create_interface_templates,
373
+ :destroy_interface_templates,
374
+ :new_management,
375
+ :create_management_devices,
376
+ :edit_management_devices,
377
+ :destroy_management_devices,
378
+ :view_manufacturers,
379
+ :create_manufacturers,
380
+ :edit_manufacturers,
381
+ :destroy_manufacturers,
382
+ :view_platforms,
383
+ :create_platforms,
384
+ :edit_platforms,
385
+ :destroy_platforms,
386
+ :create_power_outlet_templates,
387
+ :destroy_power_outlet_templates,
388
+ :create_power_outlets,
389
+ :edit_power_outlets,
390
+ :destroy_power_outlets,
391
+ :power_outlets_connections,
392
+ :create_power_port_templates,
393
+ :destroy_power_port_templates,
394
+ :view_power_ports,
395
+ :create_power_ports,
396
+ :edit_power_ports,
397
+ :destroy_power_ports,
398
+ :power_ports_connections_management,
399
+ :view_rack_groups,
400
+ :create_rack_groups,
401
+ :edit_rack_groups,
402
+ :destroy_rack_groups,
403
+ :view_racks,
404
+ :create_racks,
405
+ :edit_racks,
406
+ :destroy_racks,
407
+ :racks_groups,
408
+ :view_sites,
409
+ :create_sites,
410
+ :edit_sites,
411
+ :destroy_sites,
412
+ ]
413
+ role "Datacenter Manager", MANAGER
414
+ add_all_permissions_to_default_roles
415
+
23
416
  sub_menu :top_menu, :datacenter, :after=> :infrastructure_menu do
24
417
  menu :top_menu, :sites, :url_hash => { controller: :'foreman_datacenter/sites', action: :index }
25
418
  divider :top_menu, :parent => :datacenter, :after => :sites, :caption => 'Racks'