File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
@**
* Yona, 21st Century Project Hosting SW
*
* Copyright Yona & Yobi Authors & NAVER Corp.
* https://yona.io
**@
@import utils.Config
@import utils.AccessControl
@import models.enumeration.Operation;
@(message: String, currentPage: com.avaje.ebean.Page[Project], filter:String)
@import utils.TemplateHelper._
@import utils.JodaDateUtil
@siteLayout(message, utils.MenuType.PROJECTS) {
<div class="site-breadcrumb-outer">
<div class="site-breadcrumb-inner">
<div class="title_area">
<ul class="nav nav-tabs">
<li class='active'><a href="@routes.ProjectApp.projects()">@Messages("project.public") @Messages("title" +
".projectList")</a></li>
<li><a href="@routes.OrganizationApp.orgList()">@Messages("title.organization.list")</a></li>
</ul>
</div>
</div>
</div>
<div class="page-wrap-outer">
<div class="project-page-wrap">
<div class="search-wrap">
<div id="search" class="pull-left">
<form action="@routes.ProjectApp.projects()" method="get">
<div class="search-bar">
<input name="filter" class="textbox" type="text" placeholder="@Messages("site.project" +
".filter")" value="@filter" autofocus>
<button type="submit" class="search-btn"><i class="yobicon-search"></i></button>
</div>
</form>
</div>
</div>
@if(currentPage.getTotalRowCount == 0){
<div class="error-wrap">
<i class="ico ico-err1"></i>
<p>@Messages("project.is.empty")</p>
</div>
} else {
<ul class="all-projects">
@for(project <- currentPage.getList) {
@if(Config.displayPrivateRepositories() || AccessControl.isAllowed(UserApp.currentUser(), project.asResource(), Operation.READ)){
<li class="project">
<div class="info-wrap">
<div class="owner-avatar-wrap">
<a href="@routes.ProjectApp.project(project.owner,project.name)">
@if(hasProjectLogo(project)){<img src="@urlToProjectLogo(project)" alt="@project.name"/>}
</a>
</div>
<div style="float:left">
<div class="header">
<a href="@routes.ProjectApp.project(project.owner, project.name)" class="black">@project.name</a>
@if(project.isForkedFromOrigin){
<span class="small-font blue-txt">
<a class="origin-title" href='@routes.ProjectApp.project(project.originalProject.owner, project.originalProject.name)'>
<i class="yobicon-split"></i>
@project.originalProject.owner / @project.originalProject.name
</a>
</span>
}
@if(project.isPrivate){ <i class="yobicon-lock yobicon-small"></i> }
@for(label <- project.labels) {
<a class="project-label @label.category.toLowerCase" href="@routes.ProjectApp.projects()?labelIds=@label.id">@label.name</a>
}
</div>
<div class="desc">
@project.overview
</div>
<p class="name-tag">by <a href="@routes.UserApp.userInfo(project.owner)" class="owner-name-small">@project.owner</a>
at <strong title="@JodaDateUtil.getDateString(project.createdDate)">@agoOrDateString(project.createdDate)</strong> <span class="small-font">@if(project.lastPushedDateAgo() != null) {, @Messages("project.codeUpdate") <strong>@agoOrDateString(project.lastPushedDate)}</strong></span>
</p>
</div>
</div>
<div class="stats-wrap pull-right">
@if(project.isPublic){
<div class="members">
<ul class="unstyled">
@for(member <- User.findUsersByProject(project.id)){
<li>
<a href="@routes.UserApp.userInfo(member.loginId)" class="avatar-wrap">
<img src="@member.avatarUrl" alt="@member.name">
</a>
</li>
}
</ul>
<p>
@Html(Messages("project.onmember", User.findUsersByProject(project.id).size))
<i class="yobicon-eye yobicon-middle"></i> @Html(Messages("project.onwatching", project.getWatchingCount))
</p>
</div>
}
</div>
</li>
} else {
<li class="project" style="background-color: #fcfcfc;">
<div class="info-wrap" style="opacity: 0.3">
<div class="owner-avatar-wrap">
<img src="@routes.Assets.at("images/project_default_logo.png")" alt="@project.name"/>
</div>
<div style="float:left; color: gray">
You do not have permission to view this project's information
</div>
</div>
</li>
}
}
</ul>
<!-- pagination.js will fill here. -->
<div id="pagination"></div>
}
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
yobi.Pagination.update($("#pagination"), @currentPage.getTotalPageCount);
/*
$(".btn-advanced").click(function(){
$(".inner").toggleClass("advanced");
});
*/
});
</script>
}