doortts doortts 2016-01-18
yonafy: Apply modifications for fork project
- Remove yobi logo
- Change update url
- Add check update option
- Change project/group default bg image
- Change navigation menu style
@9684b125e26932decef05c18fee9def53d25a65d
app/assets/stylesheets/less/_override.less
--- app/assets/stylesheets/less/_override.less
+++ app/assets/stylesheets/less/_override.less
@@ -352,3 +352,16 @@
   filter: alpha(opacity=100);
 }
 
+.welcome-table {
+    td {
+        border-top: none;
+        font-size: 14px;
+        vertical-align: middle;
+    }
+    a {
+        width: 85%;
+    }
+    border-bottom: 1px solid #eee;
+    margin-bottom: -1px;
+}
+
app/assets/stylesheets/less/_page.less
--- app/assets/stylesheets/less/_page.less
+++ app/assets/stylesheets/less/_page.less
@@ -32,7 +32,7 @@
 
 .gnb-outer {
     height:40px;
-    background-color:#1d2d46;
+    background-color: #1b1b1b;
 
     &.project-header {
         background-color: rgba(0, 0, 0, 0.35);
@@ -59,9 +59,19 @@
 }
 
 .gnb-inner {
+    .logo-title {
+        background: #FF5722;
+        padding: 6px 10px !important;
+        color: #803131 !important;
+        border-radius: 2px;
+        font-weight: bold;
+        opacity: 0.7;
+        &:hover {
+            color:#FFF !important;
+            opacity: 1;
+        }
+    }
     .logo {
-        float:left;
-        background-image: url("@{base-image-path}/yobi-logo.png");
         background-position: 11px 10px;
         background-repeat: no-repeat;
         width:44px;
@@ -72,8 +82,6 @@
             float: left;
             width: 1px;
             height: 40px;
-            background: #373D47;
-            border-left: 1px solid #03183A;
         }
 
         &:after {
@@ -81,8 +89,6 @@
             float: left;
             width: 1px;
             height: 40px;
-            background: #373D47;
-            border-left: 1px solid #03183A;
             margin-left:40px;
         }
     }
@@ -175,17 +181,16 @@
 
             &.gnb-usermenu-item {
                 font-size: 14px;
-                color:#788ba7;
+                color: @low-white;
 
                 a {
                     line-height: 30px;
                     padding:5px 10px;
-                    color:#788ba7;
                     text-decoration: none;
                     .transition(color 0.15s);
 
                     &:hover {
-                        color:#FFF;
+                        color: @blue;
                     }
 
                     &.usermenu-icon-button {
@@ -196,7 +201,7 @@
 
             &.gnb-usermenu-dropdown {
                 font-size: 14px;
-                color:#788ba7;
+                color: @low-white;
 
                 > a {
                     padding:0 10px;
@@ -220,18 +225,18 @@
                         .transition(all 0.15s ease);
                         height: 0;
                         vertical-align: top;
-                        border-top: 4px solid #788ba7;
+                        border-top: 4px solid @low-white;
                         border-right: 4px solid transparent;
                         border-left: 4px solid transparent;
                         content: "";
                     }
 
                     &:hover, &:focus {
-                        color:#FFF;
+                        color: @blue;
                         text-decoration: none;
 
                         .caret {
-                            border-top: 4px solid #FFF;
+                            border-top: 4px solid @blue;
                         }
                     }
 
@@ -898,8 +903,6 @@
     h3 {
         margin:0;
         padding:0;
-        font-size: 30px;
-        color:@yobi-primary;
 
         span {
             font-size:14px;
@@ -981,7 +984,6 @@
 
     button {
         border:1px solid rgba(0,0,0, .1);
-        border-top:none;
         .border-radius(0 0 6px 6px);
         color:@yobi-gray;
         padding:0px 25px;
@@ -990,6 +992,7 @@
         i {
             font-size:12px;
         }
+        border-top: 2px solid white;
     }
 }
 
app/assets/stylesheets/less/_variables.less
--- app/assets/stylesheets/less/_variables.less
+++ app/assets/stylesheets/less/_variables.less
@@ -19,6 +19,7 @@
 
 // Color
 @white  : #FFF;
+@low-white: #efefef;
 @black  : #000;
 @orange : #F36C22;
 @purple : #8d008d;
app/controllers/SiteApp.java
--- app/controllers/SiteApp.java
+++ app/controllers/SiteApp.java
@@ -259,8 +259,11 @@
         Exception exception = null;
 
         try {
-            currentVersion = Config.getCurrentVersion();
-            YobiUpdate.refreshVersionToUpdate();
+            boolean useUpdateCheck = play.Configuration.root().getBoolean("application.update.check.use");
+            if(useUpdateCheck){
+                currentVersion = Config.getCurrentVersion();
+                YobiUpdate.refreshVersionToUpdate();
+            }
         } catch (Exception e) {
             exception = e;
         }
app/models/YobiUpdate.java
--- app/models/YobiUpdate.java
+++ app/models/YobiUpdate.java
@@ -40,10 +40,10 @@
     private static final Long UPDATE_NOTIFICATION_INTERVAL_IN_MILLIS = Configuration.root()
             .getMilliseconds("application.update.notification.interval", 60 * 60 * 1000L);
     private static final String UPDATE_REPOSITORY_URL = Configuration.root()
-            .getString("application.update.repositoryUrl", "http://repo.yobi.io/naver/yobi");
+            .getString("application.update.repositoryUrl", "http://repo.yona.io/yona/yona");
     private static final String RELEASE_URL_FORMAT = Configuration.root()
             .getString("application.update.releaseUrlFormat",
-                    "https://github.com/naver/yobi/releases/tag/v%s");
+                    "https://github.com/doortts/yona/releases/tag/v%s");
 
     public static String versionToUpdate = null;
 
app/utils/Config.java
--- app/utils/Config.java
+++ app/utils/Config.java
@@ -58,7 +58,7 @@
 
     public static String getSiteName() {
         return ObjectUtils.defaultIfNull(
-                play.Configuration.root().getString("application.siteName"), "Yobi");
+                play.Configuration.root().getString("application.siteName"), "Yona");
     }
 
     public static String getHostport(String defaultValue) {
app/views/common/navbar.scala.html
--- app/views/common/navbar.scala.html
+++ app/views/common/navbar.scala.html
@@ -50,8 +50,10 @@
 </div>
 <header class="gnb-outer @if(project !=null) {project-header}">
     <div class="gnb-inner">
-        <a href="@routes.Application.index()" class="logo"><h1 class="blind">@utils.Config.getSiteName</h1></a>
         <ul class="gnb-nav">
+            <li>
+                <a href="@routes.Application.index()" class="logo logo-title">Y</a>
+            </li>
             <li class="@isActiveMenu(MenuType.PROJECTS)">
                 <a href="@routes.ProjectApp.projects()">@Messages("title.projectList")</a>
             </li>
@@ -113,4 +115,4 @@
         </ul>
         @common.usermenu(null)
     </div>
-</header>
(No newline at end of file)
+</header>
app/views/help/toc.scala.html
--- app/views/help/toc.scala.html
+++ app/views/help/toc.scala.html
@@ -38,7 +38,7 @@
                 <div class="answer-wrap">
                     <i class="yobicon-a a"></i>
                     <div class="answer" style="width:100%">
-                        @Messages("app.name")를 설치하고자 하면 <a href="http://github.com/nforge/yobi#korean">http://github.com/nforge/yobi#korean</a>를 참고해 주세요.
+                        @Messages("app.name")를 설치하고자 하면 <a href="https://github.com/doortts/yona#korean">https://github.com/doortts/yona#korean</a>를 참고해 주세요.
                     </div>
                 </div>
             </li>
app/views/index/index.scala.html
--- app/views/index/index.scala.html
+++ app/views/index/index.scala.html
@@ -31,35 +31,34 @@
         <div class="page-wrap">
             <div class="site-guide-outer hide">
                 <h3>
-                    <i class="yobicon-emo-wink"></i>
-                    @Messages("app.welcome",utils.Config.getSiteName)
-                    <span>@Messages("app.description")</span>
+                    <span>@Messages("app.welcome",utils.Config.getSiteName) - @Messages("app.description")</span>
                 </h3>
-                <div class="site-guide-inner">
-                    <ul class="guide-wrap row-fluid">
-                        <li class="span4">
-                            <h4>@Messages("app.welcome.project")</h4>
-                            <p>@Messages("app.welcome.project.desc")</p>
+                <table class="welcome-table table borderless">
+                    <tr>
+                        <td>
                             <a href="@routes.ProjectApp.newProjectForm()" class="ybtn ybtn-success">
-                                @Messages("button.newProject")
+                            @Messages("button.newProject")
                             </a>
-                        </li>
-                        <li class="span4">
-                            <h4>@Messages("app.welcome.group")</h4>
-                            <p>@Messages("app.welcome.group.desc")</p>
+                        </td>
+                        <td>@Messages("app.welcome.project.desc")</td>
+                    </tr>
+                    <tr>
+                        <td>
                             <a href="@routes.OrganizationApp.newForm()" class="ybtn ybtn-success">
-                                @Messages("title.newOrganization")
+                            @Messages("title.newOrganization")
                             </a>
-                        </li>
-                        <li class="span4">
-                            <h4>@Messages("app.welcome.searchProject")</h4>
-                            <p>@Messages("app.welcome.searchProject.desc")</p>
+                        </td>
+                        <td>@Messages("app.welcome.group.desc")</td>
+                    </tr>
+                    <tr>
+                        <td>
                             <a href="@routes.ProjectApp.projects()" class="ybtn ybtn-success">
-                                @Messages("title.projectList")
+                            @Messages("title.projectList")
                             </a>
-                        </li>
-                    </ul>
-                </div>
+                        </td>
+                        <td>@Messages("app.welcome.searchProject.desc")</td>
+                    </tr>
+                </table>
             </div>
             <div class="guide-toggle">
                 <button class="btn-transparent" id="toggleIntro"><i class="yobicon-resizev"></i></button>
conf/application.conf.default
--- conf/application.conf.default
+++ conf/application.conf.default
@@ -4,12 +4,12 @@
 # Site Name
 # ~~~~~~~~~
 # The name of your website
-application.siteName="Yobi"
+application.siteName="Yona"
 
 # Anonymous access
 # ~~~~~~~~~~~~~~~~
 # This site allows anonymous access. (default: true)
-# If this is false, Yobi refuses anonymous access to any page except for the
+# If this is false, Yona refuses anonymous access to any page except for the
 # ones to be needed for login, login and creating accout.
 # NOTE: Even if this is false, anyone can create a account freely. If you don't
 # want to allow that, set signup.require.confirm to false.
@@ -45,8 +45,8 @@
 ebeanconfig.datasource.default=default
 # H2 Configuration
  db.default.driver=org.h2.Driver
-# db.default.url="jdbc:h2:mem:yobi;MODE=PostgreSQL;DB_CLOSE_DELAY=-1"
- db.default.url="jdbc:h2:file:./yobi;MODE=PostgreSQL;MV_STORE=FALSE;MVCC=FALSE;CACHE_SIZE=131072;AUTO_SERVER=TRUE"
+# db.default.url="jdbc:h2:mem:yona;MODE=PostgreSQL;DB_CLOSE_DELAY=-1"
+ db.default.url="jdbc:h2:file:./yona;MODE=PostgreSQL;MV_STORE=FALSE;MVCC=FALSE;CACHE_SIZE=131072;AUTO_SERVER=TRUE"
 # db.default.user=sa
 # db.default.password=sa
 db.default.logStatements=true
@@ -61,12 +61,12 @@
 
 # MySQL Configuration
 # db.default.driver=com.mysql.jdbc.Driver
-# db.default.url="jdbc:mysql://127.0.0.1:3306/yobi?characterEncoding=utf-8"
-# db.default.user=yobi
+# db.default.url="jdbc:mysql://127.0.0.1:3306/yona?characterEncoding=utf-8"
+# db.default.user=yona
 # db.default.password=""
 
 # Local
-# db.default.url="jdbc:postgresql://localhost:5432/yobi"
+# db.default.url="jdbc:postgresql://localhost:5432/yona"
 # db.default.user=postgres
 # db.default.password=password
 
@@ -102,7 +102,7 @@
 # application.port="8080"
 
 # Application feedback url at top layout menu. You can remove feedback menu by commenting it.
-application.feedback.url="https://github.com/naver/yobi/issues"
+application.feedback.url="https://github.com/doortts/yona/issues"
 
 # Mailer
 # ~~~~~~
@@ -112,7 +112,7 @@
 smtp.port = 465
 smtp.ssl = true
 #smtp.user = yourGmailId
-smtp.user = yobiproject.mail
+smtp.user = yona.mail
 # Be careful!!!
 smtp.password = yourGmailPassword
 smtp.domain = gmail.com
@@ -130,10 +130,10 @@
 #
 # If you want to use this feature, your IMAP server has to be configured to
 # support the address alias using '+' sign, also known as 'subaddressing' or
-# 'detailed addressing'. For example, emails to 'yobi+issue@yourmail.com' have
-# to be delivered to 'yobi@yourmail.com'.
+# 'detailed addressing'. For example, emails to 'yona+issue@yourmail.com' have
+# to be delivered to 'yona@yourmail.com'.
 #
-# SECURITY WARNING: Yobi believes the email address in From header of the
+# SECURITY WARNING: Yona believes the email address in From header of the
 # received email is truthful and use it for authentication without doubt. To
 # avoid this problem, your imap server must deny every email whose From header
 # is forged.
@@ -144,10 +144,10 @@
 imap.use = false
 imap.host = imap.googlemail.com
 imap.ssl = true
-imap.user = "your-yobi-email-address@gmail.com"
-# The email address of Yobi. Mailbox Service processes an email only if its
+imap.user = "your-yona-email-address@gmail.com"
+# The email address of Yona. Mailbox Service processes an email only if its
 # address is as follows.
-imap.address = "your-yobi-email-address@gmail.com"
+imap.address = "your-yona-email-address@gmail.com"
 # Be careful!!!
 imap.password = yourGmailPassword
 imap.folder = inbox
@@ -184,13 +184,14 @@
 
 # Software Update
 # ~~~~~~~~~~~~~~~
-# Check for updates of Yobi at this interval if it is grater than 0.
+# Check for updates of Yona at this interval if it is grater than 0.
 application.update.notification.interval = 1h
-# A url to the git repository for Yobi releases.
-application.update.repositoryUrl = "http://repo.yobi.io/naver/yobi"
-# A format to construct the url to latest Yobi release. "%s" is a format
-# specifier for Yobi version to download like "0.5.7".
-application.update.releaesUrlFormat = "https://github.com/naver/yobi/releases/tag/v%s"
+# A url to the git repository for Yona releases.
+application.update.check.use = true
+application.update.repositoryUrl = "http://repo.yona.io/yona/yona"
+# A format to construct the url to latest Yona release. "%s" is a format
+# specifier for Yona version to download like "0.5.7".
+application.update.releaesUrlFormat = "https://github.com/doortts/yona/releases/tag/v%s"
 
 # customize play default thread pool size
 # see: https://www.playframework.com/documentation/2.3.x/ThreadPools
@@ -231,5 +232,5 @@
   }
 }
 
-# No referrer information is to be leaked when following the link from yobi pages. If you don't want, set it false
+# No referrer information is to be leaked when following the link from yona pages. If you don't want, set it false
 application.noreferrer = true
conf/messages
--- conf/messages
+++ conf/messages
@@ -22,7 +22,7 @@
 # - validation
 #
 app.description = Web-based platform for collaborative software development
-app.name = Yobi
+app.name = Yona
 app.restart.notice = Server needs to be restarted.
 app.restart.updateSecretYourself = Please update application.secret with random text.
 app.restart.welcome = Welcome!
@@ -186,7 +186,7 @@
 emails.set.as.main = Set as a primary email address.
 emails.sub.email.descr = You will be identified as a same user by multiple sub emails.
 emails.sub.emails = Sub email address
-emails.validation.email.title = [Yobi] validation email
+emails.validation.email.title = [Yona] validation email
 error.auth.unauthorized.comment = You need to log in to add comments.
 error.auth.unauthorized.waringMessage = You are not authorized to access this page or not logged in.
 error.badrequest = The request cannot be fulfilled due to bad syntax
@@ -520,7 +520,7 @@
 project.description = Description
 project.description.placeholder = Enter project description
 project.git.repository.url = Git repository URL
-project.git.url.alert = Please type in Git repository URL. E.g. https://github.com/nforge/yobi.git
+project.git.url.alert = Please type in Git repository URL. E.g. https://github.com/doortts/yona.git
 project.group = Project groups
 project.history.item = {0} {1} {2}
 project.history.recent = Recent history
@@ -777,10 +777,10 @@
 site.diagnostic.errorNotFound = No errors were found
 site.features.codeManagement = Your code is safely stored in a version controlled system.
 site.features.codeReview = Review all changes in code with your team before merging. Code discussion will help you improve your code.
-site.features.issueTracker = Yobi provides an issue tracker to help you deal with your issues more easily and clearly.
+site.features.issueTracker = Yona provides an issue tracker to help you deal with your issues more easily and clearly.
 site.features.privateRepositories = Keep your code private at your private repositories.
 site.features.unlimitedProjects = Create repositories as many as you want. You are only limited by your imagination.
-site.features.workTeam = Yobi provides simple and easy team management tool to help you build teams for each project.
+site.features.workTeam = Yona provides simple and easy team management tool to help you build teams for each project.
 site.mail.body = Body
 site.mail.fail = Failed to send a mail.
 site.mail.from = From
@@ -812,12 +812,12 @@
 site.sidebar.userList = Users
 site.sidebar.update = Software Update
 site.sidebar.diagnostics = Diagnostics
-site.update.currentVersion = Current version is Yobi {0}
+site.update.currentVersion = Current version is Yona {0}
 site.update.download = Download
-site.update.isAvailable = Yobi {0} is available
+site.update.isAvailable = Yona {0} is available
 site.update.isNotNecessary = You are using the latest version
 site.update.error = Failed to check for updates because of the following error:
-site.update.notification = Software update: Yobi {0} is available
+site.update.notification = Software update: Yona {0} is available
 site.update.notification.hide = Hide
 site.user.delete = Delete user
 site.user.deleteConfirm = Are you sure you want this user to leave?
@@ -967,7 +967,7 @@
 viaEmail.error.forbidden.or.notfound = The project which matches with the address <{0}> does not exist or is not allowed to access.
 viaEmail.error.cannotCreate = You ({1}) don''t have the permission to create {2} in project {3}.
 viaEmail.help.bye = Best Regards,\n{0}
-viaEmail.help.description = You can send an email to Yobi to post or comment an issue. For example, if you want to post an issue to {0} project, just send an email to <{1}>. And then, if someone reply the email which includes <{1}> in its recepient list, the new email will be added as a comment of the issue.
+viaEmail.help.description = You can send an email to Yona to post or comment an issue. For example, if you want to post an issue to {0} project, just send an email to <{1}>. And then, if someone reply the email which includes <{1}> in its recepient list, the new email will be added as a comment of the issue.
 viaEmail.help.errorMultiLine = {0} failed to process your email. The reasons are as follows:\n{1}
 viaEmail.help.errorSingleLine = {0} failed to process your email because {1}
 viaEmail.help.hello = Hello, {0}
conf/messages.ko-KR
--- conf/messages.ko-KR
+++ conf/messages.ko-KR
@@ -22,11 +22,11 @@
 # - validation
 #
 app.description = 웹기반 소프트웨어 개발 플랫폼
-app.name = Yobi
+app.name = Yona
 app.restart.notice = 서버를 재시작해야합니다.
 app.restart.updateSecretYourself = application.secret을 무작위 문자열로 변경해주십시오.
 app.restart.welcome = 환영합니다!
-app.welcome = {0}를 시작합니다!
+app.welcome = {0}
 app.welcome.project = 프로젝트
 app.welcome.project.desc = 당신만의 프로젝트를 만들어 보세요
 app.welcome.group = 그룹
@@ -186,7 +186,7 @@
 emails.set.as.main = 대표 이메일로 설정
 emails.sub.email.descr = 여러 이메일을 사용할 경우 확인된 이메일로도 동일한 사용자로 인식할 수 있습니다.
 emails.sub.emails = 보조 이메일
-emails.validation.email.title = [Yobi] 이메일 확인
+emails.validation.email.title = [Yona] 이메일 확인
 error.auth.unauthorized.comment = 로그인 후 댓글 입력이 가능합니다.
 error.auth.unauthorized.waringMessage = 권한이 없거나 로그인을 하지 않았습니다.
 error.badrequest = 잘못된 요청입니다
@@ -520,7 +520,7 @@
 project.description = 설명
 project.description.placeholder = 프로젝트 설명을 입력해주세요
 project.git.repository.url = Git 저장소 URL
-project.git.url.alert = Git 저장소 URL을 입력하세요. 예) https://github.com/nforge/yobi.git
+project.git.url.alert = Git 저장소 URL을 입력하세요. 예) https://github.com/doortts/yona.git
 project.group = 프로젝트 분류
 project.history.item = {0}님이 {1} {2}
 project.history.recent = 최근 이력
@@ -810,9 +810,9 @@
 site.update.currentVersion = 현재 버전은 {0} 입니다
 site.update.download = 다운로드
 site.update.error = 다음과 같이 에러가 발생하여 업데이트 할 버전을 확인하지 못했습니다.
-site.update.isAvailable = Yobi {0} 버전으로 업데이트 할 수 있습니다
+site.update.isAvailable = Yona {0} 버전으로 업데이트 할 수 있습니다
 site.update.isNotNecessary = 현재 최신 버전을 사용중입니다
-site.update.notification = 업데이트 알림: Yobi {0} 버전이 나왔습니다
+site.update.notification = 업데이트 알림: Yona {0} 버전이 나왔습니다
 site.update.notification.hide = 숨기기
 site.user.delete = 사용자 삭제
 site.user.deleteConfirm = 정말로 해당 사용자를 사이트에서 탈퇴시키겠습니까?
public/images/group_default.png (Binary)
--- public/images/group_default.png
+++ public/images/group_default.png
Binary file is not shown
public/images/project_default.png (Binary)
--- public/images/project_default.png
+++ public/images/project_default.png
Binary file is not shown
Add a comment
List