chef-server-webui 0.9.18 → 0.10.0.beta.0
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.
- data/README.rdoc +0 -4
- data/Rakefile +10 -0
- data/app/controllers/application.rb +34 -6
- data/app/controllers/cookbooks.rb +125 -35
- data/app/controllers/environments.rb +235 -0
- data/app/controllers/nodes.rb +26 -19
- data/app/controllers/roles.rb +37 -44
- data/app/controllers/search.rb +13 -13
- data/app/helpers/application_helper.rb +34 -0
- data/app/views/cookbooks/_cookbook_content.html.haml +7 -0
- data/app/views/cookbooks/index.html.haml +22 -7
- data/app/views/cookbooks/show.html.haml +8 -50
- data/app/views/environments/_form.html.erb +91 -0
- data/app/views/environments/_navigation.html.haml +9 -0
- data/app/views/environments/_version_selector.html.erb +8 -0
- data/app/views/environments/edit.html.erb +17 -0
- data/app/views/environments/index.html.haml +26 -0
- data/app/views/environments/new.html.erb +17 -0
- data/app/views/environments/show.html.haml +31 -0
- data/app/views/layout/application.html.haml +22 -13
- data/app/views/layout/login.html.haml +2 -2
- data/app/views/nodes/_form.html.erb +69 -0
- data/app/views/nodes/index.html.haml +6 -2
- data/app/views/nodes/show.html.haml +4 -1
- data/app/views/roles/_form.html.erb +92 -0
- data/app/views/roles/_run_lists.html.erb +26 -0
- data/app/views/roles/edit.html.haml +1 -1
- data/app/views/roles/new.html.haml +1 -1
- data/app/views/roles/show.html.haml +10 -7
- data/app/views/status/index.html.haml +2 -1
- data/bin/chef-server-webui +1 -0
- data/config/router.rb +14 -8
- data/lib/chef-server-webui/version.rb +1 -1
- data/public/javascripts/chef.js +206 -49
- data/public/javascripts/cookbook_constraint_ctrl.js +191 -0
- data/public/javascripts/cookbook_versions.js +75 -0
- data/public/javascripts/jquery-1.4.4.min.js +167 -0
- data/public/javascripts/jquery.suggest.js +250 -0
- data/public/stylesheets/base.css +30 -24
- data/public/stylesheets/chef.css +212 -45
- data/public/stylesheets/jquery.suggest.css +28 -0
- data/public/stylesheets/jsonedit_main.css +26 -10
- data/public/stylesheets/themes/djime-cerulean/style.css +31 -18
- metadata +22 -29
- data/app/controllers/cookbook_attributes.rb +0 -41
- data/app/controllers/cookbook_definitions.rb +0 -41
- data/app/controllers/cookbook_files.rb +0 -39
- data/app/controllers/cookbook_libraries.rb +0 -41
- data/app/controllers/cookbook_recipes.rb +0 -40
- data/app/controllers/cookbook_templates.rb +0 -57
- data/app/helpers/cookbook_attributes_helper.rb +0 -7
- data/app/helpers/cookbook_definitions_helper.rb +0 -8
- data/app/helpers/cookbook_files_helper.rb +0 -8
- data/app/helpers/cookbook_libraries_helper.rb +0 -7
- data/app/helpers/cookbook_recipes_helper.rb +0 -8
- data/app/helpers/cookbook_templates_helper.rb +0 -8
- data/app/helpers/exceptions_helper.rb +0 -6
- data/app/helpers/global_helpers.rb +0 -39
- data/app/helpers/nodes_helper.rb +0 -43
- data/app/helpers/openid_consumer_helper.rb +0 -8
- data/app/helpers/openid_register_helper.rb +0 -8
- data/app/helpers/openid_server_helper.rb +0 -6
- data/app/helpers/openid_server_helpers.rb +0 -32
- data/app/helpers/roles_helper.rb +0 -5
- data/app/helpers/search_entries_helper.rb +0 -8
- data/app/helpers/search_helper.rb +0 -44
- data/app/views/nodes/_form.html.haml +0 -52
- data/app/views/roles/_form.html.haml +0 -52
data/public/stylesheets/base.css
CHANGED
@@ -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:
|
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:
|
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 {
|
data/public/stylesheets/chef.css
CHANGED
@@ -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.
|
53
|
-
|
54
|
-
width:
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
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.
|
62
|
-
|
63
|
-
|
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
|
-
|
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: #
|
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.
|
71
|
-
|
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
|
-
|
134
|
-
|
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
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
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
|
+
}
|