
Remove every trailing whitespaces in every files.
Third-party libraries are excepted.
@a67259357d8ebb1aa58250bd7d6ae82443ef8329
--- .travis.yml
+++ .travis.yml
... | ... | @@ -1,8 +1,8 @@ |
1 | 1 |
language: java # to trigger the build on a 'jvm-otp' travis worker |
2 | 2 |
env: |
3 | 3 |
- PLAY_VERSION=2.1.0 |
4 |
-before_script: |
|
4 |
+before_script: |
|
5 | 5 |
- wget http://downloads.typesafe.com/play/${PLAY_VERSION}/play-${PLAY_VERSION}.zip |
6 | 6 |
- unzip -q play-${PLAY_VERSION}.zip |
7 | 7 |
- set SBT_OPTS= -Xms256m Xmx52m -XX:MaxPermSize=512m |
8 |
-script: play-${PLAY_VERSION}/play test |
|
8 |
+script: play-${PLAY_VERSION}/play test |
--- app/Global.java
+++ app/Global.java
... | ... | @@ -80,7 +80,7 @@ |
80 | 80 |
} |
81 | 81 |
|
82 | 82 |
PullRequest.regulateNumbers(); |
83 |
- |
|
83 |
+ |
|
84 | 84 |
NotificationMail.startSchedule(); |
85 | 85 |
} |
86 | 86 |
|
--- app/actors/PullRequestEventActor.java
+++ app/actors/PullRequestEventActor.java
... | ... | @@ -13,10 +13,10 @@ |
13 | 13 |
|
14 | 14 |
/** |
15 | 15 |
* Push가 되었을때 관련있는 PullRequest의 충돌/해결/커밋변경 이벤트 등록 |
16 |
- * |
|
16 |
+ * |
|
17 | 17 |
* 변경된 branch 와 관련있는 pull-request 에 충돌이 발생하거나 충돌이 해결되었을때 |
18 | 18 |
* 해당 pull-request 를 보낸 사람에게 알림을 주고 이벤트를 추가한다. |
19 |
- * |
|
19 |
+ * |
|
20 | 20 |
* 커밋목록이 변경되었을때 알림을 주고 커밋변경 이벤트를 추가한다. |
21 | 21 |
*/ |
22 | 22 |
public class PullRequestEventActor extends UntypedActor { |
... | ... | @@ -32,34 +32,34 @@ |
32 | 32 |
|
33 | 33 |
for (PullRequest pullRequest : pullRequests) { |
34 | 34 |
PullRequestMergeResult mergeResult = pullRequest.attemptMerge(); |
35 |
- |
|
35 |
+ |
|
36 | 36 |
if (mergeResult.commitChanged()) { |
37 |
- |
|
37 |
+ |
|
38 | 38 |
mergeResult.saveCommits(); |
39 |
- |
|
39 |
+ |
|
40 | 40 |
if (!mergeResult.getNewCommits().isEmpty()) { |
41 |
- PullRequestEvent.addCommitEvents(message.getSender(), pullRequest, mergeResult.getNewCommits()); |
|
41 |
+ PullRequestEvent.addCommitEvents(message.getSender(), pullRequest, mergeResult.getNewCommits()); |
|
42 | 42 |
} |
43 | 43 |
} |
44 |
- |
|
44 |
+ |
|
45 | 45 |
if (mergeResult.conflicts()) { |
46 |
- |
|
46 |
+ |
|
47 | 47 |
mergeResult.setConflictStateOfPullRequest(); |
48 |
- |
|
48 |
+ |
|
49 | 49 |
NotificationEvent notiEvent = NotificationEvent.addPullRequestMerge(message.getSender(), |
50 | 50 |
pullRequest, mergeResult.getGitConflicts(), message.getRequest(), State.CONFLICT); |
51 | 51 |
PullRequestEvent.addMergeEvent(notiEvent.getSender(), EventType.PULL_REQUEST_MERGED, State.CONFLICT, pullRequest); |
52 |
- |
|
52 |
+ |
|
53 | 53 |
} else if (mergeResult.resolved()) { |
54 | 54 |
|
55 | 55 |
mergeResult.setResolvedStateOfPullRequest(); |
56 |
- |
|
56 |
+ |
|
57 | 57 |
NotificationEvent notiEvent = NotificationEvent.addPullRequestMerge(message.getSender(), |
58 | 58 |
pullRequest, mergeResult.getGitConflicts(), message.getRequest(), State.RESOLVED); |
59 | 59 |
PullRequestEvent.addMergeEvent(notiEvent.getSender(), EventType.PULL_REQUEST_MERGED, State.RESOLVED, pullRequest); |
60 | 60 |
|
61 | 61 |
} |
62 |
- |
|
62 |
+ |
|
63 | 63 |
mergeResult.save(); |
64 | 64 |
} |
65 | 65 |
} |
--- app/assets/stylesheets/less/_common.less
+++ app/assets/stylesheets/less/_common.less
... | ... | @@ -45,13 +45,13 @@ |
45 | 45 |
list-style: none; |
46 | 46 |
font-size: 0; |
47 | 47 |
.inline-block; |
48 |
- |
|
48 |
+ |
|
49 | 49 |
.page-num { |
50 | 50 |
.inline-block; |
51 | 51 |
padding: 0 10px; |
52 | 52 |
font-size: 12px; |
53 | 53 |
color: #8e9094; |
54 |
- |
|
54 |
+ |
|
55 | 55 |
.current { |
56 | 56 |
color: @orange; /*#4489A4;*/ |
57 | 57 |
font-weight: bold; |
... | ... | @@ -60,7 +60,7 @@ |
60 | 60 |
margin:0; width:30px; |
61 | 61 |
text-align:center; font-weight:bold; |
62 | 62 |
border:1px solid #eee; |
63 |
- &:hover, &:focus { |
|
63 |
+ &:hover, &:focus { |
|
64 | 64 |
/*background:#f5f5f5;*/ |
65 | 65 |
.box-shadow(inset -1px -1px 2px rgba(0,0,0,0.1)); |
66 | 66 |
color:@primary; border-color:@primary; |
... | ... | @@ -108,10 +108,10 @@ |
108 | 108 |
border: 1px solid #ccc; |
109 | 109 |
} |
110 | 110 |
.avatar-wrap { |
111 |
- width:32px; height:32px; |
|
111 |
+ width:32px; height:32px; |
|
112 | 112 |
vertical-align:middle; |
113 | 113 |
overflow:hidden; display:inline-block; |
114 |
- |
|
114 |
+ |
|
115 | 115 |
&.small { width:24px; height:24px; } |
116 | 116 |
&.mid { width:64px; height:64px; } |
117 | 117 |
&.large { width:128px; height:128px; } |
--- app/assets/stylesheets/less/_mixins.less
+++ app/assets/stylesheets/less/_mixins.less
... | ... | @@ -88,7 +88,7 @@ |
88 | 88 |
background: -o-linear-gradient(top, @startColor 0%, @endColor 100%); /* Opera 11.10+ */ |
89 | 89 |
background: -ms-linear-gradient(top, @startColor 0%, @endColor 100%); /* IE10+ */ |
90 | 90 |
background: linear-gradient(to bottom, @startColor 0%, @endColor 100%); /* W3C */ |
91 |
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@{startColor}', endColorstr='@{endColor}',GradientType=0 ); /* IE6-9 */ |
|
91 |
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@{startColor}', endColorstr='@{endColor}',GradientType=0 ); /* IE6-9 */ |
|
92 | 92 |
} |
93 | 93 |
|
94 | 94 |
// BackgroundSize |
--- app/assets/stylesheets/less/_page.less
+++ app/assets/stylesheets/less/_page.less
... | ... | @@ -91,17 +91,17 @@ |
91 | 91 |
line-height: 40px; |
92 | 92 |
border-bottom: 0px solid #FFF; |
93 | 93 |
border-bottom:10px solid #FFF; |
94 |
- |
|
94 |
+ |
|
95 | 95 |
a { |
96 | 96 |
background-color:#FFF; |
97 | 97 |
color:@yobi-background-gnv; |
98 | 98 |
font-weight:bold; |
99 | 99 |
.border-radius(3px 3px 0 0); |
100 |
- } |
|
100 |
+ } |
|
101 | 101 |
} |
102 | 102 |
} |
103 | 103 |
} |
104 |
- |
|
104 |
+ |
|
105 | 105 |
.gnb-collapse { |
106 | 106 |
position:absolute; |
107 | 107 |
right:40px; |
... | ... | @@ -112,7 +112,7 @@ |
112 | 112 |
background:transparent; |
113 | 113 |
margin:10px 5px 10px 0; |
114 | 114 |
line-height:20px; |
115 |
- |
|
115 |
+ |
|
116 | 116 |
form { |
117 | 117 |
background-color:#FFF; |
118 | 118 |
padding:0; |
... | ... | @@ -121,7 +121,7 @@ |
121 | 121 |
z-index:1; |
122 | 122 |
display:inline-block; |
123 | 123 |
.border-radius(3px); |
124 |
- |
|
124 |
+ |
|
125 | 125 |
input { |
126 | 126 |
border:0; |
127 | 127 |
outline:none; |
... | ... | @@ -156,7 +156,7 @@ |
156 | 156 |
|
157 | 157 |
li.gnb-dropdown { |
158 | 158 |
padding:0; |
159 |
- |
|
159 |
+ |
|
160 | 160 |
a.gnb-dropdown-toggle { |
161 | 161 |
line-height:20px; |
162 | 162 |
} |
... | ... | @@ -176,12 +176,12 @@ |
176 | 176 |
border-right: 4px solid transparent; |
177 | 177 |
border-left: 4px solid transparent; |
178 | 178 |
content: ""; |
179 |
- } |
|
179 |
+ } |
|
180 | 180 |
|
181 | 181 |
li { |
182 | 182 |
margin-right:5px; |
183 | 183 |
margin-left:5px; |
184 |
- } |
|
184 |
+ } |
|
185 | 185 |
} |
186 | 186 |
} |
187 | 187 |
|
... | ... | @@ -222,7 +222,7 @@ |
222 | 222 |
> a { |
223 | 223 |
padding:5px 10px; |
224 | 224 |
} |
225 |
- } |
|
225 |
+ } |
|
226 | 226 |
} |
227 | 227 |
|
228 | 228 |
.gnb-search-bar { |
... | ... | @@ -296,7 +296,7 @@ |
296 | 296 |
|
297 | 297 |
&.vertical-large { |
298 | 298 |
height:280px; |
299 |
- |
|
299 |
+ |
|
300 | 300 |
.project-header-wrap { |
301 | 301 |
height:280px; |
302 | 302 |
} |
... | ... | @@ -330,7 +330,7 @@ |
330 | 330 |
text-decoration:none; |
331 | 331 |
} |
332 | 332 |
} |
333 |
- |
|
333 |
+ |
|
334 | 334 |
.project-owner { |
335 | 335 |
color:@primary; |
336 | 336 |
margin-left:15px; |
... | ... | @@ -388,8 +388,8 @@ |
388 | 388 |
margin:0; |
389 | 389 |
padding:0; |
390 | 390 |
font-size:16px; |
391 |
- |
|
392 |
- li { |
|
391 |
+ |
|
392 |
+ li { |
|
393 | 393 |
float:left; |
394 | 394 |
margin-right:10px; |
395 | 395 |
line-height:22px; |
... | ... | @@ -428,7 +428,7 @@ |
428 | 428 |
|
429 | 429 |
.resize-btn { |
430 | 430 |
text-align:center; |
431 |
- |
|
431 |
+ |
|
432 | 432 |
a { |
433 | 433 |
background-color: #7F8C8D; |
434 | 434 |
display:block; |
... | ... | @@ -467,7 +467,7 @@ |
467 | 467 |
color:@yobi-gray; |
468 | 468 |
font-size:14px; |
469 | 469 |
line-height:30px; |
470 |
- |
|
470 |
+ |
|
471 | 471 |
&:hover { |
472 | 472 |
background-color:#cacfd2; |
473 | 473 |
color:#FFF; |
... | ... | @@ -500,7 +500,7 @@ |
500 | 500 |
} |
501 | 501 |
|
502 | 502 |
&.active { |
503 |
- a { |
|
503 |
+ a { |
|
504 | 504 |
background-color:#444444; |
505 | 505 |
color:#FFF; |
506 | 506 |
&:hover, &:focuse { |
... | ... | @@ -510,12 +510,12 @@ |
510 | 510 |
} |
511 | 511 |
} |
512 | 512 |
|
513 |
- |
|
514 |
- } |
|
515 |
- } |
|
516 |
-} |
|
517 | 513 |
|
518 |
-.project-page-wrap { |
|
514 |
+ } |
|
515 |
+ } |
|
516 |
+} |
|
517 |
+ |
|
518 |
+.project-page-wrap { |
|
519 | 519 |
margin:30px 0; |
520 | 520 |
padding:0 40px 0 160px; |
521 | 521 |
position: relative; |
... | ... | @@ -525,11 +525,11 @@ |
525 | 525 |
padding-left : 70px; |
526 | 526 |
|
527 | 527 |
.project-menu { |
528 |
- |
|
528 |
+ |
|
529 | 529 |
li { |
530 | 530 |
width:40px; |
531 | 531 |
a { |
532 |
- .menu-title { |
|
532 |
+ .menu-title { |
|
533 | 533 |
display:none; |
534 | 534 |
} |
535 | 535 |
} |
... | ... | @@ -577,7 +577,7 @@ |
577 | 577 |
.program { |
578 | 578 |
color:#fff; |
579 | 579 |
} |
580 |
- } |
|
580 |
+ } |
|
581 | 581 |
|
582 | 582 |
.naver:hover { |
583 | 583 |
color: #1f7f12; |
... | ... | @@ -662,7 +662,7 @@ |
662 | 662 |
/*.helvetic-light;*/ |
663 | 663 |
.high-light { |
664 | 664 |
color: @yobi-primary; |
665 |
- |
|
665 |
+ |
|
666 | 666 |
} |
667 | 667 |
/*font-family:'Myriad Pro Light', 'Droid Sans', Tahoma, sans-serif;*/ |
668 | 668 |
font-family:@base-font-family; |
... | ... | @@ -728,7 +728,7 @@ |
728 | 728 |
letter-spacing:1.1px; |
729 | 729 |
&:first-child { |
730 | 730 |
margin-left:0; |
731 |
- } |
|
731 |
+ } |
|
732 | 732 |
} |
733 | 733 |
} |
734 | 734 |
} |
... | ... | @@ -785,7 +785,7 @@ |
785 | 785 |
-o-box-sizing: border-box; |
786 | 786 |
-ms-box-sizing: border-box; |
787 | 787 |
box-sizing: border-box; |
788 |
- |
|
788 |
+ |
|
789 | 789 |
|
790 | 790 |
&:first-child, &:nth-child(4) { |
791 | 791 |
margin-left:0; |
... | ... | @@ -822,7 +822,7 @@ |
822 | 822 |
} |
823 | 823 |
} |
824 | 824 |
|
825 |
-.sample { |
|
825 |
+.sample { |
|
826 | 826 |
overflow: hidden; |
827 | 827 |
background-color:#f9f9f9; |
828 | 828 |
padding:80px 20px; |
... | ... | @@ -841,7 +841,7 @@ |
841 | 841 |
height:280px; |
842 | 842 |
text-align:center; |
843 | 843 |
padding-top:20px; |
844 |
- |
|
844 |
+ |
|
845 | 845 |
img { |
846 | 846 |
vertical-align:top; |
847 | 847 |
width:360px; |
... | ... | @@ -861,7 +861,7 @@ |
861 | 861 |
strong { color:@primary;} |
862 | 862 |
} |
863 | 863 |
} |
864 |
- } |
|
864 |
+ } |
|
865 | 865 |
} |
866 | 866 |
|
867 | 867 |
.site-guide-outer { |
... | ... | @@ -874,8 +874,8 @@ |
874 | 874 |
display:none; |
875 | 875 |
} |
876 | 876 |
|
877 |
- h3 { |
|
878 |
- margin:0; |
|
877 |
+ h3 { |
|
878 |
+ margin:0; |
|
879 | 879 |
padding:0; |
880 | 880 |
font-size: 30px; |
881 | 881 |
color:@yobi-primary; |
... | ... | @@ -960,8 +960,8 @@ |
960 | 960 |
.guide-toggle { |
961 | 961 |
text-align: center; |
962 | 962 |
margin-bottom:20px; |
963 |
- |
|
964 |
- |
|
963 |
+ |
|
964 |
+ |
|
965 | 965 |
|
966 | 966 |
button { |
967 | 967 |
border:1px solid rgba(0,0,0, .1); |
... | ... | @@ -982,7 +982,7 @@ |
982 | 982 |
margin-bottom:15px; |
983 | 983 |
.activity-streams { |
984 | 984 |
margin: 0; |
985 |
- |
|
985 |
+ |
|
986 | 986 |
.warning-none { |
987 | 987 |
font-size:16px; |
988 | 988 |
padding:15px 20px; |
... | ... | @@ -1009,7 +1009,7 @@ |
1009 | 1009 |
height: 100%; |
1010 | 1010 |
} |
1011 | 1011 |
|
1012 |
- |
|
1012 |
+ |
|
1013 | 1013 |
|
1014 | 1014 |
&:first-child { |
1015 | 1015 |
&:before { top:20px } |
... | ... | @@ -1026,7 +1026,7 @@ |
1026 | 1026 |
.border-radius(50%); |
1027 | 1027 |
background: #FFF; |
1028 | 1028 |
position:absolute; |
1029 |
- top:12px; |
|
1029 |
+ top:12px; |
|
1030 | 1030 |
left:0; |
1031 | 1031 |
color:@state-open; |
1032 | 1032 |
text-align:center; |
... | ... | @@ -1070,10 +1070,10 @@ |
1070 | 1070 |
border-color: #e5e5e5; |
1071 | 1071 |
background: #F8F8F8; |
1072 | 1072 |
.rotate(45deg); |
1073 |
- } |
|
1073 |
+ } |
|
1074 | 1074 |
|
1075 | 1075 |
.stream-info { |
1076 |
- |
|
1076 |
+ |
|
1077 | 1077 |
.avatar-wrap { float:left; margin-top:3px;} |
1078 | 1078 |
|
1079 | 1079 |
.title { |
... | ... | @@ -1082,14 +1082,14 @@ |
1082 | 1082 |
font-weight:bold; |
1083 | 1083 |
padding-left:55px; |
1084 | 1084 |
} |
1085 |
- |
|
1086 |
- .meta { |
|
1085 |
+ |
|
1086 |
+ .meta { |
|
1087 | 1087 |
font-size:12px; |
1088 | 1088 |
padding-left:55px; |
1089 | 1089 |
color:#bbb; |
1090 |
- margin-top:5px; |
|
1090 |
+ margin-top:5px; |
|
1091 | 1091 |
|
1092 |
- .author { |
|
1092 |
+ .author { |
|
1093 | 1093 |
color:#666; |
1094 | 1094 |
font-weight:bold; |
1095 | 1095 |
&:hover {color:@link-hover-color;} |
... | ... | @@ -1100,23 +1100,23 @@ |
1100 | 1100 |
margin-top:3px; |
1101 | 1101 |
font-size:12px; |
1102 | 1102 |
color:#888; |
1103 |
- padding-left:12px; |
|
1103 |
+ padding-left:12px; |
|
1104 | 1104 |
overflow:hidden; |
1105 |
- line-height:20px; |
|
1105 |
+ line-height:20px; |
|
1106 | 1106 |
.transition(all 0.3s ease); |
1107 | 1107 |
min-height:20px; |
1108 | 1108 |
|
1109 | 1109 |
.message { |
1110 | 1110 |
word-break : break-all; |
1111 |
- line-height:20px; |
|
1111 |
+ line-height:20px; |
|
1112 | 1112 |
} |
1113 | 1113 |
|
1114 | 1114 |
&.nowrap { |
1115 | 1115 |
min-height:20px; |
1116 | 1116 |
height:20px; |
1117 | 1117 |
.message { |
1118 |
- text-overflow: ellipsis; |
|
1119 |
- white-space: nowrap; |
|
1118 |
+ text-overflow: ellipsis; |
|
1119 |
+ white-space: nowrap; |
|
1120 | 1120 |
overflow: hidden; |
1121 | 1121 |
} |
1122 | 1122 |
} |
... | ... | @@ -1140,14 +1140,14 @@ |
1140 | 1140 |
} |
1141 | 1141 |
.activity-desc { |
1142 | 1142 |
overflow: hidden; |
1143 |
- |
|
1143 |
+ |
|
1144 | 1144 |
.header-text { |
1145 | 1145 |
margin-top: 0px; |
1146 | 1146 |
margin-bottom: 6px; |
1147 | 1147 |
font-size: 12px; |
1148 | 1148 |
line-height: 100%; |
1149 | 1149 |
color: #666; |
1150 |
- |
|
1150 |
+ |
|
1151 | 1151 |
.actor { |
1152 | 1152 |
color: @orange;/*#D06930;*/ |
1153 | 1153 |
font-weight: bold;/*normal;*/ |
... | ... | @@ -1160,7 +1160,7 @@ |
1160 | 1160 |
} |
1161 | 1161 |
.author { font-weight:bold; } |
1162 | 1162 |
.date { color:#bbb; margin-left:5px; } |
1163 |
- |
|
1163 |
+ |
|
1164 | 1164 |
.desc { |
1165 | 1165 |
color: #888; |
1166 | 1166 |
font-size: 11px; |
... | ... | @@ -1241,14 +1241,14 @@ |
1241 | 1241 |
margin-bottom:10px; |
1242 | 1242 |
.border-radius(6px 6px 0 0); |
1243 | 1243 |
|
1244 |
- .title { |
|
1245 |
- background-color:@yobi-cyan-light; |
|
1246 |
- padding:10px; |
|
1244 |
+ .title { |
|
1245 |
+ background-color:@yobi-cyan-light; |
|
1246 |
+ padding:10px; |
|
1247 | 1247 |
display:block; |
1248 | 1248 |
font-weight:bold; |
1249 | 1249 |
.border-radius(6px 6px 0 0); |
1250 | 1250 |
|
1251 |
- border-bottom:1px solid rgba(0,0,0, .15); |
|
1251 |
+ border-bottom:1px solid rgba(0,0,0, .15); |
|
1252 | 1252 |
margin-bottom:10px; |
1253 | 1253 |
} |
1254 | 1254 |
|
... | ... | @@ -1598,7 +1598,7 @@ |
1598 | 1598 |
|
1599 | 1599 |
} |
1600 | 1600 |
|
1601 |
- button { |
|
1601 |
+ button { |
|
1602 | 1602 |
position:absolute; |
1603 | 1603 |
top:7px; |
1604 | 1604 |
right:5px; |
... | ... | @@ -1607,7 +1607,7 @@ |
1607 | 1607 |
|
1608 | 1608 |
} |
1609 | 1609 |
} |
1610 |
- |
|
1610 |
+ |
|
1611 | 1611 |
.btn-advanced { |
1612 | 1612 |
color:#707070; |
1613 | 1613 |
font-weight:bold; |
... | ... | @@ -1634,8 +1634,8 @@ |
1634 | 1634 |
.btn-advanced { |
1635 | 1635 |
i { .ico-arrow-up-blue; } |
1636 | 1636 |
} |
1637 |
- .caret-wrap .caret { |
|
1638 |
- border-top:0; |
|
1637 |
+ .caret-wrap .caret { |
|
1638 |
+ border-top:0; |
|
1639 | 1639 |
border-bottom:4px solid @blue; |
1640 | 1640 |
} |
1641 | 1641 |
} |
... | ... | @@ -1847,7 +1847,7 @@ |
1847 | 1847 |
padding: 0 15px; /*10px;*/ |
1848 | 1848 |
margin-bottom: 14px; |
1849 | 1849 |
width:100%; |
1850 |
- |
|
1850 |
+ |
|
1851 | 1851 |
.icor { |
1852 | 1852 |
margin:17px !important; |
1853 | 1853 |
.ico-qa-plus; |
... | ... | @@ -2096,8 +2096,8 @@ |
2096 | 2096 |
} |
2097 | 2097 |
|
2098 | 2098 |
.check-all { |
2099 |
- width:40px; |
|
2100 |
- vertical-align: middle; |
|
2099 |
+ width:40px; |
|
2100 |
+ vertical-align: middle; |
|
2101 | 2101 |
text-align:center; |
2102 | 2102 |
} |
2103 | 2103 |
|
... | ... | @@ -2310,7 +2310,7 @@ |
2310 | 2310 |
-webkit-box-sizing: border-box; |
2311 | 2311 |
} |
2312 | 2312 |
} |
2313 |
- |
|
2313 |
+ |
|
2314 | 2314 |
.content-wrap { |
2315 | 2315 |
label { |
2316 | 2316 |
font-weight:bold; |
... | ... | @@ -2325,7 +2325,7 @@ |
2325 | 2325 |
-webkit-box-sizing: border-box; |
2326 | 2326 |
} |
2327 | 2327 |
} |
2328 |
- |
|
2328 |
+ |
|
2329 | 2329 |
.actions { |
2330 | 2330 |
text-align: right; |
2331 | 2331 |
height: 26px; |
... | ... | @@ -2592,9 +2592,9 @@ |
2592 | 2592 |
} |
2593 | 2593 |
|
2594 | 2594 |
.board-header { |
2595 |
- display:block; |
|
2595 |
+ display:block; |
|
2596 | 2596 |
clear:both; |
2597 |
- height:30px; |
|
2597 |
+ height:30px; |
|
2598 | 2598 |
padding: 10px 20px; |
2599 | 2599 |
border:none; |
2600 | 2600 |
background-color:@yobi-white-dark; |
... | ... | @@ -2611,9 +2611,9 @@ |
2611 | 2611 |
color: #000; |
2612 | 2612 |
} |
2613 | 2613 |
.date { |
2614 |
- display:inline-block; |
|
2615 |
- vertical-align:top; |
|
2616 |
- line-height:29px; |
|
2614 |
+ display:inline-block; |
|
2615 |
+ vertical-align:top; |
|
2616 |
+ line-height:29px; |
|
2617 | 2617 |
margin-right:20px; |
2618 | 2618 |
color: #999; |
2619 | 2619 |
} |
... | ... | @@ -2639,7 +2639,7 @@ |
2639 | 2639 |
.author-info { |
2640 | 2640 |
/*margin-bottom: 34px;*/ |
2641 | 2641 |
padding:15px 0 0 10px; |
2642 |
- |
|
2642 |
+ |
|
2643 | 2643 |
dl { margin-bottom:20px; } |
2644 | 2644 |
dl.author { height:51px; overflow:hidden; } |
2645 | 2645 |
p { |
... | ... | @@ -2672,7 +2672,7 @@ |
2672 | 2672 |
.board-comment-wrap { |
2673 | 2673 |
display:block; clear:both; |
2674 | 2674 |
font-family:@base-font-family; |
2675 |
- |
|
2675 |
+ |
|
2676 | 2676 |
.comment-header { |
2677 | 2677 |
color: #222; |
2678 | 2678 |
font-size: 16px; |
... | ... | @@ -2710,7 +2710,7 @@ |
2710 | 2710 |
border-color: #BDC3C7; |
2711 | 2711 |
background-color: #E5F0FC; |
2712 | 2712 |
.rotate(45deg); |
2713 |
- } |
|
2713 |
+ } |
|
2714 | 2714 |
|
2715 | 2715 |
.meta-info { |
2716 | 2716 |
height:22px; |
... | ... | @@ -2719,11 +2719,11 @@ |
2719 | 2719 |
border-bottom:1px solid #BDC3C7; |
2720 | 2720 |
|
2721 | 2721 |
.yobicon-comment {vertical-align: middle;} |
2722 |
- .comment_author {font-size:13px; margin-right:5px; } |
|
2722 |
+ .comment_author {font-size:13px; margin-right:5px; } |
|
2723 | 2723 |
.ago { color:#7F8C8D;} |
2724 | 2724 |
.edit { color: #7F8C8D;} |
2725 | 2725 |
} |
2726 |
- |
|
2726 |
+ |
|
2727 | 2727 |
.attach { |
2728 | 2728 |
color: #4489A4; |
2729 | 2729 |
padding:10px; |
... | ... | @@ -2739,10 +2739,10 @@ |
2739 | 2739 |
font-size: 12px; |
2740 | 2740 |
padding:0 15px; |
2741 | 2741 |
a { font-weight:bold; border-bottom:1px dotted; } |
2742 |
- |
|
2742 |
+ |
|
2743 | 2743 |
.commitMsg { |
2744 | 2744 |
white-space:pre-line; |
2745 |
- padding:5px; |
|
2745 |
+ padding:5px; |
|
2746 | 2746 |
background:#f7f7f7; |
2747 | 2747 |
border:1px solid #eee; |
2748 | 2748 |
.border-radius(2px); |
... | ... | @@ -2756,7 +2756,7 @@ |
2756 | 2756 |
|
2757 | 2757 |
&.author { |
2758 | 2758 |
.media-body { |
2759 |
- &:before { background-color: #f8f8f8; } |
|
2759 |
+ &:before { background-color: #f8f8f8; } |
|
2760 | 2760 |
} |
2761 | 2761 |
|
2762 | 2762 |
.meta-info { background-color:#f8f8f8; } |
... | ... | @@ -2791,11 +2791,11 @@ |
2791 | 2791 |
} |
2792 | 2792 |
|
2793 | 2793 |
.event { |
2794 |
- |
|
2794 |
+ |
|
2795 | 2795 |
padding:15px 0 15px 75px; |
2796 | 2796 |
font-size:14px; |
2797 | 2797 |
line-height:14px; |
2798 |
- .state { |
|
2798 |
+ .state { |
|
2799 | 2799 |
color:#FFF; |
2800 | 2800 |
padding: 6px 0; |
2801 | 2801 |
text-align:center; |
... | ... | @@ -2805,9 +2805,9 @@ |
2805 | 2805 |
font-weight:bold; |
2806 | 2806 |
.border-radius(5px); |
2807 | 2807 |
margin-right:10px; |
2808 |
- |
|
2808 |
+ |
|
2809 | 2809 |
i {margin-right:3px;} |
2810 |
- |
|
2810 |
+ |
|
2811 | 2811 |
|
2812 | 2812 |
&.closed { background-color: @state-closed;} |
2813 | 2813 |
&.open { background-color : @state-open;} |
... | ... | @@ -2968,9 +2968,9 @@ |
2968 | 2968 |
font-weight: bold; |
2969 | 2969 |
&:hover { color:@primary; } |
2970 | 2970 |
} |
2971 |
- .btn-insert { |
|
2972 |
- display:none; |
|
2973 |
- line-height: 20px; |
|
2971 |
+ .btn-insert { |
|
2972 |
+ display:none; |
|
2973 |
+ line-height: 20px; |
|
2974 | 2974 |
margin-top: 2px; margin-right: 10px; |
2975 | 2975 |
.box-shadow(none); |
2976 | 2976 |
&:hover { background:#fff; color:@primary; } |
... | ... | @@ -3028,18 +3028,18 @@ |
3028 | 3028 |
.title { |
3029 | 3029 |
margin-bottom: 15px; |
3030 | 3030 |
font-size:18px; |
3031 |
- |
|
3031 |
+ |
|
3032 | 3032 |
} |
3033 | 3033 |
.error { |
3034 |
- margin-bottom: 5px; |
|
3034 |
+ margin-bottom: 5px; |
|
3035 | 3035 |
} |
3036 |
- |
|
3036 |
+ |
|
3037 | 3037 |
.message { |
3038 | 3038 |
margin-bottom: 15px; |
3039 | 3039 |
color:red; |
3040 | 3040 |
font-weight:bold; |
3041 | 3041 |
} |
3042 |
- |
|
3042 |
+ |
|
3043 | 3043 |
.content { |
3044 | 3044 |
height:190px; /*320px;*/ |
3045 | 3045 |
background-color: #F9F9F9; |
... | ... | @@ -3100,8 +3100,8 @@ |
3100 | 3100 |
.avatar-wrap { margin-right:10px; } |
3101 | 3101 |
|
3102 | 3102 |
.title { |
3103 |
- text-overflow: ellipsis; |
|
3104 |
- white-space: nowrap; |
|
3103 |
+ text-overflow: ellipsis; |
|
3104 |
+ white-space: nowrap; |
|
3105 | 3105 |
overflow: hidden; |
3106 | 3106 |
padding:5px 0; |
3107 | 3107 |
} |
... | ... | @@ -3114,7 +3114,7 @@ |
3114 | 3114 |
display:inline-block; |
3115 | 3115 |
margin-left:10px; |
3116 | 3116 |
.num { color: @secondary; font-weight:bold; } |
3117 |
- .icon { margin-right: 3px; color : #51aacc; } |
|
3117 |
+ .icon { margin-right: 3px; color : #51aacc; } |
|
3118 | 3118 |
} |
3119 | 3119 |
.lb { display:inline-block; } |
3120 | 3120 |
} |
... | ... | @@ -3126,11 +3126,11 @@ |
3126 | 3126 |
color:@secondary; font-size:13px; |
3127 | 3127 |
} |
3128 | 3128 |
} |
3129 |
- |
|
3130 |
- .title-link { |
|
3131 |
- margin:5px 0; margin-right:5px; |
|
3129 |
+ |
|
3130 |
+ .title-link { |
|
3131 |
+ margin:5px 0; margin-right:5px; |
|
3132 | 3132 |
font-size:14px; font-weight:bold; |
3133 |
- |
|
3133 |
+ |
|
3134 | 3134 |
.issue-id { color:#939393; margin-right:5px; font-size:13px; } |
3135 | 3135 |
} |
3136 | 3136 |
|
... | ... | @@ -3162,15 +3162,15 @@ |
3162 | 3162 |
|
3163 | 3163 |
.relative-issue { |
3164 | 3164 |
display:none; |
3165 |
- |
|
3165 |
+ |
|
3166 | 3166 |
dt { color:#797979; } |
3167 | 3167 |
ul { |
3168 | 3168 |
margin-left:5px; |
3169 |
- |
|
3169 |
+ |
|
3170 | 3170 |
.issue-item { |
3171 | 3171 |
padding:0; |
3172 | 3172 |
border:none; |
3173 |
- |
|
3173 |
+ |
|
3174 | 3174 |
.date { font-size:11px; color:#999; } |
3175 | 3175 |
} |
3176 | 3176 |
} |
... | ... | @@ -3229,7 +3229,7 @@ |
3229 | 3229 |
height:38px; |
3230 | 3230 |
float:left; |
3231 | 3231 |
padding-right: 10px; |
3232 |
- |
|
3232 |
+ |
|
3233 | 3233 |
.img-rounded { |
3234 | 3234 |
.inline-block; |
3235 | 3235 |
vertical-align:top; |
... | ... | @@ -3237,7 +3237,7 @@ |
3237 | 3237 |
height:100%; |
3238 | 3238 |
} |
3239 | 3239 |
} |
3240 |
- |
|
3240 |
+ |
|
3241 | 3241 |
.contents { |
3242 | 3242 |
margin-left: 100px; |
3243 | 3243 |
|
... | ... | @@ -3250,18 +3250,18 @@ |
3250 | 3250 |
margin-bottom: 5px; |
3251 | 3251 |
font-weight: bold; |
3252 | 3252 |
font-size: 15px; |
3253 |
- |
|
3253 |
+ |
|
3254 | 3254 |
.label-notice { |
3255 | 3255 |
background:@secondary; |
3256 | 3256 |
} |
3257 | 3257 |
|
3258 | 3258 |
a { |
3259 |
- text-overflow: ellipsis; |
|
3260 |
- white-space: nowrap; |
|
3259 |
+ text-overflow: ellipsis; |
|
3260 |
+ white-space: nowrap; |
|
3261 | 3261 |
overflow: hidden; |
3262 | 3262 |
} |
3263 | 3263 |
} |
3264 |
- |
|
3264 |
+ |
|
3265 | 3265 |
.infos { |
3266 | 3266 |
line-height: 14px; |
3267 | 3267 |
font-size: 11px; |
... | ... | @@ -3274,9 +3274,9 @@ |
3274 | 3274 |
.comment-wrap { |
3275 | 3275 |
display:inline-block; |
3276 | 3276 |
margin-left:10px; |
3277 |
- |
|
3277 |
+ |
|
3278 | 3278 |
.num { color: @secondary; font-weight:bold; } |
3279 |
- .icon { margin-right: 3px; color : #51aacc; } |
|
3279 |
+ .icon { margin-right: 3px; color : #51aacc; } |
|
3280 | 3280 |
} |
3281 | 3281 |
} |
3282 | 3282 |
} |
... | ... | @@ -3401,7 +3401,7 @@ |
3401 | 3401 |
.minimap-links { |
3402 | 3402 |
position:relative; |
3403 | 3403 |
width:100%; height:400px; |
3404 |
- |
|
3404 |
+ |
|
3405 | 3405 |
a { |
3406 | 3406 |
position:absolute; |
3407 | 3407 |
width:100%; min-height:2px; |
... | ... | @@ -3427,7 +3427,7 @@ |
3427 | 3427 |
content:'/'; margin-left:4px; |
3428 | 3428 |
} |
3429 | 3429 |
a:first-of-type { margin-left:0; } |
3430 |
- a:last-of-type { |
|
3430 |
+ a:last-of-type { |
|
3431 | 3431 |
color:@primary; |
3432 | 3432 |
&:after { content:''; } |
3433 | 3433 |
} |
... | ... | @@ -3436,7 +3436,7 @@ |
3436 | 3436 |
.nav-tabs { |
3437 | 3437 |
margin-bottom:0; |
3438 | 3438 |
} |
3439 |
- |
|
3439 |
+ |
|
3440 | 3440 |
.actrow { |
3441 | 3441 |
clear:both; margin-top:10px; |
3442 | 3442 |
} |
... | ... | @@ -3473,7 +3473,7 @@ |
3473 | 3473 |
&:hover { color:@link-hover-color; text-decoration:underline; } |
3474 | 3474 |
} |
3475 | 3475 |
} |
3476 |
- |
|
3476 |
+ |
|
3477 | 3477 |
.browse { width:70px; text-align:center; } |
3478 | 3478 |
} |
3479 | 3479 |
} |
... | ... | @@ -3512,7 +3512,7 @@ |
3512 | 3512 |
background-color: #f5f5f5; |
3513 | 3513 |
margin-bottom:15px; |
3514 | 3514 |
} |
3515 |
- |
|
3515 |
+ |
|
3516 | 3516 |
ul.comments { |
3517 | 3517 |
width:800px; |
3518 | 3518 |
font-family:@base-font-family; |
... | ... | @@ -3542,7 +3542,7 @@ |
3542 | 3542 |
height:100%; |
3543 | 3543 |
} |
3544 | 3544 |
} |
3545 |
- |
|
3545 |
+ |
|
3546 | 3546 |
.cell { |
3547 | 3547 |
display: table-cell; |
3548 | 3548 |
background-color: @white; |
... | ... | @@ -3605,7 +3605,7 @@ |
3605 | 3605 |
width: 100%; |
3606 | 3606 |
|
3607 | 3607 |
td { padding: 0 15px 0 5px; } |
3608 |
- |
|
3608 |
+ |
|
3609 | 3609 |
.thead { |
3610 | 3610 |
background-color: #f5f5f5; |
3611 | 3611 |
line-height: 34px; |
... | ... | @@ -3718,18 +3718,18 @@ |
3718 | 3718 |
} |
3719 | 3719 |
|
3720 | 3720 |
.list-wrap { display:none; } |
3721 |
- |
|
3721 |
+ |
|
3722 | 3722 |
.file-wrap { |
3723 | 3723 |
display:block; |
3724 | 3724 |
width:100%; |
3725 |
- |
|
3725 |
+ |
|
3726 | 3726 |
p { |
3727 | 3727 |
margin: 100px 0; text-align:center; |
3728 | 3728 |
.filename { display:block; font-size:20px; } |
3729 | 3729 |
.filesize { display:block; font-size:13px; margin-bottom:20px; color:#999; } |
3730 | 3730 |
} |
3731 | 3731 |
} |
3732 |
- |
|
3732 |
+ |
|
3733 | 3733 |
.btnResize { |
3734 | 3734 |
font-family:Arial !important; |
3735 | 3735 |
width:10px; cursor:e-resize; |
... | ... | @@ -4355,7 +4355,7 @@ |
4355 | 4355 |
.mass-update-form { |
4356 | 4356 |
position:relative; |
4357 | 4357 |
-webkit-transition:padding 0.5s; |
4358 |
- |
|
4358 |
+ |
|
4359 | 4359 |
&.fixed { |
4360 | 4360 |
position:fixed; width:100%; |
4361 | 4361 |
top:0; background:#fff; |
... | ... | @@ -4422,7 +4422,7 @@ |
4422 | 4422 |
text-shadow: 1px 1px rgba(255, 255, 255, 0.5); |
4423 | 4423 |
.box-shadow(1px 1px 1px rgba(0, 0, 0, 0.15)); |
4424 | 4424 |
.border-radius(2px); |
4425 |
- } |
|
4425 |
+ } |
|
4426 | 4426 |
} |
4427 | 4427 |
|
4428 | 4428 |
|
... | ... | @@ -4600,7 +4600,7 @@ |
4600 | 4600 |
width: 40px; |
4601 | 4601 |
} |
4602 | 4602 |
.filename { float:left; line-height:30px; } |
4603 |
- |
|
4603 |
+ |
|
4604 | 4604 |
.hide { |
4605 | 4605 |
display:none; |
4606 | 4606 |
} |
--- app/assets/stylesheets/less/_sprites.less
+++ app/assets/stylesheets/less/_sprites.less
... | ... | @@ -288,7 +288,7 @@ |
288 | 288 |
width: 14px; |
289 | 289 |
height: 14px;/*13px;*/ |
290 | 290 |
background-position:-136px -152px; |
291 |
- |
|
291 |
+ |
|
292 | 292 |
/*background-position: -28px -27px;*/ |
293 | 293 |
/*&:hover { |
294 | 294 |
background-position: -44px -27px; |
... | ... | @@ -383,7 +383,7 @@ |
383 | 383 |
*/ |
384 | 384 |
margin-right: 5px; |
385 | 385 |
vertical-align: middle; |
386 |
- /* |
|
386 |
+ /* |
|
387 | 387 |
width: 11px; |
388 | 388 |
height: 11px; |
389 | 389 |
background-position: -91px -13px; |
... | ... | @@ -488,13 +488,13 @@ |
488 | 488 |
.ico-err1 { |
489 | 489 |
width: 62px; |
490 | 490 |
height: 82px; |
491 |
- background-position: -5px -160px; |
|
491 |
+ background-position: -5px -160px; |
|
492 | 492 |
} |
493 | 493 |
|
494 | 494 |
.ico-err2 { |
495 | 495 |
width: 50px; |
496 | 496 |
height: 80px; |
497 |
- background-position: -80px -160px; |
|
497 |
+ background-position: -80px -160px; |
|
498 | 498 |
} |
499 | 499 |
|
500 | 500 |
.btn-gray-arrow { |
--- app/assets/stylesheets/less/_temporary.less
+++ app/assets/stylesheets/less/_temporary.less
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 |
.pop-watch { |
3 | 3 |
.content { padding: 10px 25px; } |
4 | 4 |
.brow { text-align:center; padding:10px 0; } |
5 |
- |
|
5 |
+ |
|
6 | 6 |
ul { |
7 | 7 |
margin: 0px; |
8 | 8 |
padding: 5px; |
... | ... | @@ -22,7 +22,7 @@ |
22 | 22 |
button.dropdown-toggle { |
23 | 23 |
padding:0; margin:0; border-left:none; |
24 | 24 |
.border-radius(0 2px 2px 0); |
25 |
- |
|
25 |
+ |
|
26 | 26 |
&.pl { |
27 | 27 |
.d-label { width:auto; padding:4px 0px 4px 5px; } |
28 | 28 |
.d-caret { border-left:none; } |
... | ... | @@ -36,15 +36,15 @@ |
36 | 36 |
padding:8px; |
37 | 37 |
a { display: block} |
38 | 38 |
.num-badge { padding:0 2px; } |
39 |
- |
|
39 |
+ |
|
40 | 40 |
&.active { |
41 | 41 |
color: #fff; |
42 | 42 |
background: @secondary; |
43 | 43 |
font-weight:bold; |
44 | 44 |
.border-radius (6px); |
45 |
- |
|
45 |
+ |
|
46 | 46 |
.num-badge { color:#fff; } |
47 |
- |
|
47 |
+ |
|
48 | 48 |
a:hover { color:#fff; } |
49 | 49 |
} |
50 | 50 |
} |
... | ... | @@ -52,7 +52,7 @@ |
52 | 52 |
|
53 | 53 |
.caret-wrap { |
54 | 54 |
padding:5px; |
55 |
- |
|
55 |
+ |
|
56 | 56 |
.caret { |
57 | 57 |
display: inline-block; |
58 | 58 |
width: 0; |
... | ... | @@ -61,9 +61,9 @@ |
61 | 61 |
border-top: 4px solid @blue; |
62 | 62 |
border-right: 4px solid transparent; |
63 | 63 |
border-left: 4px solid transparent; |
64 |
- content: ""; |
|
64 |
+ content: ""; |
|
65 | 65 |
margin-top:9px; |
66 |
- |
|
66 |
+ |
|
67 | 67 |
&.up { border-top:0; border-bottom-width:4px solid @blue; } |
68 | 68 |
&.down { border-top:4px solid @blue; border-bottom:0; } |
69 | 69 |
} |
--- app/assets/stylesheets/less/_variables.less
+++ app/assets/stylesheets/less/_variables.less
... | ... | @@ -9,7 +9,7 @@ |
9 | 9 |
@base-webfont-path: "/assets/images/webfont"; |
10 | 10 |
|
11 | 11 |
// Typography |
12 |
-@base-font-family:"Lato", "Helvetica Neue", "Helvetica", "Tahoma", "나눔고딕", "NanumGothic", "NanumGothicOTF", "맑은고딕", "Malgun Gothic", dotum, Arial; |
|
12 |
+@base-font-family:"Lato", "Helvetica Neue", "Helvetica", "Tahoma", "나눔고딕", "NanumGothic", "NanumGothicOTF", "맑은고딕", "Malgun Gothic", dotum, Arial; |
|
13 | 13 |
/*'Droid Sans', Tahoma;*/ |
14 | 14 |
/*, '돋움', Dotum, Arial, sans-serif;*/ |
15 | 15 |
@base-font-size : 13px; |
... | ... | @@ -33,8 +33,8 @@ |
33 | 33 |
font-style: normal; |
34 | 34 |
font-weight: 300; |
35 | 35 |
src: url('http://themes.googleusercontent.com/static/fonts/lato/v6/zLhfkPOm_5ykmdm-wXaiuw.eot'); |
36 |
- src: local('Lato Light'), local('Lato-Light'), |
|
37 |
- url('http://themes.googleusercontent.com/static/fonts/lato/v6/zLhfkPOm_5ykmdm-wXaiuw.eot') format('embedded-opentype'), |
|
36 |
+ src: local('Lato Light'), local('Lato-Light'), |
|
37 |
+ url('http://themes.googleusercontent.com/static/fonts/lato/v6/zLhfkPOm_5ykmdm-wXaiuw.eot') format('embedded-opentype'), |
|
38 | 38 |
url('http://themes.googleusercontent.com/static/fonts/lato/v6/KT3KS9Aol4WfR6Vas8kNcg.woff') format('woff'); |
39 | 39 |
} |
40 | 40 |
@font-face { |
... | ... | @@ -42,8 +42,8 @@ |
42 | 42 |
font-style: normal; |
43 | 43 |
font-weight: 400; |
44 | 44 |
src: url('http://themes.googleusercontent.com/static/fonts/lato/v6/nQhiC-wSiJx0pvEuJl8d8A.eot'); |
45 |
- src: local('Lato Regular'), local('Lato-Regular'), |
|
46 |
- url('http://themes.googleusercontent.com/static/fonts/lato/v6/nQhiC-wSiJx0pvEuJl8d8A.eot') format('embedded-opentype'), |
|
45 |
+ src: local('Lato Regular'), local('Lato-Regular'), |
|
46 |
+ url('http://themes.googleusercontent.com/static/fonts/lato/v6/nQhiC-wSiJx0pvEuJl8d8A.eot') format('embedded-opentype'), |
|
47 | 47 |
url('http://themes.googleusercontent.com/static/fonts/lato/v6/9k-RPmcnxYEPm8CNFsH2gg.woff') format('woff'), |
48 | 48 |
url('http://themes.googleusercontent.com/static/fonts/lato/v6/v0SdcGFAl2aezM9Vq_aFTQ.ttf') format('truetype'); |
49 | 49 |
} |
... | ... | @@ -52,8 +52,8 @@ |
52 | 52 |
font-style: normal; |
53 | 53 |
font-weight: 700; |
54 | 54 |
src: url('http://themes.googleusercontent.com/static/fonts/lato/v6/sBtfDPlEIwvKKU53nAG7AQ.eot'); |
55 |
- src: local('Lato Bold'), local('Lato-Bold'), |
|
56 |
- url('http://themes.googleusercontent.com/static/fonts/lato/v6/sBtfDPlEIwvKKU53nAG7AQ.eot') format('embedded-opentype'), |
|
55 |
+ src: local('Lato Bold'), local('Lato-Bold'), |
|
56 |
+ url('http://themes.googleusercontent.com/static/fonts/lato/v6/sBtfDPlEIwvKKU53nAG7AQ.eot') format('embedded-opentype'), |
|
57 | 57 |
url('http://themes.googleusercontent.com/static/fonts/lato/v6/wkfQbvfT_02e2IWO3yYueQ.woff') format('woff'), |
58 | 58 |
url('http://themes.googleusercontent.com/static/fonts/lato/v6/DvlFBScY1r-FMtZSYIYoYw.ttf') format('truetype'); |
59 | 59 |
} |
--- app/assets/stylesheets/less/_yobiUI.less
+++ app/assets/stylesheets/less/_yobiUI.less
... | ... | @@ -38,10 +38,10 @@ |
38 | 38 |
input[type="search"], input[type="tel"], input[type="color"], .uneditable-input { |
39 | 39 |
.box-shadow(none); |
40 | 40 |
.border-radius(2px); |
41 |
- |
|
41 |
+ |
|
42 | 42 |
&:focus { |
43 | 43 |
.box-shadow(none); |
44 |
- border-color:@primary; |
|
44 |
+ border-color:@primary; |
|
45 | 45 |
} |
46 | 46 |
} |
47 | 47 |
|
... | ... | @@ -76,13 +76,13 @@ |
76 | 76 |
float:right; margin:0; |
77 | 77 |
padding:4px 9px; |
78 | 78 |
border-left:1px solid rgba(0,0,0,0.1); |
79 |
- |
|
79 |
+ |
|
80 | 80 |
.caret { |
81 | 81 |
border-top-color:#4f4f4f; |
82 | 82 |
} |
83 | 83 |
&.nlb { border-left:none; } |
84 | 84 |
} |
85 |
- |
|
85 |
+ |
|
86 | 86 |
&.blue { |
87 | 87 |
background:@blue2; border-bottom:1px solid rgba(0,0,0,0.25); |
88 | 88 |
.d-caret .caret { border-top-color:#fff; } |
... | ... | @@ -99,7 +99,7 @@ |
99 | 99 |
} |
100 | 100 |
.btn-group.open .btn.dropdown-toggle { |
101 | 101 |
background:darken(@white, 5%); |
102 |
- |
|
102 |
+ |
|
103 | 103 |
&.blue { background:darken(@blue2, 5%); } |
104 | 104 |
&.orange { background:darken(@orange, 5%); } |
105 | 105 |
} |
... | ... | @@ -179,10 +179,10 @@ |
179 | 179 |
text-decoration: none; |
180 | 180 |
} |
181 | 181 |
&.last { margin-right:0; } |
182 |
- &.active { |
|
183 |
- .box-shadow(inset 1px 1px 4px rgba(0, 0, 0, 0.25)); |
|
182 |
+ &.active { |
|
183 |
+ .box-shadow(inset 1px 1px 4px rgba(0, 0, 0, 0.25)); |
|
184 | 184 |
} |
185 |
- |
|
185 |
+ |
|
186 | 186 |
&.blue { |
187 | 187 |
background-color: @blue2; /*#56B5D9*/ |
188 | 188 |
&:hover { background-color: darken(@blue2, 10%); color: #00ddff; } |
... | ... | @@ -203,12 +203,12 @@ |
203 | 203 |
background-color: @green; |
204 | 204 |
&:hover { background-color: darken(@green, 10%); color: #00ddff; } |
205 | 205 |
} |
206 |
- |
|
206 |
+ |
|
207 | 207 |
&.red { |
208 | 208 |
background-color:#e45642; |
209 | 209 |
&:hover { background-color: darken(#e45642, 10%); color: #fff; } |
210 | 210 |
} |
211 |
- |
|
211 |
+ |
|
212 | 212 |
&.mint { |
213 | 213 |
background-color:#83d6df; |
214 | 214 |
&:hover { background-color: darken(#83d6df, 10%); color: #fff; } |
... | ... | @@ -308,10 +308,10 @@ |
308 | 308 |
font-size:11px; font-weight:bold; |
309 | 309 |
color:#fff; white-space:nowrap; vertical-align:middle; |
310 | 310 |
background:#aaa;/*d9d9d9;*/ |
311 |
- |
|
311 |
+ |
|
312 | 312 |
.border-radius(2px); |
313 | 313 |
/*.box-shadow(inset 0px -2px 2px rgba(255,255,255,0.4));*/ |
314 |
- |
|
314 |
+ |
|
315 | 315 |
/*&.language { background:#ffc48c; } |
316 | 316 |
&.license { background:#ff9f80; }*/ |
317 | 317 |
} |
... | ... | @@ -419,9 +419,9 @@ |
419 | 419 |
border:1px solid #d3d3d3; |
420 | 420 |
text-decoration: none; |
421 | 421 |
background-color: @yobi-white-dark; |
422 |
- } |
|
422 |
+ } |
|
423 | 423 |
} |
424 |
- |
|
424 |
+ |
|
425 | 425 |
&.active a { |
426 | 426 |
font-weight:bold; |
427 | 427 |
letter-spacing:-1pt; |
... | ... | @@ -520,7 +520,7 @@ |
520 | 520 |
.num-noti { |
521 | 521 |
display: inline-block; |
522 | 522 |
background: @primary; |
523 |
- color:#fff; |
|
523 |
+ color:#fff; |
|
524 | 524 |
font-weight:bold; |
525 | 525 |
border:1px solid #eee; |
526 | 526 |
padding: 0px 5px; |
... | ... | @@ -549,7 +549,7 @@ |
549 | 549 |
white-space:nowrap; |
550 | 550 |
color: #333; |
551 | 551 |
background-color: @yobi-btn-default; |
552 |
- text-shadow:none; |
|
552 |
+ text-shadow:none; |
|
553 | 553 |
.border-radius(3px) !important; |
554 | 554 |
display:inline-block; |
555 | 555 |
padding: 4px 12px !important; |
... | ... | @@ -564,7 +564,7 @@ |
564 | 564 |
margin-left: .3em; |
565 | 565 |
border: 1px solid rgba(0,0,0,.15); |
566 | 566 |
.box-shadow(0 1px 0 rgba(0,0,0,.05)); |
567 |
- |
|
567 |
+ |
|
568 | 568 |
i { line-height:20px;} |
569 | 569 |
|
570 | 570 |
&.ybnt-midium { |
... | ... | @@ -573,7 +573,7 @@ |
573 | 573 |
|
574 | 574 |
&:first-child { |
575 | 575 |
margin-left:0; |
576 |
- } |
|
576 |
+ } |
|
577 | 577 |
|
578 | 578 |
&:hover, &:focus, &:active, &:focus, &.disabled, &[disabled] { |
579 | 579 |
border:1px solid rgba(0,0,0,.25); |
... | ... | @@ -628,25 +628,25 @@ |
628 | 628 |
&.ybtn-gray { |
629 | 629 |
backgroun-color: @yobi-white-dark; |
630 | 630 |
|
631 |
- &:hover, &:focus, &:active, &:focus { |
|
632 |
- background-color: @yobi-white !important; |
|
631 |
+ &:hover, &:focus, &:active, &:focus { |
|
632 |
+ background-color: @yobi-white !important; |
|
633 | 633 |
} |
634 | 634 |
} |
635 | 635 |
|
636 | 636 |
&.ybtn-primary { |
637 | 637 |
background-color : @yobi-btn-primary !important; |
638 |
- border:1px solid @yobi-btn-primary-hover; |
|
639 |
- &:hover, &:focus, &:active, &:focus { |
|
640 |
- background-color: @yobi-btn-primary-hover !important; |
|
638 |
+ border:1px solid @yobi-btn-primary-hover; |
|
639 |
+ &:hover, &:focus, &:active, &:focus { |
|
640 |
+ background-color: @yobi-btn-primary-hover !important; |
|
641 | 641 |
} |
642 | 642 |
} |
643 | 643 |
|
644 | 644 |
&.ybtn-success { |
645 | 645 |
background-color : @yobi-btn-primary !important; |
646 |
- border:1px solid @yobi-btn-primary-hover; |
|
646 |
+ border:1px solid @yobi-btn-primary-hover; |
|
647 | 647 |
|
648 |
- &:hover, &:focus, &:active, &:focus { |
|
649 |
- background-color: @yobi-btn-primary-hover !important; |
|
648 |
+ &:hover, &:focus, &:active, &:focus { |
|
649 |
+ background-color: @yobi-btn-primary-hover !important; |
|
650 | 650 |
} |
651 | 651 |
} |
652 | 652 |
|
... | ... | @@ -654,8 +654,8 @@ |
654 | 654 |
background-color : @yobi-btn-warning !important; |
655 | 655 |
border:1px solid @yobi-btn-warning-hover; |
656 | 656 |
|
657 |
- &:hover, &:focus { |
|
658 |
- background-color: @yobi-btn-warning-hover !important; |
|
657 |
+ &:hover, &:focus { |
|
658 |
+ background-color: @yobi-btn-warning-hover !important; |
|
659 | 659 |
} |
660 | 660 |
} |
661 | 661 |
|
... | ... | @@ -663,17 +663,17 @@ |
663 | 663 |
background-color : @yobi-btn-info !important; |
664 | 664 |
border:1px solid @yobi-btn-info-hover; |
665 | 665 |
|
666 |
- &:hover, &:focus { |
|
667 |
- background-color: @yobi-btn-info-hover !important; |
|
666 |
+ &:hover, &:focus { |
|
667 |
+ background-color: @yobi-btn-info-hover !important; |
|
668 | 668 |
} |
669 | 669 |
} |
670 | 670 |
|
671 | 671 |
&.ybtn-danger { |
672 | 672 |
background-color : @yobi-btn-danger !important; |
673 | 673 |
border:1px solid @yobi-btn-danger-hover; |
674 |
- |
|
675 |
- &:hover, &:focus { |
|
676 |
- background-color: @yobi-btn-danger-hover !important; |
|
674 |
+ |
|
675 |
+ &:hover, &:focus { |
|
676 |
+ background-color: @yobi-btn-danger-hover !important; |
|
677 | 677 |
} |
678 | 678 |
} |
679 | 679 |
|
... | ... | @@ -681,15 +681,15 @@ |
681 | 681 |
background-color : @yobi-btn-inverse !important; |
682 | 682 |
border:1px solid @yobi-btn-inverse-hover; |
683 | 683 |
|
684 |
- &:hover, &:focus { |
|
685 |
- background-color: @yobi-btn-inverse-hover !important; |
|
684 |
+ &:hover, &:focus { |
|
685 |
+ background-color: @yobi-btn-inverse-hover !important; |
|
686 | 686 |
} |
687 | 687 |
} |
688 | 688 |
|
689 | 689 |
&.ybtn-transparent { |
690 | 690 |
background-color : rgba(0,0,0, 0.25); |
691 |
- |
|
692 |
- &:hover, &:focus { |
|
691 |
+ |
|
692 |
+ &:hover, &:focus { |
|
693 | 693 |
background-color: rgba(0,0,0, 0.45); |
694 | 694 |
} |
695 | 695 |
} |
... | ... | @@ -699,8 +699,8 @@ |
699 | 699 |
border:none; |
700 | 700 |
color:#FFF; |
701 | 701 |
|
702 |
- &:hover, &:focus { |
|
703 |
- background-color: @yobi-btn-disabled-hover !important; |
|
702 |
+ &:hover, &:focus { |
|
703 |
+ background-color: @yobi-btn-disabled-hover !important; |
|
704 | 704 |
} |
705 | 705 |
} |
706 | 706 |
|
... | ... | @@ -708,17 +708,17 @@ |
708 | 708 |
background-color : @yobi-btn-success !important; |
709 | 709 |
border:1px solid @yobi-btn-success-hover; |
710 | 710 |
|
711 |
- &:hover, &:focus { |
|
712 |
- background-color: @yobi-btn-success-hover !important; |
|
711 |
+ &:hover, &:focus { |
|
712 |
+ background-color: @yobi-btn-success-hover !important; |
|
713 | 713 |
} |
714 | 714 |
} |
715 | 715 |
|
716 | 716 |
&.ybtn-unwatching { |
717 | 717 |
background-color : @yobi-btn-disabled !important; |
718 | 718 |
border:none; |
719 |
- |
|
720 |
- &:hover, &:focus { |
|
721 |
- background-color: !important; |
|
719 |
+ |
|
720 |
+ &:hover, &:focus { |
|
721 |
+ background-color: !important; |
|
722 | 722 |
} |
723 | 723 |
} |
724 | 724 |
|
... | ... | @@ -878,7 +878,7 @@ |
878 | 878 |
padding-top: 5px; |
879 | 879 |
} |
880 | 880 |
} |
881 |
- |
|
881 |
+ |
|
882 | 882 |
&.active, &:selected { |
883 | 883 |
> a { |
884 | 884 |
background: rgba(255,255,255,0.25); |
... | ... | @@ -897,7 +897,7 @@ |
897 | 897 |
padding-left: 11px; |
898 | 898 |
padding-right: 11px; |
899 | 899 |
} |
900 |
- |
|
900 |
+ |
|
901 | 901 |
&.divider { |
902 | 902 |
margin-left: 11px; |
903 | 903 |
margin-right: 11px; |
... | ... | @@ -915,14 +915,14 @@ |
915 | 915 |
margin-top: 0px; |
916 | 916 |
} |
917 | 917 |
} |
918 |
- |
|
918 |
+ |
|
919 | 919 |
> a { |
920 | 920 |
.border-radius(3px); |
921 | 921 |
color:#292929; |
922 | 922 |
padding: 3px 20px 5px; |
923 | 923 |
background-color:transparent !important; |
924 | 924 |
.transition(all 0.2s ease); |
925 |
- |
|
925 |
+ |
|
926 | 926 |
|
927 | 927 |
&:hover, &:active, &:focus { |
928 | 928 |
.border-radius(3px) !important; |
... | ... | @@ -941,7 +941,7 @@ |
941 | 941 |
height:auto; |
942 | 942 |
} |
943 | 943 |
} |
944 |
- |
|
944 |
+ |
|
945 | 945 |
.disabled { |
946 | 946 |
color:#ccc; |
947 | 947 |
font-size:0.8em; |
... | ... | @@ -1004,9 +1004,9 @@ |
1004 | 1004 |
* http://www.apache.org/licenses/LICENSE-2.0 |
1005 | 1005 |
* ============================================================ */ |
1006 | 1006 |
/** |
1007 |
- * Flat UI Free |
|
1007 |
+ * Flat UI Free |
|
1008 | 1008 |
* licensed under a CC BY 3.0 and MIT License |
1009 |
- * |
|
1009 |
+ * |
|
1010 | 1010 |
* http://creativecommons.org/licenses/by/3.0/ |
1011 | 1011 |
* http://opensource.org/licenses/mit-license.html |
1012 | 1012 |
*/ |
... | ... | @@ -1150,7 +1150,7 @@ |
1150 | 1150 |
.border-radius(3px); |
1151 | 1151 |
line-height:20px; |
1152 | 1152 |
display:inline-block; |
1153 |
- |
|
1153 |
+ |
|
1154 | 1154 |
.textbox { |
1155 | 1155 |
border:0 none; |
1156 | 1156 |
height: 20px; |
--- app/controllers/AbstractPostingApp.java
+++ app/controllers/AbstractPostingApp.java
... | ... | @@ -63,7 +63,7 @@ |
63 | 63 |
public Set<User> getReceivers(); |
64 | 64 |
public String getMessage(); |
65 | 65 |
public String getUrlToView(); |
66 |
- |
|
66 |
+ |
|
67 | 67 |
} |
68 | 68 |
|
69 | 69 |
protected static abstract class AbstractNotification implements Notification { |
... | ... | @@ -97,7 +97,7 @@ |
97 | 97 |
public User getSender() { |
98 | 98 |
return sender; |
99 | 99 |
} |
100 |
- |
|
100 |
+ |
|
101 | 101 |
public String getTitle() { |
102 | 102 |
return title; |
103 | 103 |
} |
... | ... | @@ -201,11 +201,11 @@ |
201 | 201 |
try { |
202 | 202 |
email.setFrom(Config.getEmailFromSmtp(), noti.getSender().name); |
203 | 203 |
email.addTo(Config.getEmailFromSmtp(), "Yobi"); |
204 |
- |
|
204 |
+ |
|
205 | 205 |
for (User receiver : receivers) { |
206 | 206 |
email.addBcc(receiver.email, receiver.name); |
207 | 207 |
} |
208 |
- |
|
208 |
+ |
|
209 | 209 |
email.setSubject(noti.getTitle()); |
210 | 210 |
email.setHtmlMsg(noti.getHtmlMessage()); |
211 | 211 |
email.setTextMsg(noti.getPlainMessage()); |
... | ... | @@ -240,9 +240,9 @@ |
240 | 240 |
// XHR 호출에 의한 경우라면 204 No Content 와 Location 헤더로 응답한다 |
241 | 241 |
if(HttpUtil.isRequestedWithXHR(request())){ |
242 | 242 |
response().setHeader("Location", redirectTo.absoluteURL(request())); |
243 |
- return status(204); |
|
243 |
+ return status(204); |
|
244 | 244 |
} |
245 |
- |
|
245 |
+ |
|
246 | 246 |
return redirect(redirectTo); |
247 | 247 |
} |
248 | 248 |
|
--- app/controllers/BoardApp.java
+++ app/controllers/BoardApp.java
... | ... | @@ -130,14 +130,14 @@ |
130 | 130 |
if (postForm.hasErrors()) { |
131 | 131 |
boolean isAllowedToNotice = ProjectUser.isAllowedToNotice(UserApp.currentUser(), project); |
132 | 132 |
return badRequest(create.render("error.validation", postForm, project, isAllowedToNotice)); |
133 |
- } |
|
133 |
+ } |
|
134 | 134 |
|
135 | 135 |
final Posting post = postForm.get(); |
136 | 136 |
post.createdDate = JodaDateUtil.now(); |
137 | 137 |
post.updatedDate = JodaDateUtil.now(); |
138 | 138 |
post.setAuthor(UserApp.currentUser()); |
139 | 139 |
post.project = project; |
140 |
- |
|
140 |
+ |
|
141 | 141 |
post.save(); |
142 | 142 |
|
143 | 143 |
// Attach all of the files in the current user's temporary storage. |
... | ... | @@ -265,12 +265,12 @@ |
265 | 265 |
if (project == null) { |
266 | 266 |
return notFound(ErrorViews.NotFound.render("error.notfound")); |
267 | 267 |
} |
268 |
- |
|
268 |
+ |
|
269 | 269 |
if (postForm.hasErrors()) { |
270 | 270 |
boolean isAllowedToNotice = ProjectUser.isAllowedToNotice(UserApp.currentUser(), project); |
271 | 271 |
return badRequest(edit.render("error.validation", postForm, Posting.findByNumber(project, number), number, project, isAllowedToNotice)); |
272 | 272 |
} |
273 |
- |
|
273 |
+ |
|
274 | 274 |
final Posting post = postForm.get(); |
275 | 275 |
final Posting original = Posting.findByNumber(project, number); |
276 | 276 |
Call redirectTo = routes.BoardApp.post(project.owner, project.name, number); |
--- app/controllers/CodeApp.java
+++ app/controllers/CodeApp.java
... | ... | @@ -32,7 +32,7 @@ |
32 | 32 |
|
33 | 33 |
/** |
34 | 34 |
* 기본 코드 브라우저 표시 |
35 |
- * |
|
35 |
+ * |
|
36 | 36 |
* @param userName 프로젝트 소유자 이름 |
37 | 37 |
* @param projectName 프로젝트 이름 |
38 | 38 |
*/ |
... | ... | @@ -61,10 +61,10 @@ |
61 | 61 |
|
62 | 62 |
return redirect(routes.CodeApp.codeBrowserWithBranch(userName, projectName, "HEAD", "")); |
63 | 63 |
} |
64 |
- |
|
64 |
+ |
|
65 | 65 |
/** |
66 | 66 |
* 브랜치, 파일 경로를 인자로 받는 코드 브라우저 표시 |
67 |
- * |
|
67 |
+ * |
|
68 | 68 |
* @param userName 프로젝트 소유자 이름 |
69 | 69 |
* @param projectName 프로젝트 이름 |
70 | 70 |
* @param branch 브랜치 이름 |
... | ... | @@ -84,19 +84,19 @@ |
84 | 84 |
|
85 | 85 |
List<ObjectNode> recursiveData = new ArrayList<ObjectNode>(); |
86 | 86 |
List<String> branches = repository.getBranches(); |
87 |
- |
|
87 |
+ |
|
88 | 88 |
/** 해당 경로가 폴더이고 최상위가 아니면, 최상위 경로부터 순서대로 정보를 추가한다 **/ |
89 | 89 |
if(fileInfo.get("type").getTextValue().equals("folder") && !path.equals("")){ |
90 | 90 |
recursiveData.addAll(RepositoryService.getMetaDataFromAncestorDirectories(repository, branch, path)); |
91 | 91 |
} |
92 | 92 |
recursiveData.add(fileInfo); |
93 |
- |
|
93 |
+ |
|
94 | 94 |
return ok(view.render(project, branches, recursiveData, branch, path)); |
95 | 95 |
} |
96 |
- |
|
96 |
+ |
|
97 | 97 |
/** |
98 | 98 |
* AJAX 호출로 지정한 프로젝트 지정한 경로의 정보를 얻고자 할 때 사용된다 |
99 |
- * |
|
99 |
+ * |
|
100 | 100 |
* @param userName 프로젝트 소유자 이름 |
101 | 101 |
* @param projectName 프로젝트 이름 |
102 | 102 |
* @param path 파일 또는 폴더의 경로 |
... | ... | @@ -111,10 +111,10 @@ |
111 | 111 |
return notFound(); |
112 | 112 |
} |
113 | 113 |
} |
114 |
- |
|
114 |
+ |
|
115 | 115 |
/** |
116 | 116 |
* AJAX 호출로 지정한 프로젝트의 특정 브랜치에서 지정한 경로의 정보를 얻고자 할 때 사용된다 |
117 |
- * |
|
117 |
+ * |
|
118 | 118 |
* @param userName 프로젝트 소유자 이름 |
119 | 119 |
* @param projectName 프로젝트 이름 |
120 | 120 |
* @param branch 브랜치 이름 |
... | ... | @@ -135,7 +135,7 @@ |
135 | 135 |
|
136 | 136 |
/** |
137 | 137 |
* 지정한 프로젝트의 지정한 파일의 원본을 보여준다 |
138 |
- * |
|
138 |
+ * |
|
139 | 139 |
* @param userName |
140 | 140 |
* @param projectName |
141 | 141 |
* @param revision |
... | ... | @@ -151,7 +151,7 @@ |
151 | 151 |
|
152 | 152 |
/** |
153 | 153 |
* 지정판 프로젝트의 지정한 이미지 파일 원본을 보여준다 |
154 |
- * |
|
154 |
+ * |
|
155 | 155 |
* @param userName |
156 | 156 |
* @param projectName |
157 | 157 |
* @param path |
... | ... | @@ -166,8 +166,8 @@ |
166 | 166 |
|
167 | 167 |
/** |
168 | 168 |
* 프로젝트의 저장소 URL을 반환하는 함수 |
169 |
- * 화면에 저장소 URL을 표시하기 위해 사용된다 |
|
170 |
- * |
|
169 |
+ * 화면에 저장소 URL을 표시하기 위해 사용된다 |
|
170 |
+ * |
|
171 | 171 |
* @param ownerName |
172 | 172 |
* @param projectName |
173 | 173 |
*/ |
... | ... | @@ -192,7 +192,7 @@ |
192 | 192 |
* 현재 로그인 된 사용자 정보가 있으면 |
193 | 193 |
* 프로젝트 저장소 URL에 사용자 ID를 포함해서 반환한다 |
194 | 194 |
* 예: protocol://user@host.name/path |
195 |
- * |
|
195 |
+ * |
|
196 | 196 |
* @param project |
197 | 197 |
*/ |
198 | 198 |
public static String getURLWithLoginId(Project project) { |
--- app/controllers/IssueApp.java
+++ app/controllers/IssueApp.java
... | ... | @@ -55,9 +55,9 @@ |
55 | 55 |
* @throws IOException |
56 | 56 |
*/ |
57 | 57 |
public static Result issues(String ownerName, String projectName, String state, String format, int pageNum) throws WriteException, IOException { |
58 |
- |
|
58 |
+ |
|
59 | 59 |
String pjax = request().getHeader("X-PJAX"); |
60 |
- |
|
60 |
+ |
|
61 | 61 |
Project project = ProjectApp.getProject(ownerName, projectName); |
62 | 62 |
if (project == null) { |
63 | 63 |
return notFound(ErrorViews.NotFound.render("error.notfound")); |
... | ... | @@ -101,7 +101,7 @@ |
101 | 101 |
if(HttpUtil.isRequestedWithXHR(request())){ // not pjax but xhr |
102 | 102 |
List<Issue> issueList = el.findList(); |
103 | 103 |
ObjectNode listData = Json.newObject(); |
104 |
- |
|
104 |
+ |
|
105 | 105 |
if(issueList.size() > 0){ |
106 | 106 |
for (int i = 0; i < Math.min(issueList.size(), 3); i++) { |
107 | 107 |
ObjectNode result = Json.newObject(); |
... | ... | @@ -112,7 +112,7 @@ |
112 | 112 |
result.put("state", issue.state.toString()); |
113 | 113 |
result.put("createdDate", issue.createdDate.toString()); |
114 | 114 |
result.put("link", routes.IssueApp.issue(project.owner, project.name, issueId).toString()); |
115 |
- |
|
115 |
+ |
|
116 | 116 |
listData.put(issue.id.toString(), result); |
117 | 117 |
} |
118 | 118 |
} |
... | ... | @@ -333,7 +333,7 @@ |
333 | 333 |
newIssue.project = project; |
334 | 334 |
|
335 | 335 |
newIssue.state = State.OPEN; |
336 |
- |
|
336 |
+ |
|
337 | 337 |
addLabels(newIssue, request()); |
338 | 338 |
setMilestone(issueForm, newIssue); |
339 | 339 |
|
... | ... | @@ -447,14 +447,14 @@ |
447 | 447 |
if (project == null) { |
448 | 448 |
return notFound(ErrorViews.NotFound.render("error.notfound")); |
449 | 449 |
} |
450 |
- |
|
450 |
+ |
|
451 | 451 |
if (issueForm.hasErrors()) { |
452 | 452 |
return badRequest(edit.render("error.validation", issueForm, Issue.findByNumber(project, number), project)); |
453 | 453 |
} |
454 |
- |
|
454 |
+ |
|
455 | 455 |
final Issue issue = issueForm.get(); |
456 | 456 |
setMilestone(issueForm, issue); |
457 |
- |
|
457 |
+ |
|
458 | 458 |
final Issue originalIssue = Issue.findByNumber(project, number); |
459 | 459 |
|
460 | 460 |
Call redirectTo = routes.IssueApp.issue(project.owner, project.name, number); |
... | ... | @@ -686,7 +686,7 @@ |
686 | 686 |
if (issue.labels == null) { |
687 | 687 |
issue.labels = new HashSet<IssueLabel>(); |
688 | 688 |
} |
689 |
- |
|
689 |
+ |
|
690 | 690 |
Http.MultipartFormData multipart = request.body().asMultipartFormData(); |
691 | 691 |
Map<String, String[]> form; |
692 | 692 |
if (multipart != null) { |
--- app/controllers/MilestoneApp.java
+++ app/controllers/MilestoneApp.java
... | ... | @@ -235,9 +235,9 @@ |
235 | 235 |
// XHR 호출에 의한 경우라면 204 No Content 와 Location 헤더로 응답한다 |
236 | 236 |
if(HttpUtil.isRequestedWithXHR(request())){ |
237 | 237 |
response().setHeader("Location", routes.MilestoneApp.milestones(userName, projectName).toString()); |
238 |
- return status(204); |
|
238 |
+ return status(204); |
|
239 | 239 |
} |
240 |
- |
|
240 |
+ |
|
241 | 241 |
return redirect(routes.MilestoneApp.milestones(userName, projectName)); |
242 | 242 |
} |
243 | 243 |
|
... | ... | @@ -306,14 +306,14 @@ |
306 | 306 |
return notFound(ErrorViews.NotFound.render("error.notfound")); |
307 | 307 |
} |
308 | 308 |
Milestone milestone = Milestone.findById(id); |
309 |
- |
|
309 |
+ |
|
310 | 310 |
if(milestone == null) { |
311 | 311 |
return notFound(ErrorViews.NotFound.render("error.notfound")); |
312 | 312 |
} |
313 |
- |
|
313 |
+ |
|
314 | 314 |
String paramState = request().getQueryString("state"); |
315 | 315 |
State state = State.getValue(paramState); |
316 |
- |
|
316 |
+ |
|
317 | 317 |
return ok(view.render(milestone.title, milestone, project, state)); |
318 | 318 |
} |
319 | 319 |
} |
--- app/controllers/PlayDAVConfig.java
+++ app/controllers/PlayDAVConfig.java
... | ... | @@ -7,7 +7,7 @@ |
7 | 7 |
public class PlayDAVConfig extends DAVConfig { |
8 | 8 |
public PlayDAVConfig() { |
9 | 9 |
} |
10 |
- |
|
10 |
+ |
|
11 | 11 |
public String getRepositoryParentPath() { |
12 | 12 |
return new File("repo/svn").getAbsolutePath(); |
13 | 13 |
} |
--- app/models/AbstractPosting.java
+++ app/models/AbstractPosting.java
... | ... | @@ -46,7 +46,7 @@ |
46 | 46 |
@Constraints.Required |
47 | 47 |
@Formats.DateTime(pattern = "YYYY/MM/DD/hh/mm/ss") |
48 | 48 |
public Date createdDate; |
49 |
- |
|
49 |
+ |
|
50 | 50 |
@Constraints.Required |
51 | 51 |
@Formats.DateTime(pattern = "YYYY/MM/DD/hh/mm/ss") |
52 | 52 |
public Date updatedDate; |
... | ... | @@ -139,8 +139,8 @@ |
139 | 139 |
numOfComments = computeNumOfComments(); |
140 | 140 |
super.update(); |
141 | 141 |
} |
142 |
- |
|
143 |
- |
|
142 |
+ |
|
143 |
+ |
|
144 | 144 |
public void updateNumber() { |
145 | 145 |
number = increaseNumber(); |
146 | 146 |
super.update(); |
--- app/models/CommitComment.java
+++ app/models/CommitComment.java
... | ... | @@ -15,7 +15,7 @@ |
15 | 15 |
public static final Finder<Long, CommitComment> find = new Finder<>(Long.class, CommitComment.class); |
16 | 16 |
|
17 | 17 |
public List<CommitComment> replies = new ArrayList<>(); |
18 |
- |
|
18 |
+ |
|
19 | 19 |
public CommitComment() { |
20 | 20 |
super(); |
21 | 21 |
} |
... | ... | @@ -87,7 +87,7 @@ |
87 | 87 |
* CommitComment의 groupKey를 반환한다. |
88 | 88 |
* commitId, path, line정보를 조한한 키가 일치할 경우 동일한 내용에 대한 |
89 | 89 |
* 코멘트로 간주한다. |
90 |
- * |
|
90 |
+ * |
|
91 | 91 |
* @return |
92 | 92 |
*/ |
93 | 93 |
public String groupKey() { |
--- app/models/NotificationEvent.java
+++ app/models/NotificationEvent.java
... | ... | @@ -282,13 +282,13 @@ |
282 | 282 |
notiEvent.newValue = pullRequest.body; |
283 | 283 |
|
284 | 284 |
NotificationEvent.add(notiEvent); |
285 |
- |
|
285 |
+ |
|
286 | 286 |
return notiEvent; |
287 | 287 |
} |
288 |
- |
|
288 |
+ |
|
289 | 289 |
/** |
290 | 290 |
* 보낸코드의 상태가 변경되었을때의 알림 설정 |
291 |
- * |
|
291 |
+ * |
|
292 | 292 |
* @param pullRequestCall |
293 | 293 |
* @param request |
294 | 294 |
* @param pullRequest |
... | ... | @@ -315,10 +315,10 @@ |
315 | 315 |
notiEvent.newValue = newState.state(); |
316 | 316 |
|
317 | 317 |
add(notiEvent); |
318 |
- |
|
318 |
+ |
|
319 | 319 |
return notiEvent; |
320 | 320 |
} |
321 |
- |
|
321 |
+ |
|
322 | 322 |
/** |
323 | 323 |
* 보낸 코드의 병합 결과 알림 설정 |
324 | 324 |
* @param sender |
... | ... | @@ -329,7 +329,7 @@ |
329 | 329 |
* @return |
330 | 330 |
*/ |
331 | 331 |
public static NotificationEvent addPullRequestMerge(User sender, PullRequest pullRequest, GitConflicts conflicts, Request request, State state) { |
332 |
- |
|
332 |
+ |
|
333 | 333 |
String title = NotificationEvent.formatReplyTitle(pullRequest); |
334 | 334 |
Resource resource = pullRequest.asResource(); |
335 | 335 |
Set<User> receivers = new HashSet<>(); |
... | ... | @@ -347,13 +347,13 @@ |
347 | 347 |
notiEvent.resourceType = resource.getType(); |
348 | 348 |
notiEvent.eventType = EventType.PULL_REQUEST_MERGED; |
349 | 349 |
notiEvent.newValue = state.state(); |
350 |
- |
|
350 |
+ |
|
351 | 351 |
if (conflicts != null) { |
352 |
- notiEvent.oldValue = StringUtils.join(conflicts.conflictFiles, "\n"); |
|
352 |
+ notiEvent.oldValue = StringUtils.join(conflicts.conflictFiles, "\n"); |
|
353 | 353 |
} |
354 | 354 |
|
355 | 355 |
add(notiEvent); |
356 |
- |
|
356 |
+ |
|
357 | 357 |
return notiEvent; |
358 | 358 |
} |
359 | 359 |
} |
--- app/models/PullRequest.java
+++ app/models/PullRequest.java
... | ... | @@ -92,16 +92,16 @@ |
92 | 92 |
public Date received; |
93 | 93 |
|
94 | 94 |
public State state = State.OPEN; |
95 |
- |
|
95 |
+ |
|
96 | 96 |
public Boolean isConflict; |
97 | 97 |
public Boolean isMerging; |
98 |
- |
|
98 |
+ |
|
99 | 99 |
@OneToMany(cascade = CascadeType.ALL) |
100 | 100 |
public List<PullRequestCommit> pullRequestCommits; |
101 |
- |
|
101 |
+ |
|
102 | 102 |
@OneToMany(cascade = CascadeType.ALL) |
103 | 103 |
public List<PullRequestEvent> pullRequestEvents; |
104 |
- |
|
104 |
+ |
|
105 | 105 |
/** |
106 | 106 |
* {@link #fromBranch}의 가장 최근 커밋 ID |
107 | 107 |
* |
... | ... | @@ -161,7 +161,7 @@ |
161 | 161 |
", state=" + state + |
162 | 162 |
'}'; |
163 | 163 |
} |
164 |
- |
|
164 |
+ |
|
165 | 165 |
public Duration createdAgo() { |
166 | 166 |
return JodaDateUtil.ago(this.created); |
167 | 167 |
} |
... | ... | @@ -169,7 +169,7 @@ |
169 | 169 |
public Duration receivedAgo() { |
170 | 170 |
return JodaDateUtil.ago(this.received); |
171 | 171 |
} |
172 |
- |
|
172 |
+ |
|
173 | 173 |
public boolean isOpen() { |
174 | 174 |
return this.state == State.OPEN; |
175 | 175 |
} |
... | ... | @@ -265,7 +265,7 @@ |
265 | 265 |
/** |
266 | 266 |
* 보내거나 받는 쪽에 |
267 | 267 |
* {@code project} 의 {@code branch} 를 가지고 있는 pull-request 목록 조회 |
268 |
- * |
|
268 |
+ * |
|
269 | 269 |
* 병합(Closed)되지 않은 모든 보낸코드를 조회한다. |
270 | 270 |
* |
271 | 271 |
* @param project |
... | ... | @@ -568,7 +568,7 @@ |
568 | 568 |
deleteIssueEvents(); |
569 | 569 |
super.delete(); |
570 | 570 |
} |
571 |
- |
|
571 |
+ |
|
572 | 572 |
@Transient |
573 | 573 |
public String[] getConflictFiles() { |
574 | 574 |
return StringUtils.split(this.conflictFiles, ","); |
... | ... | @@ -582,7 +582,7 @@ |
582 | 582 |
public List<CommitComment> getCommitComments() { |
583 | 583 |
return CommitComment.findByCommits(fromProject, pullRequestCommits); |
584 | 584 |
} |
585 |
- |
|
585 |
+ |
|
586 | 586 |
/** |
587 | 587 |
* 현재 커밋목록을 반환한다. |
588 | 588 |
* @return |
... | ... | @@ -591,15 +591,15 @@ |
591 | 591 |
public List<PullRequestCommit> getCurrentCommits() { |
592 | 592 |
return PullRequestCommit.getCurrentCommits(this); |
593 | 593 |
} |
594 |
- |
|
594 |
+ |
|
595 | 595 |
/** |
596 | 596 |
* pull request의 모든 코멘트 정보를 가져오고 시간순으로 정렬 후 반환한다. (코멘트 + 코드코멘트 + 이벤트 ) |
597 |
- * |
|
597 |
+ * |
|
598 | 598 |
* @return |
599 | 599 |
*/ |
600 | 600 |
@Transient |
601 | 601 |
public List<TimelineItem> getTimelineComments() { |
602 |
- List<CommitComment> commitComment |
|
602 |
+ List<CommitComment> commitComment |
|
603 | 603 |
= computeCommitCommentReplies(getCommitComments()); |
604 | 604 |
|
605 | 605 |
List<TimelineItem> timelineComments = new ArrayList<>(); |
... | ... | @@ -630,10 +630,10 @@ |
630 | 630 |
|
631 | 631 |
/** |
632 | 632 |
* 답글목록을 부모글의 필드로 재할당한다. |
633 |
- * |
|
633 |
+ * |
|
634 | 634 |
* commentGroup은 등록일순으로 오름차순 정렬되어 있는 상태이며 |
635 | 635 |
* 목록의 첫번째 코멘트를 부모글로 판단한다. |
636 |
- * |
|
636 |
+ * |
|
637 | 637 |
* @param commentGroup |
638 | 638 |
* @return |
639 | 639 |
*/ |
... | ... | @@ -706,7 +706,7 @@ |
706 | 706 |
|
707 | 707 |
/** |
708 | 708 |
* 보낸 코드를 병합해보고 결과 정보를 반환한다. |
709 |
- * |
|
709 |
+ * |
|
710 | 710 |
* @param pullRequest |
711 | 711 |
* @return |
712 | 712 |
*/ |
... | ... | @@ -714,19 +714,19 @@ |
714 | 714 |
final GitConflicts[] conflicts = {null}; |
715 | 715 |
final List<GitCommit> commits = new ArrayList<>(); |
716 | 716 |
final PullRequest pullRequest = this; |
717 |
- |
|
717 |
+ |
|
718 | 718 |
GitRepository.cloneAndFetch(pullRequest, new AfterCloneAndFetchOperation() { |
719 | 719 |
@Override |
720 | 720 |
public void invoke(CloneAndFetch cloneAndFetch) throws IOException, GitAPIException { |
721 | 721 |
Repository clonedRepository = cloneAndFetch.getRepository(); |
722 |
- |
|
722 |
+ |
|
723 | 723 |
List<GitCommit> commitList = GitRepository.diffCommits(clonedRepository, |
724 | 724 |
cloneAndFetch.getDestFromBranchName(), cloneAndFetch.getDestToBranchName()); |
725 | 725 |
|
726 | 726 |
for (GitCommit gitCommit : commitList) { |
727 | 727 |
commits.add(gitCommit); |
728 | 728 |
} |
729 |
- |
|
729 |
+ |
|
730 | 730 |
GitRepository.checkout(clonedRepository, cloneAndFetch.getDestToBranchName()); |
731 | 731 |
|
732 | 732 |
String mergedCommitIdFrom = null; |
... | ... | @@ -746,7 +746,7 @@ |
746 | 746 |
} |
747 | 747 |
} |
748 | 748 |
}); |
749 |
- |
|
749 |
+ |
|
750 | 750 |
PullRequestMergeResult pullRequestMergeResult = new PullRequestMergeResult(); |
751 | 751 |
pullRequestMergeResult.setGitCommits(commits); |
752 | 752 |
pullRequestMergeResult.setGitConflicts(conflicts[0]); |
... | ... | @@ -754,16 +754,16 @@ |
754 | 754 |
|
755 | 755 |
return pullRequestMergeResult; |
756 | 756 |
} |
757 |
- |
|
757 |
+ |
|
758 | 758 |
/** |
759 |
- * project/branch와 연관된 보낸코드들의 상태를 병합중으로 수정한다. |
|
760 |
- * |
|
759 |
+ * project/branch와 연관된 보낸코드들의 상태를 병합중으로 수정한다. |
|
760 |
+ * |
|
761 | 761 |
* @param project |
762 | 762 |
* @param branch |
763 | 763 |
*/ |
764 | 764 |
public static void changeStateToMergingRelatedPullRequests(Project project, String branch) { |
765 | 765 |
List<PullRequest> pullRequests = PullRequest.findRelatedPullRequests(project, branch); |
766 |
- |
|
766 |
+ |
|
767 | 767 |
for (PullRequest pullRequest : pullRequests) { |
768 | 768 |
if (!pullRequest.isClosed()) { |
769 | 769 |
pullRequest.startMerge(); |
--- app/models/PullRequestCommit.java
+++ app/models/PullRequestCommit.java
... | ... | @@ -15,7 +15,7 @@ |
15 | 15 |
import utils.JodaDateUtil; |
16 | 16 |
|
17 | 17 |
/** |
18 |
- * |
|
18 |
+ * |
|
19 | 19 |
* 보낸코드 커밋정보 저장 |
20 | 20 |
*/ |
21 | 21 |
@Entity |
... | ... | @@ -24,39 +24,39 @@ |
24 | 24 |
private static final long serialVersionUID = -4343181252386722689L; |
25 | 25 |
|
26 | 26 |
public static Finder<Long, PullRequestCommit> find = new Finder<>(Long.class, PullRequestCommit.class); |
27 |
- |
|
28 |
- @Id |
|
27 |
+ |
|
28 |
+ @Id |
|
29 | 29 |
public String id; |
30 |
- |
|
30 |
+ |
|
31 | 31 |
@ManyToOne |
32 | 32 |
public PullRequest pullRequest; |
33 |
- |
|
33 |
+ |
|
34 | 34 |
public String commitId; |
35 | 35 |
public Date authorDate; |
36 | 36 |
public Date created; |
37 | 37 |
public String commitMessage; |
38 | 38 |
public String commitShortId; |
39 | 39 |
public String authorEmail; |
40 |
- |
|
40 |
+ |
|
41 | 41 |
@Enumerated(EnumType.STRING) |
42 | 42 |
public State state; |
43 |
- |
|
43 |
+ |
|
44 | 44 |
public String getAuthorEmail() { |
45 | 45 |
return authorEmail; |
46 | 46 |
} |
47 |
- |
|
47 |
+ |
|
48 | 48 |
public Date getAuthorDate() { |
49 | 49 |
return authorDate; |
50 | 50 |
} |
51 |
- |
|
51 |
+ |
|
52 | 52 |
public String getCommitMessage() { |
53 | 53 |
return commitMessage; |
54 | 54 |
} |
55 |
- |
|
55 |
+ |
|
56 | 56 |
public String getCommitId() { |
57 | 57 |
return commitId; |
58 | 58 |
} |
59 |
- |
|
59 |
+ |
|
60 | 60 |
public String getCommitShortId() { |
61 | 61 |
return commitShortId; |
62 | 62 |
} |
... | ... | @@ -66,15 +66,15 @@ |
66 | 66 |
public Date getDate() { |
67 | 67 |
return created; |
68 | 68 |
} |
69 |
- |
|
69 |
+ |
|
70 | 70 |
public static State getStateByCommitId(PullRequest pullRequest, String commitId) { |
71 | 71 |
return find.select("state").where().eq("pullRequest", pullRequest).eq("commitId", commitId).findUnique().state; |
72 | 72 |
} |
73 |
- |
|
73 |
+ |
|
74 | 74 |
public static PullRequestCommit findById(String id) { |
75 | 75 |
return find.byId(Long.parseLong(id)); |
76 | 76 |
} |
77 |
- |
|
77 |
+ |
|
78 | 78 |
public static List<PullRequestCommit> getCurrentCommits(PullRequest pullRequest) { |
79 | 79 |
return find.where().eq("pullRequest", pullRequest).eq("state", State.CURRENT).findList(); |
80 | 80 |
} |
... | ... | @@ -82,7 +82,7 @@ |
82 | 82 |
public static List<PullRequestCommit> getPriorCommits(PullRequest pullRequest) { |
83 | 83 |
return find.where().eq("pullRequest", pullRequest).eq("state", State.PRIOR).findList(); |
84 | 84 |
} |
85 |
- |
|
85 |
+ |
|
86 | 86 |
public static PullRequestCommit bindPullRequestCommit(GitCommit commit, PullRequest pullRequest) { |
87 | 87 |
PullRequestCommit pullRequestCommit = new PullRequestCommit(); |
88 | 88 |
pullRequestCommit.commitId = commit.getId(); |
... | ... | @@ -90,10 +90,10 @@ |
90 | 90 |
pullRequestCommit.commitMessage = commit.getMessage(); |
91 | 91 |
pullRequestCommit.authorEmail = commit.getAuthorEmail(); |
92 | 92 |
pullRequestCommit.authorDate = commit.getAuthorDate(); |
93 |
- pullRequestCommit.created = JodaDateUtil.now(); |
|
93 |
+ pullRequestCommit.created = JodaDateUtil.now(); |
|
94 | 94 |
pullRequestCommit.state = PullRequestCommit.State.CURRENT; |
95 | 95 |
pullRequestCommit.pullRequest = pullRequest; |
96 |
- |
|
96 |
+ |
|
97 | 97 |
return pullRequestCommit; |
98 | 98 |
} |
99 | 99 |
public enum State { |
--- app/models/PullRequestEvent.java
+++ app/models/PullRequestEvent.java
... | ... | @@ -24,28 +24,28 @@ |
24 | 24 |
*/ |
25 | 25 |
@Entity |
26 | 26 |
public class PullRequestEvent extends Model implements TimelineItem { |
27 |
- |
|
27 |
+ |
|
28 | 28 |
private static final long serialVersionUID = 1981361242582594128L; |
29 |
- public static Finder<Long, PullRequestEvent> finder = new Finder<Long, PullRequestEvent>(Long.class, PullRequestEvent.class); |
|
30 |
- |
|
29 |
+ public static Finder<Long, PullRequestEvent> finder = new Finder<Long, PullRequestEvent>(Long.class, PullRequestEvent.class); |
|
30 |
+ |
|
31 | 31 |
@Id |
32 | 32 |
public Long id; |
33 | 33 |
public String senderLoginId; |
34 |
- |
|
34 |
+ |
|
35 | 35 |
@ManyToOne |
36 | 36 |
public PullRequest pullRequest; |
37 |
- |
|
37 |
+ |
|
38 | 38 |
@Enumerated(EnumType.STRING) |
39 | 39 |
public EventType eventType; |
40 |
- |
|
40 |
+ |
|
41 | 41 |
public Date created; |
42 |
- |
|
42 |
+ |
|
43 | 43 |
public String oldValue; |
44 | 44 |
public String newValue; |
45 |
- |
|
45 |
+ |
|
46 |