This commit is contained in:
zhsso committed 2014-04-10 14:20:58 -04:00
1 parent f3ed11d177
commit a4cbe79567
165 files changed
+18302

No files matched your search

+179
View File
@@ -0,0 +1,179 @@
{{template "base/head" .}}
{{template "base/navbar" .}}
<div id="body" class="container" data-page="admin">
{{template "admin/nav" .}}
<div id="admin-container" class="col-md-10">
<div class="panel panel-default">
<div class="panel-heading">
Server Configuration
</div>
<div class="panel-body">
<dl class="dl-horizontal admin-dl-horizontal">
<dt>Application Name</dt>
<dd>{{AppName}}</dd>
<dt>Application Version</dt>
<dd>{{AppVer}}</dd>
<dt>Application URL</dt>
<dd>{{.AppUrl}}</dd>
<dt>Domain</dt>
<dd>{{.Domain}}</dd>
<hr/>
<dt>Run User</dt>
<dd>{{.RunUser}}</dd>
<dt>Run Mode</dt>
<dd>{{.RunMode}}</dd>
<hr/>
<dt>Repository Root Path</dt>
<dd>{{.RepoRootPath}}</dd>
</dl>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Database Configuration
</div>
<div class="panel-body">
<dl class="dl-horizontal admin-dl-horizontal">
<dt>Type</dt>
<dd>{{.DbCfg.Type}}</dd>
<dt>Host</dt>
<dd>{{.DbCfg.Host}}</dd>
<dt>Name</dt>
<dd>{{.DbCfg.Name}}</dd>
<dt>User</dt>
<dd>{{.DbCfg.User}}</dd>
<dt>SslMode</dt>
<dd>{{.DbCfg.SslMode}} (for "postgres" only)</dd>
<dt>Path</dt>
<dd>{{.DbCfg.Path}} (for "sqlite3" only)</dd>
</dl>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Service Configuration
</div>
<div class="panel-body">
<dl class="dl-horizontal admin-dl-horizontal">
<dt>Register Email Confirmation</dt>
<dd><i class="fa fa{{if .Service.RegisterEmailConfirm}}-check{{end}}-square-o"></i></dd>
<dt>Disenable Registeration</dt>
<dd><i class="fa fa{{if .Service.DisenableRegisteration}}-check{{end}}-square-o"></i></dd>
<dt>Require Sign In View</dt>
<dd><i class="fa fa{{if .Service.RequireSignInView}}-check{{end}}-square-o"></i></dd>
<dt>Mail Notification</dt>
<dd><i class="fa fa{{if .Service.NotifyMail}}-check{{end}}-square-o"></i></dd>
<dt>Enable Cache Avatar</dt>
<dd><i class="fa fa{{if .Service.EnableCacheAvatar}}-check{{end}}-square-o"></i></dd>
<hr/>
<dt>Active Code Lives</dt>
<dd>{{.Service.ActiveCodeLives}} minutes</dd>
<dt>Reset Password Code Lives</dt>
<dd>{{.Service.ResetPwdCodeLives}} minutes</dd>
</dl>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Mailer Configuration
</div>
<div class="panel-body">
<dl class="dl-horizontal admin-dl-horizontal">
<dt>Enabled</dt>
<dd><i class="fa fa{{if .MailerEnabled}}-check{{end}}-square-o"></i></dd>
<dt>Name</dt>
<dd>{{.Mailer.Name}}</dd>
<dt>Host</dt>
<dd>{{.Mailer.Host}}</dd>
<dt>User</dt>
<dd>{{.Mailer.User}}</dd>
</dl>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Cache Configuration
</div>
<div class="panel-body">
<dl class="dl-horizontal admin-dl-horizontal">
<dt>Cache Adapter</dt>
<dd>{{.CacheAdapter}}</dd>
<dt>Cache Config</dt>
<dd><div style="padding-top: 5px;"><pre>{{.CacheConfig}}</pre></div></dd>
</dl>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Session Configuration
</div>
<div class="panel-body">
<dl class="dl-horizontal admin-dl-horizontal">
<dt>Session Provider</dt>
<dd>{{.SessionProvider}}</dd>
<dt>Cookie Name</dt>
<dd>{{.SessionConfig.CookieName}}</dd>
<dt>Enable Set Cookie</dt>
<dd><i class="fa fa{{if .SessionConfig.EnableSetCookie}}-check{{end}}-square-o"></i></dd>
<dt>GC Interval Time</dt>
<dd>{{.SessionConfig.GcIntervalTime}} seconds</dd>
<dt>Session Life Time</dt>
<dd>{{.SessionConfig.SessionLifeTime}} seconds</dd>
<dt>HTTPS Only</dt>
<dd><i class="fa fa{{if .SessionConfig.CookieSecure}}-check{{end}}-square-o"></i></dd>
<dt>Cookie Life Time</dt>
<dd>{{.SessionConfig.CookieLifeTime}} seconds</dd>
<dt>Session ID Hash Function</dt>
<dd>{{.SessionConfig.SessionIDHashFunc}}</dd>
<dt>Session ID Hash Key</dt>
<dd>{{.SessionConfig.SessionIDHashKey}}</dd>
<dt>Provider Config</dt>
<dd>{{.SessionConfig.ProviderConfig}}</dd>
</dl>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Picture Configuration
</div>
<div class="panel-body">
<dl class="dl-horizontal admin-dl-horizontal">
<dt>Picture Service</dt>
<dd>{{.PictureService}}</dd>
</dl>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Log Configuration
</div>
<div class="panel-body">
<dl class="dl-horizontal admin-dl-horizontal">
<dt>Log Mode</dt>
<dd>{{.LogMode}}</dd>
<dt>Log Config</dt>
<dd>
<div style="padding-top: 5px;"><pre>{{.LogConfig}}</pre></div>
</dd>
</dl>
</div>
</div>
</div>
</div>
{{template "base/footer" .}}
+115
View File
@@ -0,0 +1,115 @@
{{template "base/head" .}}
{{template "base/navbar" .}}
<div id="body" class="container" data-page="admin">
{{template "admin/nav" .}}
<div id="admin-container" class="col-md-10">
<div class="panel panel-default">
<div class="panel-heading">
Statistic
</div>
<div class="panel-body">
Gogs database has <b>{{.Stats.Counter.User}}</b> users, <b>{{.Stats.Counter.PublicKey}}</b> SSH keys, <b>{{.Stats.Counter.Repo}}</b> repositories, <b>{{.Stats.Counter.Watch}}</b> watches, <b>{{.Stats.Counter.Action}}</b> actions, and <b>{{.Stats.Counter.Access}}</b> accesses.
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
System Monitor Status
</div>
<div class="panel-body">
<dl class="dl-horizontal admin-dl-horizontal">
<dt>Server Uptime</dt>
<dd>{{.SysStatus.Uptime}}</dd>
<dt>Current Goroutines</dt>
<dd>{{.SysStatus.NumGoroutine}}</dd>
<hr/>
<dt>Current Memory Usage</dt>
<dd>{{.SysStatus.MemAllocated}}</dd>
<dt>Total Memory Allocated</dt>
<dd>{{.SysStatus.MemTotal}}</dd>
<dt>Memory Obtained</dt>
<dd>{{.SysStatus.MemSys}}</dd>
<dt>Pointer Lookup Times</dt>
<dd>{{.SysStatus.Lookups}}</dd>
<dt>Memory Allocate Times</dt>
<dd>{{.SysStatus.MemMallocs}}</dd>
<dt>Memory Free Times</dt>
<dd>{{.SysStatus.MemFrees}}</dd>
<hr/>
<dt>Current Heap Usage</dt>
<dd>{{.SysStatus.HeapAlloc}}</dd>
<dt>Heap Memory Obtained</dt>
<dd>{{.SysStatus.HeapSys}}</dd>
<dt>Heap Memory Idle</dt>
<dd>{{.SysStatus.HeapIdle}}</dd>
<dt>Heap Memory In Use</dt>
<dd>{{.SysStatus.HeapInuse}}</dd>
<dt>Heap Memory Released</dt>
<dd>{{.SysStatus.HeapReleased}}</dd>
<dt>Heap Objects</dt>
<dd>{{.SysStatus.HeapObjects}}</dd>
<hr/>
<dt>Bootstrap Stack Usage</dt>
<dd>{{.SysStatus.StackInuse}}</dd>
<dt>Stack Memory Obtained</dt>
<dd>{{.SysStatus.StackSys}}</dd>
<dt>MSpan Structures Usage</dt>
<dd>{{.SysStatus.MSpanInuse}}</dd>
<dt>MSpan Structures Obtained</dt>
<dd>{{.SysStatus.HeapSys}}</dd>
<dt>MCache Structures Usage</dt>
<dd>{{.SysStatus.MCacheInuse}}</dd>
<dt>MCache Structures Obtained</dt>
<dd>{{.SysStatus.MCacheSys}}</dd>
<dt>Profiling Bucket Hash Table Obtained</dt>
<dd>{{.SysStatus.BuckHashSys}}</dd>
<dt>GC Metadada Obtained</dt>
<dd>{{.SysStatus.GCSys}}</dd>
<dt>Other System Allocation Obtained</dt>
<dd>{{.SysStatus.OtherSys}}</dd>
<hr/>
<dt>Next GC Recycle</dt>
<dd>{{.SysStatus.NextGC}}</dd>
<dt>Last GC Time</dt>
<dd>{{.SysStatus.LastGC}} ago</dd>
<dt>Total GC Pause</dt>
<dd>{{.SysStatus.PauseTotalNs}}</dd>
<dt>Last GC Pause</dt>
<dd>{{.SysStatus.PauseNs}}</dd>
<dt>GC Times</dt>
<dd>{{.SysStatus.NumGC}}</dd>
</dl>
</div>
</div>
</div>
</div>
{{template "base/footer" .}}
+8
View File
@@ -0,0 +1,8 @@
<div id="user-setting-nav" class="col-md-2 admin-nav">
<ul class="list-group">
<li class="list-group-item{{if .PageIsDashboard}} active{{end}}"><a href="/admin"><i class="fa fa-tachometer fa-lg"></i> Dashboard</a></li>
<li class="list-group-item{{if .PageIsUsers}} active{{end}}"><a href="/admin/users"><i class="fa fa-users fa-lg"></i> Users</a></li>
<li class="list-group-item{{if .PageIsRepos}} active{{end}}"><a href="/admin/repos"><i class="fa fa-book fa-lg"></i> Repositories</a></li>
<li class="list-group-item{{if .PageIsConfig}} active{{end}}"><a href="/admin/config"><i class="fa fa-cogs fa-lg"></i> Configuration</a></li>
</ul>
</div>
+42
View File
@@ -0,0 +1,42 @@
{{template "base/head" .}}
{{template "base/navbar" .}}
<div id="body" class="container" data-page="admin">
{{template "admin/nav" .}}
<div id="admin-container" class="col-md-10">
<div class="panel panel-default">
<div class="panel-heading">
Repository Management
</div>
<div class="panel-body">
<table class="table table-striped">
<thead>
<tr>
<th>Id</th>
<th>Owner</th>
<th>Name</th>
<th>Private</th>
<th>Watches</th>
<th>Forks</th>
<th>Created</th>
</tr>
</thead>
<tbody>
{{range .Repos}}
<tr>
<td>{{.Id}}</td>
<th>{{.UserName}}</th>
<td><a href="/{{.UserName}}/{{.Name}}">{{.Name}}</a></td>
<td><i class="fa fa{{if .IsPrivate}}-check{{end}}-square-o"></i></td>
<td>{{.NumWatches}}</td>
<td>{{.NumForks}}</td>
<td>{{DateFormat .Created "M d, Y"}}</td>
</tr>
{{end}}
</tbody>
</table>
</div>
</div>
</div>
</div>
{{template "base/footer" .}}
+45
View File
@@ -0,0 +1,45 @@
{{template "base/head" .}}
{{template "base/navbar" .}}
<div id="body" class="container" data-page="admin">
{{template "admin/nav" .}}
<div id="admin-container" class="col-md-10">
<div class="panel panel-default">
<div class="panel-heading">
User Management
</div>
<div class="panel-body">
<a href="/admin/users/new" class="btn btn-primary">New Account</a>
<table class="table table-striped">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>E-mail</th>
<th>Actived</th>
<th>Admin</th>
<th>Repos</th>
<th>Join</th>
<th>Edit</th>
</tr>
</thead>
<tbody>
{{range .Users}}
<tr>
<td>{{.Id}}</td>
<td><a href="/user/{{.Name}}">{{.Name}}</a></td>
<td>{{.Email}}</td>
<td><i class="fa fa{{if .IsActive}}-check{{end}}-square-o"></i></td>
<td><i class="fa fa{{if .IsAdmin}}-check{{end}}-square-o"></i></td>
<td>{{.NumRepos}}</td>
<td>{{DateFormat .Created "M d, Y"}}</td>
<td><a href="/admin/users/{{.Id}}"><i class="fa fa-pencil-square-o"></i></a></td>
</tr>
{{end}}
</tbody>
</table>
</div>
</div>
</div>
</div>
{{template "base/footer" .}}
+84
View File
@@ -0,0 +1,84 @@
{{template "base/head" .}}
{{template "base/navbar" .}}
<div id="body" class="container" data-page="admin">
{{template "admin/nav" .}}
<div id="admin-container" class="col-md-9">
<div class="panel panel-default">
<div class="panel-heading">
Edit Account
</div>
<div class="panel-body">
<br/>
<form action="/admin/users/{{.User.Id}}" method="post" class="form-horizontal">
{{if .IsSuccess}}<p class="alert alert-success">Account profile has been successfully updated.</p>{{else if .HasError}}<p class="alert alert-danger form-error">{{.ErrorMsg}}</p>{{end}}
{{.CsrfTokenHtml}}
<input type="hidden" value="{{.User.Id}}" name="userId"/>
<div class="form-group">
<label class="col-md-3 control-label">Username: </label>
<label class="control-label">{{.User.Name}}</label>
</div>
<div class="form-group {{if .Err_Email}}has-error has-feedback{{end}}">
<label class="col-md-3 control-label">Email<strong class="text-danger">*</strong></label>
<div class="col-md-7">
<input name="email" class="form-control" placeholder="Type account's e-mail address" value="{{.User.Email}}" required="required">
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">Website</label>
<div class="col-md-7">
<input name="website" class="form-control" placeholder="Type account's website URL" value="{{.User.Website}}">
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">Location</label>
<div class="col-md-7">
<input name="location" class="form-control" placeholder="Type account's current location" value="{{.User.Location}}">
</div>
</div>
<div class="form-group {{if .Err_Avatar}}has-error has-feedback{{end}}">
<label class="col-md-3 control-label">Gravatar Email<strong class="text-danger">*</strong></label>
<div class="col-md-7">
<input name="avatar" class="form-control" placeholder="Type account's Gravatar e-mail address" required="required" value="{{.User.AvatarEmail}}">
</div>
</div>
<div class="form-group">
<div class="col-md-7 col-md-offset-3">
<div class="checkbox">
<label>
<input type="checkbox" name="active" {{if .User.IsActive}}checked{{end}}>
<strong>This account has activated</strong>
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-7 col-md-offset-3">
<div class="checkbox">
<label>
<input type="checkbox" name="admin" {{if .User.IsAdmin}}checked{{end}}>
<strong>This account has administor permisson</strong>
</label>
</div>
</div>
</div>
<hr/>
<div class="form-group">
<div class="col-md-offset-3 col-md-6">
<button type="submit" class="btn btn-lg btn-primary btn-block">Update account profile</button>
<a type="button" href="/admin/users/{{.User.Id}}/delete" class="btn btn-lg btn-danger btn-block">Delete this account</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
{{template "base/footer" .}}
+55
View File
@@ -0,0 +1,55 @@
{{template "base/head" .}}
{{template "base/navbar" .}}
<div id="body" class="container" data-page="admin">
{{template "admin/nav" .}}
<div id="admin-container" class="col-md-9">
<div class="panel panel-default">
<div class="panel-heading">
New Account
</div>
<div class="panel-body">
<br/>
<form action="/admin/users/new" method="post" class="form-horizontal">
{{.CsrfTokenHtml}}
<div class="alert alert-danger form-error{{if .HasError}}{{else}} hidden{{end}}">{{.ErrorMsg}}</div>
<div class="form-group {{if .Err_UserName}}has-error has-feedback{{end}}">
<label class="col-md-3 control-label">Username: </label>
<div class="col-md-7">
<input name="username" class="form-control" placeholder="Type account's username" value="{{.username}}" required="required">
</div>
</div>
<div class="form-group {{if .Err_Email}}has-error has-feedback{{end}}">
<label class="col-md-3 control-label">Email: </label>
<div class="col-md-7">
<input name="email" class="form-control" placeholder="Type account's e-mail address" value="{{.email}}" required="required" title="Email is not valid">
</div>
</div>
<div class="form-group {{if .Err_Password}}has-error has-feedback{{end}}">
<label class="col-md-3 control-label">Password: </label>
<div class="col-md-7">
<input name="passwd" type="password" class="form-control" placeholder="Type account's password" required="required" title="Password must contain at least 6 characters">
</div>
</div>
<div class="form-group {{if .Err_RetypePasswd}}has-error has-feedback{{end}}">
<label class="col-md-3 control-label">Re-type: </label>
<div class="col-md-7">
<input name="retypepasswd" type="password" class="form-control" placeholder="Re-type account's password" required="required" title="Re-type Password must be same to Password">
</div>
</div>
<hr/>
<div class="form-group">
<div class="col-md-offset-3 col-md-7">
<button type="submit" class="btn btn-lg btn-primary">Create new account</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
{{template "base/footer" .}}