foreman_datacenter 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +619 -0
  3. data/README.md +38 -0
  4. data/Rakefile +47 -0
  5. data/app/assets/javascripts/foreman_datacenter/ajax.js +18 -0
  6. data/app/assets/javascripts/foreman_datacenter/console_ports.js +2 -0
  7. data/app/assets/javascripts/foreman_datacenter/device_interface_connections.js +16 -0
  8. data/app/assets/javascripts/foreman_datacenter/devices.js +33 -0
  9. data/app/assets/javascripts/foreman_datacenter/racks.js +16 -0
  10. data/app/assets/javascripts/foreman_datacenter/shared.js +19 -0
  11. data/app/assets/stylesheets/foreman_datacenter/device_interface_connections.css +3 -0
  12. data/app/controllers/foreman_datacenter/console_port_templates_controller.rb +41 -0
  13. data/app/controllers/foreman_datacenter/console_ports_controller.rb +94 -0
  14. data/app/controllers/foreman_datacenter/console_server_port_templates_controller.rb +41 -0
  15. data/app/controllers/foreman_datacenter/console_server_ports_controller.rb +78 -0
  16. data/app/controllers/foreman_datacenter/device_bay_templates_controller.rb +41 -0
  17. data/app/controllers/foreman_datacenter/device_bays_controller.rb +74 -0
  18. data/app/controllers/foreman_datacenter/device_interface_connections_controller.rb +65 -0
  19. data/app/controllers/foreman_datacenter/device_interfaces_controller.rb +65 -0
  20. data/app/controllers/foreman_datacenter/device_modules_controller.rb +53 -0
  21. data/app/controllers/foreman_datacenter/device_roles_controller.rb +55 -0
  22. data/app/controllers/foreman_datacenter/device_types_controller.rb +60 -0
  23. data/app/controllers/foreman_datacenter/devices_controller.rb +82 -0
  24. data/app/controllers/foreman_datacenter/interface_templates_controller.rb +52 -0
  25. data/app/controllers/foreman_datacenter/manufacturers_controller.rb +55 -0
  26. data/app/controllers/foreman_datacenter/platforms_controller.rb +55 -0
  27. data/app/controllers/foreman_datacenter/power_outlet_templates_controller.rb +41 -0
  28. data/app/controllers/foreman_datacenter/power_outlets_controller.rb +77 -0
  29. data/app/controllers/foreman_datacenter/power_port_templates_controller.rb +41 -0
  30. data/app/controllers/foreman_datacenter/power_ports_controller.rb +94 -0
  31. data/app/controllers/foreman_datacenter/rack_groups_controller.rb +55 -0
  32. data/app/controllers/foreman_datacenter/racks_controller.rb +63 -0
  33. data/app/controllers/foreman_datacenter/sites_controller.rb +56 -0
  34. data/app/helpers/foreman_datacenter/console_ports_helper.rb +11 -0
  35. data/app/helpers/foreman_datacenter/console_server_ports_helper.rb +11 -0
  36. data/app/helpers/foreman_datacenter/device_bays_helper.rb +12 -0
  37. data/app/helpers/foreman_datacenter/device_interface_connections_helper.rb +10 -0
  38. data/app/helpers/foreman_datacenter/device_interfaces_helper.rb +4 -0
  39. data/app/helpers/foreman_datacenter/device_roles_helper.rb +7 -0
  40. data/app/helpers/foreman_datacenter/device_types_helper.rb +7 -0
  41. data/app/helpers/foreman_datacenter/devices_helper.rb +54 -0
  42. data/app/helpers/foreman_datacenter/interface_templates_helper.rb +7 -0
  43. data/app/helpers/foreman_datacenter/platforms_helper.rb +7 -0
  44. data/app/helpers/foreman_datacenter/power_outlets_helper.rb +11 -0
  45. data/app/helpers/foreman_datacenter/power_ports_helper.rb +11 -0
  46. data/app/helpers/foreman_datacenter/racks_helper.rb +8 -0
  47. data/app/helpers/foreman_datacenter/shared_helper.rb +29 -0
  48. data/app/models/foreman_datacenter/console_port.rb +19 -0
  49. data/app/models/foreman_datacenter/console_port_template.rb +12 -0
  50. data/app/models/foreman_datacenter/console_server_port.rb +9 -0
  51. data/app/models/foreman_datacenter/console_server_port_template.rb +12 -0
  52. data/app/models/foreman_datacenter/device.rb +136 -0
  53. data/app/models/foreman_datacenter/device_bay.rb +15 -0
  54. data/app/models/foreman_datacenter/device_bay_template.rb +12 -0
  55. data/app/models/foreman_datacenter/device_interface.rb +36 -0
  56. data/app/models/foreman_datacenter/device_interface_connection.rb +43 -0
  57. data/app/models/foreman_datacenter/device_module.rb +10 -0
  58. data/app/models/foreman_datacenter/device_role.rb +14 -0
  59. data/app/models/foreman_datacenter/device_type.rb +43 -0
  60. data/app/models/foreman_datacenter/interface_template.rb +17 -0
  61. data/app/models/foreman_datacenter/manufacturer.rb +7 -0
  62. data/app/models/foreman_datacenter/platform.rb +16 -0
  63. data/app/models/foreman_datacenter/power_outlet.rb +9 -0
  64. data/app/models/foreman_datacenter/power_outlet_template.rb +12 -0
  65. data/app/models/foreman_datacenter/power_port.rb +19 -0
  66. data/app/models/foreman_datacenter/power_port_template.rb +12 -0
  67. data/app/models/foreman_datacenter/rack.rb +13 -0
  68. data/app/models/foreman_datacenter/rack_group.rb +9 -0
  69. data/app/models/foreman_datacenter/site.rb +22 -0
  70. data/app/views/foreman_datacenter/console_port_templates/_form.html.erb +15 -0
  71. data/app/views/foreman_datacenter/console_port_templates/new.html.erb +3 -0
  72. data/app/views/foreman_datacenter/console_ports/_for_device.html.erb +5 -0
  73. data/app/views/foreman_datacenter/console_ports/_form.html.erb +15 -0
  74. data/app/views/foreman_datacenter/console_ports/edit.html.erb +3 -0
  75. data/app/views/foreman_datacenter/console_ports/index.html.erb +29 -0
  76. data/app/views/foreman_datacenter/console_ports/new.html.erb +3 -0
  77. data/app/views/foreman_datacenter/console_ports/new_connection.html.erb +22 -0
  78. data/app/views/foreman_datacenter/console_server_port_templates/_form.html.erb +15 -0
  79. data/app/views/foreman_datacenter/console_server_port_templates/new.html.erb +3 -0
  80. data/app/views/foreman_datacenter/console_server_ports/_for_device.html.erb +5 -0
  81. data/app/views/foreman_datacenter/console_server_ports/_form.html.erb +15 -0
  82. data/app/views/foreman_datacenter/console_server_ports/edit.html.erb +3 -0
  83. data/app/views/foreman_datacenter/console_server_ports/new.html.erb +3 -0
  84. data/app/views/foreman_datacenter/console_server_ports/new_connection.html.erb +22 -0
  85. data/app/views/foreman_datacenter/device_bay_templates/_form.html.erb +15 -0
  86. data/app/views/foreman_datacenter/device_bay_templates/new.html.erb +3 -0
  87. data/app/views/foreman_datacenter/device_bays/_form.html.erb +15 -0
  88. data/app/views/foreman_datacenter/device_bays/edit.html.erb +3 -0
  89. data/app/views/foreman_datacenter/device_bays/new.html.erb +3 -0
  90. data/app/views/foreman_datacenter/device_bays/populate_new.html.erb +21 -0
  91. data/app/views/foreman_datacenter/device_interface_connections/_form.html.erb +72 -0
  92. data/app/views/foreman_datacenter/device_interface_connections/_interfaces.html.erb +5 -0
  93. data/app/views/foreman_datacenter/device_interface_connections/index.html.erb +32 -0
  94. data/app/views/foreman_datacenter/device_interface_connections/new.html.erb +7 -0
  95. data/app/views/foreman_datacenter/device_interfaces/_form.html.erb +22 -0
  96. data/app/views/foreman_datacenter/device_interfaces/edit.html.erb +3 -0
  97. data/app/views/foreman_datacenter/device_interfaces/new.html.erb +3 -0
  98. data/app/views/foreman_datacenter/device_modules/_form.html.erb +17 -0
  99. data/app/views/foreman_datacenter/device_modules/edit.html.erb +3 -0
  100. data/app/views/foreman_datacenter/device_modules/new.html.erb +3 -0
  101. data/app/views/foreman_datacenter/device_roles/_form.html.erb +11 -0
  102. data/app/views/foreman_datacenter/device_roles/edit.html.erb +3 -0
  103. data/app/views/foreman_datacenter/device_roles/index.html.erb +36 -0
  104. data/app/views/foreman_datacenter/device_roles/new.html.erb +3 -0
  105. data/app/views/foreman_datacenter/device_roles/show.html.erb +56 -0
  106. data/app/views/foreman_datacenter/device_types/_form.html.erb +26 -0
  107. data/app/views/foreman_datacenter/device_types/edit.html.erb +3 -0
  108. data/app/views/foreman_datacenter/device_types/index.html.erb +36 -0
  109. data/app/views/foreman_datacenter/device_types/new.html.erb +3 -0
  110. data/app/views/foreman_datacenter/device_types/show.html.erb +357 -0
  111. data/app/views/foreman_datacenter/devices/_console_port.html.erb +60 -0
  112. data/app/views/foreman_datacenter/devices/_console_server_port.html.erb +64 -0
  113. data/app/views/foreman_datacenter/devices/_device_bay.html.erb +46 -0
  114. data/app/views/foreman_datacenter/devices/_device_module.html.erb +16 -0
  115. data/app/views/foreman_datacenter/devices/_device_types.html.erb +5 -0
  116. data/app/views/foreman_datacenter/devices/_for_rack.html.erb +9 -0
  117. data/app/views/foreman_datacenter/devices/_form.html.erb +80 -0
  118. data/app/views/foreman_datacenter/devices/_interface.html.erb +67 -0
  119. data/app/views/foreman_datacenter/devices/_management_interface.html.erb +67 -0
  120. data/app/views/foreman_datacenter/devices/_power_outlet.html.erb +60 -0
  121. data/app/views/foreman_datacenter/devices/_power_port.html.erb +60 -0
  122. data/app/views/foreman_datacenter/devices/_racks.html.erb +5 -0
  123. data/app/views/foreman_datacenter/devices/edit.html.erb +5 -0
  124. data/app/views/foreman_datacenter/devices/index.html.erb +51 -0
  125. data/app/views/foreman_datacenter/devices/inventory.html.erb +66 -0
  126. data/app/views/foreman_datacenter/devices/new.html.erb +5 -0
  127. data/app/views/foreman_datacenter/devices/show.html.erb +303 -0
  128. data/app/views/foreman_datacenter/hosts/hosts/new_action.html.erb +1 -0
  129. data/app/views/foreman_datacenter/hosts/new_action.html.erb +1 -0
  130. data/app/views/foreman_datacenter/interface_templates/_form.html.erb +19 -0
  131. data/app/views/foreman_datacenter/interface_templates/new.html.erb +3 -0
  132. data/app/views/foreman_datacenter/layouts/layouts/new_layout.html.erb +0 -0
  133. data/app/views/foreman_datacenter/layouts/new_layout.html.erb +0 -0
  134. data/app/views/foreman_datacenter/manufacturers/_form.html.erb +7 -0
  135. data/app/views/foreman_datacenter/manufacturers/edit.html.erb +3 -0
  136. data/app/views/foreman_datacenter/manufacturers/index.html.erb +34 -0
  137. data/app/views/foreman_datacenter/manufacturers/new.html.erb +3 -0
  138. data/app/views/foreman_datacenter/manufacturers/show.html.erb +52 -0
  139. data/app/views/foreman_datacenter/platforms/_form.html.erb +11 -0
  140. data/app/views/foreman_datacenter/platforms/edit.html.erb +3 -0
  141. data/app/views/foreman_datacenter/platforms/index.html.erb +34 -0
  142. data/app/views/foreman_datacenter/platforms/new.html.erb +3 -0
  143. data/app/views/foreman_datacenter/platforms/show.html.erb +56 -0
  144. data/app/views/foreman_datacenter/power_outlet_templates/_form.html.erb +15 -0
  145. data/app/views/foreman_datacenter/power_outlet_templates/new.html.erb +3 -0
  146. data/app/views/foreman_datacenter/power_outlets/_for_device.html.erb +5 -0
  147. data/app/views/foreman_datacenter/power_outlets/_form.html.erb +15 -0
  148. data/app/views/foreman_datacenter/power_outlets/edit.html.erb +3 -0
  149. data/app/views/foreman_datacenter/power_outlets/new.html.erb +3 -0
  150. data/app/views/foreman_datacenter/power_outlets/new_connection.html.erb +22 -0
  151. data/app/views/foreman_datacenter/power_port_templates/_form.html.erb +15 -0
  152. data/app/views/foreman_datacenter/power_port_templates/new.html.erb +3 -0
  153. data/app/views/foreman_datacenter/power_ports/_for_device.html.erb +5 -0
  154. data/app/views/foreman_datacenter/power_ports/_form.html.erb +15 -0
  155. data/app/views/foreman_datacenter/power_ports/edit.html.erb +3 -0
  156. data/app/views/foreman_datacenter/power_ports/index.html.erb +29 -0
  157. data/app/views/foreman_datacenter/power_ports/new.html.erb +3 -0
  158. data/app/views/foreman_datacenter/power_ports/new_connection.html.erb +22 -0
  159. data/app/views/foreman_datacenter/rack_groups/_form.html.erb +11 -0
  160. data/app/views/foreman_datacenter/rack_groups/edit.html.erb +3 -0
  161. data/app/views/foreman_datacenter/rack_groups/index.html.erb +36 -0
  162. data/app/views/foreman_datacenter/rack_groups/new.html.erb +3 -0
  163. data/app/views/foreman_datacenter/rack_groups/show.html.erb +56 -0
  164. data/app/views/foreman_datacenter/racks/_form.html.erb +25 -0
  165. data/app/views/foreman_datacenter/racks/_rack_groups.html.erb +8 -0
  166. data/app/views/foreman_datacenter/racks/edit.html.erb +5 -0
  167. data/app/views/foreman_datacenter/racks/index.html.erb +50 -0
  168. data/app/views/foreman_datacenter/racks/new.html.erb +5 -0
  169. data/app/views/foreman_datacenter/racks/show.html.erb +67 -0
  170. data/app/views/foreman_datacenter/shared/_rack_device_select.html.erb +22 -0
  171. data/app/views/foreman_datacenter/sites/_form.html.erb +12 -0
  172. data/app/views/foreman_datacenter/sites/edit.html.erb +3 -0
  173. data/app/views/foreman_datacenter/sites/index.html.erb +40 -0
  174. data/app/views/foreman_datacenter/sites/new.html.erb +3 -0
  175. data/app/views/foreman_datacenter/sites/show.html.erb +98 -0
  176. data/config/routes.rb +92 -0
  177. data/db/migrate/20160727161914_create_sites.rb +16 -0
  178. data/db/migrate/20160728123353_create_rack_groups.rb +12 -0
  179. data/db/migrate/20160728143149_create_racks.rb +16 -0
  180. data/db/migrate/20160728161636_create_platforms.rb +12 -0
  181. data/db/migrate/20160728162635_create_device_roles.rb +12 -0
  182. data/db/migrate/20160728163815_create_manufacturers.rb +12 -0
  183. data/db/migrate/20160728164858_create_device_types.rb +18 -0
  184. data/db/migrate/20160728171422_create_devices.rb +31 -0
  185. data/db/migrate/20160728194401_create_device_interfaces.rb +17 -0
  186. data/db/migrate/20160728195242_create_device_interface_connections.rb +18 -0
  187. data/db/migrate/20160804104103_create_interface_templates.rb +15 -0
  188. data/db/migrate/20160804142618_create_console_port_templates.rb +13 -0
  189. data/db/migrate/20160804164301_create_power_port_templates.rb +13 -0
  190. data/db/migrate/20160805080626_create_console_server_port_templates.rb +13 -0
  191. data/db/migrate/20160805084726_create_power_outlet_templates.rb +13 -0
  192. data/db/migrate/20160805100411_create_device_bay_templates.rb +13 -0
  193. data/db/migrate/20160809091611_create_device_bays.rb +16 -0
  194. data/db/migrate/20160809103211_create_power_outlets.rb +13 -0
  195. data/db/migrate/20160809104325_create_power_ports.rb +17 -0
  196. data/db/migrate/20160809112815_create_console_server_ports.rb +13 -0
  197. data/db/migrate/20160809113846_create_console_ports.rb +17 -0
  198. data/db/migrate/20160816224805_create_device_modules.rb +15 -0
  199. data/lib/foreman_datacenter.rb +4 -0
  200. data/lib/foreman_datacenter/engine.rb +70 -0
  201. data/lib/foreman_datacenter/version.rb +3 -0
  202. data/lib/tasks/foreman_datacenter_tasks.rake +45 -0
  203. data/locale/Makefile +60 -0
  204. data/locale/en/foreman_datacenter.po +19 -0
  205. data/locale/foreman_datacenter.pot +19 -0
  206. data/locale/gemspec.rb +2 -0
  207. data/test/factories/foreman_datacenter_factories.rb +5 -0
  208. data/test/test_plugin_helper.rb +6 -0
  209. data/test/unit/foreman_datacenter_test.rb +11 -0
  210. metadata +310 -0
