chef-server-webui 0.9.18 → 0.10.0.beta.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. data/README.rdoc +0 -4
  2. data/Rakefile +10 -0
  3. data/app/controllers/application.rb +34 -6
  4. data/app/controllers/cookbooks.rb +125 -35
  5. data/app/controllers/environments.rb +235 -0
  6. data/app/controllers/nodes.rb +26 -19
  7. data/app/controllers/roles.rb +37 -44
  8. data/app/controllers/search.rb +13 -13
  9. data/app/helpers/application_helper.rb +34 -0
  10. data/app/views/cookbooks/_cookbook_content.html.haml +7 -0
  11. data/app/views/cookbooks/index.html.haml +22 -7
  12. data/app/views/cookbooks/show.html.haml +8 -50
  13. data/app/views/environments/_form.html.erb +91 -0
  14. data/app/views/environments/_navigation.html.haml +9 -0
  15. data/app/views/environments/_version_selector.html.erb +8 -0
  16. data/app/views/environments/edit.html.erb +17 -0
  17. data/app/views/environments/index.html.haml +26 -0
  18. data/app/views/environments/new.html.erb +17 -0
  19. data/app/views/environments/show.html.haml +31 -0
  20. data/app/views/layout/application.html.haml +22 -13
  21. data/app/views/layout/login.html.haml +2 -2
  22. data/app/views/nodes/_form.html.erb +69 -0
  23. data/app/views/nodes/index.html.haml +6 -2
  24. data/app/views/nodes/show.html.haml +4 -1
  25. data/app/views/roles/_form.html.erb +92 -0
  26. data/app/views/roles/_run_lists.html.erb +26 -0
  27. data/app/views/roles/edit.html.haml +1 -1
  28. data/app/views/roles/new.html.haml +1 -1
  29. data/app/views/roles/show.html.haml +10 -7
  30. data/app/views/status/index.html.haml +2 -1
  31. data/bin/chef-server-webui +1 -0
  32. data/config/router.rb +14 -8
  33. data/lib/chef-server-webui/version.rb +1 -1
  34. data/public/javascripts/chef.js +206 -49
  35. data/public/javascripts/cookbook_constraint_ctrl.js +191 -0
  36. data/public/javascripts/cookbook_versions.js +75 -0
  37. data/public/javascripts/jquery-1.4.4.min.js +167 -0
  38. data/public/javascripts/jquery.suggest.js +250 -0
  39. data/public/stylesheets/base.css +30 -24
  40. data/public/stylesheets/chef.css +212 -45
  41. data/public/stylesheets/jquery.suggest.css +28 -0
  42. data/public/stylesheets/jsonedit_main.css +26 -10
  43. data/public/stylesheets/themes/djime-cerulean/style.css +31 -18
  44. metadata +22 -29
  45. data/app/controllers/cookbook_attributes.rb +0 -41
  46. data/app/controllers/cookbook_definitions.rb +0 -41
  47. data/app/controllers/cookbook_files.rb +0 -39
  48. data/app/controllers/cookbook_libraries.rb +0 -41
  49. data/app/controllers/cookbook_recipes.rb +0 -40
  50. data/app/controllers/cookbook_templates.rb +0 -57
  51. data/app/helpers/cookbook_attributes_helper.rb +0 -7
  52. data/app/helpers/cookbook_definitions_helper.rb +0 -8
  53. data/app/helpers/cookbook_files_helper.rb +0 -8
  54. data/app/helpers/cookbook_libraries_helper.rb +0 -7
  55. data/app/helpers/cookbook_recipes_helper.rb +0 -8
  56. data/app/helpers/cookbook_templates_helper.rb +0 -8
  57. data/app/helpers/exceptions_helper.rb +0 -6
  58. data/app/helpers/global_helpers.rb +0 -39
  59. data/app/helpers/nodes_helper.rb +0 -43
  60. data/app/helpers/openid_consumer_helper.rb +0 -8
  61. data/app/helpers/openid_register_helper.rb +0 -8
  62. data/app/helpers/openid_server_helper.rb +0 -6
  63. data/app/helpers/openid_server_helpers.rb +0 -32
  64. data/app/helpers/roles_helper.rb +0 -5
  65. data/app/helpers/search_entries_helper.rb +0 -8
  66. data/app/helpers/search_helper.rb +0 -44
  67. data/app/views/nodes/_form.html.haml +0 -52
  68. data/app/views/roles/_form.html.haml +0 -52
