Working on organization pages

This commit is contained in:
Unknwon 2014-08-23 20:24:02 +08:00
parent a60edbe88c
commit fa60502a70
10 changed files with 86 additions and 6 deletions

View file

@ -279,6 +279,10 @@ teams.write_access = Write Access
teams.write_access_helper = This team will be able to read its repositories, as well as push to them. teams.write_access_helper = This team will be able to read its repositories, as well as push to them.
teams.admin_access = Admin Access teams.admin_access = Admin Access
teams.admin_access_helper = This team will be able to push/pull to its repositories, as well as add other collaborators to them. teams.admin_access_helper = This team will be able to push/pull to its repositories, as well as add other collaborators to them.
teams.no_desc = This team has no description
teams.settings = Settings
teams.owners_permission_desc = Owners have full access to <strong>all repositories</strong> and have <strong>admin rights</strong> to the organization.
teams.members = Team Members
[action] [action]
create_repo = created repository <a href="/%s">%s</a> create_repo = created repository <a href="/%s">%s</a>

View file

@ -279,6 +279,10 @@ teams.write_access = 写入权限
teams.write_access_helper = 这个团队将拥有查看、克隆和推送所属仓库的权限。 teams.write_access_helper = 这个团队将拥有查看、克隆和推送所属仓库的权限。
teams.admin_access = 管理权限 teams.admin_access = 管理权限
teams.admin_access_helper = 这个团队将拥有查看、克隆、推送和添加其他组织成员到团队的权限。 teams.admin_access_helper = 这个团队将拥有查看、克隆、推送和添加其他组织成员到团队的权限。
teams.no_desc = 该团队暂无描述
teams.settings = 团队设置
teams.owners_permission_desc = 管理员团队对 <strong>所有仓库</strong> 具有操作权限,且对组织具有 <strong>管理员权限</strong>。
teams.members = 团队成员
[action] [action]
create_repo = 创建了仓库 <a href="/%s">%s</a> create_repo = 创建了仓库 <a href="/%s">%s</a>

View file

@ -1859,3 +1859,15 @@ textarea#issue-add-content {
#team-create-form .note { #team-create-form .note {
margin-left: 153px; margin-left: 153px;
} }
#org-team-card .desc {
font-size: 14px;
padding: 10px 20px;
}
#org-team-card .team-stats {
padding: 0 20px 10px 20px;
text-transform: uppercase;
border-bottom: 1px solid #dddddd;
}
#org-team-card .panel-footer {
padding: 10px 20px;
}

View file

@ -183,3 +183,17 @@
margin-left: 153px; margin-left: 153px;
} }
} }
#org-team-card {
.desc {
font-size: 14px;
padding: 10px 20px;
}
.team-stats {
padding: 0 20px 10px 20px;
text-transform: uppercase;
border-bottom: 1px solid #dddddd;
}
.panel-footer {
padding: 10px 20px;
}
}

View file

@ -15,6 +15,7 @@ import (
const ( const (
TEAMS base.TplName = "org/team/teams" TEAMS base.TplName = "org/team/teams"
TEAM_NEW base.TplName = "org/team/new" TEAM_NEW base.TplName = "org/team/new"
TEAM_MEMBERS base.TplName = "org/team/members"
) )
func Teams(ctx *middleware.Context) { func Teams(ctx *middleware.Context) {
@ -121,6 +122,7 @@ func EditTeam(ctx *middleware.Context) {
} }
func SingleTeam(ctx *middleware.Context) { func SingleTeam(ctx *middleware.Context) {
ctx.Data["Title"] = "single-team" + ctx.Params(":org") ctx.Data["Title"] = ctx.Org.Team.Name
ctx.HTML(200, "org/team") ctx.Data["PageIsOrgTeams"] = true
ctx.HTML(200, TEAM_MEMBERS)
} }

View file

@ -1,6 +1,6 @@
{{template "ng/base/head" .}} {{template "ng/base/head" .}}
{{template "ng/base/header" .}} {{template "ng/base/header" .}}
{{template "org/header" .}} {{template "org/base/header" .}}
<div id="setting-wrapper" class="main-wrapper"> <div id="setting-wrapper" class="main-wrapper">
<div id="org-setting" class="container clear"> <div id="org-setting" class="container clear">
{{template "org/settings/nav" .}} {{template "org/settings/nav" .}}

View file

@ -1,6 +1,6 @@
{{template "ng/base/head" .}} {{template "ng/base/head" .}}
{{template "ng/base/header" .}} {{template "ng/base/header" .}}
{{template "org/header" .}} {{template "org/base/header" .}}
<div id="setting-wrapper" class="main-wrapper"> <div id="setting-wrapper" class="main-wrapper">
<div id="org-setting" class="container clear"> <div id="org-setting" class="container clear">
{{template "org/settings/nav" .}} {{template "org/settings/nav" .}}

View file

@ -0,0 +1,18 @@
{{template "ng/base/head" .}}
{{template "ng/base/header" .}}
{{template "org/base/header" .}}
<div id="setting-wrapper" class="main-wrapper">
<div id="org-setting" class="container clear">
{{template "org/team/sidebar" .}}
<div class="grid-2-3 left">
<div class="setting-content">
<div class="panel panel-radius">
<div class="panel-header">
{{.i18n.Tr "org.teams.members"}}
</div>
</div>
</div>
</div>
</div>
</div>
{{template "ng/base/footer" .}}

View file

View file

@ -0,0 +1,26 @@
<div class="grid-1-3 panel panel-radius left" id="org-team-card">
<div class="panel-header">
{{if .Team.IsMember $.SignedUser.Id}}
<a class="btn btn-small btn-red btn-header btn-radius right" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/action/leave?page=team">{{$.i18n.Tr "org.teams.leave"}}</a>
{{else}}
<a class="btn btn-small btn-blue btn-header btn-radius right" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/action/join?page=team">{{$.i18n.Tr "org.teams.join"}}</a>
{{end}}
<strong>{{.Team.Name}}</strong>
</div>
<div class="panel-body">
<p class="desc">{{if .Team.Description}}{{.Team.Description}}{{else}}{{.i18n.Tr "org.teams.no_desc"}}{{end}}</p>
<hr>
<div class="team-stats">
<a class="text-black"><strong>{{.Team.NumMembers}}</strong> {{$.i18n.Tr "org.lower_members"}}</a> ·
<a class="text-black"><strong>{{.Team.NumRepos}}</strong> {{$.i18n.Tr "org.lower_repositories"}}</a>
</div>
<p class="desc">
{{if eq .Team.LowerName "owners"}}
{{.i18n.Tr "org.teams.owners_permission_desc" | Str2html}}
{{end}}
</p>
</div>
<div class="panel-footer">
<a class="btn btn-medium btn-green btn-link btn-radius" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/edit"><span class="octicon octicon-gear"></span> {{$.i18n.Tr "org.teams.settings"}}</a>
</div>
</div>