@@ -0,0 +1,15 @@
1
+ class CreateDeviceModules < ActiveRecord::Migration
2
+ def change
3
+ create_table :device_modules do |t|
4
+ t.integer :device_id
5
+ t.string :name, limit: 50, null: false
6
+ t.string :part_id, limit: 50
7
+ t.string :serial, limit: 50
8
+
9
+ t.timestamps null: false
10
+ end
11
+
12
+ add_foreign_key :device_modules, :devices, column: :device_id,
13
+ on_delete: :cascade
14
+ end
15
+ end
@@ -0,0 +1,4 @@
1
+ require 'foreman_datacenter/engine'
2
+
3
+ module ForemanDatacenter
4
+ end
@@ -0,0 +1,70 @@
1
+ require 'deface'
2
+
3
+ module ForemanDatacenter
4
+ class Engine < ::Rails::Engine
5
+ engine_name 'foreman_datacenter'
6
+
7
+ config.autoload_paths += Dir["#{config.root}/app/controllers/concerns"]
8
+ config.autoload_paths += Dir["#{config.root}/app/helpers/concerns"]
9
+ config.autoload_paths += Dir["#{config.root}/app/models/concerns"]
10
+ config.autoload_paths += Dir["#{config.root}/app/overrides"]
11
+
12
+ # Add any db migrations
13
+ initializer 'foreman_datacenter.load_app_instance_data' do |app|
14
+ ForemanDatacenter::Engine.paths['db/migrate'].existent.each do |path|
15
+ app.config.paths['db/migrate'] << path
16
+ end
17
+ end
18
+
19
+ initializer 'foreman_datacenter.register_plugin', :before => :finisher_hook do |_app|
20
+ Foreman::Plugin.register :foreman_datacenter do
21
+ requires_foreman '>= 1.12'
22
+
23
+ sub_menu :top_menu, :datacenter, :after=> :infrastructure_menu do
24
+ menu :top_menu, :sites, :url_hash => { controller: :'foreman_datacenter/sites', action: :index }
25
+ divider :top_menu, :parent => :datacenter, :after => :sites, :caption => 'Racks'
26
+ menu :top_menu, :racks, :url_hash => { controller: :'foreman_datacenter/racks', action: :index }
27
+ menu :top_menu, :rack_groups, :url_hash => { controller: :'foreman_datacenter/rack_groups', action: :index }
28
+ divider :top_menu, :parent => :datacenter, :after => :rack_groups, :caption => 'Devices'
29
+ menu :top_menu, :devices, :url_hash => { controller: :'foreman_datacenter/devices', action: :index }
30
+ menu :top_menu, :device_types, :url_hash => { controller: :'foreman_datacenter/device_types', action: :index }
31
+ menu :top_menu, :device_roles, :url_hash => { controller: :'foreman_datacenter/device_roles', action: :index }
32
+ menu :top_menu, :manufacturers, :url_hash => { controller: :'foreman_datacenter/manufacturers', action: :index }
33
+ menu :top_menu, :platforms, :url_hash => { controller: :'foreman_datacenter/platforms', action: :index }
34
+ divider :top_menu, :parent => :datacenter, :after => :interfaces, :caption => 'Connections'
35
+ menu :top_menu, :console_connections, :url_hash => { controller: :'foreman_datacenter/console_ports', action: :index }
36
+ menu :top_menu, :power_connections, :url_hash => { controller: :'foreman_datacenter/power_ports', action: :index }
37
+ menu :top_menu, :interface_connections, :url_hash => { controller: :'foreman_datacenter/device_interface_connections', action: :index }
38
+ end
39
+ end
40
+ end
41
+
42
+ # Precompile any JS or CSS files under app/assets/
43
+ # If requiring files from each other, list them explicitly here to avoid precompiling the same
44
+ # content twice.
45
+ assets_to_precompile =
46
+ Dir.chdir(root) do
47
+ Dir['app/assets/javascripts/**/*', 'app/assets/stylesheets/**/*'].map do |f|
48
+ f.split(File::SEPARATOR, 4).last
49
+ end
50
+ end
51
+ initializer 'foreman_datacenter.assets.precompile' do |app|
52
+ app.config.assets.precompile += assets_to_precompile
53
+ end
54
+ initializer 'foreman_datacenter.configure_assets', group: :assets do
55
+ SETTINGS[:foreman_datacenter] = { assets: { precompile: assets_to_precompile } }
56
+ end
57
+
58
+ rake_tasks do
59
+ Rake::Task['db:seed'].enhance do
60
+ ForemanDatacenter::Engine.load_seed
61
+ end
62
+ end
63
+
64
+ initializer 'foreman_datacenter.register_gettext', after: :load_config_initializers do |_app|
65
+ locale_dir = File.join(File.expand_path('../../..', __FILE__), 'locale')
66
+ locale_domain = 'foreman_datacenter'
67
+ Foreman::Gettext::Support.add_text_domain locale_domain, locale_dir
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,3 @@
1
+ module ForemanDatacenter
2
+ VERSION = '0.0.1'.freeze
3
+ end
@@ -0,0 +1,45 @@
1
+ # Tasks
2
+ namespace :foreman_datacenter do
3
+ namespace :example do
4
+ desc 'Example Task'
5
+ task task: :environment do
6
+ # Task goes here
7
+ end
8
+ end
9
+ end
10
+
11
+ # Tests
12
+ namespace :test do
13
+ desc 'Test ForemanDatacenter'
14
+ Rake::TestTask.new(:foreman_datacenter) do |t|
15
+ test_dir = File.join(File.dirname(__FILE__), '../..', 'test')
16
+ t.libs << ['test', test_dir]
17
+ t.pattern = "#{test_dir}/**/*_test.rb"
18
+ t.verbose = true
19
+ t.warning = false
20
+ end
21
+ end
22
+
23
+ namespace :foreman_datacenter do
24
+ task :rubocop do
25
+ begin
26
+ require 'rubocop/rake_task'
27
+ RuboCop::RakeTask.new(:rubocop_foreman_datacenter) do |task|
28
+ task.patterns = ["#{ForemanDatacenter::Engine.root}/app/**/*.rb",
29
+ "#{ForemanDatacenter::Engine.root}/lib/**/*.rb",
30
+ "#{ForemanDatacenter::Engine.root}/test/**/*.rb"]
31
+ end
32
+ rescue
33
+ puts 'Rubocop not loaded.'
34
+ end
35
+
36
+ Rake::Task['rubocop_foreman_datacenter'].invoke
37
+ end
38
+ end
39
+
40
+ Rake::Task[:test].enhance ['test:foreman_datacenter']
41
+
42
+ load 'tasks/jenkins.rake'
43
+ if Rake::Task.task_defined?(:'jenkins:unit')
44
+ Rake::Task['jenkins:unit'].enhance ['test:foreman_datacenter', 'foreman_datacenter:rubocop']
45
+ end
data/locale/Makefile ADDED
@@ -0,0 +1,60 @@
1
+ #
2
+ # Makefile for PO merging and MO generation. More info in the README.
3
+ #
4
+ # make all-mo (default) - generate MO files
5
+ # make check - check translations using translate-tool
6
+ # make tx-update - download and merge translations from Transifex
7
+ # make clean - clean everything
8
+ #
9
+ DOMAIN = foreman_datacenter
10
+ VERSION = $(shell ruby -e 'require "rubygems";spec = Gem::Specification::load(Dir.glob("../*.gemspec")[0]);puts spec.version')
11
+ POTFILE = $(DOMAIN).pot
12
+ MOFILE = $(DOMAIN).mo
13
+ POFILES = $(shell find . -name '$(DOMAIN).po')
14
+ MOFILES = $(patsubst %.po,%.mo,$(POFILES))
15
+ POXFILES = $(patsubst %.po,%.pox,$(POFILES))
16
+ EDITFILES = $(patsubst %.po,%.edit.po,$(POFILES))
17
+
18
+ %.mo: %.po
19
+ mkdir -p $(shell dirname $@)/LC_MESSAGES
20
+ msgfmt -o $(shell dirname $@)/LC_MESSAGES/$(MOFILE) $<
21
+
22
+ # Generate MO files from PO files
23
+ all-mo: $(MOFILES)
24
+
25
+ # Check for malformed strings
26
+ %.pox: %.po
27
+ msgfmt -c $<
28
+ pofilter --nofuzzy -t variables -t blank -t urls -t emails -t long -t newlines \
29
+ -t endwhitespace -t endpunc -t puncspacing -t options -t printf -t validchars --gnome $< > $@
30
+ cat $@
31
+ ! grep -q msgid $@
32
+
33
+ %.edit.po:
34
+ touch $@
35
+
36
+ check: $(POXFILES)
37
+
38
+ # Unify duplicate translations
39
+ uniq-po:
40
+ for f in $(shell find ./ -name "*.po") ; do \
41
+ msguniq $$f -o $$f ; \
42
+ done
43
+
44
+ tx-pull: $(EDITFILES)
45
+ tx pull -f
46
+ for f in $(EDITFILES) ; do \
47
+ sed -i 's/^\("Project-Id-Version: \).*$$/\1$(DOMAIN) $(VERSION)\\n"/' $$f; \
48
+ done
49
+
50
+ tx-update: tx-pull
51
+ @echo
52
+ @echo Run rake plugin:gettext[$(DOMAIN)] from the Foreman installation, then make -C locale mo-files to finish
53
+ @echo
54
+
55
+ mo-files: $(MOFILES)
56
+ git add $(POFILES) $(POTFILE) ../locale/*/LC_MESSAGES
57
+ git commit -m "i18n - pulling from tx"
58
+ @echo
59
+ @echo Changes commited!
60
+ @echo
@@ -0,0 +1,19 @@
1
+ # foreman_datacenter
2
+ #
3
+ # This file is distributed under the same license as foreman_datacenter.
4
+ #
5
+ #, fuzzy
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: version 0.0.1\n"
9
+ "Report-Msgid-Bugs-To: \n"
10
+ "POT-Creation-Date: 2014-08-20 08:46+0100\n"
11
+ "PO-Revision-Date: 2014-08-20 08:54+0100\n"
12
+ "Last-Translator: Foreman Team <foreman-dev@googlegroups.com>\n"
13
+ "Language-Team: Foreman Team <foreman-dev@googlegroups.com>\n"
14
+ "Language: \n"
15
+ "MIME-Version: 1.0\n"
16
+ "Content-Type: text/plain; charset=UTF-8\n"
17
+ "Content-Transfer-Encoding: 8bit\n"
18
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
19
+
@@ -0,0 +1,19 @@
1
+ # foreman_datacenter
2
+ #
3
+ # This file is distributed under the same license as foreman_datacenter.
4
+ #
5
+ #, fuzzy
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: version 0.0.1\n"
9
+ "Report-Msgid-Bugs-To: \n"
10
+ "POT-Creation-Date: 2014-08-20 08:46+0100\n"
11
+ "PO-Revision-Date: 2014-08-20 08:46+0100\n"
12
+ "Last-Translator: Foreman Team <foreman-dev@googlegroups.com>\n"
13
+ "Language-Team: Foreman Team <foreman-dev@googlegroups.com>\n"
14
+ "Language: \n"
15
+ "MIME-Version: 1.0\n"
16
+ "Content-Type: text/plain; charset=UTF-8\n"
17
+ "Content-Transfer-Encoding: 8bit\n"
18
+ "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
19
+
data/locale/gemspec.rb ADDED
@@ -0,0 +1,2 @@
1
+ # Matches foreman_datacenter.gemspec
2
+ _('A plugin that lets you document your servers in a datacenter')
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :host do
3
+ name 'foreman_datacenter'
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ # This calls the main test_helper in Foreman-core
2
+ require 'test_helper'
3
+
4
+ # Add plugin to FactoryGirl's paths
5
+ FactoryGirl.definition_file_paths << File.join(File.dirname(__FILE__), 'factories')
6
+ FactoryGirl.reload
@@ -0,0 +1,11 @@
1
+ require 'test_plugin_helper'
2
+
3
+ class ForemanDatacenterTest < ActiveSupport::TestCase
4
+ setup do
5
+ User.current = User.find_by_login 'admin'
6
+ end
7
+
8
+ test 'the truth' do
9
+ assert true
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,310 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: foreman_datacenter
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Pavel Ivanov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-08-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: deface
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rdoc
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 4.2.6
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 4.2.6
69
+ description: A plugin that lets you document your servers in a datacenter
70
+ email:
71
+ - ivpavig@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - app/assets/javascripts/foreman_datacenter/ajax.js
77
+ - app/assets/javascripts/foreman_datacenter/console_ports.js
78
+ - app/assets/javascripts/foreman_datacenter/device_interface_connections.js
79
+ - app/assets/javascripts/foreman_datacenter/devices.js
80
+ - app/assets/javascripts/foreman_datacenter/racks.js
81
+ - app/assets/javascripts/foreman_datacenter/shared.js
82
+ - app/assets/stylesheets/foreman_datacenter/device_interface_connections.css
83
+ - app/controllers/foreman_datacenter/console_port_templates_controller.rb
84
+ - app/controllers/foreman_datacenter/console_ports_controller.rb
85
+ - app/controllers/foreman_datacenter/console_server_port_templates_controller.rb
86
+ - app/controllers/foreman_datacenter/console_server_ports_controller.rb
87
+ - app/controllers/foreman_datacenter/device_bay_templates_controller.rb
88
+ - app/controllers/foreman_datacenter/device_bays_controller.rb
89
+ - app/controllers/foreman_datacenter/device_interface_connections_controller.rb
90
+ - app/controllers/foreman_datacenter/device_interfaces_controller.rb
91
+ - app/controllers/foreman_datacenter/device_modules_controller.rb
92
+ - app/controllers/foreman_datacenter/device_roles_controller.rb
93
+ - app/controllers/foreman_datacenter/device_types_controller.rb
94
+ - app/controllers/foreman_datacenter/devices_controller.rb
95
+ - app/controllers/foreman_datacenter/interface_templates_controller.rb
96
+ - app/controllers/foreman_datacenter/manufacturers_controller.rb
97
+ - app/controllers/foreman_datacenter/platforms_controller.rb
98
+ - app/controllers/foreman_datacenter/power_outlet_templates_controller.rb
99
+ - app/controllers/foreman_datacenter/power_outlets_controller.rb
100
+ - app/controllers/foreman_datacenter/power_port_templates_controller.rb
101
+ - app/controllers/foreman_datacenter/power_ports_controller.rb
102
+ - app/controllers/foreman_datacenter/rack_groups_controller.rb
103
+ - app/controllers/foreman_datacenter/racks_controller.rb
104
+ - app/controllers/foreman_datacenter/sites_controller.rb
105
+ - app/helpers/foreman_datacenter/console_ports_helper.rb
106
+ - app/helpers/foreman_datacenter/console_server_ports_helper.rb
107
+ - app/helpers/foreman_datacenter/device_bays_helper.rb
108
+ - app/helpers/foreman_datacenter/device_interface_connections_helper.rb
109
+ - app/helpers/foreman_datacenter/device_interfaces_helper.rb
110
+ - app/helpers/foreman_datacenter/device_roles_helper.rb
111
+ - app/helpers/foreman_datacenter/device_types_helper.rb
112
+ - app/helpers/foreman_datacenter/devices_helper.rb
113
+ - app/helpers/foreman_datacenter/interface_templates_helper.rb
114
+ - app/helpers/foreman_datacenter/platforms_helper.rb
115
+ - app/helpers/foreman_datacenter/power_outlets_helper.rb
116
+ - app/helpers/foreman_datacenter/power_ports_helper.rb
117
+ - app/helpers/foreman_datacenter/racks_helper.rb
118
+ - app/helpers/foreman_datacenter/shared_helper.rb
119
+ - app/models/foreman_datacenter/console_port.rb
120
+ - app/models/foreman_datacenter/console_port_template.rb
121
+ - app/models/foreman_datacenter/console_server_port.rb
122
+ - app/models/foreman_datacenter/console_server_port_template.rb
123
+ - app/models/foreman_datacenter/device.rb
124
+ - app/models/foreman_datacenter/device_bay.rb
125
+ - app/models/foreman_datacenter/device_bay_template.rb
126
+ - app/models/foreman_datacenter/device_interface.rb
127
+ - app/models/foreman_datacenter/device_interface_connection.rb
128
+ - app/models/foreman_datacenter/device_module.rb
129
+ - app/models/foreman_datacenter/device_role.rb
130
+ - app/models/foreman_datacenter/device_type.rb
131
+ - app/models/foreman_datacenter/interface_template.rb
132
+ - app/models/foreman_datacenter/manufacturer.rb
133
+ - app/models/foreman_datacenter/platform.rb
134
+ - app/models/foreman_datacenter/power_outlet.rb
135
+ - app/models/foreman_datacenter/power_outlet_template.rb
136
+ - app/models/foreman_datacenter/power_port.rb
137
+ - app/models/foreman_datacenter/power_port_template.rb
138
+ - app/models/foreman_datacenter/rack.rb
139
+ - app/models/foreman_datacenter/rack_group.rb
140
+ - app/models/foreman_datacenter/site.rb
141
+ - app/views/foreman_datacenter/console_port_templates/_form.html.erb
142
+ - app/views/foreman_datacenter/console_port_templates/new.html.erb
143
+ - app/views/foreman_datacenter/console_ports/_for_device.html.erb
144
+ - app/views/foreman_datacenter/console_ports/_form.html.erb
145
+ - app/views/foreman_datacenter/console_ports/edit.html.erb
146
+ - app/views/foreman_datacenter/console_ports/index.html.erb
147
+ - app/views/foreman_datacenter/console_ports/new.html.erb
148
+ - app/views/foreman_datacenter/console_ports/new_connection.html.erb
149
+ - app/views/foreman_datacenter/console_server_port_templates/_form.html.erb
150
+ - app/views/foreman_datacenter/console_server_port_templates/new.html.erb
151
+ - app/views/foreman_datacenter/console_server_ports/_for_device.html.erb
152
+ - app/views/foreman_datacenter/console_server_ports/_form.html.erb
153
+ - app/views/foreman_datacenter/console_server_ports/edit.html.erb
154
+ - app/views/foreman_datacenter/console_server_ports/new.html.erb
155
+ - app/views/foreman_datacenter/console_server_ports/new_connection.html.erb
156
+ - app/views/foreman_datacenter/device_bay_templates/_form.html.erb
157
+ - app/views/foreman_datacenter/device_bay_templates/new.html.erb
158
+ - app/views/foreman_datacenter/device_bays/_form.html.erb
159
+ - app/views/foreman_datacenter/device_bays/edit.html.erb
160
+ - app/views/foreman_datacenter/device_bays/new.html.erb
161
+ - app/views/foreman_datacenter/device_bays/populate_new.html.erb
162
+ - app/views/foreman_datacenter/device_interface_connections/_form.html.erb
163
+ - app/views/foreman_datacenter/device_interface_connections/_interfaces.html.erb
164
+ - app/views/foreman_datacenter/device_interface_connections/index.html.erb
165
+ - app/views/foreman_datacenter/device_interface_connections/new.html.erb
166
+ - app/views/foreman_datacenter/device_interfaces/_form.html.erb
167
+ - app/views/foreman_datacenter/device_interfaces/edit.html.erb
168
+ - app/views/foreman_datacenter/device_interfaces/new.html.erb
169
+ - app/views/foreman_datacenter/device_modules/_form.html.erb
170
+ - app/views/foreman_datacenter/device_modules/edit.html.erb
171
+ - app/views/foreman_datacenter/device_modules/new.html.erb
172
+ - app/views/foreman_datacenter/device_roles/_form.html.erb
173
+ - app/views/foreman_datacenter/device_roles/edit.html.erb
174
+ - app/views/foreman_datacenter/device_roles/index.html.erb
175
+ - app/views/foreman_datacenter/device_roles/new.html.erb
176
+ - app/views/foreman_datacenter/device_roles/show.html.erb
177
+ - app/views/foreman_datacenter/device_types/_form.html.erb
178
+ - app/views/foreman_datacenter/device_types/edit.html.erb
179
+ - app/views/foreman_datacenter/device_types/index.html.erb
180
+ - app/views/foreman_datacenter/device_types/new.html.erb
181
+ - app/views/foreman_datacenter/device_types/show.html.erb
182
+ - app/views/foreman_datacenter/devices/_console_port.html.erb
183
+ - app/views/foreman_datacenter/devices/_console_server_port.html.erb
184
+ - app/views/foreman_datacenter/devices/_device_bay.html.erb
185
+ - app/views/foreman_datacenter/devices/_device_module.html.erb
186
+ - app/views/foreman_datacenter/devices/_device_types.html.erb
187
+ - app/views/foreman_datacenter/devices/_for_rack.html.erb
188
+ - app/views/foreman_datacenter/devices/_form.html.erb
189
+ - app/views/foreman_datacenter/devices/_interface.html.erb
190
+ - app/views/foreman_datacenter/devices/_management_interface.html.erb
191
+ - app/views/foreman_datacenter/devices/_power_outlet.html.erb
192
+ - app/views/foreman_datacenter/devices/_power_port.html.erb
193
+ - app/views/foreman_datacenter/devices/_racks.html.erb
194
+ - app/views/foreman_datacenter/devices/edit.html.erb
195
+ - app/views/foreman_datacenter/devices/index.html.erb
196
+ - app/views/foreman_datacenter/devices/inventory.html.erb
197
+ - app/views/foreman_datacenter/devices/new.html.erb
198
+ - app/views/foreman_datacenter/devices/show.html.erb
199
+ - app/views/foreman_datacenter/hosts/hosts/new_action.html.erb
200
+ - app/views/foreman_datacenter/hosts/new_action.html.erb
201
+ - app/views/foreman_datacenter/interface_templates/_form.html.erb
202
+ - app/views/foreman_datacenter/interface_templates/new.html.erb
203
+ - app/views/foreman_datacenter/layouts/layouts/new_layout.html.erb
204
+ - app/views/foreman_datacenter/layouts/new_layout.html.erb
205
+ - app/views/foreman_datacenter/manufacturers/_form.html.erb
206
+ - app/views/foreman_datacenter/manufacturers/edit.html.erb
207
+ - app/views/foreman_datacenter/manufacturers/index.html.erb
208
+ - app/views/foreman_datacenter/manufacturers/new.html.erb
209
+ - app/views/foreman_datacenter/manufacturers/show.html.erb
210
+ - app/views/foreman_datacenter/platforms/_form.html.erb
211
+ - app/views/foreman_datacenter/platforms/edit.html.erb
212
+ - app/views/foreman_datacenter/platforms/index.html.erb
213
+ - app/views/foreman_datacenter/platforms/new.html.erb
214
+ - app/views/foreman_datacenter/platforms/show.html.erb
215
+ - app/views/foreman_datacenter/power_outlet_templates/_form.html.erb
216
+ - app/views/foreman_datacenter/power_outlet_templates/new.html.erb
217
+ - app/views/foreman_datacenter/power_outlets/_for_device.html.erb
218
+ - app/views/foreman_datacenter/power_outlets/_form.html.erb
219
+ - app/views/foreman_datacenter/power_outlets/edit.html.erb
220
+ - app/views/foreman_datacenter/power_outlets/new.html.erb
221
+ - app/views/foreman_datacenter/power_outlets/new_connection.html.erb
222
+ - app/views/foreman_datacenter/power_port_templates/_form.html.erb
223
+ - app/views/foreman_datacenter/power_port_templates/new.html.erb
224
+ - app/views/foreman_datacenter/power_ports/_for_device.html.erb
225
+ - app/views/foreman_datacenter/power_ports/_form.html.erb
226
+ - app/views/foreman_datacenter/power_ports/edit.html.erb
227
+ - app/views/foreman_datacenter/power_ports/index.html.erb
228
+ - app/views/foreman_datacenter/power_ports/new.html.erb
229
+ - app/views/foreman_datacenter/power_ports/new_connection.html.erb
230
+ - app/views/foreman_datacenter/rack_groups/_form.html.erb
231
+ - app/views/foreman_datacenter/rack_groups/edit.html.erb
232
+ - app/views/foreman_datacenter/rack_groups/index.html.erb
233
+ - app/views/foreman_datacenter/rack_groups/new.html.erb
234
+ - app/views/foreman_datacenter/rack_groups/show.html.erb
235
+ - app/views/foreman_datacenter/racks/_form.html.erb
236
+ - app/views/foreman_datacenter/racks/_rack_groups.html.erb
237
+ - app/views/foreman_datacenter/racks/edit.html.erb
238
+ - app/views/foreman_datacenter/racks/index.html.erb
239
+ - app/views/foreman_datacenter/racks/new.html.erb
240
+ - app/views/foreman_datacenter/racks/show.html.erb
241
+ - app/views/foreman_datacenter/shared/_rack_device_select.html.erb
242
+ - app/views/foreman_datacenter/sites/_form.html.erb
243
+ - app/views/foreman_datacenter/sites/edit.html.erb
244
+ - app/views/foreman_datacenter/sites/index.html.erb
245
+ - app/views/foreman_datacenter/sites/new.html.erb
246
+ - app/views/foreman_datacenter/sites/show.html.erb
247
+ - config/routes.rb
248
+ - db/migrate/20160727161914_create_sites.rb
249
+ - db/migrate/20160728123353_create_rack_groups.rb
250
+ - db/migrate/20160728143149_create_racks.rb
251
+ - db/migrate/20160728161636_create_platforms.rb
252
+ - db/migrate/20160728162635_create_device_roles.rb
253
+ - db/migrate/20160728163815_create_manufacturers.rb
254
+ - db/migrate/20160728164858_create_device_types.rb
255
+ - db/migrate/20160728171422_create_devices.rb
256
+ - db/migrate/20160728194401_create_device_interfaces.rb
257
+ - db/migrate/20160728195242_create_device_interface_connections.rb
258
+ - db/migrate/20160804104103_create_interface_templates.rb
259
+ - db/migrate/20160804142618_create_console_port_templates.rb
260
+ - db/migrate/20160804164301_create_power_port_templates.rb
261
+ - db/migrate/20160805080626_create_console_server_port_templates.rb
262
+ - db/migrate/20160805084726_create_power_outlet_templates.rb
263
+ - db/migrate/20160805100411_create_device_bay_templates.rb
264
+ - db/migrate/20160809091611_create_device_bays.rb
265
+ - db/migrate/20160809103211_create_power_outlets.rb
266
+ - db/migrate/20160809104325_create_power_ports.rb
267
+ - db/migrate/20160809112815_create_console_server_ports.rb
268
+ - db/migrate/20160809113846_create_console_ports.rb
269
+ - db/migrate/20160816224805_create_device_modules.rb
270
+ - lib/foreman_datacenter/engine.rb
271
+ - lib/foreman_datacenter/version.rb
272
+ - lib/foreman_datacenter.rb
273
+ - lib/tasks/foreman_datacenter_tasks.rake
274
+ - locale/en/foreman_datacenter.po
275
+ - locale/foreman_datacenter.pot
276
+ - locale/gemspec.rb
277
+ - locale/Makefile
278
+ - LICENSE
279
+ - Rakefile
280
+ - README.md
281
+ - test/factories/foreman_datacenter_factories.rb
282
+ - test/test_plugin_helper.rb
283
+ - test/unit/foreman_datacenter_test.rb
284
+ homepage: https://github.com/cloudevelops/foreman_datacenter
285
+ licenses: []
286
+ metadata: {}
287
+ post_install_message:
288
+ rdoc_options: []
289
+ require_paths:
290
+ - lib
291
+ required_ruby_version: !ruby/object:Gem::Requirement
292
+ requirements:
293
+ - - '>='
294
+ - !ruby/object:Gem::Version
295
+ version: '0'
296
+ required_rubygems_version: !ruby/object:Gem::Requirement
297
+ requirements:
298
+ - - '>='
299
+ - !ruby/object:Gem::Version
300
+ version: '0'
301
+ requirements: []
302
+ rubyforge_project:
303
+ rubygems_version: 2.0.14
304
+ signing_key:
305
+ specification_version: 4
306
+ summary: A plugin that lets you document your servers in a datacenter
307
+ test_files:
308
+ - test/factories/foreman_datacenter_factories.rb
309
+ - test/test_plugin_helper.rb
310
+ - test/unit/foreman_datacenter_test.rb