##// END OF EJS Templates
artifacts: updated CE code for this EE feature.
marcink -
r3675:38553320 new-ui
parent child Browse files
Show More
@@ -1,2518 +1,2551 b''
1 //Primary CSS
1 //Primary CSS
2
2
3 //--- IMPORTS ------------------//
3 //--- IMPORTS ------------------//
4
4
5 @import 'helpers';
5 @import 'helpers';
6 @import 'mixins';
6 @import 'mixins';
7 @import 'rcicons';
7 @import 'rcicons';
8 @import 'variables';
8 @import 'variables';
9 @import 'bootstrap-variables';
9 @import 'bootstrap-variables';
10 @import 'form-bootstrap';
10 @import 'form-bootstrap';
11 @import 'codemirror';
11 @import 'codemirror';
12 @import 'legacy_code_styles';
12 @import 'legacy_code_styles';
13 @import 'readme-box';
13 @import 'readme-box';
14 @import 'progress-bar';
14 @import 'progress-bar';
15
15
16 @import 'type';
16 @import 'type';
17 @import 'alerts';
17 @import 'alerts';
18 @import 'buttons';
18 @import 'buttons';
19 @import 'tags';
19 @import 'tags';
20 @import 'code-block';
20 @import 'code-block';
21 @import 'examples';
21 @import 'examples';
22 @import 'login';
22 @import 'login';
23 @import 'main-content';
23 @import 'main-content';
24 @import 'select2';
24 @import 'select2';
25 @import 'comments';
25 @import 'comments';
26 @import 'panels-bootstrap';
26 @import 'panels-bootstrap';
27 @import 'panels';
27 @import 'panels';
28 @import 'deform';
28 @import 'deform';
29
29
30 //--- BASE ------------------//
30 //--- BASE ------------------//
31 .noscript-error {
31 .noscript-error {
32 top: 0;
32 top: 0;
33 left: 0;
33 left: 0;
34 width: 100%;
34 width: 100%;
35 z-index: 101;
35 z-index: 101;
36 text-align: center;
36 text-align: center;
37 font-size: 120%;
37 font-size: 120%;
38 color: white;
38 color: white;
39 background-color: @alert2;
39 background-color: @alert2;
40 padding: 5px 0 5px 0;
40 padding: 5px 0 5px 0;
41 font-weight: @text-semibold-weight;
41 font-weight: @text-semibold-weight;
42 font-family: @text-semibold;
42 font-family: @text-semibold;
43 }
43 }
44
44
45 html {
45 html {
46 display: table;
46 display: table;
47 height: 100%;
47 height: 100%;
48 width: 100%;
48 width: 100%;
49 }
49 }
50
50
51 body {
51 body {
52 display: table-cell;
52 display: table-cell;
53 width: 100%;
53 width: 100%;
54 }
54 }
55
55
56 //--- LAYOUT ------------------//
56 //--- LAYOUT ------------------//
57
57
58 .hidden{
58 .hidden{
59 display: none !important;
59 display: none !important;
60 }
60 }
61
61
62 .box{
62 .box{
63 float: left;
63 float: left;
64 width: 100%;
64 width: 100%;
65 }
65 }
66
66
67 .browser-header {
67 .browser-header {
68 clear: both;
68 clear: both;
69 }
69 }
70 .main {
70 .main {
71 clear: both;
71 clear: both;
72 padding:0 0 @pagepadding;
72 padding:0 0 @pagepadding;
73 height: auto;
73 height: auto;
74
74
75 &:after { //clearfix
75 &:after { //clearfix
76 content:"";
76 content:"";
77 clear:both;
77 clear:both;
78 width:100%;
78 width:100%;
79 display:block;
79 display:block;
80 }
80 }
81 }
81 }
82
82
83 .action-link{
83 .action-link{
84 margin-left: @padding;
84 margin-left: @padding;
85 padding-left: @padding;
85 padding-left: @padding;
86 border-left: @border-thickness solid @border-default-color;
86 border-left: @border-thickness solid @border-default-color;
87 }
87 }
88
88
89 input + .action-link, .action-link.first{
89 input + .action-link, .action-link.first{
90 border-left: none;
90 border-left: none;
91 }
91 }
92
92
93 .action-link.last{
93 .action-link.last{
94 margin-right: @padding;
94 margin-right: @padding;
95 padding-right: @padding;
95 padding-right: @padding;
96 }
96 }
97
97
98 .action-link.active,
98 .action-link.active,
99 .action-link.active a{
99 .action-link.active a{
100 color: @grey4;
100 color: @grey4;
101 }
101 }
102
102
103 .action-link.disabled {
103 .action-link.disabled {
104 color: @grey4;
104 color: @grey4;
105 cursor: inherit;
105 cursor: inherit;
106 }
106 }
107
107
108 .clipboard-action {
108 .clipboard-action {
109 cursor: pointer;
109 cursor: pointer;
110 }
110 }
111
111
112 ul.simple-list{
112 ul.simple-list{
113 list-style: none;
113 list-style: none;
114 margin: 0;
114 margin: 0;
115 padding: 0;
115 padding: 0;
116 }
116 }
117
117
118 .main-content {
118 .main-content {
119 padding-bottom: @pagepadding;
119 padding-bottom: @pagepadding;
120 }
120 }
121
121
122 .wide-mode-wrapper {
122 .wide-mode-wrapper {
123 max-width:4000px !important;
123 max-width:4000px !important;
124 }
124 }
125
125
126 .wrapper {
126 .wrapper {
127 position: relative;
127 position: relative;
128 max-width: @wrapper-maxwidth;
128 max-width: @wrapper-maxwidth;
129 margin: 0 auto;
129 margin: 0 auto;
130 }
130 }
131
131
132 #content {
132 #content {
133 clear: both;
133 clear: both;
134 padding: 0 @contentpadding;
134 padding: 0 @contentpadding;
135 }
135 }
136
136
137 .advanced-settings-fields{
137 .advanced-settings-fields{
138 input{
138 input{
139 margin-left: @textmargin;
139 margin-left: @textmargin;
140 margin-right: @padding/2;
140 margin-right: @padding/2;
141 }
141 }
142 }
142 }
143
143
144 .cs_files_title {
144 .cs_files_title {
145 margin: @pagepadding 0 0;
145 margin: @pagepadding 0 0;
146 }
146 }
147
147
148 input.inline[type="file"] {
148 input.inline[type="file"] {
149 display: inline;
149 display: inline;
150 }
150 }
151
151
152 .error_page {
152 .error_page {
153 margin: 10% auto;
153 margin: 10% auto;
154
154
155 h1 {
155 h1 {
156 color: @grey2;
156 color: @grey2;
157 }
157 }
158
158
159 .alert {
159 .alert {
160 margin: @padding 0;
160 margin: @padding 0;
161 }
161 }
162
162
163 .error-branding {
163 .error-branding {
164 color: @grey4;
164 color: @grey4;
165 font-weight: @text-semibold-weight;
165 font-weight: @text-semibold-weight;
166 font-family: @text-semibold;
166 font-family: @text-semibold;
167 }
167 }
168
168
169 .error_message {
169 .error_message {
170 font-family: @text-regular;
170 font-family: @text-regular;
171 }
171 }
172
172
173 .sidebar {
173 .sidebar {
174 min-height: 275px;
174 min-height: 275px;
175 margin: 0;
175 margin: 0;
176 padding: 0 0 @sidebarpadding @sidebarpadding;
176 padding: 0 0 @sidebarpadding @sidebarpadding;
177 border: none;
177 border: none;
178 }
178 }
179
179
180 .main-content {
180 .main-content {
181 position: relative;
181 position: relative;
182 margin: 0 @sidebarpadding @sidebarpadding;
182 margin: 0 @sidebarpadding @sidebarpadding;
183 padding: 0 0 0 @sidebarpadding;
183 padding: 0 0 0 @sidebarpadding;
184 border-left: @border-thickness solid @grey5;
184 border-left: @border-thickness solid @grey5;
185
185
186 @media (max-width:767px) {
186 @media (max-width:767px) {
187 clear: both;
187 clear: both;
188 width: 100%;
188 width: 100%;
189 margin: 0;
189 margin: 0;
190 border: none;
190 border: none;
191 }
191 }
192 }
192 }
193
193
194 .inner-column {
194 .inner-column {
195 float: left;
195 float: left;
196 width: 29.75%;
196 width: 29.75%;
197 min-height: 150px;
197 min-height: 150px;
198 margin: @sidebarpadding 2% 0 0;
198 margin: @sidebarpadding 2% 0 0;
199 padding: 0 2% 0 0;
199 padding: 0 2% 0 0;
200 border-right: @border-thickness solid @grey5;
200 border-right: @border-thickness solid @grey5;
201
201
202 @media (max-width:767px) {
202 @media (max-width:767px) {
203 clear: both;
203 clear: both;
204 width: 100%;
204 width: 100%;
205 border: none;
205 border: none;
206 }
206 }
207
207
208 ul {
208 ul {
209 padding-left: 1.25em;
209 padding-left: 1.25em;
210 }
210 }
211
211
212 &:last-child {
212 &:last-child {
213 margin: @sidebarpadding 0 0;
213 margin: @sidebarpadding 0 0;
214 border: none;
214 border: none;
215 }
215 }
216
216
217 h4 {
217 h4 {
218 margin: 0 0 @padding;
218 margin: 0 0 @padding;
219 font-weight: @text-semibold-weight;
219 font-weight: @text-semibold-weight;
220 font-family: @text-semibold;
220 font-family: @text-semibold;
221 }
221 }
222 }
222 }
223 }
223 }
224 .error-page-logo {
224 .error-page-logo {
225 width: 130px;
225 width: 130px;
226 height: 160px;
226 height: 160px;
227 }
227 }
228
228
229 // HEADER
229 // HEADER
230 .header {
230 .header {
231
231
232 // TODO: johbo: Fix login pages, so that they work without a min-height
232 // TODO: johbo: Fix login pages, so that they work without a min-height
233 // for the header and then remove the min-height. I chose a smaller value
233 // for the header and then remove the min-height. I chose a smaller value
234 // intentionally here to avoid rendering issues in the main navigation.
234 // intentionally here to avoid rendering issues in the main navigation.
235 min-height: 49px;
235 min-height: 49px;
236
236
237 position: relative;
237 position: relative;
238 vertical-align: bottom;
238 vertical-align: bottom;
239 padding: 0 @header-padding;
239 padding: 0 @header-padding;
240 background-color: @grey1;
240 background-color: @grey1;
241 color: @grey5;
241 color: @grey5;
242
242
243 .title {
243 .title {
244 overflow: visible;
244 overflow: visible;
245 }
245 }
246
246
247 &:before,
247 &:before,
248 &:after {
248 &:after {
249 content: "";
249 content: "";
250 clear: both;
250 clear: both;
251 width: 100%;
251 width: 100%;
252 }
252 }
253
253
254 // TODO: johbo: Avoids breaking "Repositories" chooser
254 // TODO: johbo: Avoids breaking "Repositories" chooser
255 .select2-container .select2-choice .select2-arrow {
255 .select2-container .select2-choice .select2-arrow {
256 display: none;
256 display: none;
257 }
257 }
258 }
258 }
259
259
260 #header-inner {
260 #header-inner {
261 &.title {
261 &.title {
262 margin: 0;
262 margin: 0;
263 }
263 }
264 &:before,
264 &:before,
265 &:after {
265 &:after {
266 content: "";
266 content: "";
267 clear: both;
267 clear: both;
268 }
268 }
269 }
269 }
270
270
271 // Gists
271 // Gists
272 #files_data {
272 #files_data {
273 clear: both; //for firefox
273 clear: both; //for firefox
274 }
274 }
275 #gistid {
275 #gistid {
276 margin-right: @padding;
276 margin-right: @padding;
277 }
277 }
278
278
279 // Global Settings Editor
279 // Global Settings Editor
280 .textarea.editor {
280 .textarea.editor {
281 float: left;
281 float: left;
282 position: relative;
282 position: relative;
283 max-width: @texteditor-width;
283 max-width: @texteditor-width;
284
284
285 select {
285 select {
286 position: absolute;
286 position: absolute;
287 top:10px;
287 top:10px;
288 right:0;
288 right:0;
289 }
289 }
290
290
291 .CodeMirror {
291 .CodeMirror {
292 margin: 0;
292 margin: 0;
293 }
293 }
294
294
295 .help-block {
295 .help-block {
296 margin: 0 0 @padding;
296 margin: 0 0 @padding;
297 padding:.5em;
297 padding:.5em;
298 background-color: @grey6;
298 background-color: @grey6;
299 &.pre-formatting {
299 &.pre-formatting {
300 white-space: pre;
300 white-space: pre;
301 }
301 }
302 }
302 }
303 }
303 }
304
304
305 ul.auth_plugins {
305 ul.auth_plugins {
306 margin: @padding 0 @padding @legend-width;
306 margin: @padding 0 @padding @legend-width;
307 padding: 0;
307 padding: 0;
308
308
309 li {
309 li {
310 margin-bottom: @padding;
310 margin-bottom: @padding;
311 line-height: 1em;
311 line-height: 1em;
312 list-style-type: none;
312 list-style-type: none;
313
313
314 .auth_buttons .btn {
314 .auth_buttons .btn {
315 margin-right: @padding;
315 margin-right: @padding;
316 }
316 }
317
317
318 }
318 }
319 }
319 }
320
320
321
321
322 // My Account PR list
322 // My Account PR list
323
323
324 #show_closed {
324 #show_closed {
325 margin: 0 1em 0 0;
325 margin: 0 1em 0 0;
326 }
326 }
327
327
328 .pullrequestlist {
328 .pullrequestlist {
329 .closed {
329 .closed {
330 background-color: @grey6;
330 background-color: @grey6;
331 }
331 }
332 .td-status {
332 .td-status {
333 padding-left: .5em;
333 padding-left: .5em;
334 }
334 }
335 .log-container .truncate {
335 .log-container .truncate {
336 height: 2.75em;
336 height: 2.75em;
337 white-space: pre-line;
337 white-space: pre-line;
338 }
338 }
339 table.rctable .user {
339 table.rctable .user {
340 padding-left: 0;
340 padding-left: 0;
341 }
341 }
342 table.rctable {
342 table.rctable {
343 td.td-description,
343 td.td-description,
344 .rc-user {
344 .rc-user {
345 min-width: auto;
345 min-width: auto;
346 }
346 }
347 }
347 }
348 }
348 }
349
349
350 // Pull Requests
350 // Pull Requests
351
351
352 .pullrequests_section_head {
352 .pullrequests_section_head {
353 display: block;
353 display: block;
354 clear: both;
354 clear: both;
355 margin: @padding 0;
355 margin: @padding 0;
356 font-weight: @text-bold-weight;
356 font-weight: @text-bold-weight;
357 font-family: @text-bold;
357 font-family: @text-bold;
358 }
358 }
359
359
360 .pr-origininfo, .pr-targetinfo {
360 .pr-origininfo, .pr-targetinfo {
361 position: relative;
361 position: relative;
362
362
363 .tag {
363 .tag {
364 display: inline-block;
364 display: inline-block;
365 margin: 0 1em .5em 0;
365 margin: 0 1em .5em 0;
366 }
366 }
367
367
368 .clone-url {
368 .clone-url {
369 display: inline-block;
369 display: inline-block;
370 margin: 0 0 .5em 0;
370 margin: 0 0 .5em 0;
371 padding: 0;
371 padding: 0;
372 line-height: 1.2em;
372 line-height: 1.2em;
373 }
373 }
374 }
374 }
375
375
376 .pr-mergeinfo {
376 .pr-mergeinfo {
377 min-width: 95% !important;
377 min-width: 95% !important;
378 padding: 0 !important;
378 padding: 0 !important;
379 border: 0;
379 border: 0;
380 }
380 }
381 .pr-mergeinfo-copy {
381 .pr-mergeinfo-copy {
382 padding: 0 0;
382 padding: 0 0;
383 }
383 }
384
384
385 .pr-pullinfo {
385 .pr-pullinfo {
386 min-width: 95% !important;
386 min-width: 95% !important;
387 padding: 0 !important;
387 padding: 0 !important;
388 border: 0;
388 border: 0;
389 }
389 }
390 .pr-pullinfo-copy {
390 .pr-pullinfo-copy {
391 padding: 0 0;
391 padding: 0 0;
392 }
392 }
393
393
394
394
395 #pr-title-input {
395 #pr-title-input {
396 width: 72%;
396 width: 72%;
397 font-size: 1em;
397 font-size: 1em;
398 margin: 0;
398 margin: 0;
399 padding: 0 0 0 @padding/4;
399 padding: 0 0 0 @padding/4;
400 line-height: 1.7em;
400 line-height: 1.7em;
401 color: @text-color;
401 color: @text-color;
402 letter-spacing: .02em;
402 letter-spacing: .02em;
403 font-weight: @text-bold-weight;
403 font-weight: @text-bold-weight;
404 font-family: @text-bold;
404 font-family: @text-bold;
405 }
405 }
406
406
407 #pullrequest_title {
407 #pullrequest_title {
408 width: 100%;
408 width: 100%;
409 box-sizing: border-box;
409 box-sizing: border-box;
410 }
410 }
411
411
412 #pr_open_message {
412 #pr_open_message {
413 border: @border-thickness solid #fff;
413 border: @border-thickness solid #fff;
414 border-radius: @border-radius;
414 border-radius: @border-radius;
415 padding: @padding-large-vertical @padding-large-vertical @padding-large-vertical 0;
415 padding: @padding-large-vertical @padding-large-vertical @padding-large-vertical 0;
416 text-align: left;
416 text-align: left;
417 overflow: hidden;
417 overflow: hidden;
418 }
418 }
419
419
420 .pr-submit-button {
420 .pr-submit-button {
421 float: right;
421 float: right;
422 margin: 0 0 0 5px;
422 margin: 0 0 0 5px;
423 }
423 }
424
424
425 .pr-spacing-container {
425 .pr-spacing-container {
426 padding: 20px;
426 padding: 20px;
427 clear: both
427 clear: both
428 }
428 }
429
429
430 #pr-description-input {
430 #pr-description-input {
431 margin-bottom: 0;
431 margin-bottom: 0;
432 }
432 }
433
433
434 .pr-description-label {
434 .pr-description-label {
435 vertical-align: top;
435 vertical-align: top;
436 }
436 }
437
437
438 .perms_section_head {
438 .perms_section_head {
439 min-width: 625px;
439 min-width: 625px;
440
440
441 h2 {
441 h2 {
442 margin-bottom: 0;
442 margin-bottom: 0;
443 }
443 }
444
444
445 .label-checkbox {
445 .label-checkbox {
446 float: left;
446 float: left;
447 }
447 }
448
448
449 &.field {
449 &.field {
450 margin: @space 0 @padding;
450 margin: @space 0 @padding;
451 }
451 }
452
452
453 &:first-child.field {
453 &:first-child.field {
454 margin-top: 0;
454 margin-top: 0;
455
455
456 .label {
456 .label {
457 margin-top: 0;
457 margin-top: 0;
458 padding-top: 0;
458 padding-top: 0;
459 }
459 }
460
460
461 .radios {
461 .radios {
462 padding-top: 0;
462 padding-top: 0;
463 }
463 }
464 }
464 }
465
465
466 .radios {
466 .radios {
467 position: relative;
467 position: relative;
468 width: 505px;
468 width: 505px;
469 }
469 }
470 }
470 }
471
471
472 //--- MODULES ------------------//
472 //--- MODULES ------------------//
473
473
474
474
475 // Server Announcement
475 // Server Announcement
476 #server-announcement {
476 #server-announcement {
477 width: 95%;
477 width: 95%;
478 margin: @padding auto;
478 margin: @padding auto;
479 padding: @padding;
479 padding: @padding;
480 border-width: 2px;
480 border-width: 2px;
481 border-style: solid;
481 border-style: solid;
482 .border-radius(2px);
482 .border-radius(2px);
483 font-weight: @text-bold-weight;
483 font-weight: @text-bold-weight;
484 font-family: @text-bold;
484 font-family: @text-bold;
485
485
486 &.info { border-color: @alert4; background-color: @alert4-inner; }
486 &.info { border-color: @alert4; background-color: @alert4-inner; }
487 &.warning { border-color: @alert3; background-color: @alert3-inner; }
487 &.warning { border-color: @alert3; background-color: @alert3-inner; }
488 &.error { border-color: @alert2; background-color: @alert2-inner; }
488 &.error { border-color: @alert2; background-color: @alert2-inner; }
489 &.success { border-color: @alert1; background-color: @alert1-inner; }
489 &.success { border-color: @alert1; background-color: @alert1-inner; }
490 &.neutral { border-color: @grey3; background-color: @grey6; }
490 &.neutral { border-color: @grey3; background-color: @grey6; }
491 }
491 }
492
492
493 // Fixed Sidebar Column
493 // Fixed Sidebar Column
494 .sidebar-col-wrapper {
494 .sidebar-col-wrapper {
495 padding-left: @sidebar-all-width;
495 padding-left: @sidebar-all-width;
496
496
497 .sidebar {
497 .sidebar {
498 width: @sidebar-width;
498 width: @sidebar-width;
499 margin-left: -@sidebar-all-width;
499 margin-left: -@sidebar-all-width;
500 }
500 }
501 }
501 }
502
502
503 .sidebar-col-wrapper.scw-small {
503 .sidebar-col-wrapper.scw-small {
504 padding-left: @sidebar-small-all-width;
504 padding-left: @sidebar-small-all-width;
505
505
506 .sidebar {
506 .sidebar {
507 width: @sidebar-small-width;
507 width: @sidebar-small-width;
508 margin-left: -@sidebar-small-all-width;
508 margin-left: -@sidebar-small-all-width;
509 }
509 }
510 }
510 }
511
511
512
512
513 // FOOTER
513 // FOOTER
514 #footer {
514 #footer {
515 padding: 0;
515 padding: 0;
516 text-align: center;
516 text-align: center;
517 vertical-align: middle;
517 vertical-align: middle;
518 color: @grey2;
518 color: @grey2;
519 font-size: 11px;
519 font-size: 11px;
520
520
521 p {
521 p {
522 margin: 0;
522 margin: 0;
523 padding: 1em;
523 padding: 1em;
524 line-height: 1em;
524 line-height: 1em;
525 }
525 }
526
526
527 .server-instance { //server instance
527 .server-instance { //server instance
528 display: none;
528 display: none;
529 }
529 }
530
530
531 .title {
531 .title {
532 float: none;
532 float: none;
533 margin: 0 auto;
533 margin: 0 auto;
534 }
534 }
535 }
535 }
536
536
537 button.close {
537 button.close {
538 padding: 0;
538 padding: 0;
539 cursor: pointer;
539 cursor: pointer;
540 background: transparent;
540 background: transparent;
541 border: 0;
541 border: 0;
542 .box-shadow(none);
542 .box-shadow(none);
543 -webkit-appearance: none;
543 -webkit-appearance: none;
544 }
544 }
545
545
546 .close {
546 .close {
547 float: right;
547 float: right;
548 font-size: 21px;
548 font-size: 21px;
549 font-family: @text-bootstrap;
549 font-family: @text-bootstrap;
550 line-height: 1em;
550 line-height: 1em;
551 font-weight: bold;
551 font-weight: bold;
552 color: @grey2;
552 color: @grey2;
553
553
554 &:hover,
554 &:hover,
555 &:focus {
555 &:focus {
556 color: @grey1;
556 color: @grey1;
557 text-decoration: none;
557 text-decoration: none;
558 cursor: pointer;
558 cursor: pointer;
559 }
559 }
560 }
560 }
561
561
562 // GRID
562 // GRID
563 .sorting,
563 .sorting,
564 .sorting_desc,
564 .sorting_desc,
565 .sorting_asc {
565 .sorting_asc {
566 cursor: pointer;
566 cursor: pointer;
567 }
567 }
568 .sorting_desc:after {
568 .sorting_desc:after {
569 content: "\00A0\25B2";
569 content: "\00A0\25B2";
570 font-size: .75em;
570 font-size: .75em;
571 }
571 }
572 .sorting_asc:after {
572 .sorting_asc:after {
573 content: "\00A0\25BC";
573 content: "\00A0\25BC";
574 font-size: .68em;
574 font-size: .68em;
575 }
575 }
576
576
577
577
578 .user_auth_tokens {
578 .user_auth_tokens {
579
579
580 &.truncate {
580 &.truncate {
581 white-space: nowrap;
581 white-space: nowrap;
582 overflow: hidden;
582 overflow: hidden;
583 text-overflow: ellipsis;
583 text-overflow: ellipsis;
584 }
584 }
585
585
586 .fields .field .input {
586 .fields .field .input {
587 margin: 0;
587 margin: 0;
588 }
588 }
589
589
590 input#description {
590 input#description {
591 width: 100px;
591 width: 100px;
592 margin: 0;
592 margin: 0;
593 }
593 }
594
594
595 .drop-menu {
595 .drop-menu {
596 // TODO: johbo: Remove this, should work out of the box when
596 // TODO: johbo: Remove this, should work out of the box when
597 // having multiple inputs inline
597 // having multiple inputs inline
598 margin: 0 0 0 5px;
598 margin: 0 0 0 5px;
599 }
599 }
600 }
600 }
601 #user_list_table {
601 #user_list_table {
602 .closed {
602 .closed {
603 background-color: @grey6;
603 background-color: @grey6;
604 }
604 }
605 }
605 }
606
606
607
607
608 input, textarea {
608 input, textarea {
609 &.disabled {
609 &.disabled {
610 opacity: .5;
610 opacity: .5;
611 }
611 }
612
612
613 &:hover {
613 &:hover {
614 border-color: @grey3;
614 border-color: @grey3;
615 box-shadow: @button-shadow;
615 box-shadow: @button-shadow;
616 }
616 }
617
617
618 &:focus {
618 &:focus {
619 border-color: @rcblue;
619 border-color: @rcblue;
620 box-shadow: @button-shadow;
620 box-shadow: @button-shadow;
621 }
621 }
622 }
622 }
623
623
624 // remove extra padding in firefox
624 // remove extra padding in firefox
625 input::-moz-focus-inner { border:0; padding:0 }
625 input::-moz-focus-inner { border:0; padding:0 }
626
626
627 .adjacent input {
627 .adjacent input {
628 margin-bottom: @padding;
628 margin-bottom: @padding;
629 }
629 }
630
630
631 .permissions_boxes {
631 .permissions_boxes {
632 display: block;
632 display: block;
633 }
633 }
634
634
635 //FORMS
635 //FORMS
636
636
637 .medium-inline,
637 .medium-inline,
638 input#description.medium-inline {
638 input#description.medium-inline {
639 display: inline;
639 display: inline;
640 width: @medium-inline-input-width;
640 width: @medium-inline-input-width;
641 min-width: 100px;
641 min-width: 100px;
642 }
642 }
643
643
644 select {
644 select {
645 //reset
645 //reset
646 -webkit-appearance: none;
646 -webkit-appearance: none;
647 -moz-appearance: none;
647 -moz-appearance: none;
648
648
649 display: inline-block;
649 display: inline-block;
650 height: 28px;
650 height: 28px;
651 width: auto;
651 width: auto;
652 margin: 0 @padding @padding 0;
652 margin: 0 @padding @padding 0;
653 padding: 0 18px 0 8px;
653 padding: 0 18px 0 8px;
654 line-height:1em;
654 line-height:1em;
655 font-size: @basefontsize;
655 font-size: @basefontsize;
656 border: @border-thickness solid @grey5;
656 border: @border-thickness solid @grey5;
657 border-radius: @border-radius;
657 border-radius: @border-radius;
658 background:white url("../images/dt-arrow-dn.png") no-repeat 100% 50%;
658 background:white url("../images/dt-arrow-dn.png") no-repeat 100% 50%;
659 color: @grey4;
659 color: @grey4;
660 box-shadow: @button-shadow;
660 box-shadow: @button-shadow;
661
661
662 &:after {
662 &:after {
663 content: "\00A0\25BE";
663 content: "\00A0\25BE";
664 }
664 }
665
665
666 &:focus, &:hover {
666 &:focus, &:hover {
667 outline: none;
667 outline: none;
668 border-color: @grey4;
668 border-color: @grey4;
669 color: @rcdarkblue;
669 color: @rcdarkblue;
670 }
670 }
671 }
671 }
672
672
673 option {
673 option {
674 &:focus {
674 &:focus {
675 outline: none;
675 outline: none;
676 }
676 }
677 }
677 }
678
678
679 input,
679 input,
680 textarea {
680 textarea {
681 padding: @input-padding;
681 padding: @input-padding;
682 border: @input-border-thickness solid @border-highlight-color;
682 border: @input-border-thickness solid @border-highlight-color;
683 .border-radius (@border-radius);
683 .border-radius (@border-radius);
684 font-family: @text-light;
684 font-family: @text-light;
685 font-size: @basefontsize;
685 font-size: @basefontsize;
686
686
687 &.input-sm {
687 &.input-sm {
688 padding: 5px;
688 padding: 5px;
689 }
689 }
690
690
691 &#description {
691 &#description {
692 min-width: @input-description-minwidth;
692 min-width: @input-description-minwidth;
693 min-height: 1em;
693 min-height: 1em;
694 padding: 10px;
694 padding: 10px;
695 }
695 }
696 }
696 }
697
697
698 .field-sm {
698 .field-sm {
699 input,
699 input,
700 textarea {
700 textarea {
701 padding: 5px;
701 padding: 5px;
702 }
702 }
703 }
703 }
704
704
705 textarea {
705 textarea {
706 display: block;
706 display: block;
707 clear: both;
707 clear: both;
708 width: 100%;
708 width: 100%;
709 min-height: 100px;
709 min-height: 100px;
710 margin-bottom: @padding;
710 margin-bottom: @padding;
711 .box-sizing(border-box);
711 .box-sizing(border-box);
712 overflow: auto;
712 overflow: auto;
713 }
713 }
714
714
715 label {
715 label {
716 font-family: @text-light;
716 font-family: @text-light;
717 }
717 }
718
718
719 // GRAVATARS
719 // GRAVATARS
720 // centers gravatar on username to the right
720 // centers gravatar on username to the right
721
721
722 .gravatar {
722 .gravatar {
723 display: inline;
723 display: inline;
724 min-width: 16px;
724 min-width: 16px;
725 min-height: 16px;
725 min-height: 16px;
726 margin: -5px 0;
726 margin: -5px 0;
727 padding: 0;
727 padding: 0;
728 line-height: 1em;
728 line-height: 1em;
729 box-sizing: content-box;
729 box-sizing: content-box;
730 border-radius: 50%;
730 border-radius: 50%;
731
731
732 &.gravatar-large {
732 &.gravatar-large {
733 margin: -0.5em .25em -0.5em 0;
733 margin: -0.5em .25em -0.5em 0;
734 }
734 }
735
735
736 & + .user {
736 & + .user {
737 display: inline;
737 display: inline;
738 margin: 0;
738 margin: 0;
739 padding: 0 0 0 .17em;
739 padding: 0 0 0 .17em;
740 line-height: 1em;
740 line-height: 1em;
741 }
741 }
742 }
742 }
743
743
744 .user-inline-data {
744 .user-inline-data {
745 display: inline-block;
745 display: inline-block;
746 float: left;
746 float: left;
747 padding-left: .5em;
747 padding-left: .5em;
748 line-height: 1.3em;
748 line-height: 1.3em;
749 }
749 }
750
750
751 .rc-user { // gravatar + user wrapper
751 .rc-user { // gravatar + user wrapper
752 float: left;
752 float: left;
753 position: relative;
753 position: relative;
754 min-width: 100px;
754 min-width: 100px;
755 max-width: 200px;
755 max-width: 200px;
756 min-height: (@gravatar-size + @border-thickness * 2); // account for border
756 min-height: (@gravatar-size + @border-thickness * 2); // account for border
757 display: block;
757 display: block;
758 padding: 0 0 0 (@gravatar-size + @basefontsize/2 + @border-thickness * 2);
758 padding: 0 0 0 (@gravatar-size + @basefontsize/2 + @border-thickness * 2);
759
759
760
760
761 .gravatar {
761 .gravatar {
762 display: block;
762 display: block;
763 position: absolute;
763 position: absolute;
764 top: 0;
764 top: 0;
765 left: 0;
765 left: 0;
766 min-width: @gravatar-size;
766 min-width: @gravatar-size;
767 min-height: @gravatar-size;
767 min-height: @gravatar-size;
768 margin: 0;
768 margin: 0;
769 }
769 }
770
770
771 .user {
771 .user {
772 display: block;
772 display: block;
773 max-width: 175px;
773 max-width: 175px;
774 padding-top: 2px;
774 padding-top: 2px;
775 overflow: hidden;
775 overflow: hidden;
776 text-overflow: ellipsis;
776 text-overflow: ellipsis;
777 }
777 }
778 }
778 }
779
779
780 .gist-gravatar,
780 .gist-gravatar,
781 .journal_container {
781 .journal_container {
782 .gravatar-large {
782 .gravatar-large {
783 margin: 0 .5em -10px 0;
783 margin: 0 .5em -10px 0;
784 }
784 }
785 }
785 }
786
786
787
787
788 // ADMIN SETTINGS
788 // ADMIN SETTINGS
789
789
790 // Tag Patterns
790 // Tag Patterns
791 .tag_patterns {
791 .tag_patterns {
792 .tag_input {
792 .tag_input {
793 margin-bottom: @padding;
793 margin-bottom: @padding;
794 }
794 }
795 }
795 }
796
796
797 .locked_input {
797 .locked_input {
798 position: relative;
798 position: relative;
799
799
800 input {
800 input {
801 display: inline;
801 display: inline;
802 margin: 3px 5px 0px 0px;
802 margin: 3px 5px 0px 0px;
803 }
803 }
804
804
805 br {
805 br {
806 display: none;
806 display: none;
807 }
807 }
808
808
809 .error-message {
809 .error-message {
810 float: left;
810 float: left;
811 width: 100%;
811 width: 100%;
812 }
812 }
813
813
814 .lock_input_button {
814 .lock_input_button {
815 display: inline;
815 display: inline;
816 }
816 }
817
817
818 .help-block {
818 .help-block {
819 clear: both;
819 clear: both;
820 }
820 }
821 }
821 }
822
822
823 // Notifications
823 // Notifications
824
824
825 .notifications_buttons {
825 .notifications_buttons {
826 margin: 0 0 @space 0;
826 margin: 0 0 @space 0;
827 padding: 0;
827 padding: 0;
828
828
829 .btn {
829 .btn {
830 display: inline-block;
830 display: inline-block;
831 }
831 }
832 }
832 }
833
833
834 .notification-list {
834 .notification-list {
835
835
836 div {
836 div {
837 display: inline-block;
837 display: inline-block;
838 vertical-align: middle;
838 vertical-align: middle;
839 }
839 }
840
840
841 .container {
841 .container {
842 display: block;
842 display: block;
843 margin: 0 0 @padding 0;
843 margin: 0 0 @padding 0;
844 }
844 }
845
845
846 .delete-notifications {
846 .delete-notifications {
847 margin-left: @padding;
847 margin-left: @padding;
848 text-align: right;
848 text-align: right;
849 cursor: pointer;
849 cursor: pointer;
850 }
850 }
851
851
852 .read-notifications {
852 .read-notifications {
853 margin-left: @padding/2;
853 margin-left: @padding/2;
854 text-align: right;
854 text-align: right;
855 width: 35px;
855 width: 35px;
856 cursor: pointer;
856 cursor: pointer;
857 }
857 }
858
858
859 .icon-minus-sign {
859 .icon-minus-sign {
860 color: @alert2;
860 color: @alert2;
861 }
861 }
862
862
863 .icon-ok-sign {
863 .icon-ok-sign {
864 color: @alert1;
864 color: @alert1;
865 }
865 }
866 }
866 }
867
867
868 .user_settings {
868 .user_settings {
869 float: left;
869 float: left;
870 clear: both;
870 clear: both;
871 display: block;
871 display: block;
872 width: 100%;
872 width: 100%;
873
873
874 .gravatar_box {
874 .gravatar_box {
875 margin-bottom: @padding;
875 margin-bottom: @padding;
876
876
877 &:after {
877 &:after {
878 content: " ";
878 content: " ";
879 clear: both;
879 clear: both;
880 width: 100%;
880 width: 100%;
881 }
881 }
882 }
882 }
883
883
884 .fields .field {
884 .fields .field {
885 clear: both;
885 clear: both;
886 }
886 }
887 }
887 }
888
888
889 .advanced_settings {
889 .advanced_settings {
890 margin-bottom: @space;
890 margin-bottom: @space;
891
891
892 .help-block {
892 .help-block {
893 margin-left: 0;
893 margin-left: 0;
894 }
894 }
895
895
896 button + .help-block {
896 button + .help-block {
897 margin-top: @padding;
897 margin-top: @padding;
898 }
898 }
899 }
899 }
900
900
901 // admin settings radio buttons and labels
901 // admin settings radio buttons and labels
902 .label-2 {
902 .label-2 {
903 float: left;
903 float: left;
904 width: @label2-width;
904 width: @label2-width;
905
905
906 label {
906 label {
907 color: @grey1;
907 color: @grey1;
908 }
908 }
909 }
909 }
910 .checkboxes {
910 .checkboxes {
911 float: left;
911 float: left;
912 width: @checkboxes-width;
912 width: @checkboxes-width;
913 margin-bottom: @padding;
913 margin-bottom: @padding;
914
914
915 .checkbox {
915 .checkbox {
916 width: 100%;
916 width: 100%;
917
917
918 label {
918 label {
919 margin: 0;
919 margin: 0;
920 padding: 0;
920 padding: 0;
921 }
921 }
922 }
922 }
923
923
924 .checkbox + .checkbox {
924 .checkbox + .checkbox {
925 display: inline-block;
925 display: inline-block;
926 }
926 }
927
927
928 label {
928 label {
929 margin-right: 1em;
929 margin-right: 1em;
930 }
930 }
931 }
931 }
932
932
933 // CHANGELOG
933 // CHANGELOG
934 .container_header {
934 .container_header {
935 float: left;
935 float: left;
936 display: block;
936 display: block;
937 width: 100%;
937 width: 100%;
938 margin: @padding 0 @padding;
938 margin: @padding 0 @padding;
939
939
940 #filter_changelog {
940 #filter_changelog {
941 float: left;
941 float: left;
942 margin-right: @padding;
942 margin-right: @padding;
943 }
943 }
944
944
945 .breadcrumbs_light {
945 .breadcrumbs_light {
946 display: inline-block;
946 display: inline-block;
947 }
947 }
948 }
948 }
949
949
950 .info_box {
950 .info_box {
951 float: right;
951 float: right;
952 }
952 }
953
953
954
954
955 #graph_nodes {
955 #graph_nodes {
956 padding-top: 43px;
956 padding-top: 43px;
957 }
957 }
958
958
959 #graph_content{
959 #graph_content{
960
960
961 // adjust for table headers so that graph renders properly
961 // adjust for table headers so that graph renders properly
962 // #graph_nodes padding - table cell padding
962 // #graph_nodes padding - table cell padding
963 padding-top: (@space - (@basefontsize * 2.4));
963 padding-top: (@space - (@basefontsize * 2.4));
964
964
965 &.graph_full_width {
965 &.graph_full_width {
966 width: 100%;
966 width: 100%;
967 max-width: 100%;
967 max-width: 100%;
968 }
968 }
969 }
969 }
970
970
971 #graph {
971 #graph {
972 .flag_status {
972 .flag_status {
973 margin: 0;
973 margin: 0;
974 }
974 }
975
975
976 .pagination-left {
976 .pagination-left {
977 float: left;
977 float: left;
978 clear: both;
978 clear: both;
979 }
979 }
980
980
981 .log-container {
981 .log-container {
982 max-width: 345px;
982 max-width: 345px;
983
983
984 .message{
984 .message{
985 max-width: 340px;
985 max-width: 340px;
986 }
986 }
987 }
987 }
988
988
989 .graph-col-wrapper {
989 .graph-col-wrapper {
990 padding-left: 110px;
990 padding-left: 110px;
991
991
992 #graph_nodes {
992 #graph_nodes {
993 width: 100px;
993 width: 100px;
994 margin-left: -110px;
994 margin-left: -110px;
995 float: left;
995 float: left;
996 clear: left;
996 clear: left;
997 }
997 }
998 }
998 }
999
999
1000 .load-more-commits {
1000 .load-more-commits {
1001 text-align: center;
1001 text-align: center;
1002 }
1002 }
1003 .load-more-commits:hover {
1003 .load-more-commits:hover {
1004 background-color: @grey7;
1004 background-color: @grey7;
1005 }
1005 }
1006 .load-more-commits {
1006 .load-more-commits {
1007 a {
1007 a {
1008 display: block;
1008 display: block;
1009 }
1009 }
1010 }
1010 }
1011 }
1011 }
1012
1012
1013 #filter_changelog {
1013 #filter_changelog {
1014 float: left;
1014 float: left;
1015 }
1015 }
1016
1016
1017
1017
1018 //--- THEME ------------------//
1018 //--- THEME ------------------//
1019
1019
1020 #logo {
1020 #logo {
1021 float: left;
1021 float: left;
1022 margin: 9px 0 0 0;
1022 margin: 9px 0 0 0;
1023
1023
1024 .header {
1024 .header {
1025 background-color: transparent;
1025 background-color: transparent;
1026 }
1026 }
1027
1027
1028 a {
1028 a {
1029 display: inline-block;
1029 display: inline-block;
1030 }
1030 }
1031
1031
1032 img {
1032 img {
1033 height:30px;
1033 height:30px;
1034 }
1034 }
1035 }
1035 }
1036
1036
1037 .logo-wrapper {
1037 .logo-wrapper {
1038 float:left;
1038 float:left;
1039 }
1039 }
1040
1040
1041 .branding {
1041 .branding {
1042 float: left;
1042 float: left;
1043 padding: 9px 2px;
1043 padding: 9px 2px;
1044 line-height: 1em;
1044 line-height: 1em;
1045 font-size: @navigation-fontsize;
1045 font-size: @navigation-fontsize;
1046
1046
1047 a {
1047 a {
1048 color: @grey5
1048 color: @grey5
1049 }
1049 }
1050 }
1050 }
1051
1051
1052 img {
1052 img {
1053 border: none;
1053 border: none;
1054 outline: none;
1054 outline: none;
1055 }
1055 }
1056 user-profile-header
1056 user-profile-header
1057 label {
1057 label {
1058
1058
1059 input[type="checkbox"] {
1059 input[type="checkbox"] {
1060 margin-right: 1em;
1060 margin-right: 1em;
1061 }
1061 }
1062 input[type="radio"] {
1062 input[type="radio"] {
1063 margin-right: 1em;
1063 margin-right: 1em;
1064 }
1064 }
1065 }
1065 }
1066
1066
1067 .flag_status {
1067 .flag_status {
1068 margin: 2px;
1068 margin: 2px;
1069 &.under_review {
1069 &.under_review {
1070 .circle(5px, @alert3);
1070 .circle(5px, @alert3);
1071 }
1071 }
1072 &.approved {
1072 &.approved {
1073 .circle(5px, @alert1);
1073 .circle(5px, @alert1);
1074 }
1074 }
1075 &.rejected,
1075 &.rejected,
1076 &.forced_closed{
1076 &.forced_closed{
1077 .circle(5px, @alert2);
1077 .circle(5px, @alert2);
1078 }
1078 }
1079 &.not_reviewed {
1079 &.not_reviewed {
1080 .circle(5px, @grey5);
1080 .circle(5px, @grey5);
1081 }
1081 }
1082 }
1082 }
1083
1083
1084 .flag_status_comment_box {
1084 .flag_status_comment_box {
1085 margin: 5px 6px 0px 2px;
1085 margin: 5px 6px 0px 2px;
1086 }
1086 }
1087 .test_pattern_preview {
1087 .test_pattern_preview {
1088 margin: @space 0;
1088 margin: @space 0;
1089
1089
1090 p {
1090 p {
1091 margin-bottom: 0;
1091 margin-bottom: 0;
1092 border-bottom: @border-thickness solid @border-default-color;
1092 border-bottom: @border-thickness solid @border-default-color;
1093 color: @grey3;
1093 color: @grey3;
1094 }
1094 }
1095
1095
1096 .btn {
1096 .btn {
1097 margin-bottom: @padding;
1097 margin-bottom: @padding;
1098 }
1098 }
1099 }
1099 }
1100 #test_pattern_result {
1100 #test_pattern_result {
1101 display: none;
1101 display: none;
1102 &:extend(pre);
1102 &:extend(pre);
1103 padding: .9em;
1103 padding: .9em;
1104 color: @grey3;
1104 color: @grey3;
1105 background-color: @grey7;
1105 background-color: @grey7;
1106 border-right: @border-thickness solid @border-default-color;
1106 border-right: @border-thickness solid @border-default-color;
1107 border-bottom: @border-thickness solid @border-default-color;
1107 border-bottom: @border-thickness solid @border-default-color;
1108 border-left: @border-thickness solid @border-default-color;
1108 border-left: @border-thickness solid @border-default-color;
1109 }
1109 }
1110
1110
1111 #repo_vcs_settings {
1111 #repo_vcs_settings {
1112 #inherit_overlay_vcs_default {
1112 #inherit_overlay_vcs_default {
1113 display: none;
1113 display: none;
1114 }
1114 }
1115 #inherit_overlay_vcs_custom {
1115 #inherit_overlay_vcs_custom {
1116 display: custom;
1116 display: custom;
1117 }
1117 }
1118 &.inherited {
1118 &.inherited {
1119 #inherit_overlay_vcs_default {
1119 #inherit_overlay_vcs_default {
1120 display: block;
1120 display: block;
1121 }
1121 }
1122 #inherit_overlay_vcs_custom {
1122 #inherit_overlay_vcs_custom {
1123 display: none;
1123 display: none;
1124 }
1124 }
1125 }
1125 }
1126 }
1126 }
1127
1127
1128 .issue-tracker-link {
1128 .issue-tracker-link {
1129 color: @rcblue;
1129 color: @rcblue;
1130 }
1130 }
1131
1131
1132 // Issue Tracker Table Show/Hide
1132 // Issue Tracker Table Show/Hide
1133 #repo_issue_tracker {
1133 #repo_issue_tracker {
1134 #inherit_overlay {
1134 #inherit_overlay {
1135 display: none;
1135 display: none;
1136 }
1136 }
1137 #custom_overlay {
1137 #custom_overlay {
1138 display: custom;
1138 display: custom;
1139 }
1139 }
1140 &.inherited {
1140 &.inherited {
1141 #inherit_overlay {
1141 #inherit_overlay {
1142 display: block;
1142 display: block;
1143 }
1143 }
1144 #custom_overlay {
1144 #custom_overlay {
1145 display: none;
1145 display: none;
1146 }
1146 }
1147 }
1147 }
1148 }
1148 }
1149 table.issuetracker {
1149 table.issuetracker {
1150 &.readonly {
1150 &.readonly {
1151 tr, td {
1151 tr, td {
1152 color: @grey3;
1152 color: @grey3;
1153 }
1153 }
1154 }
1154 }
1155 .edit {
1155 .edit {
1156 display: none;
1156 display: none;
1157 }
1157 }
1158 .editopen {
1158 .editopen {
1159 .edit {
1159 .edit {
1160 display: inline;
1160 display: inline;
1161 }
1161 }
1162 .entry {
1162 .entry {
1163 display: none;
1163 display: none;
1164 }
1164 }
1165 }
1165 }
1166 tr td.td-action {
1166 tr td.td-action {
1167 min-width: 117px;
1167 min-width: 117px;
1168 }
1168 }
1169 td input {
1169 td input {
1170 max-width: none;
1170 max-width: none;
1171 min-width: 30px;
1171 min-width: 30px;
1172 width: 80%;
1172 width: 80%;
1173 }
1173 }
1174 .issuetracker_pref input {
1174 .issuetracker_pref input {
1175 width: 40%;
1175 width: 40%;
1176 }
1176 }
1177 input.edit_issuetracker_update {
1177 input.edit_issuetracker_update {
1178 margin-right: 0;
1178 margin-right: 0;
1179 width: auto;
1179 width: auto;
1180 }
1180 }
1181 }
1181 }
1182
1182
1183 table.integrations {
1183 table.integrations {
1184 .td-icon {
1184 .td-icon {
1185 width: 20px;
1185 width: 20px;
1186 .integration-icon {
1186 .integration-icon {
1187 height: 20px;
1187 height: 20px;
1188 width: 20px;
1188 width: 20px;
1189 }
1189 }
1190 }
1190 }
1191 }
1191 }
1192
1192
1193 .integrations {
1193 .integrations {
1194 a.integration-box {
1194 a.integration-box {
1195 color: @text-color;
1195 color: @text-color;
1196 &:hover {
1196 &:hover {
1197 .panel {
1197 .panel {
1198 background: #fbfbfb;
1198 background: #fbfbfb;
1199 }
1199 }
1200 }
1200 }
1201 .integration-icon {
1201 .integration-icon {
1202 width: 30px;
1202 width: 30px;
1203 height: 30px;
1203 height: 30px;
1204 margin-right: 20px;
1204 margin-right: 20px;
1205 float: left;
1205 float: left;
1206 }
1206 }
1207
1207
1208 .panel-body {
1208 .panel-body {
1209 padding: 10px;
1209 padding: 10px;
1210 }
1210 }
1211 .panel {
1211 .panel {
1212 margin-bottom: 10px;
1212 margin-bottom: 10px;
1213 }
1213 }
1214 h2 {
1214 h2 {
1215 display: inline-block;
1215 display: inline-block;
1216 margin: 0;
1216 margin: 0;
1217 min-width: 140px;
1217 min-width: 140px;
1218 }
1218 }
1219 }
1219 }
1220 a.integration-box.dummy-integration {
1220 a.integration-box.dummy-integration {
1221 color: @grey4
1221 color: @grey4
1222 }
1222 }
1223 }
1223 }
1224
1224
1225 //Permissions Settings
1225 //Permissions Settings
1226 #add_perm {
1226 #add_perm {
1227 margin: 0 0 @padding;
1227 margin: 0 0 @padding;
1228 cursor: pointer;
1228 cursor: pointer;
1229 }
1229 }
1230
1230
1231 .perm_ac {
1231 .perm_ac {
1232 input {
1232 input {
1233 width: 95%;
1233 width: 95%;
1234 }
1234 }
1235 }
1235 }
1236
1236
1237 .autocomplete-suggestions {
1237 .autocomplete-suggestions {
1238 width: auto !important; // overrides autocomplete.js
1238 width: auto !important; // overrides autocomplete.js
1239 min-width: 278px;
1239 min-width: 278px;
1240 margin: 0;
1240 margin: 0;
1241 border: @border-thickness solid @grey5;
1241 border: @border-thickness solid @grey5;
1242 border-radius: @border-radius;
1242 border-radius: @border-radius;
1243 color: @grey2;
1243 color: @grey2;
1244 background-color: white;
1244 background-color: white;
1245 }
1245 }
1246
1246
1247 .autocomplete-selected {
1247 .autocomplete-selected {
1248 background: #F0F0F0;
1248 background: #F0F0F0;
1249 }
1249 }
1250
1250
1251 .ac-container-wrap {
1251 .ac-container-wrap {
1252 margin: 0;
1252 margin: 0;
1253 padding: 8px;
1253 padding: 8px;
1254 border-bottom: @border-thickness solid @grey5;
1254 border-bottom: @border-thickness solid @grey5;
1255 list-style-type: none;
1255 list-style-type: none;
1256 cursor: pointer;
1256 cursor: pointer;
1257
1257
1258 &:hover {
1258 &:hover {
1259 background-color: @grey7;
1259 background-color: @grey7;
1260 }
1260 }
1261
1261
1262 img {
1262 img {
1263 height: @gravatar-size;
1263 height: @gravatar-size;
1264 width: @gravatar-size;
1264 width: @gravatar-size;
1265 margin-right: 1em;
1265 margin-right: 1em;
1266 }
1266 }
1267
1267
1268 strong {
1268 strong {
1269 font-weight: normal;
1269 font-weight: normal;
1270 }
1270 }
1271 }
1271 }
1272
1272
1273 // Settings Dropdown
1273 // Settings Dropdown
1274 .user-menu .container {
1274 .user-menu .container {
1275 padding: 0 4px;
1275 padding: 0 4px;
1276 margin: 0;
1276 margin: 0;
1277 }
1277 }
1278
1278
1279 .user-menu .gravatar {
1279 .user-menu .gravatar {
1280 cursor: pointer;
1280 cursor: pointer;
1281 }
1281 }
1282
1282
1283 .codeblock {
1283 .codeblock {
1284 margin-bottom: @padding;
1284 margin-bottom: @padding;
1285 clear: both;
1285 clear: both;
1286
1286
1287 .stats {
1287 .stats {
1288 overflow: hidden;
1288 overflow: hidden;
1289 }
1289 }
1290
1290
1291 .message{
1291 .message{
1292 textarea{
1292 textarea{
1293 margin: 0;
1293 margin: 0;
1294 }
1294 }
1295 }
1295 }
1296
1296
1297 .code-header {
1297 .code-header {
1298 .stats {
1298 .stats {
1299 line-height: 2em;
1299 line-height: 2em;
1300
1300
1301 .revision_id {
1301 .revision_id {
1302 margin-left: 0;
1302 margin-left: 0;
1303 }
1303 }
1304 .buttons {
1304 .buttons {
1305 padding-right: 0;
1305 padding-right: 0;
1306 }
1306 }
1307 }
1307 }
1308
1308
1309 .item{
1309 .item{
1310 margin-right: 0.5em;
1310 margin-right: 0.5em;
1311 }
1311 }
1312 }
1312 }
1313
1313
1314 #editor_container{
1314 #editor_container{
1315 position: relative;
1315 position: relative;
1316 margin: @padding;
1316 margin: @padding;
1317 }
1317 }
1318 }
1318 }
1319
1319
1320 #file_history_container {
1320 #file_history_container {
1321 display: none;
1321 display: none;
1322 }
1322 }
1323
1323
1324 .file-history-inner {
1324 .file-history-inner {
1325 margin-bottom: 10px;
1325 margin-bottom: 10px;
1326 }
1326 }
1327
1327
1328 // Pull Requests
1328 // Pull Requests
1329 .summary-details {
1329 .summary-details {
1330 width: 72%;
1330 width: 72%;
1331 }
1331 }
1332 .pr-summary {
1332 .pr-summary {
1333 border-bottom: @border-thickness solid @grey5;
1333 border-bottom: @border-thickness solid @grey5;
1334 margin-bottom: @space;
1334 margin-bottom: @space;
1335 }
1335 }
1336 .reviewers-title {
1336 .reviewers-title {
1337 width: 25%;
1337 width: 25%;
1338 min-width: 200px;
1338 min-width: 200px;
1339 }
1339 }
1340 .reviewers {
1340 .reviewers {
1341 width: 25%;
1341 width: 25%;
1342 min-width: 200px;
1342 min-width: 200px;
1343 }
1343 }
1344 .reviewers ul li {
1344 .reviewers ul li {
1345 position: relative;
1345 position: relative;
1346 width: 100%;
1346 width: 100%;
1347 padding-bottom: 8px;
1347 padding-bottom: 8px;
1348 list-style-type: none;
1348 list-style-type: none;
1349 }
1349 }
1350
1350
1351 .reviewer_entry {
1351 .reviewer_entry {
1352 min-height: 55px;
1352 min-height: 55px;
1353 }
1353 }
1354
1354
1355 .reviewers_member {
1355 .reviewers_member {
1356 width: 100%;
1356 width: 100%;
1357 overflow: auto;
1357 overflow: auto;
1358 }
1358 }
1359 .reviewer_reason {
1359 .reviewer_reason {
1360 padding-left: 20px;
1360 padding-left: 20px;
1361 line-height: 1.5em;
1361 line-height: 1.5em;
1362 }
1362 }
1363 .reviewer_status {
1363 .reviewer_status {
1364 display: inline-block;
1364 display: inline-block;
1365 vertical-align: top;
1365 vertical-align: top;
1366 width: 25px;
1366 width: 25px;
1367 min-width: 25px;
1367 min-width: 25px;
1368 height: 1.2em;
1368 height: 1.2em;
1369 margin-top: 3px;
1369 margin-top: 3px;
1370 line-height: 1em;
1370 line-height: 1em;
1371 }
1371 }
1372
1372
1373 .reviewer_name {
1373 .reviewer_name {
1374 display: inline-block;
1374 display: inline-block;
1375 max-width: 83%;
1375 max-width: 83%;
1376 padding-right: 20px;
1376 padding-right: 20px;
1377 vertical-align: middle;
1377 vertical-align: middle;
1378 line-height: 1;
1378 line-height: 1;
1379
1379
1380 .rc-user {
1380 .rc-user {
1381 min-width: 0;
1381 min-width: 0;
1382 margin: -2px 1em 0 0;
1382 margin: -2px 1em 0 0;
1383 }
1383 }
1384
1384
1385 .reviewer {
1385 .reviewer {
1386 float: left;
1386 float: left;
1387 }
1387 }
1388 }
1388 }
1389
1389
1390 .reviewer_member_mandatory {
1390 .reviewer_member_mandatory {
1391 position: absolute;
1391 position: absolute;
1392 left: 15px;
1392 left: 15px;
1393 top: 8px;
1393 top: 8px;
1394 width: 16px;
1394 width: 16px;
1395 font-size: 11px;
1395 font-size: 11px;
1396 margin: 0;
1396 margin: 0;
1397 padding: 0;
1397 padding: 0;
1398 color: black;
1398 color: black;
1399 }
1399 }
1400
1400
1401 .reviewer_member_mandatory_remove,
1401 .reviewer_member_mandatory_remove,
1402 .reviewer_member_remove {
1402 .reviewer_member_remove {
1403 position: absolute;
1403 position: absolute;
1404 right: 0;
1404 right: 0;
1405 top: 0;
1405 top: 0;
1406 width: 16px;
1406 width: 16px;
1407 margin-bottom: 10px;
1407 margin-bottom: 10px;
1408 padding: 0;
1408 padding: 0;
1409 color: black;
1409 color: black;
1410 }
1410 }
1411
1411
1412 .reviewer_member_mandatory_remove {
1412 .reviewer_member_mandatory_remove {
1413 color: @grey4;
1413 color: @grey4;
1414 }
1414 }
1415
1415
1416 .reviewer_member_status {
1416 .reviewer_member_status {
1417 margin-top: 5px;
1417 margin-top: 5px;
1418 }
1418 }
1419 .pr-summary #summary{
1419 .pr-summary #summary{
1420 width: 100%;
1420 width: 100%;
1421 }
1421 }
1422 .pr-summary .action_button:hover {
1422 .pr-summary .action_button:hover {
1423 border: 0;
1423 border: 0;
1424 cursor: pointer;
1424 cursor: pointer;
1425 }
1425 }
1426 .pr-details-title {
1426 .pr-details-title {
1427 padding-bottom: 8px;
1427 padding-bottom: 8px;
1428 border-bottom: @border-thickness solid @grey5;
1428 border-bottom: @border-thickness solid @grey5;
1429
1429
1430 .action_button.disabled {
1430 .action_button.disabled {
1431 color: @grey4;
1431 color: @grey4;
1432 cursor: inherit;
1432 cursor: inherit;
1433 }
1433 }
1434 .action_button {
1434 .action_button {
1435 color: @rcblue;
1435 color: @rcblue;
1436 }
1436 }
1437 }
1437 }
1438 .pr-details-content {
1438 .pr-details-content {
1439 margin-top: @textmargin;
1439 margin-top: @textmargin;
1440 margin-bottom: @textmargin;
1440 margin-bottom: @textmargin;
1441 }
1441 }
1442
1442
1443 .pr-reviewer-rules {
1443 .pr-reviewer-rules {
1444 padding: 10px 0px 20px 0px;
1444 padding: 10px 0px 20px 0px;
1445 }
1445 }
1446
1446
1447 .group_members {
1447 .group_members {
1448 margin-top: 0;
1448 margin-top: 0;
1449 padding: 0;
1449 padding: 0;
1450 list-style: outside none none;
1450 list-style: outside none none;
1451
1451
1452 img {
1452 img {
1453 height: @gravatar-size;
1453 height: @gravatar-size;
1454 width: @gravatar-size;
1454 width: @gravatar-size;
1455 margin-right: .5em;
1455 margin-right: .5em;
1456 margin-left: 3px;
1456 margin-left: 3px;
1457 }
1457 }
1458
1458
1459 .to-delete {
1459 .to-delete {
1460 .user {
1460 .user {
1461 text-decoration: line-through;
1461 text-decoration: line-through;
1462 }
1462 }
1463 }
1463 }
1464 }
1464 }
1465
1465
1466 .compare_view_commits_title {
1466 .compare_view_commits_title {
1467 .disabled {
1467 .disabled {
1468 cursor: inherit;
1468 cursor: inherit;
1469 &:hover{
1469 &:hover{
1470 background-color: inherit;
1470 background-color: inherit;
1471 color: inherit;
1471 color: inherit;
1472 }
1472 }
1473 }
1473 }
1474 }
1474 }
1475
1475
1476 .subtitle-compare {
1476 .subtitle-compare {
1477 margin: -15px 0px 0px 0px;
1477 margin: -15px 0px 0px 0px;
1478 }
1478 }
1479
1479
1480 .comments-summary-td {
1480 .comments-summary-td {
1481 border-top: 1px dashed @grey5;
1481 border-top: 1px dashed @grey5;
1482 }
1482 }
1483
1483
1484 // new entry in group_members
1484 // new entry in group_members
1485 .td-author-new-entry {
1485 .td-author-new-entry {
1486 background-color: rgba(red(@alert1), green(@alert1), blue(@alert1), 0.3);
1486 background-color: rgba(red(@alert1), green(@alert1), blue(@alert1), 0.3);
1487 }
1487 }
1488
1488
1489 .usergroup_member_remove {
1489 .usergroup_member_remove {
1490 width: 16px;
1490 width: 16px;
1491 margin-bottom: 10px;
1491 margin-bottom: 10px;
1492 padding: 0;
1492 padding: 0;
1493 color: black !important;
1493 color: black !important;
1494 cursor: pointer;
1494 cursor: pointer;
1495 }
1495 }
1496
1496
1497 .reviewer_ac .ac-input {
1497 .reviewer_ac .ac-input {
1498 width: 92%;
1498 width: 92%;
1499 margin-bottom: 1em;
1499 margin-bottom: 1em;
1500 }
1500 }
1501
1501
1502 .compare_view_commits tr{
1502 .compare_view_commits tr{
1503 height: 20px;
1503 height: 20px;
1504 }
1504 }
1505 .compare_view_commits td {
1505 .compare_view_commits td {
1506 vertical-align: top;
1506 vertical-align: top;
1507 padding-top: 10px;
1507 padding-top: 10px;
1508 }
1508 }
1509 .compare_view_commits .author {
1509 .compare_view_commits .author {
1510 margin-left: 5px;
1510 margin-left: 5px;
1511 }
1511 }
1512
1512
1513 .compare_view_commits {
1513 .compare_view_commits {
1514 .color-a {
1514 .color-a {
1515 color: @alert1;
1515 color: @alert1;
1516 }
1516 }
1517
1517
1518 .color-c {
1518 .color-c {
1519 color: @color3;
1519 color: @color3;
1520 }
1520 }
1521
1521
1522 .color-r {
1522 .color-r {
1523 color: @color5;
1523 color: @color5;
1524 }
1524 }
1525
1525
1526 .color-a-bg {
1526 .color-a-bg {
1527 background-color: @alert1;
1527 background-color: @alert1;
1528 }
1528 }
1529
1529
1530 .color-c-bg {
1530 .color-c-bg {
1531 background-color: @alert3;
1531 background-color: @alert3;
1532 }
1532 }
1533
1533
1534 .color-r-bg {
1534 .color-r-bg {
1535 background-color: @alert2;
1535 background-color: @alert2;
1536 }
1536 }
1537
1537
1538 .color-a-border {
1538 .color-a-border {
1539 border: 1px solid @alert1;
1539 border: 1px solid @alert1;
1540 }
1540 }
1541
1541
1542 .color-c-border {
1542 .color-c-border {
1543 border: 1px solid @alert3;
1543 border: 1px solid @alert3;
1544 }
1544 }
1545
1545
1546 .color-r-border {
1546 .color-r-border {
1547 border: 1px solid @alert2;
1547 border: 1px solid @alert2;
1548 }
1548 }
1549
1549
1550 .commit-change-indicator {
1550 .commit-change-indicator {
1551 width: 15px;
1551 width: 15px;
1552 height: 15px;
1552 height: 15px;
1553 position: relative;
1553 position: relative;
1554 left: 15px;
1554 left: 15px;
1555 }
1555 }
1556
1556
1557 .commit-change-content {
1557 .commit-change-content {
1558 text-align: center;
1558 text-align: center;
1559 vertical-align: middle;
1559 vertical-align: middle;
1560 line-height: 15px;
1560 line-height: 15px;
1561 }
1561 }
1562 }
1562 }
1563
1563
1564 .compare_view_filepath {
1564 .compare_view_filepath {
1565 color: @grey1;
1565 color: @grey1;
1566 }
1566 }
1567
1567
1568 .show_more {
1568 .show_more {
1569 display: inline-block;
1569 display: inline-block;
1570 width: 0;
1570 width: 0;
1571 height: 0;
1571 height: 0;
1572 vertical-align: middle;
1572 vertical-align: middle;
1573 content: "";
1573 content: "";
1574 border: 4px solid;
1574 border: 4px solid;
1575 border-right-color: transparent;
1575 border-right-color: transparent;
1576 border-bottom-color: transparent;
1576 border-bottom-color: transparent;
1577 border-left-color: transparent;
1577 border-left-color: transparent;
1578 font-size: 0;
1578 font-size: 0;
1579 }
1579 }
1580
1580
1581 .journal_more .show_more {
1581 .journal_more .show_more {
1582 display: inline;
1582 display: inline;
1583
1583
1584 &:after {
1584 &:after {
1585 content: none;
1585 content: none;
1586 }
1586 }
1587 }
1587 }
1588
1588
1589 .compare_view_commits .collapse_commit:after {
1589 .compare_view_commits .collapse_commit:after {
1590 cursor: pointer;
1590 cursor: pointer;
1591 content: "\00A0\25B4";
1591 content: "\00A0\25B4";
1592 margin-left: -3px;
1592 margin-left: -3px;
1593 font-size: 17px;
1593 font-size: 17px;
1594 color: @grey4;
1594 color: @grey4;
1595 }
1595 }
1596
1596
1597 .diff_links {
1597 .diff_links {
1598 margin-left: 8px;
1598 margin-left: 8px;
1599 }
1599 }
1600
1600
1601 div.ancestor {
1601 div.ancestor {
1602 margin: -30px 0px;
1602 margin: -30px 0px;
1603 }
1603 }
1604
1604
1605 .cs_icon_td input[type="checkbox"] {
1605 .cs_icon_td input[type="checkbox"] {
1606 display: none;
1606 display: none;
1607 }
1607 }
1608
1608
1609 .cs_icon_td .expand_file_icon:after {
1609 .cs_icon_td .expand_file_icon:after {
1610 cursor: pointer;
1610 cursor: pointer;
1611 content: "\00A0\25B6";
1611 content: "\00A0\25B6";
1612 font-size: 12px;
1612 font-size: 12px;
1613 color: @grey4;
1613 color: @grey4;
1614 }
1614 }
1615
1615
1616 .cs_icon_td .collapse_file_icon:after {
1616 .cs_icon_td .collapse_file_icon:after {
1617 cursor: pointer;
1617 cursor: pointer;
1618 content: "\00A0\25BC";
1618 content: "\00A0\25BC";
1619 font-size: 12px;
1619 font-size: 12px;
1620 color: @grey4;
1620 color: @grey4;
1621 }
1621 }
1622
1622
1623 /*new binary
1623 /*new binary
1624 NEW_FILENODE = 1
1624 NEW_FILENODE = 1
1625 DEL_FILENODE = 2
1625 DEL_FILENODE = 2
1626 MOD_FILENODE = 3
1626 MOD_FILENODE = 3
1627 RENAMED_FILENODE = 4
1627 RENAMED_FILENODE = 4
1628 COPIED_FILENODE = 5
1628 COPIED_FILENODE = 5
1629 CHMOD_FILENODE = 6
1629 CHMOD_FILENODE = 6
1630 BIN_FILENODE = 7
1630 BIN_FILENODE = 7
1631 */
1631 */
1632 .cs_files_expand {
1632 .cs_files_expand {
1633 font-size: @basefontsize + 5px;
1633 font-size: @basefontsize + 5px;
1634 line-height: 1.8em;
1634 line-height: 1.8em;
1635 float: right;
1635 float: right;
1636 }
1636 }
1637
1637
1638 .cs_files_expand span{
1638 .cs_files_expand span{
1639 color: @rcblue;
1639 color: @rcblue;
1640 cursor: pointer;
1640 cursor: pointer;
1641 }
1641 }
1642 .cs_files {
1642 .cs_files {
1643 clear: both;
1643 clear: both;
1644 padding-bottom: @padding;
1644 padding-bottom: @padding;
1645
1645
1646 .cur_cs {
1646 .cur_cs {
1647 margin: 10px 2px;
1647 margin: 10px 2px;
1648 font-weight: bold;
1648 font-weight: bold;
1649 }
1649 }
1650
1650
1651 .node {
1651 .node {
1652 float: left;
1652 float: left;
1653 }
1653 }
1654
1654
1655 .changes {
1655 .changes {
1656 float: right;
1656 float: right;
1657 color: white;
1657 color: white;
1658 font-size: @basefontsize - 4px;
1658 font-size: @basefontsize - 4px;
1659 margin-top: 4px;
1659 margin-top: 4px;
1660 opacity: 0.6;
1660 opacity: 0.6;
1661 filter: Alpha(opacity=60); /* IE8 and earlier */
1661 filter: Alpha(opacity=60); /* IE8 and earlier */
1662
1662
1663 .added {
1663 .added {
1664 background-color: @alert1;
1664 background-color: @alert1;
1665 float: left;
1665 float: left;
1666 text-align: center;
1666 text-align: center;
1667 }
1667 }
1668
1668
1669 .deleted {
1669 .deleted {
1670 background-color: @alert2;
1670 background-color: @alert2;
1671 float: left;
1671 float: left;
1672 text-align: center;
1672 text-align: center;
1673 }
1673 }
1674
1674
1675 .bin {
1675 .bin {
1676 background-color: @alert1;
1676 background-color: @alert1;
1677 text-align: center;
1677 text-align: center;
1678 }
1678 }
1679
1679
1680 /*new binary*/
1680 /*new binary*/
1681 .bin.bin1 {
1681 .bin.bin1 {
1682 background-color: @alert1;
1682 background-color: @alert1;
1683 text-align: center;
1683 text-align: center;
1684 }
1684 }
1685
1685
1686 /*deleted binary*/
1686 /*deleted binary*/
1687 .bin.bin2 {
1687 .bin.bin2 {
1688 background-color: @alert2;
1688 background-color: @alert2;
1689 text-align: center;
1689 text-align: center;
1690 }
1690 }
1691
1691
1692 /*mod binary*/
1692 /*mod binary*/
1693 .bin.bin3 {
1693 .bin.bin3 {
1694 background-color: @grey2;
1694 background-color: @grey2;
1695 text-align: center;
1695 text-align: center;
1696 }
1696 }
1697
1697
1698 /*rename file*/
1698 /*rename file*/
1699 .bin.bin4 {
1699 .bin.bin4 {
1700 background-color: @alert4;
1700 background-color: @alert4;
1701 text-align: center;
1701 text-align: center;
1702 }
1702 }
1703
1703
1704 /*copied file*/
1704 /*copied file*/
1705 .bin.bin5 {
1705 .bin.bin5 {
1706 background-color: @alert4;
1706 background-color: @alert4;
1707 text-align: center;
1707 text-align: center;
1708 }
1708 }
1709
1709
1710 /*chmod file*/
1710 /*chmod file*/
1711 .bin.bin6 {
1711 .bin.bin6 {
1712 background-color: @grey2;
1712 background-color: @grey2;
1713 text-align: center;
1713 text-align: center;
1714 }
1714 }
1715 }
1715 }
1716 }
1716 }
1717
1717
1718 .cs_files .cs_added, .cs_files .cs_A,
1718 .cs_files .cs_added, .cs_files .cs_A,
1719 .cs_files .cs_added, .cs_files .cs_M,
1719 .cs_files .cs_added, .cs_files .cs_M,
1720 .cs_files .cs_added, .cs_files .cs_D {
1720 .cs_files .cs_added, .cs_files .cs_D {
1721 height: 16px;
1721 height: 16px;
1722 padding-right: 10px;
1722 padding-right: 10px;
1723 margin-top: 7px;
1723 margin-top: 7px;
1724 text-align: left;
1724 text-align: left;
1725 }
1725 }
1726
1726
1727 .cs_icon_td {
1727 .cs_icon_td {
1728 min-width: 16px;
1728 min-width: 16px;
1729 width: 16px;
1729 width: 16px;
1730 }
1730 }
1731
1731
1732 .pull-request-merge {
1732 .pull-request-merge {
1733 border: 1px solid @grey5;
1733 border: 1px solid @grey5;
1734 padding: 10px 0px 20px;
1734 padding: 10px 0px 20px;
1735 margin-top: 10px;
1735 margin-top: 10px;
1736 margin-bottom: 20px;
1736 margin-bottom: 20px;
1737 }
1737 }
1738
1738
1739 .pull-request-merge ul {
1739 .pull-request-merge ul {
1740 padding: 0px 0px;
1740 padding: 0px 0px;
1741 }
1741 }
1742
1742
1743 .pull-request-merge li {
1743 .pull-request-merge li {
1744 list-style-type: none;
1744 list-style-type: none;
1745 }
1745 }
1746
1746
1747 .pull-request-merge .pull-request-wrap {
1747 .pull-request-merge .pull-request-wrap {
1748 height: auto;
1748 height: auto;
1749 padding: 0px 0px;
1749 padding: 0px 0px;
1750 text-align: right;
1750 text-align: right;
1751 }
1751 }
1752
1752
1753 .pull-request-merge span {
1753 .pull-request-merge span {
1754 margin-right: 5px;
1754 margin-right: 5px;
1755 }
1755 }
1756
1756
1757 .pull-request-merge-actions {
1757 .pull-request-merge-actions {
1758 min-height: 30px;
1758 min-height: 30px;
1759 padding: 0px 0px;
1759 padding: 0px 0px;
1760 }
1760 }
1761
1761
1762 .pull-request-merge-info {
1762 .pull-request-merge-info {
1763 padding: 0px 5px 5px 0px;
1763 padding: 0px 5px 5px 0px;
1764 }
1764 }
1765
1765
1766 .merge-status {
1766 .merge-status {
1767 margin-right: 5px;
1767 margin-right: 5px;
1768 }
1768 }
1769
1769
1770 .merge-message {
1770 .merge-message {
1771 font-size: 1.2em
1771 font-size: 1.2em
1772 }
1772 }
1773
1773
1774 .merge-message.success i,
1774 .merge-message.success i,
1775 .merge-icon.success i {
1775 .merge-icon.success i {
1776 color:@alert1;
1776 color:@alert1;
1777 }
1777 }
1778
1778
1779 .merge-message.warning i,
1779 .merge-message.warning i,
1780 .merge-icon.warning i {
1780 .merge-icon.warning i {
1781 color: @alert3;
1781 color: @alert3;
1782 }
1782 }
1783
1783
1784 .merge-message.error i,
1784 .merge-message.error i,
1785 .merge-icon.error i {
1785 .merge-icon.error i {
1786 color:@alert2;
1786 color:@alert2;
1787 }
1787 }
1788
1788
1789 .pr-versions {
1789 .pr-versions {
1790 font-size: 1.1em;
1790 font-size: 1.1em;
1791
1791
1792 table {
1792 table {
1793 padding: 0px 5px;
1793 padding: 0px 5px;
1794 }
1794 }
1795
1795
1796 td {
1796 td {
1797 line-height: 15px;
1797 line-height: 15px;
1798 }
1798 }
1799
1799
1800 .flag_status {
1800 .flag_status {
1801 margin: 0;
1801 margin: 0;
1802 }
1802 }
1803
1803
1804 .compare-radio-button {
1804 .compare-radio-button {
1805 position: relative;
1805 position: relative;
1806 top: -3px;
1806 top: -3px;
1807 }
1807 }
1808 }
1808 }
1809
1809
1810
1810
1811 #close_pull_request {
1811 #close_pull_request {
1812 margin-right: 0px;
1812 margin-right: 0px;
1813 }
1813 }
1814
1814
1815 .empty_data {
1815 .empty_data {
1816 color: @grey4;
1816 color: @grey4;
1817 }
1817 }
1818
1818
1819 #changeset_compare_view_content {
1819 #changeset_compare_view_content {
1820 margin-bottom: @space;
1820 margin-bottom: @space;
1821 clear: both;
1821 clear: both;
1822 width: 100%;
1822 width: 100%;
1823 box-sizing: border-box;
1823 box-sizing: border-box;
1824 .border-radius(@border-radius);
1824 .border-radius(@border-radius);
1825
1825
1826 .help-block {
1826 .help-block {
1827 margin: @padding 0;
1827 margin: @padding 0;
1828 color: @text-color;
1828 color: @text-color;
1829 &.pre-formatting {
1829 &.pre-formatting {
1830 white-space: pre;
1830 white-space: pre;
1831 }
1831 }
1832 }
1832 }
1833
1833
1834 .empty_data {
1834 .empty_data {
1835 margin: @padding 0;
1835 margin: @padding 0;
1836 }
1836 }
1837
1837
1838 .alert {
1838 .alert {
1839 margin-bottom: @space;
1839 margin-bottom: @space;
1840 }
1840 }
1841 }
1841 }
1842
1842
1843 .table_disp {
1843 .table_disp {
1844 .status {
1844 .status {
1845 width: auto;
1845 width: auto;
1846
1846
1847 .flag_status {
1847 .flag_status {
1848 float: left;
1848 float: left;
1849 }
1849 }
1850 }
1850 }
1851 }
1851 }
1852
1852
1853
1853
1854 .creation_in_progress {
1854 .creation_in_progress {
1855 color: @grey4
1855 color: @grey4
1856 }
1856 }
1857
1857
1858 .status_box_menu {
1858 .status_box_menu {
1859 margin: 0;
1859 margin: 0;
1860 }
1860 }
1861
1861
1862 .notification-table{
1862 .notification-table{
1863 margin-bottom: @space;
1863 margin-bottom: @space;
1864 display: table;
1864 display: table;
1865 width: 100%;
1865 width: 100%;
1866
1866
1867 .container{
1867 .container{
1868 display: table-row;
1868 display: table-row;
1869
1869
1870 .notification-header{
1870 .notification-header{
1871 border-bottom: @border-thickness solid @border-default-color;
1871 border-bottom: @border-thickness solid @border-default-color;
1872 }
1872 }
1873
1873
1874 .notification-subject{
1874 .notification-subject{
1875 display: table-cell;
1875 display: table-cell;
1876 }
1876 }
1877 }
1877 }
1878 }
1878 }
1879
1879
1880 // Notifications
1880 // Notifications
1881 .notification-header{
1881 .notification-header{
1882 display: table;
1882 display: table;
1883 width: 100%;
1883 width: 100%;
1884 padding: floor(@basefontsize/2) 0;
1884 padding: floor(@basefontsize/2) 0;
1885 line-height: 1em;
1885 line-height: 1em;
1886
1886
1887 .desc, .delete-notifications, .read-notifications{
1887 .desc, .delete-notifications, .read-notifications{
1888 display: table-cell;
1888 display: table-cell;
1889 text-align: left;
1889 text-align: left;
1890 }
1890 }
1891
1891
1892 .desc{
1892 .desc{
1893 width: 1163px;
1893 width: 1163px;
1894 }
1894 }
1895
1895
1896 .delete-notifications, .read-notifications{
1896 .delete-notifications, .read-notifications{
1897 width: 35px;
1897 width: 35px;
1898 min-width: 35px; //fixes when only one button is displayed
1898 min-width: 35px; //fixes when only one button is displayed
1899 }
1899 }
1900 }
1900 }
1901
1901
1902 .notification-body {
1902 .notification-body {
1903 .markdown-block,
1903 .markdown-block,
1904 .rst-block {
1904 .rst-block {
1905 padding: @padding 0;
1905 padding: @padding 0;
1906 }
1906 }
1907
1907
1908 .notification-subject {
1908 .notification-subject {
1909 padding: @textmargin 0;
1909 padding: @textmargin 0;
1910 border-bottom: @border-thickness solid @border-default-color;
1910 border-bottom: @border-thickness solid @border-default-color;
1911 }
1911 }
1912 }
1912 }
1913
1913
1914
1914
1915 .notifications_buttons{
1915 .notifications_buttons{
1916 float: right;
1916 float: right;
1917 }
1917 }
1918
1918
1919 #notification-status{
1919 #notification-status{
1920 display: inline;
1920 display: inline;
1921 }
1921 }
1922
1922
1923 // Repositories
1923 // Repositories
1924
1924
1925 #summary.fields{
1925 #summary.fields{
1926 display: table;
1926 display: table;
1927
1927
1928 .field{
1928 .field{
1929 display: table-row;
1929 display: table-row;
1930
1930
1931 .label-summary{
1931 .label-summary{
1932 display: table-cell;
1932 display: table-cell;
1933 min-width: @label-summary-minwidth;
1933 min-width: @label-summary-minwidth;
1934 padding-top: @padding/2;
1934 padding-top: @padding/2;
1935 padding-bottom: @padding/2;
1935 padding-bottom: @padding/2;
1936 padding-right: @padding/2;
1936 padding-right: @padding/2;
1937 }
1937 }
1938
1938
1939 .input{
1939 .input{
1940 display: table-cell;
1940 display: table-cell;
1941 padding: @padding/2;
1941 padding: @padding/2;
1942
1942
1943 input{
1943 input{
1944 min-width: 29em;
1944 min-width: 29em;
1945 padding: @padding/4;
1945 padding: @padding/4;
1946 }
1946 }
1947 }
1947 }
1948 .statistics, .downloads{
1948 .statistics, .downloads{
1949 .disabled{
1949 .disabled{
1950 color: @grey4;
1950 color: @grey4;
1951 }
1951 }
1952 }
1952 }
1953 }
1953 }
1954 }
1954 }
1955
1955
1956 #summary{
1956 #summary{
1957 width: 70%;
1957 width: 70%;
1958 }
1958 }
1959
1959
1960
1960
1961 // Journal
1961 // Journal
1962 .journal.title {
1962 .journal.title {
1963 h5 {
1963 h5 {
1964 float: left;
1964 float: left;
1965 margin: 0;
1965 margin: 0;
1966 width: 70%;
1966 width: 70%;
1967 }
1967 }
1968
1968
1969 ul {
1969 ul {
1970 float: right;
1970 float: right;
1971 display: inline-block;
1971 display: inline-block;
1972 margin: 0;
1972 margin: 0;
1973 width: 30%;
1973 width: 30%;
1974 text-align: right;
1974 text-align: right;
1975
1975
1976 li {
1976 li {
1977 display: inline;
1977 display: inline;
1978 font-size: @journal-fontsize;
1978 font-size: @journal-fontsize;
1979 line-height: 1em;
1979 line-height: 1em;
1980
1980
1981 list-style-type: none;
1981 list-style-type: none;
1982 }
1982 }
1983 }
1983 }
1984 }
1984 }
1985
1985
1986 .filterexample {
1986 .filterexample {
1987 position: absolute;
1987 position: absolute;
1988 top: 95px;
1988 top: 95px;
1989 left: @contentpadding;
1989 left: @contentpadding;
1990 color: @rcblue;
1990 color: @rcblue;
1991 font-size: 11px;
1991 font-size: 11px;
1992 font-family: @text-regular;
1992 font-family: @text-regular;
1993 cursor: help;
1993 cursor: help;
1994
1994
1995 &:hover {
1995 &:hover {
1996 color: @rcdarkblue;
1996 color: @rcdarkblue;
1997 }
1997 }
1998
1998
1999 @media (max-width:768px) {
1999 @media (max-width:768px) {
2000 position: relative;
2000 position: relative;
2001 top: auto;
2001 top: auto;
2002 left: auto;
2002 left: auto;
2003 display: block;
2003 display: block;
2004 }
2004 }
2005 }
2005 }
2006
2006
2007
2007
2008 #journal{
2008 #journal{
2009 margin-bottom: @space;
2009 margin-bottom: @space;
2010
2010
2011 .journal_day{
2011 .journal_day{
2012 margin-bottom: @textmargin/2;
2012 margin-bottom: @textmargin/2;
2013 padding-bottom: @textmargin/2;
2013 padding-bottom: @textmargin/2;
2014 font-size: @journal-fontsize;
2014 font-size: @journal-fontsize;
2015 border-bottom: @border-thickness solid @border-default-color;
2015 border-bottom: @border-thickness solid @border-default-color;
2016 }
2016 }
2017
2017
2018 .journal_container{
2018 .journal_container{
2019 margin-bottom: @space;
2019 margin-bottom: @space;
2020
2020
2021 .journal_user{
2021 .journal_user{
2022 display: inline-block;
2022 display: inline-block;
2023 }
2023 }
2024 .journal_action_container{
2024 .journal_action_container{
2025 display: block;
2025 display: block;
2026 margin-top: @textmargin;
2026 margin-top: @textmargin;
2027
2027
2028 div{
2028 div{
2029 display: inline;
2029 display: inline;
2030 }
2030 }
2031
2031
2032 div.journal_action_params{
2032 div.journal_action_params{
2033 display: block;
2033 display: block;
2034 }
2034 }
2035
2035
2036 div.journal_repo:after{
2036 div.journal_repo:after{
2037 content: "\A";
2037 content: "\A";
2038 white-space: pre;
2038 white-space: pre;
2039 }
2039 }
2040
2040
2041 div.date{
2041 div.date{
2042 display: block;
2042 display: block;
2043 margin-bottom: @textmargin;
2043 margin-bottom: @textmargin;
2044 }
2044 }
2045 }
2045 }
2046 }
2046 }
2047 }
2047 }
2048
2048
2049 // Files
2049 // Files
2050 .edit-file-title {
2050 .edit-file-title {
2051 border-bottom: @border-thickness solid @border-default-color;
2051 border-bottom: @border-thickness solid @border-default-color;
2052
2052
2053 .breadcrumbs {
2053 .breadcrumbs {
2054 margin-bottom: 0;
2054 margin-bottom: 0;
2055 }
2055 }
2056 }
2056 }
2057
2057
2058 .edit-file-fieldset {
2058 .edit-file-fieldset {
2059 margin-top: @sidebarpadding;
2059 margin-top: @sidebarpadding;
2060
2060
2061 .fieldset {
2061 .fieldset {
2062 .left-label {
2062 .left-label {
2063 width: 13%;
2063 width: 13%;
2064 }
2064 }
2065 .right-content {
2065 .right-content {
2066 width: 87%;
2066 width: 87%;
2067 max-width: 100%;
2067 max-width: 100%;
2068 }
2068 }
2069 .filename-label {
2069 .filename-label {
2070 margin-top: 13px;
2070 margin-top: 13px;
2071 }
2071 }
2072 .commit-message-label {
2072 .commit-message-label {
2073 margin-top: 4px;
2073 margin-top: 4px;
2074 }
2074 }
2075 .file-upload-input {
2075 .file-upload-input {
2076 input {
2076 input {
2077 display: none;
2077 display: none;
2078 }
2078 }
2079 margin-top: 10px;
2079 margin-top: 10px;
2080 }
2080 }
2081 .file-upload-label {
2081 .file-upload-label {
2082 margin-top: 10px;
2082 margin-top: 10px;
2083 }
2083 }
2084 p {
2084 p {
2085 margin-top: 5px;
2085 margin-top: 5px;
2086 }
2086 }
2087
2087
2088 }
2088 }
2089 .custom-path-link {
2089 .custom-path-link {
2090 margin-left: 5px;
2090 margin-left: 5px;
2091 }
2091 }
2092 #commit {
2092 #commit {
2093 resize: vertical;
2093 resize: vertical;
2094 }
2094 }
2095 }
2095 }
2096
2096
2097 .delete-file-preview {
2097 .delete-file-preview {
2098 max-height: 250px;
2098 max-height: 250px;
2099 }
2099 }
2100
2100
2101 .new-file,
2101 .new-file,
2102 #filter_activate,
2102 #filter_activate,
2103 #filter_deactivate {
2103 #filter_deactivate {
2104 float: left;
2104 float: left;
2105 margin: 0 0 0 15px;
2105 margin: 0 0 0 15px;
2106 }
2106 }
2107
2107
2108 h3.files_location{
2108 h3.files_location{
2109 line-height: 2.4em;
2109 line-height: 2.4em;
2110 }
2110 }
2111
2111
2112 .browser-nav {
2112 .browser-nav {
2113 display: table;
2113 display: table;
2114 margin-bottom: @space;
2114 margin-bottom: @space;
2115
2115
2116
2116
2117 .info_box {
2117 .info_box {
2118 display: inline-table;
2118 display: inline-table;
2119 height: 2.5em;
2119 height: 2.5em;
2120
2120
2121 .browser-cur-rev, .info_box_elem {
2121 .browser-cur-rev, .info_box_elem {
2122 display: table-cell;
2122 display: table-cell;
2123 vertical-align: middle;
2123 vertical-align: middle;
2124 }
2124 }
2125
2125
2126 .info_box_elem {
2126 .info_box_elem {
2127 border-top: @border-thickness solid @grey5;
2127 border-top: @border-thickness solid @grey5;
2128 border-bottom: @border-thickness solid @grey5;
2128 border-bottom: @border-thickness solid @grey5;
2129 box-shadow: @button-shadow;
2129 box-shadow: @button-shadow;
2130
2130
2131 #at_rev, a {
2131 #at_rev, a {
2132 padding: 0.6em 0.4em;
2132 padding: 0.6em 0.4em;
2133 margin: 0;
2133 margin: 0;
2134 .box-shadow(none);
2134 .box-shadow(none);
2135 border: 0;
2135 border: 0;
2136 height: 12px;
2136 height: 12px;
2137 color: @grey2;
2137 color: @grey2;
2138 }
2138 }
2139
2139
2140 input#at_rev {
2140 input#at_rev {
2141 max-width: 50px;
2141 max-width: 50px;
2142 text-align: center;
2142 text-align: center;
2143 }
2143 }
2144
2144
2145 &.previous {
2145 &.previous {
2146 border: @border-thickness solid @grey5;
2146 border: @border-thickness solid @grey5;
2147 border-top-left-radius: @border-radius;
2147 border-top-left-radius: @border-radius;
2148 border-bottom-left-radius: @border-radius;
2148 border-bottom-left-radius: @border-radius;
2149
2149
2150 &:hover {
2150 &:hover {
2151 border-color: @grey4;
2151 border-color: @grey4;
2152 }
2152 }
2153
2153
2154 .disabled {
2154 .disabled {
2155 color: @grey5;
2155 color: @grey5;
2156 cursor: not-allowed;
2156 cursor: not-allowed;
2157 opacity: 0.5;
2157 opacity: 0.5;
2158 }
2158 }
2159 }
2159 }
2160
2160
2161 &.next {
2161 &.next {
2162 border: @border-thickness solid @grey5;
2162 border: @border-thickness solid @grey5;
2163 border-top-right-radius: @border-radius;
2163 border-top-right-radius: @border-radius;
2164 border-bottom-right-radius: @border-radius;
2164 border-bottom-right-radius: @border-radius;
2165
2165
2166 &:hover {
2166 &:hover {
2167 border-color: @grey4;
2167 border-color: @grey4;
2168 }
2168 }
2169
2169
2170 .disabled {
2170 .disabled {
2171 color: @grey5;
2171 color: @grey5;
2172 cursor: not-allowed;
2172 cursor: not-allowed;
2173 opacity: 0.5;
2173 opacity: 0.5;
2174 }
2174 }
2175 }
2175 }
2176 }
2176 }
2177
2177
2178 .browser-cur-rev {
2178 .browser-cur-rev {
2179
2179
2180 span{
2180 span{
2181 margin: 0;
2181 margin: 0;
2182 color: @rcblue;
2182 color: @rcblue;
2183 height: 12px;
2183 height: 12px;
2184 display: inline-block;
2184 display: inline-block;
2185 padding: 0.7em 1em ;
2185 padding: 0.7em 1em ;
2186 border: @border-thickness solid @rcblue;
2186 border: @border-thickness solid @rcblue;
2187 margin-right: @padding;
2187 margin-right: @padding;
2188 }
2188 }
2189 }
2189 }
2190
2190
2191 .select-index-number {
2191 .select-index-number {
2192 margin: 0 0 0 20px;
2192 margin: 0 0 0 20px;
2193 color: @grey3;
2193 color: @grey3;
2194 }
2194 }
2195 }
2195 }
2196
2196
2197 .search_activate {
2197 .search_activate {
2198 display: table-cell;
2198 display: table-cell;
2199 vertical-align: middle;
2199 vertical-align: middle;
2200
2200
2201 input, label{
2201 input, label{
2202 margin: 0;
2202 margin: 0;
2203 padding: 0;
2203 padding: 0;
2204 }
2204 }
2205
2205
2206 input{
2206 input{
2207 margin-left: @textmargin;
2207 margin-left: @textmargin;
2208 }
2208 }
2209
2209
2210 }
2210 }
2211 }
2211 }
2212
2212
2213 .browser-cur-rev{
2213 .browser-cur-rev{
2214 margin-bottom: @textmargin;
2214 margin-bottom: @textmargin;
2215 }
2215 }
2216
2216
2217 #node_filter_box_loading{
2217 #node_filter_box_loading{
2218 .info_text;
2218 .info_text;
2219 }
2219 }
2220
2220
2221 .browser-search {
2221 .browser-search {
2222 margin: -25px 0px 5px 0px;
2222 margin: -25px 0px 5px 0px;
2223 }
2223 }
2224
2224
2225 .node-filter {
2225 .node-filter {
2226 font-size: @repo-title-fontsize;
2226 font-size: @repo-title-fontsize;
2227 padding: 4px 0px 0px 0px;
2227 padding: 4px 0px 0px 0px;
2228
2228
2229 .node-filter-path {
2229 .node-filter-path {
2230 float: left;
2230 float: left;
2231 color: @grey4;
2231 color: @grey4;
2232 }
2232 }
2233 .node-filter-input {
2233 .node-filter-input {
2234 float: left;
2234 float: left;
2235 margin: -2px 0px 0px 2px;
2235 margin: -2px 0px 0px 2px;
2236 input {
2236 input {
2237 padding: 2px;
2237 padding: 2px;
2238 border: none;
2238 border: none;
2239 font-size: @repo-title-fontsize;
2239 font-size: @repo-title-fontsize;
2240 }
2240 }
2241 }
2241 }
2242 }
2242 }
2243
2243
2244
2244
2245 .browser-result{
2245 .browser-result{
2246 td a{
2246 td a{
2247 margin-left: 0.5em;
2247 margin-left: 0.5em;
2248 display: inline-block;
2248 display: inline-block;
2249
2249
2250 em {
2250 em {
2251 font-weight: @text-bold-weight;
2251 font-weight: @text-bold-weight;
2252 font-family: @text-bold;
2252 font-family: @text-bold;
2253 }
2253 }
2254 }
2254 }
2255 }
2255 }
2256
2256
2257 .browser-highlight{
2257 .browser-highlight{
2258 background-color: @grey5-alpha;
2258 background-color: @grey5-alpha;
2259 }
2259 }
2260
2260
2261
2261
2262 // Search
2262 // Search
2263
2263
2264 .search-form{
2264 .search-form{
2265 #q {
2265 #q {
2266 width: @search-form-width;
2266 width: @search-form-width;
2267 }
2267 }
2268 .fields{
2268 .fields{
2269 margin: 0 0 @space;
2269 margin: 0 0 @space;
2270 }
2270 }
2271
2271
2272 label{
2272 label{
2273 display: inline-block;
2273 display: inline-block;
2274 margin-right: @textmargin;
2274 margin-right: @textmargin;
2275 padding-top: 0.25em;
2275 padding-top: 0.25em;
2276 }
2276 }
2277
2277
2278
2278
2279 .results{
2279 .results{
2280 clear: both;
2280 clear: both;
2281 margin: 0 0 @padding;
2281 margin: 0 0 @padding;
2282 }
2282 }
2283
2283
2284 .search-tags {
2284 .search-tags {
2285 padding: 5px 0;
2285 padding: 5px 0;
2286 }
2286 }
2287 }
2287 }
2288
2288
2289 div.search-feedback-items {
2289 div.search-feedback-items {
2290 display: inline-block;
2290 display: inline-block;
2291 }
2291 }
2292
2292
2293 div.search-code-body {
2293 div.search-code-body {
2294 background-color: #ffffff; padding: 5px 0 5px 10px;
2294 background-color: #ffffff; padding: 5px 0 5px 10px;
2295 pre {
2295 pre {
2296 .match { background-color: #faffa6;}
2296 .match { background-color: #faffa6;}
2297 .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; }
2297 .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; }
2298 }
2298 }
2299 }
2299 }
2300
2300
2301 .expand_commit.search {
2301 .expand_commit.search {
2302 .show_more.open {
2302 .show_more.open {
2303 height: auto;
2303 height: auto;
2304 max-height: none;
2304 max-height: none;
2305 }
2305 }
2306 }
2306 }
2307
2307
2308 .search-results {
2308 .search-results {
2309
2309
2310 h2 {
2310 h2 {
2311 margin-bottom: 0;
2311 margin-bottom: 0;
2312 }
2312 }
2313 .codeblock {
2313 .codeblock {
2314 border: none;
2314 border: none;
2315 background: transparent;
2315 background: transparent;
2316 }
2316 }
2317
2317
2318 .codeblock-header {
2318 .codeblock-header {
2319 border: none;
2319 border: none;
2320 background: transparent;
2320 background: transparent;
2321 }
2321 }
2322
2322
2323 .code-body {
2323 .code-body {
2324 border: @border-thickness solid @border-default-color;
2324 border: @border-thickness solid @border-default-color;
2325 .border-radius(@border-radius);
2325 .border-radius(@border-radius);
2326 }
2326 }
2327
2327
2328 .td-commit {
2328 .td-commit {
2329 &:extend(pre);
2329 &:extend(pre);
2330 border-bottom: @border-thickness solid @border-default-color;
2330 border-bottom: @border-thickness solid @border-default-color;
2331 }
2331 }
2332
2332
2333 .message {
2333 .message {
2334 height: auto;
2334 height: auto;
2335 max-width: 350px;
2335 max-width: 350px;
2336 white-space: normal;
2336 white-space: normal;
2337 text-overflow: initial;
2337 text-overflow: initial;
2338 overflow: visible;
2338 overflow: visible;
2339
2339
2340 .match { background-color: #faffa6;}
2340 .match { background-color: #faffa6;}
2341 .break { background-color: #DDE7EF; width: 100%; color: #747474; display: block; }
2341 .break { background-color: #DDE7EF; width: 100%; color: #747474; display: block; }
2342 }
2342 }
2343
2343
2344 }
2344 }
2345
2345
2346 table.rctable td.td-search-results div {
2346 table.rctable td.td-search-results div {
2347 max-width: 100%;
2347 max-width: 100%;
2348 }
2348 }
2349
2349
2350 #tip-box, .tip-box{
2350 #tip-box, .tip-box{
2351 padding: @menupadding/2;
2351 padding: @menupadding/2;
2352 display: block;
2352 display: block;
2353 border: @border-thickness solid @border-highlight-color;
2353 border: @border-thickness solid @border-highlight-color;
2354 .border-radius(@border-radius);
2354 .border-radius(@border-radius);
2355 background-color: white;
2355 background-color: white;
2356 z-index: 99;
2356 z-index: 99;
2357 white-space: pre-wrap;
2357 white-space: pre-wrap;
2358 }
2358 }
2359
2359
2360 #linktt {
2360 #linktt {
2361 width: 79px;
2361 width: 79px;
2362 }
2362 }
2363
2363
2364 #help_kb .modal-content{
2364 #help_kb .modal-content{
2365 max-width: 750px;
2365 max-width: 750px;
2366 margin: 10% auto;
2366 margin: 10% auto;
2367
2367
2368 table{
2368 table{
2369 td,th{
2369 td,th{
2370 border-bottom: none;
2370 border-bottom: none;
2371 line-height: 2.5em;
2371 line-height: 2.5em;
2372 }
2372 }
2373 th{
2373 th{
2374 padding-bottom: @textmargin/2;
2374 padding-bottom: @textmargin/2;
2375 }
2375 }
2376 td.keys{
2376 td.keys{
2377 text-align: center;
2377 text-align: center;
2378 }
2378 }
2379 }
2379 }
2380
2380
2381 .block-left{
2381 .block-left{
2382 width: 45%;
2382 width: 45%;
2383 margin-right: 5%;
2383 margin-right: 5%;
2384 }
2384 }
2385 .modal-footer{
2385 .modal-footer{
2386 clear: both;
2386 clear: both;
2387 }
2387 }
2388 .key.tag{
2388 .key.tag{
2389 padding: 0.5em;
2389 padding: 0.5em;
2390 background-color: @rcblue;
2390 background-color: @rcblue;
2391 color: white;
2391 color: white;
2392 border-color: @rcblue;
2392 border-color: @rcblue;
2393 .box-shadow(none);
2393 .box-shadow(none);
2394 }
2394 }
2395 }
2395 }
2396
2396
2397
2397
2398
2398
2399 //--- IMPORTS FOR REFACTORED STYLES ------------------//
2399 //--- IMPORTS FOR REFACTORED STYLES ------------------//
2400
2400
2401 @import 'statistics-graph';
2401 @import 'statistics-graph';
2402 @import 'tables';
2402 @import 'tables';
2403 @import 'forms';
2403 @import 'forms';
2404 @import 'diff';
2404 @import 'diff';
2405 @import 'summary';
2405 @import 'summary';
2406 @import 'navigation';
2406 @import 'navigation';
2407
2407
2408 //--- SHOW/HIDE SECTIONS --//
2408 //--- SHOW/HIDE SECTIONS --//
2409
2409
2410 .btn-collapse {
2410 .btn-collapse {
2411 float: right;
2411 float: right;
2412 text-align: right;
2412 text-align: right;
2413 font-family: @text-light;
2413 font-family: @text-light;
2414 font-size: @basefontsize;
2414 font-size: @basefontsize;
2415 cursor: pointer;
2415 cursor: pointer;
2416 border: none;
2416 border: none;
2417 color: @rcblue;
2417 color: @rcblue;
2418 }
2418 }
2419
2419
2420 table.rctable,
2420 table.rctable,
2421 table.dataTable {
2421 table.dataTable {
2422 .btn-collapse {
2422 .btn-collapse {
2423 float: right;
2423 float: right;
2424 text-align: right;
2424 text-align: right;
2425 }
2425 }
2426 }
2426 }
2427
2427
2428 table.rctable {
2428 table.rctable {
2429 &.permissions {
2429 &.permissions {
2430
2430
2431 th.td-owner {
2431 th.td-owner {
2432 padding: 0;
2432 padding: 0;
2433 }
2433 }
2434
2434
2435 th {
2435 th {
2436 font-weight: normal;
2436 font-weight: normal;
2437 padding: 0 5px;
2437 padding: 0 5px;
2438 }
2438 }
2439
2439
2440 }
2440 }
2441 }
2441 }
2442
2442
2443
2443
2444 // TODO: johbo: Fix for IE10, this avoids that we see a border
2444 // TODO: johbo: Fix for IE10, this avoids that we see a border
2445 // and padding around checkboxes and radio boxes. Move to the right place,
2445 // and padding around checkboxes and radio boxes. Move to the right place,
2446 // or better: Remove this once we did the form refactoring.
2446 // or better: Remove this once we did the form refactoring.
2447 input[type=checkbox],
2447 input[type=checkbox],
2448 input[type=radio] {
2448 input[type=radio] {
2449 padding: 0;
2449 padding: 0;
2450 border: none;
2450 border: none;
2451 }
2451 }
2452
2452
2453 .toggle-ajax-spinner{
2453 .toggle-ajax-spinner{
2454 height: 16px;
2454 height: 16px;
2455 width: 16px;
2455 width: 16px;
2456 }
2456 }
2457
2457
2458
2458
2459 .markup-form .clearfix {
2459 .markup-form .clearfix {
2460 .border-radius(@border-radius);
2460 .border-radius(@border-radius);
2461 margin: 0px;
2461 margin: 0px;
2462 }
2462 }
2463
2463
2464 .markup-form-area {
2464 .markup-form-area {
2465 padding: 8px 12px;
2465 padding: 8px 12px;
2466 border: 1px solid @grey4;
2466 border: 1px solid @grey4;
2467 .border-radius(@border-radius);
2467 .border-radius(@border-radius);
2468 }
2468 }
2469
2469
2470 .markup-form-area-header .nav-links {
2470 .markup-form-area-header .nav-links {
2471 display: flex;
2471 display: flex;
2472 flex-flow: row wrap;
2472 flex-flow: row wrap;
2473 -webkit-flex-flow: row wrap;
2473 -webkit-flex-flow: row wrap;
2474 width: 100%;
2474 width: 100%;
2475 }
2475 }
2476
2476
2477 .markup-form-area-footer {
2477 .markup-form-area-footer {
2478 display: flex;
2478 display: flex;
2479 }
2479 }
2480
2480
2481 .markup-form-area-footer .toolbar {
2481 .markup-form-area-footer .toolbar {
2482
2482
2483 }
2483 }
2484
2484
2485 // markup Form
2485 // markup Form
2486 div.markup-form {
2486 div.markup-form {
2487 margin-top: 20px;
2487 margin-top: 20px;
2488 }
2488 }
2489
2489
2490 .markup-form strong {
2490 .markup-form strong {
2491 display: block;
2491 display: block;
2492 margin-bottom: 15px;
2492 margin-bottom: 15px;
2493 }
2493 }
2494
2494
2495 .markup-form textarea {
2495 .markup-form textarea {
2496 width: 100%;
2496 width: 100%;
2497 height: 100px;
2497 height: 100px;
2498 font-family: @text-monospace;
2498 font-family: @text-monospace;
2499 }
2499 }
2500
2500
2501 form.markup-form {
2501 form.markup-form {
2502 margin-top: 10px;
2502 margin-top: 10px;
2503 margin-left: 10px;
2503 margin-left: 10px;
2504 }
2504 }
2505
2505
2506 .markup-form .comment-block-ta,
2506 .markup-form .comment-block-ta,
2507 .markup-form .preview-box {
2507 .markup-form .preview-box {
2508 .border-radius(@border-radius);
2508 .border-radius(@border-radius);
2509 .box-sizing(border-box);
2509 .box-sizing(border-box);
2510 background-color: white;
2510 background-color: white;
2511 }
2511 }
2512
2512
2513 .markup-form .preview-box.unloaded {
2513 .markup-form .preview-box.unloaded {
2514 height: 50px;
2514 height: 50px;
2515 text-align: center;
2515 text-align: center;
2516 padding: 20px;
2516 padding: 20px;
2517 background-color: white;
2517 background-color: white;
2518 }
2518 }
2519
2520 .dropzone {
2521 border: 2px dashed @rcdarkblue;
2522 border-radius: 5px;
2523 background: white;
2524 min-height: 200px;
2525 padding: 54px;
2526 }
2527 .dropzone .dz-message {
2528 font-weight: 700;
2529 }
2530
2531 .dropzone .dz-message {
2532 text-align: center;
2533 margin: 2em 0;
2534 }
2535
2536 .dz-preview {
2537 margin: 10px -40px !important;
2538 position: relative;
2539 vertical-align: top;
2540 border: 1px solid @grey4;
2541 border-radius: 5px;
2542 padding: 10px;
2543 }
2544
2545 .dz-filename {
2546 font-weight: 700;
2547 }
2548
2549 .dz-error-message {
2550 color: @alert2;
2551 } No newline at end of file
@@ -1,496 +1,501 b''
1
1
2 // tables.less
2 // tables.less
3 // For use in RhodeCode application tables;
3 // For use in RhodeCode application tables;
4 // see style guide documentation for guidelines.
4 // see style guide documentation for guidelines.
5
5
6 // TABLES
6 // TABLES
7
7
8 .rctable,
8 .rctable,
9 table.rctable,
9 table.rctable,
10 table.dataTable {
10 table.dataTable {
11 clear:both;
11 clear:both;
12 width: 100%;
12 width: 100%;
13 margin: 0 auto @padding;
13 margin: 0 auto @padding;
14 padding: 0;
14 padding: 0;
15 vertical-align: baseline;
15 vertical-align: baseline;
16 line-height:1.5em;
16 line-height:1.5em;
17 border: none;
17 border: none;
18 outline: none;
18 outline: none;
19 border-collapse: collapse;
19 border-collapse: collapse;
20 border-spacing: 0;
20 border-spacing: 0;
21 color: @grey2;
21 color: @grey2;
22
22
23 b {
23 b {
24 font-weight: normal;
24 font-weight: normal;
25 }
25 }
26
26
27 em {
27 em {
28 font-weight: bold;
28 font-weight: bold;
29 font-style: normal;
29 font-style: normal;
30 }
30 }
31
31
32 th,
32 th,
33 td {
33 td {
34 height: auto;
34 height: auto;
35 max-width: 20%;
35 max-width: 20%;
36 padding: .65em 1em .65em 0;
36 padding: .65em 1em .65em 0;
37 vertical-align: middle;
37 vertical-align: middle;
38 border-bottom: @border-thickness solid @grey5;
38 border-bottom: @border-thickness solid @grey5;
39 white-space: normal;
39 white-space: normal;
40
40
41 &.td-radio,
41 &.td-radio,
42 &.td-checkbox {
42 &.td-checkbox {
43 padding-right: 0;
43 padding-right: 0;
44 text-align: center;
44 text-align: center;
45
45
46 input {
46 input {
47 margin: 0 1em;
47 margin: 0 1em;
48 }
48 }
49 }
49 }
50
50
51 &.truncate-wrap {
51 &.truncate-wrap {
52 white-space: nowrap !important;
52 white-space: nowrap !important;
53 }
53 }
54
54
55 pre {
55 pre {
56 margin: 0;
56 margin: 0;
57 }
57 }
58
58
59 .show_more {
59 .show_more {
60 height: inherit;
60 height: inherit;
61 }
61 }
62 }
62 }
63
63
64 .expired td {
64 .expired td {
65 background-color: @grey7;
65 background-color: @grey7;
66 }
66 }
67 .inactive td {
67 .inactive td {
68 background-color: @grey6;
68 background-color: @grey6;
69 }
69 }
70 th {
70 th {
71 text-align: left;
71 text-align: left;
72 font-weight: @text-semibold-weight;
72 font-weight: @text-semibold-weight;
73 font-family: @text-semibold;
73 font-family: @text-semibold;
74 }
74 }
75
75
76 .hl {
76 .hl {
77 td {
77 td {
78 background-color: lighten(@alert4,25%);
78 background-color: lighten(@alert4,25%);
79 }
79 }
80 }
80 }
81
81
82 // Special Data Cell Types
82 // Special Data Cell Types
83 // See style guide for desciptions and examples.
83 // See style guide for desciptions and examples.
84
84
85 td {
85 td {
86
86
87 &.user {
87 &.user {
88 padding-left: 1em;
88 padding-left: 1em;
89 }
89 }
90
90
91 &.td-rss {
91 &.td-rss {
92 width: 20px;
92 width: 20px;
93 min-width: 0;
93 min-width: 0;
94 margin: 0;
94 margin: 0;
95 }
95 }
96
96
97 &.quick_repo_menu {
97 &.quick_repo_menu {
98 width: 15px;
98 width: 15px;
99 text-align: center;
99 text-align: center;
100
100
101 &:hover {
101 &:hover {
102 background-color: @grey5;
102 background-color: @grey5;
103 }
103 }
104 }
104 }
105
105
106 &.td-icon {
107 min-width: 20px;
108 width: 20px;
109 }
110
106 &.td-hash {
111 &.td-hash {
107 min-width: 80px;
112 min-width: 80px;
108 width: 200px;
113 width: 200px;
109
114
110 .obsolete {
115 .obsolete {
111 text-decoration: line-through;
116 text-decoration: line-through;
112 color: lighten(@grey2,25%);
117 color: lighten(@grey2,25%);
113 }
118 }
114 }
119 }
115
120
116 &.td-time {
121 &.td-time {
117 width: 160px;
122 width: 160px;
118 white-space: nowrap;
123 white-space: nowrap;
119 }
124 }
120
125
121 &.annotate{
126 &.annotate{
122 padding-right: 0;
127 padding-right: 0;
123
128
124 div.annotatediv{
129 div.annotatediv{
125 margin: 0 0.7em;
130 margin: 0 0.7em;
126 }
131 }
127 }
132 }
128
133
129 &.tags-col {
134 &.tags-col {
130 padding-right: 0;
135 padding-right: 0;
131 }
136 }
132
137
133 &.td-description {
138 &.td-description {
134 min-width: 350px;
139 min-width: 350px;
135
140
136 &.truncate, .truncate-wrap {
141 &.truncate, .truncate-wrap {
137 white-space: nowrap;
142 white-space: nowrap;
138 overflow: hidden;
143 overflow: hidden;
139 text-overflow: ellipsis;
144 text-overflow: ellipsis;
140 max-width: 350px;
145 max-width: 350px;
141 }
146 }
142 }
147 }
143
148
144 &.td-grid-name {
149 &.td-grid-name {
145 white-space: nowrap;
150 white-space: nowrap;
146 min-width: 300px;
151 min-width: 300px;
147 }
152 }
148
153
149 &.td-componentname {
154 &.td-componentname {
150 white-space: nowrap;
155 white-space: nowrap;
151 }
156 }
152
157
153 &.td-name {
158 &.td-name {
154
159
155 }
160 }
156
161
157 &.td-journalaction {
162 &.td-journalaction {
158 min-width: 300px;
163 min-width: 300px;
159
164
160 .journal_action_params {
165 .journal_action_params {
161 // waiting for feedback
166 // waiting for feedback
162 }
167 }
163 }
168 }
164
169
165 &.td-active {
170 &.td-active {
166 padding-left: .65em;
171 padding-left: .65em;
167 }
172 }
168
173
169 &.td-url {
174 &.td-url {
170 white-space: nowrap;
175 white-space: nowrap;
171 }
176 }
172
177
173 &.td-comments {
178 &.td-comments {
174 min-width: 3em;
179 min-width: 3em;
175 }
180 }
176
181
177 &.td-buttons {
182 &.td-buttons {
178 padding: .3em 0;
183 padding: .3em 0;
179 }
184 }
180 &.td-align-top {
185 &.td-align-top {
181 vertical-align: text-top
186 vertical-align: text-top
182 }
187 }
183 &.td-action {
188 &.td-action {
184 // this is for the remove/delete/edit buttons
189 // this is for the remove/delete/edit buttons
185 padding-right: 0;
190 padding-right: 0;
186 min-width: 95px;
191 min-width: 95px;
187 text-transform: capitalize;
192 text-transform: capitalize;
188
193
189 i {
194 i {
190 display: none;
195 display: none;
191 }
196 }
192 }
197 }
193
198
194 // TODO: lisa: this needs to be cleaned up with the buttons
199 // TODO: lisa: this needs to be cleaned up with the buttons
195 .grid_edit,
200 .grid_edit,
196 .grid_delete {
201 .grid_delete {
197 display: inline-block;
202 display: inline-block;
198 margin: 0 @padding/3 0 0;
203 margin: 0 @padding/3 0 0;
199 font-family: @text-light;
204 font-family: @text-light;
200
205
201 i {
206 i {
202 display: none;
207 display: none;
203 }
208 }
204 }
209 }
205
210
206 .grid_edit + .grid_delete {
211 .grid_edit + .grid_delete {
207 border-left: @border-thickness solid @grey5;
212 border-left: @border-thickness solid @grey5;
208 padding-left: @padding/2;
213 padding-left: @padding/2;
209 }
214 }
210
215
211 &.td-compare {
216 &.td-compare {
212
217
213 input {
218 input {
214 margin-right: 1em;
219 margin-right: 1em;
215 }
220 }
216
221
217 .compare-radio-button {
222 .compare-radio-button {
218 margin: 0 1em 0 0;
223 margin: 0 1em 0 0;
219 }
224 }
220
225
221
226
222 }
227 }
223
228
224 &.td-tags {
229 &.td-tags {
225 padding: .5em 1em .5em 0;
230 padding: .5em 1em .5em 0;
226 width: 140px;
231 width: 140px;
227
232
228 .tag {
233 .tag {
229 margin: 1px;
234 margin: 1px;
230 float: left;
235 float: left;
231 }
236 }
232 }
237 }
233
238
234 .icon-svn, .icon-hg, .icon-git {
239 .icon-svn, .icon-hg, .icon-git {
235 font-size: 1.4em;
240 font-size: 1.4em;
236 }
241 }
237
242
238 &.collapse_commit,
243 &.collapse_commit,
239 &.expand_commit {
244 &.expand_commit {
240 padding-right: 0;
245 padding-right: 0;
241 padding-left: 1em;
246 padding-left: 1em;
242 cursor: pointer;
247 cursor: pointer;
243 width: 20px;
248 width: 20px;
244 }
249 }
245 }
250 }
246
251
247 .perm_admin_row {
252 .perm_admin_row {
248 color: @grey4;
253 color: @grey4;
249 background-color: @grey6;
254 background-color: @grey6;
250 }
255 }
251
256
252 .noborder {
257 .noborder {
253 border: none;
258 border: none;
254
259
255 td {
260 td {
256 border: none;
261 border: none;
257 }
262 }
258 }
263 }
259 }
264 }
260 .rctable.audit-log {
265 .rctable.audit-log {
261 td {
266 td {
262 vertical-align: top;
267 vertical-align: top;
263 }
268 }
264 }
269 }
265
270
266 // TRUNCATING
271 // TRUNCATING
267 // TODO: lisaq: should this possibly be moved out of tables.less?
272 // TODO: lisaq: should this possibly be moved out of tables.less?
268 // for truncated text
273 // for truncated text
269 // used inside of table cells and in code block headers
274 // used inside of table cells and in code block headers
270 .truncate-wrap {
275 .truncate-wrap {
271 white-space: nowrap !important;
276 white-space: nowrap !important;
272
277
273 //truncated text
278 //truncated text
274 .truncate {
279 .truncate {
275 max-width: 450px;
280 max-width: 450px;
276 width: 300px;
281 width: 300px;
277 overflow: hidden;
282 overflow: hidden;
278 text-overflow: ellipsis;
283 text-overflow: ellipsis;
279 -o-text-overflow: ellipsis;
284 -o-text-overflow: ellipsis;
280 -ms-text-overflow: ellipsis;
285 -ms-text-overflow: ellipsis;
281
286
282 &.autoexpand {
287 &.autoexpand {
283 width: 120px;
288 width: 120px;
284 margin-right: 200px;
289 margin-right: 200px;
285 }
290 }
286 }
291 }
287 &:hover .truncate.autoexpand {
292 &:hover .truncate.autoexpand {
288 overflow: visible;
293 overflow: visible;
289 }
294 }
290
295
291 .tags-truncate {
296 .tags-truncate {
292 width: 150px;
297 width: 150px;
293 height: 22px;
298 height: 22px;
294 overflow: hidden;
299 overflow: hidden;
295
300
296 .tag {
301 .tag {
297 display: inline-block;
302 display: inline-block;
298 }
303 }
299
304
300 &.truncate {
305 &.truncate {
301 height: 22px;
306 height: 22px;
302 max-height:2em;
307 max-height:2em;
303 width: 140px;
308 width: 140px;
304 }
309 }
305 }
310 }
306 }
311 }
307
312
308 .apikeys_wrap {
313 .apikeys_wrap {
309 margin-bottom: @padding;
314 margin-bottom: @padding;
310
315
311 table.rctable td:first-child {
316 table.rctable td:first-child {
312 width: 340px;
317 width: 340px;
313 }
318 }
314 }
319 }
315
320
316
321
317
322
318 // SPECIAL CASES
323 // SPECIAL CASES
319
324
320 // Repository Followers
325 // Repository Followers
321 table.rctable.followers_data {
326 table.rctable.followers_data {
322 width: 75%;
327 width: 75%;
323 margin: 0;
328 margin: 0;
324 }
329 }
325
330
326 // Repository List
331 // Repository List
327 // Group Members List
332 // Group Members List
328 table.rctable.group_members,
333 table.rctable.group_members,
329 table#repo_list_table {
334 table#repo_list_table {
330 min-width: 600px;
335 min-width: 600px;
331 }
336 }
332
337
333 // Keyboard mappings
338 // Keyboard mappings
334 table.keyboard-mappings {
339 table.keyboard-mappings {
335 th {
340 th {
336 text-align: left;
341 text-align: left;
337 font-weight: @text-semibold-weight;
342 font-weight: @text-semibold-weight;
338 font-family: @text-semibold;
343 font-family: @text-semibold;
339 }
344 }
340 }
345 }
341
346
342 // Branches, Tags, and Bookmarks
347 // Branches, Tags, and Bookmarks
343 #obj_list_table.dataTable {
348 #obj_list_table.dataTable {
344 td.td-time {
349 td.td-time {
345 padding-right: 1em;
350 padding-right: 1em;
346 }
351 }
347 }
352 }
348
353
349 // User Admin
354 // User Admin
350 .rctable.useremails,
355 .rctable.useremails,
351 .rctable.account_emails {
356 .rctable.account_emails {
352 .tag,
357 .tag,
353 .btn {
358 .btn {
354 float: right;
359 float: right;
355 }
360 }
356 .btn { //to line up with tags
361 .btn { //to line up with tags
357 margin-right: 1.65em;
362 margin-right: 1.65em;
358 }
363 }
359 }
364 }
360
365
361 // User List
366 // User List
362 #user_list_table {
367 #user_list_table {
363
368
364 td.td-user {
369 td.td-user {
365 min-width: 100px;
370 min-width: 100px;
366 }
371 }
367 }
372 }
368
373
369 // Pull Request List Table
374 // Pull Request List Table
370 #pull_request_list_table.dataTable {
375 #pull_request_list_table.dataTable {
371
376
372 //TODO: lisa: This needs to be removed once the description is adjusted
377 //TODO: lisa: This needs to be removed once the description is adjusted
373 // for using an expand_commit button (see issue 765)
378 // for using an expand_commit button (see issue 765)
374 td {
379 td {
375 vertical-align: middle;
380 vertical-align: middle;
376 }
381 }
377 }
382 }
378
383
379 // Settings (no border)
384 // Settings (no border)
380 table.rctable.dl-settings {
385 table.rctable.dl-settings {
381 td {
386 td {
382 border: none;
387 border: none;
383 vertical-align: baseline;
388 vertical-align: baseline;
384 }
389 }
385 }
390 }
386
391
387
392
388 // Statistics
393 // Statistics
389 table.trending_language_tbl {
394 table.trending_language_tbl {
390 width: 100%;
395 width: 100%;
391 line-height: 1em;
396 line-height: 1em;
392
397
393 td div {
398 td div {
394 overflow: visible;
399 overflow: visible;
395 }
400 }
396 }
401 }
397
402
398 .trending_language_tbl, .trending_language_tbl td {
403 .trending_language_tbl, .trending_language_tbl td {
399 border: 0;
404 border: 0;
400 margin: 0;
405 margin: 0;
401 padding: 0;
406 padding: 0;
402 background: transparent;
407 background: transparent;
403 }
408 }
404
409
405 .trending_language_tbl, .trending_language_tbl tr {
410 .trending_language_tbl, .trending_language_tbl tr {
406 border-spacing: 0 3px;
411 border-spacing: 0 3px;
407 }
412 }
408
413
409 .trending_language {
414 .trending_language {
410 position: relative;
415 position: relative;
411 overflow: hidden;
416 overflow: hidden;
412 color: @text-color;
417 color: @text-color;
413 width: 400px;
418 width: 400px;
414
419
415 .lang-bar {
420 .lang-bar {
416 z-index: 1;
421 z-index: 1;
417 overflow: hidden;
422 overflow: hidden;
418 background-color: @rcblue;
423 background-color: @rcblue;
419 color: #FFF;
424 color: #FFF;
420 text-decoration: none;
425 text-decoration: none;
421 }
426 }
422
427
423 }
428 }
424
429
425 // Changesets
430 // Changesets
426 #changesets.rctable {
431 #changesets.rctable {
427
432
428 // td must be fixed height for graph
433 // td must be fixed height for graph
429 td {
434 td {
430 height: 32px;
435 height: 32px;
431 padding: 0 1em 0 0;
436 padding: 0 1em 0 0;
432 vertical-align: middle;
437 vertical-align: middle;
433 white-space: nowrap;
438 white-space: nowrap;
434
439
435 &.td-description {
440 &.td-description {
436 white-space: normal;
441 white-space: normal;
437 }
442 }
438
443
439 &.expand_commit {
444 &.expand_commit {
440 padding-right: 0;
445 padding-right: 0;
441 cursor: pointer;
446 cursor: pointer;
442 width: 20px;
447 width: 20px;
443 }
448 }
444 }
449 }
445 }
450 }
446
451
447 // Compare
452 // Compare
448 table.compare_view_commits {
453 table.compare_view_commits {
449 margin-top: @space;
454 margin-top: @space;
450
455
451 td.td-time {
456 td.td-time {
452 padding-left: .5em;
457 padding-left: .5em;
453 }
458 }
454
459
455 // special case to not show hover actions on hidden indicator
460 // special case to not show hover actions on hidden indicator
456 tr.compare_select_hidden:hover {
461 tr.compare_select_hidden:hover {
457 cursor: inherit;
462 cursor: inherit;
458
463
459 td {
464 td {
460 background-color: inherit;
465 background-color: inherit;
461 }
466 }
462 }
467 }
463
468
464 tr:hover {
469 tr:hover {
465 cursor: pointer;
470 cursor: pointer;
466
471
467 td {
472 td {
468 background-color: lighten(@alert4,25%);
473 background-color: lighten(@alert4,25%);
469 }
474 }
470 }
475 }
471
476
472
477
473 }
478 }
474
479
475 .file_history {
480 .file_history {
476 td.td-actions {
481 td.td-actions {
477 text-align: right;
482 text-align: right;
478 }
483 }
479 }
484 }
480
485
481
486
482 // Gist List
487 // Gist List
483 #gist_list_table {
488 #gist_list_table {
484 td {
489 td {
485 vertical-align: middle;
490 vertical-align: middle;
486
491
487 div{
492 div{
488 display: inline-block;
493 display: inline-block;
489 vertical-align: middle;
494 vertical-align: middle;
490 }
495 }
491
496
492 img{
497 img{
493 vertical-align: middle;
498 vertical-align: middle;
494 }
499 }
495 }
500 }
496 }
501 }
@@ -1,364 +1,370 b''
1
1
2 /******************************************************************************
2 /******************************************************************************
3 * *
3 * *
4 * DO NOT CHANGE THIS FILE MANUALLY *
4 * DO NOT CHANGE THIS FILE MANUALLY *
5 * *
5 * *
6 * *
6 * *
7 * This file is automatically generated when the app starts up with *
7 * This file is automatically generated when the app starts up with *
8 * generate_js_files = true *
8 * generate_js_files = true *
9 * *
9 * *
10 * To add a route here pass jsroute=True to the route definition in the app *
10 * To add a route here pass jsroute=True to the route definition in the app *
11 * *
11 * *
12 ******************************************************************************/
12 ******************************************************************************/
13 function registerRCRoutes() {
13 function registerRCRoutes() {
14 // routes registration
14 // routes registration
15 pyroutes.register('favicon', '/favicon.ico', []);
15 pyroutes.register('favicon', '/favicon.ico', []);
16 pyroutes.register('robots', '/robots.txt', []);
16 pyroutes.register('robots', '/robots.txt', []);
17 pyroutes.register('global_integrations_new', '/_admin/integrations/new', []);
17 pyroutes.register('global_integrations_new', '/_admin/integrations/new', []);
18 pyroutes.register('global_integrations_home', '/_admin/integrations', []);
18 pyroutes.register('global_integrations_home', '/_admin/integrations', []);
19 pyroutes.register('global_integrations_list', '/_admin/integrations/%(integration)s', ['integration']);
19 pyroutes.register('global_integrations_list', '/_admin/integrations/%(integration)s', ['integration']);
20 pyroutes.register('global_integrations_create', '/_admin/integrations/%(integration)s/new', ['integration']);
20 pyroutes.register('global_integrations_create', '/_admin/integrations/%(integration)s/new', ['integration']);
21 pyroutes.register('global_integrations_edit', '/_admin/integrations/%(integration)s/%(integration_id)s', ['integration', 'integration_id']);
21 pyroutes.register('global_integrations_edit', '/_admin/integrations/%(integration)s/%(integration_id)s', ['integration', 'integration_id']);
22 pyroutes.register('repo_group_integrations_home', '/%(repo_group_name)s/_settings/integrations', ['repo_group_name']);
22 pyroutes.register('repo_group_integrations_home', '/%(repo_group_name)s/_settings/integrations', ['repo_group_name']);
23 pyroutes.register('repo_group_integrations_new', '/%(repo_group_name)s/_settings/integrations/new', ['repo_group_name']);
23 pyroutes.register('repo_group_integrations_new', '/%(repo_group_name)s/_settings/integrations/new', ['repo_group_name']);
24 pyroutes.register('repo_group_integrations_list', '/%(repo_group_name)s/_settings/integrations/%(integration)s', ['repo_group_name', 'integration']);
24 pyroutes.register('repo_group_integrations_list', '/%(repo_group_name)s/_settings/integrations/%(integration)s', ['repo_group_name', 'integration']);
25 pyroutes.register('repo_group_integrations_create', '/%(repo_group_name)s/_settings/integrations/%(integration)s/new', ['repo_group_name', 'integration']);
25 pyroutes.register('repo_group_integrations_create', '/%(repo_group_name)s/_settings/integrations/%(integration)s/new', ['repo_group_name', 'integration']);
26 pyroutes.register('repo_group_integrations_edit', '/%(repo_group_name)s/_settings/integrations/%(integration)s/%(integration_id)s', ['repo_group_name', 'integration', 'integration_id']);
26 pyroutes.register('repo_group_integrations_edit', '/%(repo_group_name)s/_settings/integrations/%(integration)s/%(integration_id)s', ['repo_group_name', 'integration', 'integration_id']);
27 pyroutes.register('repo_integrations_home', '/%(repo_name)s/settings/integrations', ['repo_name']);
27 pyroutes.register('repo_integrations_home', '/%(repo_name)s/settings/integrations', ['repo_name']);
28 pyroutes.register('repo_integrations_new', '/%(repo_name)s/settings/integrations/new', ['repo_name']);
28 pyroutes.register('repo_integrations_new', '/%(repo_name)s/settings/integrations/new', ['repo_name']);
29 pyroutes.register('repo_integrations_list', '/%(repo_name)s/settings/integrations/%(integration)s', ['repo_name', 'integration']);
29 pyroutes.register('repo_integrations_list', '/%(repo_name)s/settings/integrations/%(integration)s', ['repo_name', 'integration']);
30 pyroutes.register('repo_integrations_create', '/%(repo_name)s/settings/integrations/%(integration)s/new', ['repo_name', 'integration']);
30 pyroutes.register('repo_integrations_create', '/%(repo_name)s/settings/integrations/%(integration)s/new', ['repo_name', 'integration']);
31 pyroutes.register('repo_integrations_edit', '/%(repo_name)s/settings/integrations/%(integration)s/%(integration_id)s', ['repo_name', 'integration', 'integration_id']);
31 pyroutes.register('repo_integrations_edit', '/%(repo_name)s/settings/integrations/%(integration)s/%(integration_id)s', ['repo_name', 'integration', 'integration_id']);
32 pyroutes.register('auth_home', '/_admin/auth*traverse', []);
32 pyroutes.register('auth_home', '/_admin/auth*traverse', []);
33 pyroutes.register('ops_ping', '/_admin/ops/ping', []);
33 pyroutes.register('ops_ping', '/_admin/ops/ping', []);
34 pyroutes.register('ops_error_test', '/_admin/ops/error', []);
34 pyroutes.register('ops_error_test', '/_admin/ops/error', []);
35 pyroutes.register('ops_redirect_test', '/_admin/ops/redirect', []);
35 pyroutes.register('ops_redirect_test', '/_admin/ops/redirect', []);
36 pyroutes.register('ops_ping_legacy', '/_admin/ping', []);
36 pyroutes.register('ops_ping_legacy', '/_admin/ping', []);
37 pyroutes.register('ops_error_test_legacy', '/_admin/error_test', []);
37 pyroutes.register('ops_error_test_legacy', '/_admin/error_test', []);
38 pyroutes.register('admin_home', '/_admin', []);
38 pyroutes.register('admin_home', '/_admin', []);
39 pyroutes.register('admin_audit_logs', '/_admin/audit_logs', []);
39 pyroutes.register('admin_audit_logs', '/_admin/audit_logs', []);
40 pyroutes.register('admin_audit_log_entry', '/_admin/audit_logs/%(audit_log_id)s', ['audit_log_id']);
40 pyroutes.register('admin_audit_log_entry', '/_admin/audit_logs/%(audit_log_id)s', ['audit_log_id']);
41 pyroutes.register('pull_requests_global_0', '/_admin/pull_requests/%(pull_request_id)s', ['pull_request_id']);
41 pyroutes.register('pull_requests_global_0', '/_admin/pull_requests/%(pull_request_id)s', ['pull_request_id']);
42 pyroutes.register('pull_requests_global_1', '/_admin/pull-requests/%(pull_request_id)s', ['pull_request_id']);
42 pyroutes.register('pull_requests_global_1', '/_admin/pull-requests/%(pull_request_id)s', ['pull_request_id']);
43 pyroutes.register('pull_requests_global', '/_admin/pull-request/%(pull_request_id)s', ['pull_request_id']);
43 pyroutes.register('pull_requests_global', '/_admin/pull-request/%(pull_request_id)s', ['pull_request_id']);
44 pyroutes.register('admin_settings_open_source', '/_admin/settings/open_source', []);
44 pyroutes.register('admin_settings_open_source', '/_admin/settings/open_source', []);
45 pyroutes.register('admin_settings_vcs_svn_generate_cfg', '/_admin/settings/vcs/svn_generate_cfg', []);
45 pyroutes.register('admin_settings_vcs_svn_generate_cfg', '/_admin/settings/vcs/svn_generate_cfg', []);
46 pyroutes.register('admin_settings_system', '/_admin/settings/system', []);
46 pyroutes.register('admin_settings_system', '/_admin/settings/system', []);
47 pyroutes.register('admin_settings_system_update', '/_admin/settings/system/updates', []);
47 pyroutes.register('admin_settings_system_update', '/_admin/settings/system/updates', []);
48 pyroutes.register('admin_settings_exception_tracker', '/_admin/settings/exceptions', []);
48 pyroutes.register('admin_settings_exception_tracker', '/_admin/settings/exceptions', []);
49 pyroutes.register('admin_settings_exception_tracker_delete_all', '/_admin/settings/exceptions/delete', []);
49 pyroutes.register('admin_settings_exception_tracker_delete_all', '/_admin/settings/exceptions/delete', []);
50 pyroutes.register('admin_settings_exception_tracker_show', '/_admin/settings/exceptions/%(exception_id)s', ['exception_id']);
50 pyroutes.register('admin_settings_exception_tracker_show', '/_admin/settings/exceptions/%(exception_id)s', ['exception_id']);
51 pyroutes.register('admin_settings_exception_tracker_delete', '/_admin/settings/exceptions/%(exception_id)s/delete', ['exception_id']);
51 pyroutes.register('admin_settings_exception_tracker_delete', '/_admin/settings/exceptions/%(exception_id)s/delete', ['exception_id']);
52 pyroutes.register('admin_settings_sessions', '/_admin/settings/sessions', []);
52 pyroutes.register('admin_settings_sessions', '/_admin/settings/sessions', []);
53 pyroutes.register('admin_settings_sessions_cleanup', '/_admin/settings/sessions/cleanup', []);
53 pyroutes.register('admin_settings_sessions_cleanup', '/_admin/settings/sessions/cleanup', []);
54 pyroutes.register('admin_settings_process_management', '/_admin/settings/process_management', []);
54 pyroutes.register('admin_settings_process_management', '/_admin/settings/process_management', []);
55 pyroutes.register('admin_settings_process_management_data', '/_admin/settings/process_management/data', []);
55 pyroutes.register('admin_settings_process_management_data', '/_admin/settings/process_management/data', []);
56 pyroutes.register('admin_settings_process_management_signal', '/_admin/settings/process_management/signal', []);
56 pyroutes.register('admin_settings_process_management_signal', '/_admin/settings/process_management/signal', []);
57 pyroutes.register('admin_settings_process_management_master_signal', '/_admin/settings/process_management/master_signal', []);
57 pyroutes.register('admin_settings_process_management_master_signal', '/_admin/settings/process_management/master_signal', []);
58 pyroutes.register('admin_defaults_repositories', '/_admin/defaults/repositories', []);
58 pyroutes.register('admin_defaults_repositories', '/_admin/defaults/repositories', []);
59 pyroutes.register('admin_defaults_repositories_update', '/_admin/defaults/repositories/update', []);
59 pyroutes.register('admin_defaults_repositories_update', '/_admin/defaults/repositories/update', []);
60 pyroutes.register('admin_settings', '/_admin/settings', []);
60 pyroutes.register('admin_settings', '/_admin/settings', []);
61 pyroutes.register('admin_settings_update', '/_admin/settings/update', []);
61 pyroutes.register('admin_settings_update', '/_admin/settings/update', []);
62 pyroutes.register('admin_settings_global', '/_admin/settings/global', []);
62 pyroutes.register('admin_settings_global', '/_admin/settings/global', []);
63 pyroutes.register('admin_settings_global_update', '/_admin/settings/global/update', []);
63 pyroutes.register('admin_settings_global_update', '/_admin/settings/global/update', []);
64 pyroutes.register('admin_settings_vcs', '/_admin/settings/vcs', []);
64 pyroutes.register('admin_settings_vcs', '/_admin/settings/vcs', []);
65 pyroutes.register('admin_settings_vcs_update', '/_admin/settings/vcs/update', []);
65 pyroutes.register('admin_settings_vcs_update', '/_admin/settings/vcs/update', []);
66 pyroutes.register('admin_settings_vcs_svn_pattern_delete', '/_admin/settings/vcs/svn_pattern_delete', []);
66 pyroutes.register('admin_settings_vcs_svn_pattern_delete', '/_admin/settings/vcs/svn_pattern_delete', []);
67 pyroutes.register('admin_settings_mapping', '/_admin/settings/mapping', []);
67 pyroutes.register('admin_settings_mapping', '/_admin/settings/mapping', []);
68 pyroutes.register('admin_settings_mapping_update', '/_admin/settings/mapping/update', []);
68 pyroutes.register('admin_settings_mapping_update', '/_admin/settings/mapping/update', []);
69 pyroutes.register('admin_settings_visual', '/_admin/settings/visual', []);
69 pyroutes.register('admin_settings_visual', '/_admin/settings/visual', []);
70 pyroutes.register('admin_settings_visual_update', '/_admin/settings/visual/update', []);
70 pyroutes.register('admin_settings_visual_update', '/_admin/settings/visual/update', []);
71 pyroutes.register('admin_settings_issuetracker', '/_admin/settings/issue-tracker', []);
71 pyroutes.register('admin_settings_issuetracker', '/_admin/settings/issue-tracker', []);
72 pyroutes.register('admin_settings_issuetracker_update', '/_admin/settings/issue-tracker/update', []);
72 pyroutes.register('admin_settings_issuetracker_update', '/_admin/settings/issue-tracker/update', []);
73 pyroutes.register('admin_settings_issuetracker_test', '/_admin/settings/issue-tracker/test', []);
73 pyroutes.register('admin_settings_issuetracker_test', '/_admin/settings/issue-tracker/test', []);
74 pyroutes.register('admin_settings_issuetracker_delete', '/_admin/settings/issue-tracker/delete', []);
74 pyroutes.register('admin_settings_issuetracker_delete', '/_admin/settings/issue-tracker/delete', []);
75 pyroutes.register('admin_settings_email', '/_admin/settings/email', []);
75 pyroutes.register('admin_settings_email', '/_admin/settings/email', []);
76 pyroutes.register('admin_settings_email_update', '/_admin/settings/email/update', []);
76 pyroutes.register('admin_settings_email_update', '/_admin/settings/email/update', []);
77 pyroutes.register('admin_settings_hooks', '/_admin/settings/hooks', []);
77 pyroutes.register('admin_settings_hooks', '/_admin/settings/hooks', []);
78 pyroutes.register('admin_settings_hooks_update', '/_admin/settings/hooks/update', []);
78 pyroutes.register('admin_settings_hooks_update', '/_admin/settings/hooks/update', []);
79 pyroutes.register('admin_settings_hooks_delete', '/_admin/settings/hooks/delete', []);
79 pyroutes.register('admin_settings_hooks_delete', '/_admin/settings/hooks/delete', []);
80 pyroutes.register('admin_settings_search', '/_admin/settings/search', []);
80 pyroutes.register('admin_settings_search', '/_admin/settings/search', []);
81 pyroutes.register('admin_settings_labs', '/_admin/settings/labs', []);
81 pyroutes.register('admin_settings_labs', '/_admin/settings/labs', []);
82 pyroutes.register('admin_settings_labs_update', '/_admin/settings/labs/update', []);
82 pyroutes.register('admin_settings_labs_update', '/_admin/settings/labs/update', []);
83 pyroutes.register('admin_permissions_application', '/_admin/permissions/application', []);
83 pyroutes.register('admin_permissions_application', '/_admin/permissions/application', []);
84 pyroutes.register('admin_permissions_application_update', '/_admin/permissions/application/update', []);
84 pyroutes.register('admin_permissions_application_update', '/_admin/permissions/application/update', []);
85 pyroutes.register('admin_permissions_global', '/_admin/permissions/global', []);
85 pyroutes.register('admin_permissions_global', '/_admin/permissions/global', []);
86 pyroutes.register('admin_permissions_global_update', '/_admin/permissions/global/update', []);
86 pyroutes.register('admin_permissions_global_update', '/_admin/permissions/global/update', []);
87 pyroutes.register('admin_permissions_object', '/_admin/permissions/object', []);
87 pyroutes.register('admin_permissions_object', '/_admin/permissions/object', []);
88 pyroutes.register('admin_permissions_object_update', '/_admin/permissions/object/update', []);
88 pyroutes.register('admin_permissions_object_update', '/_admin/permissions/object/update', []);
89 pyroutes.register('admin_permissions_ips', '/_admin/permissions/ips', []);
89 pyroutes.register('admin_permissions_ips', '/_admin/permissions/ips', []);
90 pyroutes.register('admin_permissions_overview', '/_admin/permissions/overview', []);
90 pyroutes.register('admin_permissions_overview', '/_admin/permissions/overview', []);
91 pyroutes.register('admin_permissions_auth_token_access', '/_admin/permissions/auth_token_access', []);
91 pyroutes.register('admin_permissions_auth_token_access', '/_admin/permissions/auth_token_access', []);
92 pyroutes.register('admin_permissions_ssh_keys', '/_admin/permissions/ssh_keys', []);
92 pyroutes.register('admin_permissions_ssh_keys', '/_admin/permissions/ssh_keys', []);
93 pyroutes.register('admin_permissions_ssh_keys_data', '/_admin/permissions/ssh_keys/data', []);
93 pyroutes.register('admin_permissions_ssh_keys_data', '/_admin/permissions/ssh_keys/data', []);
94 pyroutes.register('admin_permissions_ssh_keys_update', '/_admin/permissions/ssh_keys/update', []);
94 pyroutes.register('admin_permissions_ssh_keys_update', '/_admin/permissions/ssh_keys/update', []);
95 pyroutes.register('users', '/_admin/users', []);
95 pyroutes.register('users', '/_admin/users', []);
96 pyroutes.register('users_data', '/_admin/users_data', []);
96 pyroutes.register('users_data', '/_admin/users_data', []);
97 pyroutes.register('users_create', '/_admin/users/create', []);
97 pyroutes.register('users_create', '/_admin/users/create', []);
98 pyroutes.register('users_new', '/_admin/users/new', []);
98 pyroutes.register('users_new', '/_admin/users/new', []);
99 pyroutes.register('user_edit', '/_admin/users/%(user_id)s/edit', ['user_id']);
99 pyroutes.register('user_edit', '/_admin/users/%(user_id)s/edit', ['user_id']);
100 pyroutes.register('user_edit_advanced', '/_admin/users/%(user_id)s/edit/advanced', ['user_id']);
100 pyroutes.register('user_edit_advanced', '/_admin/users/%(user_id)s/edit/advanced', ['user_id']);
101 pyroutes.register('user_edit_global_perms', '/_admin/users/%(user_id)s/edit/global_permissions', ['user_id']);
101 pyroutes.register('user_edit_global_perms', '/_admin/users/%(user_id)s/edit/global_permissions', ['user_id']);
102 pyroutes.register('user_edit_global_perms_update', '/_admin/users/%(user_id)s/edit/global_permissions/update', ['user_id']);
102 pyroutes.register('user_edit_global_perms_update', '/_admin/users/%(user_id)s/edit/global_permissions/update', ['user_id']);
103 pyroutes.register('user_update', '/_admin/users/%(user_id)s/update', ['user_id']);
103 pyroutes.register('user_update', '/_admin/users/%(user_id)s/update', ['user_id']);
104 pyroutes.register('user_delete', '/_admin/users/%(user_id)s/delete', ['user_id']);
104 pyroutes.register('user_delete', '/_admin/users/%(user_id)s/delete', ['user_id']);
105 pyroutes.register('user_enable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_enable', ['user_id']);
105 pyroutes.register('user_enable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_enable', ['user_id']);
106 pyroutes.register('user_disable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_disable', ['user_id']);
106 pyroutes.register('user_disable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_disable', ['user_id']);
107 pyroutes.register('user_create_personal_repo_group', '/_admin/users/%(user_id)s/create_repo_group', ['user_id']);
107 pyroutes.register('user_create_personal_repo_group', '/_admin/users/%(user_id)s/create_repo_group', ['user_id']);
108 pyroutes.register('edit_user_auth_tokens_delete', '/_admin/users/%(user_id)s/edit/auth_tokens/delete', ['user_id']);
108 pyroutes.register('edit_user_auth_tokens_delete', '/_admin/users/%(user_id)s/edit/auth_tokens/delete', ['user_id']);
109 pyroutes.register('edit_user_ssh_keys', '/_admin/users/%(user_id)s/edit/ssh_keys', ['user_id']);
109 pyroutes.register('edit_user_ssh_keys', '/_admin/users/%(user_id)s/edit/ssh_keys', ['user_id']);
110 pyroutes.register('edit_user_ssh_keys_generate_keypair', '/_admin/users/%(user_id)s/edit/ssh_keys/generate', ['user_id']);
110 pyroutes.register('edit_user_ssh_keys_generate_keypair', '/_admin/users/%(user_id)s/edit/ssh_keys/generate', ['user_id']);
111 pyroutes.register('edit_user_ssh_keys_add', '/_admin/users/%(user_id)s/edit/ssh_keys/new', ['user_id']);
111 pyroutes.register('edit_user_ssh_keys_add', '/_admin/users/%(user_id)s/edit/ssh_keys/new', ['user_id']);
112 pyroutes.register('edit_user_ssh_keys_delete', '/_admin/users/%(user_id)s/edit/ssh_keys/delete', ['user_id']);
112 pyroutes.register('edit_user_ssh_keys_delete', '/_admin/users/%(user_id)s/edit/ssh_keys/delete', ['user_id']);
113 pyroutes.register('edit_user_emails', '/_admin/users/%(user_id)s/edit/emails', ['user_id']);
113 pyroutes.register('edit_user_emails', '/_admin/users/%(user_id)s/edit/emails', ['user_id']);
114 pyroutes.register('edit_user_emails_add', '/_admin/users/%(user_id)s/edit/emails/new', ['user_id']);
114 pyroutes.register('edit_user_emails_add', '/_admin/users/%(user_id)s/edit/emails/new', ['user_id']);
115 pyroutes.register('edit_user_emails_delete', '/_admin/users/%(user_id)s/edit/emails/delete', ['user_id']);
115 pyroutes.register('edit_user_emails_delete', '/_admin/users/%(user_id)s/edit/emails/delete', ['user_id']);
116 pyroutes.register('edit_user_ips', '/_admin/users/%(user_id)s/edit/ips', ['user_id']);
116 pyroutes.register('edit_user_ips', '/_admin/users/%(user_id)s/edit/ips', ['user_id']);
117 pyroutes.register('edit_user_ips_add', '/_admin/users/%(user_id)s/edit/ips/new', ['user_id']);
117 pyroutes.register('edit_user_ips_add', '/_admin/users/%(user_id)s/edit/ips/new', ['user_id']);
118 pyroutes.register('edit_user_ips_delete', '/_admin/users/%(user_id)s/edit/ips/delete', ['user_id']);
118 pyroutes.register('edit_user_ips_delete', '/_admin/users/%(user_id)s/edit/ips/delete', ['user_id']);
119 pyroutes.register('edit_user_perms_summary', '/_admin/users/%(user_id)s/edit/permissions_summary', ['user_id']);
119 pyroutes.register('edit_user_perms_summary', '/_admin/users/%(user_id)s/edit/permissions_summary', ['user_id']);
120 pyroutes.register('edit_user_perms_summary_json', '/_admin/users/%(user_id)s/edit/permissions_summary/json', ['user_id']);
120 pyroutes.register('edit_user_perms_summary_json', '/_admin/users/%(user_id)s/edit/permissions_summary/json', ['user_id']);
121 pyroutes.register('edit_user_groups_management', '/_admin/users/%(user_id)s/edit/groups_management', ['user_id']);
121 pyroutes.register('edit_user_groups_management', '/_admin/users/%(user_id)s/edit/groups_management', ['user_id']);
122 pyroutes.register('edit_user_groups_management_updates', '/_admin/users/%(user_id)s/edit/edit_user_groups_management/updates', ['user_id']);
122 pyroutes.register('edit_user_groups_management_updates', '/_admin/users/%(user_id)s/edit/edit_user_groups_management/updates', ['user_id']);
123 pyroutes.register('edit_user_audit_logs', '/_admin/users/%(user_id)s/edit/audit', ['user_id']);
123 pyroutes.register('edit_user_audit_logs', '/_admin/users/%(user_id)s/edit/audit', ['user_id']);
124 pyroutes.register('edit_user_caches', '/_admin/users/%(user_id)s/edit/caches', ['user_id']);
124 pyroutes.register('edit_user_caches', '/_admin/users/%(user_id)s/edit/caches', ['user_id']);
125 pyroutes.register('edit_user_caches_update', '/_admin/users/%(user_id)s/edit/caches/update', ['user_id']);
125 pyroutes.register('edit_user_caches_update', '/_admin/users/%(user_id)s/edit/caches/update', ['user_id']);
126 pyroutes.register('user_groups', '/_admin/user_groups', []);
126 pyroutes.register('user_groups', '/_admin/user_groups', []);
127 pyroutes.register('user_groups_data', '/_admin/user_groups_data', []);
127 pyroutes.register('user_groups_data', '/_admin/user_groups_data', []);
128 pyroutes.register('user_groups_new', '/_admin/user_groups/new', []);
128 pyroutes.register('user_groups_new', '/_admin/user_groups/new', []);
129 pyroutes.register('user_groups_create', '/_admin/user_groups/create', []);
129 pyroutes.register('user_groups_create', '/_admin/user_groups/create', []);
130 pyroutes.register('repos', '/_admin/repos', []);
130 pyroutes.register('repos', '/_admin/repos', []);
131 pyroutes.register('repo_new', '/_admin/repos/new', []);
131 pyroutes.register('repo_new', '/_admin/repos/new', []);
132 pyroutes.register('repo_create', '/_admin/repos/create', []);
132 pyroutes.register('repo_create', '/_admin/repos/create', []);
133 pyroutes.register('repo_groups', '/_admin/repo_groups', []);
133 pyroutes.register('repo_groups', '/_admin/repo_groups', []);
134 pyroutes.register('repo_groups_data', '/_admin/repo_groups_data', []);
134 pyroutes.register('repo_group_new', '/_admin/repo_group/new', []);
135 pyroutes.register('repo_group_new', '/_admin/repo_group/new', []);
135 pyroutes.register('repo_group_create', '/_admin/repo_group/create', []);
136 pyroutes.register('repo_group_create', '/_admin/repo_group/create', []);
136 pyroutes.register('channelstream_connect', '/_admin/channelstream/connect', []);
137 pyroutes.register('channelstream_connect', '/_admin/channelstream/connect', []);
137 pyroutes.register('channelstream_subscribe', '/_admin/channelstream/subscribe', []);
138 pyroutes.register('channelstream_subscribe', '/_admin/channelstream/subscribe', []);
138 pyroutes.register('channelstream_proxy', '/_channelstream', []);
139 pyroutes.register('channelstream_proxy', '/_channelstream', []);
139 pyroutes.register('upload_file', '/_file_store/upload', []);
140 pyroutes.register('upload_file', '/_file_store/upload', []);
140 pyroutes.register('download_file', '/_file_store/download/%(fid)s', ['fid']);
141 pyroutes.register('download_file', '/_file_store/download/%(fid)s', ['fid']);
141 pyroutes.register('logout', '/_admin/logout', []);
142 pyroutes.register('logout', '/_admin/logout', []);
142 pyroutes.register('reset_password', '/_admin/password_reset', []);
143 pyroutes.register('reset_password', '/_admin/password_reset', []);
143 pyroutes.register('reset_password_confirmation', '/_admin/password_reset_confirmation', []);
144 pyroutes.register('reset_password_confirmation', '/_admin/password_reset_confirmation', []);
144 pyroutes.register('home', '/', []);
145 pyroutes.register('home', '/', []);
145 pyroutes.register('user_autocomplete_data', '/_users', []);
146 pyroutes.register('user_autocomplete_data', '/_users', []);
146 pyroutes.register('user_group_autocomplete_data', '/_user_groups', []);
147 pyroutes.register('user_group_autocomplete_data', '/_user_groups', []);
147 pyroutes.register('repo_list_data', '/_repos', []);
148 pyroutes.register('repo_list_data', '/_repos', []);
148 pyroutes.register('repo_group_list_data', '/_repo_groups', []);
149 pyroutes.register('repo_group_list_data', '/_repo_groups', []);
149 pyroutes.register('goto_switcher_data', '/_goto_data', []);
150 pyroutes.register('goto_switcher_data', '/_goto_data', []);
150 pyroutes.register('markup_preview', '/_markup_preview', []);
151 pyroutes.register('markup_preview', '/_markup_preview', []);
151 pyroutes.register('store_user_session_value', '/_store_session_attr', []);
152 pyroutes.register('store_user_session_value', '/_store_session_attr', []);
152 pyroutes.register('journal', '/_admin/journal', []);
153 pyroutes.register('journal', '/_admin/journal', []);
153 pyroutes.register('journal_rss', '/_admin/journal/rss', []);
154 pyroutes.register('journal_rss', '/_admin/journal/rss', []);
154 pyroutes.register('journal_atom', '/_admin/journal/atom', []);
155 pyroutes.register('journal_atom', '/_admin/journal/atom', []);
155 pyroutes.register('journal_public', '/_admin/public_journal', []);
156 pyroutes.register('journal_public', '/_admin/public_journal', []);
156 pyroutes.register('journal_public_atom', '/_admin/public_journal/atom', []);
157 pyroutes.register('journal_public_atom', '/_admin/public_journal/atom', []);
157 pyroutes.register('journal_public_atom_old', '/_admin/public_journal_atom', []);
158 pyroutes.register('journal_public_atom_old', '/_admin/public_journal_atom', []);
158 pyroutes.register('journal_public_rss', '/_admin/public_journal/rss', []);
159 pyroutes.register('journal_public_rss', '/_admin/public_journal/rss', []);
159 pyroutes.register('journal_public_rss_old', '/_admin/public_journal_rss', []);
160 pyroutes.register('journal_public_rss_old', '/_admin/public_journal_rss', []);
160 pyroutes.register('toggle_following', '/_admin/toggle_following', []);
161 pyroutes.register('toggle_following', '/_admin/toggle_following', []);
161 pyroutes.register('repo_creating', '/%(repo_name)s/repo_creating', ['repo_name']);
162 pyroutes.register('repo_creating', '/%(repo_name)s/repo_creating', ['repo_name']);
162 pyroutes.register('repo_creating_check', '/%(repo_name)s/repo_creating_check', ['repo_name']);
163 pyroutes.register('repo_creating_check', '/%(repo_name)s/repo_creating_check', ['repo_name']);
163 pyroutes.register('repo_summary_explicit', '/%(repo_name)s/summary', ['repo_name']);
164 pyroutes.register('repo_summary_explicit', '/%(repo_name)s/summary', ['repo_name']);
164 pyroutes.register('repo_summary_commits', '/%(repo_name)s/summary-commits', ['repo_name']);
165 pyroutes.register('repo_summary_commits', '/%(repo_name)s/summary-commits', ['repo_name']);
165 pyroutes.register('repo_commit', '/%(repo_name)s/changeset/%(commit_id)s', ['repo_name', 'commit_id']);
166 pyroutes.register('repo_commit', '/%(repo_name)s/changeset/%(commit_id)s', ['repo_name', 'commit_id']);
166 pyroutes.register('repo_commit_children', '/%(repo_name)s/changeset_children/%(commit_id)s', ['repo_name', 'commit_id']);
167 pyroutes.register('repo_commit_children', '/%(repo_name)s/changeset_children/%(commit_id)s', ['repo_name', 'commit_id']);
167 pyroutes.register('repo_commit_parents', '/%(repo_name)s/changeset_parents/%(commit_id)s', ['repo_name', 'commit_id']);
168 pyroutes.register('repo_commit_parents', '/%(repo_name)s/changeset_parents/%(commit_id)s', ['repo_name', 'commit_id']);
168 pyroutes.register('repo_commit_raw', '/%(repo_name)s/changeset-diff/%(commit_id)s', ['repo_name', 'commit_id']);
169 pyroutes.register('repo_commit_raw', '/%(repo_name)s/changeset-diff/%(commit_id)s', ['repo_name', 'commit_id']);
169 pyroutes.register('repo_commit_patch', '/%(repo_name)s/changeset-patch/%(commit_id)s', ['repo_name', 'commit_id']);
170 pyroutes.register('repo_commit_patch', '/%(repo_name)s/changeset-patch/%(commit_id)s', ['repo_name', 'commit_id']);
170 pyroutes.register('repo_commit_download', '/%(repo_name)s/changeset-download/%(commit_id)s', ['repo_name', 'commit_id']);
171 pyroutes.register('repo_commit_download', '/%(repo_name)s/changeset-download/%(commit_id)s', ['repo_name', 'commit_id']);
171 pyroutes.register('repo_commit_data', '/%(repo_name)s/changeset-data/%(commit_id)s', ['repo_name', 'commit_id']);
172 pyroutes.register('repo_commit_data', '/%(repo_name)s/changeset-data/%(commit_id)s', ['repo_name', 'commit_id']);
172 pyroutes.register('repo_commit_comment_create', '/%(repo_name)s/changeset/%(commit_id)s/comment/create', ['repo_name', 'commit_id']);
173 pyroutes.register('repo_commit_comment_create', '/%(repo_name)s/changeset/%(commit_id)s/comment/create', ['repo_name', 'commit_id']);
173 pyroutes.register('repo_commit_comment_preview', '/%(repo_name)s/changeset/%(commit_id)s/comment/preview', ['repo_name', 'commit_id']);
174 pyroutes.register('repo_commit_comment_preview', '/%(repo_name)s/changeset/%(commit_id)s/comment/preview', ['repo_name', 'commit_id']);
174 pyroutes.register('repo_commit_comment_delete', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/delete', ['repo_name', 'commit_id', 'comment_id']);
175 pyroutes.register('repo_commit_comment_delete', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/delete', ['repo_name', 'commit_id', 'comment_id']);
175 pyroutes.register('repo_commit_raw_deprecated', '/%(repo_name)s/raw-changeset/%(commit_id)s', ['repo_name', 'commit_id']);
176 pyroutes.register('repo_commit_raw_deprecated', '/%(repo_name)s/raw-changeset/%(commit_id)s', ['repo_name', 'commit_id']);
176 pyroutes.register('repo_archivefile', '/%(repo_name)s/archive/%(fname)s', ['repo_name', 'fname']);
177 pyroutes.register('repo_archivefile', '/%(repo_name)s/archive/%(fname)s', ['repo_name', 'fname']);
177 pyroutes.register('repo_files_diff', '/%(repo_name)s/diff/%(f_path)s', ['repo_name', 'f_path']);
178 pyroutes.register('repo_files_diff', '/%(repo_name)s/diff/%(f_path)s', ['repo_name', 'f_path']);
178 pyroutes.register('repo_files_diff_2way_redirect', '/%(repo_name)s/diff-2way/%(f_path)s', ['repo_name', 'f_path']);
179 pyroutes.register('repo_files_diff_2way_redirect', '/%(repo_name)s/diff-2way/%(f_path)s', ['repo_name', 'f_path']);
179 pyroutes.register('repo_files', '/%(repo_name)s/files/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
180 pyroutes.register('repo_files', '/%(repo_name)s/files/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
180 pyroutes.register('repo_files:default_path', '/%(repo_name)s/files/%(commit_id)s/', ['repo_name', 'commit_id']);
181 pyroutes.register('repo_files:default_path', '/%(repo_name)s/files/%(commit_id)s/', ['repo_name', 'commit_id']);
181 pyroutes.register('repo_files:default_commit', '/%(repo_name)s/files', ['repo_name']);
182 pyroutes.register('repo_files:default_commit', '/%(repo_name)s/files', ['repo_name']);
182 pyroutes.register('repo_files:rendered', '/%(repo_name)s/render/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
183 pyroutes.register('repo_files:rendered', '/%(repo_name)s/render/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
183 pyroutes.register('repo_files:annotated', '/%(repo_name)s/annotate/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
184 pyroutes.register('repo_files:annotated', '/%(repo_name)s/annotate/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
184 pyroutes.register('repo_files:annotated_previous', '/%(repo_name)s/annotate-previous/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
185 pyroutes.register('repo_files:annotated_previous', '/%(repo_name)s/annotate-previous/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
185 pyroutes.register('repo_nodetree_full', '/%(repo_name)s/nodetree_full/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
186 pyroutes.register('repo_nodetree_full', '/%(repo_name)s/nodetree_full/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
186 pyroutes.register('repo_nodetree_full:default_path', '/%(repo_name)s/nodetree_full/%(commit_id)s/', ['repo_name', 'commit_id']);
187 pyroutes.register('repo_nodetree_full:default_path', '/%(repo_name)s/nodetree_full/%(commit_id)s/', ['repo_name', 'commit_id']);
187 pyroutes.register('repo_files_nodelist', '/%(repo_name)s/nodelist/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
188 pyroutes.register('repo_files_nodelist', '/%(repo_name)s/nodelist/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
188 pyroutes.register('repo_file_raw', '/%(repo_name)s/raw/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
189 pyroutes.register('repo_file_raw', '/%(repo_name)s/raw/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
189 pyroutes.register('repo_file_download', '/%(repo_name)s/download/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
190 pyroutes.register('repo_file_download', '/%(repo_name)s/download/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
190 pyroutes.register('repo_file_download:legacy', '/%(repo_name)s/rawfile/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
191 pyroutes.register('repo_file_download:legacy', '/%(repo_name)s/rawfile/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
191 pyroutes.register('repo_file_history', '/%(repo_name)s/history/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
192 pyroutes.register('repo_file_history', '/%(repo_name)s/history/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
192 pyroutes.register('repo_file_authors', '/%(repo_name)s/authors/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
193 pyroutes.register('repo_file_authors', '/%(repo_name)s/authors/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
193 pyroutes.register('repo_files_remove_file', '/%(repo_name)s/remove_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
194 pyroutes.register('repo_files_remove_file', '/%(repo_name)s/remove_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
194 pyroutes.register('repo_files_delete_file', '/%(repo_name)s/delete_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
195 pyroutes.register('repo_files_delete_file', '/%(repo_name)s/delete_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
195 pyroutes.register('repo_files_edit_file', '/%(repo_name)s/edit_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
196 pyroutes.register('repo_files_edit_file', '/%(repo_name)s/edit_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
196 pyroutes.register('repo_files_update_file', '/%(repo_name)s/update_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
197 pyroutes.register('repo_files_update_file', '/%(repo_name)s/update_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
197 pyroutes.register('repo_files_add_file', '/%(repo_name)s/add_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
198 pyroutes.register('repo_files_add_file', '/%(repo_name)s/add_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
198 pyroutes.register('repo_files_create_file', '/%(repo_name)s/create_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
199 pyroutes.register('repo_files_create_file', '/%(repo_name)s/create_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
199 pyroutes.register('repo_refs_data', '/%(repo_name)s/refs-data', ['repo_name']);
200 pyroutes.register('repo_refs_data', '/%(repo_name)s/refs-data', ['repo_name']);
200 pyroutes.register('repo_refs_changelog_data', '/%(repo_name)s/refs-data-changelog', ['repo_name']);
201 pyroutes.register('repo_refs_changelog_data', '/%(repo_name)s/refs-data-changelog', ['repo_name']);
201 pyroutes.register('repo_stats', '/%(repo_name)s/repo_stats/%(commit_id)s', ['repo_name', 'commit_id']);
202 pyroutes.register('repo_stats', '/%(repo_name)s/repo_stats/%(commit_id)s', ['repo_name', 'commit_id']);
202 pyroutes.register('repo_changelog', '/%(repo_name)s/changelog', ['repo_name']);
203 pyroutes.register('repo_changelog', '/%(repo_name)s/changelog', ['repo_name']);
203 pyroutes.register('repo_changelog_file', '/%(repo_name)s/changelog/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
204 pyroutes.register('repo_changelog_file', '/%(repo_name)s/changelog/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
204 pyroutes.register('repo_changelog_elements', '/%(repo_name)s/changelog_elements', ['repo_name']);
205 pyroutes.register('repo_changelog_elements', '/%(repo_name)s/changelog_elements', ['repo_name']);
205 pyroutes.register('repo_changelog_elements_file', '/%(repo_name)s/changelog_elements/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
206 pyroutes.register('repo_changelog_elements_file', '/%(repo_name)s/changelog_elements/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
206 pyroutes.register('repo_compare_select', '/%(repo_name)s/compare', ['repo_name']);
207 pyroutes.register('repo_compare_select', '/%(repo_name)s/compare', ['repo_name']);
207 pyroutes.register('repo_compare', '/%(repo_name)s/compare/%(source_ref_type)s@%(source_ref)s...%(target_ref_type)s@%(target_ref)s', ['repo_name', 'source_ref_type', 'source_ref', 'target_ref_type', 'target_ref']);
208 pyroutes.register('repo_compare', '/%(repo_name)s/compare/%(source_ref_type)s@%(source_ref)s...%(target_ref_type)s@%(target_ref)s', ['repo_name', 'source_ref_type', 'source_ref', 'target_ref_type', 'target_ref']);
208 pyroutes.register('tags_home', '/%(repo_name)s/tags', ['repo_name']);
209 pyroutes.register('tags_home', '/%(repo_name)s/tags', ['repo_name']);
209 pyroutes.register('branches_home', '/%(repo_name)s/branches', ['repo_name']);
210 pyroutes.register('branches_home', '/%(repo_name)s/branches', ['repo_name']);
210 pyroutes.register('bookmarks_home', '/%(repo_name)s/bookmarks', ['repo_name']);
211 pyroutes.register('bookmarks_home', '/%(repo_name)s/bookmarks', ['repo_name']);
211 pyroutes.register('repo_fork_new', '/%(repo_name)s/fork', ['repo_name']);
212 pyroutes.register('repo_fork_new', '/%(repo_name)s/fork', ['repo_name']);
212 pyroutes.register('repo_fork_create', '/%(repo_name)s/fork/create', ['repo_name']);
213 pyroutes.register('repo_fork_create', '/%(repo_name)s/fork/create', ['repo_name']);
213 pyroutes.register('repo_forks_show_all', '/%(repo_name)s/forks', ['repo_name']);
214 pyroutes.register('repo_forks_show_all', '/%(repo_name)s/forks', ['repo_name']);
214 pyroutes.register('repo_forks_data', '/%(repo_name)s/forks/data', ['repo_name']);
215 pyroutes.register('repo_forks_data', '/%(repo_name)s/forks/data', ['repo_name']);
215 pyroutes.register('pullrequest_show', '/%(repo_name)s/pull-request/%(pull_request_id)s', ['repo_name', 'pull_request_id']);
216 pyroutes.register('pullrequest_show', '/%(repo_name)s/pull-request/%(pull_request_id)s', ['repo_name', 'pull_request_id']);
216 pyroutes.register('pullrequest_show_all', '/%(repo_name)s/pull-request', ['repo_name']);
217 pyroutes.register('pullrequest_show_all', '/%(repo_name)s/pull-request', ['repo_name']);
217 pyroutes.register('pullrequest_show_all_data', '/%(repo_name)s/pull-request-data', ['repo_name']);
218 pyroutes.register('pullrequest_show_all_data', '/%(repo_name)s/pull-request-data', ['repo_name']);
218 pyroutes.register('pullrequest_repo_refs', '/%(repo_name)s/pull-request/refs/%(target_repo_name)s', ['repo_name', 'target_repo_name']);
219 pyroutes.register('pullrequest_repo_refs', '/%(repo_name)s/pull-request/refs/%(target_repo_name)s', ['repo_name', 'target_repo_name']);
219 pyroutes.register('pullrequest_repo_targets', '/%(repo_name)s/pull-request/repo-targets', ['repo_name']);
220 pyroutes.register('pullrequest_repo_targets', '/%(repo_name)s/pull-request/repo-targets', ['repo_name']);
220 pyroutes.register('pullrequest_new', '/%(repo_name)s/pull-request/new', ['repo_name']);
221 pyroutes.register('pullrequest_new', '/%(repo_name)s/pull-request/new', ['repo_name']);
221 pyroutes.register('pullrequest_create', '/%(repo_name)s/pull-request/create', ['repo_name']);
222 pyroutes.register('pullrequest_create', '/%(repo_name)s/pull-request/create', ['repo_name']);
222 pyroutes.register('pullrequest_update', '/%(repo_name)s/pull-request/%(pull_request_id)s/update', ['repo_name', 'pull_request_id']);
223 pyroutes.register('pullrequest_update', '/%(repo_name)s/pull-request/%(pull_request_id)s/update', ['repo_name', 'pull_request_id']);
223 pyroutes.register('pullrequest_merge', '/%(repo_name)s/pull-request/%(pull_request_id)s/merge', ['repo_name', 'pull_request_id']);
224 pyroutes.register('pullrequest_merge', '/%(repo_name)s/pull-request/%(pull_request_id)s/merge', ['repo_name', 'pull_request_id']);
224 pyroutes.register('pullrequest_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/delete', ['repo_name', 'pull_request_id']);
225 pyroutes.register('pullrequest_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/delete', ['repo_name', 'pull_request_id']);
225 pyroutes.register('pullrequest_comment_create', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment', ['repo_name', 'pull_request_id']);
226 pyroutes.register('pullrequest_comment_create', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment', ['repo_name', 'pull_request_id']);
226 pyroutes.register('pullrequest_comment_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/delete', ['repo_name', 'pull_request_id', 'comment_id']);
227 pyroutes.register('pullrequest_comment_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/delete', ['repo_name', 'pull_request_id', 'comment_id']);
227 pyroutes.register('edit_repo', '/%(repo_name)s/settings', ['repo_name']);
228 pyroutes.register('edit_repo', '/%(repo_name)s/settings', ['repo_name']);
228 pyroutes.register('edit_repo_advanced', '/%(repo_name)s/settings/advanced', ['repo_name']);
229 pyroutes.register('edit_repo_advanced', '/%(repo_name)s/settings/advanced', ['repo_name']);
229 pyroutes.register('edit_repo_advanced_archive', '/%(repo_name)s/settings/advanced/archive', ['repo_name']);
230 pyroutes.register('edit_repo_advanced_archive', '/%(repo_name)s/settings/advanced/archive', ['repo_name']);
230 pyroutes.register('edit_repo_advanced_delete', '/%(repo_name)s/settings/advanced/delete', ['repo_name']);
231 pyroutes.register('edit_repo_advanced_delete', '/%(repo_name)s/settings/advanced/delete', ['repo_name']);
231 pyroutes.register('edit_repo_advanced_locking', '/%(repo_name)s/settings/advanced/locking', ['repo_name']);
232 pyroutes.register('edit_repo_advanced_locking', '/%(repo_name)s/settings/advanced/locking', ['repo_name']);
232 pyroutes.register('edit_repo_advanced_journal', '/%(repo_name)s/settings/advanced/journal', ['repo_name']);
233 pyroutes.register('edit_repo_advanced_journal', '/%(repo_name)s/settings/advanced/journal', ['repo_name']);
233 pyroutes.register('edit_repo_advanced_fork', '/%(repo_name)s/settings/advanced/fork', ['repo_name']);
234 pyroutes.register('edit_repo_advanced_fork', '/%(repo_name)s/settings/advanced/fork', ['repo_name']);
234 pyroutes.register('edit_repo_advanced_hooks', '/%(repo_name)s/settings/advanced/hooks', ['repo_name']);
235 pyroutes.register('edit_repo_advanced_hooks', '/%(repo_name)s/settings/advanced/hooks', ['repo_name']);
235 pyroutes.register('edit_repo_caches', '/%(repo_name)s/settings/caches', ['repo_name']);
236 pyroutes.register('edit_repo_caches', '/%(repo_name)s/settings/caches', ['repo_name']);
236 pyroutes.register('edit_repo_perms', '/%(repo_name)s/settings/permissions', ['repo_name']);
237 pyroutes.register('edit_repo_perms', '/%(repo_name)s/settings/permissions', ['repo_name']);
237 pyroutes.register('edit_repo_maintenance', '/%(repo_name)s/settings/maintenance', ['repo_name']);
238 pyroutes.register('edit_repo_maintenance', '/%(repo_name)s/settings/maintenance', ['repo_name']);
238 pyroutes.register('edit_repo_maintenance_execute', '/%(repo_name)s/settings/maintenance/execute', ['repo_name']);
239 pyroutes.register('edit_repo_maintenance_execute', '/%(repo_name)s/settings/maintenance/execute', ['repo_name']);
239 pyroutes.register('edit_repo_fields', '/%(repo_name)s/settings/fields', ['repo_name']);
240 pyroutes.register('edit_repo_fields', '/%(repo_name)s/settings/fields', ['repo_name']);
240 pyroutes.register('edit_repo_fields_create', '/%(repo_name)s/settings/fields/create', ['repo_name']);
241 pyroutes.register('edit_repo_fields_create', '/%(repo_name)s/settings/fields/create', ['repo_name']);
241 pyroutes.register('edit_repo_fields_delete', '/%(repo_name)s/settings/fields/%(field_id)s/delete', ['repo_name', 'field_id']);
242 pyroutes.register('edit_repo_fields_delete', '/%(repo_name)s/settings/fields/%(field_id)s/delete', ['repo_name', 'field_id']);
242 pyroutes.register('repo_edit_toggle_locking', '/%(repo_name)s/settings/toggle_locking', ['repo_name']);
243 pyroutes.register('repo_edit_toggle_locking', '/%(repo_name)s/settings/toggle_locking', ['repo_name']);
243 pyroutes.register('edit_repo_remote', '/%(repo_name)s/settings/remote', ['repo_name']);
244 pyroutes.register('edit_repo_remote', '/%(repo_name)s/settings/remote', ['repo_name']);
244 pyroutes.register('edit_repo_remote_pull', '/%(repo_name)s/settings/remote/pull', ['repo_name']);
245 pyroutes.register('edit_repo_remote_pull', '/%(repo_name)s/settings/remote/pull', ['repo_name']);
245 pyroutes.register('edit_repo_statistics', '/%(repo_name)s/settings/statistics', ['repo_name']);
246 pyroutes.register('edit_repo_statistics', '/%(repo_name)s/settings/statistics', ['repo_name']);
246 pyroutes.register('edit_repo_statistics_reset', '/%(repo_name)s/settings/statistics/update', ['repo_name']);
247 pyroutes.register('edit_repo_statistics_reset', '/%(repo_name)s/settings/statistics/update', ['repo_name']);
247 pyroutes.register('edit_repo_issuetracker', '/%(repo_name)s/settings/issue_trackers', ['repo_name']);
248 pyroutes.register('edit_repo_issuetracker', '/%(repo_name)s/settings/issue_trackers', ['repo_name']);
248 pyroutes.register('edit_repo_issuetracker_test', '/%(repo_name)s/settings/issue_trackers/test', ['repo_name']);
249 pyroutes.register('edit_repo_issuetracker_test', '/%(repo_name)s/settings/issue_trackers/test', ['repo_name']);
249 pyroutes.register('edit_repo_issuetracker_delete', '/%(repo_name)s/settings/issue_trackers/delete', ['repo_name']);
250 pyroutes.register('edit_repo_issuetracker_delete', '/%(repo_name)s/settings/issue_trackers/delete', ['repo_name']);
250 pyroutes.register('edit_repo_issuetracker_update', '/%(repo_name)s/settings/issue_trackers/update', ['repo_name']);
251 pyroutes.register('edit_repo_issuetracker_update', '/%(repo_name)s/settings/issue_trackers/update', ['repo_name']);
251 pyroutes.register('edit_repo_vcs', '/%(repo_name)s/settings/vcs', ['repo_name']);
252 pyroutes.register('edit_repo_vcs', '/%(repo_name)s/settings/vcs', ['repo_name']);
252 pyroutes.register('edit_repo_vcs_update', '/%(repo_name)s/settings/vcs/update', ['repo_name']);
253 pyroutes.register('edit_repo_vcs_update', '/%(repo_name)s/settings/vcs/update', ['repo_name']);
253 pyroutes.register('edit_repo_vcs_svn_pattern_delete', '/%(repo_name)s/settings/vcs/svn_pattern/delete', ['repo_name']);
254 pyroutes.register('edit_repo_vcs_svn_pattern_delete', '/%(repo_name)s/settings/vcs/svn_pattern/delete', ['repo_name']);
254 pyroutes.register('repo_reviewers', '/%(repo_name)s/settings/review/rules', ['repo_name']);
255 pyroutes.register('repo_reviewers', '/%(repo_name)s/settings/review/rules', ['repo_name']);
255 pyroutes.register('repo_default_reviewers_data', '/%(repo_name)s/settings/review/default-reviewers', ['repo_name']);
256 pyroutes.register('repo_default_reviewers_data', '/%(repo_name)s/settings/review/default-reviewers', ['repo_name']);
256 pyroutes.register('edit_repo_strip', '/%(repo_name)s/settings/strip', ['repo_name']);
257 pyroutes.register('edit_repo_strip', '/%(repo_name)s/settings/strip', ['repo_name']);
257 pyroutes.register('strip_check', '/%(repo_name)s/settings/strip_check', ['repo_name']);
258 pyroutes.register('strip_check', '/%(repo_name)s/settings/strip_check', ['repo_name']);
258 pyroutes.register('strip_execute', '/%(repo_name)s/settings/strip_execute', ['repo_name']);
259 pyroutes.register('strip_execute', '/%(repo_name)s/settings/strip_execute', ['repo_name']);
259 pyroutes.register('edit_repo_audit_logs', '/%(repo_name)s/settings/audit_logs', ['repo_name']);
260 pyroutes.register('edit_repo_audit_logs', '/%(repo_name)s/settings/audit_logs', ['repo_name']);
260 pyroutes.register('rss_feed_home', '/%(repo_name)s/feed/rss', ['repo_name']);
261 pyroutes.register('rss_feed_home', '/%(repo_name)s/feed/rss', ['repo_name']);
261 pyroutes.register('atom_feed_home', '/%(repo_name)s/feed/atom', ['repo_name']);
262 pyroutes.register('atom_feed_home', '/%(repo_name)s/feed/atom', ['repo_name']);
262 pyroutes.register('repo_summary', '/%(repo_name)s', ['repo_name']);
263 pyroutes.register('repo_summary', '/%(repo_name)s', ['repo_name']);
263 pyroutes.register('repo_summary_slash', '/%(repo_name)s/', ['repo_name']);
264 pyroutes.register('repo_summary_slash', '/%(repo_name)s/', ['repo_name']);
264 pyroutes.register('edit_repo_group', '/%(repo_group_name)s/_edit', ['repo_group_name']);
265 pyroutes.register('edit_repo_group', '/%(repo_group_name)s/_edit', ['repo_group_name']);
265 pyroutes.register('edit_repo_group_advanced', '/%(repo_group_name)s/_settings/advanced', ['repo_group_name']);
266 pyroutes.register('edit_repo_group_advanced', '/%(repo_group_name)s/_settings/advanced', ['repo_group_name']);
266 pyroutes.register('edit_repo_group_advanced_delete', '/%(repo_group_name)s/_settings/advanced/delete', ['repo_group_name']);
267 pyroutes.register('edit_repo_group_advanced_delete', '/%(repo_group_name)s/_settings/advanced/delete', ['repo_group_name']);
267 pyroutes.register('edit_repo_group_perms', '/%(repo_group_name)s/_settings/permissions', ['repo_group_name']);
268 pyroutes.register('edit_repo_group_perms', '/%(repo_group_name)s/_settings/permissions', ['repo_group_name']);
268 pyroutes.register('edit_repo_group_perms_update', '/%(repo_group_name)s/_settings/permissions/update', ['repo_group_name']);
269 pyroutes.register('edit_repo_group_perms_update', '/%(repo_group_name)s/_settings/permissions/update', ['repo_group_name']);
269 pyroutes.register('repo_group_home', '/%(repo_group_name)s', ['repo_group_name']);
270 pyroutes.register('repo_group_home', '/%(repo_group_name)s', ['repo_group_name']);
270 pyroutes.register('repo_group_home_slash', '/%(repo_group_name)s/', ['repo_group_name']);
271 pyroutes.register('repo_group_home_slash', '/%(repo_group_name)s/', ['repo_group_name']);
271 pyroutes.register('user_group_members_data', '/_admin/user_groups/%(user_group_id)s/members', ['user_group_id']);
272 pyroutes.register('user_group_members_data', '/_admin/user_groups/%(user_group_id)s/members', ['user_group_id']);
272 pyroutes.register('edit_user_group_perms_summary', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary', ['user_group_id']);
273 pyroutes.register('edit_user_group_perms_summary', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary', ['user_group_id']);
273 pyroutes.register('edit_user_group_perms_summary_json', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary/json', ['user_group_id']);
274 pyroutes.register('edit_user_group_perms_summary_json', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary/json', ['user_group_id']);
274 pyroutes.register('edit_user_group', '/_admin/user_groups/%(user_group_id)s/edit', ['user_group_id']);
275 pyroutes.register('edit_user_group', '/_admin/user_groups/%(user_group_id)s/edit', ['user_group_id']);
275 pyroutes.register('user_groups_update', '/_admin/user_groups/%(user_group_id)s/update', ['user_group_id']);
276 pyroutes.register('user_groups_update', '/_admin/user_groups/%(user_group_id)s/update', ['user_group_id']);
276 pyroutes.register('edit_user_group_global_perms', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions', ['user_group_id']);
277 pyroutes.register('edit_user_group_global_perms', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions', ['user_group_id']);
277 pyroutes.register('edit_user_group_global_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions/update', ['user_group_id']);
278 pyroutes.register('edit_user_group_global_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions/update', ['user_group_id']);
278 pyroutes.register('edit_user_group_perms', '/_admin/user_groups/%(user_group_id)s/edit/permissions', ['user_group_id']);
279 pyroutes.register('edit_user_group_perms', '/_admin/user_groups/%(user_group_id)s/edit/permissions', ['user_group_id']);
279 pyroutes.register('edit_user_group_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/permissions/update', ['user_group_id']);
280 pyroutes.register('edit_user_group_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/permissions/update', ['user_group_id']);
280 pyroutes.register('edit_user_group_advanced', '/_admin/user_groups/%(user_group_id)s/edit/advanced', ['user_group_id']);
281 pyroutes.register('edit_user_group_advanced', '/_admin/user_groups/%(user_group_id)s/edit/advanced', ['user_group_id']);
281 pyroutes.register('edit_user_group_advanced_sync', '/_admin/user_groups/%(user_group_id)s/edit/advanced/sync', ['user_group_id']);
282 pyroutes.register('edit_user_group_advanced_sync', '/_admin/user_groups/%(user_group_id)s/edit/advanced/sync', ['user_group_id']);
282 pyroutes.register('user_groups_delete', '/_admin/user_groups/%(user_group_id)s/delete', ['user_group_id']);
283 pyroutes.register('user_groups_delete', '/_admin/user_groups/%(user_group_id)s/delete', ['user_group_id']);
283 pyroutes.register('search', '/_admin/search', []);
284 pyroutes.register('search', '/_admin/search', []);
284 pyroutes.register('search_repo', '/%(repo_name)s/_search', ['repo_name']);
285 pyroutes.register('search_repo', '/%(repo_name)s/_search', ['repo_name']);
285 pyroutes.register('search_repo_alt', '/%(repo_name)s/search', ['repo_name']);
286 pyroutes.register('search_repo_alt', '/%(repo_name)s/search', ['repo_name']);
286 pyroutes.register('search_repo_group', '/%(repo_group_name)s/_search', ['repo_group_name']);
287 pyroutes.register('search_repo_group', '/%(repo_group_name)s/_search', ['repo_group_name']);
287 pyroutes.register('user_profile', '/_profiles/%(username)s', ['username']);
288 pyroutes.register('user_profile', '/_profiles/%(username)s', ['username']);
288 pyroutes.register('user_group_profile', '/_profile_user_group/%(user_group_name)s', ['user_group_name']);
289 pyroutes.register('user_group_profile', '/_profile_user_group/%(user_group_name)s', ['user_group_name']);
289 pyroutes.register('my_account_profile', '/_admin/my_account/profile', []);
290 pyroutes.register('my_account_profile', '/_admin/my_account/profile', []);
290 pyroutes.register('my_account_edit', '/_admin/my_account/edit', []);
291 pyroutes.register('my_account_edit', '/_admin/my_account/edit', []);
291 pyroutes.register('my_account_update', '/_admin/my_account/update', []);
292 pyroutes.register('my_account_update', '/_admin/my_account/update', []);
292 pyroutes.register('my_account_password', '/_admin/my_account/password', []);
293 pyroutes.register('my_account_password', '/_admin/my_account/password', []);
293 pyroutes.register('my_account_password_update', '/_admin/my_account/password/update', []);
294 pyroutes.register('my_account_password_update', '/_admin/my_account/password/update', []);
294 pyroutes.register('my_account_auth_tokens_delete', '/_admin/my_account/auth_tokens/delete', []);
295 pyroutes.register('my_account_auth_tokens_delete', '/_admin/my_account/auth_tokens/delete', []);
295 pyroutes.register('my_account_ssh_keys', '/_admin/my_account/ssh_keys', []);
296 pyroutes.register('my_account_ssh_keys', '/_admin/my_account/ssh_keys', []);
296 pyroutes.register('my_account_ssh_keys_generate', '/_admin/my_account/ssh_keys/generate', []);
297 pyroutes.register('my_account_ssh_keys_generate', '/_admin/my_account/ssh_keys/generate', []);
297 pyroutes.register('my_account_ssh_keys_add', '/_admin/my_account/ssh_keys/new', []);
298 pyroutes.register('my_account_ssh_keys_add', '/_admin/my_account/ssh_keys/new', []);
298 pyroutes.register('my_account_ssh_keys_delete', '/_admin/my_account/ssh_keys/delete', []);
299 pyroutes.register('my_account_ssh_keys_delete', '/_admin/my_account/ssh_keys/delete', []);
299 pyroutes.register('my_account_user_group_membership', '/_admin/my_account/user_group_membership', []);
300 pyroutes.register('my_account_user_group_membership', '/_admin/my_account/user_group_membership', []);
300 pyroutes.register('my_account_emails', '/_admin/my_account/emails', []);
301 pyroutes.register('my_account_emails', '/_admin/my_account/emails', []);
301 pyroutes.register('my_account_emails_add', '/_admin/my_account/emails/new', []);
302 pyroutes.register('my_account_emails_add', '/_admin/my_account/emails/new', []);
302 pyroutes.register('my_account_emails_delete', '/_admin/my_account/emails/delete', []);
303 pyroutes.register('my_account_emails_delete', '/_admin/my_account/emails/delete', []);
303 pyroutes.register('my_account_repos', '/_admin/my_account/repos', []);
304 pyroutes.register('my_account_repos', '/_admin/my_account/repos', []);
304 pyroutes.register('my_account_watched', '/_admin/my_account/watched', []);
305 pyroutes.register('my_account_watched', '/_admin/my_account/watched', []);
305 pyroutes.register('my_account_bookmarks', '/_admin/my_account/bookmarks', []);
306 pyroutes.register('my_account_bookmarks', '/_admin/my_account/bookmarks', []);
306 pyroutes.register('my_account_bookmarks_update', '/_admin/my_account/bookmarks/update', []);
307 pyroutes.register('my_account_bookmarks_update', '/_admin/my_account/bookmarks/update', []);
307 pyroutes.register('my_account_goto_bookmark', '/_admin/my_account/bookmark/%(bookmark_id)s', ['bookmark_id']);
308 pyroutes.register('my_account_goto_bookmark', '/_admin/my_account/bookmark/%(bookmark_id)s', ['bookmark_id']);
308 pyroutes.register('my_account_perms', '/_admin/my_account/perms', []);
309 pyroutes.register('my_account_perms', '/_admin/my_account/perms', []);
309 pyroutes.register('my_account_notifications', '/_admin/my_account/notifications', []);
310 pyroutes.register('my_account_notifications', '/_admin/my_account/notifications', []);
310 pyroutes.register('my_account_notifications_toggle_visibility', '/_admin/my_account/toggle_visibility', []);
311 pyroutes.register('my_account_notifications_toggle_visibility', '/_admin/my_account/toggle_visibility', []);
311 pyroutes.register('my_account_pullrequests', '/_admin/my_account/pull_requests', []);
312 pyroutes.register('my_account_pullrequests', '/_admin/my_account/pull_requests', []);
312 pyroutes.register('my_account_pullrequests_data', '/_admin/my_account/pull_requests/data', []);
313 pyroutes.register('my_account_pullrequests_data', '/_admin/my_account/pull_requests/data', []);
313 pyroutes.register('notifications_show_all', '/_admin/notifications', []);
314 pyroutes.register('notifications_show_all', '/_admin/notifications', []);
314 pyroutes.register('notifications_mark_all_read', '/_admin/notifications/mark_all_read', []);
315 pyroutes.register('notifications_mark_all_read', '/_admin/notifications/mark_all_read', []);
315 pyroutes.register('notifications_show', '/_admin/notifications/%(notification_id)s', ['notification_id']);
316 pyroutes.register('notifications_show', '/_admin/notifications/%(notification_id)s', ['notification_id']);
316 pyroutes.register('notifications_update', '/_admin/notifications/%(notification_id)s/update', ['notification_id']);
317 pyroutes.register('notifications_update', '/_admin/notifications/%(notification_id)s/update', ['notification_id']);
317 pyroutes.register('notifications_delete', '/_admin/notifications/%(notification_id)s/delete', ['notification_id']);
318 pyroutes.register('notifications_delete', '/_admin/notifications/%(notification_id)s/delete', ['notification_id']);
318 pyroutes.register('my_account_notifications_test_channelstream', '/_admin/my_account/test_channelstream', []);
319 pyroutes.register('my_account_notifications_test_channelstream', '/_admin/my_account/test_channelstream', []);
319 pyroutes.register('gists_show', '/_admin/gists', []);
320 pyroutes.register('gists_show', '/_admin/gists', []);
320 pyroutes.register('gists_new', '/_admin/gists/new', []);
321 pyroutes.register('gists_new', '/_admin/gists/new', []);
321 pyroutes.register('gists_create', '/_admin/gists/create', []);
322 pyroutes.register('gists_create', '/_admin/gists/create', []);
322 pyroutes.register('gist_show', '/_admin/gists/%(gist_id)s', ['gist_id']);
323 pyroutes.register('gist_show', '/_admin/gists/%(gist_id)s', ['gist_id']);
323 pyroutes.register('gist_delete', '/_admin/gists/%(gist_id)s/delete', ['gist_id']);
324 pyroutes.register('gist_delete', '/_admin/gists/%(gist_id)s/delete', ['gist_id']);
324 pyroutes.register('gist_edit', '/_admin/gists/%(gist_id)s/edit', ['gist_id']);
325 pyroutes.register('gist_edit', '/_admin/gists/%(gist_id)s/edit', ['gist_id']);
325 pyroutes.register('gist_edit_check_revision', '/_admin/gists/%(gist_id)s/edit/check_revision', ['gist_id']);
326 pyroutes.register('gist_edit_check_revision', '/_admin/gists/%(gist_id)s/edit/check_revision', ['gist_id']);
326 pyroutes.register('gist_update', '/_admin/gists/%(gist_id)s/update', ['gist_id']);
327 pyroutes.register('gist_update', '/_admin/gists/%(gist_id)s/update', ['gist_id']);
327 pyroutes.register('gist_show_rev', '/_admin/gists/%(gist_id)s/%(revision)s', ['gist_id', 'revision']);
328 pyroutes.register('gist_show_rev', '/_admin/gists/%(gist_id)s/%(revision)s', ['gist_id', 'revision']);
328 pyroutes.register('gist_show_formatted', '/_admin/gists/%(gist_id)s/%(revision)s/%(format)s', ['gist_id', 'revision', 'format']);
329 pyroutes.register('gist_show_formatted', '/_admin/gists/%(gist_id)s/%(revision)s/%(format)s', ['gist_id', 'revision', 'format']);
329 pyroutes.register('gist_show_formatted_path', '/_admin/gists/%(gist_id)s/%(revision)s/%(format)s/%(f_path)s', ['gist_id', 'revision', 'format', 'f_path']);
330 pyroutes.register('gist_show_formatted_path', '/_admin/gists/%(gist_id)s/%(revision)s/%(format)s/%(f_path)s', ['gist_id', 'revision', 'format', 'f_path']);
330 pyroutes.register('debug_style_home', '/_admin/debug_style', []);
331 pyroutes.register('debug_style_home', '/_admin/debug_style', []);
331 pyroutes.register('debug_style_template', '/_admin/debug_style/t/%(t_path)s', ['t_path']);
332 pyroutes.register('debug_style_template', '/_admin/debug_style/t/%(t_path)s', ['t_path']);
332 pyroutes.register('apiv2', '/_admin/api', []);
333 pyroutes.register('apiv2', '/_admin/api', []);
333 pyroutes.register('admin_settings_license', '/_admin/settings/license', []);
334 pyroutes.register('admin_settings_license', '/_admin/settings/license', []);
334 pyroutes.register('admin_settings_license_unlock', '/_admin/settings/license_unlock', []);
335 pyroutes.register('admin_settings_license_unlock', '/_admin/settings/license_unlock', []);
335 pyroutes.register('login', '/_admin/login', []);
336 pyroutes.register('login', '/_admin/login', []);
336 pyroutes.register('register', '/_admin/register', []);
337 pyroutes.register('register', '/_admin/register', []);
337 pyroutes.register('repo_reviewers_review_rule_new', '/%(repo_name)s/settings/review/rules/new', ['repo_name']);
338 pyroutes.register('repo_reviewers_review_rule_new', '/%(repo_name)s/settings/review/rules/new', ['repo_name']);
338 pyroutes.register('repo_reviewers_review_rule_edit', '/%(repo_name)s/settings/review/rules/%(rule_id)s', ['repo_name', 'rule_id']);
339 pyroutes.register('repo_reviewers_review_rule_edit', '/%(repo_name)s/settings/review/rules/%(rule_id)s', ['repo_name', 'rule_id']);
339 pyroutes.register('repo_reviewers_review_rule_delete', '/%(repo_name)s/settings/review/rules/%(rule_id)s/delete', ['repo_name', 'rule_id']);
340 pyroutes.register('repo_reviewers_review_rule_delete', '/%(repo_name)s/settings/review/rules/%(rule_id)s/delete', ['repo_name', 'rule_id']);
340 pyroutes.register('plugin_admin_chat', '/_admin/plugin_admin_chat/%(action)s', ['action']);
341 pyroutes.register('plugin_admin_chat', '/_admin/plugin_admin_chat/%(action)s', ['action']);
341 pyroutes.register('edit_user_auth_tokens', '/_admin/users/%(user_id)s/edit/auth_tokens', ['user_id']);
342 pyroutes.register('edit_user_auth_tokens', '/_admin/users/%(user_id)s/edit/auth_tokens', ['user_id']);
342 pyroutes.register('edit_user_auth_tokens_add', '/_admin/users/%(user_id)s/edit/auth_tokens/new', ['user_id']);
343 pyroutes.register('edit_user_auth_tokens_add', '/_admin/users/%(user_id)s/edit/auth_tokens/new', ['user_id']);
343 pyroutes.register('admin_settings_scheduler_show_tasks', '/_admin/settings/scheduler/_tasks', []);
344 pyroutes.register('admin_settings_scheduler_show_tasks', '/_admin/settings/scheduler/_tasks', []);
344 pyroutes.register('admin_settings_scheduler_show_all', '/_admin/settings/scheduler', []);
345 pyroutes.register('admin_settings_scheduler_show_all', '/_admin/settings/scheduler', []);
345 pyroutes.register('admin_settings_scheduler_new', '/_admin/settings/scheduler/new', []);
346 pyroutes.register('admin_settings_scheduler_new', '/_admin/settings/scheduler/new', []);
346 pyroutes.register('admin_settings_scheduler_create', '/_admin/settings/scheduler/create', []);
347 pyroutes.register('admin_settings_scheduler_create', '/_admin/settings/scheduler/create', []);
347 pyroutes.register('admin_settings_scheduler_edit', '/_admin/settings/scheduler/%(schedule_id)s', ['schedule_id']);
348 pyroutes.register('admin_settings_scheduler_edit', '/_admin/settings/scheduler/%(schedule_id)s', ['schedule_id']);
348 pyroutes.register('admin_settings_scheduler_update', '/_admin/settings/scheduler/%(schedule_id)s/update', ['schedule_id']);
349 pyroutes.register('admin_settings_scheduler_update', '/_admin/settings/scheduler/%(schedule_id)s/update', ['schedule_id']);
349 pyroutes.register('admin_settings_scheduler_delete', '/_admin/settings/scheduler/%(schedule_id)s/delete', ['schedule_id']);
350 pyroutes.register('admin_settings_scheduler_delete', '/_admin/settings/scheduler/%(schedule_id)s/delete', ['schedule_id']);
350 pyroutes.register('admin_settings_scheduler_execute', '/_admin/settings/scheduler/%(schedule_id)s/execute', ['schedule_id']);
351 pyroutes.register('admin_settings_scheduler_execute', '/_admin/settings/scheduler/%(schedule_id)s/execute', ['schedule_id']);
351 pyroutes.register('admin_settings_automation', '/_admin/settings/automation', []);
352 pyroutes.register('admin_settings_automation', '/_admin/settings/automation', []);
352 pyroutes.register('admin_settings_automation_update', '/_admin/settings/automation/%(entry_id)s/update', ['entry_id']);
353 pyroutes.register('admin_settings_automation_update', '/_admin/settings/automation/%(entry_id)s/update', ['entry_id']);
353 pyroutes.register('admin_permissions_branch', '/_admin/permissions/branch', []);
354 pyroutes.register('admin_permissions_branch', '/_admin/permissions/branch', []);
354 pyroutes.register('admin_permissions_branch_update', '/_admin/permissions/branch/update', []);
355 pyroutes.register('admin_permissions_branch_update', '/_admin/permissions/branch/update', []);
355 pyroutes.register('my_account_auth_tokens', '/_admin/my_account/auth_tokens', []);
356 pyroutes.register('my_account_auth_tokens', '/_admin/my_account/auth_tokens', []);
356 pyroutes.register('my_account_auth_tokens_add', '/_admin/my_account/auth_tokens/new', []);
357 pyroutes.register('my_account_auth_tokens_add', '/_admin/my_account/auth_tokens/new', []);
357 pyroutes.register('my_account_external_identity', '/_admin/my_account/external-identity', []);
358 pyroutes.register('my_account_external_identity', '/_admin/my_account/external-identity', []);
358 pyroutes.register('my_account_external_identity_delete', '/_admin/my_account/external-identity/delete', []);
359 pyroutes.register('my_account_external_identity_delete', '/_admin/my_account/external-identity/delete', []);
360 pyroutes.register('repo_artifacts_list', '/%(repo_name)s/artifacts', ['repo_name']);
361 pyroutes.register('repo_artifacts_data', '/%(repo_name)s/artifacts_data', ['repo_name']);
362 pyroutes.register('repo_artifacts_new', '/%(repo_name)s/artifacts/new', ['repo_name']);
363 pyroutes.register('repo_artifacts_store', '/%(repo_name)s/artifacts/store', ['repo_name']);
364 pyroutes.register('repo_artifacts_delete', '/%(repo_name)s/artifacts/delete/%(uid)s', ['repo_name', 'uid']);
359 pyroutes.register('repo_automation', '/%(repo_name)s/settings/automation', ['repo_name']);
365 pyroutes.register('repo_automation', '/%(repo_name)s/settings/automation', ['repo_name']);
360 pyroutes.register('repo_automation_update', '/%(repo_name)s/settings/automation/%(entry_id)s/update', ['repo_name', 'entry_id']);
366 pyroutes.register('repo_automation_update', '/%(repo_name)s/settings/automation/%(entry_id)s/update', ['repo_name', 'entry_id']);
361 pyroutes.register('edit_repo_remote_push', '/%(repo_name)s/settings/remote/push', ['repo_name']);
367 pyroutes.register('edit_repo_remote_push', '/%(repo_name)s/settings/remote/push', ['repo_name']);
362 pyroutes.register('edit_repo_perms_branch', '/%(repo_name)s/settings/branch_permissions', ['repo_name']);
368 pyroutes.register('edit_repo_perms_branch', '/%(repo_name)s/settings/branch_permissions', ['repo_name']);
363 pyroutes.register('edit_repo_perms_branch_delete', '/%(repo_name)s/settings/branch_permissions/%(rule_id)s/delete', ['repo_name', 'rule_id']);
369 pyroutes.register('edit_repo_perms_branch_delete', '/%(repo_name)s/settings/branch_permissions/%(rule_id)s/delete', ['repo_name', 'rule_id']);
364 }
370 }
@@ -1,426 +1,448 b''
1 ## DATA TABLE RE USABLE ELEMENTS
1 ## DATA TABLE RE USABLE ELEMENTS
2 ## usage:
2 ## usage:
3 ## <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
3 ## <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
4 <%namespace name="base" file="/base/base.mako"/>
4 <%namespace name="base" file="/base/base.mako"/>
5
5
6 <%def name="metatags_help()">
6 <%def name="metatags_help()">
7 <table>
7 <table>
8 <%
8 <%
9 example_tags = [
9 example_tags = [
10 ('state','[stable]'),
10 ('state','[stable]'),
11 ('state','[stale]'),
11 ('state','[stale]'),
12 ('state','[featured]'),
12 ('state','[featured]'),
13 ('state','[dev]'),
13 ('state','[dev]'),
14 ('state','[dead]'),
14 ('state','[dead]'),
15 ('state','[deprecated]'),
15 ('state','[deprecated]'),
16
16
17 ('label','[personal]'),
17 ('label','[personal]'),
18 ('generic','[v2.0.0]'),
18 ('generic','[v2.0.0]'),
19
19
20 ('lang','[lang =&gt; JavaScript]'),
20 ('lang','[lang =&gt; JavaScript]'),
21 ('license','[license =&gt; LicenseName]'),
21 ('license','[license =&gt; LicenseName]'),
22
22
23 ('ref','[requires =&gt; RepoName]'),
23 ('ref','[requires =&gt; RepoName]'),
24 ('ref','[recommends =&gt; GroupName]'),
24 ('ref','[recommends =&gt; GroupName]'),
25 ('ref','[conflicts =&gt; SomeName]'),
25 ('ref','[conflicts =&gt; SomeName]'),
26 ('ref','[base =&gt; SomeName]'),
26 ('ref','[base =&gt; SomeName]'),
27 ('url','[url =&gt; [linkName](https://rhodecode.com)]'),
27 ('url','[url =&gt; [linkName](https://rhodecode.com)]'),
28 ('see','[see =&gt; http://rhodecode.com]'),
28 ('see','[see =&gt; http://rhodecode.com]'),
29 ]
29 ]
30 %>
30 %>
31 % for tag_type, tag in example_tags:
31 % for tag_type, tag in example_tags:
32 <tr>
32 <tr>
33 <td>${tag|n}</td>
33 <td>${tag|n}</td>
34 <td>${h.style_metatag(tag_type, tag)|n}</td>
34 <td>${h.style_metatag(tag_type, tag)|n}</td>
35 </tr>
35 </tr>
36 % endfor
36 % endfor
37 </table>
37 </table>
38 </%def>
38 </%def>
39
39
40 ## REPOSITORY RENDERERS
40 ## REPOSITORY RENDERERS
41 <%def name="quick_menu(repo_name)">
41 <%def name="quick_menu(repo_name)">
42 <i class="icon-more"></i>
42 <i class="icon-more"></i>
43 <div class="menu_items_container hidden">
43 <div class="menu_items_container hidden">
44 <ul class="menu_items">
44 <ul class="menu_items">
45 <li>
45 <li>
46 <a title="${_('Summary')}" href="${h.route_path('repo_summary',repo_name=repo_name)}">
46 <a title="${_('Summary')}" href="${h.route_path('repo_summary',repo_name=repo_name)}">
47 <span>${_('Summary')}</span>
47 <span>${_('Summary')}</span>
48 </a>
48 </a>
49 </li>
49 </li>
50 <li>
50 <li>
51 <a title="${_('Changelog')}" href="${h.route_path('repo_changelog',repo_name=repo_name)}">
51 <a title="${_('Changelog')}" href="${h.route_path('repo_changelog',repo_name=repo_name)}">
52 <span>${_('Changelog')}</span>
52 <span>${_('Changelog')}</span>
53 </a>
53 </a>
54 </li>
54 </li>
55 <li>
55 <li>
56 <a title="${_('Files')}" href="${h.route_path('repo_files:default_commit',repo_name=repo_name)}">
56 <a title="${_('Files')}" href="${h.route_path('repo_files:default_commit',repo_name=repo_name)}">
57 <span>${_('Files')}</span>
57 <span>${_('Files')}</span>
58 </a>
58 </a>
59 </li>
59 </li>
60 <li>
60 <li>
61 <a title="${_('Fork')}" href="${h.route_path('repo_fork_new',repo_name=repo_name)}">
61 <a title="${_('Fork')}" href="${h.route_path('repo_fork_new',repo_name=repo_name)}">
62 <span>${_('Fork')}</span>
62 <span>${_('Fork')}</span>
63 </a>
63 </a>
64 </li>
64 </li>
65 </ul>
65 </ul>
66 </div>
66 </div>
67 </%def>
67 </%def>
68
68
69 <%def name="repo_name(name,rtype,rstate,private,archived,fork_of,short_name=False,admin=False)">
69 <%def name="repo_name(name,rtype,rstate,private,archived,fork_of,short_name=False,admin=False)">
70 <%
70 <%
71 def get_name(name,short_name=short_name):
71 def get_name(name,short_name=short_name):
72 if short_name:
72 if short_name:
73 return name.split('/')[-1]
73 return name.split('/')[-1]
74 else:
74 else:
75 return name
75 return name
76 %>
76 %>
77 <div class="${'repo_state_pending' if rstate == 'repo_state_pending' else ''} truncate">
77 <div class="${'repo_state_pending' if rstate == 'repo_state_pending' else ''} truncate">
78 ##NAME
78 ##NAME
79 <a href="${h.route_path('edit_repo',repo_name=name) if admin else h.route_path('repo_summary',repo_name=name)}">
79 <a href="${h.route_path('edit_repo',repo_name=name) if admin else h.route_path('repo_summary',repo_name=name)}">
80
80
81 ##TYPE OF REPO
81 ##TYPE OF REPO
82 %if h.is_hg(rtype):
82 %if h.is_hg(rtype):
83 <span title="${_('Mercurial repository')}"><i class="icon-hg" style="font-size: 14px;"></i></span>
83 <span title="${_('Mercurial repository')}"><i class="icon-hg" style="font-size: 14px;"></i></span>
84 %elif h.is_git(rtype):
84 %elif h.is_git(rtype):
85 <span title="${_('Git repository')}"><i class="icon-git" style="font-size: 14px"></i></span>
85 <span title="${_('Git repository')}"><i class="icon-git" style="font-size: 14px"></i></span>
86 %elif h.is_svn(rtype):
86 %elif h.is_svn(rtype):
87 <span title="${_('Subversion repository')}"><i class="icon-svn" style="font-size: 14px"></i></span>
87 <span title="${_('Subversion repository')}"><i class="icon-svn" style="font-size: 14px"></i></span>
88 %endif
88 %endif
89
89
90 ##PRIVATE/PUBLIC
90 ##PRIVATE/PUBLIC
91 %if private is True and c.visual.show_private_icon:
91 %if private is True and c.visual.show_private_icon:
92 <i class="icon-lock" title="${_('Private repository')}"></i>
92 <i class="icon-lock" title="${_('Private repository')}"></i>
93 %elif private is False and c.visual.show_public_icon:
93 %elif private is False and c.visual.show_public_icon:
94 <i class="icon-unlock-alt" title="${_('Public repository')}"></i>
94 <i class="icon-unlock-alt" title="${_('Public repository')}"></i>
95 %else:
95 %else:
96 <span></span>
96 <span></span>
97 %endif
97 %endif
98 ${get_name(name)}
98 ${get_name(name)}
99 </a>
99 </a>
100 %if fork_of:
100 %if fork_of:
101 <a href="${h.route_path('repo_summary',repo_name=fork_of.repo_name)}"><i class="icon-code-fork"></i></a>
101 <a href="${h.route_path('repo_summary',repo_name=fork_of.repo_name)}"><i class="icon-code-fork"></i></a>
102 %endif
102 %endif
103 %if rstate == 'repo_state_pending':
103 %if rstate == 'repo_state_pending':
104 <span class="creation_in_progress tooltip" title="${_('This repository is being created in a background task')}">
104 <span class="creation_in_progress tooltip" title="${_('This repository is being created in a background task')}">
105 (${_('creating...')})
105 (${_('creating...')})
106 </span>
106 </span>
107 %endif
107 %endif
108
108
109 </div>
109 </div>
110 </%def>
110 </%def>
111
111
112 <%def name="repo_desc(description, stylify_metatags)">
112 <%def name="repo_desc(description, stylify_metatags)">
113 <%
113 <%
114 tags, description = h.extract_metatags(description)
114 tags, description = h.extract_metatags(description)
115 %>
115 %>
116
116
117 <div class="truncate-wrap">
117 <div class="truncate-wrap">
118 % if stylify_metatags:
118 % if stylify_metatags:
119 % for tag_type, tag in tags:
119 % for tag_type, tag in tags:
120 ${h.style_metatag(tag_type, tag)|n}
120 ${h.style_metatag(tag_type, tag)|n}
121 % endfor
121 % endfor
122 % endif
122 % endif
123 ${description}
123 ${description}
124 </div>
124 </div>
125
125
126 </%def>
126 </%def>
127
127
128 <%def name="last_change(last_change)">
128 <%def name="last_change(last_change)">
129 ${h.age_component(last_change, time_is_local=True)}
129 ${h.age_component(last_change, time_is_local=True)}
130 </%def>
130 </%def>
131
131
132 <%def name="revision(name,rev,tip,author,last_msg, commit_date)">
132 <%def name="revision(name,rev,tip,author,last_msg, commit_date)">
133 <div>
133 <div>
134 %if rev >= 0:
134 %if rev >= 0:
135 <code><a title="${h.tooltip('%s\n%s\n\n%s' % (author, commit_date, last_msg))}" class="tooltip" href="${h.route_path('repo_commit',repo_name=name,commit_id=tip)}">${'r%s:%s' % (rev,h.short_id(tip))}</a></code>
135 <code><a title="${h.tooltip('%s\n%s\n\n%s' % (author, commit_date, last_msg))}" class="tooltip" href="${h.route_path('repo_commit',repo_name=name,commit_id=tip)}">${'r%s:%s' % (rev,h.short_id(tip))}</a></code>
136 %else:
136 %else:
137 ${_('No commits yet')}
137 ${_('No commits yet')}
138 %endif
138 %endif
139 </div>
139 </div>
140 </%def>
140 </%def>
141
141
142 <%def name="rss(name)">
142 <%def name="rss(name)">
143 %if c.rhodecode_user.username != h.DEFAULT_USER:
143 %if c.rhodecode_user.username != h.DEFAULT_USER:
144 <a title="${h.tooltip(_('Subscribe to %s rss feed')% name)}" href="${h.route_path('rss_feed_home', repo_name=name, _query=dict(auth_token=c.rhodecode_user.feed_token))}"><i class="icon-rss-sign"></i></a>
144 <a title="${h.tooltip(_('Subscribe to %s rss feed')% name)}" href="${h.route_path('rss_feed_home', repo_name=name, _query=dict(auth_token=c.rhodecode_user.feed_token))}"><i class="icon-rss-sign"></i></a>
145 %else:
145 %else:
146 <a title="${h.tooltip(_('Subscribe to %s rss feed')% name)}" href="${h.route_path('rss_feed_home', repo_name=name)}"><i class="icon-rss-sign"></i></a>
146 <a title="${h.tooltip(_('Subscribe to %s rss feed')% name)}" href="${h.route_path('rss_feed_home', repo_name=name)}"><i class="icon-rss-sign"></i></a>
147 %endif
147 %endif
148 </%def>
148 </%def>
149
149
150 <%def name="atom(name)">
150 <%def name="atom(name)">
151 %if c.rhodecode_user.username != h.DEFAULT_USER:
151 %if c.rhodecode_user.username != h.DEFAULT_USER:
152 <a title="${h.tooltip(_('Subscribe to %s atom feed')% name)}" href="${h.route_path('atom_feed_home', repo_name=name, _query=dict(auth_token=c.rhodecode_user.feed_token))}"><i class="icon-rss-sign"></i></a>
152 <a title="${h.tooltip(_('Subscribe to %s atom feed')% name)}" href="${h.route_path('atom_feed_home', repo_name=name, _query=dict(auth_token=c.rhodecode_user.feed_token))}"><i class="icon-rss-sign"></i></a>
153 %else:
153 %else:
154 <a title="${h.tooltip(_('Subscribe to %s atom feed')% name)}" href="${h.route_path('atom_feed_home', repo_name=name)}"><i class="icon-rss-sign"></i></a>
154 <a title="${h.tooltip(_('Subscribe to %s atom feed')% name)}" href="${h.route_path('atom_feed_home', repo_name=name)}"><i class="icon-rss-sign"></i></a>
155 %endif
155 %endif
156 </%def>
156 </%def>
157
157
158 <%def name="user_gravatar(email, size=16)">
158 <%def name="user_gravatar(email, size=16)">
159 <div class="rc-user tooltip" title="${h.tooltip(h.author_string(email))}">
159 <div class="rc-user tooltip" title="${h.tooltip(h.author_string(email))}">
160 ${base.gravatar(email, 16)}
160 ${base.gravatar(email, 16)}
161 </div>
161 </div>
162 </%def>
162 </%def>
163
163
164 <%def name="repo_actions(repo_name, super_user=True)">
164 <%def name="repo_actions(repo_name, super_user=True)">
165 <div>
165 <div>
166 <div class="grid_edit">
166 <div class="grid_edit">
167 <a href="${h.route_path('edit_repo',repo_name=repo_name)}" title="${_('Edit')}">
167 <a href="${h.route_path('edit_repo',repo_name=repo_name)}" title="${_('Edit')}">
168 <i class="icon-pencil"></i>Edit</a>
168 <i class="icon-pencil"></i>Edit</a>
169 </div>
169 </div>
170 <div class="grid_delete">
170 <div class="grid_delete">
171 ${h.secure_form(h.route_path('edit_repo_advanced_delete', repo_name=repo_name), request=request)}
171 ${h.secure_form(h.route_path('edit_repo_advanced_delete', repo_name=repo_name), request=request)}
172 ${h.submit('remove_%s' % repo_name,_('Delete'),class_="btn btn-link btn-danger",
172 ${h.submit('remove_%s' % repo_name,_('Delete'),class_="btn btn-link btn-danger",
173 onclick="return confirm('"+_('Confirm to delete this repository: %s') % repo_name+"');")}
173 onclick="return confirm('"+_('Confirm to delete this repository: %s') % repo_name+"');")}
174 ${h.end_form()}
174 ${h.end_form()}
175 </div>
175 </div>
176 </div>
176 </div>
177 </%def>
177 </%def>
178
178
179 <%def name="repo_state(repo_state)">
179 <%def name="repo_state(repo_state)">
180 <div>
180 <div>
181 %if repo_state == 'repo_state_pending':
181 %if repo_state == 'repo_state_pending':
182 <div class="tag tag4">${_('Creating')}</div>
182 <div class="tag tag4">${_('Creating')}</div>
183 %elif repo_state == 'repo_state_created':
183 %elif repo_state == 'repo_state_created':
184 <div class="tag tag1">${_('Created')}</div>
184 <div class="tag tag1">${_('Created')}</div>
185 %else:
185 %else:
186 <div class="tag alert2" title="${h.tooltip(repo_state)}">invalid</div>
186 <div class="tag alert2" title="${h.tooltip(repo_state)}">invalid</div>
187 %endif
187 %endif
188 </div>
188 </div>
189 </%def>
189 </%def>
190
190
191
191
192 ## REPO GROUP RENDERERS
192 ## REPO GROUP RENDERERS
193 <%def name="quick_repo_group_menu(repo_group_name)">
193 <%def name="quick_repo_group_menu(repo_group_name)">
194 <i class="icon-more"></i>
194 <i class="icon-more"></i>
195 <div class="menu_items_container hidden">
195 <div class="menu_items_container hidden">
196 <ul class="menu_items">
196 <ul class="menu_items">
197 <li>
197 <li>
198 <a href="${h.route_path('repo_group_home', repo_group_name=repo_group_name)}">${_('Summary')}</a>
198 <a href="${h.route_path('repo_group_home', repo_group_name=repo_group_name)}">${_('Summary')}</a>
199 </li>
199 </li>
200
200
201 </ul>
201 </ul>
202 </div>
202 </div>
203 </%def>
203 </%def>
204
204
205 <%def name="repo_group_name(repo_group_name, children_groups=None)">
205 <%def name="repo_group_name(repo_group_name, children_groups=None)">
206 <div>
206 <div>
207 <a href="${h.route_path('repo_group_home', repo_group_name=repo_group_name)}">
207 <a href="${h.route_path('repo_group_home', repo_group_name=repo_group_name)}">
208 <i class="icon-folder-close" title="${_('Repository group')}" style="font-size: 16px"></i>
208 <i class="icon-folder-close" title="${_('Repository group')}" style="font-size: 16px"></i>
209 %if children_groups:
209 %if children_groups:
210 ${h.literal(' &raquo; '.join(children_groups))}
210 ${h.literal(' &raquo; '.join(children_groups))}
211 %else:
211 %else:
212 ${repo_group_name}
212 ${repo_group_name}
213 %endif
213 %endif
214 </a>
214 </a>
215 </div>
215 </div>
216 </%def>
216 </%def>
217
217
218 <%def name="repo_group_desc(description, personal, stylify_metatags)">
218 <%def name="repo_group_desc(description, personal, stylify_metatags)">
219
219
220 <%
220 <%
221 tags, description = h.extract_metatags(description)
221 tags, description = h.extract_metatags(description)
222 %>
222 %>
223
223
224 <div class="truncate-wrap">
224 <div class="truncate-wrap">
225 % if personal:
225 % if personal:
226 <div class="metatag" tag="personal">${_('personal')}</div>
226 <div class="metatag" tag="personal">${_('personal')}</div>
227 % endif
227 % endif
228
228
229 % if stylify_metatags:
229 % if stylify_metatags:
230 % for tag_type, tag in tags:
230 % for tag_type, tag in tags:
231 ${h.style_metatag(tag_type, tag)|n}
231 ${h.style_metatag(tag_type, tag)|n}
232 % endfor
232 % endfor
233 % endif
233 % endif
234 ${description}
234 ${description}
235 </div>
235 </div>
236
236
237 </%def>
237 </%def>
238
238
239 <%def name="repo_group_actions(repo_group_id, repo_group_name, gr_count)">
239 <%def name="repo_group_actions(repo_group_id, repo_group_name, gr_count)">
240 <div class="grid_edit">
240 <div class="grid_edit">
241 <a href="${h.route_path('edit_repo_group',repo_group_name=repo_group_name)}" title="${_('Edit')}">Edit</a>
241 <a href="${h.route_path('edit_repo_group',repo_group_name=repo_group_name)}" title="${_('Edit')}">Edit</a>
242 </div>
242 </div>
243 <div class="grid_delete">
243 <div class="grid_delete">
244 ${h.secure_form(h.route_path('edit_repo_group_advanced_delete', repo_group_name=repo_group_name), request=request)}
244 ${h.secure_form(h.route_path('edit_repo_group_advanced_delete', repo_group_name=repo_group_name), request=request)}
245 ${h.submit('remove_%s' % repo_group_name,_('Delete'),class_="btn btn-link btn-danger",
245 ${h.submit('remove_%s' % repo_group_name,_('Delete'),class_="btn btn-link btn-danger",
246 onclick="return confirm('"+_ungettext('Confirm to delete this group: %s with %s repository','Confirm to delete this group: %s with %s repositories',gr_count) % (repo_group_name, gr_count)+"');")}
246 onclick="return confirm('"+_ungettext('Confirm to delete this group: %s with %s repository','Confirm to delete this group: %s with %s repositories',gr_count) % (repo_group_name, gr_count)+"');")}
247 ${h.end_form()}
247 ${h.end_form()}
248 </div>
248 </div>
249 </%def>
249 </%def>
250
250
251
251
252 <%def name="user_actions(user_id, username)">
252 <%def name="user_actions(user_id, username)">
253 <div class="grid_edit">
253 <div class="grid_edit">
254 <a href="${h.route_path('user_edit',user_id=user_id)}" title="${_('Edit')}">
254 <a href="${h.route_path('user_edit',user_id=user_id)}" title="${_('Edit')}">
255 <i class="icon-pencil"></i>${_('Edit')}</a>
255 <i class="icon-pencil"></i>${_('Edit')}</a>
256 </div>
256 </div>
257 <div class="grid_delete">
257 <div class="grid_delete">
258 ${h.secure_form(h.route_path('user_delete', user_id=user_id), request=request)}
258 ${h.secure_form(h.route_path('user_delete', user_id=user_id), request=request)}
259 ${h.submit('remove_',_('Delete'),id="remove_user_%s" % user_id, class_="btn btn-link btn-danger",
259 ${h.submit('remove_',_('Delete'),id="remove_user_%s" % user_id, class_="btn btn-link btn-danger",
260 onclick="return confirm('"+_('Confirm to delete this user: %s') % username+"');")}
260 onclick="return confirm('"+_('Confirm to delete this user: %s') % username+"');")}
261 ${h.end_form()}
261 ${h.end_form()}
262 </div>
262 </div>
263 </%def>
263 </%def>
264
264
265 <%def name="user_group_actions(user_group_id, user_group_name)">
265 <%def name="user_group_actions(user_group_id, user_group_name)">
266 <div class="grid_edit">
266 <div class="grid_edit">
267 <a href="${h.route_path('edit_user_group', user_group_id=user_group_id)}" title="${_('Edit')}">Edit</a>
267 <a href="${h.route_path('edit_user_group', user_group_id=user_group_id)}" title="${_('Edit')}">Edit</a>
268 </div>
268 </div>
269 <div class="grid_delete">
269 <div class="grid_delete">
270 ${h.secure_form(h.route_path('user_groups_delete', user_group_id=user_group_id), request=request)}
270 ${h.secure_form(h.route_path('user_groups_delete', user_group_id=user_group_id), request=request)}
271 ${h.submit('remove_',_('Delete'),id="remove_group_%s" % user_group_id, class_="btn btn-link btn-danger",
271 ${h.submit('remove_',_('Delete'),id="remove_group_%s" % user_group_id, class_="btn btn-link btn-danger",
272 onclick="return confirm('"+_('Confirm to delete this user group: %s') % user_group_name+"');")}
272 onclick="return confirm('"+_('Confirm to delete this user group: %s') % user_group_name+"');")}
273 ${h.end_form()}
273 ${h.end_form()}
274 </div>
274 </div>
275 </%def>
275 </%def>
276
276
277
277
278 <%def name="user_name(user_id, username)">
278 <%def name="user_name(user_id, username)">
279 ${h.link_to(h.person(username, 'username_or_name_or_email'), h.route_path('user_edit', user_id=user_id))}
279 ${h.link_to(h.person(username, 'username_or_name_or_email'), h.route_path('user_edit', user_id=user_id))}
280 </%def>
280 </%def>
281
281
282 <%def name="user_profile(username)">
282 <%def name="user_profile(username)">
283 ${base.gravatar_with_user(username, 16)}
283 ${base.gravatar_with_user(username, 16)}
284 </%def>
284 </%def>
285
285
286 <%def name="user_group_name(user_group_name)">
286 <%def name="user_group_name(user_group_name)">
287 <div>
287 <div>
288 <i class="icon-user-group" title="${_('User group')}"></i>
288 <i class="icon-user-group" title="${_('User group')}"></i>
289 ${h.link_to_group(user_group_name)}
289 ${h.link_to_group(user_group_name)}
290 </div>
290 </div>
291 </%def>
291 </%def>
292
292
293
293
294 ## GISTS
294 ## GISTS
295
295
296 <%def name="gist_gravatar(full_contact)">
296 <%def name="gist_gravatar(full_contact)">
297 <div class="gist_gravatar">
297 <div class="gist_gravatar">
298 ${base.gravatar(full_contact, 30)}
298 ${base.gravatar(full_contact, 30)}
299 </div>
299 </div>
300 </%def>
300 </%def>
301
301
302 <%def name="gist_access_id(gist_access_id, full_contact)">
302 <%def name="gist_access_id(gist_access_id, full_contact)">
303 <div>
303 <div>
304 <b>
304 <b>
305 <a href="${h.route_path('gist_show', gist_id=gist_access_id)}">gist: ${gist_access_id}</a>
305 <a href="${h.route_path('gist_show', gist_id=gist_access_id)}">gist: ${gist_access_id}</a>
306 </b>
306 </b>
307 </div>
307 </div>
308 </%def>
308 </%def>
309
309
310 <%def name="gist_author(full_contact, created_on, expires)">
310 <%def name="gist_author(full_contact, created_on, expires)">
311 ${base.gravatar_with_user(full_contact, 16)}
311 ${base.gravatar_with_user(full_contact, 16)}
312 </%def>
312 </%def>
313
313
314
314
315 <%def name="gist_created(created_on)">
315 <%def name="gist_created(created_on)">
316 <div class="created">
316 <div class="created">
317 ${h.age_component(created_on, time_is_local=True)}
317 ${h.age_component(created_on, time_is_local=True)}
318 </div>
318 </div>
319 </%def>
319 </%def>
320
320
321 <%def name="gist_expires(expires)">
321 <%def name="gist_expires(expires)">
322 <div class="created">
322 <div class="created">
323 %if expires == -1:
323 %if expires == -1:
324 ${_('never')}
324 ${_('never')}
325 %else:
325 %else:
326 ${h.age_component(h.time_to_utcdatetime(expires))}
326 ${h.age_component(h.time_to_utcdatetime(expires))}
327 %endif
327 %endif
328 </div>
328 </div>
329 </%def>
329 </%def>
330
330
331 <%def name="gist_type(gist_type)">
331 <%def name="gist_type(gist_type)">
332 %if gist_type != 'public':
332 %if gist_type != 'public':
333 <div class="tag">${_('Private')}</div>
333 <div class="tag">${_('Private')}</div>
334 %endif
334 %endif
335 </%def>
335 </%def>
336
336
337 <%def name="gist_description(gist_description)">
337 <%def name="gist_description(gist_description)">
338 ${gist_description}
338 ${gist_description}
339 </%def>
339 </%def>
340
340
341
341
342 ## PULL REQUESTS GRID RENDERERS
342 ## PULL REQUESTS GRID RENDERERS
343
343
344 <%def name="pullrequest_target_repo(repo_name)">
344 <%def name="pullrequest_target_repo(repo_name)">
345 <div class="truncate">
345 <div class="truncate">
346 ${h.link_to(repo_name,h.route_path('repo_summary',repo_name=repo_name))}
346 ${h.link_to(repo_name,h.route_path('repo_summary',repo_name=repo_name))}
347 </div>
347 </div>
348 </%def>
348 </%def>
349 <%def name="pullrequest_status(status)">
349 <%def name="pullrequest_status(status)">
350 <div class="${'flag_status %s' % status} pull-left"></div>
350 <div class="${'flag_status %s' % status} pull-left"></div>
351 </%def>
351 </%def>
352
352
353 <%def name="pullrequest_title(title, description)">
353 <%def name="pullrequest_title(title, description)">
354 ${title}
354 ${title}
355 </%def>
355 </%def>
356
356
357 <%def name="pullrequest_comments(comments_nr)">
357 <%def name="pullrequest_comments(comments_nr)">
358 <i class="icon-comment"></i> ${comments_nr}
358 <i class="icon-comment"></i> ${comments_nr}
359 </%def>
359 </%def>
360
360
361 <%def name="pullrequest_name(pull_request_id, target_repo_name, short=False)">
361 <%def name="pullrequest_name(pull_request_id, target_repo_name, short=False)">
362 <a href="${h.route_path('pullrequest_show',repo_name=target_repo_name,pull_request_id=pull_request_id)}">
362 <a href="${h.route_path('pullrequest_show',repo_name=target_repo_name,pull_request_id=pull_request_id)}">
363 % if short:
363 % if short:
364 #${pull_request_id}
364 #${pull_request_id}
365 % else:
365 % else:
366 ${_('Pull request #%(pr_number)s') % {'pr_number': pull_request_id,}}
366 ${_('Pull request #%(pr_number)s') % {'pr_number': pull_request_id,}}
367 % endif
367 % endif
368 </a>
368 </a>
369 </%def>
369 </%def>
370
370
371 <%def name="pullrequest_updated_on(updated_on)">
371 <%def name="pullrequest_updated_on(updated_on)">
372 ${h.age_component(h.time_to_utcdatetime(updated_on))}
372 ${h.age_component(h.time_to_utcdatetime(updated_on))}
373 </%def>
373 </%def>
374
374
375 <%def name="pullrequest_author(full_contact)">
375 <%def name="pullrequest_author(full_contact)">
376 ${base.gravatar_with_user(full_contact, 16)}
376 ${base.gravatar_with_user(full_contact, 16)}
377 </%def>
377 </%def>
378
378
379
379
380 ## ARTIFACT RENDERERS
381
382 <%def name="repo_artifact_uid(file_uid)">
383 <code><a href="${h.route_path('download_file', fid=file_uid)}">${file_uid}</a></code>
384 </%def>
385
386 <%def name="repo_artifact_uid_action(file_uid)">
387 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${h.route_url('download_file', fid=file_uid)}" title="${_('Copy the full url')}"></i>
388 </%def>
389
390 <%def name="repo_artifact_actions(repo_name, file_store_id, file_uid)">
391 ## <div class="grid_edit">
392 ## <a href="#Edit" title="${_('Edit')}">${_('Edit')}</a>
393 ## </div>
394 <div class="grid_delete">
395 ${h.secure_form(h.route_path('repo_artifacts_delete', repo_name=repo_name, uid=file_store_id), request=request)}
396 ${h.submit('remove_',_('Delete'),id="remove_artifact_%s" % file_store_id, class_="btn btn-link btn-danger",
397 onclick="return confirm('"+_('Confirm to delete this artifact: %s') % file_uid+"');")}
398 ${h.end_form()}
399 </div>
400 </%def>
401
380 <%def name="markup_form(form_id, form_text='', help_text=None)">
402 <%def name="markup_form(form_id, form_text='', help_text=None)">
381
403
382 <div class="markup-form">
404 <div class="markup-form">
383 <div class="markup-form-area">
405 <div class="markup-form-area">
384 <div class="markup-form-area-header">
406 <div class="markup-form-area-header">
385 <ul class="nav-links clearfix">
407 <ul class="nav-links clearfix">
386 <li class="active">
408 <li class="active">
387 <a href="#edit-text" tabindex="-1" id="edit-btn_${form_id}">${_('Write')}</a>
409 <a href="#edit-text" tabindex="-1" id="edit-btn_${form_id}">${_('Write')}</a>
388 </li>
410 </li>
389 <li class="">
411 <li class="">
390 <a href="#preview-text" tabindex="-1" id="preview-btn_${form_id}">${_('Preview')}</a>
412 <a href="#preview-text" tabindex="-1" id="preview-btn_${form_id}">${_('Preview')}</a>
391 </li>
413 </li>
392 </ul>
414 </ul>
393 </div>
415 </div>
394
416
395 <div class="markup-form-area-write" style="display: block;">
417 <div class="markup-form-area-write" style="display: block;">
396 <div id="edit-container_${form_id}">
418 <div id="edit-container_${form_id}">
397 <textarea id="${form_id}" name="${form_id}" class="comment-block-ta ac-input">${form_text if form_text else ''}</textarea>
419 <textarea id="${form_id}" name="${form_id}" class="comment-block-ta ac-input">${form_text if form_text else ''}</textarea>
398 </div>
420 </div>
399 <div id="preview-container_${form_id}" class="clearfix" style="display: none;">
421 <div id="preview-container_${form_id}" class="clearfix" style="display: none;">
400 <div id="preview-box_${form_id}" class="preview-box"></div>
422 <div id="preview-box_${form_id}" class="preview-box"></div>
401 </div>
423 </div>
402 </div>
424 </div>
403
425
404 <div class="markup-form-area-footer">
426 <div class="markup-form-area-footer">
405 <div class="toolbar">
427 <div class="toolbar">
406 <div class="toolbar-text">
428 <div class="toolbar-text">
407 ${(_('Parsed using %s syntax') % (
429 ${(_('Parsed using %s syntax') % (
408 ('<a href="%s">%s</a>' % (h.route_url('%s_help' % c.visual.default_renderer), c.visual.default_renderer.upper())),
430 ('<a href="%s">%s</a>' % (h.route_url('%s_help' % c.visual.default_renderer), c.visual.default_renderer.upper())),
409 )
431 )
410 )|n}
432 )|n}
411 </div>
433 </div>
412 </div>
434 </div>
413 </div>
435 </div>
414 </div>
436 </div>
415
437
416 <div class="markup-form-footer">
438 <div class="markup-form-footer">
417 % if help_text:
439 % if help_text:
418 <span class="help-block">${help_text}</span>
440 <span class="help-block">${help_text}</span>
419 % endif
441 % endif
420 </div>
442 </div>
421 </div>
443 </div>
422 <script type="text/javascript">
444 <script type="text/javascript">
423 new MarkupForm('${form_id}');
445 new MarkupForm('${form_id}');
424 </script>
446 </script>
425
447
426 </%def>
448 </%def>
General Comments 0
You need to be logged in to leave comments. Login now