mirror of
https://github.com/go-gitea/gitea.git
synced 2026-11-06 00:31:25 +00:00
fix
This commit is contained in:
1 parent
f3ed11d177
commit
a4cbe79567
165 files changed
+18302
No files matched your search
@@ -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" .}}
|
||||
@@ -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" .}}
|
||||
@@ -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>
|
||||
@@ -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" .}}
|
||||
@@ -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" .}}
|
||||
@@ -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" .}}
|
||||
@@ -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" .}}
|
||||
Reference in new issue
Block a user