Show More
@@ -1,409 +1,419 b'' | |||||
1 |
|
1 | |||
2 | // Contains the style definitions used for .main-content |
|
2 | // Contains the style definitions used for .main-content | |
3 | // elements which are mainly around the admin settings. |
|
3 | // elements which are mainly around the admin settings. | |
4 |
|
4 | |||
5 |
|
5 | |||
6 | // TODO: johbo: Integrate in a better way, this is for "main content" which |
|
6 | // TODO: johbo: Integrate in a better way, this is for "main content" which | |
7 | // should not have a limit on the width. |
|
7 | // should not have a limit on the width. | |
8 | .main-content-full { |
|
8 | .main-content-full { | |
9 | clear: both; |
|
9 | clear: both; | |
10 | } |
|
10 | } | |
11 |
|
11 | |||
12 |
|
12 | |||
13 | .main-content { |
|
13 | .main-content { | |
14 | max-width: @maincontent-maxwidth; |
|
14 | max-width: @maincontent-maxwidth; | |
15 |
|
15 | |||
16 | h3, |
|
16 | h3, | |
17 | // TODO: johbo: Change templates to use h3 instead of h4 here |
|
17 | // TODO: johbo: Change templates to use h3 instead of h4 here | |
18 | h4 { |
|
18 | h4 { | |
19 | line-height: 1em; |
|
19 | line-height: 1em; | |
20 | } |
|
20 | } | |
21 |
|
21 | |||
22 | // TODO: johbo: Check if we can do that on a global level |
|
22 | // TODO: johbo: Check if we can do that on a global level | |
23 | table { |
|
23 | table { | |
24 | th { |
|
24 | th { | |
25 | padding: 0; |
|
25 | padding: 0; | |
26 | } |
|
26 | } | |
27 | td.field{ |
|
27 | td.field{ | |
28 | .help-block{ |
|
28 | .help-block{ | |
29 | margin-left: 0; |
|
29 | margin-left: 0; | |
30 | } |
|
30 | } | |
31 | } |
|
31 | } | |
32 | } |
|
32 | } | |
33 |
|
33 | |||
34 | // TODO: johbo: Tweak this into the general styling, for a full width |
|
34 | // TODO: johbo: Tweak this into the general styling, for a full width | |
35 | // textarea |
|
35 | // textarea | |
36 | .textarea-full { |
|
36 | .textarea-full { | |
37 | // 2x 10px padding and 2x 1px border |
|
37 | // 2x 10px padding and 2x 1px border | |
38 | margin-right: 22px; |
|
38 | margin-right: 22px; | |
39 | } |
|
39 | } | |
40 |
|
40 | |||
41 | } |
|
41 | } | |
42 |
|
42 | |||
43 |
|
43 | |||
44 | // TODO: johbo: duplicated, think about a mixins.less |
|
44 | // TODO: johbo: duplicated, think about a mixins.less | |
45 | .block-left{ |
|
45 | .block-left{ | |
46 | float: left; |
|
46 | float: left; | |
47 | } |
|
47 | } | |
48 |
|
48 | |||
49 | .form { |
|
49 | .form { | |
50 | .checkboxes { |
|
50 | .checkboxes { | |
51 | // TODO: johbo: Should be changed in .checkboxes already |
|
51 | // TODO: johbo: Should be changed in .checkboxes already | |
52 | width: auto; |
|
52 | width: auto; | |
53 | } |
|
53 | } | |
54 |
|
54 | |||
55 | // TODO: johbo: some settings pages are broken and don't have the .buttons |
|
55 | // TODO: johbo: some settings pages are broken and don't have the .buttons | |
56 | // inside the .fields, tweak those templates and remove this. |
|
56 | // inside the .fields, tweak those templates and remove this. | |
57 | .buttons { |
|
57 | .buttons { | |
58 | margin-top: @textmargin; |
|
58 | margin-top: @textmargin; | |
59 | } |
|
59 | } | |
60 |
|
60 | |||
61 | .help-block { |
|
61 | .help-block { | |
62 | display: block; |
|
62 | display: block; | |
63 | margin-left: @label-width; |
|
63 | margin-left: @label-width; | |
64 | &.pre-formatting { |
|
64 | &.pre-formatting { | |
65 | white-space: pre; |
|
65 | white-space: pre; | |
66 | } |
|
66 | } | |
67 | } |
|
67 | } | |
68 |
|
68 | |||
69 | .action_button { |
|
69 | .action_button { | |
70 | color: @grey4; |
|
70 | color: @grey4; | |
71 | } |
|
71 | } | |
72 | } |
|
72 | } | |
73 |
|
73 | |||
74 | .main-content-full-width { |
|
74 | .main-content-full-width { | |
75 | .main-content; |
|
75 | .main-content; | |
76 | width: 100%; |
|
76 | width: 100%; | |
77 | min-width: 100%; |
|
77 | min-width: 100%; | |
78 | } |
|
78 | } | |
79 |
|
79 | |||
80 | .main-content-auto-width { |
|
80 | .main-content-auto-width { | |
81 | .main-content; |
|
81 | .main-content; | |
82 | width: auto; |
|
82 | width: auto; | |
83 | min-width: 100%; |
|
83 | min-width: 100%; | |
84 | max-width: inherit; |
|
84 | max-width: inherit; | |
85 | } |
|
85 | } | |
86 |
|
86 | |||
87 | .field { |
|
87 | .field { | |
88 | clear: left; |
|
88 | clear: left; | |
89 | margin-bottom: @padding; |
|
89 | margin-bottom: @padding; | |
90 |
|
90 | |||
91 | } |
|
91 | } | |
92 |
|
92 | |||
93 | .input-monospace { |
|
93 | .input-monospace { | |
94 | font-family: @text-monospace; |
|
94 | font-family: @text-monospace; | |
95 | } |
|
95 | } | |
96 |
|
96 | |||
97 | .fields { |
|
97 | .fields { | |
98 | label { |
|
98 | label { | |
99 | color: @grey2; |
|
99 | color: @grey2; | |
100 | } |
|
100 | } | |
101 |
|
101 | |||
102 | .field { |
|
102 | .field { | |
103 | clear: right; |
|
103 | clear: right; | |
104 | margin-bottom: @textmargin; |
|
104 | margin-bottom: @textmargin; | |
105 | width: 100%; |
|
105 | width: 100%; | |
106 |
|
106 | |||
107 | .label { |
|
107 | .label { | |
108 | float: left; |
|
108 | float: left; | |
109 | margin-right: @form-vertical-margin; |
|
109 | margin-right: @form-vertical-margin; | |
110 | margin-top: 0; |
|
110 | margin-top: 0; | |
111 | padding-top: @input-padding-px + @border-thickness-inputs; |
|
111 | padding-top: @input-padding-px + @border-thickness-inputs; | |
112 | width: @label-width - @form-vertical-margin; |
|
112 | width: @label-width - @form-vertical-margin; | |
113 | } |
|
113 | } | |
114 | // used in forms for fields that show just text |
|
114 | // used in forms for fields that show just text | |
115 | .label-text { |
|
115 | .label-text { | |
116 | .label; |
|
116 | .label; | |
117 | padding-top: 5px; |
|
117 | padding-top: 5px; | |
118 | } |
|
118 | } | |
119 | .label-branch-perm { |
|
119 | .label-branch-perm { | |
120 | .label; |
|
120 | .label; | |
121 | width: 115px; |
|
121 | width: 115px; | |
122 | } |
|
122 | } | |
123 |
|
123 | |||
124 | // Used to position content on the right side of a .label |
|
124 | // Used to position content on the right side of a .label | |
125 | .content, |
|
125 | .content, | |
126 | .side-by-side-selector { |
|
126 | .side-by-side-selector { | |
127 | padding-top: @input-padding-px + @input-border-thickness; |
|
127 | padding-top: @input-padding-px + @input-border-thickness; | |
128 | } |
|
128 | } | |
129 |
|
129 | |||
130 | .checkboxes, |
|
130 | .checkboxes, | |
131 | .input, |
|
131 | .input, | |
132 | .select, |
|
132 | .select, | |
133 | .textarea, |
|
133 | .textarea, | |
134 | .content { |
|
134 | .content { | |
135 | float: none; |
|
135 | float: none; | |
136 | margin-left: @label-width; |
|
136 | margin-left: @label-width; | |
137 |
|
137 | |||
138 | .help-block { |
|
138 | .help-block { | |
139 | margin-left: 0; |
|
139 | margin-left: 0; | |
140 | } |
|
140 | } | |
141 | } |
|
141 | } | |
142 |
|
142 | |||
143 | .input-branch-perm { |
|
143 | .input-branch-perm { | |
144 | .input; |
|
144 | .input; | |
145 | margin-left: 140px; |
|
145 | margin-left: 140px; | |
146 | } |
|
146 | } | |
147 |
|
147 | |||
148 | .input-branch-perm-order { |
|
148 | .input-branch-perm-order { | |
149 | width: 40px; |
|
149 | width: 40px; | |
150 | } |
|
150 | } | |
151 |
|
151 | |||
152 | .checkboxes, |
|
152 | .checkboxes, | |
153 | .input, |
|
153 | .input, | |
154 | .select { |
|
154 | .select { | |
155 | .help-block { |
|
155 | .help-block { | |
156 | display: block; |
|
156 | display: block; | |
157 | } |
|
157 | } | |
158 | } |
|
158 | } | |
159 |
|
159 | |||
160 | .checkboxes, |
|
160 | .checkboxes, | |
161 | .radios { |
|
161 | .radios { | |
162 | // TODO: johbo: We get a 4px margin from the from-bootstrap, |
|
162 | // TODO: johbo: We get a 4px margin from the from-bootstrap, | |
163 | // compensating here to align well with labels on the left. |
|
163 | // compensating here to align well with labels on the left. | |
164 | padding-top: @input-padding-px + @input-border-thickness - 3px; |
|
164 | padding-top: @input-padding-px + @input-border-thickness - 3px; | |
165 | } |
|
165 | } | |
166 |
|
166 | |||
167 | .checkbox, |
|
167 | .checkbox, | |
168 | .radio { |
|
168 | .radio { | |
169 | display: block; |
|
169 | display: block; | |
170 | width: auto; |
|
170 | width: auto; | |
171 | } |
|
171 | } | |
172 |
|
172 | |||
173 | .checkbox + .checkbox { |
|
173 | .checkbox + .checkbox { | |
174 | display: block; |
|
174 | display: block; | |
175 | } |
|
175 | } | |
176 |
|
176 | |||
177 | .input, |
|
177 | .input, | |
178 | .select { |
|
178 | .select { | |
179 | .help-block, |
|
179 | .help-block, | |
180 | .info-block { |
|
180 | .info-block { | |
181 | margin-top: @form-vertical-margin / 2; |
|
181 | margin-top: @form-vertical-margin / 2; | |
182 | } |
|
182 | } | |
183 | } |
|
183 | } | |
184 |
|
184 | |||
185 | .input { |
|
185 | .input { | |
186 | .branch-perm { |
|
186 | .branch-perm { | |
187 | width: 80px; |
|
187 | width: 80px; | |
188 | } |
|
188 | } | |
189 | .medium { |
|
189 | .medium { | |
190 | width: @fields-input-m; |
|
190 | width: @fields-input-m; | |
191 | } |
|
191 | } | |
192 | .large { |
|
192 | .large { | |
193 | width: @fields-input-l; |
|
193 | width: @fields-input-l; | |
194 | } |
|
194 | } | |
195 |
|
195 | |||
196 | .text-as-placeholder { |
|
196 | .text-as-placeholder { | |
197 | padding-top: @input-padding-px + @border-thickness-inputs; |
|
197 | padding-top: @input-padding-px + @border-thickness-inputs; | |
198 | } |
|
198 | } | |
|
199 | ||||
|
200 | .no-border { | |||
|
201 | border: 1px; | |||
|
202 | } | |||
|
203 | ||||
|
204 | .no-horizontal-padding { | |||
|
205 | padding-left: 0; | |||
|
206 | padding-right: 0; | |||
|
207 | } | |||
|
208 | ||||
199 | } |
|
209 | } | |
200 |
|
210 | |||
201 | // TODO: johbo: Try to find a better integration of this bit. |
|
211 | // TODO: johbo: Try to find a better integration of this bit. | |
202 | // When using a select2 inside of a field, it should not have the |
|
212 | // When using a select2 inside of a field, it should not have the | |
203 | // top margin. |
|
213 | // top margin. | |
204 | .select .drop-menu { |
|
214 | .select .drop-menu { | |
205 | margin-top: 0; |
|
215 | margin-top: 0; | |
206 | } |
|
216 | } | |
207 |
|
217 | |||
208 | .textarea { |
|
218 | .textarea { | |
209 | float: none; |
|
219 | float: none; | |
210 |
|
220 | |||
211 | textarea { |
|
221 | textarea { | |
212 | // TODO: johbo: From somewhere we get a clear which does |
|
222 | // TODO: johbo: From somewhere we get a clear which does | |
213 | // more harm than good here. |
|
223 | // more harm than good here. | |
214 | clear: none; |
|
224 | clear: none; | |
215 | } |
|
225 | } | |
216 |
|
226 | |||
217 | .CodeMirror { |
|
227 | .CodeMirror { | |
218 | // TODO: johbo: Tweak to position the .help-block nicer, |
|
228 | // TODO: johbo: Tweak to position the .help-block nicer, | |
219 | // figure out how to apply for .text-block instead. |
|
229 | // figure out how to apply for .text-block instead. | |
220 | margin-bottom: 10px; |
|
230 | margin-bottom: 10px; | |
221 | } |
|
231 | } | |
222 |
|
232 | |||
223 | // TODO: johbo: Check if we can remove the grey background on |
|
233 | // TODO: johbo: Check if we can remove the grey background on | |
224 | // the global level and remove this if possible. |
|
234 | // the global level and remove this if possible. | |
225 | .help-block { |
|
235 | .help-block { | |
226 | background: transparent; |
|
236 | background: transparent; | |
227 | padding: 0; |
|
237 | padding: 0; | |
228 | } |
|
238 | } | |
229 | } |
|
239 | } | |
230 |
|
240 | |||
231 | &.tag_patterns, |
|
241 | &.tag_patterns, | |
232 | &.branch_patterns { |
|
242 | &.branch_patterns { | |
233 |
|
243 | |||
234 | input { |
|
244 | input { | |
235 | max-width: 430px; |
|
245 | max-width: 430px; | |
236 | } |
|
246 | } | |
237 | } |
|
247 | } | |
238 | } |
|
248 | } | |
239 |
|
249 | |||
240 | .field-sm { |
|
250 | .field-sm { | |
241 | .label { |
|
251 | .label { | |
242 | padding-top: @input-padding-px / 2 + @input-border-thickness; |
|
252 | padding-top: @input-padding-px / 2 + @input-border-thickness; | |
243 | } |
|
253 | } | |
244 | .checkboxes, |
|
254 | .checkboxes, | |
245 | .radios { |
|
255 | .radios { | |
246 | // TODO: johbo: We get a 4px margin from the from-bootstrap, |
|
256 | // TODO: johbo: We get a 4px margin from the from-bootstrap, | |
247 | // compensating here to align well with labels on the left. |
|
257 | // compensating here to align well with labels on the left. | |
248 | padding-top: @input-padding-px / 2 + @input-border-thickness - 3px; |
|
258 | padding-top: @input-padding-px / 2 + @input-border-thickness - 3px; | |
249 | } |
|
259 | } | |
250 | } |
|
260 | } | |
251 |
|
261 | |||
252 | .field.customhooks { |
|
262 | .field.customhooks { | |
253 | .label { |
|
263 | .label { | |
254 | padding-top: 0; |
|
264 | padding-top: 0; | |
255 | } |
|
265 | } | |
256 | .input-wrapper { |
|
266 | .input-wrapper { | |
257 | padding-right: 25px; |
|
267 | padding-right: 25px; | |
258 |
|
268 | |||
259 | input { |
|
269 | input { | |
260 | width: 100%; |
|
270 | width: 100%; | |
261 | } |
|
271 | } | |
262 | } |
|
272 | } | |
263 | .input { |
|
273 | .input { | |
264 | padding-right: 25px; |
|
274 | padding-right: 25px; | |
265 | } |
|
275 | } | |
266 | } |
|
276 | } | |
267 |
|
277 | |||
268 | .buttons { |
|
278 | .buttons { | |
269 | // TODO: johbo: define variable for this value. |
|
279 | // TODO: johbo: define variable for this value. | |
270 | // Note that this should be 40px but since most elements add some |
|
280 | // Note that this should be 40px but since most elements add some | |
271 | // space in the bottom, we are with 20 closer to 40. |
|
281 | // space in the bottom, we are with 20 closer to 40. | |
272 | margin-top: 20px; |
|
282 | margin-top: 20px; | |
273 | clear: both; |
|
283 | clear: both; | |
274 | margin-bottom: @padding; |
|
284 | margin-bottom: @padding; | |
275 | } |
|
285 | } | |
276 |
|
286 | |||
277 | .desc{ |
|
287 | .desc{ | |
278 | margin-right: @textmargin; |
|
288 | margin-right: @textmargin; | |
279 | } |
|
289 | } | |
280 |
|
290 | |||
281 | input, |
|
291 | input, | |
282 | .drop-menu { |
|
292 | .drop-menu { | |
283 | margin-right: @padding/3; |
|
293 | margin-right: @padding/3; | |
284 | } |
|
294 | } | |
285 |
|
295 | |||
286 | } |
|
296 | } | |
287 |
|
297 | |||
288 | .form-vertical .fields .field { |
|
298 | .form-vertical .fields .field { | |
289 |
|
299 | |||
290 | .label { |
|
300 | .label { | |
291 | float: none; |
|
301 | float: none; | |
292 | width: auto; |
|
302 | width: auto; | |
293 | } |
|
303 | } | |
294 |
|
304 | |||
295 | .checkboxes, |
|
305 | .checkboxes, | |
296 | .input, |
|
306 | .input, | |
297 | .select, |
|
307 | .select, | |
298 | .textarea { |
|
308 | .textarea { | |
299 | margin-left: 0; |
|
309 | margin-left: 0; | |
300 | } |
|
310 | } | |
301 |
|
311 | |||
302 | // TODO: johbo: had to tweak the width here to make it big enough for |
|
312 | // TODO: johbo: had to tweak the width here to make it big enough for | |
303 | // the license. |
|
313 | // the license. | |
304 | .textarea.editor { |
|
314 | .textarea.editor { | |
305 | max-width: none; |
|
315 | max-width: none; | |
306 | } |
|
316 | } | |
307 |
|
317 | |||
308 | .textarea.large textarea { |
|
318 | .textarea.large textarea { | |
309 | min-height: 200px; |
|
319 | min-height: 200px; | |
310 | } |
|
320 | } | |
311 |
|
321 | |||
312 | .help-block { |
|
322 | .help-block { | |
313 | margin-left: 0; |
|
323 | margin-left: 0; | |
314 | } |
|
324 | } | |
315 | } |
|
325 | } | |
316 |
|
326 | |||
317 |
|
327 | |||
318 |
|
328 | |||
319 |
|
329 | |||
320 | .main-content { |
|
330 | .main-content { | |
321 | .block-left; |
|
331 | .block-left; | |
322 |
|
332 | |||
323 | .section { |
|
333 | .section { | |
324 | margin-bottom: @space; |
|
334 | margin-bottom: @space; | |
325 | } |
|
335 | } | |
326 |
|
336 | |||
327 |
|
337 | |||
328 | // Table aligning same way as forms in admin section, e.g. |
|
338 | // Table aligning same way as forms in admin section, e.g. | |
329 | // python packages table |
|
339 | // python packages table | |
330 | table.formalign { |
|
340 | table.formalign { | |
331 | float: left; |
|
341 | float: left; | |
332 | width: auto; |
|
342 | width: auto; | |
333 |
|
343 | |||
334 | .label { |
|
344 | .label { | |
335 | width: @label-width; |
|
345 | width: @label-width; | |
336 | } |
|
346 | } | |
337 |
|
347 | |||
338 | } |
|
348 | } | |
339 |
|
349 | |||
340 |
|
350 | |||
341 | table.issuetracker { |
|
351 | table.issuetracker { | |
342 |
|
352 | |||
343 | color: @text-color; |
|
353 | color: @text-color; | |
344 |
|
354 | |||
345 | .issue-tracker-example { |
|
355 | .issue-tracker-example { | |
346 | color: @grey4; |
|
356 | color: @grey4; | |
347 | } |
|
357 | } | |
348 | } |
|
358 | } | |
349 |
|
359 | |||
350 | .side-by-side-selector{ |
|
360 | .side-by-side-selector{ | |
351 | .left-group, |
|
361 | .left-group, | |
352 | .middle-group, |
|
362 | .middle-group, | |
353 | .right-group{ |
|
363 | .right-group{ | |
354 | float: left; |
|
364 | float: left; | |
355 | } |
|
365 | } | |
356 |
|
366 | |||
357 | .left-group, |
|
367 | .left-group, | |
358 | .right-group{ |
|
368 | .right-group{ | |
359 | width: 45%; |
|
369 | width: 45%; | |
360 | text-align: center; |
|
370 | text-align: center; | |
361 |
|
371 | |||
362 | label{ |
|
372 | label{ | |
363 | width: 100%; |
|
373 | width: 100%; | |
364 | text-align: left; |
|
374 | text-align: left; | |
365 | } |
|
375 | } | |
366 |
|
376 | |||
367 | select{ |
|
377 | select{ | |
368 | width: 100%; |
|
378 | width: 100%; | |
369 | background: none; |
|
379 | background: none; | |
370 | border-color: @border-highlight-color; |
|
380 | border-color: @border-highlight-color; | |
371 | color: @text-color; |
|
381 | color: @text-color; | |
372 | font-family: @text-light; |
|
382 | font-family: @text-light; | |
373 | font-size: @basefontsize; |
|
383 | font-size: @basefontsize; | |
374 | color: @grey1; |
|
384 | color: @grey1; | |
375 | padding: @textmargin/2; |
|
385 | padding: @textmargin/2; | |
376 | } |
|
386 | } | |
377 |
|
387 | |||
378 | select:after{ |
|
388 | select:after{ | |
379 | content: ""; |
|
389 | content: ""; | |
380 | } |
|
390 | } | |
381 |
|
391 | |||
382 | } |
|
392 | } | |
383 |
|
393 | |||
384 | .middle-group{ |
|
394 | .middle-group{ | |
385 | width: 10%; |
|
395 | width: 10%; | |
386 | text-align: center; |
|
396 | text-align: center; | |
387 | padding-top: 4em; |
|
397 | padding-top: 4em; | |
388 | i { |
|
398 | i { | |
389 | font-size: 18px; |
|
399 | font-size: 18px; | |
390 | cursor: pointer; |
|
400 | cursor: pointer; | |
391 | line-height: 2em; |
|
401 | line-height: 2em; | |
392 | } |
|
402 | } | |
393 | } |
|
403 | } | |
394 |
|
404 | |||
395 | } |
|
405 | } | |
396 |
|
406 | |||
397 | .permissions_boxes{ |
|
407 | .permissions_boxes{ | |
398 | label, .label{ |
|
408 | label, .label{ | |
399 | margin-right: @textmargin/2; |
|
409 | margin-right: @textmargin/2; | |
400 | } |
|
410 | } | |
401 | } |
|
411 | } | |
402 |
|
412 | |||
403 | .radios{ |
|
413 | .radios{ | |
404 | label{ |
|
414 | label{ | |
405 | margin-right: @textmargin; |
|
415 | margin-right: @textmargin; | |
406 | } |
|
416 | } | |
407 | } |
|
417 | } | |
408 | } |
|
418 | } | |
409 |
|
419 |
@@ -1,148 +1,148 b'' | |||||
1 | // variables for use in all RhodeCode products |
|
1 | // variables for use in all RhodeCode products | |
2 |
|
2 | |||
3 | // FONTS |
|
3 | // FONTS | |
4 | //Primary Colors (brand) |
|
4 | //Primary Colors (brand) | |
5 | @rcblue: #427cc9; //RhodeCode blue |
|
5 | @rcblue: #427cc9; //RhodeCode blue | |
6 | @rcdarkblue: #305b91; //RhodeCode dark blue |
|
6 | @rcdarkblue: #305b91; //RhodeCode dark blue | |
7 | @rclightblue: lighten(@rcblue, 30%); |
|
7 | @rclightblue: lighten(@rcblue, 30%); | |
8 | @rchighlightblue: lighten(@rcblue, 35%); |
|
8 | @rchighlightblue: lighten(@rcblue, 35%); | |
9 |
|
9 | |||
10 | // Secondary Colors (greyscale) |
|
10 | // Secondary Colors (greyscale) | |
11 | @grey1: #202020; //midnight |
|
11 | @grey1: #202020; //midnight | |
12 | @grey2: #323232; //charcoal |
|
12 | @grey2: #323232; //charcoal | |
13 | @grey3: #666666; //tungsten |
|
13 | @grey3: #666666; //tungsten | |
14 | @grey4: #979797; //light grey |
|
14 | @grey4: #979797; //light grey | |
15 | @grey5: #dbd9da; //greyish |
|
15 | @grey5: #dbd9da; //greyish | |
16 | @grey6: #eeeeee; //silver |
|
16 | @grey6: #eeeeee; //silver | |
17 | @grey7: #f9f9f9; //light silver |
|
17 | @grey7: #f9f9f9; //light silver | |
18 |
|
18 | |||
19 | // special for navigation |
|
19 | // special for navigation | |
20 | @nav-grey: #CDCCCD; |
|
20 | @nav-grey: #CDCCCD; | |
21 |
|
21 | |||
22 | @grey5-alpha: rgba(219, 217, 218, 0.3); |
|
22 | @grey5-alpha: rgba(219, 217, 218, 0.3); | |
23 |
|
23 | |||
24 | // Tertiary Colors |
|
24 | // Tertiary Colors | |
25 | @color1: #879938; //olive green |
|
25 | @color1: #879938; //olive green | |
26 | @color2: #fcc93a; //bright yellow |
|
26 | @color2: #fcc93a; //bright yellow | |
27 | @color3: #ff9e07; //orange-yellow |
|
27 | @color3: #ff9e07; //orange-yellow | |
28 | @color4: #fc663a; //bright orange |
|
28 | @color4: #fc663a; //bright orange | |
29 | @color5: #d63d44; //signal red |
|
29 | @color5: #d63d44; //signal red | |
30 | @color6: #99287c; //violet |
|
30 | @color6: #99287c; //violet | |
31 | @color7: #682668; //dark purple |
|
31 | @color7: #682668; //dark purple | |
32 | @color8: #194f8e; //dark blue |
|
32 | @color8: #194f8e; //dark blue | |
33 |
|
33 | |||
34 | // Alert Colors (bright) |
|
34 | // Alert Colors (bright) | |
35 | @alert1: #0ac878; //bright green |
|
35 | @alert1: #0ac878; //bright green | |
36 | @alert2: #e85e4d; //soft red |
|
36 | @alert2: #e85e4d; //soft red | |
37 | @alert3: #ffc854; //corn yellow |
|
37 | @alert3: #ffc854; //corn yellow | |
38 | @alert4: #84a5d2; //light blue |
|
38 | @alert4: #84a5d2; //light blue | |
39 |
|
39 | |||
40 | // Alert Inner Colors |
|
40 | // Alert Inner Colors | |
41 | @alert1-inner: #daf7eb; //bright green |
|
41 | @alert1-inner: #daf7eb; //bright green | |
42 | @alert2-inner: #fbdfdb; //soft red |
|
42 | @alert2-inner: #fbdfdb; //soft red | |
43 | @alert3-inner: #fff4dd; //corn yellow |
|
43 | @alert3-inner: #fff4dd; //corn yellow | |
44 | @alert4-inner: #e6edf6; //light blue |
|
44 | @alert4-inner: #e6edf6; //light blue | |
45 |
|
45 | |||
46 | // Highlight color for lines and colors |
|
46 | // Highlight color for lines and colors | |
47 | @comment-highlight-color: #ffd887; |
|
47 | @comment-highlight-color: #ffd887; | |
48 |
|
48 | |||
49 | // FONTS |
|
49 | // FONTS | |
50 | @basefontsize: 13px; |
|
50 | @basefontsize: 13px; | |
51 | @navigation-fontsize: 14px; |
|
51 | @navigation-fontsize: 14px; | |
52 | @journal-fontsize: @basefontsize+7px; |
|
52 | @journal-fontsize: @basefontsize+7px; | |
53 | @text-color: @grey2; |
|
53 | @text-color: @grey2; | |
54 | @repo-title-fontsize: 18px; |
|
54 | @repo-title-fontsize: 18px; | |
55 |
|
55 | |||
56 | @text-regular: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; |
|
56 | @text-regular: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; | |
57 | @text-monospace: 'Menlo', 'Liberation Mono', 'Consolas', 'DejaVu Sans Mono', 'Ubuntu Mono', 'Courier New', 'andale mono', 'lucida console', monospace; |
|
57 | @text-monospace: 'Menlo', 'Liberation Mono', 'Consolas', 'DejaVu Sans Mono', 'Ubuntu Mono', 'Courier New', 'andale mono', 'lucida console', monospace; | |
58 |
|
58 | |||
59 | @text-italic: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; |
|
59 | @text-italic: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; | |
60 |
|
60 | |||
61 | @text-bold: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; |
|
61 | @text-bold: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; | |
62 | @text-bold-weight: 600; |
|
62 | @text-bold-weight: 600; | |
63 |
|
63 | |||
64 | @text-semibold: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; |
|
64 | @text-semibold: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; | |
65 | @text-semibold-weight: 500; |
|
65 | @text-semibold-weight: 500; | |
66 |
|
66 | |||
67 | @text-bold-italic: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; |
|
67 | @text-bold-italic: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; | |
68 | @text-bold-italic-weight: 600; |
|
68 | @text-bold-italic-weight: 600; | |
69 |
|
69 | |||
70 | @text-code: @text-monospace; |
|
70 | @text-code: @text-monospace; | |
71 | @text-light: @text-regular; |
|
71 | @text-light: @text-regular; | |
72 |
|
72 | |||
73 |
|
73 | |||
74 | // Used for .close buttons |
|
74 | // Used for .close buttons | |
75 | @text-bootstrap: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; |
|
75 | @text-bootstrap: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; | |
76 |
|
76 | |||
77 | @panel-title: @basefontsize; |
|
77 | @panel-title: @basefontsize; | |
78 | @panel-footer: @basefontsize; |
|
78 | @panel-footer: @basefontsize; | |
79 |
|
79 | |||
80 | // BORDERS |
|
80 | // BORDERS | |
81 | @border-thickness: 1px; |
|
81 | @border-thickness: 1px; | |
82 | @border-thickness-buttons: 1px; |
|
82 | @border-thickness-buttons: 1px; | |
83 | @border-thickness-tags: 1px; |
|
83 | @border-thickness-tags: 1px; | |
84 | @border-radius: 2px; |
|
84 | @border-radius: 2px; | |
85 | @border-default-color: @grey5; |
|
85 | @border-default-color: @grey5; | |
86 | @border-highlight-color: @grey4; |
|
86 | @border-highlight-color: @grey4; | |
87 |
|
87 | |||
88 | // SPACING |
|
88 | // SPACING | |
89 | @contentpadding: 15px; //padding on left and right of pages |
|
89 | @contentpadding: 15px; //padding on left and right of pages | |
90 | @pagepadding: 40px; //padding on top and bottom of pages |
|
90 | @pagepadding: 40px; //padding on top and bottom of pages | |
91 | @menupadding: 12px; //padding for sidebar and content |
|
91 | @menupadding: 12px; //padding for sidebar and content | |
92 | @sidebarpadding: 15px; //spacing between sections |
|
92 | @sidebarpadding: 15px; //spacing between sections | |
93 | @space: 40px; //spacing between sections |
|
93 | @space: 40px; //spacing between sections | |
94 | @padding: 15px; //padding inside modules |
|
94 | @padding: 15px; //padding inside modules | |
95 | @textmargin: 20px; //spacing below headers |
|
95 | @textmargin: 20px; //spacing below headers | |
96 | @header-padding: 20px; |
|
96 | @header-padding: 20px; | |
97 | @panel-padding: @padding; |
|
97 | @panel-padding: @padding; | |
98 | @gravatar-size: 16px; // height/width of gravatar w/o border |
|
98 | @gravatar-size: 16px; // height/width of gravatar w/o border | |
99 |
|
99 | |||
100 | // ADMIN |
|
100 | // ADMIN | |
101 | @form-max-width: 750px; |
|
101 | @form-max-width: 750px; | |
102 |
|
102 | |||
103 | // FORMS (new) |
|
103 | // FORMS (new) | |
104 | @border-thickness-inputs: 1px; |
|
104 | @border-thickness-inputs: 1px; | |
105 | @input-padding: @button-padding; //needs to match button padding |
|
105 | @input-padding: @button-padding; //needs to match button padding | |
106 | // TODO: johbo: Needed for working computation of paddings around labels etc. |
|
106 | // TODO: johbo: Needed for working computation of paddings around labels etc. | |
107 | // Expected to be replaced once we are done with the form refactoring. |
|
107 | // Expected to be replaced once we are done with the form refactoring. | |
108 | @input-padding-px: 12px; |
|
108 | @input-padding-px: 12px; | |
109 | @legend-width: 220px; |
|
109 | @legend-width: 220px; | |
110 | @form-vertical-margin: 20px; |
|
110 | @form-vertical-margin: 20px; | |
111 | @form-check-width: 20px; |
|
111 | @form-check-width: 20px; | |
112 | @form-radio-width: 10px; |
|
112 | @form-radio-width: 10px; | |
113 | @form-textcolor: @grey3; |
|
113 | @form-textcolor: @grey3; | |
114 |
|
114 | |||
115 | // FORMS |
|
115 | // FORMS | |
116 | @label-width: 220px; |
|
116 | @label-width: 220px; | |
117 | //TODO: lisa: Eventually we don't need both of these; remove |
|
117 | //TODO: lisa: Eventually we don't need both of these; remove | |
118 | // label-width when legend-width is no longer used |
|
118 | // label-width when legend-width is no longer used | |
119 |
|
119 | |||
120 | @input-border-thickness: @border-thickness; |
|
120 | @input-border-thickness: @border-thickness; | |
121 | @medium-inline-input-width: 115px; |
|
121 | @medium-inline-input-width: 115px; | |
122 | @input-description-minwidth: 300px; |
|
122 | @input-description-minwidth: 300px; | |
123 | @label2-width: 200px; |
|
123 | @label2-width: 200px; | |
124 | @checkboxes-width: 420px; |
|
124 | @checkboxes-width: 420px; | |
125 | @label-summary-minwidth: 80px; |
|
125 | @label-summary-minwidth: 80px; | |
126 | @search-form-width: 400px; |
|
126 | @search-form-width: 400px; | |
127 | @fields-input-m: 400px; |
|
127 | @fields-input-m: 400px; | |
128 |
@fields-input-l: 7 |
|
128 | @fields-input-l: 720px; | |
129 |
|
129 | |||
130 | // BUTTONS |
|
130 | // BUTTONS | |
131 | @button-padding: .9em; |
|
131 | @button-padding: .9em; | |
132 |
|
132 | |||
133 | // DEFAULT WIDTHS |
|
133 | // DEFAULT WIDTHS | |
134 | @wrapper-maxwidth: 1200px; |
|
134 | @wrapper-maxwidth: 1200px; | |
135 | @sidebar-width: 145px; |
|
135 | @sidebar-width: 145px; | |
136 | @sidebar-all-width: @sidebar-width + 2 * @sidebarpadding; |
|
136 | @sidebar-all-width: @sidebar-width + 2 * @sidebarpadding; | |
137 | @sidebar-small-width: 100px; |
|
137 | @sidebar-small-width: 100px; | |
138 | @sidebar-small-all-width: @sidebar-small-width + 2 * @sidebarpadding; |
|
138 | @sidebar-small-all-width: @sidebar-small-width + 2 * @sidebarpadding; | |
139 | @texteditor-width: 660px; |
|
139 | @texteditor-width: 660px; | |
140 | @maincontent-maxwidth: 940px; |
|
140 | @maincontent-maxwidth: 940px; | |
141 | @pullrequest-width: 1025px; |
|
141 | @pullrequest-width: 1025px; | |
142 | @summary-menu-stats-width: 200px; |
|
142 | @summary-menu-stats-width: 200px; | |
143 |
|
143 | |||
144 | // SCREEN WIDTHS |
|
144 | // SCREEN WIDTHS | |
145 | @screen-sm-min: 320px; |
|
145 | @screen-sm-min: 320px; | |
146 |
|
146 | |||
147 | // For Bootstrap |
|
147 | // For Bootstrap | |
148 | @panel-border-radius: @border-radius; |
|
148 | @panel-border-radius: @border-radius; |
@@ -1,124 +1,121 b'' | |||||
1 | ## -*- coding: utf-8 -*- |
|
1 | ## -*- coding: utf-8 -*- | |
2 | <%inherit file="/base/base.mako"/> |
|
2 | <%inherit file="/base/base.mako"/> | |
3 |
|
3 | |||
4 | <%def name="title()"> |
|
4 | <%def name="title()"> | |
5 | ${_('Authentication Settings')} |
|
5 | ${_('Authentication Settings')} | |
6 | %if c.rhodecode_name: |
|
6 | %if c.rhodecode_name: | |
7 | · ${h.branding(c.rhodecode_name)}} |
|
7 | · ${h.branding(c.rhodecode_name)}} | |
8 | %endif |
|
8 | %endif | |
9 | </%def> |
|
9 | </%def> | |
10 |
|
10 | |||
11 | <%def name="breadcrumbs_links()"> |
|
11 | <%def name="breadcrumbs_links()"> | |
12 | ${h.link_to(_('Admin'),h.route_path('admin_home'))} |
|
12 | ${h.link_to(_('Admin'),h.route_path('admin_home'))} | |
13 | » |
|
13 | » | |
14 | ${h.link_to(_('Authentication Plugins'),request.resource_path(resource.__parent__, route_name='auth_home'))} |
|
14 | ${h.link_to(_('Authentication Plugins'),request.resource_path(resource.__parent__, route_name='auth_home'))} | |
15 | » |
|
15 | » | |
16 | ${resource.display_name} |
|
16 | ${resource.display_name} | |
17 | </%def> |
|
17 | </%def> | |
18 |
|
18 | |||
19 | <%def name="menu_bar_nav()"> |
|
19 | <%def name="menu_bar_nav()"> | |
20 | ${self.menu_items(active='admin')} |
|
20 | ${self.menu_items(active='admin')} | |
21 | </%def> |
|
21 | </%def> | |
22 |
|
22 | |||
23 | <%def name="main()"> |
|
23 | <%def name="main()"> | |
24 | <div class="box"> |
|
24 | <div class="box"> | |
25 | <div class="title"> |
|
25 | <div class="title"> | |
26 | ${self.breadcrumbs()} |
|
26 | ${self.breadcrumbs()} | |
27 | </div> |
|
27 | </div> | |
28 | <div class='sidebar-col-wrapper'> |
|
28 | <div class='sidebar-col-wrapper'> | |
29 |
|
29 | |||
30 | ## TODO: This is repeated in the auth root template and should be merged |
|
30 | ## TODO: This is repeated in the auth root template and should be merged | |
31 | ## into a single solution. |
|
31 | ## into a single solution. | |
32 | <div class="sidebar"> |
|
32 | <div class="sidebar"> | |
33 | <ul class="nav nav-pills nav-stacked"> |
|
33 | <ul class="nav nav-pills nav-stacked"> | |
34 | % for item in resource.get_root().get_nav_list(): |
|
34 | % for item in resource.get_root().get_nav_list(): | |
35 | <li ${'class=active' if item == resource else ''}> |
|
35 | <li ${'class=active' if item == resource else ''}> | |
36 | <a href="${request.resource_path(item, route_name='auth_home')}">${item.display_name}</a> |
|
36 | <a href="${request.resource_path(item, route_name='auth_home')}">${item.display_name}</a> | |
37 | </li> |
|
37 | </li> | |
38 | % endfor |
|
38 | % endfor | |
39 | </ul> |
|
39 | </ul> | |
40 | </div> |
|
40 | </div> | |
41 |
|
41 | |||
42 | <div class="main-content-full-width"> |
|
42 | <div class="main-content-full-width"> | |
43 | <div class="panel panel-default"> |
|
43 | <div class="panel panel-default"> | |
44 | <div class="panel-heading"> |
|
44 | <div class="panel-heading"> | |
45 | <h3 class="panel-title">${_('Plugin')}: ${resource.display_name}</h3> |
|
45 | <h3 class="panel-title">${_('Plugin')}: ${resource.display_name}</h3> | |
46 | </div> |
|
46 | </div> | |
47 | <div class="panel-body"> |
|
47 | <div class="panel-body"> | |
48 | <div class="plugin_form"> |
|
48 | <div class="plugin_form"> | |
49 | <div class="fields"> |
|
49 | <div class="fields"> | |
50 | ${h.secure_form(request.resource_path(resource, route_name='auth_home'), request=request)} |
|
50 | ${h.secure_form(request.resource_path(resource, route_name='auth_home'), request=request)} | |
51 | <div class="form"> |
|
51 | <div class="form"> | |
52 |
|
52 | |||
53 | %for node in plugin.get_settings_schema(): |
|
53 | %for node in plugin.get_settings_schema(): | |
54 | <% |
|
54 | <% | |
55 | label_to_type = {'label-checkbox': 'bool', 'label-textarea': 'textarea'} |
|
55 | label_to_type = {'label-checkbox': 'bool', 'label-textarea': 'textarea'} | |
56 | %> |
|
56 | %> | |
57 |
|
57 | |||
58 | <div class="field"> |
|
58 | <div class="field"> | |
59 | <div class="label ${label_to_type.get(node.widget)}"><label for="${node.name}">${node.title}</label></div> |
|
59 | <div class="label ${label_to_type.get(node.widget)}"><label for="${node.name}">${node.title}</label></div> | |
60 | <div class="input"> |
|
60 | <div class="input"> | |
61 | %if node.widget in ["string", "int", "unicode"]: |
|
61 | %if node.widget in ["string", "int", "unicode"]: | |
62 | ${h.text(node.name, defaults.get(node.name), class_="large")} |
|
62 | ${h.text(node.name, defaults.get(node.name), class_="large")} | |
63 | %elif node.widget == "password": |
|
63 | %elif node.widget == "password": | |
64 | ${h.password(node.name, defaults.get(node.name), class_="large")} |
|
64 | ${h.password(node.name, defaults.get(node.name), class_="large")} | |
65 | %elif node.widget == "bool": |
|
65 | %elif node.widget == "bool": | |
66 | <div class="checkbox">${h.checkbox(node.name, True, checked=defaults.get(node.name))}</div> |
|
66 | <div class="checkbox">${h.checkbox(node.name, True, checked=defaults.get(node.name))}</div> | |
67 | %elif node.widget == "select": |
|
67 | %elif node.widget == "select": | |
68 | ${h.select(node.name, defaults.get(node.name), node.validator.choices)} |
|
68 | ${h.select(node.name, defaults.get(node.name), node.validator.choices, class_="select2AuthSetting")} | |
69 | %elif node.widget == "textarea": |
|
69 | %elif node.widget == "textarea": | |
70 | <div class="textarea" style="margin-left: 0px">${h.textarea(node.name, defaults.get(node.name), rows=10)}</div> |
|
70 | <div class="textarea" style="margin-left: 0px">${h.textarea(node.name, defaults.get(node.name), rows=10)}</div> | |
71 | %elif node.widget == "readonly": |
|
71 | %elif node.widget == "readonly": | |
72 | ${node.default} |
|
72 | ${node.default} | |
73 | %else: |
|
73 | %else: | |
74 | This field is of type ${node.typ}, which cannot be displayed. Must be one of [string|int|bool|select]. |
|
74 | This field is of type ${node.typ}, which cannot be displayed. Must be one of [string|int|bool|select]. | |
75 | %endif |
|
75 | %endif | |
76 |
|
76 | |||
77 | %if node.name in errors: |
|
77 | %if node.name in errors: | |
78 | <span class="error-message">${errors.get(node.name)}</span> |
|
78 | <span class="error-message">${errors.get(node.name)}</span> | |
79 | <br /> |
|
79 | <br /> | |
80 | %endif |
|
80 | %endif | |
81 | <p class="help-block pre-formatting">${node.description}</p> |
|
81 | <p class="help-block pre-formatting">${node.description}</p> | |
82 | </div> |
|
82 | </div> | |
83 | </div> |
|
83 | </div> | |
84 | %endfor |
|
84 | %endfor | |
85 |
|
85 | |||
86 | ## Allow derived templates to add something below the form |
|
86 | ## Allow derived templates to add something below the form | |
87 | ## input fields |
|
87 | ## input fields | |
88 | %if hasattr(next, 'below_form_fields'): |
|
88 | %if hasattr(next, 'below_form_fields'): | |
89 | ${next.below_form_fields()} |
|
89 | ${next.below_form_fields()} | |
90 | %endif |
|
90 | %endif | |
91 |
|
91 | |||
92 | <div class="buttons"> |
|
92 | <div class="buttons"> | |
93 | ${h.submit('save',_('Save'),class_="btn")} |
|
93 | ${h.submit('save',_('Save'),class_="btn")} | |
94 | </div> |
|
94 | </div> | |
95 |
|
95 | |||
96 | </div> |
|
96 | </div> | |
97 | ${h.end_form()} |
|
97 | ${h.end_form()} | |
98 | </div> |
|
98 | </div> | |
99 | </div> |
|
99 | </div> | |
100 | </div> |
|
100 | </div> | |
101 | </div> |
|
101 | </div> | |
102 | </div> |
|
102 | </div> | |
103 |
|
103 | |||
104 | </div> |
|
104 | </div> | |
105 | </div> |
|
105 | </div> | |
106 |
|
106 | |||
107 | ## TODO: Ugly hack to get ldap select elements to work. |
|
107 | ## TODO: Ugly hack to get ldap select elements to work. | |
108 | ## Find a solution to integrate this nicely. |
|
108 | ## Find a solution to integrate this nicely. | |
109 | <script> |
|
109 | <script> | |
110 | $(document).ready(function() { |
|
110 | $(document).ready(function() { | |
111 | var select2Options = { |
|
111 | var select2Options = { | |
112 | containerCssClass: 'drop-menu', |
|
112 | containerCssClass: 'drop-menu', | |
113 | dropdownCssClass: 'drop-menu-dropdown', |
|
113 | dropdownCssClass: 'drop-menu-dropdown', | |
114 | dropdownAutoWidth: true, |
|
114 | dropdownAutoWidth: true, | |
115 | minimumResultsForSearch: -1 |
|
115 | minimumResultsForSearch: -1 | |
116 |
|
|
116 | }; | |
117 |
|
|
117 | $('.select2AuthSetting').select2(select2Options); | |
118 | $("#tls_reqcert").select2(select2Options); |
|
118 | ||
119 | $("#search_scope").select2(select2Options); |
|
|||
120 | $("#group_extraction_type").select2(select2Options); |
|
|||
121 | $("#admin_groups_sync").select2(select2Options); |
|
|||
122 | }); |
|
119 | }); | |
123 | </script> |
|
120 | </script> | |
124 | </%def> |
|
121 | </%def> |
General Comments 0
You need to be logged in to leave comments.
Login now