@@ -11,7 +11,7 @@ a img { border: none; }
11
11
 
12
12
  body {
13
13
  font-size: 12px;
14
- font-family: sans-serif;
14
+ font-family: sans-serif;
15
15
  }
16
16
 
17
17
  #container {
@@ -24,12 +24,12 @@ body {
24
24
 
25
25
  #header {
26
26
  position: relative;
27
- padding-top: 1px;
27
+ padding-top: 1px;
28
28
  }
29
29
 
30
30
  #header h1 {
31
31
  margin: 0;
32
- padding: 10px 0;
32
+ padding: 10px 0;
33
33
  font-size: 30px;
34
34
  }
35
35
 
@@ -37,9 +37,13 @@ body {
37
37
  text-decoration: none;
38
38
  }
39
39
 
40
- #main {
41
- width: 80%;
42
- float: left;
40
+ #main {
41
+ width: 100%;
42
+ float: left;
43
+ }
44
+
45
+ #main.loginPage {
46
+ width: 80%;
43
47
  }
44
48
 
45
49
  .actions-bar {
@@ -58,10 +62,10 @@ body {
58
62
 
59
63
  #sidebar {
60
64
  width: 15%;
61
- float: right;
65
+ float: right;
62
66
  }
63
67
 
64
- #sidebar h3 {
68
+ #sidebar h3 {
65
69
  padding: 10px 15px;
66
70
  margin: 0;
67
71
  font-size: 13px;
@@ -87,6 +91,7 @@ body {
87
91
 
88
92
  #wrapper {
89
93
  padding-top: 20px;
94
+ background: #F4F4F6;
90
95
  }
91
96
 
92
97
  #main .block {
@@ -95,7 +100,7 @@ body {
95
100
  }
96
101
 
97
102
  #main .block .content .inner {
98
- padding: 0 15px 15px;
103
+ padding: 0 15px 15px;
99
104
  }
100
105
 
101
106
  #main .main p.first {
@@ -105,7 +110,7 @@ body {
105
110
  #user-navigation {
106
111
  position: absolute;
107
112
  top: 0px;
108
- right: 20px;
113
+ right: 20px;
109
114
  }
110
115
 
111
116
  #main-navigation {
@@ -119,7 +124,8 @@ body {
119
124
  }
120
125
 
121
126
  #user-navigation ul li, #main-navigation ul li, .secondary-navigation ul li {
122
- float: left;
127
+ float: left;
128
+ padding-top: 0;
123
129
  }
124
130
 
125
131
  #main-navigation ul li {
@@ -127,7 +133,7 @@ body {
127
133
  }
128
134
 
129
135
  #user-navigation ul li {
130
- padding: 5px 10px;
136
+ padding: 60px 10px;
131
137
  }
132
138
 
133
139
  #main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active,
@@ -143,14 +149,14 @@ body {
143
149
  }
144
150
 
145
151
  .secondary-navigation {
146
- font-size: 13px;
152
+ font-size: 13px;
147
153
  border-bottom-width: 10px;
148
154
  border-bottom-style: solid;
149
155
  }
150
156
 
151
157
  .secondary-navigation ul li a {
152
158
  display: block;
153
- padding: 10px 15px;
159
+ padding: 10px 15px;
154
160
  }
155
161
 
156
162
  #footer {
