machinery-tool 1.14.0 → 1.14.1

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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.git_revision +1 -1
  3. data/NEWS +10 -0
  4. data/html/assets/compare/machinery.js +1 -0
  5. data/html/assets/jquery.searcher.min.js +5 -0
  6. data/html/assets/machinery.css +3 -0
  7. data/html/assets/show/machinery.js +10 -4
  8. data/html/comparison.html.haml +18 -652
  9. data/html/index.html.haml +93 -431
  10. data/html/partials/changed_managed_files.html.haml +41 -0
  11. data/html/partials/compare/alert.html.haml +22 -0
  12. data/html/partials/compare/changed_managed_file_list.html.haml +26 -0
  13. data/html/partials/compare/changed_managed_files.html.haml +57 -0
  14. data/html/partials/compare/config_file_list.html.haml +26 -0
  15. data/html/partials/compare/config_files.html.haml +54 -0
  16. data/html/partials/compare/group_list.html.haml +14 -0
  17. data/html/partials/compare/groups.html.haml +52 -0
  18. data/html/partials/compare/os.html.haml +32 -0
  19. data/html/partials/compare/os_table.html.haml +10 -0
  20. data/html/partials/compare/package_list.html.haml +23 -0
  21. data/html/partials/compare/packages.html.haml +66 -0
  22. data/html/partials/compare/pattern_list.html.haml +12 -0
  23. data/html/partials/compare/patterns.html.haml +53 -0
  24. data/html/partials/compare/repositories.html.haml +51 -0
  25. data/html/partials/compare/repository_list.html.haml +28 -0
  26. data/html/partials/compare/service_list.html.haml +11 -0
  27. data/html/partials/compare/services.html.haml +56 -0
  28. data/html/partials/compare/unmanaged_file_list.html.haml +13 -0
  29. data/html/partials/compare/unmanaged_files.html.haml +59 -0
  30. data/html/partials/compare/user_list.html.haml +18 -0
  31. data/html/partials/compare/users.html.haml +52 -0
  32. data/html/partials/config_files.html.haml +57 -0
  33. data/html/partials/groups.html.haml +25 -0
  34. data/html/partials/os.html.haml +26 -0
  35. data/html/partials/packages.html.haml +30 -0
  36. data/html/partials/patterns.html.haml +23 -0
  37. data/html/partials/repositories.html.haml +35 -0
  38. data/html/partials/scope_header.html.haml +17 -0
  39. data/html/partials/services.html.haml +23 -0
  40. data/html/partials/unmanaged_files.html.haml +28 -0
  41. data/html/partials/users.html.haml +29 -0
  42. data/lib/cli.rb +48 -40
  43. data/lib/exceptions.rb +7 -0
  44. data/lib/helper.rb +21 -0
  45. data/lib/hint.rb +1 -1
  46. data/lib/html.rb +9 -1
  47. data/lib/scope_file_access_archive.rb +1 -2
  48. data/lib/scope_file_access_flat.rb +1 -2
  49. data/lib/server.rb +104 -50
  50. data/lib/version.rb +1 -1
  51. data/machinery-helper/version.go +1 -1
  52. data/man/generated/machinery.1.gz +0 -0
  53. data/man/generated/machinery.1.html +106 -16
  54. metadata +47 -18
  55. data/html/assets/angular-sanitize.min.js +0 -16
  56. data/html/assets/angular.min.js +0 -251
  57. data/html/assets/compare/machinery-compare.js +0 -100
  58. data/html/assets/show/machinery-show.js +0 -72
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8b08cffd58243c0597dfd04d3eda40b7decf833a
4
- data.tar.gz: 771159d8c4b48a44fb59d653ed0021af78f5210b
3
+ metadata.gz: 33410867e48fc0bcb7307a3bf675c5625ea2f4ad
4
+ data.tar.gz: b6b56186b5adc312ec8e95eca05aaa42975317ca
5
5
  SHA512:
6
- metadata.gz: 1435204f235b9abbccd1815f16c8dcae31d226b94bbf84f34e642eb8c5c973cfaaf7ba0182eb20d606d253902e27a374477fb2d18df29ac3a33512cd5d0052ba
7
- data.tar.gz: 9d2083f79fe8d6c32e65d6234638040c644f82b370285d648f721ebcd0290b912e524f8c94c90d9e56e2fd4a769bcd6a2b4afe89b36fd09585648205c924bbda
6
+ metadata.gz: 01c9c1baa1f5d82665df2c5b590020a87ccf75caf4906e691f80fbb9064f831419fab55958b855016298dbb87d4edf2ef656de23eaa947e4a182db37ab3cce31
7
+ data.tar.gz: 406612f5da1d81f847e329fc755b6780f7fa5c65d1c31baf09f2c629ef8134105c116c996fc1e53fefd33757a337bcf992cb2d88110615a052bddd47d4140c0f
@@ -1 +1 @@
1
- 9787fc1eff835522740423ff35c98b78205b31cb
1
+ a879bc791c625025e2861c0bc37a2d2207da250a
data/NEWS CHANGED
@@ -1,6 +1,16 @@
1
1
  # Machinery Release Notes
2
2
 
3
3
 
