##// END OF EJS Templates
auth-plugins, ui: added some tweeks to the ui...
marcink -
r3252:19ce6eb4 default
parent child Browse files
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: 750px;
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 &middot; ${h.branding(c.rhodecode_name)}}
7 &middot; ${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 &raquo;
13 &raquo;
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 &raquo;
15 &raquo;
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 $("#tls_kind").select2(select2Options);
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