@@ -161,7 +167,7 @@ body {
161
167
 
162
168
  .pagination a, .pagination span {
163
169
  padding: 2px 5px;
164
- margin-right: 5px;
170
+ margin-right: 5px;
165
171
  display: block;
166
172
  float: left;
167
173
  border-style: solid;
@@ -169,17 +175,17 @@ body {
169
175
  }
170
176
 
171
177
  .pagination span.current {
172
- font-weight: bold;
178
+ font-weight: bold;
173
179
  }
174
180
 
175
181
  .pagination a {
176
- text-decoration: none;
182
+ text-decoration: none;
177
183
  }
178
184
 
179
185
  /* tables */
180
186
  .table {
181
187
  width: 100%;
182
- border-collapse: collapse;
188
+ border-collapse: collapse;
183
189
  margin-bottom: 15px;
184
190
  }
185
191
 
@@ -194,7 +200,7 @@ body {
194
200
  }
195
201
 
196
202
  .table th.last {
197
- width: 200px;
203
+ width: 200px;
198
204
  }
199
205
 
200
206
  .table .checkbox {
@@ -261,8 +267,8 @@ input.checkbox {
261
267
  }
262
268
 
263
269
  .form label.label {
264
- display: block;
265
- padding-bottom: 2px;
270
+ display: inline-block;
271
+ padding-bottom: 2px;
266
272
  font-weight: bold;
267
273
  }
268
274
 
@@ -294,7 +300,7 @@ ul.list li {
294
300
  }
295
301
 
296
302
  ul.list li .left {
297
- float: left;
303
+ float: left;
298
304
  }
299
305
 
300
306
  ul.list li .left .avatar {
@@ -317,7 +323,7 @@ ul.list li .item .avatar {
317
323
 
318
324
  #box {
319
325
  width: 500px;
320
- margin: 50px auto;
326
+ margin: 50px auto;
321
327
  }
322
328
 
323
329
  #box .block {
@@ -326,7 +332,7 @@ ul.list li .item .avatar {
326
332
 
327
333
  #box .block h2 {
328
334
  padding: 10px 15px;
329
- margin: 0;
335
+ margin: 0;
330
336
  }
331
337
 
332
338
  #box .block .content {
@@ -17,6 +17,10 @@
17
17
  .ruby .expr { color: #227; }
18
18
  .ruby .escape { color: #277; }
19
19
 
20
+ .todo{
21
+ color:red;
22
+ }
23
+
20
24
  .files {
21
25
  padding-left: 20px;
22
26
  }
@@ -27,7 +31,6 @@
27
31
  }
28
32
 
29
33
  .search td {
30
- /*overflow: auto;*/
31
34
  font-size: 0.8em;
32
35
  }
33
36
 
@@ -49,35 +52,164 @@ dl dt { font-weight: bold; }
49
52
  padding-top: 2px;
50
53
  }
51
54
 
52
- div.sortable {
53
- height: 200px;
54
- width: 350px;
55
- margin-right: 10px;
56
- border: 1px solid black;
57
- overflow-y: scroll;
58
- background: #777777;
55
+ div.roleFormContainer, div.nodeFormContainer, div.environmentFormContainer{
56
+ padding: 0 15px 15px;
57
+ min-width:1050px;
58
+ }
59
+
60
+ div#run_list_editor_container {
61
+ min-height:450px;
62
+ min-width:1050px;
63
+ }
64
+
65
+ div.runListEditorColumn {
66
+ float:left;
67
+ margin-top: 20px;
68
+ }
69
+
70
+ div#current_run_list_display_container{
71
+ margin-left:20px;
72
+ }
73
+
74
+ span#cookbook_constraints_picker{
75
+ float:left;
76
+ margin-left:10px;
77
+ }
78
+
79
+ span#cookbook_constraints_picker select{
80
+ size: 15;
81
+ margin-right:50px;
82
+ }
83
+
84
+ span#environment_run_list_selection_control{
85
+ float:right;
86
+ margin-right:10px;
87
+ }
88
+
89
+ div.runListEditorLabel, div#activeRunListName{
90
+ font-size: 1.2em;
91
+ font-weight: bold;
59
92
  }