4
+ ## Version 1.14.1 - Fri Oct 09 18:30:13 CEST 2015 - thardeck@suse.de
5
+
6
+ * Fix: Clean up binding the server for HTML view to IP addresses
7
+ (gh#SUSE/machinery#1341)
8
+ * Fix: Make links to sections with common elements clearer in HTML comparison
9
+ view (gh#SUSE/machinery#1222)
10
+ * Fix: XML files are no longer treated as binary files in HTML view
11
+ (gh#SUSE/machinery#1154)
12
+ * Fix: Scrolling issue of file view (gh#SUSE/machinery#1155)
13
+
4
14
  ## Version 1.14.0 - Tue Oct 06 21:26:12 CEST 2015 - thardeck@suse.de
5
15
 
6
16
  * The machinery-helper is now built during gem-installation on x86_64
@@ -73,6 +73,7 @@ $(document).ready(function () {
73
73
  });
74
74
 
75
75
  // Unmanaged files diffs
76
+ $("#diff-unmanaged-files-file").prop("selectedIndex", -1)
76
77
  $("#diff-unmanaged-files-file").change(function(){
77
78
  $("#diff-unmanaged-files-content").hide();
78
79
  $("#diff-unmanaged-files-error").hide();
@@ -0,0 +1,5 @@
1
+ /*! jQuery Searcher Plugin - v0.1.0 - 2014-08-18
2
+ * https://github.com/lloiser/jquery-searcher/
3
+ * Copyright (c) 2014 Lukas Beranek; Licensed MIT
4
+ */
5
+ (function(){"use strict";function a(a){function b(b,c){this.element=b,this.options=a.extend({},f,c),this._create()}function c(a){return a.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")}var d="searcher",e="plugin_"+d,f={itemSelector:"tbody > tr",textSelector:"td",inputSelector:"",caseSensitive:!1,toggle:function(b,c){a(b).toggle(c)}};b.prototype={dispose:function(){this._$input.unbind("."+d);var a=this.options,b=a.toggle||f.toggle;this._$element.find(a.itemSelector).each(function(){b(this,!0)})},_create:function(){var b=this.options;this._$element=a(this.element),this._fn=a.proxy(this._onValueChange,this);var c="input."+d+" change."+d+" keyup."+d;this._$input=a(b.inputSelector).bind(c,this._fn),this._lastValue="";var e=b.toggle||f.toggle;this._$element.find(b.itemSelector).each(function(){e(this,!0)})},_onValueChange:function(){var b=this.options,d=b.textSelector,e=b.toggle||f.toggle,g="gm"+(b.caseSensitive?"":"i"),h=new RegExp("("+c(this._$input.val())+")",g);h.toString()!==this._lastValue&&(this._lastValue=h.toString(),this._$element.find(b.itemSelector).each(function(){var b=a(this),c=d?b.find(d):b,f=!1;c=c.each(function(){return f=f||!!a(this).text().match(h),!f}),e(this,f)}))}},a.fn[d]=function(c){return this.each(function(){var d=a.data(this,e);d&&"dispose"===c?(d.dispose(),a.removeData(this,e)):d?a.extend(d.options,c):"object"==typeof c&&a.data(this,e,new b(this,c))})}}"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}).call(this);
@@ -228,3 +228,6 @@ h1 {
228
228
  border-radius: 50%;
229
229
  }
230
230
 
231
+ .show-common-elements, .hide-common-elements {
232
+ text-decoration: underline;
233
+ }
@@ -1,4 +1,12 @@
1
1
  $(document).ready(function () {
2
+ // Set up filter
3
+ $(".filterable").searcher({
4
+ inputSelector: "#filter"
5
+ });
6
+ $("#reset-filter").click(function() {
7
+ $("#filter").val("").change()
8
+ });
9
+
2
10
  // Align content below floating menu
3
11
  var header_height = $("#nav-bar").height() + 20;
4
12
  $("#content_container, #angular-content").css("margin-top", header_height);
@@ -67,10 +75,7 @@ $(document).ready(function () {
67
75
  }
68
76
  });
69
77
  $('.inspection-details-popover .close').click(function() { $(".inspection_details").popover("hide") });
70
- });
71
-
72
78
 
73
- setupDynamicContent = function() {
74
79
  // Set up file download links
75
80
  $(".file-download").click(function() {
76
81
  $("#file-modal-file-content").hide();
@@ -87,6 +92,7 @@ setupDynamicContent = function() {
87
92
  $("#file-modal-error").html("File is empty.").show();
88
93
  } else {
89
94
  $("#file-modal-file-content").val(res).show();
95
+ $("#file-modal-file-content").scrollTop(0);
90
96
  }
91
97
  }, "text").
92
98
  error(function(res) {
@@ -154,4 +160,4 @@ setupDynamicContent = function() {
154
160
  $this.attr('title', $this.text());
155
161
  }
156
162
  });
157
- };
163
+ });
@@ -7,8 +7,6 @@
7
7
  %meta{:name => "viewport", :content => "width=device-width, initial-scale=1"}
8
8
  %link{:href => "/assets/machinery-base.css", :rel => "stylesheet", :type => "text/css"}/
9
9
  %link{:href => "/assets/machinery.css", :rel => "stylesheet", :type => "text/css"}/
10
- %script{:src => "/assets/angular.min.js"}
11
- %script{:src => "/assets/compare/machinery-compare.js"}
12
10
  %script{:src => "/assets/jquery-2.1.1.min.js"}
13
11
  %script{:src => "/assets/transition.js"}
14
12
  %script{:src => "/assets/collapse.js"}
@@ -17,640 +15,11 @@
17
15
  %style
18
16
  = Diffy::CSS
19
17
 
20
- %script#alert{:type => "text/ng-template"}
21
- #alert_container.scope{"ng-show" => "diff.meta.uninspected"}
22
- .row
23
- .col-xs-10.col-xs-offset-1
24
- .well
25
- %span.text-right.dismiss{:title => "Collapse/Expand"}
26
- %p{"ng-show" => "diff.meta.uninspected[diff.meta.description_a].length"}
27
- Couldn't compare <strong>'{{diff.meta.uninspected[diff.meta.description_a].join(", ")}}'</strong> because they are not present in description <strong>'{{diff.meta.description_a}}'</strong>
28
- %p{"ng-show" => "diff.meta.uninspected[diff.meta.description_b].length"}
29
- Couldn't compare <strong>'{{diff.meta.uninspected[diff.meta.description_b].join(", ")}}'</strong> because they are not present in description <strong>'{{diff.meta.description_b}}'</strong>
30
-
31
- %script#scope_os_partial{:type => "text/ng-template"}
32
- %table.table.table-striped.table-condensed
33
- %tr
34
- %th Name
35
- %td {{object.name}}
36
- %tr
37
- %th Version
38
- %td {{object.version}}
39
- %tr
40
- %th Architecture
41
- %td {{object.architecture}}
42
-
43
- %script#scope_os.partial{:type => "text/ng-template"}
44
- %a.scope_anchor{:id => "os"}
45
- #os_container.scope
46
- .row
47
- .col-xs-1
48
- %a{:href => "#os"}
49
- %img.scope_logo_big{:src => "/assets/logo-os.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Operating System", :"data-content"=>"#{scope_help('os')}"}/
50
- %span.toggle{:title => "Collapse/Expand"}
51
- .col-xs-11
52
- %h2
53
- Operating System
54
- .row.scope_content.collapse.in
55
- .row
56
- .col-xs-1
57
- .col-xs-5{"ng-show" => "diff.os.only_in1"}
58
- %only-in-a
59
- %render-template{:template => "scope_os_partial", :object => "diff.os.only_in1"}
60
- .col-xs-1
61
- .col-xs-5{"ng-show" => "diff.os.only_in2"}
62
- %only-in-b
63
- %render-template{:template => "scope_os_partial", :object => "diff.os.only_in2"}
64
- .row.scope_content_common.collapse.in
65
- .col-xs-1
66
- .col-xs-11{"ng-show" => "diff.os.common"}
67
- %in-both
68
- %render-template{:template => "scope_os_partial", :object => "diff.os.common"}
69
-
70
- %script#scope_packages_partial{:type => "text/ng-template"}
71
- %table.table.table-striped.table-hover.table-condensed
72
- %thead
73
- %tr
74
- %th Name
75
- %th.small Version
76
- %th.small.visible-md.visible-lg Release
77
- %th.small.visible-md.visible-lg Arch
78
- %th.visible-lg Vendor
79
- %th.visible-lg Checksum
80
- %th.tiny.hidden-lg
81
- %tbody
82
- %tr{"ng-repeat" => "package in object"}
83
- %td {{package.name}}
84
- %td {{package.version}}
85
- %td.visible-md.visible-lg {{package.release}}
86
- %td.visible-md.visible-lg {{package.arch}}
87
- %td.visible-lg {{package.vendor}}
88
- %td.visible-lg {{package.checksum}}
89
- %td.hidden-lg{:title => "Name: {{package.name}}\nVersion: {{package.version}}\nRelease: {{package.release}}\n" |
90
- "Architecture: {{package.arch}}\nVendor: {{package.vendor}}\nChecksum: {{package.checksum}}"} ... |
91
-
92
- %script#scope_packages_changed_partial{:type => "text/ng-template"}
93
- %ul.changed
94
- %li{"ng-repeat" => "changed_element in changed_elements"}
95
- {{changed_element}}
96
-
97
- %script#scope_packages.partial{:type => "text/ng-template"}
98
- %a.scope_anchor{:id => "packages"}
99
- #packages_container.scope
100
- .row
101
- .col-xs-1
102
- %a{:href => "#packages"}
103
- %img.scope_logo_big{:src => "/assets/logo-packages.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Packages", :"data-content"=>"#{scope_help('packages')}"}/
104
- %span.toggle{:title => "Collapse/Expand"}
105
- .col-xs-11
106
- %h2
107
- Packages
108
- .scope-summary
109
- %span.summary-part{"ng-show" => "diff.packages.only_in1"}
110
- {{diff.meta.description_a}}: {{diff.packages.only_in1.length}} packages
111
- %span.summary-part{"ng-show" => "diff.packages.only_in2"}
112
- {{diff.meta.description_b}}: {{diff.packages.only_in2.length}} packages
113
- %span.summary-part{"ng-show" => "diff.packages.changed"}
114
- %a{href: "#packages_changed"}
115
- Changed
116
- = ": {{diff.packages.changed.length}} packages"
117
- %span.summary-part{"ng-show" => "diff.packages.common"}
118
- %a{:class=>"show-common-elements", href: "#packages_both"}
119
- both
120
- = ": {{diff.packages.common.length}} packages"
121
- .row.scope_content.collapse.in
122
- .row
123
- .col-xs-1
124
- .col-xs-5.table_container{"ng-show" => "diff.packages.only_in1"}
125
- %only-in-a
126
- %render-template{:template => "scope_packages_partial", :object => "diff.packages.only_in1"}
127
- .col-xs-1
128
- .col-xs-5.table_container{"ng-show" => "diff.packages.only_in2"}
129
- %only-in-b
130
- %render-template{:template => "scope_packages_partial", :object => "diff.packages.only_in2"}
131
- %a.both_anchor{id: "packages_changed"}
132
- .row{"ng-show" => "diff.packages.changed"}
133
- .col-xs-1
134
- .col-xs-11.table_container
135
- %changed
136
- %changed_packages
137
- %a.both_anchor{id: "packages_both"}
138
- .row
139
- .col-xs-1
140
- .col-xs-2
141
- %a{:class=>"show-common-elements", :href => "#", "ng-show" => "diff.packages.common"}
142
- Show common elements in packages
143
- %a{:class=>"hide-common-elements", :href => "#", :style => "display: none", "ng-show" => "diff.packages.common"}
144
- Hide common elements in packages
145
- .row.scope_common_content.collapse{"ng-show" => "diff.packages.common"}
146
- .col-xs-1
147
- .col-xs-10.table_container
148
- %in-both
149
- %render-template{:template => "scope_packages_partial", :object => "diff.packages.common"}
150
-
151
- %script#scope_patterns_partial{:type => "text/ng-template"}
152
- %table.table.table-striped.table-hover.table-condensed
153
- %thead
154
- %tr
155
- %th Name
156
- %th Version
157
- %th Release
158
- %tbody
159
- %tr{"ng-repeat" => "pattern in object"}
160
- %td {{pattern.name}}
161
- %td {{pattern.version}}
162
- %td {{pattern.release}}
163
-
164
- %script#scope_patterns.partial{:type => "text/ng-template"}
165
- %a.scope_anchor{:id => "patterns"}
166
- #patterns_container.scope
167
- .row
168
- .col-xs-1
169
- %a{:href => "#patterns"}
170
- %img.scope_logo_big{:src => "/assets/logo-patterns.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Patterns", :"data-content"=>"#{scope_help('patterns')}"}/
171
- %span.toggle{:title => "Collapse/Expand"}
172
- .col-xs-11
173
- %h2
174
- Patterns
175
- .scope-summary
176
- %span.summary-part{"ng-show" => "diff.patterns.only_in1"}
177
- {{diff.meta.description_a}}: {{diff.patterns.only_in1.length}} patterns
178
- %span.summary-part{"ng-show" => "diff.patterns.only_in2"}
179
- {{diff.meta.description_b}}: {{diff.patterns.only_in2.length}} patterns
180
- %span.summary-part{"ng-show" => "diff.patterns.common"}
181
- %a{:class=>"show-common-elements", href: "#patterns_both"}
182
- both
183
- = ": {{diff.patterns.common.length}} patterns"
184
- .row.scope_content.collapse.in
185
- .row
186
- .col-xs-1
187
- .col-xs-5{"ng-show" => "diff.patterns.only_in1"}
188
- %only-in-a
189
- %render-template{:template => "scope_patterns_partial", :object => "diff.patterns.only_in1"}
190
- .col-xs-1
191
- .col-xs-5{"ng-show" => "diff.patterns.only_in2"}
192
- %only-in-b
193
- %render-template{:template => "scope_patterns_partial", :object => "diff.patterns.only_in2"}
194
- %a.both_anchor{id: "patterns_both"}
195
- .row
196
- .col-xs-1
197
- .col-xs-2
198
- %a{:class=>"show-common-elements", :href => "#", "ng-show" => "diff.patterns.common"}
199
- Show common elements in patterns
200
- %a{:class=>"hide-common-elements", :href => "#", :style => "display: none", "ng-show" => "diff.patterns.common"}
201
- Hide common elements in patterns
202
- .row.scope_common_content.collapse{"ng-show" => "diff.patterns.common"}
203
- .col-xs-1
204
- .col-xs-11
205
- %in-both
206
- %render-template{:template => "scope_patterns_partial", :object => "diff.patterns.common"}
207
-
208
- %script#scope_users_partial{:type => "text/ng-template"}
209
- %table.table.table-striped.table-hover.table-condensed
210
- %thead
211
- %tr
212
- %th Name
213
- %th.small UID
214
- %th.small GID
215
- %th Comment
216
- %th Home
217
- %th.small Shell
218
- %tbody
219
- %tr{"ng-repeat" => "user in object"}
220
- %td {{user.name}}
221
- %td {{user.uid}}
222
- %td {{user.gid}}
223
- %td {{user.comment}}
224
- %td {{user.home}}
225
- %td {{user.shell}}
226
- %script#scope_users{:type => "text/ng-template"}
227
- %a.scope_anchor{:id => "users"}
228
- #users_container.scope
229
- .row
230
- .col-xs-1
231
- %a{:href => "#users"}
232
- %img.scope_logo_big{:src => "/assets/logo-users.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Users", :"data-content"=>"#{scope_help('users')}"}/
233
- %span.toggle{:title => "Collapse/Expand"}
234
- .col-xs-11
235
- %h2
236
- Users
237
- .scope-summary
238
- %span.summary-part{"ng-show" => "diff.users.only_in1"}
239
- {{diff.meta.description_a}}: {{diff.users.only_in1.length}} users
240
- %span.summary-part{"ng-show" => "diff.users.only_in2"}
241
- {{diff.meta.description_b}}: {{diff.users.only_in2.length}} users
242
- %span.summary-part{"ng-show" => "diff.users.common"}
243
- %a{:class=>"show-common-elements", href: "#users_both"}
244
- both
245
- = ": {{diff.users.common.length}} users"
246
- .row.scope_content.collapse.in
247
- .row
248
- .col-xs-1
249
- .col-xs-5{"ng-show" => "diff.users.only_in1"}
250
- %only-in-a
251
- %render-template{:template => "scope_users_partial", :object => "diff.users.only_in1"}
252
- .col-xs-1
253
- .col-xs-5{"ng-show" => "diff.users.only_in2"}
254
- %only-in-b
255
- %render-template{:template => "scope_users_partial", :object => "diff.users.only_in2"}
256
- %a.both_anchor{id: "users_both"}
257
- .row
258
- .col-xs-1
259
- .col-xs-2
260
- %a{:class=>"show-common-elements", :href => "#", "ng-show" => "diff.users.common"}
261
- Show common elements in users
262
- %a{:class=>"hide-common-elements", :href => "#", :style => "display: none", "ng-show" => "diff.users.common"}
263
- Hide common elements in users
264
- .row.scope_common_content.collapse{"ng-show" => "diff.users.common"}
265
- .col-xs-1
266
- .col-xs-11
267
- %in-both
268
- %render-template{:template => "scope_users_partial", :object => "diff.users.common"}
269
-
270
- %script#scope_unmanaged_files_partial{:type => "text/ng-template"}
271
- %p
272
- <strong>Files extracted:</strong> {{object.extracted ? "yes" : "no"}}
273
- %table.table.table-striped.table-hover.table-condensed.files-table{{"ng-show" => "object.files"}}
274
- %thead
275
- %tr
276
- %th Name
277
- %th Type
278
- %tbody
279
- %tr{"ng-repeat" => "file in object.files"}
280
- %td {{file.name}}
281
- %td {{file.type}}
282
- %script#scope_unmanaged_files.partial{:type => "text/ng-template"}
283
- %a.scope_anchor{:id => "unmanaged_files"}
284
- #unmanaged_files_container.scope
285
- .row
286
- .col-xs-1
287
- %a{:href => "#unmanaged_files"}
288
- %img.scope_logo_big{:src => "/assets/logo-unmanaged-files.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Unmanaged Files", :"data-content"=>"#{scope_help('unmanaged_files')}"}/
289
- %span.toggle{:title => "Collapse/Expand"}
290
- .col-xs-11
291
- %h2
292
- Unmanaged Files
293
- .scope-summary
294
- %span.summary-part{"ng-show" => "diff.unmanaged_files.only_in1"}
295
- {{diff.meta.description_a}}: {{diff.unmanaged_files.only_in1.files.length || 0}} files
296
- %span.summary-part{"ng-show" => "diff.unmanaged_files.only_in2"}
297
- {{diff.meta.description_b}}: {{diff.unmanaged_files.only_in2.files.length || 0}} files
298
- %span.summary-part{"ng-show" => "diff.unmanaged_files.common"}
299
- %a{:class=>"show-common-elements", href: "#unmanaged_files_both"}
300
- both
301
- = ": {{diff.unmanaged_files.common.files.length}} files"
302
- %span.summary-part{"ng-show" => "diffableUnmanagedFiles.length"}
303
- %a#diff-unmanaged-files{"data-toggle" => "modal", "data-target" => "#diff-unmanaged-files"}
304
- Diff files
305
- .row.scope_content.collapse.in
306
- .row{"ng-show" => "diff.unmanaged_files.only_in1 || diff.unmanaged_files.only_in2"}
307
- .col-xs-1
308
- .col-xs-5
309
- %only-in-a
310
- %render-template{:template => "scope_unmanaged_files_partial", :object => "diff.unmanaged_files.only_in1"}
311
- .col-xs-1
312
- .col-xs-5
313
- %only-in-b
314
- %render-template{:template => "scope_unmanaged_files_partial", :object => "diff.unmanaged_files.only_in2"}
315
- %a.both_anchor{id: "unmanaged_files_both"}
316
- .row
317
- .col-xs-1
318
- .col-xs-4
319
- %a{:class=>"show-common-elements", :href => "#", "ng-show" => "diff.unmanaged_files.common"}
320
- Show common elements in unmanaged_files
321
- %a{:class=>"hide-common-elements", :href => "#", :style => "display: none", "ng-show" => "diff.unmanaged_files.common"}
322
- Hide common elements in unmanaged_files
323
- .row.scope_common_content.collapse{"ng-show" => "diff.unmanaged_files.common"}
324
- .col-xs-1
325
- .col-xs-11
326
- %in-both
327
- %render-template{:template => "scope_unmanaged_files_partial", :object => "diff.unmanaged_files.common"}
328
-
329
- %script#scope_groups_partial{:type => "text/ng-template"}
330
- %table.table.table-striped.table-hover.table-condensed
331
- %thead
332
- %tr
333
- %th Name
334
- %th GID
335
- %th Password
336
- %th Users
337
- %tbody
338
- %tr{"ng-repeat" => "group in object"}
339
- %td {{group.name}}
340
- %td {{group.gid}}
341
- %td {{group.password}}
342
- %td {{group.users.join(",")}}
343
- %script#scope_groups{:type => "text/ng-template"}
344
- %a.scope_anchor{:id => "groups"}
345
- #groups_container.scope
346
- .row
347
- .col-xs-1
348
- %a{:href => "#groups"}
349
- %img.scope_logo_big{:src => "/assets/logo-groups.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Groups", :"data-content"=>"#{scope_help('groups')}"}/
350
- %span.toggle{:title => "Collapse/Expand"}
351
- .col-xs-11
352
- %h2
353
- Groups
354
- .scope-summary
355
- %span.summary-part{"ng-show" => "diff.groups.only_in1"}
356
- {{diff.meta.description_a}}: {{diff.groups.only_in1.length}} groups
357
- %span.summary-part{"ng-show" => "diff.groups.only_in2"}
358
- {{diff.meta.description_b}}: {{diff.groups.only_in2.length}} groups
359
- %span.summary-part{"ng-show" => "diff.groups.common"}
360
- %a{:class=>"show-common-elements", href: "#groups_both"}
361
- both
362
- = ": {{diff.groups.common.length}} groups"
363
- .row.scope_content.collapse.in
364
- .row
365
- .col-xs-1
366
- .col-xs-5{"ng-show" => "diff.groups.only_in1"}
367
- %only-in-a
368
- %render-template{:template => "scope_groups_partial", :object => "diff.groups.only_in1"}
369
- .col-xs-1
370
- .col-xs-5{"ng-show" => "diff.groups.only_in2"}
371
- %only-in-b
372
- %render-template{:template => "scope_groups_partial", :object => "diff.groups.only_in2"}
373
- %a.both_anchor{id: "groups_both"}
374
- .row
375
- .col-xs-1
376
- .col-xs-2
377
- %a{:class=>"show-common-elements", :href => "#", "ng-show" => "diff.groups.common"}
378
- Show common elements in groups
379
- %a{:class=>"hide-common-elements", :href => "#", :style => "display: none", "ng-show" => "diff.groups.common"}
380
- Hide common elements in groups
381
- .row.scope_common_content.collapse{"ng-show" => "diff.groups.common"}
382
- .col-xs-1
383
- .col-xs-11
384
- %in-both
385
- %render-template{:template => "scope_groups_partial", :object => "diff.groups.common"}
386
-
387
- %script#scope_repositories_partial{:type => "text/ng-template"}
388
- %table.table.table-striped.table-hover.table-condensed
389
- %thead
390
- %tr
391
- %th Name
392
- %th Alias
393
- %th URL
394
- %th.small Type
395
- %th.small Enabled
396
- %th.small.visible-lg Autorefresh
397
- %th.small.visible-lg GPG Check
398
- %th.small.visible-lg Priority
399
- %th.tiny.hidden-lg
400
- %tbody
401
- %tr{"ng-repeat" => "repo in object"}
402
- %td {{repo.name}}
403
- %td {{repo.alias}}
404
- %td
405
- %a{:href => "{{repo.url}}" } {{repo.url}}
406
- %td {{repo.type}}
407
- %td {{repo.enabled}}
408
- %td.visible-lg {{repo.autorefresh}}
409
- %td.visible-lg {{repo.gpgcheck}}
410
- %td.visible-lg {{repo.priority}}
411
- %td.hidden-lg{:title => "Name: {{repo.name}}\nAlias: {{repo.alias}}\nUrl: {{repo.url}}\n" |
412
- "Type: {{repo.type}}\nEnabled: {{repo.enabled}}\nAutorefresh: {{repo.autorefresh}}\n" |
413
- "GPG Check: {{repo.gpgcheck}}\nPriority: {{repo.priority}}"} ... |
414
- %script#scope_repositories.partial{:type => "text/ng-template"}
415
- %a.scope_anchor{:id => "repositories"}
416
- #repositories_container.scope
417
- .row
418
- .col-xs-1
419
- %a{:href => "#repositories"}
420
- %img.scope_logo_big{:src => "/assets/logo-repositories.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Repositories", :"data-content"=>"#{scope_help('repositories')}"}/
421
- %span.toggle{:title => "Collapse/Expand"}
422
- .col-xs-11
423
- %h2
424
- Repositories
425
- .scope-summary
426
- %span.summary-part{"ng-show" => "diff.repositories.only_in1"}
427
- {{diff.meta.description_a}}: {{diff.repositories.only_in1.length}} repos
428
- %span.summary-part{"ng-show" => "diff.repositories.only_in2"}
429
- {{diff.meta.description_b}}: {{diff.repositories.only_in2.length}} repos
430
- %span.summary-part{"ng-show" => "diff.repositories.common"}
431
- %a{:class=>"show-common-elements", href: "#repositories_both"}
432
- both
433
- = ": {{diff.repositories.common.length}} repos"
434
- .row.scope_content.collapse.in
435
- .row
436
- .col-xs-1
437
- .col-xs-5{"ng-show" => "diff.repositories.only_in1"}
438
- %only-in-a
439
- %render-template{:template => "scope_repositories_partial", :object => "diff.repositories.only_in1"}
440
- .col-xs-1
441
- .col-xs-5{"ng-show" => "diff.repositories.only_in2"}
442
- %only-in-b
443
- %render-template{:template => "scope_repositories_partial", :object => "diff.repositories.only_in2"}
444
- %a.both_anchor{id: "repositories_both"}
445
- .row
446
- .col-xs-1
447
- .col-xs-2
448
- %a{:class=>"show-common-elements", :href => "#", "ng-show" => "diff.repositories.common"}
449
- Show common elements in repositories
450
- %a{:class=>"hide-common-elements", :href => "#", :style => "display: none", "ng-show" => "diff.repositories.common"}
451
- Hide common elements in repositories
452
- .row.scope_common_content.collapse{"ng-show" => "diff.repositories.common"}
453
- .col-xs-1
454
- .col-xs-11
455
- %in-both
456
- %render-template{:template => "scope_repositories_partial", :object => "diff.repositories.common"}
457
-
458
- %script#scope_changed_managed_files_partial{:type => "text/ng-template"}
459
- %p
460
- <strong>Files extracted:</strong> {{object.extracted ? "yes" : "no"}}
461
- %table.table.table-striped.table-hover.table-condensed.files-table{{"ng-show" => "object.files"}}
462
- %thead
463
- %tr
464
- %th Name
465
- %th Package Name
466
- %th Package Version
467
- %th.small Changes
468
- %th.small Mode
469
- %th.small User
470
- %th.small Group
471
- %tbody
472
- %tr{"ng-repeat" => "file in object.files"}
473
- %td {{file.name}}
474
- %td {{file.package_name}}
475
- %td {{file.package_version}}
476
- %td {{file.changes.join(",")}}
477
- %span{"ng-show" => "file.error_message", :title => "{{file.error_message}}"} (details)
478
- %td {{file.mode}}
479
- %td {{file.user}}
480
- %td {{file.group}}
481
- %script#scope_changed_managed_files.partial{:type => "text/ng-template"}
482
- %a.scope_anchor{:id => "changed_managed_files"}
483
- #changed_managed_files_container.scope
484
- .row
485
- .col-xs-1
486
- %a{:href => "#changed_managed_files"}
487
- %img.scope_logo_big{:src => "/assets/logo-changed-managed-files.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Changed Managed Files", :"data-content"=>"#{scope_help('changed_managed_files')}"}/
488
- %span.toggle{:title => "Collapse/Expand"}
489
- .col-xs-11
490
- %h2
491
- Changed Managed Files
492
- .scope-summary
493
- %span.summary-part{"ng-show" => "diff.changed_managed_files.only_in1"}
494
- {{diff.meta.description_a}}: {{diff.changed_managed_files.only_in1.files.length || 0}} files
495
- %span.summary-part{"ng-show" => "diff.changed_managed_files.only_in2"}
496
- {{diff.meta.description_b}}: {{diff.changed_managed_files.only_in2.files.length || 0}} files
497
- %span.summary-part{"ng-show" => "diff.changed_managed_files.common"}
498
- %a{:class=>"show-common-elements", href: "#changed_managed_files_both"}
499
- both
500
- = ": {{diff.changed_managed_files.common.files.length}} files"
501
- .row.scope_content.collapse.in
502
- .row
503
- .col-xs-1
504
- .col-xs-5{"ng-show" => "diff.changed_managed_files.only_in1"}
505
- %only-in-a
506
- %render-template{:template => "scope_changed_managed_files_partial", :object => "diff.changed_managed_files.only_in1"}
507
- .col-xs-1
508
- .col-xs-5{"ng-show" => "diff.changed_managed_files.only_in2"}
509
- %only-in-b
510
- %render-template{:template => "scope_changed_managed_files_partial", :object => "diff.changed_managed_files.only_in2"}
511
- %a.both_anchor{id: "changed_managed_files_both"}
512
- .row
513
- .col-xs-1
514
- .col-xs-4
515
- %a{:class=>"show-common-elements", :href => "#", "ng-show" => "diff.changed_managed_files.common"}
516
- Show common elements in changed_managed_files
517
- %a{:class=>"hide-common-elements", :href => "#", :style => "display: none", "ng-show" => "diff.changed_managed_files.common"}
518
- Hide common elements in changed_managed_files
519
- .row.scope_common_content.collapse{"ng-show" => "diff.changed_managed_files.common"}
520
- .col-xs-1
521
- .col-xs-11
522
- %in-both
523
- %render-template{:template => "scope_changed_managed_files_partial", :object => "diff.changed_managed_files.common"}
524
-
525
- %script#scope_config_files_partial{:type => "text/ng-template"}
526
- %p
527
- <strong>Files extracted:</strong> {{object.extracted ? "yes" : "no"}}
528
- %table.table.table-striped.table-hover.table-condensed.files-table{{"ng-show" => "object.files"}}
529
- %thead
530
- %tr
531
- %th Name
532
- %th Package Name
533
- %th Package Version
534
- %th Changes
535
- %th Mode
536
- %th User
537
- %th Group
538
- %tbody
539
- %tr{"ng-repeat" => "file in object.files"}
540
- %td {{file.name}}
541
- %td {{file.package_name}}
542
- %td {{file.package_version}}
543
- %td
544
- {{file.changes.join(",")}}
545
- %span{"ng-show" => "file.error_message", :title => "{{file.error_message}}"} (details)
546
- %td {{file.mode}}
547
- %td {{file.user}}
548
- %td {{file.group}}
549
-
550
- %script#scope_config_files.partial{:type => "text/ng-template"}
551
- %a.scope_anchor{:id => "config_files"}
552
- #config_files_container.scope
553
- .row
554
- .col-xs-1
555
- %a{:href => "#config_files"}
556
- %img.scope_logo_big{:src => "/assets/logo-config-files.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Config Files", :"data-content"=>"#{scope_help('config_files')}"}/
557
- %span.toggle{:title => "Collapse/Expand"}
558
- .col-xs-11
559
- %h2
560
- Config Files
561
- .scope-summary
562
- %span.summary-part{"ng-show" => "diff.config_files.only_in1"}
563
- {{diff.meta.description_a}}: {{diff.config_files.only_in1.files.length || 0}} files
564
- %span.summary-part{"ng-show" => "diff.config_files.only_in2"}
565
- {{diff.meta.description_b}}: {{diff.config_files.only_in2.files.length || 0}} files
566
- %span.summary-part{"ng-show" => "diff.config_files.common"}
567
- %a{:class=>"show-common-elements", href: "#config_files_both"}
568
- both
569
- = ": {{diff.config_files.common.files.length}} files"
570
- .row.scope_content.collapse.in
571
- .row
572
- .col-xs-1
573
- .col-xs-5{"ng-show" => "diff.config_files.only_in1"}
574
- %only-in-a
575
- %render-template{:template => "scope_config_files_partial", :object => "diff.config_files.only_in1"}
576
- .col-xs-1
577
- .col-xs-5{"ng-show" => "diff.config_files.only_in2"}
578
- %only-in-b
579
- %render-template{:template => "scope_config_files_partial", :object => "diff.config_files.only_in2"}
580
- %a.both_anchor{id: "config_files_both"}
581
- .row
582
- .col-xs-1
583
- .col-xs-2
584
- %a{:class=>"show-common-elements", :href => "#", "ng-show" => "diff.config_files.common"}
585
- Show common elements in config_files
586
- %a{:class=>"hide-common-elements", :href => "#", :style => "display: none", "ng-show" => "diff.config_files.common"}
587
- Hide common elements in config_files
588
- .row.scope_common_content.collapse{"ng-show" => "diff.config_files.common"}
589
- .col-xs-1
590
- .col-xs-11
591
- %in-both
592
- %render-template{:template => "scope_config_files_partial", :object => "diff.config_files.common"}
593
-
594
- %script#scope_services_partial{:type => "text/ng-template"}
595
- %table.table.table-striped.table-hover.table-condensed
596
- %thead
597
- %tr
598
- %th Name
599
- %th State
600
- %tbody
601
- %tr{"ng-repeat" => "service in object.services"}
602
- %td {{service.name}}
603
- %td{:class=>"{{object.init_system}}_{{service.state}}"}
604
- {{service.state}}
605
- %script#scope_services.partial{:type => "text/ng-template"}
606
- %a.scope_anchor{:id => "services"}
607
- #services_container.scope
608
- .row
609
- .col-xs-1
610
- %a{:href => "#services"}
611
- %img.scope_logo_big{:src => "/assets/logo-services.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Services", :"data-content"=>"#{scope_help('services')}"}/
612
- %span.toggle{:title => "Collapse/Expand"}
613
- .col-xs-11
614
- %h2
615
- Services
616
- .scope-summary
617
- %span.summary-part{"ng-show" => "diff.services.only_in1"}
618
- {{diff.meta.description_a}}: {{diff.services.only_in1.services.length || 0}} services ({{diff.services.only_in1.init_system}})
619
- %span.summary-part{"ng-show" => "diff.services.only_in2"}
620
- {{diff.meta.description_b}}: {{diff.services.only_in2.services.length || 0}} services ({{diff.services.only_in2.init_system}})
621
- %span.summary-part{"ng-show" => "diff.services.common"}
622
- %a{:class=>"show-common-elements", href: "#services_both"}
623
- both
624
- = ": {{diff.services.common.services.length}} services ({{diff.services.common.init_system}})"
625
- .row.scope_content.collapse.in
626
- .row
627
- .col-xs-1
628
- .col-xs-5{"ng-show" => "diff.services.only_in1"}
629
- %only-in-a
630
- %render-template{:template => "scope_services_partial", :object => "diff.services.only_in1"}
631
- .col-xs-1
632
- .col-xs-5{"ng-show" => "diff.services.only_in2"}
633
- %only-in-b
634
- %render-template{:template => "scope_services_partial", :object => "diff.services.only_in2"}
635
- %a.both_anchor{id: "services_both"}
636
- .row
637
- .col-xs-1
638
- .col-xs-2
639
- %a{:class=>"show-common-elements", :href => "#", "ng-show" => "diff.services.common"}
640
- Show common elements in services
641
- %a{:class=>"hide-common-elements", :href => "#", :style => "display: none", "ng-show" => "diff.services.common"}
642
- Hide common elements in services
643
- .row.scope_common_content.collapse{"ng-show" => "diff.services.common"}
644
- .col-xs-1
645
- .col-xs-11
646
- %in-both
647
- %render-template{:template => "scope_services_partial", :object => "diff.services.common"}
648
-
649
18
  %script{:src => "/assets/compare/machinery.js"}
650
19
  %script{:src => "/assets/bootstrap-tooltip.js"}
651
20
  %script{:src => "/assets/bootstrap-popover.js"}
652
21
 
653
- %body{"ng-controller" => "compareController", "data-description-a" => description_a, "data-description-b" => description_b}
22
+ %body{ "data-description-a" => @description_a.name, "data-description-b" => @description_b.name }
654
23
  #diff-unmanaged-files.modal.fade
655
24
  .modal-dialog.modal-lg
656
25
  .modal-content
@@ -662,10 +31,11 @@
662
31
  .modal-body
663
32
  .row
664
33
  File
665
- %select#diff-unmanaged-files-file{"ng-options" => "file for file in diffableUnmanagedFiles track by file",
666
- "ng-model" => "selected"}
34
+ %select#diff-unmanaged-files-file
35
+ - diffable_unmanaged_files.each do |file|
36
+ %option{ label: file, value: file }
667
37
  .row#diff-unmanaged-files-content{"style" => "display: none"}
668
- Diff ('#{description_a}' -> '#{description_b}')
38
+ Diff ('#{@description_a.name}' -> '#{@description_b.name}')
669
39
  #diff-unmanaged-files-diff
670
40
  #diff-unmanaged-files-error{"style" => "display: none"}
671
41
  #diff-unmanaged-files-spinner{"style" => "display: none"}
@@ -680,7 +50,7 @@
680
50
  .col-xs-1
681
51
  .col-xs-10
682
52
  %h1
683
- Comparing '#{description_a}' with '#{description_b}'
53
+ Comparing '#{@description_a.name}' with '#{@description_b.name}'
684
54
  %span.scope-navigation
685
55
  Scopes:
686
56
  %a{:href => "#os", :title => "Operating System", "ng-show" => "diff.os"}
@@ -717,19 +87,15 @@
717
87
  Machinery
718
88
 
719
89
  #content_container
720
- .row{"ng-hide" => "diff"}
721
- .col-xs-11.col-xs-offset-1
722
- %p
723
- Loading comparison results. Please wait...
724
- %div{"ng-show" => "diff"}
725
- %div{"src" => "'alert'", "ng-include" => true}
726
- %div{"src" => "'scope_os'", "ng-include" => true, "ng-show" => "diff.os"}
727
- %div{"src" => "'scope_packages'", "ng-include" => true, "ng-show" => "diff.packages"}
728
- %div{"src" => "'scope_patterns'", "ng-include" => true, "ng-show" => "diff.patterns"}
729
- %div{"src" => "'scope_users'", "ng-include" => true, "ng-show" => "diff.users"}
730
- %div{"src" => "'scope_groups'", "ng-include" => true, "ng-show" => "diff.groups"}
731
- %div{"src" => "'scope_repositories'", "ng-include" => true, "ng-show" => "diff.repositories"}
732
- %div{"src" => "'scope_unmanaged_files'", "ng-include" => true, "ng-show" => "diff.unmanaged_files"}
733
- %div{"src" => "'scope_changed_managed_files'", "ng-include" => true, "ng-show" => "diff.changed_managed_files"}
734
- %div{"src" => "'scope_config_files'", "ng-include" => true, "ng-show" => "diff.config_files"}
735
- %div{"src" => "'scope_services'", "ng-include" => true, "ng-show" => "diff.services"}
90
+ %div
91
+ = render_partial "compare/alert"
92
+ = render_partial "compare/os"
93
+ = render_partial "compare/packages"
94
+ = render_partial "compare/patterns"
95
+ = render_partial "compare/users"
96
+ = render_partial "compare/groups"
97
+ = render_partial "compare/repositories"
98
+ = render_partial "compare/unmanaged_files"
99
+ = render_partial "compare/changed_managed_files"
100
+ = render_partial "compare/config_files"
101
+ = render_partial "compare/services"