machinery-tool 1.14.0 → 1.14.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.git_revision +1 -1
- data/NEWS +10 -0
- data/html/assets/compare/machinery.js +1 -0
- data/html/assets/jquery.searcher.min.js +5 -0
- data/html/assets/machinery.css +3 -0
- data/html/assets/show/machinery.js +10 -4
- data/html/comparison.html.haml +18 -652
- data/html/index.html.haml +93 -431
- data/html/partials/changed_managed_files.html.haml +41 -0
- data/html/partials/compare/alert.html.haml +22 -0
- data/html/partials/compare/changed_managed_file_list.html.haml +26 -0
- data/html/partials/compare/changed_managed_files.html.haml +57 -0
- data/html/partials/compare/config_file_list.html.haml +26 -0
- data/html/partials/compare/config_files.html.haml +54 -0
- data/html/partials/compare/group_list.html.haml +14 -0
- data/html/partials/compare/groups.html.haml +52 -0
- data/html/partials/compare/os.html.haml +32 -0
- data/html/partials/compare/os_table.html.haml +10 -0
- data/html/partials/compare/package_list.html.haml +23 -0
- data/html/partials/compare/packages.html.haml +66 -0
- data/html/partials/compare/pattern_list.html.haml +12 -0
- data/html/partials/compare/patterns.html.haml +53 -0
- data/html/partials/compare/repositories.html.haml +51 -0
- data/html/partials/compare/repository_list.html.haml +28 -0
- data/html/partials/compare/service_list.html.haml +11 -0
- data/html/partials/compare/services.html.haml +56 -0
- data/html/partials/compare/unmanaged_file_list.html.haml +13 -0
- data/html/partials/compare/unmanaged_files.html.haml +59 -0
- data/html/partials/compare/user_list.html.haml +18 -0
- data/html/partials/compare/users.html.haml +52 -0
- data/html/partials/config_files.html.haml +57 -0
- data/html/partials/groups.html.haml +25 -0
- data/html/partials/os.html.haml +26 -0
- data/html/partials/packages.html.haml +30 -0
- data/html/partials/patterns.html.haml +23 -0
- data/html/partials/repositories.html.haml +35 -0
- data/html/partials/scope_header.html.haml +17 -0
- data/html/partials/services.html.haml +23 -0
- data/html/partials/unmanaged_files.html.haml +28 -0
- data/html/partials/users.html.haml +29 -0
- data/lib/cli.rb +48 -40
- data/lib/exceptions.rb +7 -0
- data/lib/helper.rb +21 -0
- data/lib/hint.rb +1 -1
- data/lib/html.rb +9 -1
- data/lib/scope_file_access_archive.rb +1 -2
- data/lib/scope_file_access_flat.rb +1 -2
- data/lib/server.rb +104 -50
- data/lib/version.rb +1 -1
- data/machinery-helper/version.go +1 -1
- data/man/generated/machinery.1.gz +0 -0
- data/man/generated/machinery.1.html +106 -16
- metadata +47 -18
- data/html/assets/angular-sanitize.min.js +0 -16
- data/html/assets/angular.min.js +0 -251
- data/html/assets/compare/machinery-compare.js +0 -100
- data/html/assets/show/machinery-show.js +0 -72
data/html/index.html.haml
CHANGED
@@ -1,405 +1,38 @@
|
|
1
1
|
!!!
|
2
|
-
%html
|
2
|
+
%html
|
3
3
|
%head
|
4
4
|
%title
|
5
|
-
=
|
6
|
-
%meta{:charset => 'utf-8'}
|
7
|
-
%link{:href => "assets/machinery-base.css", :rel => "stylesheet", :type => "text/css"}
|
8
|
-
%link{:href => "assets/machinery.css", :rel => "stylesheet", :type => "text/css"}
|
9
|
-
%script{:src => "assets/
|
10
|
-
%script{:src => "assets/
|
11
|
-
%script{:src => "assets/
|
12
|
-
%script{:src => "assets/
|
13
|
-
%script{:src => "assets/
|
14
|
-
%script{:src => "assets/
|
15
|
-
%script{:src => "assets/
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
#filters
|
20
|
-
.row
|
21
|
-
.col-xs-1
|
22
|
-
.col-xs-11
|
23
|
-
%h3 Filters used during Inspection
|
24
|
-
|
25
|
-
.row
|
26
|
-
.col-xs-1
|
27
|
-
.col-xs-11
|
28
|
-
%ul{"ng-show" => "description.meta.filters.inspect.length"}
|
29
|
-
%li.filter{{"ng-repeat" => "filter in description.meta.filters.inspect"}}
|
30
|
-
{{filter}}
|
31
|
-
|
32
|
-
%p{"ng-hide" => "description.meta.filters.inspect.length"}
|
33
|
-
No filters were used.
|
34
|
-
|
35
|
-
|
36
|
-
%script#scope_os.partial{:type => "text/ng-template"}
|
37
|
-
%div{"ng-show" => "description.os"}
|
38
|
-
%a.scope_anchor{:id => "os"}
|
39
|
-
#os_container.scope
|
40
|
-
.row
|
41
|
-
.col-xs-1
|
42
|
-
%img.scope_logo_big{:src => "assets/logo-os.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Operating System", :"data-content"=>"#{scope_help('os')}"}/
|
43
|
-
%span.toggle{:title => "Collapse/Expand"}
|
44
|
-
.col-xs-11
|
45
|
-
%h2
|
46
|
-
Operating System
|
47
|
-
.scope-summary
|
48
|
-
{{meta_info.os}}
|
49
|
-
.col-xs-1
|
50
|
-
.col-xs-3.scope_content.collapse.in
|
51
|
-
%table.table.table-striped.table-condensed
|
52
|
-
%tr
|
53
|
-
%th Name
|
54
|
-
%td {{description.os.name}}
|
55
|
-
%tr
|
56
|
-
%th Version
|
57
|
-
%td {{description.os.version}}
|
58
|
-
%tr
|
59
|
-
%th Architecture
|
60
|
-
%td {{description.os.architecture}}
|
61
|
-
|
62
|
-
%script#scope_packages.partial{:type => "text/ng-template"}
|
63
|
-
%div{"ng-show" => "description.packages"}
|
64
|
-
%a.scope_anchor{:id => "packages"}
|
65
|
-
#packages_container.scope
|
66
|
-
%scope-header{ |
|
67
|
-
:summary => "'#{scope_help('packages')}'", |
|
68
|
-
:logo => "'assets/logo-packages.png'", |
|
69
|
-
:title => "'Packages'", |
|
70
|
-
:meta => "description.meta.packages", |
|
71
|
-
:singular => "'package'", |
|
72
|
-
:plural => "'packages'", |
|
73
|
-
:count => "description.packages.length" |
|
74
|
-
} |
|
75
|
-
.row.scope_content.collapse.in
|
76
|
-
.col-xs-1
|
77
|
-
.col-xs-11
|
78
|
-
%table.table.table-striped.table-hover.table-condensed
|
79
|
-
%thead
|
80
|
-
%tr
|
81
|
-
%th Name
|
82
|
-
%th Version
|
83
|
-
%th Release
|
84
|
-
%th Arch
|
85
|
-
%th Vendor
|
86
|
-
%th Checksum
|
87
|
-
%tbody
|
88
|
-
%tr{"ng-repeat" => "package in description.packages | filter:query"}
|
89
|
-
%td {{package.name}}
|
90
|
-
%td {{package.version}}
|
91
|
-
%td {{package.release}}
|
92
|
-
%td {{package.arch}}
|
93
|
-
%td {{package.vendor}}
|
94
|
-
%td {{package.checksum}}
|
95
|
-
|
96
|
-
%script#scope_patterns.partial{:type => "text/ng-template"}
|
97
|
-
%div{"ng-show" => "description.patterns"}
|
98
|
-
%a.scope_anchor{:id => "patterns"}
|
99
|
-
#patterns_container.scope
|
100
|
-
%scope-header{ |
|
101
|
-
:summary => "'#{scope_help('patterns')}'", |
|
102
|
-
:logo => "'assets/logo-patterns.png'", |
|
103
|
-
:title => "'Patterns'", |
|
104
|
-
:meta => "description.meta.patterns", |
|
105
|
-
:singular => "'pattern'", |
|
106
|
-
:plural => "'patterns'", |
|
107
|
-
:count => "description.patterns.length" |
|
108
|
-
} |
|
109
|
-
.row.scope_content.collapse.in
|
110
|
-
.col-xs-1
|
111
|
-
.col-xs-11
|
112
|
-
%table.table.table-striped.table-hover.table-condensed
|
113
|
-
%thead
|
114
|
-
%tr
|
115
|
-
%th Name
|
116
|
-
%th Version
|
117
|
-
%th Release
|
118
|
-
%tbody
|
119
|
-
%tr{"ng-repeat" => "pattern in description.patterns | filter:query"}
|
120
|
-
%td {{pattern.name}}
|
121
|
-
%td {{pattern.version}}
|
122
|
-
%td {{pattern.release}}
|
123
|
-
|
124
|
-
%script#scope_repositories.partial{:type => "text/ng-template"}
|
125
|
-
%div{"ng-show" => "description.repositories"}
|
126
|
-
%a.scope_anchor{:id => "repositories"}
|
127
|
-
#repositories_container.scope
|
128
|
-
%scope-header{ |
|
129
|
-
:summary => "'#{scope_help('repositories')}'", |
|
130
|
-
:logo => "'assets/logo-repositories.png'", |
|
131
|
-
:title => "'Repositories'", |
|
132
|
-
:meta => "description.meta.repositories", |
|
133
|
-
:singular => "'repository'", |
|
134
|
-
:plural => "'repositories'", |
|
135
|
-
:count => "description.repositories.length" |
|
136
|
-
} |
|
137
|
-
.row.scope_content.collapse.in
|
138
|
-
.col-xs-1
|
139
|
-
.col-xs-11
|
140
|
-
%table.table.table-striped.table-hover.table-condensed
|
141
|
-
%thead
|
142
|
-
%tr
|
143
|
-
%th Name
|
144
|
-
%th Alias
|
145
|
-
%th Type
|
146
|
-
%th URL
|
147
|
-
%th Enabled
|
148
|
-
%th Autorefresh
|
149
|
-
%th GPG Check
|
150
|
-
%th Priority
|
151
|
-
%tbody
|
152
|
-
%tr{"ng-repeat" => "repo in description.repositories | filter:query"}
|
153
|
-
%td {{repo.name}}
|
154
|
-
%td {{repo.alias}}
|
155
|
-
%td {{repo.type}}
|
156
|
-
%td
|
157
|
-
%a{:href => "{{url}}" } {{repo.url}}
|
158
|
-
%td {{repo.enabled}}
|
159
|
-
%td {{repo.autorefresh}}
|
160
|
-
%td {{repo.gpgcheck}}
|
161
|
-
%td {{repo.priority}}
|
162
|
-
|
163
|
-
%script#scope_users{:type => "text/ng-template"}
|
164
|
-
%div{"ng-show" => "description.users"}
|
165
|
-
%a.scope_anchor{:id => "users"}
|
166
|
-
#users_container.scope
|
167
|
-
%scope-header{ |
|
168
|
-
:summary => "'#{scope_help('users')}'", |
|
169
|
-
:logo => "'assets/logo-users.png'", |
|
170
|
-
:title => "'Users'", |
|
171
|
-
:meta => "description.meta.users", |
|
172
|
-
:singular => "'user'", |
|
173
|
-
:plural => "'users'", |
|
174
|
-
:count => "description.users.length" |
|
175
|
-
} |
|
176
|
-
.row.scope_content.collapse.in
|
177
|
-
.col-xs-1
|
178
|
-
.col-xs-11
|
179
|
-
%table.table.table-striped.table-hover.table-condensed
|
180
|
-
%thead
|
181
|
-
%tr
|
182
|
-
%th Name
|
183
|
-
%th UID
|
184
|
-
%th GID
|
185
|
-
%th Comment
|
186
|
-
%th Home
|
187
|
-
%th Shell
|
188
|
-
%tbody
|
189
|
-
%tr{"ng-repeat" => "user in description.users | filter:query"}
|
190
|
-
%td {{user.name}}
|
191
|
-
%td {{user.uid}}
|
192
|
-
%td {{user.gid}}
|
193
|
-
%td {{user.comment}}
|
194
|
-
%td {{user.home}}
|
195
|
-
%td {{user.shell}}
|
196
|
-
|
197
|
-
%script#scope_groups{:type => "text/ng-template"}
|
198
|
-
%div{"ng-show" => "description.groups"}
|
199
|
-
%a.scope_anchor{:id => "groups"}
|
200
|
-
#groups_container.scope
|
201
|
-
%scope-header{ |
|
202
|
-
:summary => "'#{scope_help('groups')}'", |
|
203
|
-
:logo => "'assets/logo-groups.png'", |
|
204
|
-
:title => "'Groups'", |
|
205
|
-
:meta => "description.meta.groups", |
|
206
|
-
:singular => "'group'", |
|
207
|
-
:plural => "'groups'", |
|
208
|
-
:count => "description.groups.length" |
|
209
|
-
} |
|
210
|
-
.row.scope_content.collapse.in
|
211
|
-
.col-xs-1
|
212
|
-
.col-xs-11
|
213
|
-
%table.table.table-striped.table-hover.table-condensed
|
214
|
-
%thead
|
215
|
-
%tr
|
216
|
-
%th Name
|
217
|
-
%th GID
|
218
|
-
%th Password
|
219
|
-
%th Users
|
220
|
-
%tbody
|
221
|
-
%tr{"ng-repeat" => "group in description.groups | filter:query"}
|
222
|
-
%td {{group.name}}
|
223
|
-
%td {{group.gid}}
|
224
|
-
%td {{group.password}}
|
225
|
-
%td {{group.users.join(",")}}
|
226
|
-
|
227
|
-
%script#scope_services.partial{:type => "text/ng-template"}
|
228
|
-
%div{"ng-show" => "description.services.services"}
|
229
|
-
%a.scope_anchor{:id => "services"}
|
230
|
-
#services_container.scope
|
231
|
-
%scope-header{ |
|
232
|
-
:summary => "'#{scope_help('services')}'", |
|
233
|
-
:logo => "'assets/logo-services.png'", |
|
234
|
-
:title => "'Services'", |
|
235
|
-
:meta => "description.meta.services", |
|
236
|
-
:singular => "'service'", |
|
237
|
-
:plural => "'services'", |
|
238
|
-
:count => "description.services.services.length", |
|
239
|
-
"additional-summary" => "'Init System: '+description.services.init_system+', '" |
|
240
|
-
} |
|
241
|
-
.row.scope_content.collapse.in
|
242
|
-
.col-xs-1
|
243
|
-
.col-xs-11
|
244
|
-
%table.table.table-striped.table-hover.table-condensed
|
245
|
-
%thead
|
246
|
-
%tr
|
247
|
-
%th Name
|
248
|
-
%th State
|
249
|
-
%tbody
|
250
|
-
%tr{"ng-repeat" => "service in description.services.services | filter:query"}
|
251
|
-
%td {{service.name}}
|
252
|
-
%td{:class=>"{{description.services.init_system}}_{{service.state}}"}
|
253
|
-
{{service.state}}
|
254
|
-
|
255
|
-
%script#scope_config_files.partial{:type => "text/ng-template"}
|
256
|
-
%div{"ng-show" => "description.config_files.files"}
|
257
|
-
%a.scope_anchor{:id => "config_files"}
|
258
|
-
#config_files_container.scope{"data-scope" => "config_files"}
|
259
|
-
%scope-header{ |
|
260
|
-
:summary => "'#{scope_help('config_files')}'", |
|
261
|
-
:logo => "'assets/logo-config-files.png'", |
|
262
|
-
:title => "'Config Files'", |
|
263
|
-
:meta => "description.meta.config_files", |
|
264
|
-
:singular => "'file'", |
|
265
|
-
:plural => "'files'", |
|
266
|
-
:count => "description.config_files.files.length" |
|
267
|
-
} |
|
268
|
-
.row.scope_content.collapse.in
|
269
|
-
.diff{"ng-repeat" => "file in description.config_files.files", :style => "display: none", "data-config-file-diff" => "{{file.diff.file}}"}
|
270
|
-
%span.diff-summary
|
271
|
-
{{file.diff.additions}} additions & {{file.diff.deletions}} deletions
|
272
|
-
%table.diff
|
273
|
-
%tr{"ng-repeat" => "line in file.diff.lines", "ng-class" => "{'addition': line.type == 'addition', 'deletion': line.type == 'deletion', 'header': line.type == 'header', 'common': line.type == 'common'}"}
|
274
|
-
%td.active.linenumber {{line.original_line_number}}
|
275
|
-
%td.linenumber {{line.new_line_number}}
|
276
|
-
%td{"ng-bind-html" => "line.content"}
|
277
|
-
{{line.content}}
|
278
|
-
.col-xs-1
|
279
|
-
.col-xs-11
|
280
|
-
%table.table.table-striped.table-hover.table-condensed.files-table
|
281
|
-
%thead
|
282
|
-
%tr
|
283
|
-
%th Name
|
284
|
-
%th Package Name
|
285
|
-
%th Package Version
|
286
|
-
%th Changes
|
287
|
-
%th Mode
|
288
|
-
%th User
|
289
|
-
%th Group
|
290
|
-
%tbody
|
291
|
-
%tr{"ng-repeat" => "file in description.config_files.files | filter:query"}
|
292
|
-
%td
|
293
|
-
%span{"ng-switch" => true, "on" => "file.downloadable"}
|
294
|
-
%a.file-download{"ng-switch-when" => "true", "href" => "#"}
|
295
|
-
{{file.name}}
|
296
|
-
%span{"ng-switch-default" => true}
|
297
|
-
{{file.name}}
|
298
|
-
%a.diff-toggle{"ng-show" => "file.diff", "data-config-file" => "{{file.name}}", "data-toggle" => "popover"}
|
299
|
-
Show diff
|
300
|
-
%td {{file.package_name}}
|
301
|
-
%td {{file.package_version}}
|
302
|
-
%td
|
303
|
-
{{file.changes.join(",")}}
|
304
|
-
%span{"ng-show" => "file.error_message", :title => "{{file.error_message}}"} (details)
|
305
|
-
%td {{file.mode}}
|
306
|
-
%td {{file.user}}
|
307
|
-
%td {{file.group}}
|
308
|
-
|
309
|
-
%script#scope_changed_managed_files.partial{:type => "text/ng-template"}
|
310
|
-
%div{"ng-show" => "description.changed_managed_files.files"}
|
311
|
-
%a.scope_anchor{:id => "changed_managed_files"}
|
312
|
-
#changed_managed_files_container.scope{"data-scope" => "changed_managed_files"}
|
313
|
-
%scope-header{ |
|
314
|
-
:summary => "'#{scope_help('changed_managed_files')}'", |
|
315
|
-
:logo => "'assets/logo-changed-managed-files.png'", |
|
316
|
-
:title => "'Changed Managed Files'", |
|
317
|
-
:meta => "description.meta.changed_managed_files", |
|
318
|
-
:singular => "'file'", |
|
319
|
-
:plural => "'files'", |
|
320
|
-
:count => "description.changed_managed_files.files.length" |
|
321
|
-
} |
|
322
|
-
.row.scope_content.collapse.in
|
323
|
-
.col-xs-1
|
324
|
-
.col-xs-11
|
325
|
-
%table.table.table-striped.table-hover.table-condensed.files-table
|
326
|
-
%thead
|
327
|
-
%tr
|
328
|
-
%th Name
|
329
|
-
%th Package Name
|
330
|
-
%th Package Version
|
331
|
-
%th Changes
|
332
|
-
%th Mode
|
333
|
-
%th User
|
334
|
-
%th Group
|
335
|
-
%tbody
|
336
|
-
%tr{"ng-repeat" => "file in description.changed_managed_files.files | filter:query"}
|
337
|
-
%td{"ng-switch" => true, "on" => "file.downloadable"}
|
338
|
-
%a.file-download{"ng-switch-when" => "true", "href" => "#"}
|
339
|
-
{{file.name}}
|
340
|
-
%span{"ng-switch-default" => true}
|
341
|
-
{{file.name}}
|
342
|
-
%td {{file.package_name}}
|
343
|
-
%td {{file.package_version}}
|
344
|
-
%td
|
345
|
-
{{file.changes.join(",")}}
|
346
|
-
%span{"ng-show" => "file.error_message", :title => "{{file.error_message}}"} (details)
|
347
|
-
%td {{file.mode}}
|
348
|
-
%td {{file.user}}
|
349
|
-
%td {{file.group}}
|
350
|
-
|
351
|
-
%script#scope_unmanaged_files.partial{:type => "text/ng-template"}
|
352
|
-
%div{"ng-show" => "description.unmanaged_files.files"}
|
353
|
-
%a.scope_anchor{:id => "unmanaged_files"}
|
354
|
-
#unmanaged_files_container.scope{"data-scope" => "unmanaged_files"}
|
355
|
-
%scope-header{ |
|
356
|
-
:summary => "'#{scope_help('unmanaged_files')}'", |
|
357
|
-
:logo => "'assets/logo-unmanaged-files.png'", |
|
358
|
-
:title => "'Unmanaged Files'", |
|
359
|
-
:meta => "description.meta.unmanaged_files", |
|
360
|
-
:singular => "'file'", |
|
361
|
-
:plural => "'files'", |
|
362
|
-
:count => "description.unmanaged_files.files.length" |
|
363
|
-
} |
|
364
|
-
.row.scope_content.collapse.in
|
365
|
-
.col-xs-1
|
366
|
-
.col-xs-11
|
367
|
-
%table.table.table-striped.table-hover.table-condensed.files-table
|
368
|
-
%thead
|
369
|
-
%tr
|
370
|
-
%th Name
|
371
|
-
%th Type
|
372
|
-
%tbody
|
373
|
-
%tr{"ng-repeat" => "file in description.unmanaged_files.files | filter:query"}
|
374
|
-
%td{"ng-switch" => true, "on" => "file.downloadable"}
|
375
|
-
%a.file-download{"ng-switch-when" => "true", "href" => "#"}
|
376
|
-
{{file.name}}
|
377
|
-
%span{"ng-switch-default" => true}
|
378
|
-
{{file.name}}
|
379
|
-
%td {{file.type}}
|
380
|
-
|
381
|
-
%script{:src => "assets/show/machinery.js"}
|
382
|
-
%script{:src => "assets/bootstrap-tooltip.js"}
|
383
|
-
%script{:src => "assets/bootstrap-popover.js"}
|
384
|
-
|
385
|
-
%body{"data-description" => description_name}
|
5
|
+
= @description.name + " - Machinery System Description"
|
6
|
+
%meta{ :charset => 'utf-8' }
|
7
|
+
%link{ :href => "assets/machinery-base.css", :rel => "stylesheet", :type => "text/css" }
|
8
|
+
%link{ :href => "assets/machinery.css", :rel => "stylesheet", :type => "text/css" }
|
9
|
+
%script{ :src => "assets/jquery-2.1.1.min.js" }
|
10
|
+
%script{ :src => "assets/transition.js" }
|
11
|
+
%script{ :src => "assets/collapse.js" }
|
12
|
+
%script{ :src => "assets/modal.js" }
|
13
|
+
%script{ :src => "assets/jquery.searcher.min.js" }
|
14
|
+
%script{ :src => "assets/show/machinery.js" }
|
15
|
+
%script{ :src => "assets/bootstrap-tooltip.js" }
|
16
|
+
%script{ :src => "assets/bootstrap-popover.js" }
|
17
|
+
|
18
|
+
%body{ "data-description" => @description.name }
|
386
19
|
#file-modal.modal.fade
|
387
20
|
.modal-dialog.modal-lg
|
388
21
|
.modal-content
|
389
22
|
.modal-header
|
390
|
-
%button.close{"type" => "button", "data-dismiss" => "modal"}
|
23
|
+
%button.close{ "type" => "button", "data-dismiss" => "modal" }
|
391
24
|
×
|
392
25
|
%h4#file-modal-title
|
393
26
|
.modal-body
|
394
|
-
%textarea#file-modal-file-content{"readonly" => "true"}
|
395
|
-
#file-modal-error{"style" => "display: none"}
|
27
|
+
%textarea#file-modal-file-content{ "readonly" => "true" }
|
28
|
+
#file-modal-error{ "style" => "display: none" }
|
396
29
|
.modal-footer
|
397
|
-
%a#file-modal-download-link
|
30
|
+
%a.btn.btn-success#file-modal-download-link{ "target" => "_blank" }
|
398
31
|
Download
|
399
|
-
%button.btn.btn-primary{"type" => "button", "data-dismiss" => "modal"}
|
32
|
+
%button.btn.btn-primary{ "type" => "button", "data-dismiss" => "modal" }
|
400
33
|
Close
|
401
34
|
|
402
|
-
#file_popover{:style => "display: none"}
|
35
|
+
#file_popover{ :style => "display: none" }
|
403
36
|
.header
|
404
37
|
%h3.name
|
405
38
|
.body
|
@@ -411,59 +44,88 @@
|
|
411
44
|
.col-xs-1
|
412
45
|
.col-xs-10
|
413
46
|
%h1
|
414
|
-
System '#{
|
47
|
+
System '#{@description.name}'
|
415
48
|
|
416
|
-
%a.inspection_details{:href => "#", "data-toggle" => "popover"} (inspection details)
|
49
|
+
%a.inspection_details{ :href => "#", "data-toggle" => "popover" } (inspection details)
|
417
50
|
.row
|
418
51
|
.col-xs-1
|
419
|
-
%a#expand-all{:href => "#", :style => "display: none"}
|
52
|
+
%a#expand-all{ :href => "#", :style => "display: none" }
|
420
53
|
Expand all
|
421
|
-
%a#collapse-all{:href => "#"}
|
54
|
+
%a#collapse-all{ :href => "#" }
|
422
55
|
Collapse all
|
423
56
|
.col-xs-9
|
424
57
|
%small.pull-right.pad-top
|
425
58
|
created by
|
426
|
-
%a{:href => "http://machinery-project.org", :target => "_blank"}
|
59
|
+
%a{ :href => "http://machinery-project.org", :target => "_blank" }
|
427
60
|
Machinery
|
428
61
|
.filter-input.col-md-3
|
429
|
-
%input#filter{
|
430
|
-
%a{:href => "#"}
|
431
|
-
%img{:src => "assets/reset.png", :titel => "Reset Filter"
|
62
|
+
%input#filter{ :placeholder => "Type To Filter" }
|
63
|
+
%a{ :href => "#" }
|
64
|
+
%img#reset-filter{ :src => "assets/reset.png", :titel => "Reset Filter" }
|
432
65
|
|
433
66
|
%span.scope-navigation
|
434
67
|
Scopes:
|
435
|
-
%a{:href => "#os", :title => "Operating System"}
|
436
|
-
%img{:src => "assets/logo-os-small.png", :title=>"Operating System",
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
%a{:href => "#
|
442
|
-
%img{:src => "assets/logo-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
%a{:href => "#
|
448
|
-
%img{:src => "assets/logo-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
%a{:href => "#
|
454
|
-
%img{:src => "assets/logo-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
68
|
+
%a{ :href => "#os", :title => "Operating System" }
|
69
|
+
%img{ :src => "assets/logo-os-small.png", :title=>"Operating System",
|
70
|
+
"data-toggle"=>"popover", "data-content" => scope_help('os') }
|
71
|
+
%a{ :href => "#packages", :title => "Packages" }
|
72
|
+
%img{ :src => "assets/logo-packages-small.png", :title => "Packages",
|
73
|
+
"data-toggle"=>"popover", "data-content" => scope_help('packages') }
|
74
|
+
%a{ :href => "#patterns", :title => "Patterns" }
|
75
|
+
%img{ :src => "assets/logo-patterns-small.png", :title => "Patterns",
|
76
|
+
"data-toggle"=>"popover", "data-content" => scope_help('patterns') }
|
77
|
+
%a{ :href => "#repositories", :title => "Repositories" }
|
78
|
+
%img{ :src => "assets/logo-repositories-small.png", :title => "Repositories",
|
79
|
+
"data-toggle"=>"popover", "data-content" => scope_help('repositories') }
|
80
|
+
%a{ :href => "#users", :title => "Users" }
|
81
|
+
%img{ :src => "assets/logo-users-small.png", :title => "Users",
|
82
|
+
"data-toggle"=>"popover", "data-content" => scope_help('users') }
|
83
|
+
%a{ :href => "#groups", :title => "Groups" }
|
84
|
+
%img{ :src => "assets/logo-groups-small.png", :title => "Groups",
|
85
|
+
"data-toggle"=>"popover", "data-content" => scope_help('groups') }
|
86
|
+
%a{ :href => "#services", :title => "Services" }
|
87
|
+
%img{ :src => "assets/logo-services-small.png", :title => "Services",
|
88
|
+
"data-toggle"=>"popover", "data-content" => scope_help('services') }
|
89
|
+
%a{ :href => "#config_files", :title => "Config Files" }
|
90
|
+
%img{ :src => "assets/logo-config-files-small.png", :title => "Config Files",
|
91
|
+
"data-toggle"=>"popover", "data-content" => scope_help('config_files') }
|
92
|
+
%a{ :href => "#changed_managed_files", :title => "Changed Managed Files" }
|
93
|
+
%img{ :src => "assets/logo-changed-managed-files-small.png",
|
94
|
+
:title => "Changed Managed Files", "data-toggle" => "popover",
|
95
|
+
"data-content" => scope_help('changed_managed_files') }
|
96
|
+
%a{ :href => "#unmanaged_files", :title => "Unmanaged Files" }
|
97
|
+
%img{ :src => "assets/logo-unmanaged-files-small.png", :title => "Unmanaged Files",
|
98
|
+
:"data-toggle" => "popover", "data-content" => scope_help('unmanaged_files') }
|
99
|
+
|
100
|
+
|
101
|
+
#content_container
|
102
|
+
|
103
|
+
= render_scope "os"
|
104
|
+
= render_scope "packages"
|
105
|
+
= render_scope "patterns"
|
106
|
+
= render_scope "repositories"
|
107
|
+
= render_scope "users"
|
108
|
+
= render_scope "groups"
|
109
|
+
= render_scope "services"
|
110
|
+
= render_scope "config_files"
|
111
|
+
= render_scope "changed_managed_files"
|
112
|
+
= render_scope "unmanaged_files"
|
113
|
+
|
114
|
+
.hidden#inspection_details
|
115
|
+
#filters
|
116
|
+
.row
|
117
|
+
.col-xs-1
|
118
|
+
.col-xs-11
|
119
|
+
%h3 Filters used during Inspection
|
120
|
+
|
121
|
+
.row
|
122
|
+
.col-xs-1
|
123
|
+
.col-xs-11
|
124
|
+
- if !@description.filter_definitions("inspect").empty?
|
125
|
+
%ul
|
126
|
+
- @description.filter_definitions("inspect").each do |filter|
|
127
|
+
%li.filter
|
128
|
+
= filter
|
129
|
+
|
130
|
+
- else
|
131
|
+
%p No filters were used.
|