60
93
 
61
- div.sortable.run-list {
62
- height: 430px;
63
- width: 350px;
94
+ div.runListEditorLabel{
95
+ padding: 3px 0 5px 0;
96
+ margin: 0;
97
+ color:white;
98
+ background:#005573;
99
+ background: -moz-linear-gradient(top, #007BA7, #005573);
100
+ background:-webkit-gradient(linear, left top, left bottom, from(#007BA7), to(#005573));
101
+ text-shadow: #005573 0px -1px 0px;
102
+ display: block;
103
+ text-align:center;
104
+ }
105
+
106
+ div.activeRunListLabel{
107
+ padding-right:15px;
108
+ padding-left:15px;
109
+ }
110
+
111
+ div#activeRunListName{
112
+ padding:2px;
113
+ text-align:center;
114
+ }
115
+
116
+ div.runListItemListContainer{
117
+ border: 1px solid #999;
118
+ margin-top:5px;
64
119
  margin-right: 10px;
65
- border: 1px solid black;
120
+ box-shadow:2px 2px 2px #dfdfdf;
121
+ /* Safari 5 has a weird problem where these divs increase in width by 15px after updating contents with ajax.
122
+ Problem doesn't occur in webkit nightlies. setting max-width works around.*/
123
+ max-width:360px;
124
+ }
125
+
126
+ div.emptyRunListControlsContainer{
127
+ padding:10px;
128
+ }
129
+
130
+ div.runListAvailableItemContainer, div.runListContainer {
131
+ width: 360px;
66
132
  overflow-y: scroll;
67
- background: #777777;
133
+ background: #eee;
134
+ }
135
+
136
+ div.runListAvailableItemContainer{
137
+ height: 200px;
138
+ }
139
+
140
+ div.runListAvailableItemContainer .spinner{
141
+ position: relative;
142
+ top: 100px;
143
+ left: 0;
144
+ z-index: 1000;
145
+ text-align: center;
68
146
  }
69
147
 
70
- div.run-list ul.ui-sortable#for_node, div.run-list ul.ui-sortable#for_role {
71
- min-height: 420px;
148
+ div.runListContainer{
149
+ height: 407px;
72
150
  }
73
151
 
152
+ div.runListContainerForNode{
153
+ height:432px;
154
+ }
155
+
156
+ div.inactive, ul.inactive{
157
+ display:none;
158
+ }
159
+
160
+ ul.runListAvailableItemList, ul.runListItemList {
161
+ padding:5px 0px 0px 0px;
162
+ min-height:185px;
163
+ width:100%;
164
+ list-style-type: none;
165
+ margin: 0px;
166
+ }
167
+
168
+ ul.runListItemList{
169
+ min-height:405.5px;
170
+ }
171
+
172
+ ul#for_node.runListItemList{
173
+ min-height:420.5px;
174
+ }
175
+
176
+ li.runListItem{
177
+ margin: 0px 5px 5px 5px;
178
+ padding: 5px;
179
+ width: 93%;
180
+ overflow:hidden;
181
+ cursor:pointer;
182
+ }
183
+
184
+ li.displayRunListItem{
185
+ padding: 5px 5px 5px 5px;
186
+ margin: 0px 5px 0px 5px;
187
+ width: 93%;
188
+ border-bottom:1px solid #eee;
189
+ }
190
+
191
+ div.cloneRunListOption{
192
+ padding: 5px 5px 5px 5px;
193
+ margin: 0px 5px 0px 5px;
194
+ width: 93%;
195
+ }
196
+
197
+ div.runListAdditionalControls{
198
+ min-height:15px;
199
+ padding:5px;
200
+ color:#fff;
201
+ background:#005573;
202
+ background:-webkit-gradient(linear, left top, left bottom, from(#006589), to(#005573));
203
+ }
204
+ div.runListAdditionalControls a{
205
+ color:#fff;
206
+ }
74
207
 
75
208
  div.clear {
76
209
  clear: left;
77
210
  }
78
211
 
79
212
  table.form th {
80
- /* vertical-align: top; */
81
213
  font-weight: bold;
82
214
  text-align: right;
83
215
  padding-right: 10px;
@@ -91,7 +223,6 @@ div.help {
91
223
 
92
224
  table.form td {
93
225
  text-align: left;
94
- /* vertical-align: top; */
95
226
  }
96
227
 
97
228
  table.sortable td {
@@ -121,7 +252,7 @@ div#tree {
121
252
  float: left;
122
253
  }
123
254
 
124
- div#jform {
255
+ div#jform {
125
256
  float: left;
126
257
  margin-left: 50px;
127
258
  }
@@ -130,23 +261,17 @@ div.editor {
130
261
  border: 1px solid black;
131
262
  }
132
263
 
133
- #node_available_roles, #node_available_recipes, #for_node, #for_role, #available_recipes {
134
- list-style-type: none;
135
- margin: 0;
136
- padding: 0;
137
- float: left;
138
- margin-right: 10px;
139
- background: #eee;
140
- padding: 5px;
141
- width: 325px;
142
- min-height:200px;
264
+ div.attrEditor{
265
+ clear:both;
143
266
  }
144
267
 
145
- #node_available_roles li, #node_available_recipes li, #for_node li, #for_role li, #available_recipes li {
146
- margin: 0 5px 5px 5px;
147
- padding: 5px;
148
- width: 310px;
149
- overflow:hidden;
268
+ div.attrEditor #treecontainer, div.attrEditor #tabcontainer{
269
+ float:left;
270
+ }
271
+
272
+ div.attrEditor #tabcontainer{
273
+ position:relative;
274
+ top:0px;
150
275
  }
151
276
 
152
277
  #sidebar_block {
@@ -157,21 +282,63 @@ div.editor {
157
282
  display: none;
158
283
  }
159
284
 
160
- div.tooltip {
161
- background-color: #000;
162
- outline: 1px solid #669;
163
- border: 2px solid #fff;
164
- padding: 10px 15px;
285
+ div.tooltip {
286
+ background-color: #000;
287
+ outline: 1px solid #669;
288
+ border: 2px solid #fff;
289
+ padding: 10px 15px;
165
290
  /* width: 200px; */
166
- display: none;
167
- color: #fff;
168
- text-align: left;
169
- font-size: 12px;
170
- outline-radius: 4px;
171
- -moz-outline-radius: 4px;
172
- -webkit-outline-radius: 4px;
291
+ display: none;
292
+ color: #fff;
293
+ text-align: left;
294
+ font-size: 12px;
295
+ outline-radius: 4px;
296
+ -moz-outline-radius: 4px;
297
+ -webkit-outline-radius: 4px;
173
298
  }
174
299
 
175
300
  table.tooltip {
176
301
  width: 190px;
177
302
  }
303
+
304
+ h1 a, h1 label, h1 .title-select {
305
+ display: inline-block;
306
+ vertical-align: middle;
307
+ }
308
+
309
+ h1 label {
310
+ font-size: 12px;
311
+ color: #F7F7F8;
312
+ padding-left: 10px;
313
+ }
314
+
315
+ .cookbook_version_constraints_cb_name{
316
+ width:80%;
317
+ }
318
+
319
+ a.cookbook_version_toggle{
320
+ text-decoration:none;
321
+ font-weight:bold;
322
+ font-size: 24px;
323
+ }
324
+
325
+ ul.cookbook_versions{
326
+ list-style-type:none;
327
+ }
328
+
329
+ #cookbook_version_table{
330
+ width: auto;
331
+ }
332
+
333
+ tbody.cookbook_versions td {
334
+ vertical-align:top;
335
+ }
336
+
337
+ .invalid_version_error {
338
+ color: red;
339
+ font-weight: bold;
340
+ }
341
+
342
+ #cbVerAddRow td {
343
+ background: #c1c8d2;
344
+ }