[Notice] Announcing the End of Demo Server [Read me]

apply markup at newProject and signup
@5c7823d7f0613439db9788ca0420ff56642ebe8f
--- app/views/home.scala.html
+++ app/views/home.scala.html
... | ... | @@ -5,7 +5,7 @@ |
5 | 5 |
<div class="container page-wrap"> |
6 | 6 |
@views.html.alert() |
7 | 7 |
@content |
8 |
- </div> |
|
8 |
+ </div> |
|
9 | 9 |
<footer class="page-footer-outer"> |
10 | 10 |
<div class="page-footer"> |
11 | 11 |
<span class="provider">Powered by <strong>nFORGE.</strong></span> |
--- app/views/index.scala.html
+++ app/views/index.scala.html
... | ... | @@ -1,22 +1,14 @@ |
1 | 1 |
@(projects:List[Project]) |
2 | 2 |
|
3 | 3 |
@home("Welcome to nForge") { |
4 |
- @if(session.contains("userId")){ |
|
5 |
- <div class="page"> |
|
6 |
- } else { |
|
7 |
- <div class="page full"> |
|
8 |
- } |
|
4 |
+ <div class="page@if(!session.contains("userId")){ full}"> |
|
9 | 5 |
<div class="center-wrap tag-line-wrap"> |
10 | 6 |
<h1 class="title"><span class="high-light">Open Source</span> N4</h1> |
11 | 7 |
<p class="tag-line">Software development platform for Open Source project.</p> |
12 | 8 |
</div> |
13 |
- @if(session.contains("userId")){ |
|
14 |
- <div class="fn-intro-wrap"> |
|
15 |
- <ul class="intros"> |
|
16 |
- } else { |
|
17 |
- <div class="intro-wrap"> |
|
18 |
- <ul class="intros unstyled"> |
|
19 |
- } |
|
9 |
+ |
|
10 |
+ <div class="@if(session.contains("userId")){fn-intro-wrap}else{intro-wrap}"> |
|
11 |
+ <ul class="intros@if(!session.contains("userId")){ unstyled}"> |
|
20 | 12 |
<li class="intro"><img src="@routes.Assets.at("images/img-project-198.png")" width="198" height="180"/></li> |
21 | 13 |
<li class="intro"><img src="@routes.Assets.at("images/img-repository-198.png")" width="198" height="180"/></li> |
22 | 14 |
<li class="intro"><img src="@routes.Assets.at("images/img-issue-198.png")" width="198" height="180"/></li> |
... | ... | @@ -37,7 +29,7 @@ |
37 | 29 |
<div class="gray-bubble-wrap"> |
38 | 30 |
<div class="bg-project-bubble-top ico"> |
39 | 31 |
<div class="project-count-wrap"> |
40 |
- MY PROJECTS <i class="ico ico-dot-white"></i><span class="p-num">22</span> |
|
32 |
+ MY PROJECTS <i class="ico ico-dot-white"></i><span class="p-num">@projects.size()</span> |
|
41 | 33 |
</div> |
42 | 34 |
</div> |
43 | 35 |
<ul class="my-projects unstyled"> |
--- app/views/login.old
... | ... | @@ -1,37 +0,0 @@ |
1 | -<div class="page-header"> | |
2 | - <h1>@Messages(message)</h1> | |
3 | -</div> | |
4 | - | |
5 | -<div class="row-fluid"> | |
6 | - <div class="span12"> | |
7 | - @form(routes.UserApp.authenticate(), 'class->"form-horizontal"){ | |
8 | - @inputText(userForm("loginId") | |
9 | - ,'_label-> Messages("user.loginId") | |
10 | - ,'class->"input-medium") | |
11 | - | |
12 | - @inputPassword(userForm("password") | |
13 | - ,'_label-> Messages("user.password") | |
14 | - ,'class->"input-medium") | |
15 | - | |
16 | - @checkbox(userForm("rememberMe")) | |
17 | - | |
18 | - <div class="form-actions"> | |
19 | - <input class="btn btn-primary" type="submit" value="@Messages("button.login")"> | |
20 | - <a class="btn" href="@routes.Application.index()">@Messages("button.cancel")</a> | |
21 | - </div> | |
22 | - } | |
23 | - </div> | |
24 | -</div> | |
25 | - | |
26 | -<div class="row"> | |
27 | - <div class="span12"> | |
28 | - <dl class="dl-horizontal"> | |
29 | - <dt>사이트 관리자</dt> | |
30 | - <dd>admin/admin00</dd> | |
31 | - <dt>프로젝트 관리자</dt> | |
32 | - <dd>hobi/hobi00</dd> | |
33 | - <dt>프로젝트 멤버</dt> | |
34 | - <dd>k16wire/k16wire00</dd> | |
35 | - </dl> | |
36 | - </div> | |
37 | -</div> |
--- app/views/login.scala.html
+++ app/views/login.scala.html
... | ... | @@ -1,7 +1,4 @@ |
1 |
-@(message:String, userForm:Form[User]) |
|
2 |
- |
|
3 |
-@import helper._ |
|
4 |
-@implicitFieldConstructor = @{ FieldConstructor(twitterBootstrapInput.render) } |
|
1 |
+@(message:String, userForm:Form[User]) |
|
5 | 2 |
|
6 | 3 |
@home(message) { |
7 | 4 |
<div class="page full"> |
... | ... | @@ -12,7 +9,7 @@ |
12 | 9 |
<div class="login-form-wrap"> |
13 | 10 |
<form action="@routes.UserApp.authenticate()" method="POST"> |
14 | 11 |
<label for="email"> |
15 |
- <input type="text" class="text email" id="email" placeholder="USER NAME" autocomplete="off" name="loginId"> |
|
12 |
+ <input type="text" class="text email" id="email" placeholder="ID" autocomplete="off" name="loginId"> |
|
16 | 13 |
</label> |
17 | 14 |
<label for="password"> |
18 | 15 |
<input type="password" class="text password" id="password" placeholder="PASSWORD" autocomplete="off" name="password"> |
--- app/views/project/newProject.scala.html
+++ app/views/project/newProject.scala.html
... | ... | @@ -1,83 +1,60 @@ |
1 | 1 |
@(title:String, newProjectForm:Form[Project]) |
2 | 2 |
|
3 |
-@import helper._ |
|
4 | 3 |
@import playRepository.RepositoryService |
5 | 4 |
|
6 |
-@implicitFieldConstructor = @{ FieldConstructor(twitterBootstrapInput.render) } |
|
7 |
- |
|
8 | 5 |
@home(title){ |
9 |
- <div class="page-header"> |
|
10 |
- <h1>@Messages(title)</h1> |
|
11 |
- </div> |
|
12 |
- |
|
13 |
- @form(action = routes.ProjectApp.saveProject, |
|
14 |
- 'class -> "form-horizontal"){ |
|
15 |
- <div class="row"> |
|
16 |
- <fieldset> |
|
17 |
- <div class="icon-question-sign" href = "#" id="project_name" rel="popover" |
|
18 |
- data-content="@Messages("project.name.alert")" |
|
19 |
- data-original-title="@Messages("project.name.rule")" |
|
20 |
- ></div> |
|
21 |
- @inputText( |
|
22 |
- newProjectForm("name"), |
|
23 |
- '_label -> Messages("project.name"), |
|
24 |
- '_help -> Messages("input.mandatory") |
|
25 |
- ) |
|
26 |
- <div class="alert alert-danger hide" id="nameAlert"> |
|
27 |
- <a class="close" data-dismiss="alert">×</a> |
|
28 |
- <strong>@Messages("project.name.alert")</strong> |
|
6 |
+ <div class="page"> |
|
7 |
+ <div class="form-wrap new-project"> |
|
8 |
+ <div class="bread-crumb-wrap"> |
|
9 |
+ <h1 class="title orange">New Project</h1> |
|
10 |
+ <div class="bread-crumb"> |
|
11 |
+ <a href="/"><i class="ico ico-home"></i></a> |
|
12 |
+ <i class="ico ico-location-arrow"></i> |
|
13 |
+ <span>new project</span> |
|
29 | 14 |
</div> |
30 |
- |
|
31 |
- @textarea( |
|
32 |
- newProjectForm("overview"), |
|
33 |
- '_label -> Messages("project.description"), |
|
34 |
- 'cols -> 50, |
|
35 |
- '_help -> Messages("input.optional") |
|
36 |
- ) |
|
37 |
- |
|
38 |
- <div class="icon-question-sign" href = "#" id="share_option_explanation" rel="popover" |
|
39 |
- data-content="@Messages("project.shareOption.private.description")" |
|
40 |
- data-original-title="@Messages("project.shareOption")" |
|
41 |
- ></div> |
|
42 |
- @inputRadioGroup( |
|
43 |
- newProjectForm("share_option"), |
|
44 |
- options = options("false"->Messages("project.shareOption.private"), "true"->Messages("project.shareOption.public")), |
|
45 |
- '_label -> Messages("project.shareOption") |
|
46 |
- ) |
|
47 |
- @inputRadioGroup( |
|
48 |
- newProjectForm("isAuthorEditable"), |
|
49 |
- options = options("false"->Messages("project.isAuthorEditable.off"), "true"->Messages("project.isAuthorEditable.on")), |
|
50 |
- '_label -> Messages("project.isAuthorEditable") |
|
51 |
- ) |
|
52 |
- @selectEx( |
|
53 |
- newProjectForm("vcs"), |
|
54 |
- options(RepositoryService.vcsTypes), |
|
55 |
- '_label -> Messages("project.vcs") |
|
56 |
- ) |
|
57 |
- |
|
58 |
- <div class="icon-question-sign" href = "#" id="terms" rel="popover" |
|
59 |
- data-content="약관 ..." |
|
60 |
- data-original-title="@Messages("project.agreement")" |
|
61 |
- ></div> |
|
62 |
- @checkbox( |
|
63 |
- newProjectForm("accept"), |
|
64 |
- '_label -> None, |
|
65 |
- '_text -> Messages("project.new.agreement"), |
|
66 |
- '_showConstraints -> false |
|
67 |
- ) |
|
68 |
- <div class="alert alert-danger hide" id="acceptAlert"> |
|
69 |
- <a class="close" data-dismiss="alert">×</a> |
|
70 |
- <strong>@Messages("project.new.agreement.alert")</strong> |
|
71 |
- </div> |
|
72 |
- </fieldset> |
|
73 |
- </div> |
|
74 |
- <div class="row"> |
|
75 |
- <div class="actions"> |
|
76 |
- <center><input type="submit" class="btn btn-primary" value="@Messages("project.create")" id="save"></center> |
|
77 | 15 |
</div> |
16 |
+ <form action="@routes.ProjectApp.saveProject()" method="post"> |
|
17 |
+ <label for="name"> |
|
18 |
+ <input id="project-name" type="text" name="name" class="text" placeholder="새 프로젝트 이름을 입력해주세요."> |
|
19 |
+ </label> |
|
20 |
+ <label for="overview"> |
|
21 |
+ <textarea id="description" name="overview" class="text textarea" placeholder="프로젝트 설명을 입력해주세요."></textarea> |
|
22 |
+ </label> |
|
23 |
+ <ul class="options unstyled"> |
|
24 |
+ <li class="option"> |
|
25 |
+ <div class="option-label">공개설정</div> |
|
26 |
+ <div class="option-desc"> |
|
27 |
+ <input name="share_option" type="radio" checked="checked" id="true" value="public" class="radio-btn"><label for="public" class="bg-radiobtn">공개</label> |
|
28 |
+ <input name="share_option" type="radio" id="private" value="false" class="radio-btn"><label for="private" class="bg-radiobtn">비공개</label> |
|
29 |
+ <span class="note">비공개 프로젝트도 프로젝트 이름, 설명, 로그 등은 모든 사용자가 볼 수 있습니다.</span> |
|
30 |
+ </div> |
|
31 |
+ </li> |
|
32 |
+ <li class="option"> |
|
33 |
+ <div class="option-label">코드관리시스템</div> |
|
34 |
+ <div class="option-desc"> |
|
35 |
+ <div class="btn-group"> |
|
36 |
+ <button data-toggle="dropdown" class="btn">git</button> |
|
37 |
+ <button data-toggle="dropdown" class="btn dropdown-toggle"><span class="caret"></span></button> |
|
38 |
+ <ul class="dropdown-menu"> |
|
39 |
+ @RepositoryService.vcsTypes.map{ v => |
|
40 |
+ <li><a href="#!/git">@Messages(v._2)</a></li> |
|
41 |
+ } |
|
42 |
+ </ul> |
|
43 |
+ </div> |
|
44 |
+ </div> |
|
45 |
+ </li> |
|
46 |
+ <li class="option"> |
|
47 |
+ <div class="option-label">이용약관 <i class="ico ico-que-mark"></i></div> |
|
48 |
+ <div class="option-desc"> |
|
49 |
+ <input type="checkbox" class="stipulation checkbox" autocomplete="off" id="stipulation" name="accept"><label for="stipulation" class="bg-checkbox">본인은 약관에 대한 안내를 읽었으며 동의 합니다.</label> |
|
50 |
+ </div> |
|
51 |
+ </li> |
|
52 |
+ </ul> |
|
53 |
+ <div class="actions"> |
|
54 |
+ <button class="btn-transparent n-btn orange med">SAVE</button> |
|
55 |
+ <a href="/" class="n-btn gray med cancel">CANCEL</a> |
|
56 |
+ </div> |
|
57 |
+ </form> |
|
78 | 58 |
</div> |
79 |
- } |
|
80 |
- <script>nforge.require(["project.nameCheck", "project.popovers", "project.acceptCheck"], "save");</script> |
|
81 |
- |
|
82 |
- |
|
83 |
-}(No newline at end of file) |
|
59 |
+ </div> |
|
60 |
+} |
--- app/views/user/signup.scala.html
+++ app/views/user/signup.scala.html
... | ... | @@ -1,64 +1,29 @@ |
1 | 1 |
@(message: String, newUserForm: Form[User]) |
2 | 2 |
|
3 |
-@import helper._ |
|
4 |
-@implicitFieldConstructor = @{ FieldConstructor(twitterBootstrapInput.render) } |
|
5 |
- |
|
6 | 3 |
@home(message) { |
7 |
-<div class="page-header"> |
|
8 |
- <h1>@Messages(message)</h1> |
|
9 |
-</div> |
|
10 |
-<div class="row-fluid"> |
|
11 |
- <div class="span3"></div> |
|
12 |
- <div class="span6"> |
|
13 |
- <div class="alert alert-danger hide" id="confirmPasswordAlert"> |
|
14 |
- <a class="close" data-dismiss="alert">×</a> |
|
15 |
- <strong>@Messages("user.confirmPassword.alert")</strong> |
|
16 |
- </div> |
|
17 |
- @form(action = routes.UserApp.saveUser, 'class -> "well form-horizontal"){ |
|
18 |
- <fieldset> |
|
19 |
- @inputText( |
|
20 |
- newUserForm("loginId"), |
|
21 |
- '_label -> Messages("user.loginId"), |
|
22 |
- '_showConstraints -> false |
|
23 |
- ) |
|
24 |
- |
|
25 |
- @inputPassword( |
|
26 |
- newUserForm("password"), |
|
27 |
- '_label -> Messages("user.password") |
|
28 |
- ) |
|
29 |
- |
|
30 |
- <div class="control-group"> |
|
31 |
- <label class="control-label" for="confirmPassword">@Messages("user.confirmPassword") </label> |
|
32 |
- <div class="controls"> |
|
33 |
- <input type="password" id="confirmPassword" name="confirmPassword"> |
|
34 |
- </div> |
|
4 |
+ <div class="page full"> |
|
5 |
+ <div class="center-wrap tag-line-wrap signup"> |
|
6 |
+ <h1 class="title"><span class="high-light">Sign Up For</span> N4</h1> |
|
7 |
+ <p class="tag-line signup"><span>Open Source</span> Project. <span>Code</span> Repository. <span>Issue</span> Tracker. <span>Task</span> Managspanent</p> |
|
35 | 8 |
</div> |
36 |
- |
|
37 |
- @inputText( |
|
38 |
- newUserForm("name"), |
|
39 |
- '_label -> Messages("user.name") |
|
40 |
- ) |
|
41 |
- |
|
42 |
- @inputText( |
|
43 |
- newUserForm("email"), |
|
44 |
- '_label -> Messages("user.email"), |
|
45 |
- '_showConstraints -> false |
|
46 |
- ) |
|
47 |
- </fieldset> |
|
48 |
- <button type="submit" class="btn btn-primary" id="signup">@Messages("button.signup")</button> |
|
49 |
- } |
|
50 |
- </div> |
|
51 |
-</div> |
|
52 |
-<script> |
|
53 |
- $(document).ready(function(){ |
|
54 |
- $("#signup").click(function(){ |
|
55 |
- if($("#password").val() != ($("#confirmPassword").val())){ |
|
56 |
- $("#confirmPasswordAlert").show(); |
|
57 |
- return false; |
|
58 |
- } |
|
59 |
- |
|
60 |
- return true; |
|
61 |
- }); |
|
62 |
- }) |
|
63 |
-</script> |
|
9 |
+ <div class="signup-form-wrap"> |
|
10 |
+ <form action="@routes.UserApp.saveUser()" method="POST"> |
|
11 |
+ <label for="loginId" class="inline"> |
|
12 |
+ <input type="text" class="text email" id="email" placeholder="ID" autocomplete="off" name="loginId"> |
|
13 |
+ </label><!-- |
|
14 |
+ --><label for="name" class="inline"> |
|
15 |
+ <input type="text" class="text uname" id="uname" placeholder="NAME" autocomplete="off" name="name"> |
|
16 |
+ </label> |
|
17 |
+ <label for="password"> |
|
18 |
+ <input type="password" class="text password" id="password" placeholder="PASSWORD" autocomplete="off" name="password"> |
|
19 |
+ </label> |
|
20 |
+ <div class="act-row"> |
|
21 |
+ HAVE AN ACCOUNT ALREADY? <a href="@routes.UserApp.login()" class="go-login">LOG IN</a> |
|
22 |
+ </div> |
|
23 |
+ <div class="btns-row"> |
|
24 |
+ <button type="submit" class="n-btn orange sign-up">Sign Up</button> |
|
25 |
+ </div> |
|
26 |
+ </form> |
|
27 |
+ </div> |
|
28 |
+ </div> |
|
64 | 29 |
} |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?