Explorar o código

Working on organization pages

Unknwon %!s(int64=10) %!d(string=hai) anos
pai
achega
fa60502a70

+ 4 - 0
conf/locale/locale_en-US.ini

@@ -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.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.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]
 create_repo = created repository <a href="/%s">%s</a>

+ 4 - 0
conf/locale/locale_zh-CN.ini

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

+ 12 - 0
public/ng/css/gogs.css

@@ -1859,3 +1859,15 @@ textarea#issue-add-content {
 #team-create-form .note {
   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;
+}

+ 14 - 0
public/ng/less/gogs/organization.less

@@ -182,4 +182,18 @@
 	.note {
 		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;
+	}
 }

+ 6 - 4
routers/org/teams.go

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

+ 1 - 1
templates/org/settings/delete.tmpl

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

+ 1 - 1
templates/org/settings/options.tmpl

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

+ 18 - 0
templates/org/team/members.tmpl

@@ -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" .}}

+ 0 - 0
templates/org/team/repositories.tmpl


+ 26 - 0
templates/org/team/sidebar.tmpl

@@ -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>