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. & NAVER LABS Corp.
* https://yona.io
**@
@(user:User, projects:List[Project], issues:List[Issue], pullRequests:List[PullRequest], daysAgo:Int, selected:String)
@import utils.MD5Util
@import models.enumeration._
@import utils.TemplateHelper._
@watching_count(loginId: String) = { @User.findByLoginId(loginId).getWatchingProjects().size }
@belongsToMe_count() = { @(user.myProjects("name").size - Project.findProjectsCreatedByUser(user.loginId, "name").size) }
@showBadgeNumberIfExist(number:Int) = { @if(number>0){ <span class="num-badge">@number</span> } }
@emailObfuscation(emailAddress:String) = {
@Html(emailAddress.reverse.replace("@","@<span class='z'>"+MD5Util.md5Hex(emailAddress)+"</span>").replace(".", "<span class='z'>"+MD5Util.md5Hex(emailAddress).reverse+"</span>."))
}
@isActiveTab(tabId:String) = { @if(selected == tabId){ active } }
@providerImg(provider: String) = {
@if(provider.equalsIgnoreCase("github")){
@Html(GithubLogo)
}
@if(provider.equalsIgnoreCase("google")){
@Html(GoogleLogo)
}
}
@isCurrentUsersPage = @{
if(UserApp.currentUser.loginId.equals(user.loginId)){
true
} else {
false
}
}
@siteLayout(user.loginId, utils.MenuType.USER) {
<div class="site-breadcrumb-outer">
<div class="site-breadcrumb-inner">
<h3>@user.name</h3>
</div>
</div>
<div class="page-wrap-outer">
<div class="page-wrap">
<section class="user-box">
<div class="user-info-box">
<div class="whoami-wrap" style="background-image:url('@user.avatarUrl(256)')">
@if(user.isGuest) {
<div class="guest-user">
<span class="left-mark">OUR GUEST</span>
</div>
}
</div>
<div class="whoami usf-group">
<span class="name">@user.englishName</span>
<span class="loginid">@{"@"}@user.loginId</span>
@if(Application.SHOW_USER_EMAIL){
<span class="email">@user.email</span>
}
@if(user != null && requestHeader.session != null && user.loginId == UserApp.currentUser.loginId){
<div class="edit">
<a href="@routes.UserApp.editUserInfoForm()" class="ybtn ybtn-default ybtn-mini"><i class="yobicon-edit"></i> @Messages("userinfo.editProfile")</a>
</div>
}
</div>
<div class="user-status">@if(user.isSiteManager){<span class="badge label-success">SITE ADMIN</span>}</div>
<div class="user-status">@if(user.isLocked){<span class="badge label-important">BLOCKED</span>}</div>
<div class="user-since">
<strong>@Messages("userinfo.since")</strong>
<span class="since">@user.getDateString</span>
</div>
<div class="user-since">
<div>
<strong>@Messages("user.connected.social.login")</strong>
</div>
<div class="auth-provider-logo">
@for(credential <- UserCredential.findByUserId(user.id)){
@for(provider <- credential.getProviders){
@providerImg(provider)
}
}
</div>
</div>
</div>
<div class="user-stream-box">
@if(!UserApp.currentUser().isGuest){
<div class="pull-right">
@Messages("userinfo.daysAgo.prefix")<input id="daysAgoBtn" name="daysAgo" type="number" min="1" max="99" class="input-mini-min" value="@daysAgo" style="margin:0px 5px; vertical-align:bottom;">@Messages("userinfo.daysAgo.suffix")
</div>
<ul class="nav nav-tabs">
<li class="@isActiveTab("issues")">
<a href="#issues" data-toggle="tab">
@Messages("menu.issue") @showBadgeNumberIfExist(issues.size)
</a>
</li>
<li class="@isActiveTab("pullRequests")">
<a href="#pullRequests" data-toggle="tab">
@Messages("menu.pullRequest") @showBadgeNumberIfExist(pullRequests.size)
</a>
</li>
<li class="@isActiveTab("projects")">
<a href="#projects" data-toggle="tab">
@Messages("project.projects") @showBadgeNumberIfExist(projects.size)
</a>
</li>
<li>@common.twoColumnModeCheckboxArea()</li>
</ul>
<div class="tab-content">
<div id="issues" class="tab-pane @isActiveTab("issues")">
<ul class="nav nav-tabs nm">
<li class="active">
<a href="#openIssues" data-toggle="tab">
@Messages("issue.state.open")
<span class="num-badge">@issues.count(issue => issue.state == State.OPEN)</span>
</a>
</li>
<li>
<a href="#closedIssues" data-toggle="tab">
@Messages("issue.state.closed")
<span class="num-badge">@issues.count(issue => issue.state == State.CLOSED)</span>
</a>
</li>
<li>@common.showSubtasksCheckbox()</li>
</ul>
<div class="tab-content">
<div id="openIssues" class="tab-pane active">
@if(issues.isEmpty) {
<div class="error-wrap">
<p>@Messages("userinfo.daysAgo.prefix") @Messages("issue.is.empty")</p>
</div>
}
<ul class="post-list-wrap my-issues row-fluid">
@for(issue <- issues if issue.state == State.OPEN) {
@partial_issues(issue)
}
</ul>
</div>
<div id="closedIssues" class="tab-pane">
@if(issues.isEmpty) {
<div class="error-wrap">
<p>@Messages("userinfo.daysAgo.prefix") @Messages("issue.is.empty")</p>
</div>
}
<ul class="post-list-wrap my-issues row-fluid">
@for(issue <- issues if issue.state == State.CLOSED) {
@partial_issues(issue)
}
</ul>
</div>
</div>
</div>
<div id="pullRequests" class="tab-pane @isActiveTab("pullRequests")">
@if(pullRequests.isEmpty) {
<div class="error-wrap">
<p>@Messages("userinfo.daysAgo.prefix") @Messages("pullRequest.is.empty")</p>
</div>
}
<ul class="post-list-wrap row-fluid">
@for(pull <- pullRequests) {
@partial_pullRequests(pull, pull.toProject)
}
</ul>
</div>
<div id="projects" class="tab-pane @isActiveTab("projects")">
@if(projects.isEmpty){
<div class="error-wrap">
<p>@Messages("project.is.empty")</p>
</div>
}
<ul class="user-streams all-projects">
@for(project <- projects){
@partial_projectlist(project, user)
}
</ul>
</div>
</div>
}
</div>
</section>
</div>
</div>
<script type="text/javascript" src='@routes.Assets.at("javascripts/lib/parseuri.js")'></script>
<script type="text/javascript" src="@routes.Assets.at("javascripts/lib/jquery.pageslide.js")"></script>
<script type="text/javascript" src="@routes.Assets.at("javascripts/service/yona.twoColumnMode.js")"></script>
<script type="text/javascript" src="@routes.Assets.at("javascripts/service/yona.showSubtask.js")"></script>
<script type="text/javascript">
$(document).ready(function(){
$yobi.loadModule("user.View", {
"sTabSelected": "@selected"
});
});
</script>
}