diff options
author | Adam Strzelecki <ono@java.pl> | 2015-12-07 23:30:52 +0100 |
---|---|---|
committer | Adam Strzelecki <ono@java.pl> | 2015-12-08 00:57:46 +0100 |
commit | da2585c11e11023ffa7a8c69d21c6fecac520a8e (patch) | |
tree | 1c2a575dfc00e0e78f47c497a6d9347b3edeca9a | |
parent | dd8a06a397e26c46639eba1313102560dfa49c95 (diff) | |
download | gitea-da2585c11e11023ffa7a8c69d21c6fecac520a8e.tar.gz gitea-da2585c11e11023ffa7a8c69d21c6fecac520a8e.zip |
Indent all templates with tabs
This commit improves templates readability, since all of them use consistent
indent with all template command blocks indented too.
1. Indents both HTML containers such as <div>, <p> and Go HTML template blocks
such as {{if}} {{with}}
2. Cleans all trailing white-space
3. Adds trailing last line-break to each file
114 files changed, 5564 insertions, 5556 deletions
diff --git a/templates/admin/auth/edit.tmpl b/templates/admin/auth/edit.tmpl index e1d1d7660a..5c99af3a38 100644 --- a/templates/admin/auth/edit.tmpl +++ b/templates/admin/auth/edit.tmpl @@ -1,164 +1,164 @@ {{template "base/head" .}} <div class="admin edit authentication"> - <div class="ui container"> - <div class="ui grid"> - {{template "admin/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.auths.edit"}} - </h4> - <div class="ui attached segment"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <input type="hidden" name="id" value="{{.Source.ID}}"> - <div class="inline field"> - <label>{{$.i18n.Tr "admin.auths.auth_type"}}</label> - <input type="hidden" name="type" value="{{.Source.Type}}"> - <span>{{.Source.TypeName}}</span> - </div> - <div class="required inline field {{if .Err_Name}}error{{end}}"> - <label for="name">{{.i18n.Tr "admin.auths.auth_name"}}</label> - <input id="name" name="name" value="{{.Source.Name}}" autofocus required> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "admin/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.auths.edit"}} + </h4> + <div class="ui attached segment"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <input type="hidden" name="id" value="{{.Source.ID}}"> + <div class="inline field"> + <label>{{$.i18n.Tr "admin.auths.auth_type"}}</label> + <input type="hidden" name="type" value="{{.Source.Type}}"> + <span>{{.Source.TypeName}}</span> + </div> + <div class="required inline field {{if .Err_Name}}error{{end}}"> + <label for="name">{{.i18n.Tr "admin.auths.auth_name"}}</label> + <input id="name" name="name" value="{{.Source.Name}}" autofocus required> + </div> - <!-- LDAP and DLDAP --> - {{if or .Source.IsLDAP .Source.IsDLDAP}} - {{ $cfg:=.Source.LDAP }} - <div class="required field"> - <label for="host">{{.i18n.Tr "admin.auths.host"}}</label> - <input id="host" name="host" value="{{$cfg.Host}}" placeholder="e.g. mydomain.com" required> - </div> - <div class="required field"> - <label for="port">{{.i18n.Tr "admin.auths.port"}}</label> - <input id="port" name="port" value="{{$cfg.Port}}" placeholder="e.g. 636" required> - </div> - {{if .Source.IsLDAP}} - <div class="required field"> - <label for="bind_dn">{{.i18n.Tr "admin.auths.bind_dn"}}</label> - <input id="bind_dn" name="bind_dn" value="{{$cfg.BindDN}}" placeholder="e.g. cn=Search,dc=mydomain,dc=com" required> - </div> - <input class="fake" type="password"> - <div class="required field"> - <label for="bind_password">{{.i18n.Tr "admin.auths.bind_password"}}</label> - <input id="bind_password" name="bind_password" type="password" value="{{$cfg.BindPassword}}" required> - <p class="help text red">{{.i18n.Tr "admin.auths.bind_password_helper"}}</p> - </div> - <div class="required field"> - <label for="user_base">{{.i18n.Tr "admin.auths.user_base"}}</label> - <input id="user_base" name="user_base" value="{{$cfg.UserBase}}" placeholder="e.g. ou=Users,dc=mydomain,dc=com" required> - </div> - {{end}} - {{if .Source.IsDLDAP}} - <div class="required field"> - <label for="user_dn">{{.i18n.Tr "admin.auths.user_dn"}}</label> - <input id="user_dn" name="user_dn" value="{{$cfg.UserDN}}" placeholder="e.g. uid=%s,ou=Users,dc=mydomain,dc=com" required> - </div> - {{end}} - <div class="required field"> - <label for="filter">{{.i18n.Tr "admin.auths.filter"}}</label> - <input id="filter" name="filter" value="{{$cfg.Filter}}" placeholder="e.g. (&(objectClass=posixAccount)(uid=%s))" required> - </div> - <div class="field"> - <label for="admin_filter">{{.i18n.Tr "admin.auths.admin_filter"}}</label> - <input id="admin_filter" name="admin_filter" value="{{$cfg.AdminFilter}}"> - </div> - <div class="field"> - <label for="attribute_username">{{.i18n.Tr "admin.auths.attribute_username"}}</label> - <input id="attribute_username" name="attribute_username" value="{{$cfg.AttributeUsername}}" placeholder="{{.i18n.Tr "admin.auths.attribute_username_placeholder"}}"> - </div> - <div class="field"> - <label for="attribute_name">{{.i18n.Tr "admin.auths.attribute_name"}}</label> - <input id="attribute_name" name="attribute_name" value="{{$cfg.AttributeName}}"> - </div> - <div class="field"> - <label for="attribute_surname">{{.i18n.Tr "admin.auths.attribute_surname"}}</label> - <input id="attribute_surname" name="attribute_surname" value="{{$cfg.AttributeSurname}}"> - </div> - <div class="required field"> - <label for="attribute_mail">{{.i18n.Tr "admin.auths.attribute_mail"}}</label> - <input id="attribute_mail" name="attribute_mail" value="{{$cfg.AttributeMail}}" placeholder="e.g. mail" required> - </div> - {{end}} + <!-- LDAP and DLDAP --> + {{if or .Source.IsLDAP .Source.IsDLDAP}} + {{ $cfg:=.Source.LDAP }} + <div class="required field"> + <label for="host">{{.i18n.Tr "admin.auths.host"}}</label> + <input id="host" name="host" value="{{$cfg.Host}}" placeholder="e.g. mydomain.com" required> + </div> + <div class="required field"> + <label for="port">{{.i18n.Tr "admin.auths.port"}}</label> + <input id="port" name="port" value="{{$cfg.Port}}" placeholder="e.g. 636" required> + </div> + {{if .Source.IsLDAP}} + <div class="required field"> + <label for="bind_dn">{{.i18n.Tr "admin.auths.bind_dn"}}</label> + <input id="bind_dn" name="bind_dn" value="{{$cfg.BindDN}}" placeholder="e.g. cn=Search,dc=mydomain,dc=com" required> + </div> + <input class="fake" type="password"> + <div class="required field"> + <label for="bind_password">{{.i18n.Tr "admin.auths.bind_password"}}</label> + <input id="bind_password" name="bind_password" type="password" value="{{$cfg.BindPassword}}" required> + <p class="help text red">{{.i18n.Tr "admin.auths.bind_password_helper"}}</p> + </div> + <div class="required field"> + <label for="user_base">{{.i18n.Tr "admin.auths.user_base"}}</label> + <input id="user_base" name="user_base" value="{{$cfg.UserBase}}" placeholder="e.g. ou=Users,dc=mydomain,dc=com" required> + </div> + {{end}} + {{if .Source.IsDLDAP}} + <div class="required field"> + <label for="user_dn">{{.i18n.Tr "admin.auths.user_dn"}}</label> + <input id="user_dn" name="user_dn" value="{{$cfg.UserDN}}" placeholder="e.g. uid=%s,ou=Users,dc=mydomain,dc=com" required> + </div> + {{end}} + <div class="required field"> + <label for="filter">{{.i18n.Tr "admin.auths.filter"}}</label> + <input id="filter" name="filter" value="{{$cfg.Filter}}" placeholder="e.g. (&(objectClass=posixAccount)(uid=%s))" required> + </div> + <div class="field"> + <label for="admin_filter">{{.i18n.Tr "admin.auths.admin_filter"}}</label> + <input id="admin_filter" name="admin_filter" value="{{$cfg.AdminFilter}}"> + </div> + <div class="field"> + <label for="attribute_username">{{.i18n.Tr "admin.auths.attribute_username"}}</label> + <input id="attribute_username" name="attribute_username" value="{{$cfg.AttributeUsername}}" placeholder="{{.i18n.Tr "admin.auths.attribute_username_placeholder"}}"> + </div> + <div class="field"> + <label for="attribute_name">{{.i18n.Tr "admin.auths.attribute_name"}}</label> + <input id="attribute_name" name="attribute_name" value="{{$cfg.AttributeName}}"> + </div> + <div class="field"> + <label for="attribute_surname">{{.i18n.Tr "admin.auths.attribute_surname"}}</label> + <input id="attribute_surname" name="attribute_surname" value="{{$cfg.AttributeSurname}}"> + </div> + <div class="required field"> + <label for="attribute_mail">{{.i18n.Tr "admin.auths.attribute_mail"}}</label> + <input id="attribute_mail" name="attribute_mail" value="{{$cfg.AttributeMail}}" placeholder="e.g. mail" required> + </div> + {{end}} - <!-- SMTP --> - {{if .Source.IsSMTP}} - {{ $cfg:=.Source.SMTP }} - <div class="inline required field"> - <label>{{.i18n.Tr "admin.auths.smtp_auth"}}</label> - <div class="ui selection type dropdown"> - <input type="hidden" id="smtp_auth" name="smtp_auth" value="{{$cfg.Auth}}" required> - <div class="text">{{$cfg.Auth}}</div> - <i class="dropdown icon"></i> - <div class="menu"> - {{range .SMTPAuths}} - <div class="item" data-value="{{.}}">{{.}}</div> - {{end}} - </div> - </div> - </div> - <div class="required field"> - <label for="smtp_host">{{.i18n.Tr "admin.auths.smtphost"}}</label> - <input id="smtp_host" name="smtp_host" value="{{$cfg.Host}}" required> - </div> - <div class="required field"> - <label for="smtp_port">{{.i18n.Tr "admin.auths.smtpport"}}</label> - <input id="smtp_port" name="smtp_port" value="{{$cfg.Port}}" required> - </div> - <div class="field"> - <label for="allowed_domains">{{.i18n.Tr "admin.auths.allowed_domains"}}</label> - <input id="allowed_domains" name="allowed_domains" value="{{$cfg.AllowedDomains}}"> - <p class="help">{{.i18n.Tr "admin.auths.allowed_domains_helper"}}</p> - </div> - {{end}} + <!-- SMTP --> + {{if .Source.IsSMTP}} + {{ $cfg:=.Source.SMTP }} + <div class="inline required field"> + <label>{{.i18n.Tr "admin.auths.smtp_auth"}}</label> + <div class="ui selection type dropdown"> + <input type="hidden" id="smtp_auth" name="smtp_auth" value="{{$cfg.Auth}}" required> + <div class="text">{{$cfg.Auth}}</div> + <i class="dropdown icon"></i> + <div class="menu"> + {{range .SMTPAuths}} + <div class="item" data-value="{{.}}">{{.}}</div> + {{end}} + </div> + </div> + </div> + <div class="required field"> + <label for="smtp_host">{{.i18n.Tr "admin.auths.smtphost"}}</label> + <input id="smtp_host" name="smtp_host" value="{{$cfg.Host}}" required> + </div> + <div class="required field"> + <label for="smtp_port">{{.i18n.Tr "admin.auths.smtpport"}}</label> + <input id="smtp_port" name="smtp_port" value="{{$cfg.Port}}" required> + </div> + <div class="field"> + <label for="allowed_domains">{{.i18n.Tr "admin.auths.allowed_domains"}}</label> + <input id="allowed_domains" name="allowed_domains" value="{{$cfg.AllowedDomains}}"> + <p class="help">{{.i18n.Tr "admin.auths.allowed_domains_helper"}}</p> + </div> + {{end}} - <!-- PAM --> - {{if .Source.IsPAM}} - {{ $cfg:=.Source.PAM }} - <div class="required field"> - <label for="pam_service_name">{{.i18n.Tr "admin.auths.pam_service_name"}}</label> - <input id="pam_service_name" name="pam_service_name" value="{{$cfg.ServiceName}}" required> - </div> - {{end}} + <!-- PAM --> + {{if .Source.IsPAM}} + {{ $cfg:=.Source.PAM }} + <div class="required field"> + <label for="pam_service_name">{{.i18n.Tr "admin.auths.pam_service_name"}}</label> + <input id="pam_service_name" name="pam_service_name" value="{{$cfg.ServiceName}}" required> + </div> + {{end}} - <div class="inline field {{if not (or (or .Source.IsLDAP .Source.IsDLDAP) .Source.IsSMTP)}}hide{{end}}"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "admin.auths.enable_tls"}}</strong></label> - <input name="tls" type="checkbox" {{if .Source.UseTLS}}checked{{end}}> - </div> - </div> - <div class="inline field {{if not (or (or .Source.IsLDAP .Source.IsDLDAP) .Source.IsSMTP)}}hide{{end}}"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "admin.auths.skip_tls_verify"}}</strong></label> - <input name="skip_verify" type="checkbox" {{if .Source.SkipVerify}}checked{{end}}> - </div> - </div> - <div class="inline field"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "admin.auths.activated"}}</strong></label> - <input name="is_active" type="checkbox" {{if .Source.IsActived}}checked{{end}}> - </div> - </div> + <div class="inline field {{if not (or (or .Source.IsLDAP .Source.IsDLDAP) .Source.IsSMTP)}}hide{{end}}"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "admin.auths.enable_tls"}}</strong></label> + <input name="tls" type="checkbox" {{if .Source.UseTLS}}checked{{end}}> + </div> + </div> + <div class="inline field {{if not (or (or .Source.IsLDAP .Source.IsDLDAP) .Source.IsSMTP)}}hide{{end}}"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "admin.auths.skip_tls_verify"}}</strong></label> + <input name="skip_verify" type="checkbox" {{if .Source.SkipVerify}}checked{{end}}> + </div> + </div> + <div class="inline field"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "admin.auths.activated"}}</strong></label> + <input name="is_active" type="checkbox" {{if .Source.IsActived}}checked{{end}}> + </div> + </div> - <div class="field"> - <button class="ui green button">{{.i18n.Tr "admin.auths.update"}}</button> - <div class="ui red button delete-button" data-url="{{$.Link}}/delete" data-id="{{.Source.ID}}">{{.i18n.Tr "admin.auths.delete"}}</div> - </div> - </form> - </div> - </div> - </div> - </div> + <div class="field"> + <button class="ui green button">{{.i18n.Tr "admin.auths.update"}}</button> + <div class="ui red button delete-button" data-url="{{$.Link}}/delete" data-id="{{.Source.ID}}">{{.i18n.Tr "admin.auths.delete"}}</div> + </div> + </form> + </div> + </div> + </div> + </div> </div> <div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "admin.auths.delete_auth_title"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "admin.auths.delete_auth_desc"}}</p> - </div> - {{template "base/delete_modal_actions" .}} + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "admin.auths.delete_auth_title"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "admin.auths.delete_auth_desc"}}</p> + </div> + {{template "base/delete_modal_actions" .}} </div> {{template "base/footer" .}} diff --git a/templates/admin/auth/list.tmpl b/templates/admin/auth/list.tmpl index 72e32c6f2b..58bdc66b2c 100644 --- a/templates/admin/auth/list.tmpl +++ b/templates/admin/auth/list.tmpl @@ -1,46 +1,46 @@ {{template "base/head" .}} <div class="admin authentication"> - <div class="ui container"> - <div class="ui grid"> - {{template "admin/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.auths.auth_manage_panel"}} ({{.i18n.Tr "admin.total" .Total}}) - <div class="ui right"> - <a class="ui blue tiny button" href="{{AppSubUrl}}/admin/auths/new">{{.i18n.Tr "admin.auths.new"}}</a> - </div> - </h4> - <div class="ui attached table segment"> - <table class="ui very basic striped table"> - <thead> - <tr> - <th>ID</th> - <th>{{.i18n.Tr "admin.auths.name"}}</th> - <th>{{.i18n.Tr "admin.auths.type"}}</th> - <th>{{.i18n.Tr "admin.auths.enabled"}}</th> - <th>{{.i18n.Tr "admin.auths.updated"}}</th> - <th>{{.i18n.Tr "admin.users.created"}}</th> - <th>{{.i18n.Tr "admin.users.edit"}}</th> - </tr> - </thead> - <tbody> - {{range .Sources}} - <tr> - <td>{{.ID}}</td> - <td><a href="{{AppSubUrl}}/admin/auths/{{.ID}}">{{.Name}}</a></td> - <td>{{.TypeName}}</td> - <td><i class="fa fa{{if .IsActived}}-check{{end}}-square-o"></i></td> - <td><span class="poping up" data-content="{{DateFmtLong .Updated}}" data-variation="tiny">{{DateFmtShort .Updated}}</span></td> - <td><span class="poping up" data-content="{{DateFmtLong .Created}}" data-variation="tiny">{{DateFmtShort .Created}}</span></td> - <td><a href="{{AppSubUrl}}/admin/auths/{{.ID}}"><i class="fa fa-pencil-square-o"></i></a></td> - </tr> - {{end}} - </tbody> - </table> + <div class="ui container"> + <div class="ui grid"> + {{template "admin/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.auths.auth_manage_panel"}} ({{.i18n.Tr "admin.total" .Total}}) + <div class="ui right"> + <a class="ui blue tiny button" href="{{AppSubUrl}}/admin/auths/new">{{.i18n.Tr "admin.auths.new"}}</a> + </div> + </h4> + <div class="ui attached table segment"> + <table class="ui very basic striped table"> + <thead> + <tr> + <th>ID</th> + <th>{{.i18n.Tr "admin.auths.name"}}</th> + <th>{{.i18n.Tr "admin.auths.type"}}</th> + <th>{{.i18n.Tr "admin.auths.enabled"}}</th> + <th>{{.i18n.Tr "admin.auths.updated"}}</th> + <th>{{.i18n.Tr "admin.users.created"}}</th> + <th>{{.i18n.Tr "admin.users.edit"}}</th> + </tr> + </thead> + <tbody> + {{range .Sources}} + <tr> + <td>{{.ID}}</td> + <td><a href="{{AppSubUrl}}/admin/auths/{{.ID}}">{{.Name}}</a></td> + <td>{{.TypeName}}</td> + <td><i class="fa fa{{if .IsActived}}-check{{end}}-square-o"></i></td> + <td><span class="poping up" data-content="{{DateFmtLong .Updated}}" data-variation="tiny">{{DateFmtShort .Updated}}</span></td> + <td><span class="poping up" data-content="{{DateFmtLong .Created}}" data-variation="tiny">{{DateFmtShort .Created}}</span></td> + <td><a href="{{AppSubUrl}}/admin/auths/{{.ID}}"><i class="fa fa-pencil-square-o"></i></a></td> + </tr> + {{end}} + </tbody> + </table> </div> </div> - </div> - </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/admin/auth/new.tmpl b/templates/admin/auth/new.tmpl index 448a4ab64a..481d0c6829 100644 --- a/templates/admin/auth/new.tmpl +++ b/templates/admin/auth/new.tmpl @@ -1,159 +1,159 @@ {{template "base/head" .}} <div class="admin new authentication"> - <div class="ui container"> - <div class="ui grid"> - {{template "admin/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.auths.new"}} - </h4> - <div class="ui attached segment"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <!-- Types and name --> - <div class="inline required field {{if .Err_Type}}error{{end}}"> - <label>{{.i18n.Tr "admin.auths.auth_type"}}</label> - <div class="ui selection type dropdown"> - <input type="hidden" id="auth_type" name="type" value="{{.type}}"> - <div class="text">{{.CurTypeName}}</div> - <i class="dropdown icon"></i> - <div class="menu"> - {{range .AuthSources}} - <div class="item" data-value="{{.Type}}">{{.Name}}</div> - {{end}} - </div> - </div> - </div> - <div class="required inline field {{if .Err_Name}}error{{end}}"> - <label for="name">{{.i18n.Tr "admin.auths.auth_name"}}</label> - <input id="name" name="name" value="{{.name}}" autofocus required> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "admin/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.auths.new"}} + </h4> + <div class="ui attached segment"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <!-- Types and name --> + <div class="inline required field {{if .Err_Type}}error{{end}}"> + <label>{{.i18n.Tr "admin.auths.auth_type"}}</label> + <div class="ui selection type dropdown"> + <input type="hidden" id="auth_type" name="type" value="{{.type}}"> + <div class="text">{{.CurTypeName}}</div> + <i class="dropdown icon"></i> + <div class="menu"> + {{range .AuthSources}} + <div class="item" data-value="{{.Type}}">{{.Name}}</div> + {{end}} + </div> + </div> + </div> + <div class="required inline field {{if .Err_Name}}error{{end}}"> + <label for="name">{{.i18n.Tr "admin.auths.auth_name"}}</label> + <input id="name" name="name" value="{{.name}}" autofocus required> + </div> - <!-- LDAP and DLDAP --> - <div class="ldap dldap field {{if not (or (eq .type 2) (eq .type 5))}}hide{{end}}"> - <div class="required field"> - <label for="host">{{.i18n.Tr "admin.auths.host"}}</label> - <input id="host" name="host" value="{{.host}}" placeholder="e.g. mydomain.com"> - </div> - <div class="required field"> - <label for="port">{{.i18n.Tr "admin.auths.port"}}</label> - <input id="port" name="port" value="{{.port}}" placeholder="e.g. 636"> - </div> - <div class="ldap required field {{if not (eq .type 2)}}hide{{end}}"> - <label for="bind_dn">{{.i18n.Tr "admin.auths.bind_dn"}}</label> - <input id="bind_dn" name="bind_dn" value="{{.bind_dn}}" placeholder="e.g. cn=Search,dc=mydomain,dc=com"> - </div> - <input class="fake" type="password"> - <div class="ldap required field {{if not (eq .type 2)}}hide{{end}}"> - <label for="bind_password">{{.i18n.Tr "admin.auths.bind_password"}}</label> - <input id="bind_password" name="bind_password" type="password" value="{{.bind_password}}"> - <p class="help text red">{{.i18n.Tr "admin.auths.bind_password_helper"}}</p> - </div> - <div class="ldap required field {{if not (eq .type 2)}}hide{{end}}"> - <label for="user_base">{{.i18n.Tr "admin.auths.user_base"}}</label> - <input id="user_base" name="user_base" value="{{.user_base}}" placeholder="e.g. ou=Users,dc=mydomain,dc=com"> - </div> - <div class="dldap required field {{if not (eq .type 5)}}hide{{end}}"> - <label for="user_dn">{{.i18n.Tr "admin.auths.user_dn"}}</label> - <input id="user_dn" name="user_dn" value="{{.user_dn}}" placeholder="e.g. uid=%s,ou=Users,dc=mydomain,dc=com"> - </div> - <div class="required field"> - <label for="filter">{{.i18n.Tr "admin.auths.filter"}}</label> - <input id="filter" name="filter" value="{{.filter}}" placeholder="e.g. (&(objectClass=posixAccount)(uid=%s))"> - </div> - <div class="field"> - <label for="admin_filter">{{.i18n.Tr "admin.auths.admin_filter"}}</label> - <input id="admin_filter" name="admin_filter" value="{{.admin_filter}}"> - </div> - <div class="field"> - <label for="attribute_username">{{.i18n.Tr "admin.auths.attribute_username"}}</label> - <input id="attribute_username" name="attribute_username" value="{{.attribute_username}}" placeholder="{{.i18n.Tr "admin.auths.attribute_username_placeholder"}}"> - </div> - <div class="field"> - <label for="attribute_name">{{.i18n.Tr "admin.auths.attribute_name"}}</label> - <input id="attribute_name" name="attribute_name" value="{{.attribute_name}}"> - </div> - <div class="field"> - <label for="attribute_surname">{{.i18n.Tr "admin.auths.attribute_surname"}}</label> - <input id="attribute_surname" name="attribute_surname" value="{{.attribute_surname}}"> - </div> - <div class="required field"> - <label for="attribute_mail">{{.i18n.Tr "admin.auths.attribute_mail"}}</label> - <input id="attribute_mail" name="attribute_mail" value="{{.attribute_mail}}" placeholder="e.g. mail"> - </div> - </div> + <!-- LDAP and DLDAP --> + <div class="ldap dldap field {{if not (or (eq .type 2) (eq .type 5))}}hide{{end}}"> + <div class="required field"> + <label for="host">{{.i18n.Tr "admin.auths.host"}}</label> + <input id="host" name="host" value="{{.host}}" placeholder="e.g. mydomain.com"> + </div> + <div class="required field"> + <label for="port">{{.i18n.Tr "admin.auths.port"}}</label> + <input id="port" name="port" value="{{.port}}" placeholder="e.g. 636"> + </div> + <div class="ldap required field {{if not (eq .type 2)}}hide{{end}}"> + <label for="bind_dn">{{.i18n.Tr "admin.auths.bind_dn"}}</label> + <input id="bind_dn" name="bind_dn" value="{{.bind_dn}}" placeholder="e.g. cn=Search,dc=mydomain,dc=com"> + </div> + <input class="fake" type="password"> + <div class="ldap required field {{if not (eq .type 2)}}hide{{end}}"> + <label for="bind_password">{{.i18n.Tr "admin.auths.bind_password"}}</label> + <input id="bind_password" name="bind_password" type="password" value="{{.bind_password}}"> + <p class="help text red">{{.i18n.Tr "admin.auths.bind_password_helper"}}</p> + </div> + <div class="ldap required field {{if not (eq .type 2)}}hide{{end}}"> + <label for="user_base">{{.i18n.Tr "admin.auths.user_base"}}</label> + <input id="user_base" name="user_base" value="{{.user_base}}" placeholder="e.g. ou=Users,dc=mydomain,dc=com"> + </div> + <div class="dldap required field {{if not (eq .type 5)}}hide{{end}}"> + <label for="user_dn">{{.i18n.Tr "admin.auths.user_dn"}}</label> + <input id="user_dn" name="user_dn" value="{{.user_dn}}" placeholder="e.g. uid=%s,ou=Users,dc=mydomain,dc=com"> + </div> + <div class="required field"> + <label for="filter">{{.i18n.Tr "admin.auths.filter"}}</label> + <input id="filter" name="filter" value="{{.filter}}" placeholder="e.g. (&(objectClass=posixAccount)(uid=%s))"> + </div> + <div class="field"> + <label for="admin_filter">{{.i18n.Tr "admin.auths.admin_filter"}}</label> + <input id="admin_filter" name="admin_filter" value="{{.admin_filter}}"> + </div> + <div class="field"> + <label for="attribute_username">{{.i18n.Tr "admin.auths.attribute_username"}}</label> + <input id="attribute_username" name="attribute_username" value="{{.attribute_username}}" placeholder="{{.i18n.Tr "admin.auths.attribute_username_placeholder"}}"> + </div> + <div class="field"> + <label for="attribute_name">{{.i18n.Tr "admin.auths.attribute_name"}}</label> + <input id="attribute_name" name="attribute_name" value="{{.attribute_name}}"> + </div> + <div class="field"> + <label for="attribute_surname">{{.i18n.Tr "admin.auths.attribute_surname"}}</label> + <input id="attribute_surname" name="attribute_surname" value="{{.attribute_surname}}"> + </div> + <div class="required field"> + <label for="attribute_mail">{{.i18n.Tr "admin.auths.attribute_mail"}}</label> + <input id="attribute_mail" name="attribute_mail" value="{{.attribute_mail}}" placeholder="e.g. mail"> + </div> + </div> - <!-- SMTP --> - <div class="smtp field {{if not (eq .type 3)}}hide{{end}}"> - <div class="inline required field"> - <label>{{.i18n.Tr "admin.auths.smtp_auth"}}</label> - <div class="ui selection type dropdown"> - <input type="hidden" id="smtp_auth" name="smtp_auth" value="{{.smtp_auth}}"> - <div class="text">{{.smtp_auth}}</div> - <i class="dropdown icon"></i> - <div class="menu"> - {{range .SMTPAuths}} - <div class="item" data-value="{{.}}">{{.}}</div> - {{end}} - </div> - </div> - </div> - <div class="required field"> - <label for="smtp_host">{{.i18n.Tr "admin.auths.smtphost"}}</label> - <input id="smtp_host" name="smtp_host" value="{{.smtp_host}}"> - </div> - <div class="required field"> - <label for="smtp_port">{{.i18n.Tr "admin.auths.smtpport"}}</label> - <input id="smtp_port" name="smtp_port" value="{{.smtp_port}}"> - </div> - <div class="field"> - <label for="allowed_domains">{{.i18n.Tr "admin.auths.allowed_domains"}}</label> - <input id="allowed_domains" name="allowed_domains" value="{{.allowed_domains}}"> - <p class="help">{{.i18n.Tr "admin.auths.allowed_domains_helper"}}</p> - </div> - </div> + <!-- SMTP --> + <div class="smtp field {{if not (eq .type 3)}}hide{{end}}"> + <div class="inline required field"> + <label>{{.i18n.Tr "admin.auths.smtp_auth"}}</label> + <div class="ui selection type dropdown"> + <input type="hidden" id="smtp_auth" name="smtp_auth" value="{{.smtp_auth}}"> + <div class="text">{{.smtp_auth}}</div> + <i class="dropdown icon"></i> + <div class="menu"> + {{range .SMTPAuths}} + <div class="item" data-value="{{.}}">{{.}}</div> + {{end}} + </div> + </div> + </div> + <div class="required field"> + <label for="smtp_host">{{.i18n.Tr "admin.auths.smtphost"}}</label> + <input id="smtp_host" name="smtp_host" value="{{.smtp_host}}"> + </div> + <div class="required field"> + <label for="smtp_port">{{.i18n.Tr "admin.auths.smtpport"}}</label> + <input id="smtp_port" name="smtp_port" value="{{.smtp_port}}"> + </div> + <div class="field"> + <label for="allowed_domains">{{.i18n.Tr "admin.auths.allowed_domains"}}</label> + <input id="allowed_domains" name="allowed_domains" value="{{.allowed_domains}}"> + <p class="help">{{.i18n.Tr "admin.auths.allowed_domains_helper"}}</p> + </div> + </div> - <!-- PAM --> - <div class="pam required field {{if not (eq .type 4)}}hide{{end}}"> - <label for="pam_service_name">{{.i18n.Tr "admin.auths.pam_service_name"}}</label> - <input id="pam_service_name" name="pam_service_name" value="{{.pam_service_name}}" /> - </div> + <!-- PAM --> + <div class="pam required field {{if not (eq .type 4)}}hide{{end}}"> + <label for="pam_service_name">{{.i18n.Tr "admin.auths.pam_service_name"}}</label> + <input id="pam_service_name" name="pam_service_name" value="{{.pam_service_name}}" /> + </div> - <div class="ldap dldap smtp inline field {{if not (or (or (eq .type 2) (eq .type 5)) (eq .type 3))}}hide{{end}}"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "admin.auths.enable_tls"}}</strong></label> - <input name="tls" type="checkbox" {{if .tls}}checked{{end}}> - </div> - </div> - <div class="ldap dldap smtp inline field {{if not (or (or (eq .type 2) (eq .type 5)) (eq .type 3))}}hide{{end}}"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "admin.auths.skip_tls_verify"}}</strong></label> - <input name="skip_verify" type="checkbox" {{if .skip_verify}}checked{{end}}> - </div> - </div> - <div class="inline field"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "admin.auths.activated"}}</strong></label> - <input name="is_active" type="checkbox" {{if .is_active}}checked{{end}}> - </div> - </div> + <div class="ldap dldap smtp inline field {{if not (or (or (eq .type 2) (eq .type 5)) (eq .type 3))}}hide{{end}}"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "admin.auths.enable_tls"}}</strong></label> + <input name="tls" type="checkbox" {{if .tls}}checked{{end}}> + </div> + </div> + <div class="ldap dldap smtp inline field {{if not (or (or (eq .type 2) (eq .type 5)) (eq .type 3))}}hide{{end}}"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "admin.auths.skip_tls_verify"}}</strong></label> + <input name="skip_verify" type="checkbox" {{if .skip_verify}}checked{{end}}> + </div> + </div> + <div class="inline field"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "admin.auths.activated"}}</strong></label> + <input name="is_active" type="checkbox" {{if .is_active}}checked{{end}}> + </div> + </div> - <div class="field"> - <button class="ui green button">{{.i18n.Tr "admin.auths.new"}}</button> - </div> - </form> - </div> + <div class="field"> + <button class="ui green button">{{.i18n.Tr "admin.auths.new"}}</button> + </div> + </form> + </div> - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.auths.tips"}} - </h4> - <div class="ui attached segment"> - <h5>GMail Setting:</h5> - <p>Host: smtp.gmail.com, Post: 587, Enable TLS Encryption: true</p> - </div> - </div> - </div> + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.auths.tips"}} + </h4> + <div class="ui attached segment"> + <h5>GMail Setting:</h5> + <p>Host: smtp.gmail.com, Post: 587, Enable TLS Encryption: true</p> + </div> + </div> + </div> </div> </div> {{template "base/footer" .}} diff --git a/templates/admin/config.tmpl b/templates/admin/config.tmpl index 1a4efa8f1c..0738f18b0c 100644 --- a/templates/admin/config.tmpl +++ b/templates/admin/config.tmpl @@ -1,190 +1,190 @@ {{template "base/head" .}} <div class="admin monitor"> - <div class="ui container"> - <div class="ui grid"> - {{template "admin/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.config.server_config"}} - </h4> - <div class="ui attached table segment"> - <dl class="dl-horizontal admin-dl-horizontal"> - <dt>{{.i18n.Tr "admin.config.app_name"}}</dt> - <dd>{{AppName}}</dd> - <dt>{{.i18n.Tr "admin.config.app_ver"}}</dt> - <dd>{{AppVer}}</dd> - <dt>{{.i18n.Tr "admin.config.app_url"}}</dt> - <dd>{{.AppUrl}}</dd> - <dt>{{.i18n.Tr "admin.config.domain"}}</dt> - <dd>{{.Domain}}</dd> - <dt>{{.i18n.Tr "admin.config.offline_mode"}}</dt> - <dd><i class="fa fa{{if .OfflineMode}}-check{{end}}-square-o"></i></dd> - <dt>{{.i18n.Tr "admin.config.disable_router_log"}}</dt> - <dd><i class="fa fa{{if .DisableRouterLog}}-check{{end}}-square-o"></i></dd> - <div class="ui divider"></div> - <dt>{{.i18n.Tr "admin.config.run_user"}}</dt> - <dd>{{.RunUser}}</dd> - <dt>{{.i18n.Tr "admin.config.run_mode"}}</dt> - <dd>{{.RunMode}}</dd> - <div class="ui divider"></div> - <dt>{{.i18n.Tr "admin.config.repo_root_path"}}</dt> - <dd>{{.RepoRootPath}}</dd> - <dt>{{.i18n.Tr "admin.config.static_file_root_path"}}</dt> - <dd>{{.StaticRootPath}}</dd> - <dt>{{.i18n.Tr "admin.config.log_file_root_path"}}</dt> - <dd>{{.LogRootPath}}</dd> - <dt>{{.i18n.Tr "admin.config.script_type"}}</dt> - <dd>{{.ScriptType}}</dd> - <dt>{{.i18n.Tr "admin.config.reverse_auth_user"}}</dt> - <dd>{{.ReverseProxyAuthUser}}</dd> - </dl> - </div> - - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.config.db_config"}} - </h4> - <div class="ui attached table segment"> - <dl class="dl-horizontal admin-dl-horizontal"> - <dt>{{.i18n.Tr "admin.config.db_type"}}</dt> - <dd>{{.DbCfg.Type}}</dd> - <dt>{{.i18n.Tr "admin.config.db_host"}}</dt> - <dd>{{.DbCfg.Host}}</dd> - <dt>{{.i18n.Tr "admin.config.db_name"}}</dt> - <dd>{{.DbCfg.Name}}</dd> - <dt>{{.i18n.Tr "admin.config.db_user"}}</dt> - <dd>{{.DbCfg.User}}</dd> - <dt>{{.i18n.Tr "admin.config.db_ssl_mode"}}</dt> - <dd>{{.DbCfg.SSLMode}} {{.i18n.Tr "admin.config.db_ssl_mode_helper"}}</dd> - <dt>{{.i18n.Tr "admin.config.db_path"}}</dt> - <dd>{{.DbCfg.Path}} {{.i18n.Tr "admin.config.db_path_helper"}}</dd> - </dl> - </div> - - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.config.service_config"}} - </h4> - <div class="ui attached table segment"> - <dl class="dl-horizontal admin-dl-horizontal"> - <dt>{{.i18n.Tr "admin.config.register_email_confirm"}}</dt> - <dd><i class="fa fa{{if .Service.RegisterEmailConfirm}}-check{{end}}-square-o"></i></dd> - <dt>{{.i18n.Tr "admin.config.disable_register"}}</dt> - <dd><i class="fa fa{{if .Service.DisableRegistration}}-check{{end}}-square-o"></i></dd> - <dt>{{.i18n.Tr "admin.config.show_registration_button"}}</dt> - <dd><i class="fa fa{{if .Service.ShowRegistrationButton}}-check{{end}}-square-o"></i></dd> - <dt>{{.i18n.Tr "admin.config.require_sign_in_view"}}</dt> - <dd><i class="fa fa{{if .Service.RequireSignInView}}-check{{end}}-square-o"></i></dd> - <dt>{{.i18n.Tr "admin.config.enable_cache_avatar"}}</dt> - <dd><i class="fa fa{{if .Service.EnableCacheAvatar}}-check{{end}}-square-o"></i></dd> - <dt>{{.i18n.Tr "admin.config.mail_notify"}}</dt> - <dd><i class="fa fa{{if .Service.EnableNotifyMail}}-check{{end}}-square-o"></i></dd> - <dt>{{.i18n.Tr "admin.config.disable_key_size_check"}}</dt> - <dd><i class="fa fa{{if .Service.DisableMinimumKeySizeCheck}}-check{{end}}-square-o"></i></dd> - <dt>{{.i18n.Tr "admin.config.enable_captcha"}}</dt> - <dd><i class="fa fa{{if .Service.EnableCaptcha}}-check{{end}}-square-o"></i></dd> - <div class="ui divider"></div> - <dt>{{.i18n.Tr "admin.config.active_code_lives"}}</dt> - <dd>{{.Service.ActiveCodeLives}} {{.i18n.Tr "tool.raw_minutes"}}</dd> - <dt>{{.i18n.Tr "admin.config.reset_password_code_lives"}}</dt> - <dd>{{.Service.ResetPwdCodeLives}} {{.i18n.Tr "tool.raw_minutes"}}</dd> - </dl> - </div> - - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.config.webhook_config"}} - </h4> - <div class="ui attached table segment"> - <dl class="dl-horizontal admin-dl-horizontal"> - <dt>{{.i18n.Tr "admin.config.queue_length"}}</dt> - <dd>{{.Webhook.QueueLength}}</dd> - <dt>{{.i18n.Tr "admin.config.deliver_timeout"}}</dt> - <dd>{{.Webhook.DeliverTimeout}} {{.i18n.Tr "tool.raw_seconds"}}</dd> - <dt>{{.i18n.Tr "admin.config.skip_tls_verify"}}</dt> - <dd><i class="fa fa{{if .Webhook.SkipTLSVerify}}-check{{end}}-square-o"></i></dd> - </dl> - </div> - - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.config.mailer_config"}} - </h4> - <div class="ui attached table segment"> - <dl class="dl-horizontal admin-dl-horizontal"> - <dt>{{.i18n.Tr "admin.config.mailer_enabled"}}</dt> - <dd><i class="fa fa{{if .MailerEnabled}}-check{{end}}-square-o"></i></dd> - {{if .MailerEnabled}}<dt>{{.i18n.Tr "admin.config.mailer_name"}}</dt> - <dd>{{.Mailer.Name}}</dd> - <dt>{{.i18n.Tr "admin.config.mailer_disable_helo"}}</dt> - <dd><i class="fa fa{{if .Mailer.DisableHelo}}-check{{end}}-square-o"></i></dd> - <dt>{{.i18n.Tr "admin.config.mailer_host"}}</dt> - <dd>{{.Mailer.Host}}</dd> - <dt>{{.i18n.Tr "admin.config.mailer_user"}}</dt> - <dd>{{.Mailer.User}}</dd>{{end}} - </dl> - </div> - - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.config.cache_config"}} - </h4> - <div class="ui attached table segment"> - <dl class="dl-horizontal admin-dl-horizontal"> - <dt>{{.i18n.Tr "admin.config.cache_adapter"}}</dt> - <dd>{{.CacheAdapter}}</dd> - <dt>{{.i18n.Tr "admin.config.cache_interval"}}</dt> - <dd>{{.CacheInternal}} {{.i18n.Tr "tool.raw_seconds"}}</dd> - <dt>{{.i18n.Tr "admin.config.cache_conn"}}</dt> - <dd><pre>{{.CacheConn}}</pre></dd> - </dl> - </div> - - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.config.session_config"}} - </h4> - <div class="ui attached table segment"> - <dl class="dl-horizontal admin-dl-horizontal"> - <dt>{{.i18n.Tr "admin.config.session_provider"}}</dt> - <dd>{{.SessionConfig.Provider}}</dd> - <dt>{{.i18n.Tr "admin.config.provider_config"}}</dt> - <dd><pre>{{.SessionConfig.ProviderConfig}}</pre></dd> - <dt>{{.i18n.Tr "admin.config.cookie_name"}}</dt> - <dd>{{.SessionConfig.CookieName}}</dd> - <dt>{{.i18n.Tr "admin.config.gc_interval_time"}}</dt> - <dd>{{.SessionConfig.Gclifetime}} {{.i18n.Tr "tool.raw_seconds"}}</dd> - <dt>{{.i18n.Tr "admin.config.session_life_time"}}</dt> - <dd>{{.SessionConfig.Maxlifetime}} {{.i18n.Tr "tool.raw_seconds"}}</dd> - <dt>{{.i18n.Tr "admin.config.https_only"}}</dt> - <dd><i class="fa fa{{if .SessionConfig.Secure}}-check{{end}}-square-o"></i></dd> - <dt>{{.i18n.Tr "admin.config.cookie_life_time"}}</dt> - <dd>{{.SessionConfig.CookieLifeTime}} {{.i18n.Tr "tool.raw_seconds"}}</dd> - </dl> - </div> - - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.config.picture_config"}} - </h4> - <div class="ui attached table segment"> - <dl class="dl-horizontal admin-dl-horizontal"> - <dt>{{.i18n.Tr "admin.config.picture_service"}}</dt> - <dd>{{.PictureService}}</dd> - <dt>{{.i18n.Tr "admin.config.disable_gravatar"}}</dt> - <dd><i class="fa fa{{if .DisableGravatar}}-check{{end}}-square-o"></i></dd> - </dl> - </div> - - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.config.log_config"}} - </h4> - <div class="ui attached table segment"> - <dl class="dl-horizontal admin-dl-horizontal"> - {{range .Loggers}} - <dt>{{$.i18n.Tr "admin.config.log_mode"}}</dt> - <dd>{{.Mode}}</dd> - <dt>{{$.i18n.Tr "admin.config.log_config"}}</dt> - <dd><pre>{{.Config}}</pre></dd> - {{end}} - </dl> - </div> - </div> - </div> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "admin/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.config.server_config"}} + </h4> + <div class="ui attached table segment"> + <dl class="dl-horizontal admin-dl-horizontal"> + <dt>{{.i18n.Tr "admin.config.app_name"}}</dt> + <dd>{{AppName}}</dd> + <dt>{{.i18n.Tr "admin.config.app_ver"}}</dt> + <dd>{{AppVer}}</dd> + <dt>{{.i18n.Tr "admin.config.app_url"}}</dt> + <dd>{{.AppUrl}}</dd> + <dt>{{.i18n.Tr "admin.config.domain"}}</dt> + <dd>{{.Domain}}</dd> + <dt>{{.i18n.Tr "admin.config.offline_mode"}}</dt> + <dd><i class="fa fa{{if .OfflineMode}}-check{{end}}-square-o"></i></dd> + <dt>{{.i18n.Tr "admin.config.disable_router_log"}}</dt> + <dd><i class="fa fa{{if .DisableRouterLog}}-check{{end}}-square-o"></i></dd> + <div class="ui divider"></div> + <dt>{{.i18n.Tr "admin.config.run_user"}}</dt> + <dd>{{.RunUser}}</dd> + <dt>{{.i18n.Tr "admin.config.run_mode"}}</dt> + <dd>{{.RunMode}}</dd> + <div class="ui divider"></div> + <dt>{{.i18n.Tr "admin.config.repo_root_path"}}</dt> + <dd>{{.RepoRootPath}}</dd> + <dt>{{.i18n.Tr "admin.config.static_file_root_path"}}</dt> + <dd>{{.StaticRootPath}}</dd> + <dt>{{.i18n.Tr "admin.config.log_file_root_path"}}</dt> + <dd>{{.LogRootPath}}</dd> + <dt>{{.i18n.Tr "admin.config.script_type"}}</dt> + <dd>{{.ScriptType}}</dd> + <dt>{{.i18n.Tr "admin.config.reverse_auth_user"}}</dt> + <dd>{{.ReverseProxyAuthUser}}</dd> + </dl> + </div> + + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.config.db_config"}} + </h4> + <div class="ui attached table segment"> + <dl class="dl-horizontal admin-dl-horizontal"> + <dt>{{.i18n.Tr "admin.config.db_type"}}</dt> + <dd>{{.DbCfg.Type}}</dd> + <dt>{{.i18n.Tr "admin.config.db_host"}}</dt> + <dd>{{.DbCfg.Host}}</dd> + <dt>{{.i18n.Tr "admin.config.db_name"}}</dt> + <dd>{{.DbCfg.Name}}</dd> + <dt>{{.i18n.Tr "admin.config.db_user"}}</dt> + <dd>{{.DbCfg.User}}</dd> + <dt>{{.i18n.Tr "admin.config.db_ssl_mode"}}</dt> + <dd>{{.DbCfg.SSLMode}} {{.i18n.Tr "admin.config.db_ssl_mode_helper"}}</dd> + <dt>{{.i18n.Tr "admin.config.db_path"}}</dt> + <dd>{{.DbCfg.Path}} {{.i18n.Tr "admin.config.db_path_helper"}}</dd> + </dl> + </div> + + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.config.service_config"}} + </h4> + <div class="ui attached table segment"> + <dl class="dl-horizontal admin-dl-horizontal"> + <dt>{{.i18n.Tr "admin.config.register_email_confirm"}}</dt> + <dd><i class="fa fa{{if .Service.RegisterEmailConfirm}}-check{{end}}-square-o"></i></dd> + <dt>{{.i18n.Tr "admin.config.disable_register"}}</dt> + <dd><i class="fa fa{{if .Service.DisableRegistration}}-check{{end}}-square-o"></i></dd> + <dt>{{.i18n.Tr "admin.config.show_registration_button"}}</dt> + <dd><i class="fa fa{{if .Service.ShowRegistrationButton}}-check{{end}}-square-o"></i></dd> + <dt>{{.i18n.Tr "admin.config.require_sign_in_view"}}</dt> + <dd><i class="fa fa{{if .Service.RequireSignInView}}-check{{end}}-square-o"></i></dd> + <dt>{{.i18n.Tr "admin.config.enable_cache_avatar"}}</dt> + <dd><i class="fa fa{{if .Service.EnableCacheAvatar}}-check{{end}}-square-o"></i></dd> + <dt>{{.i18n.Tr "admin.config.mail_notify"}}</dt> + <dd><i class="fa fa{{if .Service.EnableNotifyMail}}-check{{end}}-square-o"></i></dd> + <dt>{{.i18n.Tr "admin.config.disable_key_size_check"}}</dt> + <dd><i class="fa fa{{if .Service.DisableMinimumKeySizeCheck}}-check{{end}}-square-o"></i></dd> + <dt>{{.i18n.Tr "admin.config.enable_captcha"}}</dt> + <dd><i class="fa fa{{if .Service.EnableCaptcha}}-check{{end}}-square-o"></i></dd> + <div class="ui divider"></div> + <dt>{{.i18n.Tr "admin.config.active_code_lives"}}</dt> + <dd>{{.Service.ActiveCodeLives}} {{.i18n.Tr "tool.raw_minutes"}}</dd> + <dt>{{.i18n.Tr "admin.config.reset_password_code_lives"}}</dt> + <dd>{{.Service.ResetPwdCodeLives}} {{.i18n.Tr "tool.raw_minutes"}}</dd> + </dl> + </div> + + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.config.webhook_config"}} + </h4> + <div class="ui attached table segment"> + <dl class="dl-horizontal admin-dl-horizontal"> + <dt>{{.i18n.Tr "admin.config.queue_length"}}</dt> + <dd>{{.Webhook.QueueLength}}</dd> + <dt>{{.i18n.Tr "admin.config.deliver_timeout"}}</dt> + <dd>{{.Webhook.DeliverTimeout}} {{.i18n.Tr "tool.raw_seconds"}}</dd> + <dt>{{.i18n.Tr "admin.config.skip_tls_verify"}}</dt> + <dd><i class="fa fa{{if .Webhook.SkipTLSVerify}}-check{{end}}-square-o"></i></dd> + </dl> + </div> + + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.config.mailer_config"}} + </h4> + <div class="ui attached table segment"> + <dl class="dl-horizontal admin-dl-horizontal"> + <dt>{{.i18n.Tr "admin.config.mailer_enabled"}}</dt> + <dd><i class="fa fa{{if .MailerEnabled}}-check{{end}}-square-o"></i></dd> + {{if .MailerEnabled}}<dt>{{.i18n.Tr "admin.config.mailer_name"}}</dt> + <dd>{{.Mailer.Name}}</dd> + <dt>{{.i18n.Tr "admin.config.mailer_disable_helo"}}</dt> + <dd><i class="fa fa{{if .Mailer.DisableHelo}}-check{{end}}-square-o"></i></dd> + <dt>{{.i18n.Tr "admin.config.mailer_host"}}</dt> + <dd>{{.Mailer.Host}}</dd> + <dt>{{.i18n.Tr "admin.config.mailer_user"}}</dt> + <dd>{{.Mailer.User}}</dd>{{end}} + </dl> + </div> + + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.config.cache_config"}} + </h4> + <div class="ui attached table segment"> + <dl class="dl-horizontal admin-dl-horizontal"> + <dt>{{.i18n.Tr "admin.config.cache_adapter"}}</dt> + <dd>{{.CacheAdapter}}</dd> + <dt>{{.i18n.Tr "admin.config.cache_interval"}}</dt> + <dd>{{.CacheInternal}} {{.i18n.Tr "tool.raw_seconds"}}</dd> + <dt>{{.i18n.Tr "admin.config.cache_conn"}}</dt> + <dd><pre>{{.CacheConn}}</pre></dd> + </dl> + </div> + + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.config.session_config"}} + </h4> + <div class="ui attached table segment"> + <dl class="dl-horizontal admin-dl-horizontal"> + <dt>{{.i18n.Tr "admin.config.session_provider"}}</dt> + <dd>{{.SessionConfig.Provider}}</dd> + <dt>{{.i18n.Tr "admin.config.provider_config"}}</dt> + <dd><pre>{{.SessionConfig.ProviderConfig}}</pre></dd> + <dt>{{.i18n.Tr "admin.config.cookie_name"}}</dt> + <dd>{{.SessionConfig.CookieName}}</dd> + <dt>{{.i18n.Tr "admin.config.gc_interval_time"}}</dt> + <dd>{{.SessionConfig.Gclifetime}} {{.i18n.Tr "tool.raw_seconds"}}</dd> + <dt>{{.i18n.Tr "admin.config.session_life_time"}}</dt> + <dd>{{.SessionConfig.Maxlifetime}} {{.i18n.Tr "tool.raw_seconds"}}</dd> + <dt>{{.i18n.Tr "admin.config.https_only"}}</dt> + <dd><i class="fa fa{{if .SessionConfig.Secure}}-check{{end}}-square-o"></i></dd> + <dt>{{.i18n.Tr "admin.config.cookie_life_time"}}</dt> + <dd>{{.SessionConfig.CookieLifeTime}} {{.i18n.Tr "tool.raw_seconds"}}</dd> + </dl> + </div> + + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.config.picture_config"}} + </h4> + <div class="ui attached table segment"> + <dl class="dl-horizontal admin-dl-horizontal"> + <dt>{{.i18n.Tr "admin.config.picture_service"}}</dt> + <dd>{{.PictureService}}</dd> + <dt>{{.i18n.Tr "admin.config.disable_gravatar"}}</dt> + <dd><i class="fa fa{{if .DisableGravatar}}-check{{end}}-square-o"></i></dd> + </dl> + </div> + + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.config.log_config"}} + </h4> + <div class="ui attached table segment"> + <dl class="dl-horizontal admin-dl-horizontal"> + {{range .Loggers}} + <dt>{{$.i18n.Tr "admin.config.log_mode"}}</dt> + <dd>{{.Mode}}</dd> + <dt>{{$.i18n.Tr "admin.config.log_config"}}</dt> + <dd><pre>{{.Config}}</pre></dd> + {{end}} + </dl> + </div> + </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/admin/dashboard.tmpl b/templates/admin/dashboard.tmpl index 769375ecb8..8a0eedc21c 100644 --- a/templates/admin/dashboard.tmpl +++ b/templates/admin/dashboard.tmpl @@ -1,121 +1,121 @@ {{template "base/head" .}} <div class="admin dashboard"> - <div class="ui container"> - <div class="ui grid"> - {{template "admin/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.dashboard.statistic"}} - </h4> - <div class="ui attached segment"> - <p> - {{.i18n.Tr "admin.dashboard.statistic_info" .Stats.Counter.User .Stats.Counter.Org .Stats.Counter.PublicKey .Stats.Counter.Repo .Stats.Counter.Watch .Stats.Counter.Star .Stats.Counter.Action .Stats.Counter.Access .Stats.Counter.Issue .Stats.Counter.Comment .Stats.Counter.Oauth .Stats.Counter.Follow .Stats.Counter.Mirror .Stats.Counter.Release .Stats.Counter.LoginSource .Stats.Counter.Webhook .Stats.Counter.Milestone .Stats.Counter.Label .Stats.Counter.HookTask .Stats.Counter.Team .Stats.Counter.UpdateTask .Stats.Counter.Attachment | Str2html}} - </p> - </div> - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.dashboard.operations"}} - </h4> - <div class="ui attached table segment"> - <table class="ui very basic table"> - <tbody> - <tr> - <td>{{.i18n.Tr "admin.dashboard.delete_inactivate_accounts"}}</td> - <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=1">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> - </tr> - <tr> - <td>{{.i18n.Tr "admin.dashboard.delete_repo_archives"}}</td> - <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=2">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> - </tr> - <tr> - <td>{{.i18n.Tr "admin.dashboard.delete_missing_repos"}}</td> - <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=3">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> - </tr> - <tr> - <td>{{.i18n.Tr "admin.dashboard.git_gc_repos"}}</td> - <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=4">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> - </tr> - <tr> - <td>{{.i18n.Tr "admin.dashboard.resync_all_sshkeys"}}</td> - <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=5">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> - </tr> - <tr> - <td>{{.i18n.Tr "admin.dashboard.resync_all_update_hooks"}}</td> - <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=6">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> - </tr> - </tbody> - </table> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "admin/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.dashboard.statistic"}} + </h4> + <div class="ui attached segment"> + <p> + {{.i18n.Tr "admin.dashboard.statistic_info" .Stats.Counter.User .Stats.Counter.Org .Stats.Counter.PublicKey .Stats.Counter.Repo .Stats.Counter.Watch .Stats.Counter.Star .Stats.Counter.Action .Stats.Counter.Access .Stats.Counter.Issue .Stats.Counter.Comment .Stats.Counter.Oauth .Stats.Counter.Follow .Stats.Counter.Mirror .Stats.Counter.Release .Stats.Counter.LoginSource .Stats.Counter.Webhook .Stats.Counter.Milestone .Stats.Counter.Label .Stats.Counter.HookTask .Stats.Counter.Team .Stats.Counter.UpdateTask .Stats.Counter.Attachment | Str2html}} + </p> + </div> + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.dashboard.operations"}} + </h4> + <div class="ui attached table segment"> + <table class="ui very basic table"> + <tbody> + <tr> + <td>{{.i18n.Tr "admin.dashboard.delete_inactivate_accounts"}}</td> + <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=1">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> + </tr> + <tr> + <td>{{.i18n.Tr "admin.dashboard.delete_repo_archives"}}</td> + <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=2">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> + </tr> + <tr> + <td>{{.i18n.Tr "admin.dashboard.delete_missing_repos"}}</td> + <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=3">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> + </tr> + <tr> + <td>{{.i18n.Tr "admin.dashboard.git_gc_repos"}}</td> + <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=4">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> + </tr> + <tr> + <td>{{.i18n.Tr "admin.dashboard.resync_all_sshkeys"}}</td> + <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=5">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> + </tr> + <tr> + <td>{{.i18n.Tr "admin.dashboard.resync_all_update_hooks"}}</td> + <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=6">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> + </tr> + </tbody> + </table> + </div> - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.dashboard.system_status"}} - </h4> - <div class="ui attached table segment"> - <dl class="dl-horizontal admin-dl-horizontal"> - <dt>{{.i18n.Tr "admin.dashboard.server_uptime"}}</dt> - <dd>{{.SysStatus.Uptime}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.current_goroutine"}}</dt> - <dd>{{.SysStatus.NumGoroutine}}</dd> - <div class="ui divider"></div> - <dt>{{.i18n.Tr "admin.dashboard.current_memory_usage"}}</dt> - <dd>{{.SysStatus.MemAllocated}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.total_memory_allocated"}}</dt> - <dd>{{.SysStatus.MemTotal}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.memory_obtained"}}</dt> - <dd>{{.SysStatus.MemSys}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.pointer_lookup_times"}}</dt> - <dd>{{.SysStatus.Lookups}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.memory_allocate_times"}}</dt> - <dd>{{.SysStatus.MemMallocs}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.memory_free_times"}}</dt> - <dd>{{.SysStatus.MemFrees}}</dd> - <div class="ui divider"></div> - <dt>{{.i18n.Tr "admin.dashboard.current_heap_usage"}}</dt> - <dd>{{.SysStatus.HeapAlloc}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.heap_memory_obtained"}}</dt> - <dd>{{.SysStatus.HeapSys}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.heap_memory_idle"}}</dt> - <dd>{{.SysStatus.HeapIdle}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.heap_memory_in_use"}}</dt> - <dd>{{.SysStatus.HeapInuse}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.heap_memory_released"}}</dt> - <dd>{{.SysStatus.HeapReleased}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.heap_objects"}}</dt> - <dd>{{.SysStatus.HeapObjects}}</dd> - <div class="ui divider"></div> - <dt>{{.i18n.Tr "admin.dashboard.bootstrap_stack_usage"}}</dt> - <dd>{{.SysStatus.StackInuse}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.stack_memory_obtained"}}</dt> - <dd>{{.SysStatus.StackSys}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.mspan_structures_usage"}}</dt> - <dd>{{.SysStatus.MSpanInuse}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.mspan_structures_obtained"}}</dt> - <dd>{{.SysStatus.HeapSys}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.mcache_structures_usage"}}</dt> - <dd>{{.SysStatus.MCacheInuse}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.mcache_structures_obtained"}}</dt> - <dd>{{.SysStatus.MCacheSys}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.profiling_bucket_hash_table_obtained"}}</dt> - <dd>{{.SysStatus.BuckHashSys}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.gc_metadata_obtained"}}</dt> - <dd>{{.SysStatus.GCSys}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.other_system_allocation_obtained"}}</dt> - <dd>{{.SysStatus.OtherSys}}</dd> - <div class="ui divider"></div> - <dt>{{.i18n.Tr "admin.dashboard.next_gc_recycle"}}</dt> - <dd>{{.SysStatus.NextGC}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.last_gc_time"}}</dt> - <dd>{{.SysStatus.LastGC}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.total_gc_pause"}}</dt> - <dd>{{.SysStatus.PauseTotalNs}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.last_gc_pause"}}</dt> - <dd>{{.SysStatus.PauseNs}}</dd> - <dt>{{.i18n.Tr "admin.dashboard.gc_times"}}</dt> - <dd>{{.SysStatus.NumGC}}</dd> - </dl> - </div> - </div> - </div> - </div> + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.dashboard.system_status"}} + </h4> + <div class="ui attached table segment"> + <dl class="dl-horizontal admin-dl-horizontal"> + <dt>{{.i18n.Tr "admin.dashboard.server_uptime"}}</dt> + <dd>{{.SysStatus.Uptime}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.current_goroutine"}}</dt> + <dd>{{.SysStatus.NumGoroutine}}</dd> + <div class="ui divider"></div> + <dt>{{.i18n.Tr "admin.dashboard.current_memory_usage"}}</dt> + <dd>{{.SysStatus.MemAllocated}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.total_memory_allocated"}}</dt> + <dd>{{.SysStatus.MemTotal}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.memory_obtained"}}</dt> + <dd>{{.SysStatus.MemSys}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.pointer_lookup_times"}}</dt> + <dd>{{.SysStatus.Lookups}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.memory_allocate_times"}}</dt> + <dd>{{.SysStatus.MemMallocs}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.memory_free_times"}}</dt> + <dd>{{.SysStatus.MemFrees}}</dd> + <div class="ui divider"></div> + <dt>{{.i18n.Tr "admin.dashboard.current_heap_usage"}}</dt> + <dd>{{.SysStatus.HeapAlloc}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.heap_memory_obtained"}}</dt> + <dd>{{.SysStatus.HeapSys}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.heap_memory_idle"}}</dt> + <dd>{{.SysStatus.HeapIdle}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.heap_memory_in_use"}}</dt> + <dd>{{.SysStatus.HeapInuse}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.heap_memory_released"}}</dt> + <dd>{{.SysStatus.HeapReleased}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.heap_objects"}}</dt> + <dd>{{.SysStatus.HeapObjects}}</dd> + <div class="ui divider"></div> + <dt>{{.i18n.Tr "admin.dashboard.bootstrap_stack_usage"}}</dt> + <dd>{{.SysStatus.StackInuse}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.stack_memory_obtained"}}</dt> + <dd>{{.SysStatus.StackSys}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.mspan_structures_usage"}}</dt> + <dd>{{.SysStatus.MSpanInuse}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.mspan_structures_obtained"}}</dt> + <dd>{{.SysStatus.HeapSys}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.mcache_structures_usage"}}</dt> + <dd>{{.SysStatus.MCacheInuse}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.mcache_structures_obtained"}}</dt> + <dd>{{.SysStatus.MCacheSys}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.profiling_bucket_hash_table_obtained"}}</dt> + <dd>{{.SysStatus.BuckHashSys}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.gc_metadata_obtained"}}</dt> + <dd>{{.SysStatus.GCSys}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.other_system_allocation_obtained"}}</dt> + <dd>{{.SysStatus.OtherSys}}</dd> + <div class="ui divider"></div> + <dt>{{.i18n.Tr "admin.dashboard.next_gc_recycle"}}</dt> + <dd>{{.SysStatus.NextGC}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.last_gc_time"}}</dt> + <dd>{{.SysStatus.LastGC}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.total_gc_pause"}}</dt> + <dd>{{.SysStatus.PauseTotalNs}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.last_gc_pause"}}</dt> + <dd>{{.SysStatus.PauseNs}}</dd> + <dt>{{.i18n.Tr "admin.dashboard.gc_times"}}</dt> + <dd>{{.SysStatus.NumGC}}</dd> + </dl> + </div> + </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/admin/monitor.tmpl b/templates/admin/monitor.tmpl index 8092082563..fa87078cc3 100644 --- a/templates/admin/monitor.tmpl +++ b/templates/admin/monitor.tmpl @@ -1,65 +1,65 @@ {{template "base/head" .}} <div class="admin monitor"> - <div class="ui container"> - <div class="ui grid"> - {{template "admin/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.monitor.cron"}} - </h4> - <div class="ui attached table segment"> - <table class="ui very basic striped table"> - <thead> - <tr> - <th>{{.i18n.Tr "admin.monitor.name"}}</th> - <th>{{.i18n.Tr "admin.monitor.schedule"}}</th> - <th>{{.i18n.Tr "admin.monitor.next"}}</th> - <th>{{.i18n.Tr "admin.monitor.previous"}}</th> - <th>{{.i18n.Tr "admin.monitor.execute_times"}}</th> - </tr> - </thead> - <tbody> - {{range .Entries}} - <tr> - <td>{{.Description}}</td> - <td>{{.Spec}}</td> - <td>{{DateFmtLong .Next}}</td> - <td>{{if gt .Prev.Year 1 }}{{DateFmtLong .Prev}}{{else}}N/A{{end}}</td> - <td>{{.ExecTimes}}</td> - </tr> - {{end}} - </tbody> - </table> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "admin/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.monitor.cron"}} + </h4> + <div class="ui attached table segment"> + <table class="ui very basic striped table"> + <thead> + <tr> + <th>{{.i18n.Tr "admin.monitor.name"}}</th> + <th>{{.i18n.Tr "admin.monitor.schedule"}}</th> + <th>{{.i18n.Tr "admin.monitor.next"}}</th> + <th>{{.i18n.Tr "admin.monitor.previous"}}</th> + <th>{{.i18n.Tr "admin.monitor.execute_times"}}</th> + </tr> + </thead> + <tbody> + {{range .Entries}} + <tr> + <td>{{.Description}}</td> + <td>{{.Spec}}</td> + <td>{{DateFmtLong .Next}}</td> + <td>{{if gt .Prev.Year 1 }}{{DateFmtLong .Prev}}{{else}}N/A{{end}}</td> + <td>{{.ExecTimes}}</td> + </tr> + {{end}} + </tbody> + </table> + </div> - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.monitor.process"}} - </h4> - <div class="ui attached table segment"> - <table class="ui very basic striped table"> - <thead> - <tr> - <th>Pid</th> - <th>{{.i18n.Tr "admin.monitor.desc"}}</th> - <th>{{.i18n.Tr "admin.monitor.start"}}</th> - <th>{{.i18n.Tr "admin.monitor.execute_time"}}</th> - </tr> - </thead> - <tbody> - {{range .Processes}} - <tr> - <td>{{.Pid}}</td> - <td>{{.Description}}</td> - <td>{{DateFmtLong .Start}}</td> - <td>{{TimeSince .Start $.Lang}}</td> - </tr> - {{end}} - </tbody> - </table> - </div> - </div> - </div> - </div> + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.monitor.process"}} + </h4> + <div class="ui attached table segment"> + <table class="ui very basic striped table"> + <thead> + <tr> + <th>Pid</th> + <th>{{.i18n.Tr "admin.monitor.desc"}}</th> + <th>{{.i18n.Tr "admin.monitor.start"}}</th> + <th>{{.i18n.Tr "admin.monitor.execute_time"}}</th> + </tr> + </thead> + <tbody> + {{range .Processes}} + <tr> + <td>{{.Pid}}</td> + <td>{{.Description}}</td> + <td>{{DateFmtLong .Start}}</td> + <td>{{TimeSince .Start $.Lang}}</td> + </tr> + {{end}} + </tbody> + </table> + </div> + </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/admin/nav.tmpl b/templates/admin/nav.tmpl index 49c4b72cf0..7129ee11ed 100644 --- a/templates/admin/nav.tmpl +++ b/templates/admin/nav.tmpl @@ -1,15 +1,15 @@ <div id="setting-menu" class="grid-1-5 panel panel-radius left"> - <p class="panel-header"><strong>{{.i18n.Tr "admin_panel"}}</strong></p> - <div class="panel-body"> - <ul class="menu menu-vertical switching-list grid-1-5 left"> - <li {{if .PageIsAdminDashboard}}class="current"{{end}}><a href="{{AppSubUrl}}/admin">{{.i18n.Tr "admin.dashboard"}}</a></li> - <li {{if .PageIsAdminUsers}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/users">{{.i18n.Tr "admin.users"}}</a></li> - <li {{if .PageIsAdminOrganizations}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/orgs">{{.i18n.Tr "admin.organizations"}}</a></li> - <li {{if .PageIsAdminRepositories}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/repos">{{.i18n.Tr "admin.repositories"}}</a></li> - <li {{if .PageIsAdminAuthentications}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/auths">{{.i18n.Tr "admin.authentication"}}</a></li> - <li {{if .PageIsAdminConfig}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/config">{{.i18n.Tr "admin.config"}}</a></li> - <li {{if .PageIsAdminNotices}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/notices">{{.i18n.Tr "admin.notices"}}</a></li> - <li {{if .PageIsAdminMonitor}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/monitor">{{.i18n.Tr "admin.monitor"}}</a></li> - </ul> - </div> -</div>
\ No newline at end of file + <p class="panel-header"><strong>{{.i18n.Tr "admin_panel"}}</strong></p> + <div class="panel-body"> + <ul class="menu menu-vertical switching-list grid-1-5 left"> + <li {{if .PageIsAdminDashboard}}class="current"{{end}}><a href="{{AppSubUrl}}/admin">{{.i18n.Tr "admin.dashboard"}}</a></li> + <li {{if .PageIsAdminUsers}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/users">{{.i18n.Tr "admin.users"}}</a></li> + <li {{if .PageIsAdminOrganizations}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/orgs">{{.i18n.Tr "admin.organizations"}}</a></li> + <li {{if .PageIsAdminRepositories}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/repos">{{.i18n.Tr "admin.repositories"}}</a></li> + <li {{if .PageIsAdminAuthentications}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/auths">{{.i18n.Tr "admin.authentication"}}</a></li> + <li {{if .PageIsAdminConfig}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/config">{{.i18n.Tr "admin.config"}}</a></li> + <li {{if .PageIsAdminNotices}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/notices">{{.i18n.Tr "admin.notices"}}</a></li> + <li {{if .PageIsAdminMonitor}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/monitor">{{.i18n.Tr "admin.monitor"}}</a></li> + </ul> + </div> +</div> diff --git a/templates/admin/navbar.tmpl b/templates/admin/navbar.tmpl index e85fa24fbf..9fa1721e46 100644 --- a/templates/admin/navbar.tmpl +++ b/templates/admin/navbar.tmpl @@ -1,29 +1,29 @@ <div class="four wide column"> <div class="ui vertical menu"> <div class="header item">{{.i18n.Tr "admin_panel"}}</div> - <a class="{{if .PageIsAdminDashboard}}active{{end}} item" href="{{AppSubUrl}}/admin"> - {{.i18n.Tr "admin.dashboard"}} - </a> - <a class="{{if .PageIsAdminUsers}}active{{end}} item" href="{{AppSubUrl}}/admin/users"> - {{.i18n.Tr "admin.users"}} - </a> - <a class="{{if .PageIsAdminOrganizations}}active{{end}} item" href="{{AppSubUrl}}/admin/orgs"> - {{.i18n.Tr "admin.organizations"}} - </a> - <a class="{{if .PageIsAdminRepositories}}active{{end}} item" href="{{AppSubUrl}}/admin/repos"> - {{.i18n.Tr "admin.repositories"}} - </a> - <a class="{{if .PageIsAdminAuthentications}}active{{end}} item" href="{{AppSubUrl}}/admin/auths"> - {{.i18n.Tr "admin.authentication"}} - </a> - <a class="{{if .PageIsAdminConfig}}active{{end}} item" href="{{AppSubUrl}}/admin/config"> - {{.i18n.Tr "admin.config"}} - </a> - <a class="{{if .PageIsAdminNotices}}active{{end}} item" href="{{AppSubUrl}}/admin/notices"> - {{.i18n.Tr "admin.notices"}} - </a> - <a class="{{if .PageIsAdminMonitor}}active{{end}} item" href="{{AppSubUrl}}/admin/monitor"> - {{.i18n.Tr "admin.monitor"}} - </a> + <a class="{{if .PageIsAdminDashboard}}active{{end}} item" href="{{AppSubUrl}}/admin"> + {{.i18n.Tr "admin.dashboard"}} + </a> + <a class="{{if .PageIsAdminUsers}}active{{end}} item" href="{{AppSubUrl}}/admin/users"> + {{.i18n.Tr "admin.users"}} + </a> + <a class="{{if .PageIsAdminOrganizations}}active{{end}} item" href="{{AppSubUrl}}/admin/orgs"> + {{.i18n.Tr "admin.organizations"}} + </a> + <a class="{{if .PageIsAdminRepositories}}active{{end}} item" href="{{AppSubUrl}}/admin/repos"> + {{.i18n.Tr "admin.repositories"}} + </a> + <a class="{{if .PageIsAdminAuthentications}}active{{end}} item" href="{{AppSubUrl}}/admin/auths"> + {{.i18n.Tr "admin.authentication"}} + </a> + <a class="{{if .PageIsAdminConfig}}active{{end}} item" href="{{AppSubUrl}}/admin/config"> + {{.i18n.Tr "admin.config"}} + </a> + <a class="{{if .PageIsAdminNotices}}active{{end}} item" href="{{AppSubUrl}}/admin/notices"> + {{.i18n.Tr "admin.notices"}} + </a> + <a class="{{if .PageIsAdminMonitor}}active{{end}} item" href="{{AppSubUrl}}/admin/monitor"> + {{.i18n.Tr "admin.monitor"}} + </a> </div> -</div>
\ No newline at end of file +</div> diff --git a/templates/admin/notice.tmpl b/templates/admin/notice.tmpl index 3321dd1469..0af7713d30 100644 --- a/templates/admin/notice.tmpl +++ b/templates/admin/notice.tmpl @@ -1,104 +1,104 @@ {{template "base/head" .}} <div class="admin notice"> - <div class="ui container"> - <div class="ui grid"> - {{template "admin/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.notices.system_notice_list"}} ({{.i18n.Tr "admin.total" .Total}}) - </h4> - <div class="ui attached table segment"> - <table class="ui very basic select selectable table"> - <thead> - <tr> - <th></th> - <th>ID</th> - <th>{{.i18n.Tr "admin.notices.type"}}</th> - <th>{{.i18n.Tr "admin.notices.desc"}}</th> - <th width="100px">{{.i18n.Tr "admin.users.created"}}</th> - <th>{{.i18n.Tr "admin.notices.op"}}</th> - </tr> - </thead> - <tbody> - {{range .Notices}} - <tr> - <td class="collapsing"> - <div class="ui fitted checkbox" data-id="{{.ID}}"> - <input type="checkbox"> <label></label> - </div> - </td> - <td>{{.ID}}</td> - <td>{{$.i18n.Tr .TrStr}}</td> - <td>{{SubStr .Description 0 120}}...</td> - <td><span class="poping up" data-content="{{.Created}}" data-variation="inverted tiny">{{DateFmtShort .Created}}</span></td> - <td><a href="#"><i class="browser icon view-detail" data-content="{{.Description}}"></i></a></td> - </tr> - {{end}} - </tbody> - <tfoot class="full-width"> - <tr> - <th></th> - <th colspan="5"> - <div class="ui right"> - <a class="ui red small button" href="{{AppSubUrl}}/admin/notices/empty">{{.i18n.Tr "admin.notices.delete_all"}}</a> - </div> - <div class="ui floating upward dropdown small button"> - <span class="text">{{.i18n.Tr "admin.notices.actions"}}</span> - <div class="menu"> - <div class="item select action" data-action="select-all"> - {{.i18n.Tr "admin.notices.select_all"}} - </div> - <div class="item select action" data-action="deselect-all"> - {{.i18n.Tr "admin.notices.deselect_all"}} - </div> - <div class="item select action" data-action="inverse"> - {{.i18n.Tr "admin.notices.inverse_selection"}} - </div> - </div> - </div> - <div class="ui small teal button" id="delete-selection" data-link="{{.Link}}/delete" data-redirect="{{.Link}}?page={{.Page.Current}}"> - {{.i18n.Tr "admin.notices.delete_selected"}} - </div> - </th> - </tr> - </tfoot> - </table> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "admin/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.notices.system_notice_list"}} ({{.i18n.Tr "admin.total" .Total}}) + </h4> + <div class="ui attached table segment"> + <table class="ui very basic select selectable table"> + <thead> + <tr> + <th></th> + <th>ID</th> + <th>{{.i18n.Tr "admin.notices.type"}}</th> + <th>{{.i18n.Tr "admin.notices.desc"}}</th> + <th width="100px">{{.i18n.Tr "admin.users.created"}}</th> + <th>{{.i18n.Tr "admin.notices.op"}}</th> + </tr> + </thead> + <tbody> + {{range .Notices}} + <tr> + <td class="collapsing"> + <div class="ui fitted checkbox" data-id="{{.ID}}"> + <input type="checkbox"> <label></label> + </div> + </td> + <td>{{.ID}}</td> + <td>{{$.i18n.Tr .TrStr}}</td> + <td>{{SubStr .Description 0 120}}...</td> + <td><span class="poping up" data-content="{{.Created}}" data-variation="inverted tiny">{{DateFmtShort .Created}}</span></td> + <td><a href="#"><i class="browser icon view-detail" data-content="{{.Description}}"></i></a></td> + </tr> + {{end}} + </tbody> + <tfoot class="full-width"> + <tr> + <th></th> + <th colspan="5"> + <div class="ui right"> + <a class="ui red small button" href="{{AppSubUrl}}/admin/notices/empty">{{.i18n.Tr "admin.notices.delete_all"}}</a> + </div> + <div class="ui floating upward dropdown small button"> + <span class="text">{{.i18n.Tr "admin.notices.actions"}}</span> + <div class="menu"> + <div class="item select action" data-action="select-all"> + {{.i18n.Tr "admin.notices.select_all"}} + </div> + <div class="item select action" data-action="deselect-all"> + {{.i18n.Tr "admin.notices.deselect_all"}} + </div> + <div class="item select action" data-action="inverse"> + {{.i18n.Tr "admin.notices.inverse_selection"}} + </div> + </div> + </div> + <div class="ui small teal button" id="delete-selection" data-link="{{.Link}}/delete" data-redirect="{{.Link}}?page={{.Page.Current}}"> + {{.i18n.Tr "admin.notices.delete_selected"}} + </div> + </th> + </tr> + </tfoot> + </table> + </div> - {{with .Page}} - {{if gt .TotalPages 1}} - <div class="center page buttons"> - <div class="ui borderless pagination menu"> - <a class="{{if .IsFirst}}disabled{{end}} item" href="{{$.Link}}"><i class="angle double left icon"></i> {{$.i18n.Tr "admin.first_page"}}</a> - <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}> - <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} - </a> - {{range .Pages}} - {{if eq .Num -1}} - <a class="disabled item">...</a> - {{else}} - <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a> - {{end}} - {{end}} - <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}> - {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> - </a> - <a class="{{if .IsLast}}disabled{{end}} item" href="{{$.Link}}?page={{.TotalPages}}">{{$.i18n.Tr "admin.last_page"}} <i class="angle double right icon"></i></a> - </div> - </div> - {{end}} - {{end}} - </div> - </div> - </div> + {{with .Page}} + {{if gt .TotalPages 1}} + <div class="center page buttons"> + <div class="ui borderless pagination menu"> + <a class="{{if .IsFirst}}disabled{{end}} item" href="{{$.Link}}"><i class="angle double left icon"></i> {{$.i18n.Tr "admin.first_page"}}</a> + <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}> + <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} + </a> + {{range .Pages}} + {{if eq .Num -1}} + <a class="disabled item">...</a> + {{else}} + <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a> + {{end}} + {{end}} + <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}> + {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> + </a> + <a class="{{if .IsLast}}disabled{{end}} item" href="{{$.Link}}?page={{.TotalPages}}">{{$.i18n.Tr "admin.last_page"}} <i class="angle double right icon"></i></a> + </div> + </div> + {{end}} + {{end}} + </div> + </div> + </div> </div> <div class="ui modal" id="detail-modal"> - <i class="close icon"></i> - <div class="header">{{$.i18n.Tr "admin.notices.view_detail_header"}}</div> - <div class="content"> - <p></p> - </div> + <i class="close icon"></i> + <div class="header">{{$.i18n.Tr "admin.notices.view_detail_header"}}</div> + <div class="content"> + <p></p> + </div> </div> {{template "base/footer" .}} diff --git a/templates/admin/org/list.tmpl b/templates/admin/org/list.tmpl index bc4610b6d6..890ceed3a2 100644 --- a/templates/admin/org/list.tmpl +++ b/templates/admin/org/list.tmpl @@ -1,65 +1,65 @@ {{template "base/head" .}} <div class="admin user"> - <div class="ui container"> - <div class="ui grid"> - {{template "admin/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.orgs.org_manage_panel"}} ({{.i18n.Tr "admin.total" .Total}}) - </h4> - <div class="ui attached table segment"> - <table class="ui very basic striped table"> + <div class="ui container"> + <div class="ui grid"> + {{template "admin/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.orgs.org_manage_panel"}} ({{.i18n.Tr "admin.total" .Total}}) + </h4> + <div class="ui attached table segment"> + <table class="ui very basic striped table"> <thead> - <tr> - <th>ID</th> - <th>{{.i18n.Tr "admin.orgs.name"}}</th> - <th>{{.i18n.Tr "admin.orgs.teams"}}</th> - <th>{{.i18n.Tr "admin.orgs.members"}}</th> - <th>{{.i18n.Tr "admin.users.repos"}}</th> + <tr> + <th>ID</th> + <th>{{.i18n.Tr "admin.orgs.name"}}</th> + <th>{{.i18n.Tr "admin.orgs.teams"}}</th> + <th>{{.i18n.Tr "admin.orgs.members"}}</th> + <th>{{.i18n.Tr "admin.users.repos"}}</th> <th>{{.i18n.Tr "admin.users.created"}}</th> - </tr> + </tr> </thead> <tbody> - {{range .Orgs}} - <tr> - <td>{{.Id}}</td> - <td><a href="{{.HomeLink}}">{{.Name}}</a></td> - <td>{{.NumTeams}}</td> - <td>{{.NumMembers}}</td> - <td>{{.NumRepos}}</td> - <td><span title="{{DateFmtLong .Created}}">{{DateFmtShort .Created}}</span></td> - </tr> - {{end}} + {{range .Orgs}} + <tr> + <td>{{.Id}}</td> + <td><a href="{{.HomeLink}}">{{.Name}}</a></td> + <td>{{.NumTeams}}</td> + <td>{{.NumMembers}}</td> + <td>{{.NumRepos}}</td> + <td><span title="{{DateFmtLong .Created}}">{{DateFmtShort .Created}}</span></td> + </tr> + {{end}} </tbody> - </table> + </table> </div> {{with .Page}} - {{if gt .TotalPages 1}} - <div class="center page buttons"> - <div class="ui borderless pagination menu"> - <a class="{{if .IsFirst}}disabled{{end}} item" href="{{$.Link}}"><i class="angle double left icon"></i> {{$.i18n.Tr "admin.first_page"}}</a> - <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}> - <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} - </a> - {{range .Pages}} - {{if eq .Num -1}} - <a class="disabled item">...</a> - {{else}} - <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a> - {{end}} - {{end}} - <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}> - {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> - </a> - <a class="{{if .IsLast}}disabled{{end}} item" href="{{$.Link}}?page={{.TotalPages}}">{{$.i18n.Tr "admin.last_page"}} <i class="angle double right icon"></i></a> - </div> - </div> - {{end}} + {{if gt .TotalPages 1}} + <div class="center page buttons"> + <div class="ui borderless pagination menu"> + <a class="{{if .IsFirst}}disabled{{end}} item" href="{{$.Link}}"><i class="angle double left icon"></i> {{$.i18n.Tr "admin.first_page"}}</a> + <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}> + <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} + </a> + {{range .Pages}} + {{if eq .Num -1}} + <a class="disabled item">...</a> + {{else}} + <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a> + {{end}} + {{end}} + <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}> + {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> + </a> + <a class="{{if .IsLast}}disabled{{end}} item" href="{{$.Link}}?page={{.TotalPages}}">{{$.i18n.Tr "admin.last_page"}} <i class="angle double right icon"></i></a> + </div> + </div> + {{end}} {{end}} - </div> - </div> - </div> + </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/admin/repo/list.tmpl b/templates/admin/repo/list.tmpl index f8ccecf66c..cbbc91f80e 100644 --- a/templates/admin/repo/list.tmpl +++ b/templates/admin/repo/list.tmpl @@ -6,7 +6,7 @@ <div class="twelve wide column content"> {{template "base/alert" .}} <h4 class="ui top attached header"> - {{.i18n.Tr "admin.repos.repo_manage_panel"}} ({{.i18n.Tr "admin.total" .Total}}) + {{.i18n.Tr "admin.repos.repo_manage_panel"}} ({{.i18n.Tr "admin.total" .Total}}) </h4> <div class="ui attached table segment"> <table class="ui very basic striped table"> @@ -20,49 +20,49 @@ <th>{{.i18n.Tr "admin.repos.stars"}}</th> <th>{{.i18n.Tr "admin.repos.issues"}}</th> <th>{{.i18n.Tr "admin.users.created"}}</th> - <th>{{.i18n.Tr "admin.notices.op"}}</th> + <th>{{.i18n.Tr "admin.notices.op"}}</th> </tr> </thead> <tbody> {{range .Repos}} - <tr> - <td>{{.ID}}</td> - <td><a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a></td> - <td><a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}">{{.Name}}</a></td> - <td><i class="fa fa{{if .IsPrivate}}-check{{end}}-square-o"></i></td> - <td>{{.NumWatches}}</td> - <td>{{.NumStars}}</td> - <td>{{.NumIssues}}</td> - <td><span title="{{DateFmtLong .Created}}">{{DateFmtShort .Created}}</span></td> - <td><a class="delete-button" href="" data-url="{{$.Link}}/delete?page={{$.Page.Current}}" data-id="{{.ID}}"><i class="trash icon text red"></i></a></td> - </tr> + <tr> + <td>{{.ID}}</td> + <td><a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a></td> + <td><a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}">{{.Name}}</a></td> + <td><i class="fa fa{{if .IsPrivate}}-check{{end}}-square-o"></i></td> + <td>{{.NumWatches}}</td> + <td>{{.NumStars}}</td> + <td>{{.NumIssues}}</td> + <td><span title="{{DateFmtLong .Created}}">{{DateFmtShort .Created}}</span></td> + <td><a class="delete-button" href="" data-url="{{$.Link}}/delete?page={{$.Page.Current}}" data-id="{{.ID}}"><i class="trash icon text red"></i></a></td> + </tr> {{end}} </tbody> </table> </div> {{with .Page}} - {{if gt .TotalPages 1}} - <div class="center page buttons"> - <div class="ui borderless pagination menu"> - <a class="{{if .IsFirst}}disabled{{end}} item" href="{{$.Link}}"><i class="angle double left icon"></i> {{$.i18n.Tr "admin.first_page"}}</a> - <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}> - <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} - </a> - {{range .Pages}} - {{if eq .Num -1}} - <a class="disabled item">...</a> - {{else}} - <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a> - {{end}} - {{end}} - <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}> - {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> - </a> - <a class="{{if .IsLast}}disabled{{end}} item" href="{{$.Link}}?page={{.TotalPages}}">{{$.i18n.Tr "admin.last_page"}} <i class="angle double right icon"></i></a> - </div> - </div> - {{end}} + {{if gt .TotalPages 1}} + <div class="center page buttons"> + <div class="ui borderless pagination menu"> + <a class="{{if .IsFirst}}disabled{{end}} item" href="{{$.Link}}"><i class="angle double left icon"></i> {{$.i18n.Tr "admin.first_page"}}</a> + <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}> + <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} + </a> + {{range .Pages}} + {{if eq .Num -1}} + <a class="disabled item">...</a> + {{else}} + <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a> + {{end}} + {{end}} + <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}> + {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> + </a> + <a class="{{if .IsLast}}disabled{{end}} item" href="{{$.Link}}?page={{.TotalPages}}">{{$.i18n.Tr "admin.last_page"}} <i class="angle double right icon"></i></a> + </div> + </div> + {{end}} {{end}} </div> </div> @@ -70,17 +70,17 @@ </div> <div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "repo.settings.delete"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "repo.settings.delete_desc"}}</p> - <p>{{.i18n.Tr "repo.settings.delete_notices_2"}}</p> - <p>{{.i18n.Tr "repo.settings.delete_notices_fork_1"}}</p> - <p>{{.i18n.Tr "repo.settings.delete_notices_fork_2"}}</p> - <p>{{.i18n.Tr "repo.settings.delete_notices_fork_3"}}</p> - </div> - {{template "base/delete_modal_actions" .}} + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "repo.settings.delete"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "repo.settings.delete_desc"}}</p> + <p>{{.i18n.Tr "repo.settings.delete_notices_2"}}</p> + <p>{{.i18n.Tr "repo.settings.delete_notices_fork_1"}}</p> + <p>{{.i18n.Tr "repo.settings.delete_notices_fork_2"}}</p> + <p>{{.i18n.Tr "repo.settings.delete_notices_fork_3"}}</p> + </div> + {{template "base/delete_modal_actions" .}} </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/admin/user/edit.tmpl b/templates/admin/user/edit.tmpl index 6f30f05c9f..b7f95e36db 100644 --- a/templates/admin/user/edit.tmpl +++ b/templates/admin/user/edit.tmpl @@ -1,106 +1,106 @@ {{template "base/head" .}} <div class="admin edit user"> - <div class="ui container"> - <div class="ui grid"> - {{template "admin/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.users.edit_account"}} - </h4> - <div class="ui attached segment"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <div class="inline field {{if .Err_UserName}}error{{end}}"> - <label for="user_name">{{.i18n.Tr "username"}}</label> - <span>{{.User.Name}}</span> - </div> - <!-- Types and name --> - <div class="inline required field {{if .Err_LoginType}}error{{end}}"> - <label>{{.i18n.Tr "admin.users.auth_source"}}</label> - <div class="ui selection type dropdown"> - <input type="hidden" id="login_type" name="login_type" value="{{.LoginSource.Type}}-{{.LoginSource.ID}}" required> - <div class="text">{{.i18n.Tr "admin.users.local"}}</div> - <i class="dropdown icon"></i> - <div class="menu"> - <div class="item" data-value="0-0">{{.i18n.Tr "admin.users.local"}}</div> - {{range .Sources}} - <div class="item" data-value="{{.Type}}-{{.ID}}">{{.Name}}</div> - {{end}} - </div> - </div> - </div> - <div class="required non-local field {{if .Err_LoginName}}error{{end}} {{if eq .User.LoginSource 0}}hide{{end}}"> - <label for="login_name">{{.i18n.Tr "admin.users.auth_login_name"}}</label> - <input id="login_name" name="login_name" value="{{.User.LoginName}}" autofocus> - </div> - <div class="field {{if .Err_FullName}}error{{end}}"> - <label for="full_name">{{.i18n.Tr "settings.full_name"}}</label> - <input id="full_name" name="full_name" value="{{.User.FullName}}"> - </div> - <div class="required field {{if .Err_Email}}error{{end}}"> - <label for="email">{{.i18n.Tr "email"}}</label> - <input id="email" name="email" type="email" value="{{.User.Email}}" autofocus required> - </div> - <input class="fake" type="password"> - <div class="local field {{if .Err_Password}}error{{end}} {{if not (eq .User.LoginSource 0)}}hide{{end}}"> - <label for="password">{{.i18n.Tr "password"}}</label> - <input id="password" name="password" type="password"> - <p class="help">{{.i18n.Tr "admin.users.password_helper"}}</p> - </div> - <div class="field {{if .Err_Website}}error{{end}}"> - <label for="website">{{.i18n.Tr "settings.website"}}</label> - <input id="website" name="website" type="url" value="{{.User.Website}}" placeholder="e.g. http://mydomain.com or https://mydomain.com"> - </div> - <div class="field {{if .Err_Location}}error{{end}}"> - <label for="location">{{.i18n.Tr "settings.location"}}</label> - <input id="location" name="location" value="{{.User.Location}}"> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "admin/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.users.edit_account"}} + </h4> + <div class="ui attached segment"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <div class="inline field {{if .Err_UserName}}error{{end}}"> + <label for="user_name">{{.i18n.Tr "username"}}</label> + <span>{{.User.Name}}</span> + </div> + <!-- Types and name --> + <div class="inline required field {{if .Err_LoginType}}error{{end}}"> + <label>{{.i18n.Tr "admin.users.auth_source"}}</label> + <div class="ui selection type dropdown"> + <input type="hidden" id="login_type" name="login_type" value="{{.LoginSource.Type}}-{{.LoginSource.ID}}" required> + <div class="text">{{.i18n.Tr "admin.users.local"}}</div> + <i class="dropdown icon"></i> + <div class="menu"> + <div class="item" data-value="0-0">{{.i18n.Tr "admin.users.local"}}</div> + {{range .Sources}} + <div class="item" data-value="{{.Type}}-{{.ID}}">{{.Name}}</div> + {{end}} + </div> + </div> + </div> + <div class="required non-local field {{if .Err_LoginName}}error{{end}} {{if eq .User.LoginSource 0}}hide{{end}}"> + <label for="login_name">{{.i18n.Tr "admin.users.auth_login_name"}}</label> + <input id="login_name" name="login_name" value="{{.User.LoginName}}" autofocus> + </div> + <div class="field {{if .Err_FullName}}error{{end}}"> + <label for="full_name">{{.i18n.Tr "settings.full_name"}}</label> + <input id="full_name" name="full_name" value="{{.User.FullName}}"> + </div> + <div class="required field {{if .Err_Email}}error{{end}}"> + <label for="email">{{.i18n.Tr "email"}}</label> + <input id="email" name="email" type="email" value="{{.User.Email}}" autofocus required> + </div> + <input class="fake" type="password"> + <div class="local field {{if .Err_Password}}error{{end}} {{if not (eq .User.LoginSource 0)}}hide{{end}}"> + <label for="password">{{.i18n.Tr "password"}}</label> + <input id="password" name="password" type="password"> + <p class="help">{{.i18n.Tr "admin.users.password_helper"}}</p> + </div> + <div class="field {{if .Err_Website}}error{{end}}"> + <label for="website">{{.i18n.Tr "settings.website"}}</label> + <input id="website" name="website" type="url" value="{{.User.Website}}" placeholder="e.g. http://mydomain.com or https://mydomain.com"> + </div> + <div class="field {{if .Err_Location}}error{{end}}"> + <label for="location">{{.i18n.Tr "settings.location"}}</label> + <input id="location" name="location" value="{{.User.Location}}"> + </div> - <div class="inline field"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "admin.users.is_activated"}}</strong></label> - <input name="active" type="checkbox" {{if .User.IsActive}}checked{{end}}> - </div> - </div> - <div class="inline field"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "admin.users.is_admin"}}</strong></label> - <input name="admin" type="checkbox" {{if .User.IsAdmin}}checked{{end}}> - </div> - </div> - <div class="inline field"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "admin.users.allow_git_hook"}}</strong></label> - <input name="allow_git_hook" type="checkbox" {{if .User.CanEditGitHook}}checked{{end}}> - </div> - </div> - <div class="inline field"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "admin.users.allow_import_local"}}</strong></label> - <input name="allow_import_local" type="checkbox" {{if .User.CanImportLocal}}checked{{end}}> - </div> - </div> + <div class="inline field"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "admin.users.is_activated"}}</strong></label> + <input name="active" type="checkbox" {{if .User.IsActive}}checked{{end}}> + </div> + </div> + <div class="inline field"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "admin.users.is_admin"}}</strong></label> + <input name="admin" type="checkbox" {{if .User.IsAdmin}}checked{{end}}> + </div> + </div> + <div class="inline field"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "admin.users.allow_git_hook"}}</strong></label> + <input name="allow_git_hook" type="checkbox" {{if .User.CanEditGitHook}}checked{{end}}> + </div> + </div> + <div class="inline field"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "admin.users.allow_import_local"}}</strong></label> + <input name="allow_import_local" type="checkbox" {{if .User.CanImportLocal}}checked{{end}}> + </div> + </div> - <div class="field"> - <button class="ui green button">{{.i18n.Tr "admin.users.update_profile"}}</button> - <div class="ui red button delete-button" data-url="{{$.Link}}/delete" data-id="{{.User.Id}}">{{.i18n.Tr "admin.users.delete_account"}}</div> - </div> - </form> - </div> + <div class="field"> + <button class="ui green button">{{.i18n.Tr "admin.users.update_profile"}}</button> + <div class="ui red button delete-button" data-url="{{$.Link}}/delete" data-id="{{.User.Id}}">{{.i18n.Tr "admin.users.delete_account"}}</div> + </div> + </form> + </div> </div> </div> </div> </div> <div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "settings.delete_account_title"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "settings.delete_account_desc"}}</p> - </div> - {{template "base/delete_modal_actions" .}} + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "settings.delete_account_title"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "settings.delete_account_desc"}}</p> + </div> + {{template "base/delete_modal_actions" .}} </div> {{template "base/footer" .}} diff --git a/templates/admin/user/list.tmpl b/templates/admin/user/list.tmpl index 2e23c9ec68..25ef4feac1 100644 --- a/templates/admin/user/list.tmpl +++ b/templates/admin/user/list.tmpl @@ -1,72 +1,72 @@ {{template "base/head" .}} <div class="admin user"> - <div class="ui container"> - <div class="ui grid"> - {{template "admin/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.users.user_manage_panel"}} ({{.i18n.Tr "admin.total" .Total}}) - <div class="ui right"> - <a class="ui blue tiny button" href="{{AppSubUrl}}/admin/users/new">{{.i18n.Tr "admin.users.new_account"}}</a> - </div> - </h4> - <div class="ui attached table segment"> - <table class="ui very basic striped table"> - <thead> - <tr> - <th>ID</th> - <th>{{.i18n.Tr "admin.users.name"}}</th> - <th>{{.i18n.Tr "email"}}</th> - <th>{{.i18n.Tr "admin.users.activated"}}</th> - <th>{{.i18n.Tr "admin.users.admin"}}</th> - <th>{{.i18n.Tr "admin.users.repos"}}</th> - <th>{{.i18n.Tr "admin.users.created"}}</th> - <th>{{.i18n.Tr "admin.users.edit"}}</th> - </tr> - </thead> - <tbody> - {{range .Users}} - <tr> - <td>{{.Id}}</td> - <td><a href="{{AppSubUrl}}/{{.Name}}">{{.Name}}</a></td> - <td><span class="text truncate email">{{.Email}}</span></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><span title="{{DateFmtLong .Created}}">{{DateFmtShort .Created }}</span></td> - <td><a href="{{AppSubUrl}}/admin/users/{{.Id}}"><i class="fa fa-pencil-square-o"></i></a></td> - </tr> - {{end}} - </tbody> - </table> - </div> - - {{with .Page}} - {{if gt .TotalPages 1}} - <div class="center page buttons"> - <div class="ui borderless pagination menu"> - <a class="{{if .IsFirst}}disabled{{end}} item" href="{{$.Link}}"><i class="angle double left icon"></i> {{$.i18n.Tr "admin.first_page"}}</a> - <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}> - <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} - </a> - {{range .Pages}} - {{if eq .Num -1}} - <a class="disabled item">...</a> - {{else}} - <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a> - {{end}} - {{end}} - <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}> - {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> - </a> - <a class="{{if .IsLast}}disabled{{end}} item" href="{{$.Link}}?page={{.TotalPages}}">{{$.i18n.Tr "admin.last_page"}} <i class="angle double right icon"></i></a> + <div class="ui container"> + <div class="ui grid"> + {{template "admin/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.users.user_manage_panel"}} ({{.i18n.Tr "admin.total" .Total}}) + <div class="ui right"> + <a class="ui blue tiny button" href="{{AppSubUrl}}/admin/users/new">{{.i18n.Tr "admin.users.new_account"}}</a> </div> + </h4> + <div class="ui attached table segment"> + <table class="ui very basic striped table"> + <thead> + <tr> + <th>ID</th> + <th>{{.i18n.Tr "admin.users.name"}}</th> + <th>{{.i18n.Tr "email"}}</th> + <th>{{.i18n.Tr "admin.users.activated"}}</th> + <th>{{.i18n.Tr "admin.users.admin"}}</th> + <th>{{.i18n.Tr "admin.users.repos"}}</th> + <th>{{.i18n.Tr "admin.users.created"}}</th> + <th>{{.i18n.Tr "admin.users.edit"}}</th> + </tr> + </thead> + <tbody> + {{range .Users}} + <tr> + <td>{{.Id}}</td> + <td><a href="{{AppSubUrl}}/{{.Name}}">{{.Name}}</a></td> + <td><span class="text truncate email">{{.Email}}</span></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><span title="{{DateFmtLong .Created}}">{{DateFmtShort .Created }}</span></td> + <td><a href="{{AppSubUrl}}/admin/users/{{.Id}}"><i class="fa fa-pencil-square-o"></i></a></td> + </tr> + {{end}} + </tbody> + </table> </div> + + {{with .Page}} + {{if gt .TotalPages 1}} + <div class="center page buttons"> + <div class="ui borderless pagination menu"> + <a class="{{if .IsFirst}}disabled{{end}} item" href="{{$.Link}}"><i class="angle double left icon"></i> {{$.i18n.Tr "admin.first_page"}}</a> + <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}> + <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} + </a> + {{range .Pages}} + {{if eq .Num -1}} + <a class="disabled item">...</a> + {{else}} + <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a> + {{end}} + {{end}} + <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}> + {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> + </a> + <a class="{{if .IsLast}}disabled{{end}} item" href="{{$.Link}}?page={{.TotalPages}}">{{$.i18n.Tr "admin.last_page"}} <i class="angle double right icon"></i></a> + </div> + </div> + {{end}} {{end}} - {{end}} - </div> - </div> - </div> + </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/admin/user/new.tmpl b/templates/admin/user/new.tmpl index 34630ececa..9352eaaced 100644 --- a/templates/admin/user/new.tmpl +++ b/templates/admin/user/new.tmpl @@ -1,66 +1,66 @@ {{template "base/head" .}} <div class="admin new user"> - <div class="ui container"> - <div class="ui grid"> - {{template "admin/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "admin.users.new_account"}} - </h4> - <div class="ui attached segment"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <!-- Types and name --> - <div class="inline required field {{if .Err_LoginType}}error{{end}}"> - <label>{{.i18n.Tr "admin.users.auth_source"}}</label> - <div class="ui selection type dropdown"> - <input type="hidden" id="login_type" name="login_type" value="{{.login_type}}" data-password="required" required> - <div class="text">{{.i18n.Tr "admin.users.local"}}</div> - <i class="dropdown icon"></i> - <div class="menu"> - <div class="item" data-value="0-0">{{.i18n.Tr "admin.users.local"}}</div> - {{range .Sources}} - <div class="item" data-value="{{.Type}}-{{.ID}}">{{.Name}}</div> - {{end}} - </div> - </div> - </div> - <div class="required non-local field {{if .Err_LoginName}}error{{end}} {{if eq .login_type "0-0"}}hide{{end}}"> - <label for="login_name">{{.i18n.Tr "admin.users.auth_login_name"}}</label> - <input id="login_name" name="login_name" value="{{.login_name}}"> - </div> - <div class="required field {{if .Err_UserName}}error{{end}}"> - <label for="user_name">{{.i18n.Tr "username"}}</label> - <input id="user_name" name="user_name" value="{{.user_name}}" autofocus required> - </div> - <div class="required field {{if .Err_Email}}error{{end}}"> - <label for="email">{{.i18n.Tr "email"}}</label> - <input id="email" name="email" type="email" value="{{.email}}" required> - </div> - <input class="fake" type="password"> - <div class="required local field {{if .Err_Password}}error{{end}} {{if not (eq .login_type "0-0")}}hide{{end}}"> - <label for="password">{{.i18n.Tr "password"}}</label> - <input id="password" name="password" type="password" value="{{.password}}" {{if eq .login_type "0-0"}}required{{end}}> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "admin/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "admin.users.new_account"}} + </h4> + <div class="ui attached segment"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <!-- Types and name --> + <div class="inline required field {{if .Err_LoginType}}error{{end}}"> + <label>{{.i18n.Tr "admin.users.auth_source"}}</label> + <div class="ui selection type dropdown"> + <input type="hidden" id="login_type" name="login_type" value="{{.login_type}}" data-password="required" required> + <div class="text">{{.i18n.Tr "admin.users.local"}}</div> + <i class="dropdown icon"></i> + <div class="menu"> + <div class="item" data-value="0-0">{{.i18n.Tr "admin.users.local"}}</div> + {{range .Sources}} + <div class="item" data-value="{{.Type}}-{{.ID}}">{{.Name}}</div> + {{end}} + </div> + </div> + </div> + <div class="required non-local field {{if .Err_LoginName}}error{{end}} {{if eq .login_type "0-0"}}hide{{end}}"> + <label for="login_name">{{.i18n.Tr "admin.users.auth_login_name"}}</label> + <input id="login_name" name="login_name" value="{{.login_name}}"> + </div> + <div class="required field {{if .Err_UserName}}error{{end}}"> + <label for="user_name">{{.i18n.Tr "username"}}</label> + <input id="user_name" name="user_name" value="{{.user_name}}" autofocus required> + </div> + <div class="required field {{if .Err_Email}}error{{end}}"> + <label for="email">{{.i18n.Tr "email"}}</label> + <input id="email" name="email" type="email" value="{{.email}}" required> + </div> + <input class="fake" type="password"> + <div class="required local field {{if .Err_Password}}error{{end}} {{if not (eq .login_type "0-0")}}hide{{end}}"> + <label for="password">{{.i18n.Tr "password"}}</label> + <input id="password" name="password" type="password" value="{{.password}}" {{if eq .login_type "0-0"}}required{{end}}> + </div> - <!-- Send register notify e-mail --> - {{if .CanSendEmail}} - <div class="inline field"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "admin.users.send_register_notify"}}</strong></label> - <input name="send_notify" type="checkbox" {{if .send_notify}}checked{{end}}> - </div> - </div> - {{end}} + <!-- Send register notify e-mail --> + {{if .CanSendEmail}} + <div class="inline field"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "admin.users.send_register_notify"}}</strong></label> + <input name="send_notify" type="checkbox" {{if .send_notify}}checked{{end}}> + </div> + </div> + {{end}} - <div class="field"> - <button class="ui green button">{{.i18n.Tr "admin.users.new_account"}}</button> - </div> - </form> - </div> - </div> - </div> - </div> + <div class="field"> + <button class="ui green button">{{.i18n.Tr "admin.users.new_account"}}</button> + </div> + </form> + </div> + </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/base/alert.tmpl b/templates/base/alert.tmpl index e71be803c5..60b7b588d7 100644 --- a/templates/base/alert.tmpl +++ b/templates/base/alert.tmpl @@ -1,15 +1,15 @@ {{if .Flash.ErrorMsg}} -<div class="ui negative message"> - <p>{{.Flash.ErrorMsg}}</p> -</div> + <div class="ui negative message"> + <p>{{.Flash.ErrorMsg}}</p> + </div> {{end}} {{if .Flash.SuccessMsg}} -<div class="ui positive message"> - <p>{{.Flash.SuccessMsg}}</p> -</div> + <div class="ui positive message"> + <p>{{.Flash.SuccessMsg}}</p> + </div> {{end}} {{if .Flash.InfoMsg}} -<div class="ui info message"> - <p>{{.Flash.InfoMsg}}</p> -</div> -{{end}}
\ No newline at end of file + <div class="ui info message"> + <p>{{.Flash.InfoMsg}}</p> + </div> +{{end}} diff --git a/templates/base/delete_modal_actions.tmpl b/templates/base/delete_modal_actions.tmpl index 6e9e256cb9..a889c67e5a 100644 --- a/templates/base/delete_modal_actions.tmpl +++ b/templates/base/delete_modal_actions.tmpl @@ -1,10 +1,10 @@ <div class="actions"> - <div class="ui red basic inverted cancel button"> - <i class="remove icon"></i> - {{.i18n.Tr "modal.no"}} - </div> - <div class="ui green basic inverted ok button"> - <i class="checkmark icon"></i> - {{.i18n.Tr "modal.yes"}} - </div> -</div>
\ No newline at end of file + <div class="ui red basic inverted cancel button"> + <i class="remove icon"></i> + {{.i18n.Tr "modal.no"}} + </div> + <div class="ui green basic inverted ok button"> + <i class="checkmark icon"></i> + {{.i18n.Tr "modal.yes"}} + </div> +</div> diff --git a/templates/base/footer.tmpl b/templates/base/footer.tmpl index a48c11d841..dd911fcd3e 100644 --- a/templates/base/footer.tmpl +++ b/templates/base/footer.tmpl @@ -1,3 +1,8 @@ +{{/* +<html> +<body> + <div> +*/}} </div> <footer> <div class="ui container"> @@ -6,19 +11,19 @@ </div> <div class="ui right links"> {{if .ShowFooterBranding}} - <a target="_blank" href="https://github.com/gogits/gogs"><i class="fa fa-github-square"></i><span class="sr-only">GitHub</span></a> - <a target="_blank" href="https://twitter.com/gogitservice"><i class="fa fa-twitter"></i><span class="sr-only">Twitter</span></a> - <a target="_blank" href="http://weibo.com/gogschina"><i class="fa fa-weibo"></i><span class="sr-only">Sina Weibo</span></a> + <a target="_blank" href="https://github.com/gogits/gogs"><i class="fa fa-github-square"></i><span class="sr-only">GitHub</span></a> + <a target="_blank" href="https://twitter.com/gogitservice"><i class="fa fa-twitter"></i><span class="sr-only">Twitter</span></a> + <a target="_blank" href="http://weibo.com/gogschina"><i class="fa fa-weibo"></i><span class="sr-only">Sina Weibo</span></a> {{end}} <div class="ui language bottom pointing slide up dropdown link item"> - <i class="world icon"></i> - <div class="text">{{.LangName}}</div> - <div class="menu"> - {{range .AllLangs}} - <a class="item {{if eq $.Lang .Lang}}active selected{{end}}" href="{{if eq $.Lang .Lang}}#{{else}}{{$.Link}}?lang={{.Lang}}{{end}}">{{.Name}}</a> - {{end}} - </div> - </div> + <i class="world icon"></i> + <div class="text">{{.LangName}}</div> + <div class="menu"> + {{range .AllLangs}} + <a class="item {{if eq $.Lang .Lang}}active selected{{end}}" href="{{if eq $.Lang .Lang}}#{{else}}{{$.Link}}?lang={{.Lang}}{{end}}">{{.Name}}</a> + {{end}} + </div> + </div> <a target="_blank" href="http://gogs.io">{{.i18n.Tr "website"}}</a> {{if (or .ShowFooterVersion .PageIsAdmin)}}<span class="version">{{GoVer}}</span>{{end}} </div> @@ -26,24 +31,24 @@ </footer> </body> - <!-- Third-party libraries --> - {{if .RequireHighlightJS}} +<!-- Third-party libraries --> +{{if .RequireHighlightJS}} <link rel="stylesheet" href="{{AppSubUrl}}/css/highlight-8.9.1/github.css"> <script src="{{AppSubUrl}}/js/libs/highlight-8.9.1.pack.js"></script> - {{end}} - {{if .RequireMinicolors}} +{{end}} +{{if .RequireMinicolors}} <link rel="stylesheet" href="{{AppSubUrl}}/css/jquery.minicolors-2.1.12.css"> <script src="{{AppSubUrl}}/js/libs/jquery.minicolors-2.1.12.min.js"></script> - {{end}} - {{if .RequireDatetimepicker}} +{{end}} +{{if .RequireDatetimepicker}} <link rel="stylesheet" href="{{AppSubUrl}}/css/jquery.datetimepicker-2.4.5.css"> <script src="{{AppSubUrl}}/js/libs/jquery.datetimepicker-2.4.5.js"></script> - {{end}} - {{if .RequireDropzone}} +{{end}} +{{if .RequireDropzone}} <link rel="stylesheet" href="{{AppSubUrl}}/css/dropzone-4.2.0.css"> <script src="{{AppSubUrl}}/js/libs/dropzone-4.2.0.js"></script> - {{end}} - <script src="{{AppSubUrl}}/js/libs/emojify-1.1.0.min.js"></script> - <script src="{{AppSubUrl}}/js/libs/clipboard-1.5.5.min.js"></script> +{{end}} +<script src="{{AppSubUrl}}/js/libs/emojify-1.1.0.min.js"></script> +<script src="{{AppSubUrl}}/js/libs/clipboard-1.5.5.min.js"></script> </html> diff --git a/templates/base/head.tmpl b/templates/base/head.tmpl index b1d4283614..ba7c7ba048 100644 --- a/templates/base/head.tmpl +++ b/templates/base/head.tmpl @@ -10,8 +10,8 @@ <meta name="_csrf" content="{{.CsrfToken}}" /> <meta name="_suburl" content="{{AppSubUrl}}" /> {{if .GoGetImport}} - <meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}"> - <meta name="go-source" content="{{.GoGetImport}} _ {{.GoDocDirectory}} {{.GoDocFile}}"> + <meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}"> + <meta name="go-source" content="{{.GoGetImport}} _ {{.GoDocDirectory}} {{.GoDocFile}}"> {{end}} <link rel="shortcut icon" href="{{AppSubUrl}}/img/favicon.png" /> @@ -20,8 +20,8 @@ <link rel="stylesheet" href="{{AppSubUrl}}/css/font-awesome-4.4.0.min.css"> {{if .RequireSimpleMDE}} - <link rel="stylesheet" href="{{AppSubUrl}}/css/simplemde-1.8.1.min.css"> - <script src="{{AppSubUrl}}/js/libs/simplemde-1.8.1.min.js"></script> + <link rel="stylesheet" href="{{AppSubUrl}}/css/simplemde-1.8.1.min.css"> + <script src="{{AppSubUrl}}/js/libs/simplemde-1.8.1.min.js"></script> {{end}} <!-- Stylesheet --> @@ -39,110 +39,115 @@ <noscript>Please enable JavaScript in your browser!</noscript> {{if not .PageIsInstall}} - <div class="following bar light"> - <div class="ui container"> - <div class="ui grid"> - <div class="column"> - <div class="ui top secondary menu"> - <a class="item brand" href="{{AppSubUrl}}/"> - <img class="ui mini image" src="{{AppSubUrl}}/img/favicon.png"> - </a> - - {{if .IsSigned}} - <a class="item{{if .PageIsDashboard}} active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "dashboard"}}</a> - <a class="item{{if .PageIsIssues}} active{{end}}" href="{{AppSubUrl}}/issues">{{.i18n.Tr "issues"}}</a> - <a class="item{{if .PageIsPulls}} active{{end}}" href="{{AppSubUrl}}/pulls">{{.i18n.Tr "pull_requests"}}</a> - {{else}} - <a class="item{{if .PageIsHome}} active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "home"}}</a> - {{end}} - - <a class="item{{if .PageIsExplore}} active{{end}}" href="{{AppSubUrl}}/explore">{{.i18n.Tr "explore"}}</a> - <!-- <div class="item"> - <div class="ui icon input"> + <div class="following bar light"> + <div class="ui container"> + <div class="ui grid"> + <div class="column"> + <div class="ui top secondary menu"> + <a class="item brand" href="{{AppSubUrl}}/"> + <img class="ui mini image" src="{{AppSubUrl}}/img/favicon.png"> + </a> + + {{if .IsSigned}} + <a class="item{{if .PageIsDashboard}} active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "dashboard"}}</a> + <a class="item{{if .PageIsIssues}} active{{end}}" href="{{AppSubUrl}}/issues">{{.i18n.Tr "issues"}}</a> + <a class="item{{if .PageIsPulls}} active{{end}}" href="{{AppSubUrl}}/pulls">{{.i18n.Tr "pull_requests"}}</a> + {{else}} + <a class="item{{if .PageIsHome}} active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "home"}}</a> + {{end}} + + <a class="item{{if .PageIsExplore}} active{{end}}" href="{{AppSubUrl}}/explore">{{.i18n.Tr "explore"}}</a> + {{/*<div class="item"> + <div class="ui icon input"> <input class="searchbox" type="text" placeholder="{{.i18n.Tr "search_project"}}"> <i class="search icon"></i> - </div> - </div> --> - - {{if .IsSigned}} - <div class="right menu"> - <div class="ui dropdown head link jump item poping up" data-content="{{.i18n.Tr "create_new"}}" data-variation="tiny inverted"> - <span class="text"> - <i class="octicon octicon-plus"></i> - <i class="octicon octicon-triangle-down"></i> - </span> - <div class="menu"> - <a class="item" href="{{AppSubUrl}}/repo/create"> - <i class="icon octicon octicon-repo-create"></i> {{.i18n.Tr "new_repo"}} - </a> - <a class="item" href="{{AppSubUrl}}/repo/migrate"> - <i class="icon octicon octicon-repo-clone"></i> {{.i18n.Tr "new_migrate"}} - </a> - <a class="item" href="{{AppSubUrl}}/org/create"> - <i class="icon octicon octicon-organization"></i> {{.i18n.Tr "new_org"}} - </a> - </div><!-- end content create new menu --> - </div><!-- end dropdown menu create new --> - - <div class="ui dropdown head link jump item poping up" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}" data-variation="tiny inverted"> - <span class="text avatar"> - <img class="ui small rounded image" src="{{.SignedUser.AvatarLink}}"> - <i class="octicon octicon-triangle-down" tabindex="-1"></i> - </span> - <div class="menu" tabindex="-1"> - <div class="ui header"> - {{.i18n.Tr "signed_in_as"}} <strong>{{.SignedUser.Name}}</strong> - </div> - - <div class="divider"></div> - <a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}"> - <i class="icon octicon octicon-person"></i> - {{.i18n.Tr "your_profile"}}<!-- Your profile --> - </a> - <a class="{{if .PageIsUserSettings}}active{{end}} item" href="{{AppSubUrl}}/user/settings"> - <i class="icon octicon octicon-settings"></i> - {{.i18n.Tr "your_settings"}}<!-- Your settings --> - </a> - <a class="item" target="_blank" href="http://gogs.io/docs" rel="noreferrer"> - <i class="icon octicon octicon-question"></i> - {{.i18n.Tr "help"}}<!-- Help --> - </a> - {{if .IsAdmin}} - <div class="divider"></div> - - <a class="{{if .PageIsAdmin}}active{{end}} item" href="{{AppSubUrl}}/admin"> - <i class="icon settings"></i> - {{.i18n.Tr "admin_panel"}}<!-- Admin Panel --> - </a> + </div> + </div>*/}} + + {{if .IsSigned}} + <div class="right menu"> + <div class="ui dropdown head link jump item poping up" data-content="{{.i18n.Tr "create_new"}}" data-variation="tiny inverted"> + <span class="text"> + <i class="octicon octicon-plus"></i> + <i class="octicon octicon-triangle-down"></i> + </span> + <div class="menu"> + <a class="item" href="{{AppSubUrl}}/repo/create"> + <i class="icon octicon octicon-repo-create"></i> {{.i18n.Tr "new_repo"}} + </a> + <a class="item" href="{{AppSubUrl}}/repo/migrate"> + <i class="icon octicon octicon-repo-clone"></i> {{.i18n.Tr "new_migrate"}} + </a> + <a class="item" href="{{AppSubUrl}}/org/create"> + <i class="icon octicon octicon-organization"></i> {{.i18n.Tr "new_org"}} + </a> + </div><!-- end content create new menu --> + </div><!-- end dropdown menu create new --> + + <div class="ui dropdown head link jump item poping up" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}" data-variation="tiny inverted"> + <span class="text avatar"> + <img class="ui small rounded image" src="{{.SignedUser.AvatarLink}}"> + <i class="octicon octicon-triangle-down" tabindex="-1"></i> + </span> + <div class="menu" tabindex="-1"> + <div class="ui header"> + {{.i18n.Tr "signed_in_as"}} <strong>{{.SignedUser.Name}}</strong> + </div> + + <div class="divider"></div> + <a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}"> + <i class="icon octicon octicon-person"></i> + {{.i18n.Tr "your_profile"}}<!-- Your profile --> + </a> + <a class="{{if .PageIsUserSettings}}active{{end}} item" href="{{AppSubUrl}}/user/settings"> + <i class="icon octicon octicon-settings"></i> + {{.i18n.Tr "your_settings"}}<!-- Your settings --> + </a> + <a class="item" target="_blank" href="http://gogs.io/docs" rel="noreferrer"> + <i class="icon octicon octicon-question"></i> + {{.i18n.Tr "help"}}<!-- Help --> + </a> + {{if .IsAdmin}} + <div class="divider"></div> + + <a class="{{if .PageIsAdmin}}active{{end}} item" href="{{AppSubUrl}}/admin"> + <i class="icon settings"></i> + {{.i18n.Tr "admin_panel"}}<!-- Admin Panel --> + </a> + {{end}} + + <div class="divider"></div> + <a class="item" href="{{AppSubUrl}}/user/logout"> + <i class="icon octicon octicon-sign-out"></i> + {{.i18n.Tr "sign_out"}}<!-- Sign Out --> + </a> + </div><!-- end content avatar menu --> + </div><!-- end dropdown avatar menu --> + </div><!-- end signed user right menu --> + + {{else}} + + <a class="item" target="_blank" href="http://gogs.io/docs" rel="noreferrer">{{.i18n.Tr "help"}}</a> + <div class="right menu"> + {{if .ShowRegistrationButton}} + <a class="item{{if .PageIsSignUp}} active{{end}}" href="{{AppSubUrl}}/user/sign_up"> + <i class="icon octicon octicon-person-add"></i> {{.i18n.Tr "register"}} + </a> {{end}} - - <div class="divider"></div> - <a class="item" href="{{AppSubUrl}}/user/logout"> - <i class="icon octicon octicon-sign-out"></i> - {{.i18n.Tr "sign_out"}}<!-- Sign Out --> + <a class="item{{if .PageIsSignIn}} active{{end}}" href="{{AppSubUrl}}/user/login"> + <i class="icon octicon octicon-sign-in"></i> {{.i18n.Tr "sign_in"}} </a> - </div><!-- end content avatar menu --> - </div><!-- end dropdown avatar menu --> - </div><!-- end signed user right menu --> - - {{else}} + </div><!-- end anonymous right menu --> - <a class="item" target="_blank" href="http://gogs.io/docs" rel="noreferrer">{{.i18n.Tr "help"}}</a> - <div class="right menu"> - {{if .ShowRegistrationButton}} - <a class="item{{if .PageIsSignUp}} active{{end}}" href="{{AppSubUrl}}/user/sign_up"> - <i class="icon octicon octicon-person-add"></i> {{.i18n.Tr "register"}} - </a> {{end}} - <a class="item{{if .PageIsSignIn}} active{{end}}" href="{{AppSubUrl}}/user/login"> - <i class="icon octicon octicon-sign-in"></i> {{.i18n.Tr "sign_in"}} - </a> - </div><!-- end anonymous right menu --> - - {{end}} - </div><!-- end top menu --> - </div><!-- end column --> - </div><!-- end grid --> - </div><!-- end container --> - </div><!-- end bar --> + </div><!-- end top menu --> + </div><!-- end column --> + </div><!-- end grid --> + </div><!-- end container --> + </div><!-- end bar --> {{end}} +{{/* + </div> +</body> +</html> +*/}} diff --git a/templates/explore/navbar.tmpl b/templates/explore/navbar.tmpl index 374376bf77..2b6aa93f5c 100644 --- a/templates/explore/navbar.tmpl +++ b/templates/explore/navbar.tmpl @@ -5,4 +5,4 @@ {{.i18n.Tr "explore.repos"}} </a> </div> -</div>
\ No newline at end of file +</div> diff --git a/templates/explore/repo_list.tmpl b/templates/explore/repo_list.tmpl index 5a459dedd8..a674bcc90a 100644 --- a/templates/explore/repo_list.tmpl +++ b/templates/explore/repo_list.tmpl @@ -1,23 +1,23 @@ <div class="ui repository list"> - {{range .Repos}} - <div class="item"> - <div class="ui header"> - <a href="{{AppSubUrl}}/{{if .Owner}}{{.Owner.Name}}{{else if $.Org}}{{$.Org.Name}}{{else}}{{$.Owner.Name}}{{end}}/{{.Name}}">{{if $.PageIsExplore}}{{.Owner.Name}} / {{end}}{{.Name}}</a> - {{if .IsPrivate}} - <span class="text gold"><i class="icon octicon octicon-lock"></i></span> - {{else if .IsFork}} - <span><i class="icon octicon octicon-repo-forked"></i></span> - {{else if .IsMirror}} - <span><i class="icon octicon octicon-repo-clone"></i></span> - {{end}} + {{range .Repos}} + <div class="item"> + <div class="ui header"> + <a href="{{AppSubUrl}}/{{if .Owner}}{{.Owner.Name}}{{else if $.Org}}{{$.Org.Name}}{{else}}{{$.Owner.Name}}{{end}}/{{.Name}}">{{if $.PageIsExplore}}{{.Owner.Name}} / {{end}}{{.Name}}</a> + {{if .IsPrivate}} + <span class="text gold"><i class="icon octicon octicon-lock"></i></span> + {{else if .IsFork}} + <span><i class="icon octicon octicon-repo-forked"></i></span> + {{else if .IsMirror}} + <span><i class="icon octicon octicon-repo-clone"></i></span> + {{end}} - <div class="ui right metas"> - <span class="text grey"><i class="octicon octicon-star"></i> {{.NumStars}}</span> - <span class="text grey"><i class="octicon octicon-git-branch"></i> {{.NumForks}}</span> - </div> - </div> - {{if .Description}}<p>{{.Description}}</p>{{end}} - <p class="time">{{$.i18n.Tr "org.repo_updated"}} {{TimeSince .Updated $.i18n.Lang}}</p> - </div> - {{end}} -</div>
\ No newline at end of file + <div class="ui right metas"> + <span class="text grey"><i class="octicon octicon-star"></i> {{.NumStars}}</span> + <span class="text grey"><i class="octicon octicon-git-branch"></i> {{.NumForks}}</span> + </div> + </div> + {{if .Description}}<p>{{.Description}}</p>{{end}} + <p class="time">{{$.i18n.Tr "org.repo_updated"}} {{TimeSince .Updated $.i18n.Lang}}</p> + </div> + {{end}} +</div> diff --git a/templates/explore/repos.tmpl b/templates/explore/repos.tmpl index 1d45a96ec5..5523295312 100644 --- a/templates/explore/repos.tmpl +++ b/templates/explore/repos.tmpl @@ -4,28 +4,28 @@ <div class="ui grid"> {{template "explore/navbar" .}} <div class="twelve wide column content"> - {{template "explore/repo_list" .}} + {{template "explore/repo_list" .}} {{with .Page}} - {{if gt .TotalPages 1}} - <div class="center page buttons"> - <div class="ui borderless pagination menu"> - <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}> - <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} - </a> - {{range .Pages}} - {{if eq .Num -1}} - <a class="disabled item">...</a> - {{else}} - <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a> - {{end}} - {{end}} - <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}> - {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> - </a> - </div> - </div> - {{end}} + {{if gt .TotalPages 1}} + <div class="center page buttons"> + <div class="ui borderless pagination menu"> + <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}> + <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} + </a> + {{range .Pages}} + {{if eq .Num -1}} + <a class="disabled item">...</a> + {{else}} + <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a> + {{end}} + {{end}} + <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}> + {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> + </a> + </div> + </div> + {{end}} {{end}} </div> </div> diff --git a/templates/home.tmpl b/templates/home.tmpl index 77dcebeec3..f9c5070643 100644 --- a/templates/home.tmpl +++ b/templates/home.tmpl @@ -3,127 +3,127 @@ <div class="ui stackable middle very relaxed page grid"> <div class="sixteen wide center aligned centered column"> <div> - <img class="logo" src="{{AppSubUrl}}/img/gogs-lg.png" /> + <img class="logo" src="{{AppSubUrl}}/img/gogs-lg.png" /> </div> <div class="hero"> - <h1 class="ui icon header title"> - Gogs - Go Git Service - </h1> - <h2>{{.i18n.Tr "app_desc"}}</h2> + <h1 class="ui icon header title"> + Gogs - Go Git Service + </h1> + <h2>{{.i18n.Tr "app_desc"}}</h2> </div> - </div> + </div> </div> {{if eq .Lang "de-DE"}} - <div class="ui stackable middle very relaxed page grid"> - <div class="eight wide center column"> - <h1 class="hero ui icon header"> - <i class="octicon octicon-flame"></i> Einfach zu installieren - </h1> - <p class="large"> - Starte einfach <a target="_blank" href="http://gogs.io/docs/installation/install_from_binary.html">die Anwendung</a> für deine Plattform. Gogs gibt es auch für <a target="_blank" href="https://github.com/gogits/gogs/tree/master/docker">Docker</a>, <a target="_blank" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a> oder als <a target="_blank" href="http://gogs.io/docs/installation/install_from_packages.html">Installationspaket</a>. - </p> - </div> - <div class="eight wide center column"> - <h1 class="hero ui icon header"> - <i class="octicon octicon-device-desktop"></i> Plattformübergreifend - </h1> - <p class="large"> - Gogs läuft überall. <a target="_blank" href="http://golang.org/">Go</a> kompiliert für: Windows, Mac OS X, Linux, ARM, etc. Wähle dasjenige System, was dir am meisten gefällt! - </p> - </div> - </div> - <div class="ui stackable middle very relaxed page grid"> - <div class="eight wide center column"> - <h1 class="hero ui icon header"> - <i class="octicon octicon-rocket"></i> Leichtgewicht - </h1> - <p class="large"> - Gogs hat minimale Systemanforderungen und kann selbst auf einem günstigen und stromsparenden Raspberry Pi betrieben werden. - </p> - </div> - <div class="eight wide center column"> - <h1 class="hero ui icon header"> - <i class="octicon octicon-code"></i> Quelloffen - </h1> - <p class="large"> - Der komplette Code befindet sich auf <a target="_blank" href="https://github.com/gogits/gogs/">GitHub</a>! Unterstütze uns bei der Verbesserung dieses Projekts. Trau dich! - </p> - </div> - </div> + <div class="ui stackable middle very relaxed page grid"> + <div class="eight wide center column"> + <h1 class="hero ui icon header"> + <i class="octicon octicon-flame"></i> Einfach zu installieren + </h1> + <p class="large"> + Starte einfach <a target="_blank" href="http://gogs.io/docs/installation/install_from_binary.html">die Anwendung</a> für deine Plattform. Gogs gibt es auch für <a target="_blank" href="https://github.com/gogits/gogs/tree/master/docker">Docker</a>, <a target="_blank" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a> oder als <a target="_blank" href="http://gogs.io/docs/installation/install_from_packages.html">Installationspaket</a>. + </p> + </div> + <div class="eight wide center column"> + <h1 class="hero ui icon header"> + <i class="octicon octicon-device-desktop"></i> Plattformübergreifend + </h1> + <p class="large"> + Gogs läuft überall. <a target="_blank" href="http://golang.org/">Go</a> kompiliert für: Windows, Mac OS X, Linux, ARM, etc. Wähle dasjenige System, was dir am meisten gefällt! + </p> + </div> + </div> + <div class="ui stackable middle very relaxed page grid"> + <div class="eight wide center column"> + <h1 class="hero ui icon header"> + <i class="octicon octicon-rocket"></i> Leichtgewicht + </h1> + <p class="large"> + Gogs hat minimale Systemanforderungen und kann selbst auf einem günstigen und stromsparenden Raspberry Pi betrieben werden. + </p> + </div> + <div class="eight wide center column"> + <h1 class="hero ui icon header"> + <i class="octicon octicon-code"></i> Quelloffen + </h1> + <p class="large"> + Der komplette Code befindet sich auf <a target="_blank" href="https://github.com/gogits/gogs/">GitHub</a>! Unterstütze uns bei der Verbesserung dieses Projekts. Trau dich! + </p> + </div> + </div> {{else if eq .Lang "zh-CN"}} - <div class="ui stackable middle very relaxed page grid"> - <div class="eight wide center column"> - <h1 class="hero ui icon header"> - <i class="octicon octicon-flame"></i> 易安装 - </h1> - <p class="large"> - 您除了可以根据操作系统平台通过 <a target="_blank" href="http://gogs.io/docs/installation/install_from_binary.html">二进制运行</a>,还可以通过 <a target="_blank" href="https://github.com/gogits/gogs/tree/master/docker">Docker</a> 或 <a target="_blank" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a>,以及 <a target="_blank" href="http://gogs.io/docs/installation/install_from_packages.html">包管理</a> 安装。 - </p> - </div> - <div class="eight wide center column"> - <h1 class="hero ui icon header"> - <i class="octicon octicon-device-desktop"></i> 跨平台 - </h1> - <p class="large"> - 任何 <a target="_blank" href="http://golang.org/">Go 语言</a> 支持的平台都可以运行 Gogs,包括 Windows、Mac、Linux 以及 ARM。挑一个您喜欢的就行! - </p> - </div> - </div> - <div class="ui stackable middle very relaxed page grid"> - <div class="eight wide center column"> - <h1 class="hero ui icon header"> - <i class="octicon octicon-rocket"></i> 轻量级 - </h1> - <p class="large"> - 一个廉价的树莓派的配置足以满足 Gogs 的最低系统硬件要求。最大程度上节省您的服务器资源! - </p> - </div> - <div class="eight wide center column"> - <h1 class="hero ui icon header"> - <i class="octicon octicon-code"></i> 开源化 - </h1> - <p class="large"> - 所有的代码都开源在 <a target="_blank" href="https://github.com/gogits/gogs/">GitHub</a> 上,赶快加入我们来共同发展这个伟大的项目!还等什么?成为贡献者吧! - </p> - </div> - </div> - {{else}} - <div class="ui stackable middle very relaxed page grid"> - <div class="eight wide center column"> - <h1 class="hero ui icon header"> - <i class="octicon octicon-flame"></i> Easy to install - </h1> - <p class="large"> - Simply <a target="_blank" href="http://gogs.io/docs/installation/install_from_binary.html">run the binary</a> for your platform. Or ship Gogs with <a target="_blank" href="https://github.com/gogits/gogs/tree/master/docker">Docker</a> or <a target="_blank" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a>, or get it <a target="_blank" href="http://gogs.io/docs/installation/install_from_packages.html">packaged</a>. - </p> - </div> - <div class="eight wide center column"> - <h1 class="hero ui icon header"> - <i class="octicon octicon-device-desktop"></i> Cross-platform - </h1> - <p class="large"> - Gogs runs anywhere <a target="_blank" href="http://golang.org/">Go</a> can compile for: Windows, Mac OS X, Linux, ARM, etc. Choose the one you love! - </p> - </div> - </div> - <div class="ui stackable middle very relaxed page grid"> - <div class="eight wide center column"> - <h1 class="hero ui icon header"> - <i class="octicon octicon-rocket"></i> Lightweight - </h1> - <p class="large"> - Gogs has low minimal requirements and can run on an inexpensive Raspberry Pi. Save your machine energy! - </p> - </div> - <div class="eight wide center column"> - <h1 class="hero ui icon header"> - <i class="octicon octicon-code"></i> Open Source - </h1> - <p class="large"> - It's all on <a target="_blank" href="https://github.com/gogits/gogs/">GitHub</a>! Join us by contributing to make this project even better. Don't be shy to be a contributor! - </p> - </div> - </div> + <div class="ui stackable middle very relaxed page grid"> + <div class="eight wide center column"> + <h1 class="hero ui icon header"> + <i class="octicon octicon-flame"></i> 易安装 + </h1> + <p class="large"> + 您除了可以根据操作系统平台通过 <a target="_blank" href="http://gogs.io/docs/installation/install_from_binary.html">二进制运行</a>,还可以通过 <a target="_blank" href="https://github.com/gogits/gogs/tree/master/docker">Docker</a> 或 <a target="_blank" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a>,以及 <a target="_blank" href="http://gogs.io/docs/installation/install_from_packages.html">包管理</a> 安装。 + </p> + </div> + <div class="eight wide center column"> + <h1 class="hero ui icon header"> + <i class="octicon octicon-device-desktop"></i> 跨平台 + </h1> + <p class="large"> + 任何 <a target="_blank" href="http://golang.org/">Go 语言</a> 支持的平台都可以运行 Gogs,包括 Windows、Mac、Linux 以及 ARM。挑一个您喜欢的就行! + </p> + </div> + </div> + <div class="ui stackable middle very relaxed page grid"> + <div class="eight wide center column"> + <h1 class="hero ui icon header"> + <i class="octicon octicon-rocket"></i> 轻量级 + </h1> + <p class="large"> + 一个廉价的树莓派的配置足以满足 Gogs 的最低系统硬件要求。最大程度上节省您的服务器资源! + </p> + </div> + <div class="eight wide center column"> + <h1 class="hero ui icon header"> + <i class="octicon octicon-code"></i> 开源化 + </h1> + <p class="large"> + 所有的代码都开源在 <a target="_blank" href="https://github.com/gogits/gogs/">GitHub</a> 上,赶快加入我们来共同发展这个伟大的项目!还等什么?成为贡献者吧! + </p> + </div> + </div> + {{else}} + <div class="ui stackable middle very relaxed page grid"> + <div class="eight wide center column"> + <h1 class="hero ui icon header"> + <i class="octicon octicon-flame"></i> Easy to install + </h1> + <p class="large"> + Simply <a target="_blank" href="http://gogs.io/docs/installation/install_from_binary.html">run the binary</a> for your platform. Or ship Gogs with <a target="_blank" href="https://github.com/gogits/gogs/tree/master/docker">Docker</a> or <a target="_blank" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a>, or get it <a target="_blank" href="http://gogs.io/docs/installation/install_from_packages.html">packaged</a>. + </p> + </div> + <div class="eight wide center column"> + <h1 class="hero ui icon header"> + <i class="octicon octicon-device-desktop"></i> Cross-platform + </h1> + <p class="large"> + Gogs runs anywhere <a target="_blank" href="http://golang.org/">Go</a> can compile for: Windows, Mac OS X, Linux, ARM, etc. Choose the one you love! + </p> + </div> + </div> + <div class="ui stackable middle very relaxed page grid"> + <div class="eight wide center column"> + <h1 class="hero ui icon header"> + <i class="octicon octicon-rocket"></i> Lightweight + </h1> + <p class="large"> + Gogs has low minimal requirements and can run on an inexpensive Raspberry Pi. Save your machine energy! + </p> + </div> + <div class="eight wide center column"> + <h1 class="hero ui icon header"> + <i class="octicon octicon-code"></i> Open Source + </h1> + <p class="large"> + It's all on <a target="_blank" href="https://github.com/gogits/gogs/">GitHub</a>! Join us by contributing to make this project even better. Don't be shy to be a contributor! + </p> + </div> + </div> {{end}} </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/install.tmpl b/templates/install.tmpl index 65fb06cae8..29665424ef 100644 --- a/templates/install.tmpl +++ b/templates/install.tmpl @@ -3,228 +3,228 @@ <div class="ui middle very relaxed page grid"> <div class="sixteen wide center aligned centered column"> <h3 class="ui top attached header"> - {{.i18n.Tr "install.title"}} + {{.i18n.Tr "install.title"}} </h3> <div class="ui attached segment"> - {{template "base/alert" .}} + {{template "base/alert" .}} - <p>{{.i18n.Tr "install.docker_helper" "https://github.com/gogits/gogs/tree/master/docker" | Safe}}</p> + <p>{{.i18n.Tr "install.docker_helper" "https://github.com/gogits/gogs/tree/master/docker" | Safe}}</p> - <form class="ui form" action="{{AppSubUrl}}/install" method="post"> - <!-- Dtabase Settings --> - <h4 class="ui dividing header">{{.i18n.Tr "install.db_title"}}</h4> - <p>{{.i18n.Tr "install.requite_db_desc"}}</p> - <div class="inline required field {{if .Err_DbType}}error{{end}}"> - <label>{{.i18n.Tr "install.db_type"}}</label> - <div class="ui selection database type dropdown"> - <input type="hidden" id="db_type" name="db_type" value="{{.CurDbOption}}"> - <div class="text">{{.CurDbOption}}</div> - <i class="dropdown icon"></i> - <div class="menu"> - {{range .DbOptions}} - <div class="item" data-value="{{.}}">{{.}}</div> - {{end}} - </div> - </div> - </div> + <form class="ui form" action="{{AppSubUrl}}/install" method="post"> + <!-- Dtabase Settings --> + <h4 class="ui dividing header">{{.i18n.Tr "install.db_title"}}</h4> + <p>{{.i18n.Tr "install.requite_db_desc"}}</p> + <div class="inline required field {{if .Err_DbType}}error{{end}}"> + <label>{{.i18n.Tr "install.db_type"}}</label> + <div class="ui selection database type dropdown"> + <input type="hidden" id="db_type" name="db_type" value="{{.CurDbOption}}"> + <div class="text">{{.CurDbOption}}</div> + <i class="dropdown icon"></i> + <div class="menu"> + {{range .DbOptions}} + <div class="item" data-value="{{.}}">{{.}}</div> + {{end}} + </div> + </div> + </div> - <div id="sql_settings" class="{{if or (eq .CurDbOption "SQLite3") (eq .CurDbOption "TiDB")}}hide{{end}}"> - <div class="inline required field {{if .Err_DbSetting}}error{{end}}"> - <label for="db_host">{{.i18n.Tr "install.host"}}</label> - <input id="db_host" name="db_host" value="{{.db_host}}"> - </div> - <div class="inline required field {{if .Err_DbSetting}}error{{end}}"> - <label for="db_user">{{.i18n.Tr "install.user"}}</label> - <input id="db_user" name="db_user" value="{{.db_user}}"> - </div> - <div class="inline required field {{if .Err_DbSetting}}error{{end}}"> - <label for="db_passwd">{{.i18n.Tr "install.password"}}</label> - <input id="db_passwd" name="db_passwd" type="password" value="{{.db_passwd}}"> - </div> - <div class="inline required field {{if .Err_DbSetting}}error{{end}}"> - <label for="db_name">{{.i18n.Tr "install.db_name"}}</label> - <input id="db_name" name="db_name" value="{{.db_name}}"> - <span class="help">{{.i18n.Tr "install.db_helper"}}</span> - </div> - </div> + <div id="sql_settings" class="{{if or (eq .CurDbOption "SQLite3") (eq .CurDbOption "TiDB")}}hide{{end}}"> + <div class="inline required field {{if .Err_DbSetting}}error{{end}}"> + <label for="db_host">{{.i18n.Tr "install.host"}}</label> + <input id="db_host" name="db_host" value="{{.db_host}}"> + </div> + <div class="inline required field {{if .Err_DbSetting}}error{{end}}"> + <label for="db_user">{{.i18n.Tr "install.user"}}</label> + <input id="db_user" name="db_user" value="{{.db_user}}"> + </div> + <div class="inline required field {{if .Err_DbSetting}}error{{end}}"> + <label for="db_passwd">{{.i18n.Tr "install.password"}}</label> + <input id="db_passwd" name="db_passwd" type="password" value="{{.db_passwd}}"> + </div> + <div class="inline required field {{if .Err_DbSetting}}error{{end}}"> + <label for="db_name">{{.i18n.Tr "install.db_name"}}</label> + <input id="db_name" name="db_name" value="{{.db_name}}"> + <span class="help">{{.i18n.Tr "install.db_helper"}}</span> + </div> + </div> - <div id="pgsql_settings" class="{{if not (eq .CurDbOption "PostgreSQL")}}hide{{end}}"> - <div class="inline required field"> - <label>{{.i18n.Tr "install.ssl_mode"}}</label> - <div class="ui selection database type dropdown"> - <input type="hidden" name="ssl_mode" value="{{if .ssl_mode}}{{.ssl_mode}}{{else}}disable{{end}}"> - <div class="default text">disable</div> - <i class="dropdown icon"></i> - <div class="menu"> - <div class="item" data-value="disable">Disable</div> - <div class="item" data-value="require">Require</div> - <div class="item" data-value="verify-full">Verify Full</div> - </div> - </div> - </div> - </div> + <div id="pgsql_settings" class="{{if not (eq .CurDbOption "PostgreSQL")}}hide{{end}}"> + <div class="inline required field"> + <label>{{.i18n.Tr "install.ssl_mode"}}</label> + <div class="ui selection database type dropdown"> + <input type="hidden" name="ssl_mode" value="{{if .ssl_mode}}{{.ssl_mode}}{{else}}disable{{end}}"> + <div class="default text">disable</div> + <i class="dropdown icon"></i> + <div class="menu"> + <div class="item" data-value="disable">Disable</div> + <div class="item" data-value="require">Require</div> + <div class="item" data-value="verify-full">Verify Full</div> + </div> + </div> + </div> + </div> - <div id="sqlite_settings" class="{{if not (or (eq .CurDbOption "SQLite3") (eq .CurDbOption "TiDB"))}}hide{{end}}"> - <div class="inline required field {{if or .Err_DbPath .Err_DbSetting}}error{{end}}"> - <label for="db_path">{{.i18n.Tr "install.path"}}</label> - <input id="db_path" name="db_path" value="{{.db_path}}"> - <span class="help">{{.i18n.Tr "install.sqlite_helper"}}</span> - </div> - </div> + <div id="sqlite_settings" class="{{if not (or (eq .CurDbOption "SQLite3") (eq .CurDbOption "TiDB"))}}hide{{end}}"> + <div class="inline required field {{if or .Err_DbPath .Err_DbSetting}}error{{end}}"> + <label for="db_path">{{.i18n.Tr "install.path"}}</label> + <input id="db_path" name="db_path" value="{{.db_path}}"> + <span class="help">{{.i18n.Tr "install.sqlite_helper"}}</span> + </div> + </div> <!-- General Settings --> <h4 class="ui dividing header">{{.i18n.Tr "install.general_title"}}</h4> - <div class="inline required field {{if .Err_AppName}}error{{end}}"> - <label for="app_name">{{.i18n.Tr "install.app_name"}}</label> - <input id="app_name" name="app_name" value="{{.app_name}}" required> - <span class="help">{{.i18n.Tr "install.app_name_helper"}}</span> - </div> - <div class="inline required field {{if .Err_RepoRootPath}}error{{end}}"> - <label for="repo_root_path">{{.i18n.Tr "install.repo_path"}}</label> - <input id="repo_root_path" name="repo_root_path" value="{{.repo_root_path}}" required> - <span class="help">{{.i18n.Tr "install.repo_path_helper"}}</span> - </div> - <div class="inline required field {{if .Err_RunUser}}error{{end}}"> - <label for="run_user">{{.i18n.Tr "install.run_user"}}</label> - <input id="run_user" name="run_user" value="{{.run_user}}" required> - <span class="help">{{.i18n.Tr "install.run_user_helper"}}</span> - </div> - <div class="inline required field"> - <label for="domain">{{.i18n.Tr "install.domain"}}</label> - <input id="domain" name="domain" value="{{.domain}}" placeholder="e.g. try.gogs.io" required> - <span class="help">{{.i18n.Tr "install.domain_helper"}}</span> - </div> - <div class="inline required field"> - <label for="ssh_port">{{.i18n.Tr "install.ssh_port"}}</label> - <input id="ssh_port" name="ssh_port" value="{{.ssh_port}}"> - <span class="help">{{.i18n.Tr "install.ssh_port_helper"}}</span> - </div> - <div class="inline required field"> - <label for="http_port">{{.i18n.Tr "install.http_port"}}</label> - <input id="http_port" name="http_port" value="{{.http_port}}" required> - <span class="help">{{.i18n.Tr "install.http_port_helper"}}</span> - </div> - <div class="inline required field"> - <label for="app_url">{{.i18n.Tr "install.app_url"}}</label> - <input id="app_url" name="app_url" value="{{.app_url}}" placeholder="e.g. https://try.gogs.io" required> - <span class="help">{{.i18n.Tr "install.app_url_helper"}}</span> - </div> + <div class="inline required field {{if .Err_AppName}}error{{end}}"> + <label for="app_name">{{.i18n.Tr "install.app_name"}}</label> + <input id="app_name" name="app_name" value="{{.app_name}}" required> + <span class="help">{{.i18n.Tr "install.app_name_helper"}}</span> + </div> + <div class="inline required field {{if .Err_RepoRootPath}}error{{end}}"> + <label for="repo_root_path">{{.i18n.Tr "install.repo_path"}}</label> + <input id="repo_root_path" name="repo_root_path" value="{{.repo_root_path}}" required> + <span class="help">{{.i18n.Tr "install.repo_path_helper"}}</span> + </div> + <div class="inline required field {{if .Err_RunUser}}error{{end}}"> + <label for="run_user">{{.i18n.Tr "install.run_user"}}</label> + <input id="run_user" name="run_user" value="{{.run_user}}" required> + <span class="help">{{.i18n.Tr "install.run_user_helper"}}</span> + </div> + <div class="inline required field"> + <label for="domain">{{.i18n.Tr "install.domain"}}</label> + <input id="domain" name="domain" value="{{.domain}}" placeholder="e.g. try.gogs.io" required> + <span class="help">{{.i18n.Tr "install.domain_helper"}}</span> + </div> + <div class="inline required field"> + <label for="ssh_port">{{.i18n.Tr "install.ssh_port"}}</label> + <input id="ssh_port" name="ssh_port" value="{{.ssh_port}}"> + <span class="help">{{.i18n.Tr "install.ssh_port_helper"}}</span> + </div> + <div class="inline required field"> + <label for="http_port">{{.i18n.Tr "install.http_port"}}</label> + <input id="http_port" name="http_port" value="{{.http_port}}" required> + <span class="help">{{.i18n.Tr "install.http_port_helper"}}</span> + </div> + <div class="inline required field"> + <label for="app_url">{{.i18n.Tr "install.app_url"}}</label> + <input id="app_url" name="app_url" value="{{.app_url}}" placeholder="e.g. https://try.gogs.io" required> + <span class="help">{{.i18n.Tr "install.app_url_helper"}}</span> + </div> - <!-- Optional Settings --> - <h4 class="ui dividing header">{{.i18n.Tr "install.optional_title"}}</h4> + <!-- Optional Settings --> + <h4 class="ui dividing header">{{.i18n.Tr "install.optional_title"}}</h4> - <!-- Email --> - <div class="ui accordion optional field"> - <div class="title {{if .Err_SMTP}}text red{{end}}"> - <i class="icon dropdown"></i> - {{.i18n.Tr "install.email_title"}} - </div> - <div class="content"> - <div class="inline field"> - <label for="smtp_host">{{.i18n.Tr "install.smtp_host"}}</label> - <input id="smtp_host" name="smtp_host" value="{{.smtp_host}}"> - </div> - <div class="inline field {{if .Err_SMTPFrom}}error{{end}}"> - <label for="smtp_from">{{.i18n.Tr "install.smtp_from"}}</label> - <input id="smtp_from" name="smtp_from" value="{{.smtp_from}}"> - <span class="help">{{.i18n.Tr "install.smtp_from_helper"}}</span> - </div> - <div class="inline field {{if .Err_SMTPEmail}}error{{end}}"> - <label for="smtp_email">{{.i18n.Tr "install.mailer_user"}}</label> - <input id="smtp_email" name="smtp_email" value="{{.smtp_email}}"> - </div> - <div class="inline field"> - <label for="smtp_passwd">{{.i18n.Tr "install.mailer_password"}}</label> - <input id="smtp_passwd" name="smtp_passwd" type="password" value="{{.smtp_passwd}}"> - </div> - <div class="inline field"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "install.register_confirm"}}</strong></label> - <input name="register_confirm" type="checkbox" {{if .register_confirm}}checked{{end}}> - </div> - </div> - <div class="inline field"> - <div class="ui checkbox"> - <label><strong>{{.i18n.Tr "install.mail_notify"}}</strong></label> - <input name="mail_notify" type="checkbox" {{if .mail_notify}}checked{{end}}> - </div> - </div> - </div> - </div> + <!-- Email --> + <div class="ui accordion optional field"> + <div class="title {{if .Err_SMTP}}text red{{end}}"> + <i class="icon dropdown"></i> + {{.i18n.Tr "install.email_title"}} + </div> + <div class="content"> + <div class="inline field"> + <label for="smtp_host">{{.i18n.Tr "install.smtp_host"}}</label> + <input id="smtp_host" name="smtp_host" value="{{.smtp_host}}"> + </div> + <div class="inline field {{if .Err_SMTPFrom}}error{{end}}"> + <label for="smtp_from">{{.i18n.Tr "install.smtp_from"}}</label> + <input id="smtp_from" name="smtp_from" value="{{.smtp_from}}"> + <span class="help">{{.i18n.Tr "install.smtp_from_helper"}}</span> + </div> + <div class="inline field {{if .Err_SMTPEmail}}error{{end}}"> + <label for="smtp_email">{{.i18n.Tr "install.mailer_user"}}</label> + <input id="smtp_email" name="smtp_email" value="{{.smtp_email}}"> + </div> + <div class="inline field"> + <label for="smtp_passwd">{{.i18n.Tr "install.mailer_password"}}</label> + <input id="smtp_passwd" name="smtp_passwd" type="password" value="{{.smtp_passwd}}"> + </div> + <div class="inline field"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "install.register_confirm"}}</strong></label> + <input name="register_confirm" type="checkbox" {{if .register_confirm}}checked{{end}}> + </div> + </div> + <div class="inline field"> + <div class="ui checkbox"> + <label><strong>{{.i18n.Tr "install.mail_notify"}}</strong></label> + <input name="mail_notify" type="checkbox" {{if .mail_notify}}checked{{end}}> + </div> + </div> + </div> + </div> - <!-- Server and other services --> - <div class="ui accordion optional field"> - <div class="title {{if .Err_Services}}text red{{end}}"> - <i class="icon dropdown"></i> - {{.i18n.Tr "install.server_service_title"}} - </div> - <div class="content"> - <div class="inline field"> - <div class="ui checkbox" id="offline-mode"> - <label class="poping up" data-content="{{.i18n.Tr "install.offline_mode_popup"}}"><strong>{{.i18n.Tr "install.offline_mode"}}</strong></label> - <input name="offline_mode" type="checkbox" {{if .offline_mode}}checked{{end}}> - </div> - </div> - <div class="inline field"> - <div class="ui checkbox" id="disable-gravatar"> - <label class="poping up" data-content="{{.i18n.Tr "install.disable_gravatar_popup"}}"><strong>{{.i18n.Tr "install.disable_gravatar"}}</strong></label> - <input name="disable_gravatar" type="checkbox" {{if .disable_gravatar}}checked{{end}}> - </div> - </div> - <div class="inline field"> - <div class="ui checkbox" id="disable-registration"> - <label class="poping up" data-content="{{.i18n.Tr "install.disable_registration_popup"}}"><strong>{{.i18n.Tr "install.disable_registration"}}</strong></label> - <input name="disable_registration" type="checkbox" {{if .disable_registration}}checked{{end}}> - </div> - </div> - <div class="inline field"> - <div class="ui checkbox" id="enable-captcha"> - <label class="poping up" data-content="{{.i18n.Tr "install.enable_captcha_popup"}}"><strong>{{.i18n.Tr "install.enable_captcha"}}</strong></label> - <input name="enable_captcha" type="checkbox" {{if .enable_captcha}}checked{{end}}> - </div> - </div> - <div class="inline field"> - <div class="ui checkbox"> - <label class="poping up" data-content="{{.i18n.Tr "install.require_sign_in_view_popup"}}"><strong>{{.i18n.Tr "install.require_sign_in_view"}}</strong></label> - <input name="require_sign_in_view" type="checkbox" {{if .require_sign_in_view}}checked{{end}}> - </div> - </div> - </div> - </div> + <!-- Server and other services --> + <div class="ui accordion optional field"> + <div class="title {{if .Err_Services}}text red{{end}}"> + <i class="icon dropdown"></i> + {{.i18n.Tr "install.server_service_title"}} + </div> + <div class="content"> + <div class="inline field"> + <div class="ui checkbox" id="offline-mode"> + <label class="poping up" data-content="{{.i18n.Tr "install.offline_mode_popup"}}"><strong>{{.i18n.Tr "install.offline_mode"}}</strong></label> + <input name="offline_mode" type="checkbox" {{if .offline_mode}}checked{{end}}> + </div> + </div> + <div class="inline field"> + <div class="ui checkbox" id="disable-gravatar"> + <label class="poping up" data-content="{{.i18n.Tr "install.disable_gravatar_popup"}}"><strong>{{.i18n.Tr "install.disable_gravatar"}}</strong></label> + <input name="disable_gravatar" type="checkbox" {{if .disable_gravatar}}checked{{end}}> + </div> + </div> + <div class="inline field"> + <div class="ui checkbox" id="disable-registration"> + <label class="poping up" data-content="{{.i18n.Tr "install.disable_registration_popup"}}"><strong>{{.i18n.Tr "install.disable_registration"}}</strong></label> + <input name="disable_registration" type="checkbox" {{if .disable_registration}}checked{{end}}> + </div> + </div> + <div class="inline field"> + <div class="ui checkbox" id="enable-captcha"> + <label class="poping up" data-content="{{.i18n.Tr "install.enable_captcha_popup"}}"><strong>{{.i18n.Tr "install.enable_captcha"}}</strong></label> + <input name="enable_captcha" type="checkbox" {{if .enable_captcha}}checked{{end}}> + </div> + </div> + <div class="inline field"> + <div class="ui checkbox"> + <label class="poping up" data-content="{{.i18n.Tr "install.require_sign_in_view_popup"}}"><strong>{{.i18n.Tr "install.require_sign_in_view"}}</strong></label> + <input name="require_sign_in_view" type="checkbox" {{if .require_sign_in_view}}checked{{end}}> + </div> + </div> + </div> + </div> - <!-- Admin --> - <div class="ui accordion optional field"> - <div class="title {{if .Err_Admin}}text red{{end}}"> - <i class="icon dropdown"></i> - {{.i18n.Tr "install.admin_title"}} - </div> - <div class="content"> - <p class="center">{{.i18n.Tr "install.admin_setting_desc"}}</p> - <div class="inline field {{if .Err_AdminName}}error{{end}}"> - <label for="admin_name">{{.i18n.Tr "install.admin_name"}}</label> - <input id="admin_name" name="admin_name" value="{{.admin_name}}"> - </div> - <div class="inline field {{if .Err_AdminPasswd}}error{{end}}"> - <label for="admin_passwd">{{.i18n.Tr "install.admin_password"}}</label> - <input id="admin_passwd" name="admin_passwd" type="password" value="{{.admin_passwd}}"> - </div> - <div class="inline field {{if .Err_AdminPasswd}}error{{end}}"> - <label for="admin_confirm_passwd">{{.i18n.Tr "install.confirm_password"}}</label> - <input id="admin_confirm_passwd" name="admin_confirm_passwd" type="password" value="{{.admin_confirm_passwd}}"> - </div> - <div class="inline field {{if .Err_AdminEmail}}error{{end}}"> - <label for="admin_email">{{.i18n.Tr "install.admin_email"}}</label> - <input id="admin_email" name="admin_email" type="email" value="{{.admin_email}}"> - </div> - </div> - </div> + <!-- Admin --> + <div class="ui accordion optional field"> + <div class="title {{if .Err_Admin}}text red{{end}}"> + <i class="icon dropdown"></i> + {{.i18n.Tr "install.admin_title"}} + </div> + <div class="content"> + <p class="center">{{.i18n.Tr "install.admin_setting_desc"}}</p> + <div class="inline field {{if .Err_AdminName}}error{{end}}"> + <label for="admin_name">{{.i18n.Tr "install.admin_name"}}</label> + <input id="admin_name" name="admin_name" value="{{.admin_name}}"> + </div> + <div class="inline field {{if .Err_AdminPasswd}}error{{end}}"> + <label for="admin_passwd">{{.i18n.Tr "install.admin_password"}}</label> + <input id="admin_passwd" name="admin_passwd" type="password" value="{{.admin_passwd}}"> + </div> + <div class="inline field {{if .Err_AdminPasswd}}error{{end}}"> + <label for="admin_confirm_passwd">{{.i18n.Tr "install.confirm_password"}}</label> + <input id="admin_confirm_passwd" name="admin_confirm_passwd" type="password" value="{{.admin_confirm_passwd}}"> + </div> + <div class="inline field {{if .Err_AdminEmail}}error{{end}}"> + <label for="admin_email">{{.i18n.Tr "install.admin_email"}}</label> + <input id="admin_email" name="admin_email" type="email" value="{{.admin_email}}"> + </div> + </div> + </div> - <div class="ui divider"></div> - <div class="inline field"> - <label></label> - <button class="ui primary button">{{.i18n.Tr "install.install_gogs"}}</button> - </div> - </form> + <div class="ui divider"></div> + <div class="inline field"> + <label></label> + <button class="ui primary button">{{.i18n.Tr "install.install_gogs"}}</button> + </div> + </form> </div> </div> </div> diff --git a/templates/mail/auth/activate.tmpl b/templates/mail/auth/activate.tmpl index 5822770e1c..dfbc3ba86b 100644 --- a/templates/mail/auth/activate.tmpl +++ b/templates/mail/auth/activate.tmpl @@ -1,15 +1,15 @@ <!DOCTYPE html> -<html> +<html> <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>{{.User.Name}}, please activate your account</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>{{.User.Name}}, please activate your account</title> </head> <body> - <p>Hi <b>{{.User.Name}}</b>, thanks for registering at {{.AppName}}!</p> - <p>Please click the following link to verify your e-mail address within <b>{{.ActiveCodeLives}} hours</b>:</p> - <p><a href="{{.AppUrl}}user/activate?code={{.Code}}">{{.AppUrl}}user/activate?code={{.Code}}</a></p> - <p>Not working? Try copying and pasting it to your browser.</p> - <p>© 2015 <a target="_blank" href="http://gogs.io">Gogs: Go Git Service</a></p> + <p>Hi <b>{{.User.Name}}</b>, thanks for registering at {{.AppName}}!</p> + <p>Please click the following link to verify your e-mail address within <b>{{.ActiveCodeLives}} hours</b>:</p> + <p><a href="{{.AppUrl}}user/activate?code={{.Code}}">{{.AppUrl}}user/activate?code={{.Code}}</a></p> + <p>Not working? Try copying and pasting it to your browser.</p> + <p>© 2015 <a target="_blank" href="http://gogs.io">Gogs: Go Git Service</a></p> </body> </html> diff --git a/templates/mail/auth/activate_email.tmpl b/templates/mail/auth/activate_email.tmpl index 1a918fe223..73d7f616ef 100644 --- a/templates/mail/auth/activate_email.tmpl +++ b/templates/mail/auth/activate_email.tmpl @@ -1,15 +1,15 @@ <!DOCTYPE html> -<html> +<html> <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>{{.User.Name}}, please verify your e-mail address</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>{{.User.Name}}, please verify your e-mail address</title> </head> <body> - <p>Hi <b>{{.User.Name}}</b>,</p> - <p>Please click the following link to verify your e-mail address within <b>{{.ActiveCodeLives}} hours</b>:</p> - <p><a href="{{.AppUrl}}user/activate_email?code={{.Code}}&email={{.Email}}">{{.AppUrl}}user/activate_email?code={{.Code}}&email={{.Email}}</a></p> - <p>Not working? Try copying and pasting it to your browser.</p> - <p>© 2015 <a target="_blank" href="http://gogs.io">Gogs: Go Git Service</a></p> + <p>Hi <b>{{.User.Name}}</b>,</p> + <p>Please click the following link to verify your e-mail address within <b>{{.ActiveCodeLives}} hours</b>:</p> + <p><a href="{{.AppUrl}}user/activate_email?code={{.Code}}&email={{.Email}}">{{.AppUrl}}user/activate_email?code={{.Code}}&email={{.Email}}</a></p> + <p>Not working? Try copying and pasting it to your browser.</p> + <p>© 2015 <a target="_blank" href="http://gogs.io">Gogs: Go Git Service</a></p> </body> -</html>
\ No newline at end of file +</html> diff --git a/templates/mail/auth/register_notify.tmpl b/templates/mail/auth/register_notify.tmpl index 5fc450b501..864ed55acd 100644 --- a/templates/mail/auth/register_notify.tmpl +++ b/templates/mail/auth/register_notify.tmpl @@ -1,14 +1,14 @@ <!DOCTYPE html> -<html> +<html> <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>{{.User.Name}}, welcome to {{.AppName}}</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>{{.User.Name}}, welcome to {{.AppName}}</title> </head> <body> - <p>Hi <b>{{.User.Name}}</b>, this is your registration confirmation email for {{.AppName}}!</p> - <p>You can now login via username: {{.User.Name}}.</p> - <p><a href="{{.AppUrl}}user/login">{{.AppUrl}}user/login</a></p> - <p>© 2015 <a target="_blank" href="http://gogs.io">Gogs: Go Git Service</a></p> + <p>Hi <b>{{.User.Name}}</b>, this is your registration confirmation email for {{.AppName}}!</p> + <p>You can now login via username: {{.User.Name}}.</p> + <p><a href="{{.AppUrl}}user/login">{{.AppUrl}}user/login</a></p> + <p>© 2015 <a target="_blank" href="http://gogs.io">Gogs: Go Git Service</a></p> </body> </html> diff --git a/templates/mail/auth/reset_passwd.tmpl b/templates/mail/auth/reset_passwd.tmpl index 92ae9f328d..eb29477828 100644 --- a/templates/mail/auth/reset_passwd.tmpl +++ b/templates/mail/auth/reset_passwd.tmpl @@ -1,15 +1,15 @@ <!DOCTYPE html> -<html> +<html> <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>{{.User.Name}}, you have requested to reset your password</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>{{.User.Name}}, you have requested to reset your password</title> </head> <body> - <p>Hi <b>{{.User.Name}}</b>,</p> - <p>Please click the following link to verify your e-mail address within <b>{{.ActiveCodeLives}} hours</b>:</p> - <p><a href="{{.AppUrl}}user/reset_password?code={{.Code}}">{{.AppUrl}}user/reset_password?code={{.Code}}</a></p> - <p>Not working? Try copying and pasting it to your browser.</p> - <p>© 2015 <a target="_blank" href="http://gogs.io">Gogs: Go Git Service</a></p> + <p>Hi <b>{{.User.Name}}</b>,</p> + <p>Please click the following link to verify your e-mail address within <b>{{.ActiveCodeLives}} hours</b>:</p> + <p><a href="{{.AppUrl}}user/reset_password?code={{.Code}}">{{.AppUrl}}user/reset_password?code={{.Code}}</a></p> + <p>Not working? Try copying and pasting it to your browser.</p> + <p>© 2015 <a target="_blank" href="http://gogs.io">Gogs: Go Git Service</a></p> </body> -</html>
\ No newline at end of file +</html> diff --git a/templates/mail/notify/collaborator.tmpl b/templates/mail/notify/collaborator.tmpl index 9b7e76edb7..a4748093ad 100644 --- a/templates/mail/notify/collaborator.tmpl +++ b/templates/mail/notify/collaborator.tmpl @@ -1,16 +1,16 @@ <!DOCTYPE html> <html> <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>{{.Subject}}</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>{{.Subject}}</title> </head> <body> - <p>You are now a collaborator of this repository.</p> - <p> - --- - <br> - View it on Gogs: <a href="{{.AppUrl}}{{.RepoLink}}">{{.RepoLink}}</a> - </p> + <p>You are now a collaborator of this repository.</p> + <p> + --- + <br> + View it on Gogs: <a href="{{.AppUrl}}{{.RepoLink}}">{{.RepoLink}}</a> + </p> </body> </html> diff --git a/templates/mail/notify/mention.tmpl b/templates/mail/notify/mention.tmpl index 6c6fba32c5..048a0c9c1c 100644 --- a/templates/mail/notify/mention.tmpl +++ b/templates/mail/notify/mention.tmpl @@ -1,17 +1,17 @@ <!DOCTYPE html> <html> <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>{{.Subject}}</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>{{.Subject}}</title> </head> <body> - <p>@{{.ActUserName}} mentioned you:</p> - <p>{{.Content | Str2html}}</p> - <p> - --- - <br> - <a href="{{.AppUrl}}{{.IssueLink}}">View it on Gogs</a>. - </p> + <p>@{{.ActUserName}} mentioned you:</p> + <p>{{.Content | Str2html}}</p> + <p> + --- + <br> + <a href="{{.AppUrl}}{{.IssueLink}}">View it on Gogs</a>. + </p> </body> </html> diff --git a/templates/org/create.tmpl b/templates/org/create.tmpl index debc1b6a93..765ef240e5 100644 --- a/templates/org/create.tmpl +++ b/templates/org/create.tmpl @@ -1,30 +1,30 @@ {{template "base/head" .}} <div class="organization new org"> - <div class="ui middle very relaxed page grid"> - <div class="column"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <h3 class="ui top attached header"> - {{.i18n.Tr "new_org"}} - </h3> - <div class="ui attached segment"> - {{template "base/alert" .}} - <div class="inline required field {{if .Err_OrgName}}error{{end}}"> - <label for="org_name">{{.i18n.Tr "org.org_name_holder"}}</label> - <input id="org_name" name="org_name" value="{{.org_name}}" autofocus required> - <span class="help">{{.i18n.Tr "org.org_name_helper"}}</span> - </div> + <div class="ui middle very relaxed page grid"> + <div class="column"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <h3 class="ui top attached header"> + {{.i18n.Tr "new_org"}} + </h3> + <div class="ui attached segment"> + {{template "base/alert" .}} + <div class="inline required field {{if .Err_OrgName}}error{{end}}"> + <label for="org_name">{{.i18n.Tr "org.org_name_holder"}}</label> + <input id="org_name" name="org_name" value="{{.org_name}}" autofocus required> + <span class="help">{{.i18n.Tr "org.org_name_helper"}}</span> + </div> - <div class="inline field"> - <label></label> - <button class="ui green button"> - {{.i18n.Tr "org.create_org"}} - </button> - <a class="ui button" href="{{AppSubUrl}}/">{{.i18n.Tr "cancel"}}</a> - </div> - </div> - </form> - </div> - </div> + <div class="inline field"> + <label></label> + <button class="ui green button"> + {{.i18n.Tr "org.create_org"}} + </button> + <a class="ui button" href="{{AppSubUrl}}/">{{.i18n.Tr "cancel"}}</a> + </div> + </div> + </form> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/org/header.tmpl b/templates/org/header.tmpl index c30433d96b..8fa1c2b269 100644 --- a/templates/org/header.tmpl +++ b/templates/org/header.tmpl @@ -1,26 +1,26 @@ {{with .Org}} -<div class="ui container"> - <div class="ui vertically grid head"> - <div class="column"> - <div class="ui header"> - <img class="ui image" src="{{.AvatarLink}}?s=100"> - <span class="text thin grey"><a href="{{.HomeLink}}">{{.DisplayName}}</a></span> + <div class="ui container"> + <div class="ui vertically grid head"> + <div class="column"> + <div class="ui header"> + <img class="ui image" src="{{.AvatarLink}}?s=100"> + <span class="text thin grey"><a href="{{.HomeLink}}">{{.DisplayName}}</a></span> - <div class="ui right"> - <div class="ui menu"> - <a class="{{if $.PageIsOrgMembers}}active{{end}} item" href="{{$.OrgLink}}/members"> - <i class="octicon octicon-organization"></i> {{$.i18n.Tr "org.people"}} - <div class="floating ui black label">{{.NumMembers}}</div> - </a> - <a class="{{if $.PageIsOrgTeams}}active{{end}} item" href="{{$.OrgLink}}/teams"> - <i class="octicon octicon-jersey"></i> {{$.i18n.Tr "org.teams"}} - <div class="floating ui black label">{{.NumTeams}}</div> - </a> - </div> + <div class="ui right"> + <div class="ui menu"> + <a class="{{if $.PageIsOrgMembers}}active{{end}} item" href="{{$.OrgLink}}/members"> + <i class="octicon octicon-organization"></i> {{$.i18n.Tr "org.people"}} + <div class="floating ui black label">{{.NumMembers}}</div> + </a> + <a class="{{if $.PageIsOrgTeams}}active{{end}} item" href="{{$.OrgLink}}/teams"> + <i class="octicon octicon-jersey"></i> {{$.i18n.Tr "org.teams"}} + <div class="floating ui black label">{{.NumTeams}}</div> + </a> + </div> + </div> </div> </div> </div> </div> -</div> -<div class="ui divider"></div> -{{end}}
\ No newline at end of file + <div class="ui divider"></div> +{{end}} diff --git a/templates/org/home.tmpl b/templates/org/home.tmpl index fdd494b19b..78caa3fe12 100644 --- a/templates/org/home.tmpl +++ b/templates/org/home.tmpl @@ -1,85 +1,85 @@ {{template "base/head" .}} <div class="organization profile"> - <div class="ui container"> - <div class="ui grid"> - <div class="ui sixteen wide column"> - <img class="ui left" id="org-avatar" src="{{.Org.AvatarLink}}?s=140"/> - <div id="org-info"> - <div class="ui header"> - {{.Org.FullName}} - {{if .IsOrganizationOwner}}<a class="text grey" href="{{.OrgLink}}/settings"><span class="icon octicon octicon-gear"></span></a>{{end}} - </div> - {{if .Org.Description}}<p class="desc">{{.Org.Description}}</p>{{end}} - <div class="text grey meta"> - {{if .Org.Location}}<div class="item"><span class="icon octicon octicon-location"></span> <span>{{.Org.Location}}</span></div>{{end}} - {{if .Org.Website}}<div class="item"><span class="icon octicon octicon-link"></span> <a target="_blank" href="{{.Org.Website}}">{{.Org.Website}}</a></div>{{end}} - </div> - </div> + <div class="ui container"> + <div class="ui grid"> + <div class="ui sixteen wide column"> + <img class="ui left" id="org-avatar" src="{{.Org.AvatarLink}}?s=140"/> + <div id="org-info"> + <div class="ui header"> + {{.Org.FullName}} + {{if .IsOrganizationOwner}}<a class="text grey" href="{{.OrgLink}}/settings"><span class="icon octicon octicon-gear"></span></a>{{end}} + </div> + {{if .Org.Description}}<p class="desc">{{.Org.Description}}</p>{{end}} + <div class="text grey meta"> + {{if .Org.Location}}<div class="item"><span class="icon octicon octicon-location"></span> <span>{{.Org.Location}}</span></div>{{end}} + {{if .Org.Website}}<div class="item"><span class="icon octicon octicon-link"></span> <a target="_blank" href="{{.Org.Website}}">{{.Org.Website}}</a></div>{{end}} + </div> + </div> - </div> - </div> - </div> + </div> + </div> + </div> - <div class="ui divider"></div> + <div class="ui divider"></div> - <div class="ui container"> - <div class="ui grid"> - <div class="ui eleven wide column"> - {{if .IsOrganizationOwner}} - <div class="text right"> - <a class="ui green button" href="{{AppSubUrl}}/repo/create?org={{.Org.Id}}"><i class="octicon octicon-repo-create"></i> {{.i18n.Tr "new_repo"}}</a> - </div> - <div class="ui divider"></div> - {{end}} - {{template "explore/repo_list" .}} - </div> + <div class="ui container"> + <div class="ui grid"> + <div class="ui eleven wide column"> + {{if .IsOrganizationOwner}} + <div class="text right"> + <a class="ui green button" href="{{AppSubUrl}}/repo/create?org={{.Org.Id}}"><i class="octicon octicon-repo-create"></i> {{.i18n.Tr "new_repo"}}</a> + </div> + <div class="ui divider"></div> + {{end}} + {{template "explore/repo_list" .}} + </div> - <div class="ui five wide column"> - <h4 class="ui top attached header"> - <strong>{{.i18n.Tr "org.people"}}</strong> - {{if .IsOrganizationMember}} - <div class="ui right"> - <a class="text grey" href="{{.OrgLink}}/members"><strong>{{.Org.NumMembers}}</strong><span class="octicon octicon-chevron-right"></span></a> - </div> - {{end}} - </h4> - <div class="ui attached segment members"> - {{$isMember := .IsOrganizationMember}} - {{range .Members}} - {{if or $isMember (.IsPublicMember $.Org.Id)}} - <a href="{{.HomeLink}}" title="{{.Name}}"><img class="ui avatar" src="{{.AvatarLink}}"></a> - {{end}} - {{end}} - </div> - {{if .IsOrganizationOwner}} - <div class="ui bottom attached segment"> - <a class="ui blue small button" href="{{.OrgLink}}/invitations/new">{{.i18n.Tr "org.invite_someone"}}</a> - </div> - {{end}} + <div class="ui five wide column"> + <h4 class="ui top attached header"> + <strong>{{.i18n.Tr "org.people"}}</strong> + {{if .IsOrganizationMember}} + <div class="ui right"> + <a class="text grey" href="{{.OrgLink}}/members"><strong>{{.Org.NumMembers}}</strong><span class="octicon octicon-chevron-right"></span></a> + </div> + {{end}} + </h4> + <div class="ui attached segment members"> + {{$isMember := .IsOrganizationMember}} + {{range .Members}} + {{if or $isMember (.IsPublicMember $.Org.Id)}} + <a href="{{.HomeLink}}" title="{{.Name}}"><img class="ui avatar" src="{{.AvatarLink}}"></a> + {{end}} + {{end}} + </div> + {{if .IsOrganizationOwner}} + <div class="ui bottom attached segment"> + <a class="ui blue small button" href="{{.OrgLink}}/invitations/new">{{.i18n.Tr "org.invite_someone"}}</a> + </div> + {{end}} - {{if .IsOrganizationMember}} - <div class="ui top attached header"> - <strong>{{.i18n.Tr "org.teams"}}</strong> - <div class="ui right"> - <a class="text grey" href="{{.OrgLink}}/teams"><strong>{{.Org.NumTeams}}</strong><span class="octicon octicon-chevron-right"></span></a> - </div> - </div> - <div class="ui attached table segment teams"> - {{range .Teams}} - <div class="item"> - <a href="{{$.OrgLink}}/teams/{{.LowerName}}"><strong class="team-name">{{.Name}}</strong></a> - <p class="text grey">{{.NumMembers}} {{$.i18n.Tr "org.lower_members"}} · {{.NumRepos}} {{$.i18n.Tr "org.lower_repositories"}}</p> - </div> - {{end}} - </div> - {{if .IsOrganizationOwner}} - <div class="ui bottom attached segment"> - <a class="ui blue small button" href="{{.OrgLink}}/teams/new">{{.i18n.Tr "org.create_new_team"}}</a> - </div> - {{end}} - {{end}} - </div> - </div> - </div> + {{if .IsOrganizationMember}} + <div class="ui top attached header"> + <strong>{{.i18n.Tr "org.teams"}}</strong> + <div class="ui right"> + <a class="text grey" href="{{.OrgLink}}/teams"><strong>{{.Org.NumTeams}}</strong><span class="octicon octicon-chevron-right"></span></a> + </div> + </div> + <div class="ui attached table segment teams"> + {{range .Teams}} + <div class="item"> + <a href="{{$.OrgLink}}/teams/{{.LowerName}}"><strong class="team-name">{{.Name}}</strong></a> + <p class="text grey">{{.NumMembers}} {{$.i18n.Tr "org.lower_members"}} · {{.NumRepos}} {{$.i18n.Tr "org.lower_repositories"}}</p> + </div> + {{end}} + </div> + {{if .IsOrganizationOwner}} + <div class="ui bottom attached segment"> + <a class="ui blue small button" href="{{.OrgLink}}/teams/new">{{.i18n.Tr "org.create_new_team"}}</a> + </div> + {{end}} + {{end}} + </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/org/member/invite.tmpl b/templates/org/member/invite.tmpl index d412dd30a3..29e7928f0c 100644 --- a/templates/org/member/invite.tmpl +++ b/templates/org/member/invite.tmpl @@ -1,23 +1,23 @@ {{template "base/head" .}} <div class="organization invite"> {{template "org/header" .}} - <div class="ui container"> + <div class="ui container"> <div id="invite-box"> - {{template "base/alert" .}} + {{template "base/alert" .}} <h2>{{.i18n.Tr "org.members.invite_desc" .Org.DisplayName}}</h2> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <div class="inline field ui left"> - <div id="search-user-box"> - <div class="ui input"> - <input class="prompt" name="uname" placeholder="{{.i18n.Tr "repo.settings.search_user_placeholder"}}" autocomplete="off" autofocus required> - </div> - <div class="ui segment results hide"></div> - </div> - </div> - <button class="ui blue button">{{.i18n.Tr "org.members.invite_now"}}</button> - </form> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <div class="inline field ui left"> + <div id="search-user-box"> + <div class="ui input"> + <input class="prompt" name="uname" placeholder="{{.i18n.Tr "repo.settings.search_user_placeholder"}}" autocomplete="off" autofocus required> + </div> + <div class="ui segment results hide"></div> + </div> + </div> + <button class="ui blue button">{{.i18n.Tr "org.members.invite_now"}}</button> + </form> </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/org/member/members.tmpl b/templates/org/member/members.tmpl index 8399e044d2..ddd341af2e 100644 --- a/templates/org/member/members.tmpl +++ b/templates/org/member/members.tmpl @@ -1,60 +1,60 @@ {{template "base/head" .}} <div class="organization members"> {{template "org/header" .}} - <div class="ui container"> - {{template "base/alert" .}} + <div class="ui container"> + {{template "base/alert" .}} {{if .IsOrganizationOwner}} - <div class="text right"> - <a class="ui blue button" href="{{.OrgLink}}/invitations/new"><i class="octicon octicon-repo-create"></i> {{.i18n.Tr "org.invite_someone"}}</a> - </div> - <div class="ui divider"></div> + <div class="text right"> + <a class="ui blue button" href="{{.OrgLink}}/invitations/new"><i class="octicon octicon-repo-create"></i> {{.i18n.Tr "org.invite_someone"}}</a> + </div> + <div class="ui divider"></div> {{end}} - + <div class="list"> {{range .Members}} - <div class="item ui grid"> - <div class="ui one wide column"> - <img class="ui avatar" src="{{.AvatarLink}}?s=48"> - </div> - <div class="ui three wide column"> - <div class="meta"><a href="{{.HomeLink}}">{{.Name}}</a></div> - <div class="meta">{{.FullName}}</div> - </div> - <div class="ui five wide column center"> - <div class="meta"> - {{$.i18n.Tr "org.members.membership_visibility"}} + <div class="item ui grid"> + <div class="ui one wide column"> + <img class="ui avatar" src="{{.AvatarLink}}?s=48"> </div> - <div class="meta"> - {{ $isPublic := .IsPublicMember $.Org.Id}} - {{if $isPublic}} - <strong>{{$.i18n.Tr "org.members.public"}}</strong> - {{if or (eq $.SignedUser.Id .Id) $.IsOrganizationOwner}}(<a href="{{$.OrgLink}}/members/action/private?uid={{.Id}}">{{$.i18n.Tr "org.members.public_helper"}}</a>){{end}} - {{else}} - <strong>{{$.i18n.Tr "org.members.private"}}</strong> - {{if or (eq $.SignedUser.Id .Id) $.IsOrganizationOwner}}(<a href="{{$.OrgLink}}/members/action/public?uid={{.Id}}">{{$.i18n.Tr "org.members.private_helper"}}</a>){{end}} - {{end}} + <div class="ui three wide column"> + <div class="meta"><a href="{{.HomeLink}}">{{.Name}}</a></div> + <div class="meta">{{.FullName}}</div> </div> - </div> - <div class="ui three wide column center"> - <div class="meta"> - {{$.i18n.Tr "org.members.member_role"}} + <div class="ui five wide column center"> + <div class="meta"> + {{$.i18n.Tr "org.members.membership_visibility"}} + </div> + <div class="meta"> + {{ $isPublic := .IsPublicMember $.Org.Id}} + {{if $isPublic}} + <strong>{{$.i18n.Tr "org.members.public"}}</strong> + {{if or (eq $.SignedUser.Id .Id) $.IsOrganizationOwner}}(<a href="{{$.OrgLink}}/members/action/private?uid={{.Id}}">{{$.i18n.Tr "org.members.public_helper"}}</a>){{end}} + {{else}} + <strong>{{$.i18n.Tr "org.members.private"}}</strong> + {{if or (eq $.SignedUser.Id .Id) $.IsOrganizationOwner}}(<a href="{{$.OrgLink}}/members/action/public?uid={{.Id}}">{{$.i18n.Tr "org.members.private_helper"}}</a>){{end}} + {{end}} + </div> </div> - <div class="meta"> - <strong>{{if .IsUserOrgOwner $.Org.Id}}<span class="octicon octicon-shield"></span> {{$.i18n.Tr "org.members.owner"}}{{else}}{{$.i18n.Tr "org.members.member"}}{{end}}</strong> + <div class="ui three wide column center"> + <div class="meta"> + {{$.i18n.Tr "org.members.member_role"}} + </div> + <div class="meta"> + <strong>{{if .IsUserOrgOwner $.Org.Id}}<span class="octicon octicon-shield"></span> {{$.i18n.Tr "org.members.owner"}}{{else}}{{$.i18n.Tr "org.members.member"}}{{end}}</strong> + </div> </div> - </div> - <div class="ui four wide column"> - <div class="text right"> - {{if eq $.SignedUser.Id .Id}} - <a class="ui red small button" href="{{$.OrgLink}}/members/action/leave?uid={{.Id}}">{{$.i18n.Tr "org.members.leave"}}</a> - {{else if $.IsOrganizationOwner}} - <a class="ui red small button" href="{{$.OrgLink}}/members/action/remove?uid={{.Id}}">{{$.i18n.Tr "org.members.remove"}}</a> - {{end}} + <div class="ui four wide column"> + <div class="text right"> + {{if eq $.SignedUser.Id .Id}} + <a class="ui red small button" href="{{$.OrgLink}}/members/action/leave?uid={{.Id}}">{{$.i18n.Tr "org.members.leave"}}</a> + {{else if $.IsOrganizationOwner}} + <a class="ui red small button" href="{{$.OrgLink}}/members/action/remove?uid={{.Id}}">{{$.i18n.Tr "org.members.remove"}}</a> + {{end}} + </div> </div> </div> - </div> {{end}} </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/org/settings/delete.tmpl b/templates/org/settings/delete.tmpl index 707d6f88b2..dc1858e5c4 100644 --- a/templates/org/settings/delete.tmpl +++ b/templates/org/settings/delete.tmpl @@ -1,43 +1,43 @@ {{template "base/head" .}} <div class="organization settings delete"> - {{template "org/header" .}} - <div class="ui container"> - <div class="ui grid"> - {{template "org/settings/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached warning header"> - {{.i18n.Tr "org.settings.delete_account"}} - </h4> - <div class="ui attached warning segment"> - <div class="ui red message"> - <p class="text left"><i class="octicon octicon-alert"></i> {{.i18n.Tr "org.settings.delete_prompt" | Str2html}}</p> - </div> - <form class="ui form" id="delete-form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <input class="fake" type="password"> - <div class="inline required field {{if .Err_Password}}error{{end}}"> - <label for="password">{{.i18n.Tr "password"}}</label> - <input id="password" name="password" type="password" autofocus required> - </div> - <div class="ui red button delete-button" data-type="form" data-form="#delete-form"> - {{.i18n.Tr "org.settings.confirm_delete_account"}} - </div> - </form> - </div> - </div> - </div> - </div> + {{template "org/header" .}} + <div class="ui container"> + <div class="ui grid"> + {{template "org/settings/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached warning header"> + {{.i18n.Tr "org.settings.delete_account"}} + </h4> + <div class="ui attached warning segment"> + <div class="ui red message"> + <p class="text left"><i class="octicon octicon-alert"></i> {{.i18n.Tr "org.settings.delete_prompt" | Str2html}}</p> + </div> + <form class="ui form" id="delete-form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <input class="fake" type="password"> + <div class="inline required field {{if .Err_Password}}error{{end}}"> + <label for="password">{{.i18n.Tr "password"}}</label> + <input id="password" name="password" type="password" autofocus required> + </div> + <div class="ui red button delete-button" data-type="form" data-form="#delete-form"> + {{.i18n.Tr "org.settings.confirm_delete_account"}} + </div> + </form> + </div> + </div> + </div> + </div> </div> <div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "org.settings.delete_org_title"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "org.settings.delete_org_desc"}}</p> - </div> - {{template "base/delete_modal_actions" .}} + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "org.settings.delete_org_title"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "org.settings.delete_org_desc"}}</p> + </div> + {{template "base/delete_modal_actions" .}} </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/org/settings/hook_new.tmpl b/templates/org/settings/hook_new.tmpl index d9a9b16928..2324788d33 100644 --- a/templates/org/settings/hook_new.tmpl +++ b/templates/org/settings/hook_new.tmpl @@ -1,29 +1,29 @@ {{template "base/head" .}} <div class="organization settings new webhook"> - {{template "org/header" .}} - <div class="ui container"> - <div class="ui grid"> - {{template "org/settings/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{if .PageIsSettingsHooksNew}}{{.i18n.Tr "repo.settings.add_webhook"}}{{else}}{{.i18n.Tr "repo.settings.update_webhook"}}{{end}} - <div class="ui right"> - {{if eq .HookType "gogs"}} - <img class="img-13" src="{{AppSubUrl}}/img/favicon.png"> - {{else if eq .HookType "slack"}} - <img class="img-13" src="{{AppSubUrl}}/img/slack.png"> - {{end}} - </div> - </h4> - <div class="ui attached segment"> - {{template "repo/settings/hook_gogs" .}} - {{template "repo/settings/hook_slack" .}} - </div> + {{template "org/header" .}} + <div class="ui container"> + <div class="ui grid"> + {{template "org/settings/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{if .PageIsSettingsHooksNew}}{{.i18n.Tr "repo.settings.add_webhook"}}{{else}}{{.i18n.Tr "repo.settings.update_webhook"}}{{end}} + <div class="ui right"> + {{if eq .HookType "gogs"}} + <img class="img-13" src="{{AppSubUrl}}/img/favicon.png"> + {{else if eq .HookType "slack"}} + <img class="img-13" src="{{AppSubUrl}}/img/slack.png"> + {{end}} + </div> + </h4> + <div class="ui attached segment"> + {{template "repo/settings/hook_gogs" .}} + {{template "repo/settings/hook_slack" .}} + </div> - {{template "repo/settings/hook_history" .}} - </div> - </div> - </div> + {{template "repo/settings/hook_history" .}} + </div> + </div> + </div> </div> {{template "base/footer" .}} diff --git a/templates/org/settings/hooks.tmpl b/templates/org/settings/hooks.tmpl index 3b5bf4d9df..98b00f794c 100644 --- a/templates/org/settings/hooks.tmpl +++ b/templates/org/settings/hooks.tmpl @@ -1,11 +1,11 @@ {{template "base/head" .}} <div class="organization settings webhooks"> - {{template "org/header" .}} - <div class="ui container"> - <div class="ui grid"> - {{template "org/settings/navbar" .}} - {{template "repo/settings/hook_list" .}} - </div> - </div> + {{template "org/header" .}} + <div class="ui container"> + <div class="ui grid"> + {{template "org/settings/navbar" .}} + {{template "repo/settings/hook_list" .}} + </div> + </div> </div> {{template "base/footer" .}} diff --git a/templates/org/settings/navbar.tmpl b/templates/org/settings/navbar.tmpl index d6bfe04145..09fca5d7f6 100644 --- a/templates/org/settings/navbar.tmpl +++ b/templates/org/settings/navbar.tmpl @@ -1,14 +1,14 @@ <div class="four wide column"> <div class="ui vertical menu"> <div class="header item">{{.i18n.Tr "org.settings"}}</div> - <a class="{{if .PageIsSettingsOptions}}active{{end}} item" href="{{.OrgLink}}/settings"> - {{.i18n.Tr "org.settings.options"}} - </a> - <a class="{{if .PageIsSettingsHooks}}active{{end}} item" href="{{.OrgLink}}/settings/hooks"> - {{.i18n.Tr "repo.settings.hooks"}} - </a> - <a class="{{if .PageIsSettingsDelete}}active{{end}} item" href="{{.OrgLink}}/settings/delete"> - {{.i18n.Tr "org.settings.delete"}} - </a> + <a class="{{if .PageIsSettingsOptions}}active{{end}} item" href="{{.OrgLink}}/settings"> + {{.i18n.Tr "org.settings.options"}} + </a> + <a class="{{if .PageIsSettingsHooks}}active{{end}} item" href="{{.OrgLink}}/settings/hooks"> + {{.i18n.Tr "repo.settings.hooks"}} + </a> + <a class="{{if .PageIsSettingsDelete}}active{{end}} item" href="{{.OrgLink}}/settings/delete"> + {{.i18n.Tr "org.settings.delete"}} + </a> </div> </div> diff --git a/templates/org/settings/options.tmpl b/templates/org/settings/options.tmpl index 157ff97549..ce3610ae2f 100644 --- a/templates/org/settings/options.tmpl +++ b/templates/org/settings/options.tmpl @@ -1,59 +1,59 @@ {{template "base/head" .}} <div class="organization settings options"> - {{template "org/header" .}} - <div class="ui container"> - <div class="ui grid"> - {{template "org/settings/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "org.settings.options"}} - </h4> - <div class="ui attached segment"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <div class="required field {{if .Err_Name}}error{{end}}"> - <label for="org_name">{{.i18n.Tr "org.org_name_holder"}}<span class="text red hide" id="org-name-change-prompt"> {{.i18n.Tr "org.settings.change_orgname_prompt"}}</span></label> - <input id="org_name" name="name" value="{{.Org.Name}}" data-org-name="{{.Org.Name}}" autofocus required> - </div> - <div class="field {{if .Err_FullName}}error{{end}}"> - <label for="full_name">{{.i18n.Tr "org.org_full_name_holder"}}</label> - <input id="full_name" name="full_name" value="{{.Org.FullName}}"> - </div> - <div class="field {{if .Err_Description}}error{{end}}"> - <label for="description">{{$.i18n.Tr "org.org_desc"}}</label> - <textarea id="description" name="description" rows="2">{{.Org.Description}}</textarea> - </div> - <div class="field {{if .Err_Website}}error{{end}}"> - <label for="website">{{.i18n.Tr "org.settings.website"}}</label> - <input id="website" name="website" type="url" value="{{.Org.Website}}"> - </div> - <div class="field"> - <label for="location">{{.i18n.Tr "org.settings.location"}}</label> - <input id="location" name="location" value="{{.Org.Location}}"> - </div> + {{template "org/header" .}} + <div class="ui container"> + <div class="ui grid"> + {{template "org/settings/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "org.settings.options"}} + </h4> + <div class="ui attached segment"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_Name}}error{{end}}"> + <label for="org_name">{{.i18n.Tr "org.org_name_holder"}}<span class="text red hide" id="org-name-change-prompt"> {{.i18n.Tr "org.settings.change_orgname_prompt"}}</span></label> + <input id="org_name" name="name" value="{{.Org.Name}}" data-org-name="{{.Org.Name}}" autofocus required> + </div> + <div class="field {{if .Err_FullName}}error{{end}}"> + <label for="full_name">{{.i18n.Tr "org.org_full_name_holder"}}</label> + <input id="full_name" name="full_name" value="{{.Org.FullName}}"> + </div> + <div class="field {{if .Err_Description}}error{{end}}"> + <label for="description">{{$.i18n.Tr "org.org_desc"}}</label> + <textarea id="description" name="description" rows="2">{{.Org.Description}}</textarea> + </div> + <div class="field {{if .Err_Website}}error{{end}}"> + <label for="website">{{.i18n.Tr "org.settings.website"}}</label> + <input id="website" name="website" type="url" value="{{.Org.Website}}"> + </div> + <div class="field"> + <label for="location">{{.i18n.Tr "org.settings.location"}}</label> + <input id="location" name="location" value="{{.Org.Location}}"> + </div> - <div class="field"> - <button class="ui green button">{{$.i18n.Tr "org.settings.update_settings"}}</button> - </div> - </form> + <div class="field"> + <button class="ui green button">{{$.i18n.Tr "org.settings.update_settings"}}</button> + </div> + </form> - <div class="ui divider"></div> + <div class="ui divider"></div> - <form class="ui form" action="{{.Link}}/avatar" method="post" enctype="multipart/form-data"> - {{.CsrfTokenHtml}} - <div class="inline field"> - <label for="avatar">{{.i18n.Tr "settings.choose_new_avatar"}}</label> - <input name="avatar" type="file" > - </div> + <form class="ui form" action="{{.Link}}/avatar" method="post" enctype="multipart/form-data"> + {{.CsrfTokenHtml}} + <div class="inline field"> + <label for="avatar">{{.i18n.Tr "settings.choose_new_avatar"}}</label> + <input name="avatar" type="file" > + </div> - <div class="field"> - <button class="ui green button">{{$.i18n.Tr "settings.update_avatar"}}</button> - </div> - </form> - </div> - </div> - </div> - </div> + <div class="field"> + <button class="ui green button">{{$.i18n.Tr "settings.update_avatar"}}</button> + </div> + </form> + </div> + </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/org/team/members.tmpl b/templates/org/team/members.tmpl index 83b832e107..3f070b7412 100644 --- a/templates/org/team/members.tmpl +++ b/templates/org/team/members.tmpl @@ -1,46 +1,46 @@ {{template "base/head" .}} <div class="organization teams"> {{template "org/header" .}} - <div class="ui container"> - {{template "base/alert" .}} - <div class="ui grid"> + <div class="ui container"> + {{template "base/alert" .}} + <div class="ui grid"> {{template "org/team/sidebar" .}} <div class="ui ten wide column"> <div class="ui top attached header"> {{.i18n.Tr "org.teams.members"}} </div> <div class="ui attached table segment members"> - {{range .Team.Members}} - <div class="item"> - {{if $.IsOrganizationOwner}} - <a class="ui red small button right" href="{{$.OrgLink}}/teams/{{$.Team.LowerName}}/action/remove?uid={{.Id}}">{{$.i18n.Tr "org.members.remove"}}</a> - {{end}} - <a href="{{.HomeLink}}"> - <img class="ui avatar image" src="{{.AvatarLink}}"> - {{.DisplayName}} - </a> - </div> - {{end}} - </div> - {{if .IsOrganizationOwner}} - <div class="ui bottom attached segment"> - <form class="ui form" id="add-member-form" action="{{$.OrgLink}}/teams/{{$.Team.LowerName}}/action/add" method="post"> - {{.CsrfTokenHtml}} - <input type="hidden" name="uid" value="{{.SignedUser.Id}}"> - <div class="inline field ui left"> - <div id="search-user-box"> - <div class="ui input"> - <input class="prompt" name="uname" placeholder="{{.i18n.Tr "repo.settings.search_user_placeholder"}}" autocomplete="off" required> - </div> - <div class="ui segment results hide"></div> - </div> - </div> - <button class="ui green button">{{.i18n.Tr "org.teams.add_team_member"}}</button> - </form> + {{range .Team.Members}} + <div class="item"> + {{if $.IsOrganizationOwner}} + <a class="ui red small button right" href="{{$.OrgLink}}/teams/{{$.Team.LowerName}}/action/remove?uid={{.Id}}">{{$.i18n.Tr "org.members.remove"}}</a> + {{end}} + <a href="{{.HomeLink}}"> + <img class="ui avatar image" src="{{.AvatarLink}}"> + {{.DisplayName}} + </a> + </div> + {{end}} </div> + {{if .IsOrganizationOwner}} + <div class="ui bottom attached segment"> + <form class="ui form" id="add-member-form" action="{{$.OrgLink}}/teams/{{$.Team.LowerName}}/action/add" method="post"> + {{.CsrfTokenHtml}} + <input type="hidden" name="uid" value="{{.SignedUser.Id}}"> + <div class="inline field ui left"> + <div id="search-user-box"> + <div class="ui input"> + <input class="prompt" name="uname" placeholder="{{.i18n.Tr "repo.settings.search_user_placeholder"}}" autocomplete="off" required> + </div> + <div class="ui segment results hide"></div> + </div> + </div> + <button class="ui green button">{{.i18n.Tr "org.teams.add_team_member"}}</button> + </form> + </div> {{end}} </div> - </div> + </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/org/team/new.tmpl b/templates/org/team/new.tmpl index 8d09e2ac0f..6293efb62e 100644 --- a/templates/org/team/new.tmpl +++ b/templates/org/team/new.tmpl @@ -1,82 +1,82 @@ {{template "base/head" .}} <div class="organization new team"> - {{template "org/header" .}} - <div class="ui middle very relaxed page grid"> - <div class="column"> - <form class="ui form" action="{{if .PageIsOrgTeamsNew}}{{.OrgLink}}/teams/new{{else}}{{.OrgLink}}/teams/{{.Team.LowerName}}/edit{{end}}" data-delete-url="{{.OrgLink}}/teams/{{.Team.LowerName}}/delete" method="post"> - {{.CsrfTokenHtml}} - <h3 class="ui top attached header"> - {{if .PageIsOrgTeamsNew}}{{.i18n.Tr "org.create_new_team"}}{{else}}{{.i18n.Tr "org.teams.settings"}}{{end}} - </h3> - <div class="ui attached segment"> - {{template "base/alert" .}} - <div class="required field {{if .Err_TeamName}}error{{end}}"> - <label for="team_name">{{.i18n.Tr "org.team_name"}}</label> - {{if eq .Team.LowerName "owners"}} - <input type="hidden" name="team_name" value="{{.team_name}}"> - {{end}} - <input id="team_name" name="team_name" value="{{.team_name}}" required {{if eq .Team.LowerName "owners"}}disabled{{end}} autofocus> - <span class="help">{{.i18n.Tr "org.team_name_helper"}}</span> - </div> - <div class="field {{if .Err_Description}}error{{end}}"> - <label for="desc">{{.i18n.Tr "org.team_desc"}}</label> - <input id="desc" name="desc" value="{{.desc}}"> - <span class="help">{{.i18n.Tr "org.team_desc_helper"}}</span> - </div> - {{if not (eq .Team.LowerName "owners")}} - <div class="grouped field"> - <label>{{.i18n.Tr "org.team_permission_desc"}}</label> - <br> - <div class="field"> - <div class="ui radio checkbox"> - <input type="radio" name="permission" value="read" {{if or .PageIsOrgTeamsNew (eq .Team.Authorize 1)}}checked{{end}}> - <label>{{.i18n.Tr "org.teams.read_access"}}</label> - <span class="help">{{.i18n.Tr "org.teams.read_access_helper"}}</span> - </div> - </div> - <div class="field"> - <div class="ui radio checkbox"> - <input type="radio" name="permission" value="write" {{if eq .Team.Authorize 2}}checked{{end}}> - <label>{{.i18n.Tr "org.teams.write_access"}}</label> - <span class="help">{{.i18n.Tr "org.teams.write_access_helper"}}</span> - </div> - </div> - <div class="field"> - <div class="ui radio checkbox"> - <input type="radio" name="permission" value="admin" {{if eq .Team.Authorize 3}}checked{{end}}> - <label>{{.i18n.Tr "org.teams.admin_access"}}</label> - <span class="help">{{.i18n.Tr "org.teams.admin_access_helper"}}</span> - </div> - </div> - </div> - <div class="ui divider"></div> - {{end}} + {{template "org/header" .}} + <div class="ui middle very relaxed page grid"> + <div class="column"> + <form class="ui form" action="{{if .PageIsOrgTeamsNew}}{{.OrgLink}}/teams/new{{else}}{{.OrgLink}}/teams/{{.Team.LowerName}}/edit{{end}}" data-delete-url="{{.OrgLink}}/teams/{{.Team.LowerName}}/delete" method="post"> + {{.CsrfTokenHtml}} + <h3 class="ui top attached header"> + {{if .PageIsOrgTeamsNew}}{{.i18n.Tr "org.create_new_team"}}{{else}}{{.i18n.Tr "org.teams.settings"}}{{end}} + </h3> + <div class="ui attached segment"> + {{template "base/alert" .}} + <div class="required field {{if .Err_TeamName}}error{{end}}"> + <label for="team_name">{{.i18n.Tr "org.team_name"}}</label> + {{if eq .Team.LowerName "owners"}} + <input type="hidden" name="team_name" value="{{.team_name}}"> + {{end}} + <input id="team_name" name="team_name" value="{{.team_name}}" required {{if eq .Team.LowerName "owners"}}disabled{{end}} autofocus> + <span class="help">{{.i18n.Tr "org.team_name_helper"}}</span> + </div> + <div class="field {{if .Err_Description}}error{{end}}"> + <label for="desc">{{.i18n.Tr "org.team_desc"}}</label> + <input id="desc" name="desc" value="{{.desc}}"> + <span class="help">{{.i18n.Tr "org.team_desc_helper"}}</span> + </div> + {{if not (eq .Team.LowerName "owners")}} + <div class="grouped field"> + <label>{{.i18n.Tr "org.team_permission_desc"}}</label> + <br> + <div class="field"> + <div class="ui radio checkbox"> + <input type="radio" name="permission" value="read" {{if or .PageIsOrgTeamsNew (eq .Team.Authorize 1)}}checked{{end}}> + <label>{{.i18n.Tr "org.teams.read_access"}}</label> + <span class="help">{{.i18n.Tr "org.teams.read_access_helper"}}</span> + </div> + </div> + <div class="field"> + <div class="ui radio checkbox"> + <input type="radio" name="permission" value="write" {{if eq .Team.Authorize 2}}checked{{end}}> + <label>{{.i18n.Tr "org.teams.write_access"}}</label> + <span class="help">{{.i18n.Tr "org.teams.write_access_helper"}}</span> + </div> + </div> + <div class="field"> + <div class="ui radio checkbox"> + <input type="radio" name="permission" value="admin" {{if eq .Team.Authorize 3}}checked{{end}}> + <label>{{.i18n.Tr "org.teams.admin_access"}}</label> + <span class="help">{{.i18n.Tr "org.teams.admin_access_helper"}}</span> + </div> + </div> + </div> + <div class="ui divider"></div> + {{end}} - <div class="field"> - {{if .PageIsOrgTeamsNew}} - <button class="ui green button">{{.i18n.Tr "org.create_new_team"}}</button> - <a class="ui button" href="{{.OrgLink}}/teams">{{.i18n.Tr "cancel"}}</a> - {{else}} - <button class="ui green button">{{.i18n.Tr "org.teams.update_settings"}}</button> - {{if not (eq .Team.LowerName "owners")}} - <button class="ui red button delete-button" data-url="{{.OrgLink}}/teams/{{.team_name}}/delete">{{.i18n.Tr "org.teams.delete_team"}}</button> - {{end}} - {{end}} - </div> - </div> - </form> - </div> - </div> + <div class="field"> + {{if .PageIsOrgTeamsNew}} + <button class="ui green button">{{.i18n.Tr "org.create_new_team"}}</button> + <a class="ui button" href="{{.OrgLink}}/teams">{{.i18n.Tr "cancel"}}</a> + {{else}} + <button class="ui green button">{{.i18n.Tr "org.teams.update_settings"}}</button> + {{if not (eq .Team.LowerName "owners")}} + <button class="ui red button delete-button" data-url="{{.OrgLink}}/teams/{{.team_name}}/delete">{{.i18n.Tr "org.teams.delete_team"}}</button> + {{end}} + {{end}} + </div> + </div> + </form> + </div> + </div> </div> <div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "org.teams.delete_team_title"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "org.teams.delete_team_desc"}}</p> - </div> - {{template "base/delete_modal_actions" .}} + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "org.teams.delete_team_title"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "org.teams.delete_team_desc"}}</p> + </div> + {{template "base/delete_modal_actions" .}} </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/org/team/repositories.tmpl b/templates/org/team/repositories.tmpl index 28126bef32..1f8d1a08f0 100644 --- a/templates/org/team/repositories.tmpl +++ b/templates/org/team/repositories.tmpl @@ -1,9 +1,9 @@ {{template "base/head" .}} <div class="organization teams"> {{template "org/header" .}} - <div class="ui container"> - {{template "base/alert" .}} - <div class="ui grid"> + <div class="ui container"> + {{template "base/alert" .}} + <div class="ui grid"> {{template "org/team/sidebar" .}} <div class="ui ten wide column"> <div class="ui top attached header"> @@ -11,36 +11,36 @@ </div> <div class="ui attached table segment repositories"> {{$canAddRemove := and $.IsOrganizationOwner (not (eq $.Team.LowerName "owners"))}} - {{range .Team.Repos}} - <div class="item"> - {{if $canAddRemove}} - <a class="ui red small button right" href="{{$.OrgLink}}/teams/{{$.Team.LowerName}}/action/repo/remove?repoid={{.ID}}">{{$.i18n.Tr "org.teams.remove_repo"}}</a> - {{end}} - <a class="member" href="{{AppSubUrl}}/{{$.Org.Name}}/{{.Name}}"> - <i class="icon octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i> - <strong>{{$.Org.Name}}/{{.Name}}</strong> - </a> - </div> - {{end}} - </div> - {{if $canAddRemove}} - <div class="ui bottom attached segment"> - <form class="ui form" id="add-repo-form" action="{{$.OrgLink}}/teams/{{$.Team.LowerName}}/action/repo/add" method="post"> - {{.CsrfTokenHtml}} - <div class="inline field ui left"> - <div id="search-repo-box" data-uid="{{.Org.Id}}"> - <div class="ui input"> - <input class="prompt" name="repo_name" placeholder="{{.i18n.Tr "org.teams.search_repo_placeholder"}}" autocomplete="off" required> - </div> - <div class="ui segment results hide"></div> - </div> - </div> - <button class="ui green button">{{.i18n.Tr "org.teams.add_team_repository"}}</button> - </form> - </div> + {{range .Team.Repos}} + <div class="item"> + {{if $canAddRemove}} + <a class="ui red small button right" href="{{$.OrgLink}}/teams/{{$.Team.LowerName}}/action/repo/remove?repoid={{.ID}}">{{$.i18n.Tr "org.teams.remove_repo"}}</a> + {{end}} + <a class="member" href="{{AppSubUrl}}/{{$.Org.Name}}/{{.Name}}"> + <i class="icon octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i> + <strong>{{$.Org.Name}}/{{.Name}}</strong> + </a> + </div> + {{end}} + </div> + {{if $canAddRemove}} + <div class="ui bottom attached segment"> + <form class="ui form" id="add-repo-form" action="{{$.OrgLink}}/teams/{{$.Team.LowerName}}/action/repo/add" method="post"> + {{.CsrfTokenHtml}} + <div class="inline field ui left"> + <div id="search-repo-box" data-uid="{{.Org.Id}}"> + <div class="ui input"> + <input class="prompt" name="repo_name" placeholder="{{.i18n.Tr "org.teams.search_repo_placeholder"}}" autocomplete="off" required> + </div> + <div class="ui segment results hide"></div> + </div> + </div> + <button class="ui green button">{{.i18n.Tr "org.teams.add_team_repository"}}</button> + </form> + </div> {{end}} </div> </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/org/team/sidebar.tmpl b/templates/org/team/sidebar.tmpl index 5abf34be6c..d17261593d 100644 --- a/templates/org/team/sidebar.tmpl +++ b/templates/org/team/sidebar.tmpl @@ -1,41 +1,41 @@ <div class="ui six wide column"> - <h4 class="ui top attached header"> - <strong>{{.Team.Name}}</strong> - <div class="ui right"> - {{if .Team.IsMember $.SignedUser.Id}} - <a class="ui red tiny button" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/action/leave?uid={{$.SignedUser.Id}}&page=team">{{$.i18n.Tr "org.teams.leave"}}</a> - {{else if .IsOrganizationOwner}} - <a class="ui blue tiny button" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/action/join?uid={{$.SignedUser.Id}}&page=team">{{$.i18n.Tr "org.teams.join"}}</a> - {{end}} - </div> - </h4> - <div class="ui attached table segment detail"> - <div class="item"> - {{if .Team.Description}} - {{.Team.Description}} - {{else}} - <span class="text grey italic">{{.i18n.Tr "org.teams.no_desc"}}</span> - {{end}} - </div> - <div class="item"> - <a href="{{.OrgLink}}/teams/{{.Team.LowerName}}"><span class="octicon octicon-person"></span> <strong>{{.Team.NumMembers}}</strong> {{$.i18n.Tr "org.lower_members"}}</a> · - <a href="{{.OrgLink}}/teams/{{.Team.LowerName}}/repositories"><span class="octicon octicon-repo"></span> <strong>{{.Team.NumRepos}}</strong> {{$.i18n.Tr "org.lower_repositories"}}</a> - </div> - <div class="item"> - {{if eq .Team.LowerName "owners"}} - {{.i18n.Tr "org.teams.owners_permission_desc" | Str2html}} - {{else if (eq .Team.Authorize 1)}} - {{.i18n.Tr "org.teams.read_permission_desc" | Str2html}} - {{else if (eq .Team.Authorize 2)}} - {{.i18n.Tr "org.teams.write_permission_desc" | Str2html}} - {{else if (eq .Team.Authorize 3)}} - {{.i18n.Tr "org.teams.admin_permission_desc" | Str2html}} - {{end}} - </div> - </div> - {{if .IsOrganizationOwner}} - <div class="ui bottom attached segment"> - <a class="ui teal small button" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/edit"><span class="octicon octicon-gear"></span> {{$.i18n.Tr "org.teams.settings"}}</a> - </div> - {{end}} -</div>
\ No newline at end of file + <h4 class="ui top attached header"> + <strong>{{.Team.Name}}</strong> + <div class="ui right"> + {{if .Team.IsMember $.SignedUser.Id}} + <a class="ui red tiny button" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/action/leave?uid={{$.SignedUser.Id}}&page=team">{{$.i18n.Tr "org.teams.leave"}}</a> + {{else if .IsOrganizationOwner}} + <a class="ui blue tiny button" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/action/join?uid={{$.SignedUser.Id}}&page=team">{{$.i18n.Tr "org.teams.join"}}</a> + {{end}} + </div> + </h4> + <div class="ui attached table segment detail"> + <div class="item"> + {{if .Team.Description}} + {{.Team.Description}} + {{else}} + <span class="text grey italic">{{.i18n.Tr "org.teams.no_desc"}}</span> + {{end}} + </div> + <div class="item"> + <a href="{{.OrgLink}}/teams/{{.Team.LowerName}}"><span class="octicon octicon-person"></span> <strong>{{.Team.NumMembers}}</strong> {{$.i18n.Tr "org.lower_members"}}</a> · + <a href="{{.OrgLink}}/teams/{{.Team.LowerName}}/repositories"><span class="octicon octicon-repo"></span> <strong>{{.Team.NumRepos}}</strong> {{$.i18n.Tr "org.lower_repositories"}}</a> + </div> + <div class="item"> + {{if eq .Team.LowerName "owners"}} + {{.i18n.Tr "org.teams.owners_permission_desc" | Str2html}} + {{else if (eq .Team.Authorize 1)}} + {{.i18n.Tr "org.teams.read_permission_desc" | Str2html}} + {{else if (eq .Team.Authorize 2)}} + {{.i18n.Tr "org.teams.write_permission_desc" | Str2html}} + {{else if (eq .Team.Authorize 3)}} + {{.i18n.Tr "org.teams.admin_permission_desc" | Str2html}} + {{end}} + </div> + </div> + {{if .IsOrganizationOwner}} + <div class="ui bottom attached segment"> + <a class="ui teal small button" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/edit"><span class="octicon octicon-gear"></span> {{$.i18n.Tr "org.teams.settings"}}</a> + </div> + {{end}} +</div> diff --git a/templates/org/team/teams.tmpl b/templates/org/team/teams.tmpl index 2289af123f..a5ad5d48c1 100644 --- a/templates/org/team/teams.tmpl +++ b/templates/org/team/teams.tmpl @@ -1,41 +1,41 @@ {{template "base/head" .}} <div class="organization teams"> {{template "org/header" .}} - <div class="ui container"> - {{template "base/alert" .}} + <div class="ui container"> + {{template "base/alert" .}} {{if .IsOrganizationOwner}} - <div class="text right"> - <a class="ui green button" href="{{.OrgLink}}/teams/new"><i class="octicon octicon-repo-create"></i> {{.i18n.Tr "org.create_new_team"}}</a> - </div> - <div class="ui divider"></div> + <div class="text right"> + <a class="ui green button" href="{{.OrgLink}}/teams/new"><i class="octicon octicon-repo-create"></i> {{.i18n.Tr "org.create_new_team"}}</a> + </div> + <div class="ui divider"></div> {{end}} <div class="ui two column grid"> {{range .Teams}} - <div class="column"> - <div class="ui top attached header"> - <a class="text black" href="{{$.OrgLink}}/teams/{{.LowerName}}"><strong>{{.Name}}</strong></a> - <div class="ui right"> - {{if .IsMember $.SignedUser.Id}} - <a class="ui red small button" href="{{$.OrgLink}}/teams/{{.LowerName}}/action/leave?uid={{$.SignedUser.Id}}">{{$.i18n.Tr "org.teams.leave"}}</a> - {{else if $.IsOrganizationOwner}} - <a class="ui blue small button" href="{{$.OrgLink}}/teams/{{.LowerName}}/action/join?uid={{$.SignedUser.Id}}">{{$.i18n.Tr "org.teams.join"}}</a> - {{end}} - </div> - </div> - <div class="ui attached segment members"> - {{range .Members}} - <a href="{{.HomeLink}}" title="{{.Name}}"> - <img class="ui avatar image" src="{{.AvatarLink}}"> - </a> - {{end}} + <div class="column"> + <div class="ui top attached header"> + <a class="text black" href="{{$.OrgLink}}/teams/{{.LowerName}}"><strong>{{.Name}}</strong></a> + <div class="ui right"> + {{if .IsMember $.SignedUser.Id}} + <a class="ui red small button" href="{{$.OrgLink}}/teams/{{.LowerName}}/action/leave?uid={{$.SignedUser.Id}}">{{$.i18n.Tr "org.teams.leave"}}</a> + {{else if $.IsOrganizationOwner}} + <a class="ui blue small button" href="{{$.OrgLink}}/teams/{{.LowerName}}/action/join?uid={{$.SignedUser.Id}}">{{$.i18n.Tr "org.teams.join"}}</a> + {{end}} + </div> + </div> + <div class="ui attached segment members"> + {{range .Members}} + <a href="{{.HomeLink}}" title="{{.Name}}"> + <img class="ui avatar image" src="{{.AvatarLink}}"> + </a> + {{end}} + </div> + <div class="ui bottom attached header"> + <p class="team-meta">{{.NumMembers}} {{$.i18n.Tr "org.lower_members"}} · {{.NumRepos}} {{$.i18n.Tr "org.lower_repositories"}}</p> + </div> </div> - <div class="ui bottom attached header"> - <p class="team-meta">{{.NumMembers}} {{$.i18n.Tr "org.lower_members"}} · {{.NumRepos}} {{$.i18n.Tr "org.lower_repositories"}}</p> - </div> - </div> {{end}} </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/bare.tmpl b/templates/repo/bare.tmpl index af839cbaf8..936ed859a6 100644 --- a/templates/repo/bare.tmpl +++ b/templates/repo/bare.tmpl @@ -1,61 +1,61 @@ {{template "base/head" .}} <div class="repository quickstart"> - {{template "repo/header" .}} - <div class="ui container"> - <div class="ui grid"> - <div class="sixteen wide column content"> - {{template "base/alert" .}} - {{if .IsRepositoryAdmin}} - <h4 class="ui top attached header"> - {{.i18n.Tr "repo.quick_guide"}} - <div class="ui right"> - <a class="ui black tiny button" href="{{.RepoLink}}/settings">{{.i18n.Tr "repo.settings"}}</a> - </div> - </h4> - <div class="ui attached guide table segment"> - <div class="item"> - <h3>{{.i18n.Tr "repo.clone_this_repo"}} <small>{{.i18n.Tr "repo.clone_helper" "http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository" | Str2html}}</small></h3> - <div class="ui action small input"> - {{if not $.DisableSSH}} - <button class="ui blue basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}"> - SSH - </button> - {{end}} - <button class="ui {{if $.DisableSSH}}blue{{end}} basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}"> - {{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} - </button> - <input id="repo-clone-url" value="{{if $.DisableSSH}}{{$.CloneLink.HTTPS}}{{else}}{{$.CloneLink.SSH}}{{end}}" readonly> - <button class="ui basic button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> - <i class="octicon octicon-clippy"></i> - </button> - </div> - </div> - <div class="ui divider"></div> + {{template "repo/header" .}} + <div class="ui container"> + <div class="ui grid"> + <div class="sixteen wide column content"> + {{template "base/alert" .}} + {{if .IsRepositoryAdmin}} + <h4 class="ui top attached header"> + {{.i18n.Tr "repo.quick_guide"}} + <div class="ui right"> + <a class="ui black tiny button" href="{{.RepoLink}}/settings">{{.i18n.Tr "repo.settings"}}</a> + </div> + </h4> + <div class="ui attached guide table segment"> + <div class="item"> + <h3>{{.i18n.Tr "repo.clone_this_repo"}} <small>{{.i18n.Tr "repo.clone_helper" "http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository" | Str2html}}</small></h3> + <div class="ui action small input"> + {{if not $.DisableSSH}} + <button class="ui blue basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}"> + SSH + </button> + {{end}} + <button class="ui {{if $.DisableSSH}}blue{{end}} basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}"> + {{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} + </button> + <input id="repo-clone-url" value="{{if $.DisableSSH}}{{$.CloneLink.HTTPS}}{{else}}{{$.CloneLink.SSH}}{{end}}" readonly> + <button class="ui basic button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> + <i class="octicon octicon-clippy"></i> + </button> + </div> + </div> + <div class="ui divider"></div> - <div class="item"> - <h3>{{.i18n.Tr "repo.create_new_repo_command"}}</h3> - <div class="markdown"> - <pre><code>touch README.md + <div class="item"> + <h3>{{.i18n.Tr "repo.create_new_repo_command"}}</h3> + <div class="markdown"> + <pre><code>touch README.md git init git add README.md git commit -m "first commit" git remote add origin <span class="clone-url">{{if $.DisableSSH}}{{$.CloneLink.HTTPS}}{{else}}{{$.CloneLink.SSH}}{{end}}</span> git push -u origin master</code></pre> - </div> - </div> - <div class="ui divider"></div> + </div> + </div> + <div class="ui divider"></div> - <div class="item"> - <h3>{{.i18n.Tr "repo.push_exist_repo"}}</h3> - <div class="markdown"> - <pre><code>git remote add origin <span class="clone-url">{{if $.DisableSSH}}{{$.CloneLink.HTTPS}}{{else}}{{$.CloneLink.SSH}}{{end}}</span> + <div class="item"> + <h3>{{.i18n.Tr "repo.push_exist_repo"}}</h3> + <div class="markdown"> + <pre><code>git remote add origin <span class="clone-url">{{if $.DisableSSH}}{{$.CloneLink.HTTPS}}{{else}}{{$.CloneLink.SSH}}{{end}}</span> git push -u origin master</code></pre> - </div> - </div> - {{end}} - </div> - </div> - </div> - </div> + </div> + </div> + {{end}} + </div> + </div> + </div> + </div> </div> {{template "base/footer" .}} diff --git a/templates/repo/commits.tmpl b/templates/repo/commits.tmpl index 07762606fa..879f762dfa 100644 --- a/templates/repo/commits.tmpl +++ b/templates/repo/commits.tmpl @@ -1,8 +1,8 @@ {{template "base/head" .}} <div class="repository commits"> - {{template "repo/header" .}} - <div class="ui container"> - {{template "repo/commits_table" .}} - </div> + {{template "repo/header" .}} + <div class="ui container"> + {{template "repo/commits_table" .}} + </div> </div> {{template "base/footer" .}} diff --git a/templates/repo/commits_table.tmpl b/templates/repo/commits_table.tmpl index 8bab2be00f..4ca25e8e1e 100644 --- a/templates/repo/commits_table.tmpl +++ b/templates/repo/commits_table.tmpl @@ -1,70 +1,70 @@ <h4 class="ui top attached header"> - {{.CommitCount}} {{.i18n.Tr "repo.commits.commits"}} {{if .Branch}}({{.Branch}}){{end}} - {{if .PageIsCommits}} - <div class="ui right"> - <form action="{{.RepoLink}}/commits/{{.BranchName}}/search"> - <div class="ui tiny search input"> - <input name="q" placeholder="{{.i18n.Tr "repo.commits.search"}}" value="{{.Keyword}}" autofocus> - </div> - <button class="ui black tiny button" data-panel="#add-deploy-key-panel">{{.i18n.Tr "repo.commits.find"}}</button> - </form> - </div> - {{else if .IsDiffCompare}} - <a href="{{$.CommitRepoLink}}/commit/{{.BeforeCommitID}}" class="ui green sha label">{{ShortSha .BeforeCommitID}}</a> ... <a href="{{$.CommitRepoLink}}/commit/{{.AfterCommitID}}" class="ui green sha label">{{ShortSha .AfterCommitID}}</a> - {{end}} + {{.CommitCount}} {{.i18n.Tr "repo.commits.commits"}} {{if .Branch}}({{.Branch}}){{end}} + {{if .PageIsCommits}} + <div class="ui right"> + <form action="{{.RepoLink}}/commits/{{.BranchName}}/search"> + <div class="ui tiny search input"> + <input name="q" placeholder="{{.i18n.Tr "repo.commits.search"}}" value="{{.Keyword}}" autofocus> + </div> + <button class="ui black tiny button" data-panel="#add-deploy-key-panel">{{.i18n.Tr "repo.commits.find"}}</button> + </form> + </div> + {{else if .IsDiffCompare}} + <a href="{{$.CommitRepoLink}}/commit/{{.BeforeCommitID}}" class="ui green sha label">{{ShortSha .BeforeCommitID}}</a> ... <a href="{{$.CommitRepoLink}}/commit/{{.AfterCommitID}}" class="ui green sha label">{{ShortSha .AfterCommitID}}</a> + {{end}} </h4> {{if .Commits}} -<div class="ui attached table segment"> - <table class="ui very basic striped fixed table single line" id="commits-table"> - <thead> - <tr> - <th class="four wide">{{.i18n.Tr "repo.commits.author"}}</th> - <th class="nine wide message"><span class="sha">SHA1</span> {{.i18n.Tr "repo.commits.message"}}</th> - <th class="three wide right aligned">{{.i18n.Tr "repo.commits.date"}}</th> - </tr> - </thead> - <tbody> - {{ $r:= List .Commits}} - {{range $r}} - <tr> - <td class="author"> - {{if .User}} - <img class="ui avatar image" src="{{.User.AvatarLink}}" alt=""/> <a href="{{AppSubUrl}}/{{.User.Name}}">{{.Author.Name}}</a> - {{else}} - <img class="ui avatar image" src="{{AvatarLink .Author.Email}}" alt=""/> {{.Author.Name}} - {{end}} - </td> - <td class="message collapsing"> - <a rel="nofollow" class="ui sha label" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{.ID}}">{{ShortSha .ID.String}}</a> - {{RenderCommitMessage false .Summary $.RepoLink $.Repository.ComposeMetas}} - </td> - <td class="grey text right aligned">{{TimeSince .Author.When $.Lang}}</td> - </tr> - {{end}} - </tbody> - </table> -</div> + <div class="ui attached table segment"> + <table class="ui very basic striped fixed table single line" id="commits-table"> + <thead> + <tr> + <th class="four wide">{{.i18n.Tr "repo.commits.author"}}</th> + <th class="nine wide message"><span class="sha">SHA1</span> {{.i18n.Tr "repo.commits.message"}}</th> + <th class="three wide right aligned">{{.i18n.Tr "repo.commits.date"}}</th> + </tr> + </thead> + <tbody> + {{ $r:= List .Commits}} + {{range $r}} + <tr> + <td class="author"> + {{if .User}} + <img class="ui avatar image" src="{{.User.AvatarLink}}" alt=""/> <a href="{{AppSubUrl}}/{{.User.Name}}">{{.Author.Name}}</a> + {{else}} + <img class="ui avatar image" src="{{AvatarLink .Author.Email}}" alt=""/> {{.Author.Name}} + {{end}} + </td> + <td class="message collapsing"> + <a rel="nofollow" class="ui sha label" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{.ID}}">{{ShortSha .ID.String}}</a> + {{RenderCommitMessage false .Summary $.RepoLink $.Repository.ComposeMetas}} + </td> + <td class="grey text right aligned">{{TimeSince .Author.When $.Lang}}</td> + </tr> + {{end}} + </tbody> + </table> + </div> {{end}} {{with .Page}} -{{if gt .TotalPages 1}} -<div class="center page buttons"> - <div class="ui borderless pagination menu"> - <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.RepoLink}}/commits/{{$.BranchName}}{{if $.FileName}}/{{$.FileName}}{{end}}?page={{.Previous}}"{{end}}> - <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} - </a> - {{range .Pages}} - {{if eq .Num -1}} - <a class="disabled item">...</a> - {{else}} - <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.RepoLink}}/commits/{{$.BranchName}}{{if $.FileName}}/{{$.FileName}}{{end}}?page={{.Num}}"{{end}}>{{.Num}}</a> - {{end}} - {{end}} - <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.RepoLink}}/commits/{{$.BranchName}}{{if $.FileName}}/{{$.FileName}}{{end}}?page={{.Next}}"{{end}}> - {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> - </a> - </div> -</div> + {{if gt .TotalPages 1}} + <div class="center page buttons"> + <div class="ui borderless pagination menu"> + <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.RepoLink}}/commits/{{$.BranchName}}{{if $.FileName}}/{{$.FileName}}{{end}}?page={{.Previous}}"{{end}}> + <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} + </a> + {{range .Pages}} + {{if eq .Num -1}} + <a class="disabled item">...</a> + {{else}} + <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.RepoLink}}/commits/{{$.BranchName}}{{if $.FileName}}/{{$.FileName}}{{end}}?page={{.Num}}"{{end}}>{{.Num}}</a> + {{end}} + {{end}} + <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.RepoLink}}/commits/{{$.BranchName}}{{if $.FileName}}/{{$.FileName}}{{end}}?page={{.Next}}"{{end}}> + {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> + </a> + </div> + </div> + {{end}} {{end}} -{{end}}
\ No newline at end of file diff --git a/templates/repo/create.tmpl b/templates/repo/create.tmpl index 07a9c0919d..8cd466f3d1 100644 --- a/templates/repo/create.tmpl +++ b/templates/repo/create.tmpl @@ -1,116 +1,116 @@ {{template "base/head" .}} <div class="repository new repo"> - <div class="ui middle very relaxed page grid"> - <div class="column"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <h3 class="ui top attached header"> - {{.i18n.Tr "new_repo"}} - </h3> - <div class="ui attached segment"> - {{template "base/alert" .}} - <div class="inline required field {{if .Err_Owner}}error{{end}}"> - <label>{{.i18n.Tr "repo.owner"}}</label> - <div class="ui selection owner dropdown"> - <input type="hidden" id="uid" name="uid" value="{{.ContextUser.Id}}" required> - <span class="text"> - <img class="ui mini image" src="{{.ContextUser.AvatarLink}}"> - {{.ContextUser.ShortName 20}} - </span> - <i class="dropdown icon"></i> - <div class="menu"> - <div class="item" data-value="{{.SignedUser.Id}}"> - <img class="ui mini image" src="{{.SignedUser.AvatarLink}}"> - {{.SignedUser.ShortName 20}} - </div> - {{range .Orgs}} - <div class="item" data-value="{{.Id}}"> - <img class="ui mini image" src="{{.AvatarLink}}"> - {{.ShortName 20}} - </div> - {{end}} - </div> - </div> - </div> + <div class="ui middle very relaxed page grid"> + <div class="column"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <h3 class="ui top attached header"> + {{.i18n.Tr "new_repo"}} + </h3> + <div class="ui attached segment"> + {{template "base/alert" .}} + <div class="inline required field {{if .Err_Owner}}error{{end}}"> + <label>{{.i18n.Tr "repo.owner"}}</label> + <div class="ui selection owner dropdown"> + <input type="hidden" id="uid" name="uid" value="{{.ContextUser.Id}}" required> + <span class="text"> + <img class="ui mini image" src="{{.ContextUser.AvatarLink}}"> + {{.ContextUser.ShortName 20}} + </span> + <i class="dropdown icon"></i> + <div class="menu"> + <div class="item" data-value="{{.SignedUser.Id}}"> + <img class="ui mini image" src="{{.SignedUser.AvatarLink}}"> + {{.SignedUser.ShortName 20}} + </div> + {{range .Orgs}} + <div class="item" data-value="{{.Id}}"> + <img class="ui mini image" src="{{.AvatarLink}}"> + {{.ShortName 20}} + </div> + {{end}} + </div> + </div> + </div> - <div class="inline required field {{if .Err_RepoName}}error{{end}}"> - <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label> - <input id="repo_name" name="repo_name" value="{{.repo_name}}" autofocus required> - <span class="help">{{.i18n.Tr "repo.repo_name_helper" | Safe}}</span> - </div> - <div class="inline field"> - <label>{{.i18n.Tr "repo.visibility"}}</label> - <div class="ui checkbox"> - {{if .IsForcedPrivate}} - <input name="private" type="checkbox" checked readonly> - <label>{{.i18n.Tr "repo.visiblity_helper_forced" | Safe}}</label> - {{else}} - <input name="private" type="checkbox" {{if .private}}checked{{end}}> - <label>{{.i18n.Tr "repo.visiblity_helper" | Safe}}</label> - {{end}} - </div> - </div> - <div class="inline field {{if .Err_Description}}error{{end}}"> - <label for="description">{{.i18n.Tr "repo.repo_desc"}}</label> - <textarea id="description" name="description">{{.description}}</textarea> - </div> - - <div class="ui divider"></div> + <div class="inline required field {{if .Err_RepoName}}error{{end}}"> + <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label> + <input id="repo_name" name="repo_name" value="{{.repo_name}}" autofocus required> + <span class="help">{{.i18n.Tr "repo.repo_name_helper" | Safe}}</span> + </div> + <div class="inline field"> + <label>{{.i18n.Tr "repo.visibility"}}</label> + <div class="ui checkbox"> + {{if .IsForcedPrivate}} + <input name="private" type="checkbox" checked readonly> + <label>{{.i18n.Tr "repo.visiblity_helper_forced" | Safe}}</label> + {{else}} + <input name="private" type="checkbox" {{if .private}}checked{{end}}> + <label>{{.i18n.Tr "repo.visiblity_helper" | Safe}}</label> + {{end}} + </div> + </div> + <div class="inline field {{if .Err_Description}}error{{end}}"> + <label for="description">{{.i18n.Tr "repo.repo_desc"}}</label> + <textarea id="description" name="description">{{.description}}</textarea> + </div> - <div class="inline field"> - <label>{{.i18n.Tr "repo.repo_lang"}}</label> - <div class="ui multiple search normal selection dropdown"> - <input type="hidden" name="gitignores" value="{{.gitignores}}"> - <div class="default text">{{.i18n.Tr "repo.repo_lang_helper"}}</div> - <div class="menu"> - {{range .Gitignores}} - <div class="item" data-value="{{.}}">{{.}}</div> - {{end}} - </div> - </div> - </div> - <div class="inline field"> - <label>{{.i18n.Tr "repo.license"}}</label> - <div class="ui search selection dropdown"> - <input type="hidden" name="license" value="{{.license}}"> - <div class="default text">{{.i18n.Tr "repo.license_helper"}}</div> - <div class="menu"> - {{range .Licenses}} - <div class="item" data-value="{{.}}">{{.}}</div> - {{end}} - </div> - </div> - </div> + <div class="ui divider"></div> - <div class="inline field"> - <label>{{.i18n.Tr "repo.readme"}} <a target="_blank" href="https://github.com/gogits/go-gogs-client/wiki/Repositories#litte-notes-on-readme-template"><span class="octicon octicon-question"></span></a></label> - <div class="ui selection dropdown"> - <input type="hidden" name="readme" value="{{.readme}}"> - <div class="default text">{{.i18n.Tr "repo.readme_helper"}}</div> - <div class="menu"> - {{range .Readmes}} - <div class="item" data-value="{{.}}">{{.}}</div> - {{end}} - </div> - </div> - </div> - <div class="inline field"> - <div class="ui checkbox" id="auto-init"> - <input class="hidden" name="auto_init" type="checkbox" tabindex="0" {{if .auto_init}}checked{{end}}> - <label>{{.i18n.Tr "repo.auto_init"}}</label> - </div> - </div> + <div class="inline field"> + <label>{{.i18n.Tr "repo.repo_lang"}}</label> + <div class="ui multiple search normal selection dropdown"> + <input type="hidden" name="gitignores" value="{{.gitignores}}"> + <div class="default text">{{.i18n.Tr "repo.repo_lang_helper"}}</div> + <div class="menu"> + {{range .Gitignores}} + <div class="item" data-value="{{.}}">{{.}}</div> + {{end}} + </div> + </div> + </div> + <div class="inline field"> + <label>{{.i18n.Tr "repo.license"}}</label> + <div class="ui search selection dropdown"> + <input type="hidden" name="license" value="{{.license}}"> + <div class="default text">{{.i18n.Tr "repo.license_helper"}}</div> + <div class="menu"> + {{range .Licenses}} + <div class="item" data-value="{{.}}">{{.}}</div> + {{end}} + </div> + </div> + </div> - <div class="inline field"> - <label></label> - <button class="ui green button"> - {{.i18n.Tr "repo.create_repo"}} - </button> - <a class="ui button" href="{{AppSubUrl}}/">{{.i18n.Tr "cancel"}}</a> - </div> - </div> - </form> - </div> - </div> + <div class="inline field"> + <label>{{.i18n.Tr "repo.readme"}} <a target="_blank" href="https://github.com/gogits/go-gogs-client/wiki/Repositories#litte-notes-on-readme-template"><span class="octicon octicon-question"></span></a></label> + <div class="ui selection dropdown"> + <input type="hidden" name="readme" value="{{.readme}}"> + <div class="default text">{{.i18n.Tr "repo.readme_helper"}}</div> + <div class="menu"> + {{range .Readmes}} + <div class="item" data-value="{{.}}">{{.}}</div> + {{end}} + </div> + </div> + </div> + <div class="inline field"> + <div class="ui checkbox" id="auto-init"> + <input class="hidden" name="auto_init" type="checkbox" tabindex="0" {{if .auto_init}}checked{{end}}> + <label>{{.i18n.Tr "repo.auto_init"}}</label> + </div> + </div> + + <div class="inline field"> + <label></label> + <button class="ui green button"> + {{.i18n.Tr "repo.create_repo"}} + </button> + <a class="ui button" href="{{AppSubUrl}}/">{{.i18n.Tr "cancel"}}</a> + </div> + </div> + </form> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/diff.tmpl b/templates/repo/diff.tmpl index 18de976ebc..544e3b6030 100644 --- a/templates/repo/diff.tmpl +++ b/templates/repo/diff.tmpl @@ -1,45 +1,45 @@ {{template "base/head" .}} <div class="repository diff"> - {{template "repo/header" .}} - <div class="ui container"> - {{if .IsDiffCompare }} - {{template "repo/commits_table" .}} - {{else}} - <div class="ui top attached info clearing segment"> - <a class="ui floated right blue tiny button" href="{{EscapePound .SourcePath}}"> - {{.i18n.Tr "repo.diff.browse_source"}} - </a> - {{RenderCommitMessage true .Commit.Message $.RepoLink $.Repository.ComposeMetas}} - </div> - <div class="ui attached info segment"> - {{if .Author}} - <img class="ui avatar image" src="{{.Author.AvatarLink}}" /> - <a href="{{.Author.HomeLink}}"><strong>{{.Commit.Author.Name}}</strong></a> - {{else}} - <img class="ui avatar image" src="{{AvatarLink .Commit.Author.Email}}" /> - <strong>{{.Commit.Author.Name}}</strong> - {{end}} - <span class="text grey" id="authored-time">{{TimeSince .Commit.Author.When $.Lang}}</span> - <div class="ui right"> - <div class="ui horizontal list"> - {{if .Parents}} - <div class="item"> - {{.i18n.Tr "repo.diff.parent"}} - </div> - <div class="item"> - {{range .Parents}} - <a class="ui blue sha label" href="{{$.RepoLink}}/commit/{{.}}">{{ShortSha .}}</a> - {{end}} - </div> - {{end}} - <div class="item">{{.i18n.Tr "repo.diff.commit"}}</div> - <div class="item"><span class="ui blue sha label">{{ShortSha .CommitID}}</span></div> - </div> - </div> - </div> - {{end}} - - {{template "repo/diff_box" .}} - </div> + {{template "repo/header" .}} + <div class="ui container"> + {{if .IsDiffCompare }} + {{template "repo/commits_table" .}} + {{else}} + <div class="ui top attached info clearing segment"> + <a class="ui floated right blue tiny button" href="{{EscapePound .SourcePath}}"> + {{.i18n.Tr "repo.diff.browse_source"}} + </a> + {{RenderCommitMessage true .Commit.Message $.RepoLink $.Repository.ComposeMetas}} + </div> + <div class="ui attached info segment"> + {{if .Author}} + <img class="ui avatar image" src="{{.Author.AvatarLink}}" /> + <a href="{{.Author.HomeLink}}"><strong>{{.Commit.Author.Name}}</strong></a> + {{else}} + <img class="ui avatar image" src="{{AvatarLink .Commit.Author.Email}}" /> + <strong>{{.Commit.Author.Name}}</strong> + {{end}} + <span class="text grey" id="authored-time">{{TimeSince .Commit.Author.When $.Lang}}</span> + <div class="ui right"> + <div class="ui horizontal list"> + {{if .Parents}} + <div class="item"> + {{.i18n.Tr "repo.diff.parent"}} + </div> + <div class="item"> + {{range .Parents}} + <a class="ui blue sha label" href="{{$.RepoLink}}/commit/{{.}}">{{ShortSha .}}</a> + {{end}} + </div> + {{end}} + <div class="item">{{.i18n.Tr "repo.diff.commit"}}</div> + <div class="item"><span class="ui blue sha label">{{ShortSha .CommitID}}</span></div> + </div> + </div> + </div> + {{end}} + + {{template "repo/diff_box" .}} + </div> </div> {{template "base/footer" .}} diff --git a/templates/repo/diff_box.tmpl b/templates/repo/diff_box.tmpl index a1d106b7f2..c0b106aff9 100644 --- a/templates/repo/diff_box.tmpl +++ b/templates/repo/diff_box.tmpl @@ -1,94 +1,94 @@ {{if .DiffNotAvailable}} -<h4>{{.i18n.Tr "repo.diff.data_not_available"}}</h4> + <h4>{{.i18n.Tr "repo.diff.data_not_available"}}</h4> {{else}} -<div class="diff-detail-box diff-box"> - <div> - <i class="fa fa-retweet"></i> - {{.i18n.Tr "repo.diff.stats_desc" .Diff.NumFiles .Diff.TotalAddition .Diff.TotalDeletion | Str2html}} - <div class="ui right"> - <a class="ui tiny basic black toggle button" data-target="#diff-files">{{.i18n.Tr "repo.diff.show_diff_stats"}}</a> - </div> - </div> - <ol class="detail-files hide" id="diff-files"> - {{range .Diff.Files}} - <li> - <div class="diff-counter count pull-right"> - {{if not .IsBin}} - <span class="add" data-line="{{.Addition}}">{{.Addition}}</span> - <span class="bar"> - <span class="pull-left add"></span> - <span class="pull-left del"></span> - </span> - <span class="del" data-line="{{.Deletion}}">{{.Deletion}}</span> - {{else}} - <span>{{$.i18n.Tr "repo.diff.bin"}}</span> - {{end}} - </div> - <!-- todo finish all file status, now modify, add, delete and rename --> - <span class="status {{DiffTypeToStr .Type}} poping up" data-content="{{DiffTypeToStr .Type}}" data-variation="inverted tiny" data-position="right center"> </span> - <a class="file" href="#diff-{{.Index}}">{{.Name}}</a> - </li> - {{end}} - </ol> -</div> + <div class="diff-detail-box diff-box"> + <div> + <i class="fa fa-retweet"></i> + {{.i18n.Tr "repo.diff.stats_desc" .Diff.NumFiles .Diff.TotalAddition .Diff.TotalDeletion | Str2html}} + <div class="ui right"> + <a class="ui tiny basic black toggle button" data-target="#diff-files">{{.i18n.Tr "repo.diff.show_diff_stats"}}</a> + </div> + </div> + <ol class="detail-files hide" id="diff-files"> + {{range .Diff.Files}} + <li> + <div class="diff-counter count pull-right"> + {{if not .IsBin}} + <span class="add" data-line="{{.Addition}}">{{.Addition}}</span> + <span class="bar"> + <span class="pull-left add"></span> + <span class="pull-left del"></span> + </span> + <span class="del" data-line="{{.Deletion}}">{{.Deletion}}</span> + {{else}} + <span>{{$.i18n.Tr "repo.diff.bin"}}</span> + {{end}} + </div> + <!-- todo finish all file status, now modify, add, delete and rename --> + <span class="status {{DiffTypeToStr .Type}} poping up" data-content="{{DiffTypeToStr .Type}}" data-variation="inverted tiny" data-position="right center"> </span> + <a class="file" href="#diff-{{.Index}}">{{.Name}}</a> + </li> + {{end}} + </ol> + </div> -{{range $i, $file := .Diff.Files}} -<div class="diff-file-box diff-box file-content" id="diff-{{.Index}}"> - <h4 class="ui top attached normal header"> - <div class="diff-counter count ui left"> - {{if $file.IsBin}} - {{$.i18n.Tr "repo.diff.bin"}} - {{else if not $file.IsRenamed}} - <span class="add" data-line="{{.Addition}}">+ {{.Addition}}</span> - <span class="bar"> - <span class="pull-left add"></span> - <span class="pull-left del"></span> - </span> - <span class="del" data-line="{{.Deletion}}">- {{.Deletion}}</span> - {{end}} - </div> - <span class="file">{{if $file.IsRenamed}}{{$file.OldName}} → {{end}}{{$file.Name}}</span> - <div class="ui right"> - {{if $file.IsDeleted}} - <a class="ui basic tiny button" rel="nofollow" href="{{EscapePound $.BeforeSourcePath}}/{{EscapePound .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a> - {{else}} - <a class="ui basic tiny button" rel="nofollow" href="{{EscapePound $.SourcePath}}/{{EscapePound .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a> - {{end}} - </div> - </h4> - <div class="ui attached table segment"> - {{if not $file.IsRenamed}} - {{$isImage := (call $.IsImageFile $file.Name)}} - {{if and $isImage}} - <div class="center"> - <img src="{{$.RawPath}}/{{EscapePound .Name}}"> - </div> - {{else}} - <div class="file-body file-code code-view code-diff"> - <table> - <tbody> - {{range .Sections}} - {{range $k, $line := .Lines}} - <tr class="{{DiffLineTypeToStr .Type}}-code nl-{{$k}} ol-{{$k}}"> - <td class="lines-num lines-num-old"> - <span rel="{{if $line.LeftIdx}}diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}{{end}}">{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="{{if $line.RightIdx}}diff-{{Sha1 $file.Name}}R{{$line.RightIdx}}{{end}}">{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}</span> - </td> - <td class="lines-code"> - <pre>{{$line.Content}}</pre> - </td> - </tr> - {{end}} - {{end}} - </tbody> - </table> - </div> - {{end}} - {{end}} - </div> -</div> -<br> + {{range $i, $file := .Diff.Files}} + <div class="diff-file-box diff-box file-content" id="diff-{{.Index}}"> + <h4 class="ui top attached normal header"> + <div class="diff-counter count ui left"> + {{if $file.IsBin}} + {{$.i18n.Tr "repo.diff.bin"}} + {{else if not $file.IsRenamed}} + <span class="add" data-line="{{.Addition}}">+ {{.Addition}}</span> + <span class="bar"> + <span class="pull-left add"></span> + <span class="pull-left del"></span> + </span> + <span class="del" data-line="{{.Deletion}}">- {{.Deletion}}</span> + {{end}} + </div> + <span class="file">{{if $file.IsRenamed}}{{$file.OldName}} → {{end}}{{$file.Name}}</span> + <div class="ui right"> + {{if $file.IsDeleted}} + <a class="ui basic tiny button" rel="nofollow" href="{{EscapePound $.BeforeSourcePath}}/{{EscapePound .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a> + {{else}} + <a class="ui basic tiny button" rel="nofollow" href="{{EscapePound $.SourcePath}}/{{EscapePound .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a> + {{end}} + </div> + </h4> + <div class="ui attached table segment"> + {{if not $file.IsRenamed}} + {{$isImage := (call $.IsImageFile $file.Name)}} + {{if and $isImage}} + <div class="center"> + <img src="{{$.RawPath}}/{{EscapePound .Name}}"> + </div> + {{else}} + <div class="file-body file-code code-view code-diff"> + <table> + <tbody> + {{range .Sections}} + {{range $k, $line := .Lines}} + <tr class="{{DiffLineTypeToStr .Type}}-code nl-{{$k}} ol-{{$k}}"> + <td class="lines-num lines-num-old"> + <span rel="{{if $line.LeftIdx}}diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}{{end}}">{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}</span> + </td> + <td class="lines-num lines-num-new"> + <span rel="{{if $line.RightIdx}}diff-{{Sha1 $file.Name}}R{{$line.RightIdx}}{{end}}">{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}</span> + </td> + <td class="lines-code"> + <pre>{{$line.Content}}</pre> + </td> + </tr> + {{end}} + {{end}} + </tbody> + </table> + </div> + {{end}} + {{end}} + </div> + </div> + <br> + {{end}} {{end}} -{{end}}
\ No newline at end of file diff --git a/templates/repo/forks.tmpl b/templates/repo/forks.tmpl index 91085b9d22..e8b57e1af3 100644 --- a/templates/repo/forks.tmpl +++ b/templates/repo/forks.tmpl @@ -1,22 +1,22 @@ {{template "base/head" .}} <div class="repository forks"> - {{template "repo/header" .}} - <div class="ui container"> - <h2 class="ui dividing header"> - {{.i18n.Tr "repo.forks"}} - </h2> - <div class="ui list"> - {{range .Forks}} - <div class="item"> - <img class="ui avatar image" src="{{.Owner.AvatarLink}}"> - <div class="link"> - <a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a> - / - <a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}">{{.Name}}</a> - </div> - </div> - {{end}} - </div> - </div> + {{template "repo/header" .}} + <div class="ui container"> + <h2 class="ui dividing header"> + {{.i18n.Tr "repo.forks"}} + </h2> + <div class="ui list"> + {{range .Forks}} + <div class="item"> + <img class="ui avatar image" src="{{.Owner.AvatarLink}}"> + <div class="link"> + <a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a> + / + <a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}">{{.Name}}</a> + </div> + </div> + {{end}} + </div> + </div> </div> {{template "base/footer" .}} diff --git a/templates/repo/header.tmpl b/templates/repo/header.tmpl index fb25b94bf0..74448ced04 100644 --- a/templates/repo/header.tmpl +++ b/templates/repo/header.tmpl @@ -1,87 +1,87 @@ {{with .Repository}} -<div class="ui container"><!-- start container --> - <div class="ui vertically padded grid head"><!-- start grid --> - <div class="column"><!-- start column --> - <div class="ui header"> - <div class="ui huge breadcrumb"> - <i class="mega-octicon octicon-{{if .IsPrivate}}lock{{else if .IsMirror}}repo-clone{{else if .IsFork}}repo-forked{{else}}repo{{end}}"></i> - <a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a> - <div class="divider"> / </div> - <a href="{{$.RepoLink}}">{{.Name}}</a> - {{if .IsMirror}}<div class="ui label">{{$.i18n.Tr "mirror"}}</div>{{end}} - {{if .IsFork}}<div class="fork-flag">{{$.i18n.Tr "repo.forked_from"}} <a href="{{.BaseRepo.RepoLink}}">{{SubStr .BaseRepo.RepoLink 1 -1}}</a></div>{{end}} - </div> + <div class="ui container"><!-- start container --> + <div class="ui vertically padded grid head"><!-- start grid --> + <div class="column"><!-- start column --> + <div class="ui header"> + <div class="ui huge breadcrumb"> + <i class="mega-octicon octicon-{{if .IsPrivate}}lock{{else if .IsMirror}}repo-clone{{else if .IsFork}}repo-forked{{else}}repo{{end}}"></i> + <a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a> + <div class="divider"> / </div> + <a href="{{$.RepoLink}}">{{.Name}}</a> + {{if .IsMirror}}<div class="ui label">{{$.i18n.Tr "mirror"}}</div>{{end}} + {{if .IsFork}}<div class="fork-flag">{{$.i18n.Tr "repo.forked_from"}} <a href="{{.BaseRepo.RepoLink}}">{{SubStr .BaseRepo.RepoLink 1 -1}}</a></div>{{end}} + </div> - <div class="ui right"> - <div class="ui labeled button" tabindex="0"> - <a class="ui button" href="{{$.RepoLink}}/action/{{if $.IsWatchingRepo}}un{{end}}watch?redirect_to={{$.Link}}"> - <i class="icon fa fa-eye{{if not $.IsWatchingRepo}}-slash{{end}}"></i>{{if $.IsWatchingRepo}}{{$.i18n.Tr "repo.unwatch"}}{{else}}{{$.i18n.Tr "repo.watch"}}{{end}} - </a> - <a class="ui basic label" href="{{.RepoLink}}/watchers"> - {{.NumWatches}} - </a> - </div> - <div class="ui labeled button" tabindex="0"> - <a class="ui button" href="{{$.RepoLink}}/action/{{if $.IsStaringRepo}}un{{end}}star?redirect_to={{$.Link}}"> - <i class="icon fa-star{{if not $.IsStaringRepo}}-o{{end}}"></i>{{if $.IsStaringRepo}}{{$.i18n.Tr "repo.unstar"}}{{else}}{{$.i18n.Tr "repo.star"}}{{end}} - </a> - <a class="ui basic label" href="{{.RepoLink}}/stars"> - {{.NumStars}} - </a> - </div> - {{if .CanBeForked}} - <div class="ui labeled button" tabindex="0"> - <a class="ui button {{if eq .OwnerID $.SignedUserID}}poping up{{end}}" {{if not (eq .OwnerID $.SignedUserID)}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" data-position="top center" data-variation="tiny"{{end}}> - <i class="icon octicon octicon-repo-forked"></i>{{$.i18n.Tr "repo.fork"}} - </a> - <a class="ui basic label" href="{{.RepoLink}}/forks"> - {{.NumForks}} - </a> - </div> - {{end}} - </div> - </div> - </div><!-- end column --> - </div><!-- end grid --> -</div><!-- end container --> + <div class="ui right"> + <div class="ui labeled button" tabindex="0"> + <a class="ui button" href="{{$.RepoLink}}/action/{{if $.IsWatchingRepo}}un{{end}}watch?redirect_to={{$.Link}}"> + <i class="icon fa fa-eye{{if not $.IsWatchingRepo}}-slash{{end}}"></i>{{if $.IsWatchingRepo}}{{$.i18n.Tr "repo.unwatch"}}{{else}}{{$.i18n.Tr "repo.watch"}}{{end}} + </a> + <a class="ui basic label" href="{{.RepoLink}}/watchers"> + {{.NumWatches}} + </a> + </div> + <div class="ui labeled button" tabindex="0"> + <a class="ui button" href="{{$.RepoLink}}/action/{{if $.IsStaringRepo}}un{{end}}star?redirect_to={{$.Link}}"> + <i class="icon fa-star{{if not $.IsStaringRepo}}-o{{end}}"></i>{{if $.IsStaringRepo}}{{$.i18n.Tr "repo.unstar"}}{{else}}{{$.i18n.Tr "repo.star"}}{{end}} + </a> + <a class="ui basic label" href="{{.RepoLink}}/stars"> + {{.NumStars}} + </a> + </div> + {{if .CanBeForked}} + <div class="ui labeled button" tabindex="0"> + <a class="ui button {{if eq .OwnerID $.SignedUserID}}poping up{{end}}" {{if not (eq .OwnerID $.SignedUserID)}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" data-position="top center" data-variation="tiny"{{end}}> + <i class="icon octicon octicon-repo-forked"></i>{{$.i18n.Tr "repo.fork"}} + </a> + <a class="ui basic label" href="{{.RepoLink}}/forks"> + {{.NumForks}} + </a> + </div> + {{end}} + </div> + </div> + </div><!-- end column --> + </div><!-- end grid --> + </div><!-- end container --> {{end}} {{if not (or .IsBareRepo .IsDiffCompare)}} -<div class="ui tabs container"> - <div class="ui tabular menu navbar"> - <a class="{{if .PageIsViewCode}}active{{end}} item" href="{{.RepoLink}}"> - <i class="icon octicon octicon-code"></i> {{.i18n.Tr "repo.code"}} - </a> - {{if .Repository.EnableIssues}} - <a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues"> - <i class="icon octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues"}} <span class="ui {{if not .Repository.NumOpenIssues}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenIssues}}</span> - </a> - {{end}} - {{if .Repository.EnablePulls}} - <a class="{{if .PageIsPullList}}active{{end}} item" href="{{.RepoLink}}/pulls"> - <i class="icon octicon octicon-git-pull-request"></i> {{.i18n.Tr "repo.pulls"}} <span class="ui {{if not .Repository.NumOpenPulls}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenPulls}}</span> - </a> - {{end}} - <a class="{{if .PageIsCommits}}active{{end}} item" href="{{.RepoLink}}/commits/{{EscapePound .BranchName}}"> - <i class="icon octicon octicon-history"></i> {{.i18n.Tr "repo.commits"}} <span class="ui {{if not .CommitsCount}}gray{{else}}blue{{end}} small label">{{.CommitsCount}}</span> - </a> - <a class="{{if .PageIsReleaseList}}active{{end}} item" href="{{.RepoLink}}/releases"> - <i class="icon octicon octicon-tag"></i> {{.i18n.Tr "repo.releases"}} <span class="ui {{if not .Repository.NumTags}}gray{{else}}blue{{end}} small label">{{.Repository.NumTags}}</span> - </a> - {{if .Repository.EnableWiki}} - <a class="{{if .PageIsWiki}}active{{end}} item" href="{{.RepoLink}}/wiki"> - <i class="icon octicon octicon-book"></i> {{.i18n.Tr "repo.wiki"}} - </a> - {{end}} - {{if .IsRepositoryAdmin}} - <div class="right menu"> - <a class="{{if .PageIsSettings}}active{{end}} item" href="{{.RepoLink}}/settings"> - <i class="icon octicon octicon-tools"></i> {{.i18n.Tr "repo.settings"}} - </a> - </div> - {{end}} - </div> -</div> -<div class="ui tabs divider"></div> + <div class="ui tabs container"> + <div class="ui tabular menu navbar"> + <a class="{{if .PageIsViewCode}}active{{end}} item" href="{{.RepoLink}}"> + <i class="icon octicon octicon-code"></i> {{.i18n.Tr "repo.code"}} + </a> + {{if .Repository.EnableIssues}} + <a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues"> + <i class="icon octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues"}} <span class="ui {{if not .Repository.NumOpenIssues}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenIssues}}</span> + </a> + {{end}} + {{if .Repository.EnablePulls}} + <a class="{{if .PageIsPullList}}active{{end}} item" href="{{.RepoLink}}/pulls"> + <i class="icon octicon octicon-git-pull-request"></i> {{.i18n.Tr "repo.pulls"}} <span class="ui {{if not .Repository.NumOpenPulls}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenPulls}}</span> + </a> + {{end}} + <a class="{{if .PageIsCommits}}active{{end}} item" href="{{.RepoLink}}/commits/{{EscapePound .BranchName}}"> + <i class="icon octicon octicon-history"></i> {{.i18n.Tr "repo.commits"}} <span class="ui {{if not .CommitsCount}}gray{{else}}blue{{end}} small label">{{.CommitsCount}}</span> + </a> + <a class="{{if .PageIsReleaseList}}active{{end}} item" href="{{.RepoLink}}/releases"> + <i class="icon octicon octicon-tag"></i> {{.i18n.Tr "repo.releases"}} <span class="ui {{if not .Repository.NumTags}}gray{{else}}blue{{end}} small label">{{.Repository.NumTags}}</span> + </a> + {{if .Repository.EnableWiki}} + <a class="{{if .PageIsWiki}}active{{end}} item" href="{{.RepoLink}}/wiki"> + <i class="icon octicon octicon-book"></i> {{.i18n.Tr "repo.wiki"}} + </a> + {{end}} + {{if .IsRepositoryAdmin}} + <div class="right menu"> + <a class="{{if .PageIsSettings}}active{{end}} item" href="{{.RepoLink}}/settings"> + <i class="icon octicon octicon-tools"></i> {{.i18n.Tr "repo.settings"}} + </a> + </div> + {{end}} + </div> + </div> + <div class="ui tabs divider"></div> {{else}} -<div class="ui divider"></div> + <div class="ui divider"></div> {{end}} diff --git a/templates/repo/home.tmpl b/templates/repo/home.tmpl index 6a3d0f1295..12820e46b3 100644 --- a/templates/repo/home.tmpl +++ b/templates/repo/home.tmpl @@ -1,111 +1,111 @@ {{template "base/head" .}} <div class="repository file list"> - {{template "repo/header" .}} - <div class="ui container"> - <p id="repo-desc"> - {{if .Repository.DescriptionHtml}}<span class="description">{{.Repository.DescriptionHtml}}</span>{{else}}<span class="no-description text-italic">{{.i18n.Tr "repo.no_desc"}}</span>{{end}} - <a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a> - </p> - <div class="ui secondary menu"> - {{if .CanPullRequest}} - <div class="fitted item"> - {{ $baseRepo := .Repository.BaseRepo}} - <a href="{{AppSubUrl}}/{{$baseRepo.Owner.Name}}/{{$baseRepo.Name}}/compare/{{$.BaseDefaultBranch}}...{{$.Owner.Name}}:{{$.BranchName}}"> - <button class="ui green small button"><i class="octicon octicon-git-compare"></i></button> - </a> - </div> - {{end}} - <div class="fitted item choose reference"> - <div class="ui floating filter dropdown" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}"> - <div class="ui basic small button"> - <span class="text"> - <i class="octicon octicon-git-branch"></i> - {{if .IsViewBranch}}{{.i18n.Tr "repo.branch"}}{{else}}{{.i18n.Tr "repo.tree"}}{{end}}: - <strong>{{if .IsViewBranch}}{{.BranchName}}{{else}}{{ShortSha .BranchName}}{{end}}</strong> - </span> - <i class="dropdown icon"></i> - </div> - <div class="menu"> - <div class="ui icon search input"> - <i class="filter icon"></i> - <input name="search" placeholder="{{.i18n.Tr "repo.filter_branch_and_tag"}}..."> - </div> - <div class="header"> - <div class="ui grid"> - <div class="two column row"> - <a class="reference column" href="#" data-target="#branch-list"> - <span class="text {{if .IsViewBranch}}black{{end}}"> - <i class="icon octicon octicon-git-branch"></i> {{.i18n.Tr "repo.branches"}} - </span> - </a> - <a class="reference column" href="#" data-target="#tag-list"> - <span class="text {{if .IsTag}}black{{end}}"> - <i class="reference tags icon"></i> {{.i18n.Tr "repo.tags"}} - </span> - </a> - </div> - </div> - </div> - <div id="branch-list" class="scrolling menu" {{if .IsTag}}style="display: none"{{end}}> - {{range .Branches}} - <div class="item {{if eq $.BranchName .}}selected{{end}}" data-url="{{$.RepoLink}}/src/{{EscapePound .}}">{{.}}</div> - {{end}} - </div> - <div id="tag-list" class="scrolling menu" {{if .IsViewBranch}}style="display: none"{{end}}> - {{range .Tags}} - <div class="item {{if eq $.BranchName .}}selected{{end}}" data-url="{{$.RepoLink}}/src/{{EscapePound .}}">{{.}}</div> - {{end}} - </div> - </div> - </div> - </div> - <div class="item fitted"> - <div class="ui breadcrumb"> - <a class="section" href="{{.RepoLink}}/src/{{EscapePound .BranchName}}">{{.Repository.Name}}</a> - {{ $n := len .Treenames}} - {{ $l := Subtract $n 1}} - {{range $i, $v := .Treenames}} - <div class="divider"> / </div> - {{if eq $i $l}} - <span class="active section">{{$v}}</span> - {{else}} - {{ $p := index $.Paths $i}} - <span class="section"><a href="{{EscapePound $.BranchLink}}/{{EscapePound $p}}">{{$v}}</a></span> - {{end}} - {{end}} - </div> - </div> - {{if eq $n 0}} - <div class="right fitted item"> - <div class="ui action small input" id="clone-panel"> - {{if not $.DisableSSH}} - <button class="ui blue basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}"> - SSH - </button> - {{end}} - <button class="ui {{if $.DisableSSH}}blue{{end}} basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}"> - {{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} - </button> - <input id="repo-clone-url" value="{{if $.DisableSSH}}{{$.CloneLink.HTTPS}}{{else}}{{$.CloneLink.SSH}}{{end}}" readonly> - <button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> - <i class="octicon octicon-clippy"></i> - </button> - <div class="ui basic jump dropdown icon button"> - <i class="download icon"></i> - <div class="menu"> - <a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.zip"><i class="icon octicon octicon-file-zip"></i> ZIP</a> - <a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.tar.gz"><i class="icon octicon octicon-file-zip"></i> TAR.GZ</a> - </div> - </div> - </div> - </div> - {{end}} - </div> - {{if .IsFile}} - {{template "repo/view_file" .}} - {{else}} - {{template "repo/view_list" .}} - {{end}} - </div> + {{template "repo/header" .}} + <div class="ui container"> + <p id="repo-desc"> + {{if .Repository.DescriptionHtml}}<span class="description">{{.Repository.DescriptionHtml}}</span>{{else}}<span class="no-description text-italic">{{.i18n.Tr "repo.no_desc"}}</span>{{end}} + <a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a> + </p> + <div class="ui secondary menu"> + {{if .CanPullRequest}} + <div class="fitted item"> + {{ $baseRepo := .Repository.BaseRepo}} + <a href="{{AppSubUrl}}/{{$baseRepo.Owner.Name}}/{{$baseRepo.Name}}/compare/{{$.BaseDefaultBranch}}...{{$.Owner.Name}}:{{$.BranchName}}"> + <button class="ui green small button"><i class="octicon octicon-git-compare"></i></button> + </a> + </div> + {{end}} + <div class="fitted item choose reference"> + <div class="ui floating filter dropdown" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}"> + <div class="ui basic small button"> + <span class="text"> + <i class="octicon octicon-git-branch"></i> + {{if .IsViewBranch}}{{.i18n.Tr "repo.branch"}}{{else}}{{.i18n.Tr "repo.tree"}}{{end}}: + <strong>{{if .IsViewBranch}}{{.BranchName}}{{else}}{{ShortSha .BranchName}}{{end}}</strong> + </span> + <i class="dropdown icon"></i> + </div> + <div class="menu"> + <div class="ui icon search input"> + <i class="filter icon"></i> + <input name="search" placeholder="{{.i18n.Tr "repo.filter_branch_and_tag"}}..."> + </div> + <div class="header"> + <div class="ui grid"> + <div class="two column row"> + <a class="reference column" href="#" data-target="#branch-list"> + <span class="text {{if .IsViewBranch}}black{{end}}"> + <i class="icon octicon octicon-git-branch"></i> {{.i18n.Tr "repo.branches"}} + </span> + </a> + <a class="reference column" href="#" data-target="#tag-list"> + <span class="text {{if .IsTag}}black{{end}}"> + <i class="reference tags icon"></i> {{.i18n.Tr "repo.tags"}} + </span> + </a> + </div> + </div> + </div> + <div id="branch-list" class="scrolling menu" {{if .IsTag}}style="display: none"{{end}}> + {{range .Branches}} + <div class="item {{if eq $.BranchName .}}selected{{end}}" data-url="{{$.RepoLink}}/src/{{EscapePound .}}">{{.}}</div> + {{end}} + </div> + <div id="tag-list" class="scrolling menu" {{if .IsViewBranch}}style="display: none"{{end}}> + {{range .Tags}} + <div class="item {{if eq $.BranchName .}}selected{{end}}" data-url="{{$.RepoLink}}/src/{{EscapePound .}}">{{.}}</div> + {{end}} + </div> + </div> + </div> + </div> + <div class="item fitted"> + <div class="ui breadcrumb"> + <a class="section" href="{{.RepoLink}}/src/{{EscapePound .BranchName}}">{{.Repository.Name}}</a> + {{ $n := len .Treenames}} + {{ $l := Subtract $n 1}} + {{range $i, $v := .Treenames}} + <div class="divider"> / </div> + {{if eq $i $l}} + <span class="active section">{{$v}}</span> + {{else}} + {{ $p := index $.Paths $i}} + <span class="section"><a href="{{EscapePound $.BranchLink}}/{{EscapePound $p}}">{{$v}}</a></span> + {{end}} + {{end}} + </div> + </div> + {{if eq $n 0}} + <div class="right fitted item"> + <div class="ui action small input" id="clone-panel"> + {{if not $.DisableSSH}} + <button class="ui blue basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}"> + SSH + </button> + {{end}} + <button class="ui {{if $.DisableSSH}}blue{{end}} basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}"> + {{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} + </button> + <input id="repo-clone-url" value="{{if $.DisableSSH}}{{$.CloneLink.HTTPS}}{{else}}{{$.CloneLink.SSH}}{{end}}" readonly> + <button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> + <i class="octicon octicon-clippy"></i> + </button> + <div class="ui basic jump dropdown icon button"> + <i class="download icon"></i> + <div class="menu"> + <a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.zip"><i class="icon octicon octicon-file-zip"></i> ZIP</a> + <a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.tar.gz"><i class="icon octicon octicon-file-zip"></i> TAR.GZ</a> + </div> + </div> + </div> + </div> + {{end}} + </div> + {{if .IsFile}} + {{template "repo/view_file" .}} + {{else}} + {{template "repo/view_list" .}} + {{end}} + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/issue/comment_tab.tmpl b/templates/repo/issue/comment_tab.tmpl index a3f80edfb5..8f6c8ca778 100644 --- a/templates/repo/issue/comment_tab.tmpl +++ b/templates/repo/issue/comment_tab.tmpl @@ -1,16 +1,16 @@ <div class="field"> - <div class="ui top attached tabular menu" data-write="write" data-preview="preview"> - <a class="active item" data-tab="write">{{.i18n.Tr "repo.release.write"}}</a> - <a class="item" data-tab="preview" data-url="{{AppSubUrl}}/api/v1/markdown" data-context="{{.RepoLink}}">{{.i18n.Tr "repo.release.preview"}}</a> - </div> - <div class="ui bottom attached active tab segment" data-tab="write"> - <textarea id="content" name="content" tabindex="4"></textarea> - </div> - <div class="ui bottom attached tab segment markdown" data-tab="preview"> - {{.i18n.Tr "repo.release.loading"}} - </div> + <div class="ui top attached tabular menu" data-write="write" data-preview="preview"> + <a class="active item" data-tab="write">{{.i18n.Tr "repo.release.write"}}</a> + <a class="item" data-tab="preview" data-url="{{AppSubUrl}}/api/v1/markdown" data-context="{{.RepoLink}}">{{.i18n.Tr "repo.release.preview"}}</a> + </div> + <div class="ui bottom attached active tab segment" data-tab="write"> + <textarea id="content" name="content" tabindex="4"></textarea> + </div> + <div class="ui bottom attached tab segment markdown" data-tab="preview"> + {{.i18n.Tr "repo.release.loading"}} + </div> </div> {{if .IsAttachmentEnabled}} -<div class="attachments"></div> -<div class="ui basic button dropzone" id="dropzone" data-upload-url="{{AppSubUrl}}/issues/attachments" data-accepts="{{.AttachmentAllowedTypes}}" data-max-file="{{.AttachmentMaxFiles}}" data-max-size="{{.AttachmentMaxSize}}" data-default-message="{{.i18n.Tr "dropzone.default_message"}}" data-invalid-input-type="{{.i18n.Tr "dropzone.invalid_input_type"}}" data-file-too-big="{{.i18n.Tr "dropzone.file_too_big"}}" data-remove-file="{{.i18n.Tr "dropzone.remove_file"}}"></div> -{{end}}
\ No newline at end of file + <div class="attachments"></div> + <div class="ui basic button dropzone" id="dropzone" data-upload-url="{{AppSubUrl}}/issues/attachments" data-accepts="{{.AttachmentAllowedTypes}}" data-max-file="{{.AttachmentMaxFiles}}" data-max-size="{{.AttachmentMaxSize}}" data-default-message="{{.i18n.Tr "dropzone.default_message"}}" data-invalid-input-type="{{.i18n.Tr "dropzone.invalid_input_type"}}" data-file-too-big="{{.i18n.Tr "dropzone.file_too_big"}}" data-remove-file="{{.i18n.Tr "dropzone.remove_file"}}"></div> +{{end}} diff --git a/templates/repo/issue/label_precolors.tmpl b/templates/repo/issue/label_precolors.tmpl index 378281b303..d0e165068d 100644 --- a/templates/repo/issue/label_precolors.tmpl +++ b/templates/repo/issue/label_precolors.tmpl @@ -13,4 +13,4 @@ <a class="color" style="background-color:#bfdadc" data-color-hex="#bfdadc"></a> <a class="color" style="background-color:#c7def8" data-color-hex="#c7def8"></a> <a class="color" style="background-color:#bfd4f2" data-color-hex="#bfd4f2"></a> -<a class="color" style="background-color:#d4c5f9" data-color-hex="#d4c5f9"></a>
\ No newline at end of file +<a class="color" style="background-color:#d4c5f9" data-color-hex="#d4c5f9"></a> diff --git a/templates/repo/issue/labels.tmpl b/templates/repo/issue/labels.tmpl index dd84ce416c..d7f758ae65 100644 --- a/templates/repo/issue/labels.tmpl +++ b/templates/repo/issue/labels.tmpl @@ -5,9 +5,9 @@ <div class="navbar"> {{template "repo/issue/navbar" .}} {{if .IsRepositoryAdmin}} - <div class="ui right"> - <div class="ui green new-label button">{{.i18n.Tr "repo.issues.new_label"}}</div> - </div> + <div class="ui right"> + <div class="ui green new-label button">{{.i18n.Tr "repo.issues.new_label"}}</div> + </div> {{end}} </div> <div class="ui new-label segment hide"> @@ -16,11 +16,11 @@ <div class="ui grid"> <div class="five wide column"> <div class="ui small input"> - <input class="new-label-input" name="title" placeholder="{{.i18n.Tr "repo.issues.new_label_placeholder"}}" autofocus required> + <input class="new-label-input" name="title" placeholder="{{.i18n.Tr "repo.issues.new_label_placeholder"}}" autofocus required> </div> </div> <div class="color picker column"> - <input class="color-picker" name="color" value="#70c24a" required> + <input class="color-picker" name="color" value="#70c24a" required> </div> <div class="column precolors"> {{template "repo/issue/label_precolors"}} @@ -38,72 +38,72 @@ <div class="label list"> {{range .Labels}} - <li class="item"> - <div class="ui label" style="background-color: {{.Color}}"><i class="octicon octicon-tag"></i> {{.Name}}</div> - {{if $.IsRepositoryAdmin}} - <a class="ui right delete-button" href="#" data-url="{{$.RepoLink}}/labels/delete" data-id="{{.ID}}"><i class="octicon octicon-trashcan"></i> {{$.i18n.Tr "repo.issues.label_delete"}}</a> - <a class="ui right edit-label-button" href="#" data-id={{.ID}} data-title={{.Name}} data-color={{.Color}}><i class="octicon octicon-pencil"></i> {{$.i18n.Tr "repo.issues.label_edit"}}</a> - {{end}} - <a class="ui right open-issues" href="{{$.RepoLink}}/issues?labels={{.ID}}"><i class="octicon octicon-issue-opened"></i> {{$.i18n.Tr "repo.issues.label_open_issues" .NumOpenIssues}}</a> - </li> + <li class="item"> + <div class="ui label" style="background-color: {{.Color}}"><i class="octicon octicon-tag"></i> {{.Name}}</div> + {{if $.IsRepositoryAdmin}} + <a class="ui right delete-button" href="#" data-url="{{$.RepoLink}}/labels/delete" data-id="{{.ID}}"><i class="octicon octicon-trashcan"></i> {{$.i18n.Tr "repo.issues.label_delete"}}</a> + <a class="ui right edit-label-button" href="#" data-id={{.ID}} data-title={{.Name}} data-color={{.Color}}><i class="octicon octicon-pencil"></i> {{$.i18n.Tr "repo.issues.label_edit"}}</a> + {{end}} + <a class="ui right open-issues" href="{{$.RepoLink}}/issues?labels={{.ID}}"><i class="octicon octicon-issue-opened"></i> {{$.i18n.Tr "repo.issues.label_open_issues" .NumOpenIssues}}</a> + </li> {{end}} </div> </div> </div> {{if .IsRepositoryAdmin}} -<div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "repo.issues.label_deletion"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "repo.issues.label_deletion_desc"}}</p> - </div> - <div class="actions"> - <div class="ui red basic inverted cancel button"> - <i class="remove icon"></i> - {{.i18n.Tr "modal.no"}} - </div> - <div class="ui green basic inverted ok button"> - <i class="checkmark icon"></i> - {{.i18n.Tr "modal.yes"}} - </div> - </div> -</div> + <div class="ui small basic delete modal"> + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "repo.issues.label_deletion"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "repo.issues.label_deletion_desc"}}</p> + </div> + <div class="actions"> + <div class="ui red basic inverted cancel button"> + <i class="remove icon"></i> + {{.i18n.Tr "modal.no"}} + </div> + <div class="ui green basic inverted ok button"> + <i class="checkmark icon"></i> + {{.i18n.Tr "modal.yes"}} + </div> + </div> + </div> -<div class="ui small edit-label modal"> - <div class="header"> - {{.i18n.Tr "repo.issues.label_modify"}} - </div> - <div class="content"> - <form class="ui edit-label form" action="{{$.RepoLink}}/labels/edit" method="post"> - {{.CsrfTokenHtml}} - <input id="label-modal-id" name="id" type="hidden"> - <div class="ui grid"> - <div class="five wide column"> - <div class="ui small input"> - <input class="new-label-input" name="title" placeholder="{{.i18n.Tr "repo.issues.new_label_placeholder"}}" autofocus required> + <div class="ui small edit-label modal"> + <div class="header"> + {{.i18n.Tr "repo.issues.label_modify"}} + </div> + <div class="content"> + <form class="ui edit-label form" action="{{$.RepoLink}}/labels/edit" method="post"> + {{.CsrfTokenHtml}} + <input id="label-modal-id" name="id" type="hidden"> + <div class="ui grid"> + <div class="five wide column"> + <div class="ui small input"> + <input class="new-label-input" name="title" placeholder="{{.i18n.Tr "repo.issues.new_label_placeholder"}}" autofocus required> + </div> + </div> + <div class="color picker column"> + <input class="color-picker" name="color" value="#70c24a" required> + </div> + <div class="column precolors"> + {{template "repo/issue/label_precolors"}} </div> </div> - <div class="color picker column"> - <input class="color-picker" name="color" value="#70c24a" required> - </div> - <div class="column precolors"> - {{template "repo/issue/label_precolors"}} - </div> + </form> + </div> + <div class="actions"> + <div class="ui negative button"> + {{.i18n.Tr "modal.no"}} </div> - </form> - </div> - <div class="actions"> - <div class="ui negative button"> - {{.i18n.Tr "modal.no"}} - </div> - <div class="ui positive right labeled icon button"> - {{.i18n.Tr "modal.modify"}} - <i class="checkmark icon"></i> - </div> - </div> -</div> + <div class="ui positive right labeled icon button"> + {{.i18n.Tr "modal.modify"}} + <i class="checkmark icon"></i> + </div> + </div> + </div> {{end}} -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/issue/list.tmpl b/templates/repo/issue/list.tmpl index 5b1ad1d026..66bd2ae298 100644 --- a/templates/repo/issue/list.tmpl +++ b/templates/repo/issue/list.tmpl @@ -6,22 +6,22 @@ {{template "repo/issue/navbar" .}} <div class="ui right"> {{if .PageIsIssueList}} - <a class="ui green button" href="{{.RepoLink}}/issues/new">{{.i18n.Tr "repo.issues.new"}}</a> + <a class="ui green button" href="{{.RepoLink}}/issues/new">{{.i18n.Tr "repo.issues.new"}}</a> {{else}} - <a class="ui green button {{if not .HasForkedRepo}}disabled{{end}}" href="{{.RepoLink}}/compare/{{.BranchName}}...{{.SignedUserName}}:{{.BranchName}}">{{.i18n.Tr "repo.pulls.new"}}</a> + <a class="ui green button {{if not .HasForkedRepo}}disabled{{end}}" href="{{.RepoLink}}/compare/{{.BranchName}}...{{.SignedUserName}}:{{.BranchName}}">{{.i18n.Tr "repo.pulls.new"}}</a> {{end}} </div> </div> <div class="ui divider"></div> <div class="ui tiny basic status buttons"> - <a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state=open&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}"> - <i class="octicon octicon-issue-opened"></i> - {{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}} - </a> - <a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{$.Link}}?type={{.ViewType}}&sort={{$.SortType}}&state=closed&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}"> - <i class="octicon octicon-issue-closed"></i> - {{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}} - </a> + <a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state=open&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}"> + <i class="octicon octicon-issue-opened"></i> + {{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}} + </a> + <a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{$.Link}}?type={{.ViewType}}&sort={{$.SortType}}&state=closed&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}"> + <i class="octicon octicon-issue-closed"></i> + {{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}} + </a> </div> <div class="ui right floated secondary filter menu"> <!-- Label --> @@ -30,11 +30,11 @@ {{.i18n.Tr "repo.issues.filter_label"}} <i class="dropdown icon"></i> </span> - <div class="menu"> - <a class="item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_label_no_select"}}</a> - {{range .Labels}} - <a class="item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.ID}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}"><span class="octicon {{if eq $.SelectLabels .ID}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}</a> - {{end}} + <div class="menu"> + <a class="item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_label_no_select"}}</a> + {{range .Labels}} + <a class="item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.ID}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}"><span class="octicon {{if eq $.SelectLabels .ID}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}</a> + {{end}} </div> </div> @@ -44,11 +44,11 @@ {{.i18n.Tr "repo.issues.filter_milestone"}} <i class="dropdown icon"></i> </span> - <div class="menu"> - <a class="item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_milestone_no_select"}}</a> - {{range .Milestones}} - <a class="{{if eq $.MilestoneID .ID}}active selected{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.ID}}&assignee={{$.AssigneeID}}">{{.Name}}</a> - {{end}} + <div class="menu"> + <a class="item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_milestone_no_select"}}</a> + {{range .Milestones}} + <a class="{{if eq $.MilestoneID .ID}}active selected{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.ID}}&assignee={{$.AssigneeID}}">{{.Name}}</a> + {{end}} </div> </div> @@ -58,11 +58,11 @@ {{.i18n.Tr "repo.issues.filter_assignee"}} <i class="dropdown icon"></i> </span> - <div class="menu"> - <a class="item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}">{{.i18n.Tr "repo.issues.filter_assginee_no_select"}}</a> - {{range .Assignees}} - <a class="{{if eq $.AssigneeID .Id}}active selected{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{.Id}}"><img src="{{.AvatarLink}}"> {{.Name}}</a> - {{end}} + <div class="menu"> + <a class="item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}">{{.i18n.Tr "repo.issues.filter_assginee_no_select"}}</a> + {{range .Assignees}} + <a class="{{if eq $.AssigneeID .Id}}active selected{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{.Id}}"><img src="{{.AvatarLink}}"> {{.Name}}</a> + {{end}} </div> </div> @@ -72,11 +72,11 @@ {{.i18n.Tr "repo.issues.filter_type"}} <i class="dropdown icon"></i> </span> - <div class="menu"> - <a class="{{if eq .ViewType "all"}}active{{end}} item" href="{{$.Link}}?type=all&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_type.all_issues"}}</a> - <a class="{{if eq .ViewType "assigned"}}active{{end}} item" href="{{$.Link}}?type=assigned&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}">{{.i18n.Tr "repo.issues.filter_type.assigned_to_you"}}</a> - <a class="{{if eq .ViewType "created_by"}}active{{end}} item" href="{{$.Link}}?type=created_by&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_type.created_by_you"}}</a> - <a class="{{if eq .ViewType "mentioned"}}active{{end}} item" href="{{$.Link}}?type=mentioned&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_type.mentioning_you"}}</a> + <div class="menu"> + <a class="{{if eq .ViewType "all"}}active{{end}} item" href="{{$.Link}}?type=all&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_type.all_issues"}}</a> + <a class="{{if eq .ViewType "assigned"}}active{{end}} item" href="{{$.Link}}?type=assigned&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}">{{.i18n.Tr "repo.issues.filter_type.assigned_to_you"}}</a> + <a class="{{if eq .ViewType "created_by"}}active{{end}} item" href="{{$.Link}}?type=created_by&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_type.created_by_you"}}</a> + <a class="{{if eq .ViewType "mentioned"}}active{{end}} item" href="{{$.Link}}?type=mentioned&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_type.mentioning_you"}}</a> </div> </div> @@ -86,68 +86,68 @@ {{.i18n.Tr "repo.issues.filter_sort"}} <i class="dropdown icon"></i> </span> - <div class="menu"> - <a class="{{if or (eq .SortType "latest") (not .SortType)}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort=latest&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_sort.latest"}}</a> - <a class="{{if eq .SortType "oldest"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort=oldest&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_sort.oldest"}}</a> - <a class="{{if eq .SortType "recentupdate"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort=recentupdate&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_sort.recentupdate"}}</a> - <a class="{{if eq .SortType "leastupdate"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort=leastupdate&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_sort.leastupdate"}}</a> - <a class="{{if eq .SortType "mostcomment"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort=mostcomment&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_sort.mostcomment"}}</a> - <a class="{{if eq .SortType "leastcomment"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort=leastcomment&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_sort.leastcomment"}}</a> + <div class="menu"> + <a class="{{if or (eq .SortType "latest") (not .SortType)}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort=latest&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_sort.latest"}}</a> + <a class="{{if eq .SortType "oldest"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort=oldest&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_sort.oldest"}}</a> + <a class="{{if eq .SortType "recentupdate"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort=recentupdate&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_sort.recentupdate"}}</a> + <a class="{{if eq .SortType "leastupdate"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort=leastupdate&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_sort.leastupdate"}}</a> + <a class="{{if eq .SortType "mostcomment"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort=mostcomment&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_sort.mostcomment"}}</a> + <a class="{{if eq .SortType "leastcomment"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort=leastcomment&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_sort.leastcomment"}}</a> </div> </div> </div> <div class="issue list"> {{range .Issues}} - {{ $timeStr:= TimeSince .Created $.Lang }} - <li class="item"> - <div class="ui {{if .IsRead}}black{{else}}green{{end}} label">#{{.Index}}</div> - <a class="title" href="{{$.Link}}/{{.Index}}">{{.Name}}</a> - - {{range .Labels}} - <a class="ui label" href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{.ID}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}" style="background-color: {{.Color}}">{{.Name}}</a> - {{end}} + {{ $timeStr:= TimeSince .Created $.Lang }} + <li class="item"> + <div class="ui {{if .IsRead}}black{{else}}green{{end}} label">#{{.Index}}</div> + <a class="title" href="{{$.Link}}/{{.Index}}">{{.Name}}</a> - {{if .NumComments}} - <span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span> - {{end}} - - <p class="desc"> - {{$.i18n.Tr "repo.issues.opened_by" $timeStr .Poster.HomeLink .Poster.Name | Safe}} - {{if .Milestone}} - <a class="milestone" href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.Milestone.ID}}&assignee={{$.AssigneeID}}"> - <span class="octicon octicon-milestone"></span> {{.Milestone.Name}} - </a> - {{end}} - {{if .Assignee}} - <a class="ui right assignee poping up" href="{{.Assignee.HomeLink}}" data-content="{{.Assignee.Name}}" data-variation="inverted" data-position="left center"> - <img class="ui avatar image" src="{{.Assignee.AvatarLink}}"> - </a> - {{end}} - </p> - </li> - {{end}} - - {{with .Page}} - {{if gt .TotalPages 1}} - <div class="center page buttons"> - <div class="ui borderless pagination menu"> - <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Previous}}"{{end}}> - <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} - </a> - {{range .Pages}} - {{if eq .Num -1}} - <a class="disabled item">...</a> - {{else}} - <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Num}}"{{end}}>{{.Num}}</a> + {{range .Labels}} + <a class="ui label" href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{.ID}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}" style="background-color: {{.Color}}">{{.Name}}</a> {{end}} + + {{if .NumComments}} + <span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span> {{end}} - <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Next}}"{{end}}> - {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> - </a> - </div> - </div> + + <p class="desc"> + {{$.i18n.Tr "repo.issues.opened_by" $timeStr .Poster.HomeLink .Poster.Name | Safe}} + {{if .Milestone}} + <a class="milestone" href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.Milestone.ID}}&assignee={{$.AssigneeID}}"> + <span class="octicon octicon-milestone"></span> {{.Milestone.Name}} + </a> + {{end}} + {{if .Assignee}} + <a class="ui right assignee poping up" href="{{.Assignee.HomeLink}}" data-content="{{.Assignee.Name}}" data-variation="inverted" data-position="left center"> + <img class="ui avatar image" src="{{.Assignee.AvatarLink}}"> + </a> + {{end}} + </p> + </li> {{end}} + + {{with .Page}} + {{if gt .TotalPages 1}} + <div class="center page buttons"> + <div class="ui borderless pagination menu"> + <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Previous}}"{{end}}> + <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} + </a> + {{range .Pages}} + {{if eq .Num -1}} + <a class="disabled item">...</a> + {{else}} + <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Num}}"{{end}}>{{.Num}}</a> + {{end}} + {{end}} + <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Next}}"{{end}}> + {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> + </a> + </div> + </div> + {{end}} {{end}} </div> </div> diff --git a/templates/repo/issue/milestone_new.tmpl b/templates/repo/issue/milestone_new.tmpl index 383e54dd8f..88dc806b4e 100644 --- a/templates/repo/issue/milestone_new.tmpl +++ b/templates/repo/issue/milestone_new.tmpl @@ -5,64 +5,64 @@ <div class="navbar"> {{template "repo/issue/navbar" .}} {{if and .IsRepositoryAdmin .PageIsEditMilestone}} - <div class="ui right floated secondary menu"> - <a class="ui green button" href="{{$.RepoLink}}/milestones/new">{{.i18n.Tr "repo.milestones.new"}}</a> - </div> + <div class="ui right floated secondary menu"> + <a class="ui green button" href="{{$.RepoLink}}/milestones/new">{{.i18n.Tr "repo.milestones.new"}}</a> + </div> {{end}} </div> <div class="ui divider"></div> - <h2 class="ui dividing header"> - {{if .PageIsEditMilestone}} - {{.i18n.Tr "repo.milestones.edit"}} - <div class="sub header">{{.i18n.Tr "repo.milestones.edit_subheader"}}</div> - {{else}} - {{.i18n.Tr "repo.milestones.new"}} - <div class="sub header">{{.i18n.Tr "repo.milestones.new_subheader"}}</div> - {{end}} - </h2> - {{template "base/alert" .}} - <form class="ui form grid" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <div class="eleven wide column"> - <div class="field {{if .Err_Title}}error{{end}}"> - <label>{{.i18n.Tr "repo.milestones.title"}}</label> - <input name="title" placeholder="{{.i18n.Tr "repo.milestones.title"}}" value="{{.title}}" autofocus required> - </div> - <div class="field"> - <label>{{.i18n.Tr "repo.milestones.desc"}}</label> - <textarea name="content">{{.content}}</textarea> - </div> + <h2 class="ui dividing header"> + {{if .PageIsEditMilestone}} + {{.i18n.Tr "repo.milestones.edit"}} + <div class="sub header">{{.i18n.Tr "repo.milestones.edit_subheader"}}</div> + {{else}} + {{.i18n.Tr "repo.milestones.new"}} + <div class="sub header">{{.i18n.Tr "repo.milestones.new_subheader"}}</div> + {{end}} + </h2> + {{template "base/alert" .}} + <form class="ui form grid" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <div class="eleven wide column"> + <div class="field {{if .Err_Title}}error{{end}}"> + <label>{{.i18n.Tr "repo.milestones.title"}}</label> + <input name="title" placeholder="{{.i18n.Tr "repo.milestones.title"}}" value="{{.title}}" autofocus required> + </div> + <div class="field"> + <label>{{.i18n.Tr "repo.milestones.desc"}}</label> + <textarea name="content">{{.content}}</textarea> </div> - <div class="four wide column"> - <div class="field {{if .Err_Deadline}}error{{end}}"> - <label> - {{.i18n.Tr "repo.milestones.due_date"}} - <a id="clear-date" href="#">{{.i18n.Tr "repo.milestones.clear"}}</a> - </label> - <input id="deadline" name="deadline" value="{{.deadline}}"> - </div> - <div class="field"> - <input class="milestone datepicker" data-lang="{{.DateLang}}" data-start-date="{{.deadline}}"> - </div> + </div> + <div class="four wide column"> + <div class="field {{if .Err_Deadline}}error{{end}}"> + <label> + {{.i18n.Tr "repo.milestones.due_date"}} + <a id="clear-date" href="#">{{.i18n.Tr "repo.milestones.clear"}}</a> + </label> + <input id="deadline" name="deadline" value="{{.deadline}}"> + </div> + <div class="field"> + <input class="milestone datepicker" data-lang="{{.DateLang}}" data-start-date="{{.deadline}}"> </div> - <div class="ui container"> - <div class="ui divider"></div> - <div class="ui right"> - {{if .PageIsEditMilestone}} + </div> + <div class="ui container"> + <div class="ui divider"></div> + <div class="ui right"> + {{if .PageIsEditMilestone}} <a class="ui blue basic button" href="{{.RepoLink}}/milestones"> {{.i18n.Tr "repo.milestones.cancel"}} </a> <button class="ui green button"> {{.i18n.Tr "repo.milestones.modify"}} </button> - {{else}} + {{else}} <button class="ui green button"> {{.i18n.Tr "repo.milestones.create"}} </button> - {{end}} - </div> + {{end}} </div> - </form> + </div> + </form> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/issue/milestones.tmpl b/templates/repo/issue/milestones.tmpl index 248b81e242..fe247d80c0 100644 --- a/templates/repo/issue/milestones.tmpl +++ b/templates/repo/issue/milestones.tmpl @@ -5,113 +5,113 @@ <div class="navbar"> {{template "repo/issue/navbar" .}} {{if .IsRepositoryAdmin}} - <div class="ui right"> - <a class="ui green button" href="{{$.Link}}/new">{{.i18n.Tr "repo.milestones.new"}}</a> - </div> + <div class="ui right"> + <a class="ui green button" href="{{$.Link}}/new">{{.i18n.Tr "repo.milestones.new"}}</a> + </div> {{end}} </div> <div class="ui divider"></div> {{template "base/alert" .}} <div class="ui tiny basic buttons"> - <a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{.RepoLink}}/milestones?state=open"> - <i class="octicon octicon-milestone"></i> - {{.i18n.Tr "repo.milestones.open_tab" .OpenCount}} - </a> - <a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{.RepoLink}}/milestones?state=closed"> - <i class="octicon octicon-milestone"></i> - {{.i18n.Tr "repo.milestones.close_tab" .ClosedCount}} - </a> + <a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{.RepoLink}}/milestones?state=open"> + <i class="octicon octicon-milestone"></i> + {{.i18n.Tr "repo.milestones.open_tab" .OpenCount}} + </a> + <a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{.RepoLink}}/milestones?state=closed"> + <i class="octicon octicon-milestone"></i> + {{.i18n.Tr "repo.milestones.close_tab" .ClosedCount}} + </a> </div> - + <div class="milestone list"> {{range .Milestones}} - <li class="item"> - <i class="octicon octicon-milestone"></i> <a href="{{$.RepoLink}}/issues?state={{$.State}}&milestone={{.ID}}">{{.Name}}</a> - <div class="ui right green progress" data-percent="{{.Completeness}}"> - <div class="bar" {{if not .Completeness}}style="background-color: transparent"{{end}}> - <div class="progress"></div> - </div> - </div> - <div class="meta"> - {{ $closedDate:= TimeSince .ClosedDate $.Lang }} - {{if .IsClosed}} - <span class="octicon octicon-clock"></span> {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}} - {{else}} - <span class="octicon octicon-calendar"></span> - {{if .DeadlineString}} - <span {{if .IsOverDue}}class="overdue"{{end}}>{{.DeadlineString}}</span> + <li class="item"> + <i class="octicon octicon-milestone"></i> <a href="{{$.RepoLink}}/issues?state={{$.State}}&milestone={{.ID}}">{{.Name}}</a> + <div class="ui right green progress" data-percent="{{.Completeness}}"> + <div class="bar" {{if not .Completeness}}style="background-color: transparent"{{end}}> + <div class="progress"></div> + </div> + </div> + <div class="meta"> + {{ $closedDate:= TimeSince .ClosedDate $.Lang }} + {{if .IsClosed}} + <span class="octicon octicon-clock"></span> {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}} {{else}} - {{$.i18n.Tr "repo.milestones.no_due_date"}} + <span class="octicon octicon-calendar"></span> + {{if .DeadlineString}} + <span {{if .IsOverDue}}class="overdue"{{end}}>{{.DeadlineString}}</span> + {{else}} + {{$.i18n.Tr "repo.milestones.no_due_date"}} + {{end}} + {{end}} + <span class="issue-stats"> + <i class="octicon octicon-issue-opened"></i> {{$.i18n.Tr "repo.issues.open_tab" .NumOpenIssues}} + <i class="octicon octicon-issue-closed"></i> {{$.i18n.Tr "repo.issues.close_tab" .NumClosedIssues}} + </span> + </div> + {{if $.IsRepositoryAdmin}} + <div class="ui right operate"> + <a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-pencil"></i> {{$.i18n.Tr "repo.issues.label_edit"}}</a> + {{if .IsClosed}} + <a href="{{$.Link}}/{{.ID}}/open" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-check"></i> {{$.i18n.Tr "repo.milestones.open"}}</a> + {{else}} + <a href="{{$.Link}}/{{.ID}}/close" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-x"></i> {{$.i18n.Tr "repo.milestones.close"}}</a> + {{end}} + <a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}"><i class="octicon octicon-trashcan"></i> {{$.i18n.Tr "repo.issues.label_delete"}}</a> + </div> + {{if .Content}} + <div class="content"> + {{.RenderedContent|Str2html}} + </div> {{end}} {{end}} - <span class="issue-stats"> - <i class="octicon octicon-issue-opened"></i> {{$.i18n.Tr "repo.issues.open_tab" .NumOpenIssues}} - <i class="octicon octicon-issue-closed"></i> {{$.i18n.Tr "repo.issues.close_tab" .NumClosedIssues}} - </span> - </div> - {{if $.IsRepositoryAdmin}} - <div class="ui right operate"> - <a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-pencil"></i> {{$.i18n.Tr "repo.issues.label_edit"}}</a> - {{if .IsClosed}} - <a href="{{$.Link}}/{{.ID}}/open" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-check"></i> {{$.i18n.Tr "repo.milestones.open"}}</a> - {{else}} - <a href="{{$.Link}}/{{.ID}}/close" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-x"></i> {{$.i18n.Tr "repo.milestones.close"}}</a> - {{end}} - <a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}"><i class="octicon octicon-trashcan"></i> {{$.i18n.Tr "repo.issues.label_delete"}}</a> - </div> - {{if .Content}} - <div class="content"> - {{.RenderedContent|Str2html}} - </div> - {{end}} - {{end}} - </li> + </li> {{end}} - + {{with .Page}} - {{if gt .TotalPages 1}} - <div class="center page buttons"> - <div class="ui borderless pagination menu"> - <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?state={{$.State}}&page={{.Previous}}"{{end}}> - <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} - </a> - {{range .Pages}} - {{if eq .Num -1}} - <a class="disabled item">...</a> - {{else}} - <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?state={{$.State}}&page={{.Num}}"{{end}}>{{.Num}}</a> - {{end}} - {{end}} - <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?state={{$.State}}&page={{.Next}}"{{end}}> - {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> - </a> - </div> - </div> - {{end}} + {{if gt .TotalPages 1}} + <div class="center page buttons"> + <div class="ui borderless pagination menu"> + <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?state={{$.State}}&page={{.Previous}}"{{end}}> + <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} + </a> + {{range .Pages}} + {{if eq .Num -1}} + <a class="disabled item">...</a> + {{else}} + <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?state={{$.State}}&page={{.Num}}"{{end}}>{{.Num}}</a> + {{end}} + {{end}} + <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?state={{$.State}}&page={{.Next}}"{{end}}> + {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> + </a> + </div> + </div> + {{end}} {{end}} </div> </div> </div> {{if .IsRepositoryAdmin}} -<div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "repo.milestones.deletion"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "repo.milestones.deletion_desc"}}</p> - </div> - <div class="actions"> - <div class="ui red basic inverted cancel button"> - <i class="remove icon"></i> - {{.i18n.Tr "modal.no"}} - </div> - <div class="ui green basic inverted ok button"> - <i class="checkmark icon"></i> - {{.i18n.Tr "modal.yes"}} - </div> - </div> -</div> + <div class="ui small basic delete modal"> + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "repo.milestones.deletion"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "repo.milestones.deletion_desc"}}</p> + </div> + <div class="actions"> + <div class="ui red basic inverted cancel button"> + <i class="remove icon"></i> + {{.i18n.Tr "modal.no"}} + </div> + <div class="ui green basic inverted ok button"> + <i class="checkmark icon"></i> + {{.i18n.Tr "modal.yes"}} + </div> + </div> + </div> {{end}} -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/issue/navbar.tmpl b/templates/repo/issue/navbar.tmpl index 3f76947c16..a3e9d2660d 100644 --- a/templates/repo/issue/navbar.tmpl +++ b/templates/repo/issue/navbar.tmpl @@ -1,4 +1,4 @@ <div class="ui compact small menu"> - <a class="{{if .PageIsLabels}}active{{end}} item" href="{{.RepoLink}}/labels">{{.i18n.Tr "repo.labels"}}</a> - <a class="{{if .PageIsMilestones}}active{{end}} item" href="{{.RepoLink}}/milestones">{{.i18n.Tr "repo.milestones"}}</a> -</div>
\ No newline at end of file + <a class="{{if .PageIsLabels}}active{{end}} item" href="{{.RepoLink}}/labels">{{.i18n.Tr "repo.labels"}}</a> + <a class="{{if .PageIsMilestones}}active{{end}} item" href="{{.RepoLink}}/milestones">{{.i18n.Tr "repo.milestones"}}</a> +</div> diff --git a/templates/repo/issue/new.tmpl b/templates/repo/issue/new.tmpl index bb45c3b743..3c6bc05b10 100644 --- a/templates/repo/issue/new.tmpl +++ b/templates/repo/issue/new.tmpl @@ -9,4 +9,4 @@ {{template "repo/issue/new_form" .}} </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/issue/new_form.tmpl b/templates/repo/issue/new_form.tmpl index 8576d7db8d..c023643eb9 100644 --- a/templates/repo/issue/new_form.tmpl +++ b/templates/repo/issue/new_form.tmpl @@ -1,32 +1,32 @@ <form class="ui comment form grid" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - {{if .Flash}} - <div class="sixteen wide column"> - {{template "base/alert" .}} - </div> - {{end}} - <div class="twelve wide column"> + {{.CsrfTokenHtml}} + {{if .Flash}} + <div class="sixteen wide column"> + {{template "base/alert" .}} + </div> + {{end}} + <div class="twelve wide column"> <div class="ui comments"> - <div class="comment"> - <a class="avatar" href="{{.SignedUser.HomeLink}}"> - <img src="{{.SignedUser.AvatarLink}}"> - </a> - <div class="ui segment content"> - <div class="field"> - <input name="title" placeholder="{{.i18n.Tr "repo.milestones.title"}}" value="{{.title}}" tabindex="3" autofocus required> - </div> + <div class="comment"> + <a class="avatar" href="{{.SignedUser.HomeLink}}"> + <img src="{{.SignedUser.AvatarLink}}"> + </a> + <div class="ui segment content"> + <div class="field"> + <input name="title" placeholder="{{.i18n.Tr "repo.milestones.title"}}" value="{{.title}}" tabindex="3" autofocus required> + </div> {{template "repo/issue/comment_tab" .}} - <div class="text right"> + <div class="text right"> <button class="ui green button"> {{if .PageIsComparePull}} - {{.i18n.Tr "repo.pulls.create"}} + {{.i18n.Tr "repo.pulls.create"}} {{else}} - {{.i18n.Tr "repo.issues.create"}} + {{.i18n.Tr "repo.issues.create"}} {{end}} </button> - </div> - </div> - </div> + </div> + </div> + </div> </div> </div> @@ -38,18 +38,18 @@ <strong>{{.i18n.Tr "repo.issues.new.labels"}}</strong> <span class="octicon octicon-gear"></span> </span> - <div class="filter menu" data-id="#label_ids"> - <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_labels"}}</div> - {{range .Labels}} - <a class="{{if .IsChecked}}checked{{end}} item" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon {{if .IsChecked}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}</a> - {{end}} + <div class="filter menu" data-id="#label_ids"> + <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_labels"}}</div> + {{range .Labels}} + <a class="{{if .IsChecked}}checked{{end}} item" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon {{if .IsChecked}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}</a> + {{end}} </div> </div> <div class="ui labels list"> <span class="no-select item {{if .HasSelectedLabel}}hide{{end}}">{{.i18n.Tr "repo.issues.new.no_label"}}</span> - {{range .Labels}} - <a class="{{if not .IsChecked}}hide{{end}} item" id="label_{{.ID}}" href="{{$.RepoLink}}/issues?labels={{.ID}}"><span class="label color" style="background-color: {{.Color}}"></span> <span class="text">{{.Name}}</span></a> - {{end}} + {{range .Labels}} + <a class="{{if not .IsChecked}}hide{{end}} item" id="label_{{.ID}}" href="{{$.RepoLink}}/issues?labels={{.ID}}"><span class="label color" style="background-color: {{.Color}}"></span> <span class="text">{{.Name}}</span></a> + {{end}} </div> <div class="ui divider"></div> @@ -60,35 +60,35 @@ <strong>{{.i18n.Tr "repo.issues.new.milestone"}}</strong> <span class="octicon octicon-gear"></span> </span> - <div class="menu"> - <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_milestone"}}</div> - {{if .OpenMilestones}} - <div class="divider"></div> - <div class="header"> - <i class="octicon octicon-milestone"></i> - {{.i18n.Tr "repo.issues.new.open_milestone"}} - </div> - {{range .OpenMilestones}} - <div class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</div> - {{end}} - {{end}} - {{if .ClosedMilestones}} - <div class="divider"></div> - <div class="header"> - <i class="octicon octicon-milestone"></i> - {{.i18n.Tr "repo.issues.new.closed_milestone"}} - </div> - {{range .ClosedMilestones}} - <a class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</a> - {{end}} - {{end}} + <div class="menu"> + <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_milestone"}}</div> + {{if .OpenMilestones}} + <div class="divider"></div> + <div class="header"> + <i class="octicon octicon-milestone"></i> + {{.i18n.Tr "repo.issues.new.open_milestone"}} + </div> + {{range .OpenMilestones}} + <div class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</div> + {{end}} + {{end}} + {{if .ClosedMilestones}} + <div class="divider"></div> + <div class="header"> + <i class="octicon octicon-milestone"></i> + {{.i18n.Tr "repo.issues.new.closed_milestone"}} + </div> + {{range .ClosedMilestones}} + <a class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</a> + {{end}} + {{end}} </div> </div> <div class="ui select-milestone list"> <span class="no-select item {{if .Milestone}}hide{{end}}">{{.i18n.Tr "repo.issues.new.no_milestone"}}</span> <div class="selected"> {{if .Milestone}} - <a class="item" href="{{.RepoLink}}/issues?milestone={{.Milestone.ID}}"> {{.Milestone.Name}}</a> + <a class="item" href="{{.RepoLink}}/issues?milestone={{.Milestone.ID}}"> {{.Milestone.Name}}</a> {{end}} </div> </div> @@ -101,21 +101,21 @@ <strong>{{.i18n.Tr "repo.issues.new.assignee"}}</strong> <span class="octicon octicon-gear"></span> </span> - <div class="menu"> - <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_assignee"}}</div> - {{range .Assignees}} - <div class="item" data-id="{{.Id}}" data-href="{{$.RepoLink}}/issues?assignee={{.Id}}" data-avatar="{{.AvatarLink}}"><img src="{{.AvatarLink}}"> {{.Name}}</div> - {{end}} + <div class="menu"> + <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_assignee"}}</div> + {{range .Assignees}} + <div class="item" data-id="{{.Id}}" data-href="{{$.RepoLink}}/issues?assignee={{.Id}}" data-avatar="{{.AvatarLink}}"><img src="{{.AvatarLink}}"> {{.Name}}</div> + {{end}} </div> </div> <div class="ui select-assignee list"> <span class="no-select item {{if .Assignee}}hide{{end}}">{{.i18n.Tr "repo.issues.new.no_assignee"}}</span> <div class="selected"> {{if .Assignee}} - <a class="item" href="{{.RepoLink}}/issues?assignee={{.Assignee.Id}}"><img class="ui avatar image" src="{{.Assignee.AvatarLink}}"> {{.Assignee.Name}}</a> + <a class="item" href="{{.RepoLink}}/issues?assignee={{.Assignee.Id}}"><img class="ui avatar image" src="{{.Assignee.AvatarLink}}"> {{.Assignee.Name}}</a> {{end}} </div> </div> </div> </div> -</form>
\ No newline at end of file +</form> diff --git a/templates/repo/issue/view.tmpl b/templates/repo/issue/view.tmpl index 506e4e3f04..1f25f1535b 100644 --- a/templates/repo/issue/view.tmpl +++ b/templates/repo/issue/view.tmpl @@ -6,22 +6,22 @@ {{template "repo/issue/navbar" .}} <div class="ui right"> {{if .PageIsIssueList}} - <a class="ui green button" href="{{.RepoLink}}/issues/new">{{.i18n.Tr "repo.issues.new"}}</a> + <a class="ui green button" href="{{.RepoLink}}/issues/new">{{.i18n.Tr "repo.issues.new"}}</a> {{else}} - <a class="ui green button {{if not .HasForkedRepo}}disabled{{end}}" href="{{.RepoLink}}/compare/{{.BranchName}}...{{.SignedUserName}}:{{.BranchName}}">{{.i18n.Tr "repo.pulls.new"}}</a> + <a class="ui green button {{if not .HasForkedRepo}}disabled{{end}}" href="{{.RepoLink}}/compare/{{.BranchName}}...{{.SignedUserName}}:{{.BranchName}}">{{.i18n.Tr "repo.pulls.new"}}</a> {{end}} </div> </div> <div class="ui divider"></div> {{if .Issue.IsPull}} - {{template "repo/issue/view_title" .}} - {{template "repo/pulls/tab_menu" .}} - <div class="ui bottom attached tab pull segment active" data-tab="request-{{.ID}}"> - {{template "repo/issue/view_content" .}} - </div> + {{template "repo/issue/view_title" .}} + {{template "repo/pulls/tab_menu" .}} + <div class="ui bottom attached tab pull segment active" data-tab="request-{{.ID}}"> + {{template "repo/issue/view_content" .}} + </div> {{else}} - {{template "repo/issue/view_content" .}} + {{template "repo/issue/view_content" .}} {{end}} </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/issue/view_content.tmpl b/templates/repo/issue/view_content.tmpl index 0f4a6d07ed..c641d7a8ff 100644 --- a/templates/repo/issue/view_content.tmpl +++ b/templates/repo/issue/view_content.tmpl @@ -1,234 +1,232 @@ <div class="ui grid"> {{if .Flash}} - <div class="sixteen wide column"> - {{template "base/alert" .}} - </div> - {{end}} - {{if not .Issue.IsPull}} - {{template "repo/issue/view_title" .}} - {{end}} - - {{ $createdStr:= TimeSince .Issue.Created $.Lang }} + <div class="sixteen wide column"> + {{template "base/alert" .}} + </div> + {{end}} + {{if not .Issue.IsPull}} + {{template "repo/issue/view_title" .}} + {{end}} + + {{ $createdStr:= TimeSince .Issue.Created $.Lang }} <div class="twelve wide column comment-list"> - <ui class="ui comments"> - <div class="comment"> - <a class="avatar" {{if gt .Issue.Poster.Id 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}> - <img src="{{.Issue.Poster.AvatarLink}}"> - </a> - <div class="content"> + <ui class="ui comments"> + <div class="comment"> + <a class="avatar" {{if gt .Issue.Poster.Id 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}> + <img src="{{.Issue.Poster.AvatarLink}}"> + </a> + <div class="content"> <div class="ui top attached header"> <span class="text grey"><a {{if gt .Issue.Poster.Id 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}>{{.Issue.Poster.Name}}</a> {{.i18n.Tr "repo.issues.commented_at" .Issue.HashTag $createdStr | Safe}}</span> - <div class="ui right actions"> - {{if .IsIssueOwner}} - <a class="edit-content item" href="#"><i class="octicon octicon-pencil"></i></a> - {{end}} - </div> + <div class="ui right actions"> + {{if .IsIssueOwner}} + <a class="edit-content item" href="#"><i class="octicon octicon-pencil"></i></a> + {{end}} + </div> </div> - <div class="ui attached segment"> - <div class="render-content markdown emojify"> - {{if .Issue.RenderedContent}} - {{.Issue.RenderedContent|Str2html}} - {{else}} - <span class="no-content">{{.i18n.Tr "repo.issues.no_content"}}</span> - {{end}} - </div> - <div class="raw-content hide">{{.Issue.Content}}</div> - <div class="edit-content-zone hide" data-write="issue-{{.Issue.ID}}-write" data-preview="issue-{{.Issue.ID}}-preview" data-update-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/content" data-context="{{.RepoLink}}"></div> - </div> - {{if .Issue.Attachments}} - <div class="ui bottom attached segment"> - <div class="ui small images"> - {{range .Issue.Attachments}} - <a target="_blank" href="{{AppSubUrl}}/attachments/{{.UUID}}"><img class="ui image" src="{{AppSubUrl}}/attachments/{{.UUID}}"></a> - {{end}} + <div class="ui attached segment"> + <div class="render-content markdown emojify"> + {{if .Issue.RenderedContent}} + {{.Issue.RenderedContent|Str2html}} + {{else}} + <span class="no-content">{{.i18n.Tr "repo.issues.no_content"}}</span> + {{end}} </div> + <div class="raw-content hide">{{.Issue.Content}}</div> + <div class="edit-content-zone hide" data-write="issue-{{.Issue.ID}}-write" data-preview="issue-{{.Issue.ID}}-preview" data-update-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/content" data-context="{{.RepoLink}}"></div> </div> - {{end}} - </div> - </div> + {{if .Issue.Attachments}} + <div class="ui bottom attached segment"> + <div class="ui small images"> + {{range .Issue.Attachments}} + <a target="_blank" href="{{AppSubUrl}}/attachments/{{.UUID}}"><img class="ui image" src="{{AppSubUrl}}/attachments/{{.UUID}}"></a> + {{end}} + </div> + </div> + {{end}} + </div> + </div> - {{range .Issue.Comments}} - {{ $createdStr:= TimeSince .Created $.Lang }} + {{range .Issue.Comments}} + {{ $createdStr:= TimeSince .Created $.Lang }} - <!-- 0 = COMMENT, 1 = REOPEN, 2 = CLOSE, 3 = ISSUE_REF, 4 = COMMIT_REF, 5 = COMMENT_REF, 6 = PULL_REF --> - {{if eq .Type 0}} - <div class="comment"> - <a class="avatar" {{if gt .Poster.Id 0}}href="{{.Poster.HomeLink}}"{{end}}> - <img src="{{.Poster.AvatarLink}}"> - </a> - <div class="content"> - <div class="ui top attached header"> - <span class="text grey"><a {{if gt .Poster.Id 0}}href="{{.Poster.HomeLink}}"{{end}}>{{.Poster.Name}}</a> {{$.i18n.Tr "repo.issues.commented_at" .HashTag $createdStr | Safe}}</span> - <div class="ui right actions"> - {{if gt .ShowTag 0}} - <div class="item tag"> - {{if eq .ShowTag 1}} - {{$.i18n.Tr "repo.issues.poster"}} - {{else if eq .ShowTag 2}} - {{$.i18n.Tr "repo.issues.admin"}} - {{else if eq .ShowTag 3}} - {{$.i18n.Tr "repo.issues.owner"}} - {{end}} - </div> - {{end}} - {{if or $.IsRepositoryAdmin (eq .Poster.Id $.SignedUserID)}} - <a class="edit-content item" href="#"><i class="octicon octicon-pencil"></i></a> - {{end}} - </div> + <!-- 0 = COMMENT, 1 = REOPEN, 2 = CLOSE, 3 = ISSUE_REF, 4 = COMMIT_REF, 5 = COMMENT_REF, 6 = PULL_REF --> + {{if eq .Type 0}} + <div class="comment"> + <a class="avatar" {{if gt .Poster.Id 0}}href="{{.Poster.HomeLink}}"{{end}}> + <img src="{{.Poster.AvatarLink}}"> + </a> + <div class="content"> + <div class="ui top attached header"> + <span class="text grey"><a {{if gt .Poster.Id 0}}href="{{.Poster.HomeLink}}"{{end}}>{{.Poster.Name}}</a> {{$.i18n.Tr "repo.issues.commented_at" .HashTag $createdStr | Safe}}</span> + <div class="ui right actions"> + {{if gt .ShowTag 0}} + <div class="item tag"> + {{if eq .ShowTag 1}} + {{$.i18n.Tr "repo.issues.poster"}} + {{else if eq .ShowTag 2}} + {{$.i18n.Tr "repo.issues.admin"}} + {{else if eq .ShowTag 3}} + {{$.i18n.Tr "repo.issues.owner"}} + {{end}} + </div> + {{end}} + {{if or $.IsRepositoryAdmin (eq .Poster.Id $.SignedUserID)}} + <a class="edit-content item" href="#"><i class="octicon octicon-pencil"></i></a> + {{end}} + </div> + </div> + <div class="ui attached segment"> + <div class="render-content markdown emojify"> + {{if .RenderedContent}} + {{.RenderedContent|Str2html}} + {{else}} + <span class="no-content">{{$.i18n.Tr "repo.issues.no_content"}}</span> + {{end}} + </div> + <div class="raw-content hide">{{.Content}}</div> + <div class="edit-content-zone hide" data-write="issuecomment-{{.ID}}-write" data-preview="issuecomment-{{.ID}}-preview" data-update-url="{{$.RepoLink}}/comments/{{.ID}}" data-context="{{$.RepoLink}}"></div> + </div> + {{if .Attachments}} + <div class="ui bottom attached segment"> + <div class="ui small images"> + {{range .Attachments}} + <a target="_blank" href="{{AppSubUrl}}/attachments/{{.UUID}}"><img class="ui image" src="{{AppSubUrl}}/attachments/{{.UUID}}"></a> + {{end}} + </div> + </div> + {{end}} + </div> + </div> + {{else if eq .Type 1}} + <div class="event"> + <span class="octicon octicon-primitive-dot"></span> + <a class="ui avatar image" href="{{.Poster.HomeLink}}"> + <img src="{{.Poster.AvatarLink}}"> + </a> + <span class="text grey"><a href="{{.Poster.HomeLink}}">{{.Poster.Name}}</a> {{$.i18n.Tr "repo.issues.reopened_at" .EventTag $createdStr | Safe}}</span> + </div> + {{else if eq .Type 2}} + <div class="event"> + <span class="octicon octicon-circle-slash"></span> + <a class="ui avatar image" href="{{.Poster.HomeLink}}"> + <img src="{{.Poster.AvatarLink}}"> + </a> + <span class="text grey"><a href="{{.Poster.HomeLink}}">{{.Poster.Name}}</a> {{$.i18n.Tr "repo.issues.closed_at" .EventTag $createdStr | Safe}}</span> </div> - <div class="ui attached segment"> - <div class="render-content markdown emojify"> - {{if .RenderedContent}} - {{.RenderedContent|Str2html}} - {{else}} - <span class="no-content">{{$.i18n.Tr "repo.issues.no_content"}}</span> - {{end}} - </div> - <div class="raw-content hide">{{.Content}}</div> - <div class="edit-content-zone hide" data-write="issuecomment-{{.ID}}-write" data-preview="issuecomment-{{.ID}}-preview" data-update-url="{{$.RepoLink}}/comments/{{.ID}}" data-context="{{$.RepoLink}}"></div> - </div> - {{if .Attachments}} - <div class="ui bottom attached segment"> - <div class="ui small images"> - {{range .Attachments}} - <a target="_blank" href="{{AppSubUrl}}/attachments/{{.UUID}}"><img class="ui image" src="{{AppSubUrl}}/attachments/{{.UUID}}"></a> - {{end}} + {{else if eq .Type 4}} + <div class="event"> + <span class="octicon octicon-bookmark"></span> + <a class="ui avatar image" href="{{.Poster.HomeLink}}"> + <img src="{{.Poster.AvatarLink}}"> + </a> + <span class="text grey"><a href="{{.Poster.HomeLink}}">{{.Poster.Name}}</a> {{$.i18n.Tr "repo.issues.commit_ref_at" .EventTag $createdStr | Safe}}</span> + + <div class="detail"> + <span class="octicon octicon-git-commit"></span> + <span class="text grey">{{.Content | Str2html}}</span> </div> </div> - {{end}} - </div> - </div> - {{else if eq .Type 1}} - <div class="event"> - <span class="octicon octicon-primitive-dot"></span> - <a class="ui avatar image" href="{{.Poster.HomeLink}}"> - <img src="{{.Poster.AvatarLink}}"> - </a> - <span class="text grey"><a href="{{.Poster.HomeLink}}">{{.Poster.Name}}</a> {{$.i18n.Tr "repo.issues.reopened_at" .EventTag $createdStr | Safe}}</span> - </div> - {{else if eq .Type 2}} - <div class="event"> - <span class="octicon octicon-circle-slash"></span> - <a class="ui avatar image" href="{{.Poster.HomeLink}}"> - <img src="{{.Poster.AvatarLink}}"> - </a> - <span class="text grey"><a href="{{.Poster.HomeLink}}">{{.Poster.Name}}</a> {{$.i18n.Tr "repo.issues.closed_at" .EventTag $createdStr | Safe}}</span> - </div> - {{else if eq .Type 4}} - <div class="event"> - <span class="octicon octicon-bookmark"></span> - <a class="ui avatar image" href="{{.Poster.HomeLink}}"> - <img src="{{.Poster.AvatarLink}}"> - </a> - <span class="text grey"><a href="{{.Poster.HomeLink}}">{{.Poster.Name}}</a> {{$.i18n.Tr "repo.issues.commit_ref_at" .EventTag $createdStr | Safe}}</span> + {{end}} - <div class="detail"> - <span class="octicon octicon-git-commit"></span> - <span class="text grey">{{.Content | Str2html}}</span> - </div> - </div> {{end}} - {{end}} - - {{if .Issue.IsPull}} - <div class="comment merge box"> - <a class="avatar text - {{if .Issue.HasMerged}}purple - {{else if .Issue.IsClosed}}grey - {{else if .IsPullReuqestBroken}}red - {{else if .Issue.IsChecking}}yellow - {{else if .Issue.CanAutoMerge}}green - {{else}}red{{end}}"> - <span class="mega-octicon octicon-git-merge"></span> - </a> - <div class="content"> - <div class="ui merge segment"> - {{if .Issue.HasMerged}} - <div class="item text purple"> - {{$.i18n.Tr "repo.pulls.has_merged"}} - </div> - {{else if .Issue.IsClosed}} - <div class="item text grey"> - {{$.i18n.Tr "repo.pulls.reopen_to_merge"}} - </div> - {{else if .IsPullReuqestBroken}} - <div class="item text red"> - <span class="octicon octicon-x"></span> - {{$.i18n.Tr "repo.pulls.data_broken"}} - </div> - {{else if .Issue.IsChecking}} - <div class="item text yellow"> - <span class="octicon octicon-sync"></span> - {{$.i18n.Tr "repo.pulls.is_checking"}} - </div> - {{else if .Issue.CanAutoMerge}} - <div class="item text green"> - <span class="octicon octicon-check"></span> - {{$.i18n.Tr "repo.pulls.can_auto_merge_desc"}} - </div> - {{if .IsRepositoryAdmin}} - <div class="ui divider"></div> - <div> - <form class="ui form" action="{{.Link}}/merge" method="post"> - {{.CsrfTokenHtml}} - <button class="ui green button"> - <span class="octicon octicon-git-merge"></span> {{$.i18n.Tr "repo.pulls.merge_pull_request"}} - </button> - </form> - </div> - {{end}} - {{else}} - <div class="item text red"> - <span class="octicon octicon-x"></span> - {{$.i18n.Tr "repo.pulls.cannot_auto_merge_desc"}} - </div> - <div class="item text grey"> - <span class="octicon octicon-info"></span> - {{$.i18n.Tr "repo.pulls.cannot_auto_merge_helper"}} - </div> - {{end}} - </div> - </div> - </div> - {{end}} - - {{if .IsSigned}} - <div class="comment form"> - <a class="avatar" href="{{.SignedUser.HomeLink}}"> - <img src="{{.SignedUser.AvatarLink}}"> - </a> - <div class="content"> - <form class="ui segment form" id="comment-form" action="{{$.RepoLink}}/issues/{{.Issue.Index}}/comments" method="post"> - {{template "repo/issue/comment_tab" .}} - {{.CsrfTokenHtml}} - <input id="status" name="status" type="hidden"> - <div class="text right"> - {{if and .IsIssueOwner (not .DisableStatusChange)}} - {{if .Issue.IsClosed}} - <div id="status-button" class="ui green basic button" tabindex="6" data-status="{{.i18n.Tr "repo.issues.reopen_issue"}}" data-status-and-comment="{{.i18n.Tr "repo.issues.reopen_comment_issue"}}" data-status-val="reopen"> - {{.i18n.Tr "repo.issues.reopen_issue"}} + {{if .Issue.IsPull}} + <div class="comment merge box"> + <a class="avatar text + {{if .Issue.HasMerged}}purple + {{else if .Issue.IsClosed}}grey + {{else if .IsPullReuqestBroken}}red + {{else if .Issue.IsChecking}}yellow + {{else if .Issue.CanAutoMerge}}green + {{else}}red{{end}}"><span class="mega-octicon octicon-git-merge"></span></a> + <div class="content"> + <div class="ui merge segment"> + {{if .Issue.HasMerged}} + <div class="item text purple"> + {{$.i18n.Tr "repo.pulls.has_merged"}} + </div> + {{else if .Issue.IsClosed}} + <div class="item text grey"> + {{$.i18n.Tr "repo.pulls.reopen_to_merge"}} </div> - {{else}} - <div id="status-button" class="ui red basic button" tabindex="6" data-status="{{.i18n.Tr "repo.issues.close_issue"}}" data-status-and-comment="{{.i18n.Tr "repo.issues.close_comment_issue"}}" data-status-val="close"> - {{.i18n.Tr "repo.issues.close_issue"}} + {{else if .IsPullReuqestBroken}} + <div class="item text red"> + <span class="octicon octicon-x"></span> + {{$.i18n.Tr "repo.pulls.data_broken"}} </div> + {{else if .Issue.IsChecking}} + <div class="item text yellow"> + <span class="octicon octicon-sync"></span> + {{$.i18n.Tr "repo.pulls.is_checking"}} + </div> + {{else if .Issue.CanAutoMerge}} + <div class="item text green"> + <span class="octicon octicon-check"></span> + {{$.i18n.Tr "repo.pulls.can_auto_merge_desc"}} + </div> + {{if .IsRepositoryAdmin}} + <div class="ui divider"></div> + <div> + <form class="ui form" action="{{.Link}}/merge" method="post"> + {{.CsrfTokenHtml}} + <button class="ui green button"> + <span class="octicon octicon-git-merge"></span> {{$.i18n.Tr "repo.pulls.merge_pull_request"}} + </button> + </form> + </div> {{end}} + {{else}} + <div class="item text red"> + <span class="octicon octicon-x"></span> + {{$.i18n.Tr "repo.pulls.cannot_auto_merge_desc"}} + </div> + <div class="item text grey"> + <span class="octicon octicon-info"></span> + {{$.i18n.Tr "repo.pulls.cannot_auto_merge_helper"}} + </div> {{end}} - <button class="ui green button" tabindex="5"> - {{.i18n.Tr "repo.issues.create_comment"}} - </button> - </div> - </form> - </div> - </div> - {{else}} - <div class="ui warning message"> - <a href="{{AppSubUrl}}/user/sign_up" class="ui green button">{{.i18n.Tr "repo.issues.sign_up_for_free"}}</a> - {{.i18n.Tr "repo.issues.sign_in_require_desc" .SignInLink | Safe}} - </div> - {{end}} - </ui> + </div> + </div> + </div> + {{end}} + + {{if .IsSigned}} + <div class="comment form"> + <a class="avatar" href="{{.SignedUser.HomeLink}}"> + <img src="{{.SignedUser.AvatarLink}}"> + </a> + <div class="content"> + <form class="ui segment form" id="comment-form" action="{{$.RepoLink}}/issues/{{.Issue.Index}}/comments" method="post"> + {{template "repo/issue/comment_tab" .}} + {{.CsrfTokenHtml}} + <input id="status" name="status" type="hidden"> + <div class="text right"> + {{if and .IsIssueOwner (not .DisableStatusChange)}} + {{if .Issue.IsClosed}} + <div id="status-button" class="ui green basic button" tabindex="6" data-status="{{.i18n.Tr "repo.issues.reopen_issue"}}" data-status-and-comment="{{.i18n.Tr "repo.issues.reopen_comment_issue"}}" data-status-val="reopen"> + {{.i18n.Tr "repo.issues.reopen_issue"}} + </div> + {{else}} + <div id="status-button" class="ui red basic button" tabindex="6" data-status="{{.i18n.Tr "repo.issues.close_issue"}}" data-status-and-comment="{{.i18n.Tr "repo.issues.close_comment_issue"}}" data-status-val="close"> + {{.i18n.Tr "repo.issues.close_issue"}} + </div> + {{end}} + {{end}} + <button class="ui green button" tabindex="5"> + {{.i18n.Tr "repo.issues.create_comment"}} + </button> + </div> + </form> + </div> + </div> + {{else}} + <div class="ui warning message"> + <a href="{{AppSubUrl}}/user/sign_up" class="ui green button">{{.i18n.Tr "repo.issues.sign_up_for_free"}}</a> + {{.i18n.Tr "repo.issues.sign_in_require_desc" .SignInLink | Safe}} + </div> + {{end}} + </ui> </div> <div class="four wide column"> @@ -238,18 +236,18 @@ <strong>{{.i18n.Tr "repo.issues.new.labels"}}</strong> <span class="octicon octicon-gear"></span> </span> - <div class="filter menu" data-action="update" data-update-url="{{$.RepoLink}}/issues/{{$.Issue.Index}}/label"> - <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_labels"}}</div> - {{range .Labels}} - <a class="{{if .IsChecked}}checked{{end}} item" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon {{if .IsChecked}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}</a> - {{end}} + <div class="filter menu" data-action="update" data-update-url="{{$.RepoLink}}/issues/{{$.Issue.Index}}/label"> + <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_labels"}}</div> + {{range .Labels}} + <a class="{{if .IsChecked}}checked{{end}} item" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon {{if .IsChecked}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}</a> + {{end}} </div> </div> <div class="ui labels list"> <span class="no-select item {{if .HasSelectedLabel}}hide{{end}}">{{.i18n.Tr "repo.issues.new.no_label"}}</span> - {{range .Labels}} - <a class="{{if not .IsChecked}}hide{{end}} item" id="label_{{.ID}}" href="{{$.RepoLink}}/issues?labels={{.ID}}"><span class="label color" style="background-color: {{.Color}}"></span> <span class="text">{{.Name}}</span></a> - {{end}} + {{range .Labels}} + <a class="{{if not .IsChecked}}hide{{end}} item" id="label_{{.ID}}" href="{{$.RepoLink}}/issues?labels={{.ID}}"><span class="label color" style="background-color: {{.Color}}"></span> <span class="text">{{.Name}}</span></a> + {{end}} </div> <div class="ui divider"></div> @@ -259,35 +257,35 @@ <strong>{{.i18n.Tr "repo.issues.new.milestone"}}</strong> <span class="octicon octicon-gear"></span> </span> - <div class="menu" data-action="update" data-update-url="{{$.RepoLink}}/issues/{{$.Issue.Index}}/milestone"> - <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_milestone"}}</div> - {{if .OpenMilestones}} - <div class="divider"></div> - <div class="header"> - <i class="octicon octicon-milestone"></i> - {{.i18n.Tr "repo.issues.new.open_milestone"}} - </div> - {{range .OpenMilestones}} - <div class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</div> - {{end}} - {{end}} - {{if .ClosedMilestones}} - <div class="divider"></div> - <div class="header"> - <i class="octicon octicon-milestone"></i> - {{.i18n.Tr "repo.issues.new.closed_milestone"}} - </div> - {{range .ClosedMilestones}} - <a class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</a> - {{end}} - {{end}} + <div class="menu" data-action="update" data-update-url="{{$.RepoLink}}/issues/{{$.Issue.Index}}/milestone"> + <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_milestone"}}</div> + {{if .OpenMilestones}} + <div class="divider"></div> + <div class="header"> + <i class="octicon octicon-milestone"></i> + {{.i18n.Tr "repo.issues.new.open_milestone"}} + </div> + {{range .OpenMilestones}} + <div class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</div> + {{end}} + {{end}} + {{if .ClosedMilestones}} + <div class="divider"></div> + <div class="header"> + <i class="octicon octicon-milestone"></i> + {{.i18n.Tr "repo.issues.new.closed_milestone"}} + </div> + {{range .ClosedMilestones}} + <a class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</a> + {{end}} + {{end}} </div> </div> <div class="ui select-milestone list"> <span class="no-select item {{if .Issue.Milestone}}hide{{end}}">{{.i18n.Tr "repo.issues.new.no_milestone"}}</span> <div class="selected"> {{if .Issue.Milestone}} - <a class="item" href="{{.RepoLink}}/issues?milestone={{.Issue.Milestone.ID}}"> {{.Issue.Milestone.Name}}</a> + <a class="item" href="{{.RepoLink}}/issues?milestone={{.Issue.Milestone.ID}}"> {{.Issue.Milestone.Name}}</a> {{end}} </div> </div> @@ -300,18 +298,18 @@ <strong>{{.i18n.Tr "repo.issues.new.assignee"}}</strong> <span class="octicon octicon-gear"></span> </span> - <div class="menu" data-action="update" data-update-url="{{$.RepoLink}}/issues/{{$.Issue.Index}}/assignee"> - <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_assignee"}}</div> - {{range .Assignees}} - <div class="item" data-id="{{.Id}}" data-href="{{$.RepoLink}}/issues?assignee={{.Id}}" data-avatar="{{.AvatarLink}}"><img src="{{.AvatarLink}}"> {{.Name}}</div> - {{end}} + <div class="menu" data-action="update" data-update-url="{{$.RepoLink}}/issues/{{$.Issue.Index}}/assignee"> + <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_assignee"}}</div> + {{range .Assignees}} + <div class="item" data-id="{{.Id}}" data-href="{{$.RepoLink}}/issues?assignee={{.Id}}" data-avatar="{{.AvatarLink}}"><img src="{{.AvatarLink}}"> {{.Name}}</div> + {{end}} </div> </div> <div class="ui select-assignee list"> <span class="no-select item {{if .Issue.Assignee}}hide{{end}}">{{.i18n.Tr "repo.issues.new.no_assignee"}}</span> <div class="selected"> {{if .Issue.Assignee}} - <a class="item" href="{{$.RepoLink}}/issues?assignee={{.Issue.Assignee.Id}}"><img class="ui avatar image" src="{{.Issue.Assignee.AvatarLink}}"> {{.Issue.Assignee.Name}}</a> + <a class="item" href="{{$.RepoLink}}/issues?assignee={{.Issue.Assignee.Id}}"><img class="ui avatar image" src="{{.Issue.Assignee.AvatarLink}}"> {{.Issue.Assignee.Name}}</a> {{end}} </div> </div> @@ -322,22 +320,22 @@ <div class="hide" id="edit-content-form"> <div class="ui comment form"> <div class="ui top attached tabular menu"> - <a class="active write item">{{$.i18n.Tr "repo.release.write"}}</a> - <a class="preview item" data-url="{{AppSubUrl}}/api/v1/markdown" data-context="{{$.RepoLink}}">{{$.i18n.Tr "repo.release.preview"}}</a> + <a class="active write item">{{$.i18n.Tr "repo.release.write"}}</a> + <a class="preview item" data-url="{{AppSubUrl}}/api/v1/markdown" data-context="{{$.RepoLink}}">{{$.i18n.Tr "repo.release.preview"}}</a> </div> <div class="ui bottom attached active write tab segment"> - <textarea tabindex="1" id="content" name="content"></textarea> + <textarea tabindex="1" id="content" name="content"></textarea> </div> <div class="ui bottom attached tab preview segment markdown emojify"> - {{$.i18n.Tr "repo.release.loading"}} + {{$.i18n.Tr "repo.release.loading"}} </div> - <div class="text right edit buttons"> + <div class="text right edit buttons"> <div class="ui basic blue cancel button" tabindex="3">{{.i18n.Tr "repo.issues.cancel"}}</div> <div class="ui green save button" tabindex="2">{{.i18n.Tr "repo.issues.save"}}</div> - </div> + </div> </div> </div> <div class="hide" id="no-content"> <span class="no-content">{{.i18n.Tr "repo.issues.no_content"}}</span> -</div>
\ No newline at end of file +</div> diff --git a/templates/repo/issue/view_title.tmpl b/templates/repo/issue/view_title.tmpl index ef6e4f8c1c..f8d93a0bc0 100644 --- a/templates/repo/issue/view_title.tmpl +++ b/templates/repo/issue/view_title.tmpl @@ -3,47 +3,47 @@ <h1 class="twelve wide column"> <span class="index">#{{.Issue.Index}}</span> <span id="issue-title">{{.Issue.Name}}</span> <div id="edit-title-input" class="ui input" style="display: none"> - <input value="{{.Issue.Name}}"> + <input value="{{.Issue.Name}}"> </div> </h1> {{if .IsIssueOwner}} - <div class="four wide column"> - <div class="edit-zone text right"> - <div id="edit-title" class="ui basic green not-in-edit button">{{.i18n.Tr "repo.issues.edit"}}</div> - <div id="cancel-edit-title" class="ui basic blue in-edit button" style="display: none">{{.i18n.Tr "repo.issues.cancel"}}</div> - <div id="save-edit-title" class="ui green in-edit button" style="display: none" data-update-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/title">{{.i18n.Tr "repo.issues.save"}}</div> + <div class="four wide column"> + <div class="edit-zone text right"> + <div id="edit-title" class="ui basic green not-in-edit button">{{.i18n.Tr "repo.issues.edit"}}</div> + <div id="cancel-edit-title" class="ui basic blue in-edit button" style="display: none">{{.i18n.Tr "repo.issues.cancel"}}</div> + <div id="save-edit-title" class="ui green in-edit button" style="display: none" data-update-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/title">{{.i18n.Tr "repo.issues.save"}}</div> + </div> </div> - </div> {{end}} </div> {{if .HasMerged}} - <div class="ui purple large label"><i class="octicon octicon-git-pull-request"></i> {{.i18n.Tr "repo.pulls.merged"}}</div> + <div class="ui purple large label"><i class="octicon octicon-git-pull-request"></i> {{.i18n.Tr "repo.pulls.merged"}}</div> {{else if .Issue.IsClosed}} - <div class="ui red large label"><i class="octicon octicon-issue-closed"></i> {{.i18n.Tr "repo.issues.closed_title"}}</div> + <div class="ui red large label"><i class="octicon octicon-issue-closed"></i> {{.i18n.Tr "repo.issues.closed_title"}}</div> {{else}} - <div class="ui green large label"><i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues.open_title"}}</div> + <div class="ui green large label"><i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues.open_title"}}</div> {{end}} {{if .Issue.IsPull}} {{if .Issue.HasMerged}} - {{ $mergedStr:= TimeSince .Issue.Merged $.Lang }} - <a {{if gt .Issue.Merger.Id 0}}href="{{.Issue.Merger.HomeLink}}"{{end}}>{{.Issue.Merger.Name}}</a> - <span class="pull-desc">{{$.i18n.Tr "repo.pulls.merged_title_desc" .NumCommits .HeadTarget .BaseTarget $mergedStr | Safe}}</span> + {{ $mergedStr:= TimeSince .Issue.Merged $.Lang }} + <a {{if gt .Issue.Merger.Id 0}}href="{{.Issue.Merger.HomeLink}}"{{end}}>{{.Issue.Merger.Name}}</a> + <span class="pull-desc">{{$.i18n.Tr "repo.pulls.merged_title_desc" .NumCommits .HeadTarget .BaseTarget $mergedStr | Safe}}</span> {{else}} - <a {{if gt .Issue.Poster.Id 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}>{{.Issue.Poster.Name}}</a> - <span class="pull-desc">{{$.i18n.Tr "repo.pulls.title_desc" .NumCommits .HeadTarget .BaseTarget | Str2html}}</span> + <a {{if gt .Issue.Poster.Id 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}>{{.Issue.Poster.Name}}</a> + <span class="pull-desc">{{$.i18n.Tr "repo.pulls.title_desc" .NumCommits .HeadTarget .BaseTarget | Str2html}}</span> {{end}} {{else}} - {{ $createdStr:= TimeSince .Issue.Created $.Lang }} - <span class="time-desc"> - {{if gt .Issue.Poster.Id 0}} - {{$.i18n.Tr "repo.issues.opened_by" $createdStr .Issue.Poster.HomeLink .Issue.Poster.Name | Safe}} - {{else}} - {{$.i18n.Tr "repo.issues.opened_by_fake" $createdStr .Issue.Poster.Name | Safe}} - {{end}} - · - {{$.i18n.Tr "repo.issues.num_comments" .Issue.NumComments}} - </span> + {{ $createdStr:= TimeSince .Issue.Created $.Lang }} + <span class="time-desc"> + {{if gt .Issue.Poster.Id 0}} + {{$.i18n.Tr "repo.issues.opened_by" $createdStr .Issue.Poster.HomeLink .Issue.Poster.Name | Safe}} + {{else}} + {{$.i18n.Tr "repo.issues.opened_by_fake" $createdStr .Issue.Poster.Name | Safe}} + {{end}} + · + {{$.i18n.Tr "repo.issues.num_comments" .Issue.NumComments}} + </span> {{end}} <div class="ui divider"></div> -</div>
\ No newline at end of file +</div> diff --git a/templates/repo/migrate.tmpl b/templates/repo/migrate.tmpl index 222b275006..7973d585f4 100644 --- a/templates/repo/migrate.tmpl +++ b/templates/repo/migrate.tmpl @@ -3,99 +3,99 @@ <div class="ui middle very relaxed page grid"> <div class="column"> <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} + {{.CsrfTokenHtml}} <h3 class="ui top attached header"> - {{.i18n.Tr "new_migrate"}} + {{.i18n.Tr "new_migrate"}} </h3> <div class="ui attached segment"> {{template "base/alert" .}} <div class="inline required field {{if .Err_CloneAddr}}error{{end}}"> <label for="clone_addr">{{.i18n.Tr "repo.migrate.clone_address"}}</label> <input id="clone_addr" name="clone_addr" value="{{.clone_addr}}" autofocus required> - <span class="help">{{.i18n.Tr "repo.migrate.clone_address_desc"}}</span> + <span class="help">{{.i18n.Tr "repo.migrate.clone_address_desc"}}</span> + </div> + <div class="ui accordion optional field"> + <div class="title {{if .Err_Auth}}text red active{{end}}"> + <i class="icon dropdown"></i> + {{.i18n.Tr "repo.need_auth"}} + </div> + <div class="content {{if .Err_Auth}}active{{end}}"> + <div class="inline field {{if .Err_Auth}}error{{end}}"> + <label for="auth_username">{{.i18n.Tr "username"}}</label> + <input id="auth_username" name="auth_username" value="{{.auth_username}}" {{if not .auth_username}}data-need-clear="true"{{end}}> + </div> + <input class="fake" type="password"> + <div class="inline field {{if .Err_Auth}}error{{end}}"> + <label for="auth_password">{{.i18n.Tr "password"}}</label> + <input id="auth_password" name="auth_password" type="password" value="{{.auth_password}}"> + </div> + </div> </div> - <div class="ui accordion optional field"> - <div class="title {{if .Err_Auth}}text red active{{end}}"> - <i class="icon dropdown"></i> - {{.i18n.Tr "repo.need_auth"}} - </div> - <div class="content {{if .Err_Auth}}active{{end}}"> - <div class="inline field {{if .Err_Auth}}error{{end}}"> - <label for="auth_username">{{.i18n.Tr "username"}}</label> - <input id="auth_username" name="auth_username" value="{{.auth_username}}" {{if not .auth_username}}data-need-clear="true"{{end}}> - </div> - <input class="fake" type="password"> - <div class="inline field {{if .Err_Auth}}error{{end}}"> - <label for="auth_password">{{.i18n.Tr "password"}}</label> - <input id="auth_password" name="auth_password" type="password" value="{{.auth_password}}"> - </div> - </div> - </div> <div class="ui divider"></div> - <div class="inline required field {{if .Err_Owner}}error{{end}}"> - <label>{{.i18n.Tr "repo.owner"}}</label> - <div class="ui selection owner dropdown"> - <input type="hidden" id="uid" name="uid" value="{{.ContextUser.Id}}" required> - <span class="text"> - <img class="ui mini image" src="{{.ContextUser.AvatarLink}}"> - {{.ContextUser.ShortName 20}} - </span> - <i class="dropdown icon"></i> - <div class="menu"> - <div class="item" data-value="{{.SignedUser.Id}}"> - <img class="ui mini image" src="{{.SignedUser.AvatarLink}}"> - {{.SignedUser.ShortName 20}} - </div> - {{range .Orgs}} - <div class="item" data-value="{{.Id}}"> - <img class="ui mini image" src="{{.AvatarLink}}"> - {{.ShortName 20}} - </div> - {{end}} - </div> - </div> - </div> + <div class="inline required field {{if .Err_Owner}}error{{end}}"> + <label>{{.i18n.Tr "repo.owner"}}</label> + <div class="ui selection owner dropdown"> + <input type="hidden" id="uid" name="uid" value="{{.ContextUser.Id}}" required> + <span class="text"> + <img class="ui mini image" src="{{.ContextUser.AvatarLink}}"> + {{.ContextUser.ShortName 20}} + </span> + <i class="dropdown icon"></i> + <div class="menu"> + <div class="item" data-value="{{.SignedUser.Id}}"> + <img class="ui mini image" src="{{.SignedUser.AvatarLink}}"> + {{.SignedUser.ShortName 20}} + </div> + {{range .Orgs}} + <div class="item" data-value="{{.Id}}"> + <img class="ui mini image" src="{{.AvatarLink}}"> + {{.ShortName 20}} + </div> + {{end}} + </div> + </div> + </div> - <div class="inline required field {{if .Err_RepoName}}error{{end}}"> - <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label> - <input id="repo_name" name="repo_name" value="{{.repo_name}}" required> - </div> - <div class="inline field"> - <label>{{.i18n.Tr "repo.visibility"}}</label> - <div class="ui checkbox"> - {{if .IsForcedPrivate}} - <input name="private" type="checkbox" checked readonly> - <label>{{.i18n.Tr "repo.visiblity_helper_forced" | Safe}}</label> - {{else}} - <input name="private" type="checkbox" {{if .private}}checked{{end}}> - <label>{{.i18n.Tr "repo.visiblity_helper" | Safe}}</label> - {{end}} - </div> - </div> - <div class="inline field"> - <label>{{.i18n.Tr "repo.migrate_type"}}</label> - <div class="ui checkbox"> - <input name="mirror" type="checkbox" {{if .mirror}}checked{{end}}> - <label>{{.i18n.Tr "repo.migrate_type_helper" | Safe}}</label> - </div> - </div> - <div class="inline field {{if .Err_Description}}error{{end}}"> - <label for="description">{{.i18n.Tr "repo.repo_desc"}}</label> - <textarea id="description" name="description">{{.description}}</textarea> - </div> + <div class="inline required field {{if .Err_RepoName}}error{{end}}"> + <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label> + <input id="repo_name" name="repo_name" value="{{.repo_name}}" required> + </div> + <div class="inline field"> + <label>{{.i18n.Tr "repo.visibility"}}</label> + <div class="ui checkbox"> + {{if .IsForcedPrivate}} + <input name="private" type="checkbox" checked readonly> + <label>{{.i18n.Tr "repo.visiblity_helper_forced" | Safe}}</label> + {{else}} + <input name="private" type="checkbox" {{if .private}}checked{{end}}> + <label>{{.i18n.Tr "repo.visiblity_helper" | Safe}}</label> + {{end}} + </div> + </div> + <div class="inline field"> + <label>{{.i18n.Tr "repo.migrate_type"}}</label> + <div class="ui checkbox"> + <input name="mirror" type="checkbox" {{if .mirror}}checked{{end}}> + <label>{{.i18n.Tr "repo.migrate_type_helper" | Safe}}</label> + </div> + </div> + <div class="inline field {{if .Err_Description}}error{{end}}"> + <label for="description">{{.i18n.Tr "repo.repo_desc"}}</label> + <textarea id="description" name="description">{{.description}}</textarea> + </div> - <div class="inline field"> - <label></label> - <button class="ui green button"> - {{.i18n.Tr "repo.migrate_repo"}} - </button> - <a class="ui button" href="{{AppSubUrl}}/">{{.i18n.Tr "cancel"}}</a> - </div> - </div> + <div class="inline field"> + <label></label> + <button class="ui green button"> + {{.i18n.Tr "repo.migrate_repo"}} + </button> + <a class="ui button" href="{{AppSubUrl}}/">{{.i18n.Tr "cancel"}}</a> + </div> + </div> </form> </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/pulls/commits.tmpl b/templates/repo/pulls/commits.tmpl index 851880383e..5095009a9e 100644 --- a/templates/repo/pulls/commits.tmpl +++ b/templates/repo/pulls/commits.tmpl @@ -11,9 +11,9 @@ <div class="ui divider"></div> {{template "repo/issue/view_title" .}} {{template "repo/pulls/tab_menu" .}} - <div class="ui bottom attached tab pull segment active"> + <div class="ui bottom attached tab pull segment active"> {{template "repo/commits_table" .}} - </div> + </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/pulls/compare.tmpl b/templates/repo/pulls/compare.tmpl index c3851d8053..f1236c2ba6 100644 --- a/templates/repo/pulls/compare.tmpl +++ b/templates/repo/pulls/compare.tmpl @@ -4,63 +4,63 @@ <div class="ui container"> <div class="sixteen wide column page grid"> <h2 class="ui header"> - {{.i18n.Tr "repo.pulls.compare_changes"}} - <div class="sub header">{{.i18n.Tr "repo.pulls.compare_changes_desc"}}</div> + {{.i18n.Tr "repo.pulls.compare_changes"}} + <div class="sub header">{{.i18n.Tr "repo.pulls.compare_changes_desc"}}</div> </h2> <div class="ui segment choose branch"> <span class="octicon octicon-git-compare"></span> <div class="ui floating filter dropdown" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}"> <div class="ui basic small button"> - <span class="text">{{.i18n.Tr "repo.pulls.compare_base"}}: {{$.BaseBranch}}</span> - <i class="dropdown icon"></i> + <span class="text">{{.i18n.Tr "repo.pulls.compare_base"}}: {{$.BaseBranch}}</span> + <i class="dropdown icon"></i> </div> - <div class="menu"> - <div class="ui icon search input"> - <i class="filter icon"></i> - <input name="search" placeholder="{{.i18n.Tr "repo.pulls.filter_branch"}}..."> - </div> - <div class="scrolling menu"> - {{range .Branches}} - <div class="item {{if eq $.BaseBranch .}}selected{{end}}" data-url="{{$.RepoLink}}/compare/{{.}}...{{$.SignedUser.Name}}:{{$.HeadBranch}}">{{.}}</div> - {{end}} - </div> + <div class="menu"> + <div class="ui icon search input"> + <i class="filter icon"></i> + <input name="search" placeholder="{{.i18n.Tr "repo.pulls.filter_branch"}}..."> + </div> + <div class="scrolling menu"> + {{range .Branches}} + <div class="item {{if eq $.BaseBranch .}}selected{{end}}" data-url="{{$.RepoLink}}/compare/{{.}}...{{$.SignedUser.Name}}:{{$.HeadBranch}}">{{.}}</div> + {{end}} + </div> </div> - </div> - ... + </div> + ... <div class="ui floating filter dropdown"> <div class="ui basic small button"> - <span class="text">{{.i18n.Tr "repo.pulls.compare_compare"}}: {{$.HeadBranch}}</span> - <i class="dropdown icon"></i> + <span class="text">{{.i18n.Tr "repo.pulls.compare_compare"}}: {{$.HeadBranch}}</span> + <i class="dropdown icon"></i> </div> - <div class="menu"> - <div class="ui icon search input"> - <i class="filter icon"></i> - <input name="search" placeholder="{{.i18n.Tr "repo.pulls.filter_branch"}}..."> - </div> - <div class="scrolling menu"> - {{range .HeadBranches}} - <div class="{{if eq $.HeadBranch .}}selected{{end}} item" data-url="{{$.RepoLink}}/compare/{{$.BaseBranch}}...{{$.SignedUser.Name}}:{{.}}">{{.}}</div> - {{end}} - </div> + <div class="menu"> + <div class="ui icon search input"> + <i class="filter icon"></i> + <input name="search" placeholder="{{.i18n.Tr "repo.pulls.filter_branch"}}..."> + </div> + <div class="scrolling menu"> + {{range .HeadBranches}} + <div class="{{if eq $.HeadBranch .}}selected{{end}} item" data-url="{{$.RepoLink}}/compare/{{$.BaseBranch}}...{{$.SignedUser.Name}}:{{.}}">{{.}}</div> + {{end}} + </div> </div> - </div> + </div> </div> {{if .IsNothingToCompare}} - <div class="ui segment"> - {{.i18n.Tr "repo.pulls.nothing_to_compare"}} - </div> + <div class="ui segment"> + {{.i18n.Tr "repo.pulls.nothing_to_compare"}} + </div> {{else if .HasPullRequest}} - <div class="ui segment"> - {{.i18n.Tr "repo.pulls.has_pull_request" $.RepoLink $.RepoRelPath .PullRequest.Index | Safe}} - </div> + <div class="ui segment"> + {{.i18n.Tr "repo.pulls.has_pull_request" $.RepoLink $.RepoRelPath .PullRequest.Index | Safe}} + </div> {{else}} - {{template "repo/issue/new_form" .}} - {{template "repo/commits_table" .}} - {{template "repo/diff_box" .}} - {{end}} + {{template "repo/issue/new_form" .}} + {{template "repo/commits_table" .}} + {{template "repo/diff_box" .}} + {{end}} </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/pulls/files.tmpl b/templates/repo/pulls/files.tmpl index 1226944b41..9070112e53 100644 --- a/templates/repo/pulls/files.tmpl +++ b/templates/repo/pulls/files.tmpl @@ -11,9 +11,9 @@ <div class="ui divider"></div> {{template "repo/issue/view_title" .}} {{template "repo/pulls/tab_menu" .}} - <div class="ui bottom attached tab pull segment active"> + <div class="ui bottom attached tab pull segment active"> {{template "repo/diff_box" .}} - </div> + </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/pulls/fork.tmpl b/templates/repo/pulls/fork.tmpl index b2f857dac6..e02ee180f6 100644 --- a/templates/repo/pulls/fork.tmpl +++ b/templates/repo/pulls/fork.tmpl @@ -3,69 +3,69 @@ <div class="ui middle very relaxed page grid"> <div class="column"> <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} + {{.CsrfTokenHtml}} <h3 class="ui top attached header"> - {{.i18n.Tr "new_fork"}} + {{.i18n.Tr "new_fork"}} </h3> <div class="ui attached segment"> {{template "base/alert" .}} - <div class="inline required field {{if .Err_Owner}}error{{end}}"> - <label>{{.i18n.Tr "repo.owner"}}</label> - <div class="ui selection owner dropdown"> - <input type="hidden" id="uid" name="uid" value="{{.ContextUser.Id}}" required> - <span class="text"> - <img class="ui mini image" src="{{.ContextUser.AvatarLink}}"> - {{.ContextUser.ShortName 20}} - </span> - <i class="dropdown icon"></i> - <div class="menu"> - <div class="item" data-value="{{.SignedUser.Id}}"> - <img class="ui mini image" src="{{.SignedUser.AvatarLink}}"> - {{.SignedUser.ShortName 20}} - </div> - {{range .Orgs}} - {{if .IsOwnedBy $.SignedUser.Id}} - <div class="item" data-value="{{.Id}}"> - <img class="ui mini image" src="{{.AvatarLink}}"> - {{.ShortName 20}} - </div> - {{end}} - {{end}} - </div> - </div> - </div> + <div class="inline required field {{if .Err_Owner}}error{{end}}"> + <label>{{.i18n.Tr "repo.owner"}}</label> + <div class="ui selection owner dropdown"> + <input type="hidden" id="uid" name="uid" value="{{.ContextUser.Id}}" required> + <span class="text"> + <img class="ui mini image" src="{{.ContextUser.AvatarLink}}"> + {{.ContextUser.ShortName 20}} + </span> + <i class="dropdown icon"></i> + <div class="menu"> + <div class="item" data-value="{{.SignedUser.Id}}"> + <img class="ui mini image" src="{{.SignedUser.AvatarLink}}"> + {{.SignedUser.ShortName 20}} + </div> + {{range .Orgs}} + {{if .IsOwnedBy $.SignedUser.Id}} + <div class="item" data-value="{{.Id}}"> + <img class="ui mini image" src="{{.AvatarLink}}"> + {{.ShortName 20}} + </div> + {{end}} + {{end}} + </div> + </div> + </div> - <div class="inline field"> - <label>{{.i18n.Tr "repo.fork_from"}}</label> + <div class="inline field"> + <label>{{.i18n.Tr "repo.fork_from"}}</label> <a href="{{AppSubUrl}}/{{.ForkFrom}}">{{.ForkFrom}}</a> - </div> - <div class="inline required field {{if .Err_RepoName}}error{{end}}"> - <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label> - <input id="repo_name" name="repo_name" value="{{.repo_name}}" required> - </div> - <div class="inline field"> - <label>{{.i18n.Tr "repo.visibility"}}</label> - <div class="ui read-only checkbox"> - <input type="checkbox" {{if .IsPrivate}}checked{{end}}> - <label>{{.i18n.Tr "repo.visiblity_helper" | Safe}}</label> - </div> - <span class="help">{{.i18n.Tr "repo.fork_visiblity_helper"}}</span> - </div> - <div class="inline field {{if .Err_Description}}error{{end}}"> - <label for="description">{{.i18n.Tr "repo.repo_desc"}}</label> - <textarea id="description" name="description">{{.description}}</textarea> - </div> + </div> + <div class="inline required field {{if .Err_RepoName}}error{{end}}"> + <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label> + <input id="repo_name" name="repo_name" value="{{.repo_name}}" required> + </div> + <div class="inline field"> + <label>{{.i18n.Tr "repo.visibility"}}</label> + <div class="ui read-only checkbox"> + <input type="checkbox" {{if .IsPrivate}}checked{{end}}> + <label>{{.i18n.Tr "repo.visiblity_helper" | Safe}}</label> + </div> + <span class="help">{{.i18n.Tr "repo.fork_visiblity_helper"}}</span> + </div> + <div class="inline field {{if .Err_Description}}error{{end}}"> + <label for="description">{{.i18n.Tr "repo.repo_desc"}}</label> + <textarea id="description" name="description">{{.description}}</textarea> + </div> - <div class="inline field"> - <label></label> - <button class="ui green button"> - {{.i18n.Tr "repo.fork_repo"}} - </button> - <a class="ui button" href="{{AppSubUrl}}/{{.ForkFrom}}">{{.i18n.Tr "cancel"}}</a> - </div> - </div> + <div class="inline field"> + <label></label> + <button class="ui green button"> + {{.i18n.Tr "repo.fork_repo"}} + </button> + <a class="ui button" href="{{AppSubUrl}}/{{.ForkFrom}}">{{.i18n.Tr "cancel"}}</a> + </div> + </div> </form> </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/pulls/tab_menu.tmpl b/templates/repo/pulls/tab_menu.tmpl index 0023cd29e4..d6a9920bff 100644 --- a/templates/repo/pulls/tab_menu.tmpl +++ b/templates/repo/pulls/tab_menu.tmpl @@ -1,17 +1,17 @@ <div class="ui top attached pull tabular menu"> - <a class="item {{if .PageIsPullConversation}}active{{end}}" href="{{.RepoLink}}/pulls/{{.Issue.Index}}"> - <span class="octicon octicon-comment-discussion"></span> - {{$.i18n.Tr "repo.pulls.tab_conversation"}} - <span class="ui label">{{.Issue.NumComments}}</span> - </a> - <a class="item {{if .PageIsPullCommits}}active{{end}}" {{if .NumCommits}}href="{{.RepoLink}}/pulls/{{.Issue.Index}}/commits"{{end}}> - <span class="octicon octicon-git-commit"></span> - {{$.i18n.Tr "repo.pulls.tab_commits"}} - <span class="ui label">{{if .NumCommits}}{{.NumCommits}}{{else}}N/A{{end}}</span> - </a> - <a class="item {{if .PageIsPullFiles}}active{{end}}" {{if .NumFiles}}href="{{.RepoLink}}/pulls/{{.Issue.Index}}/files"{{end}}> - <span class="octicon octicon-diff"></span> - {{$.i18n.Tr "repo.pulls.tab_files"}} - <span class="ui label">{{if .NumFiles}}{{.NumFiles}}{{else}}N/A{{end}}</span> - </a> -</div>
\ No newline at end of file + <a class="item {{if .PageIsPullConversation}}active{{end}}" href="{{.RepoLink}}/pulls/{{.Issue.Index}}"> + <span class="octicon octicon-comment-discussion"></span> + {{$.i18n.Tr "repo.pulls.tab_conversation"}} + <span class="ui label">{{.Issue.NumComments}}</span> + </a> + <a class="item {{if .PageIsPullCommits}}active{{end}}" {{if .NumCommits}}href="{{.RepoLink}}/pulls/{{.Issue.Index}}/commits"{{end}}> + <span class="octicon octicon-git-commit"></span> + {{$.i18n.Tr "repo.pulls.tab_commits"}} + <span class="ui label">{{if .NumCommits}}{{.NumCommits}}{{else}}N/A{{end}}</span> + </a> + <a class="item {{if .PageIsPullFiles}}active{{end}}" {{if .NumFiles}}href="{{.RepoLink}}/pulls/{{.Issue.Index}}/files"{{end}}> + <span class="octicon octicon-diff"></span> + {{$.i18n.Tr "repo.pulls.tab_files"}} + <span class="ui label">{{if .NumFiles}}{{.NumFiles}}{{else}}N/A{{end}}</span> + </a> +</div> diff --git a/templates/repo/release/list.tmpl b/templates/repo/release/list.tmpl index 5970bda3d2..295ca0b3bd 100644 --- a/templates/repo/release/list.tmpl +++ b/templates/repo/release/list.tmpl @@ -1,80 +1,80 @@ {{template "base/head" .}} <div class="repository release"> - {{template "repo/header" .}} - <div class="ui container"> - {{template "base/alert" .}} - <h2 class="ui header"> - {{.i18n.Tr "repo.release.releases"}} - {{if .IsRepositoryAdmin}} - <div class="ui right"> - <a class="ui small green button" href="{{$.RepoLink}}/releases/new"> - {{.i18n.Tr "repo.release.new_release"}} - </a> - </div> - {{end}} - </h2> - <ul id="release-list"> - {{range .Releases}} - <li class="ui grid"> - <div class="ui four wide column meta"> - {{if .PublisherID}} - {{if .IsDraft}} - <span class="ui yellow label">{{$.i18n.Tr "repo.release.draft"}}</span> - {{else if .IsPrerelease}} - <span class="ui orange label">{{$.i18n.Tr "repo.release.prerelease"}}</span> - {{else}} - <span class="ui green label">{{$.i18n.Tr "repo.release.stable"}}</span> - {{end}} - <span class="tag text blue"> - <a href="{{$.RepoLink}}/src/{{.TagName}}" rel="nofollow"><i class="tag icon"></i> {{.TagName}}</a> - </span> - {{end}} - <span class="commit"> - <a href="{{$.RepoLink}}/src/{{.Sha1}}" rel="nofollow"><i class="code icon"></i> {{ShortSha .Sha1}}</a> - </span> - </div> - <div class="ui twelve wide column detail"> - {{if .PublisherID}} - <h3> - <a href="{{$.RepoLink}}/src/{{.TagName}}">{{.Title}}</a> - {{if $.IsRepositoryAdmin}}<small>(<a href="{{$.RepoLink}}/releases/edit/{{.TagName}}" rel="nofollow">{{$.i18n.Tr "repo.release.edit"}}</a>)</small>{{end}} - </h3> - <p class="text grey"> - <span class="author"> - <img class="img-10" src="{{.Publisher.AvatarLink}}"> - <a href="{{AppSubUrl}}/{{.Publisher.Name}}">{{.Publisher.Name}}</a> - </span> - {{if .Created}}<span class="time">{{TimeSince .Created $.Lang}}</span>{{end}} - <span class="ahead">{{$.i18n.Tr "repo.release.ahead" .NumCommitsBehind .Target | Str2html}}</span> - </p> - <div class="markdown desc"> - {{Str2html .Note}} - </div> - <div class="download"> - <h2>{{$.i18n.Tr "repo.release.downloads"}}</h2> - <ul class="list"> - <li> - <a href="{{$.RepoLink}}/archive/{{.TagName}}.zip" rel="nofollow"><i class="icon octicon octicon-file-zip"></i> {{$.i18n.Tr "repo.release.source_code"}} (ZIP)</a> - </li> - <li> - <a href="{{$.RepoLink}}/archive/{{.TagName}}.tar.gz"><i class="icon octicon octicon-file-zip"></i> {{$.i18n.Tr "repo.release.source_code"}} (TAR.GZ)</a> - </li> - </ul> - </div> - {{else}} - <h4> - <a href="{{$.RepoLink}}/src/{{.TagName}}" rel="nofollow"><i class="tag icon"></i> {{.TagName}}</a> - </h4> - <div class="download"> - <a href="{{$.RepoLink}}/archive/{{.TagName}}.zip" rel="nofollow"><i class="octicon octicon-file-zip"></i> ZIP</a> - <a href="{{$.RepoLink}}/archive/{{.TagName}}.tar.gz"><i class="octicon octicon-file-zip"></i> TAR.GZ</a> - </div> - {{end}} - <span class="dot"> </span> - </div> - </li> - {{end}} - </ul> - </div> + {{template "repo/header" .}} + <div class="ui container"> + {{template "base/alert" .}} + <h2 class="ui header"> + {{.i18n.Tr "repo.release.releases"}} + {{if .IsRepositoryAdmin}} + <div class="ui right"> + <a class="ui small green button" href="{{$.RepoLink}}/releases/new"> + {{.i18n.Tr "repo.release.new_release"}} + </a> + </div> + {{end}} + </h2> + <ul id="release-list"> + {{range .Releases}} + <li class="ui grid"> + <div class="ui four wide column meta"> + {{if .PublisherID}} + {{if .IsDraft}} + <span class="ui yellow label">{{$.i18n.Tr "repo.release.draft"}}</span> + {{else if .IsPrerelease}} + <span class="ui orange label">{{$.i18n.Tr "repo.release.prerelease"}}</span> + {{else}} + <span class="ui green label">{{$.i18n.Tr "repo.release.stable"}}</span> + {{end}} + <span class="tag text blue"> + <a href="{{$.RepoLink}}/src/{{.TagName}}" rel="nofollow"><i class="tag icon"></i> {{.TagName}}</a> + </span> + {{end}} + <span class="commit"> + <a href="{{$.RepoLink}}/src/{{.Sha1}}" rel="nofollow"><i class="code icon"></i> {{ShortSha .Sha1}}</a> + </span> + </div> + <div class="ui twelve wide column detail"> + {{if .PublisherID}} + <h3> + <a href="{{$.RepoLink}}/src/{{.TagName}}">{{.Title}}</a> + {{if $.IsRepositoryAdmin}}<small>(<a href="{{$.RepoLink}}/releases/edit/{{.TagName}}" rel="nofollow">{{$.i18n.Tr "repo.release.edit"}}</a>)</small>{{end}} + </h3> + <p class="text grey"> + <span class="author"> + <img class="img-10" src="{{.Publisher.AvatarLink}}"> + <a href="{{AppSubUrl}}/{{.Publisher.Name}}">{{.Publisher.Name}}</a> + </span> + {{if .Created}}<span class="time">{{TimeSince .Created $.Lang}}</span>{{end}} + <span class="ahead">{{$.i18n.Tr "repo.release.ahead" .NumCommitsBehind .Target | Str2html}}</span> + </p> + <div class="markdown desc"> + {{Str2html .Note}} + </div> + <div class="download"> + <h2>{{$.i18n.Tr "repo.release.downloads"}}</h2> + <ul class="list"> + <li> + <a href="{{$.RepoLink}}/archive/{{.TagName}}.zip" rel="nofollow"><i class="icon octicon octicon-file-zip"></i> {{$.i18n.Tr "repo.release.source_code"}} (ZIP)</a> + </li> + <li> + <a href="{{$.RepoLink}}/archive/{{.TagName}}.tar.gz"><i class="icon octicon octicon-file-zip"></i> {{$.i18n.Tr "repo.release.source_code"}} (TAR.GZ)</a> + </li> + </ul> + </div> + {{else}} + <h4> + <a href="{{$.RepoLink}}/src/{{.TagName}}" rel="nofollow"><i class="tag icon"></i> {{.TagName}}</a> + </h4> + <div class="download"> + <a href="{{$.RepoLink}}/archive/{{.TagName}}.zip" rel="nofollow"><i class="octicon octicon-file-zip"></i> ZIP</a> + <a href="{{$.RepoLink}}/archive/{{.TagName}}.tar.gz"><i class="octicon octicon-file-zip"></i> TAR.GZ</a> + </div> + {{end}} + <span class="dot"> </span> + </div> + </li> + {{end}} + </ul> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/release/new.tmpl b/templates/repo/release/new.tmpl index 7129cf6b56..e334ee749e 100644 --- a/templates/repo/release/new.tmpl +++ b/templates/repo/release/new.tmpl @@ -1,98 +1,98 @@ {{template "base/head" .}} <div class="repository new release"> - {{template "repo/header" .}} - <div class="ui container"> - <h2 class="ui dividing header"> - {{if .PageIsEditRelease}} - {{.i18n.Tr "repo.release.edit_release"}} - <div class="sub header">{{.i18n.Tr "repo.release.edit_subheader"}}</div> - {{else}} - {{.i18n.Tr "repo.release.new_release"}} - <div class="sub header">{{.i18n.Tr "repo.release.new_subheader"}}</div> - {{end}} - </h2> - {{template "base/alert" .}} - <form class="ui form grid" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <div class="ui seven wide column target"> - <div class="inline field {{if .Err_TagName}}error{{end}}"> - {{if .PageIsEditRelease}} - <b>{{.tag_name}}</b><span class="at">@</span><strong>{{.tag_target}}</strong> - {{else}} - <input name="tag_name" value="{{.tag_name}}" placeholder="{{.i18n.Tr "repo.release.tag_name"}}" autofocus required> - <span class="at">@</span> - <div class="ui selection dropdown"> - <input type="hidden" name="tag_target" value="{{.tag_target}}"/> - <i class="octicon octicon-git-branch"></i> - <div class="text"> - {{.i18n.Tr "repo.release.target"}} : - <strong id="repo-branch-current">{{.Repository.DefaultBranch}}</strong> - </div> - <i class="dropdown icon"></i> - <div class="menu"> - {{range .Branches}} - <div class="item" data-value="{{.}}">{{.}}</div> - {{end}} - </div> - </div> - <span class="help">{{.i18n.Tr "repo.release.tag_helper"}}</span> - {{end}} - </div> - </div> - <div class="eleven wide column"> - <div class="field {{if .Err_Title}}error{{end}}"> - <label>{{.i18n.Tr "repo.release.title"}}</label> - <input name="title" placeholder="{{.i18n.Tr "repo.release.title"}}" value="{{.title}}" autofocus required> - </div> - <div class="field"> - <label>{{.i18n.Tr "repo.release.content"}}</label> - <textarea name="content">{{.content}}</textarea> - </div> - </div> - <div class="ui container"> - <div class="ui divider"></div> - <div class="ui text right"> - <div class="prerelease field"> - <div class="ui checkbox"> - <input type="checkbox" name="prerelease" {{if .prerelease}}checked{{end}}> - <label><strong>{{.i18n.Tr "repo.release.prerelease_desc"}}</strong></label> - </div> - </div> - <span class="help">{{.i18n.Tr "repo.release.prerelease_helper"}}</span> - <div class="field"> - {{if .PageIsEditRelease}} - <a class="ui blue basic button" href="{{.RepoLink}}/releases"> - {{.i18n.Tr "repo.release.cancel"}} - </a> - <button class="ui green button"> - {{.i18n.Tr "repo.release.edit_release"}} - </button> - <a class="ui red button delete-button" data-url="{{$.RepoLink}}/releases/delete" data-id="{{.ID}}"> - {{$.i18n.Tr "repo.release.delete_release"}} - </a> - {{else}} - <button class="ui green button"> - {{.i18n.Tr "repo.release.publish"}} - </button> - <input class="ui grey button" type="submit" name="draft" value="{{.i18n.Tr "repo.release.save_draft"}}"/> - {{end}} - </div> - </div> - </div> - </form> - </div> + {{template "repo/header" .}} + <div class="ui container"> + <h2 class="ui dividing header"> + {{if .PageIsEditRelease}} + {{.i18n.Tr "repo.release.edit_release"}} + <div class="sub header">{{.i18n.Tr "repo.release.edit_subheader"}}</div> + {{else}} + {{.i18n.Tr "repo.release.new_release"}} + <div class="sub header">{{.i18n.Tr "repo.release.new_subheader"}}</div> + {{end}} + </h2> + {{template "base/alert" .}} + <form class="ui form grid" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <div class="ui seven wide column target"> + <div class="inline field {{if .Err_TagName}}error{{end}}"> + {{if .PageIsEditRelease}} + <b>{{.tag_name}}</b><span class="at">@</span><strong>{{.tag_target}}</strong> + {{else}} + <input name="tag_name" value="{{.tag_name}}" placeholder="{{.i18n.Tr "repo.release.tag_name"}}" autofocus required> + <span class="at">@</span> + <div class="ui selection dropdown"> + <input type="hidden" name="tag_target" value="{{.tag_target}}"/> + <i class="octicon octicon-git-branch"></i> + <div class="text"> + {{.i18n.Tr "repo.release.target"}} : + <strong id="repo-branch-current">{{.Repository.DefaultBranch}}</strong> + </div> + <i class="dropdown icon"></i> + <div class="menu"> + {{range .Branches}} + <div class="item" data-value="{{.}}">{{.}}</div> + {{end}} + </div> + </div> + <span class="help">{{.i18n.Tr "repo.release.tag_helper"}}</span> + {{end}} + </div> + </div> + <div class="eleven wide column"> + <div class="field {{if .Err_Title}}error{{end}}"> + <label>{{.i18n.Tr "repo.release.title"}}</label> + <input name="title" placeholder="{{.i18n.Tr "repo.release.title"}}" value="{{.title}}" autofocus required> + </div> + <div class="field"> + <label>{{.i18n.Tr "repo.release.content"}}</label> + <textarea name="content">{{.content}}</textarea> + </div> + </div> + <div class="ui container"> + <div class="ui divider"></div> + <div class="ui text right"> + <div class="prerelease field"> + <div class="ui checkbox"> + <input type="checkbox" name="prerelease" {{if .prerelease}}checked{{end}}> + <label><strong>{{.i18n.Tr "repo.release.prerelease_desc"}}</strong></label> + </div> + </div> + <span class="help">{{.i18n.Tr "repo.release.prerelease_helper"}}</span> + <div class="field"> + {{if .PageIsEditRelease}} + <a class="ui blue basic button" href="{{.RepoLink}}/releases"> + {{.i18n.Tr "repo.release.cancel"}} + </a> + <button class="ui green button"> + {{.i18n.Tr "repo.release.edit_release"}} + </button> + <a class="ui red button delete-button" data-url="{{$.RepoLink}}/releases/delete" data-id="{{.ID}}"> + {{$.i18n.Tr "repo.release.delete_release"}} + </a> + {{else}} + <button class="ui green button"> + {{.i18n.Tr "repo.release.publish"}} + </button> + <input class="ui grey button" type="submit" name="draft" value="{{.i18n.Tr "repo.release.save_draft"}}"/> + {{end}} + </div> + </div> + </div> + </form> + </div> </div> {{if .PageIsEditRelease}} -<div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "repo.release.deletion"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "repo.release.deletion_desc"}}</p> - </div> - {{template "base/delete_modal_actions" .}} -</div> + <div class="ui small basic delete modal"> + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "repo.release.deletion"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "repo.release.deletion_desc"}}</p> + </div> + {{template "base/delete_modal_actions" .}} + </div> {{end}} -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/settings/collaboration.tmpl b/templates/repo/settings/collaboration.tmpl index 651c453cd5..57b76fd8bf 100644 --- a/templates/repo/settings/collaboration.tmpl +++ b/templates/repo/settings/collaboration.tmpl @@ -7,37 +7,37 @@ <div class="twelve wide column content"> {{template "base/alert" .}} <h4 class="ui top attached header"> - {{.i18n.Tr "repo.settings.collaboration"}} + {{.i18n.Tr "repo.settings.collaboration"}} </h4> <div class="ui attached segment collaborator list"> - {{range .Collaborators}} - <div class="item"> - {{if not (eq .Id $.Owner.Id)}} - <a href="{{$.RepoLink}}/settings/collaboration?remove={{.Name}}" class="ui right text red"><i class="fa fa-times"></i></a> - {{end}} - <a href="{{AppSubUrl}}/{{.Name}}"> - <img class="ui avatar image" src="{{.AvatarLink}}"> - {{.DisplayName}} - </a> - </div> - {{end}} - </div> - <div class="ui bottom attached segment"> - <form class="ui form" id="repo-collab-form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <div class="inline field ui left"> - <div id="search-user-box"> - <div class="ui input"> - <input class="prompt" name="collaborator" placeholder="{{.i18n.Tr "repo.settings.search_user_placeholder"}}" autocomplete="off" required> - </div> - <div class="ui segment results hide"></div> - </div> - </div> - <button class="ui green button">{{.i18n.Tr "repo.settings.add_collaborator"}}</button> - </form> - </div> - </div> - </div> + {{range .Collaborators}} + <div class="item"> + {{if not (eq .Id $.Owner.Id)}} + <a href="{{$.RepoLink}}/settings/collaboration?remove={{.Name}}" class="ui right text red"><i class="fa fa-times"></i></a> + {{end}} + <a href="{{AppSubUrl}}/{{.Name}}"> + <img class="ui avatar image" src="{{.AvatarLink}}"> + {{.DisplayName}} + </a> + </div> + {{end}} + </div> + <div class="ui bottom attached segment"> + <form class="ui form" id="repo-collab-form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <div class="inline field ui left"> + <div id="search-user-box"> + <div class="ui input"> + <input class="prompt" name="collaborator" placeholder="{{.i18n.Tr "repo.settings.search_user_placeholder"}}" autocomplete="off" required> + </div> + <div class="ui segment results hide"></div> + </div> + </div> + <button class="ui green button">{{.i18n.Tr "repo.settings.add_collaborator"}}</button> + </form> + </div> + </div> + </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/settings/deploy_keys.tmpl b/templates/repo/settings/deploy_keys.tmpl index 5406d0433d..1f6b26a6da 100644 --- a/templates/repo/settings/deploy_keys.tmpl +++ b/templates/repo/settings/deploy_keys.tmpl @@ -7,41 +7,41 @@ <div class="twelve wide column content"> {{template "base/alert" .}} <h4 class="ui top attached header"> - {{.i18n.Tr "repo.settings.deploy_keys"}} - <div class="ui right"> - <div class="ui blue tiny show-panel button" data-panel="#add-deploy-key-panel">{{.i18n.Tr "repo.settings.add_deploy_key"}}</div> - </div> + {{.i18n.Tr "repo.settings.deploy_keys"}} + <div class="ui right"> + <div class="ui blue tiny show-panel button" data-panel="#add-deploy-key-panel">{{.i18n.Tr "repo.settings.add_deploy_key"}}</div> + </div> </h4> <div class="ui attached segment"> {{if .Deploykeys}} - <div class="ui key list"> - {{range .Deploykeys}} - <div class="item ui grid"> - <div class="one wide column"> - <i class="ssh-key-state-indicator fa fa-circle{{if .HasRecentActivity}} active invert poping up{{else}}-o{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted"{{end}}></i> - </div> - <div class="one wide column"> - <i class="mega-octicon octicon-key left"></i> - </div> - <div class="eleven wide column"> - <strong>{{.Name}}</strong> - <div class="print meta"> - {{.Fingerprint}} + <div class="ui key list"> + {{range .Deploykeys}} + <div class="item ui grid"> + <div class="one wide column"> + <i class="ssh-key-state-indicator fa fa-circle{{if .HasRecentActivity}} active invert poping up{{else}}-o{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted"{{end}}></i> + </div> + <div class="one wide column"> + <i class="mega-octicon octicon-key left"></i> + </div> + <div class="eleven wide column"> + <strong>{{.Name}}</strong> + <div class="print meta"> + {{.Fingerprint}} + </div> + <div class="activity meta"> + <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i> + </div> + </div> + <div class="two wide column"> + <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}"> + {{$.i18n.Tr "settings.delete_key"}} + </button> + </div> </div> - <div class="activity meta"> - <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i> - </div> - </div> - <div class="two wide column"> - <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}"> - {{$.i18n.Tr "settings.delete_key"}} - </button> - </div> + {{end}} </div> - {{end}} - </div> {{else}} - {{.i18n.Tr "repo.settings.no_deploy_keys"}} + {{.i18n.Tr "repo.settings.no_deploy_keys"}} {{end}} </div> <br> @@ -75,22 +75,22 @@ </div> <div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "repo.settings.deploy_key_deletion"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "repo.settings.deploy_key_deletion_desc"}}</p> - </div> - <div class="actions"> - <div class="ui red basic inverted cancel button"> - <i class="remove icon"></i> - {{.i18n.Tr "modal.no"}} - </div> - <div class="ui green basic inverted ok button"> - <i class="checkmark icon"></i> - {{.i18n.Tr "modal.yes"}} - </div> - </div> + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "repo.settings.deploy_key_deletion"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "repo.settings.deploy_key_deletion_desc"}}</p> + </div> + <div class="actions"> + <div class="ui red basic inverted cancel button"> + <i class="remove icon"></i> + {{.i18n.Tr "modal.no"}} + </div> + <div class="ui green basic inverted ok button"> + <i class="checkmark icon"></i> + {{.i18n.Tr "modal.yes"}} + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/settings/githook_edit.tmpl b/templates/repo/settings/githook_edit.tmpl index b9b75a3aa6..22c278fe4f 100644 --- a/templates/repo/settings/githook_edit.tmpl +++ b/templates/repo/settings/githook_edit.tmpl @@ -7,30 +7,30 @@ <div class="twelve wide column content"> {{template "base/alert" .}} <h4 class="ui top attached header"> - {{.i18n.Tr "repo.settings.githooks"}} + {{.i18n.Tr "repo.settings.githooks"}} </h4> <div class="ui attached segment"> <p>{{.i18n.Tr "repo.settings.githook_edit_desc"}}</p> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - {{with .Hook}} - <div class="inline field"> - <label>{{$.i18n.Tr "repo.settings.githook_name"}}</label> - <span>{{.Name}}</span> - </div> - <div class="field"> - <label for="content">{{$.i18n.Tr "repo.settings.githook_content"}}</label> - <textarea id="content" name="content" rows="20" wrap="off">{{if .IsActive}}{{.Content}}{{else}}{{.Sample}}{{end}}</textarea> - </div> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + {{with .Hook}} + <div class="inline field"> + <label>{{$.i18n.Tr "repo.settings.githook_name"}}</label> + <span>{{.Name}}</span> + </div> + <div class="field"> + <label for="content">{{$.i18n.Tr "repo.settings.githook_content"}}</label> + <textarea id="content" name="content" rows="20" wrap="off">{{if .IsActive}}{{.Content}}{{else}}{{.Sample}}{{end}}</textarea> + </div> - <div class="inline field"> - <button class="ui green button">{{$.i18n.Tr "repo.settings.update_githook"}}</button> - </div> - {{end}} - </form> + <div class="inline field"> + <button class="ui green button">{{$.i18n.Tr "repo.settings.update_githook"}}</button> + </div> + {{end}} + </form> </div> - </div> - </div> + </div> + </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/settings/githooks.tmpl b/templates/repo/settings/githooks.tmpl index 8120b80e17..8d8923b475 100644 --- a/templates/repo/settings/githooks.tmpl +++ b/templates/repo/settings/githooks.tmpl @@ -7,24 +7,24 @@ <div class="twelve wide column content"> {{template "base/alert" .}} <h4 class="ui top attached header"> - {{.i18n.Tr "repo.settings.githooks"}} + {{.i18n.Tr "repo.settings.githooks"}} </h4> <div class="ui attached table segment"> - <div class="ui hook list"> - <div class="item"> - {{.i18n.Tr "repo.settings.githooks_desc" | Str2html}} - </div> - {{range .Hooks}} + <div class="ui hook list"> <div class="item"> - <span class="text {{if .IsActive}}green{{else}}grey{{end}}"><i class="octicon octicon-primitive-dot"></i></span> - <span>{{.Name}}</span> - <a class="text blue ui right" href="{{$.RepoLink}}/settings/hooks/git/{{.Name}}"><i class="fa fa-pencil"></i></a> + {{.i18n.Tr "repo.settings.githooks_desc" | Str2html}} </div> - {{end}} - </div> - </div> - </div> - </div> + {{range .Hooks}} + <div class="item"> + <span class="text {{if .IsActive}}green{{else}}grey{{end}}"><i class="octicon octicon-primitive-dot"></i></span> + <span>{{.Name}}</span> + <a class="text blue ui right" href="{{$.RepoLink}}/settings/hooks/git/{{.Name}}"><i class="fa fa-pencil"></i></a> + </div> + {{end}} + </div> + </div> + </div> + </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/settings/hook_delete_modal.tmpl b/templates/repo/settings/hook_delete_modal.tmpl index bafd1ce93c..2a2a7c8da2 100644 --- a/templates/repo/settings/hook_delete_modal.tmpl +++ b/templates/repo/settings/hook_delete_modal.tmpl @@ -1,19 +1,19 @@ <div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "repo.settings.webhook_deletion"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "repo.settings.webhook_deletion_desc"}}</p> - </div> - <div class="actions"> - <div class="ui red basic inverted cancel button"> - <i class="remove icon"></i> - {{.i18n.Tr "modal.no"}} - </div> - <div class="ui green basic inverted ok button"> - <i class="checkmark icon"></i> - {{.i18n.Tr "modal.yes"}} - </div> - </div> -</div>
\ No newline at end of file + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "repo.settings.webhook_deletion"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "repo.settings.webhook_deletion_desc"}}</p> + </div> + <div class="actions"> + <div class="ui red basic inverted cancel button"> + <i class="remove icon"></i> + {{.i18n.Tr "modal.no"}} + </div> + <div class="ui green basic inverted ok button"> + <i class="checkmark icon"></i> + {{.i18n.Tr "modal.yes"}} + </div> + </div> +</div> diff --git a/templates/repo/settings/hook_gogs.tmpl b/templates/repo/settings/hook_gogs.tmpl index b0b3311a55..633577d8a9 100644 --- a/templates/repo/settings/hook_gogs.tmpl +++ b/templates/repo/settings/hook_gogs.tmpl @@ -1,28 +1,28 @@ {{if eq .HookType "gogs"}} -<p>{{.i18n.Tr "repo.settings.add_webhook_desc" "http://gogs.io/docs/features/webhook.html" | Str2html}}</p> -<form class="ui form" action="{{.BaseLink}}/settings/hooks/gogs/{{if .PageIsSettingsHooksNew}}new{{else}}{{.Webhook.ID}}{{end}}" method="post"> - {{.CsrfTokenHtml}} - <div class="required field {{if .Err_PayloadURL}}error{{end}}"> - <label for="payload_url">{{.i18n.Tr "repo.settings.payload_url"}}</label> - <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> - </div> - <div class="field"> - <label>{{.i18n.Tr "repo.settings.content_type"}}</label> - <div class="ui selection dropdown"> - <input type="hidden" id="content_type" name="content_type" value="{{if .Webhook.ContentType}}{{.Webhook.ContentType}}{{else}}application/json{{end}}"> - <div class="default text"></div> - <i class="dropdown icon"></i> - <div class="menu"> - <div class="item" data-value="1">application/json</div> - <div class="item" data-value="2">application/x-www-form-urlencoded</div> - </div> - </div> - </div> - <input class="fake" type="password"> - <div class="field {{if .Err_Secret}}error{{end}}"> - <label for="secret">{{.i18n.Tr "repo.settings.secret"}}</label> - <input id="secret" name="secret" type="password" value="{{.Webhook.Secret}}" autocomplete="off"> - </div> - {{template "repo/settings/hook_settings" .}} -</form> + <p>{{.i18n.Tr "repo.settings.add_webhook_desc" "http://gogs.io/docs/features/webhook.html" | Str2html}}</p> + <form class="ui form" action="{{.BaseLink}}/settings/hooks/gogs/{{if .PageIsSettingsHooksNew}}new{{else}}{{.Webhook.ID}}{{end}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_PayloadURL}}error{{end}}"> + <label for="payload_url">{{.i18n.Tr "repo.settings.payload_url"}}</label> + <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> + </div> + <div class="field"> + <label>{{.i18n.Tr "repo.settings.content_type"}}</label> + <div class="ui selection dropdown"> + <input type="hidden" id="content_type" name="content_type" value="{{if .Webhook.ContentType}}{{.Webhook.ContentType}}{{else}}application/json{{end}}"> + <div class="default text"></div> + <i class="dropdown icon"></i> + <div class="menu"> + <div class="item" data-value="1">application/json</div> + <div class="item" data-value="2">application/x-www-form-urlencoded</div> + </div> + </div> + </div> + <input class="fake" type="password"> + <div class="field {{if .Err_Secret}}error{{end}}"> + <label for="secret">{{.i18n.Tr "repo.settings.secret"}}</label> + <input id="secret" name="secret" type="password" value="{{.Webhook.Secret}}" autocomplete="off"> + </div> + {{template "repo/settings/hook_settings" .}} + </form> {{end}} diff --git a/templates/repo/settings/hook_history.tmpl b/templates/repo/settings/hook_history.tmpl index 15957a6790..9ded6a7905 100644 --- a/templates/repo/settings/hook_history.tmpl +++ b/templates/repo/settings/hook_history.tmpl @@ -1,73 +1,73 @@ {{if .PageIsSettingsHooksEdit}} -<h4 class="ui top attached header"> - {{.i18n.Tr "repo.settings.recent_deliveries"}} - {{if .IsRepositoryAdmin}} - <div class="ui right"> - <button class="ui teal tiny button poping up" id="test-delivery" data-content= - "{{.i18n.Tr "repo.settings.webhook.test_delivery_desc"}}" data-variation="inverted tiny" data-link="{{.Link}}/test" data-redirect="{{.Link}}">{{.i18n.Tr "repo.settings.webhook.test_delivery"}}</button> - </div> - {{end}} -</h4> -<div class="ui attached table segment"> - <div class="ui hook history list"> - {{range .History}} - <div class="item"> - <div class="meta"> - {{if .IsSucceed}} - <span class="text green"><i class="octicon octicon-check"></i></span> - {{else}} - <span class="text red"><i class="octicon octicon-alert"></i></span> - {{end}} - <a class="ui blue sha label toggle button" data-target="#info-{{.ID}}">{{.UUID}}</a> - <div class="ui right"> - <span class="text grey time"> - {{.DeliveredString}} - </span> - </div> + <h4 class="ui top attached header"> + {{.i18n.Tr "repo.settings.recent_deliveries"}} + {{if .IsRepositoryAdmin}} + <div class="ui right"> + <button class="ui teal tiny button poping up" id="test-delivery" data-content= + "{{.i18n.Tr "repo.settings.webhook.test_delivery_desc"}}" data-variation="inverted tiny" data-link="{{.Link}}/test" data-redirect="{{.Link}}">{{.i18n.Tr "repo.settings.webhook.test_delivery"}}</button> </div> - <div class="info hide" id="info-{{.ID}}"> - <div class="ui top attached tabular menu"> - <a class="item active" data-tab="request-{{.ID}}">{{$.i18n.Tr "repo.settings.webhook.request"}}</a> - <a class="item" data-tab="response-{{.ID}}"> - {{$.i18n.Tr "repo.settings.webhook.response"}} - {{if .ResponseInfo}} - {{if .IsSucceed}} - <span class="ui green label">{{.ResponseInfo.Status}}</span> - {{else}} - <span class="ui red label">{{.ResponseInfo.Status}}</span> - {{end}} - {{else}} - <span class="ui label">N/A</span> - {{end}} - </a> - </div> - <div class="ui bottom attached tab segment active" data-tab="request-{{.ID}}"> - {{if .RequestInfo}} - <h5>{{$.i18n.Tr "repo.settings.webhook.headers"}}</h5> - <pre class="raw"><strong>Request URL:</strong> {{.URL}} + {{end}} + </h4> + <div class="ui attached table segment"> + <div class="ui hook history list"> + {{range .History}} + <div class="item"> + <div class="meta"> + {{if .IsSucceed}} + <span class="text green"><i class="octicon octicon-check"></i></span> + {{else}} + <span class="text red"><i class="octicon octicon-alert"></i></span> + {{end}} + <a class="ui blue sha label toggle button" data-target="#info-{{.ID}}">{{.UUID}}</a> + <div class="ui right"> + <span class="text grey time"> + {{.DeliveredString}} + </span> + </div> + </div> + <div class="info hide" id="info-{{.ID}}"> + <div class="ui top attached tabular menu"> + <a class="item active" data-tab="request-{{.ID}}">{{$.i18n.Tr "repo.settings.webhook.request"}}</a> + <a class="item" data-tab="response-{{.ID}}"> + {{$.i18n.Tr "repo.settings.webhook.response"}} + {{if .ResponseInfo}} + {{if .IsSucceed}} + <span class="ui green label">{{.ResponseInfo.Status}}</span> + {{else}} + <span class="ui red label">{{.ResponseInfo.Status}}</span> + {{end}} + {{else}} + <span class="ui label">N/A</span> + {{end}} + </a> + </div> + <div class="ui bottom attached tab segment active" data-tab="request-{{.ID}}"> + {{if .RequestInfo}} + <h5>{{$.i18n.Tr "repo.settings.webhook.headers"}}</h5> + <pre class="raw"><strong>Request URL:</strong> {{.URL}} <strong>Request method:</strong> POST {{ range $key, $val := .RequestInfo.Headers }}<strong>{{$key}}:</strong> {{$val}} {{end}}</pre> - <h5>{{$.i18n.Tr "repo.settings.webhook.payload"}}</h5> - <pre class="raw"><code class="json">{{.PayloadContent}}</code></pre> - {{else}} - N/A - {{end}} - </div> - <div class="ui bottom attached tab segment" data-tab="response-{{.ID}}"> - {{if .ResponseInfo}} - <h5>{{$.i18n.Tr "repo.settings.webhook.headers"}}</h5> - <pre class="raw">{{ range $key, $val := .ResponseInfo.Headers }}<strong>{{$key}}:</strong> {{$val}} + <h5>{{$.i18n.Tr "repo.settings.webhook.payload"}}</h5> + <pre class="raw"><code class="json">{{.PayloadContent}}</code></pre> + {{else}} + N/A + {{end}} + </div> + <div class="ui bottom attached tab segment" data-tab="response-{{.ID}}"> + {{if .ResponseInfo}} + <h5>{{$.i18n.Tr "repo.settings.webhook.headers"}}</h5> + <pre class="raw">{{ range $key, $val := .ResponseInfo.Headers }}<strong>{{$key}}:</strong> {{$val}} {{end}}</pre> - <h5>{{$.i18n.Tr "repo.settings.webhook.body"}}</h5> - <pre class="raw"><code>{{.ResponseInfo.Body}}</code></pre> - {{else}} - N/A - {{end}} + <h5>{{$.i18n.Tr "repo.settings.webhook.body"}}</h5> + <pre class="raw"><code>{{.ResponseInfo.Body}}</code></pre> + {{else}} + N/A + {{end}} + </div> + </div> </div> - </div> + {{end}} </div> - {{end}} </div> -</div> -{{end}}
\ No newline at end of file +{{end}} diff --git a/templates/repo/settings/hook_list.tmpl b/templates/repo/settings/hook_list.tmpl index b5c086bb84..471d9f9bf1 100644 --- a/templates/repo/settings/hook_list.tmpl +++ b/templates/repo/settings/hook_list.tmpl @@ -1,44 +1,44 @@ <div class="twelve wide column content"> {{template "base/alert" .}} <h4 class="ui top attached header"> - {{.i18n.Tr "repo.settings.hooks"}} - <div class="ui right"> - <div class="ui floating1 jump dropdown"> - <div class="ui blue tiny button">{{.i18n.Tr "repo.settings.add_webhook"}}</div> - <div class="menu"> - <a class="item" href="{{.BaseLink}}/settings/hooks/gogs/new"> - <img class="img-10" src="{{AppSubUrl}}/img/favicon.png">Gogs - </a> - <a class="item" href="{{.BaseLink}}/settings/hooks/slack/new"> - <img class="img-10" src="{{AppSubUrl}}/img/slack.png">Slack - </a> - </div> - </div> - </div> + {{.i18n.Tr "repo.settings.hooks"}} + <div class="ui right"> + <div class="ui floating1 jump dropdown"> + <div class="ui blue tiny button">{{.i18n.Tr "repo.settings.add_webhook"}}</div> + <div class="menu"> + <a class="item" href="{{.BaseLink}}/settings/hooks/gogs/new"> + <img class="img-10" src="{{AppSubUrl}}/img/favicon.png">Gogs + </a> + <a class="item" href="{{.BaseLink}}/settings/hooks/slack/new"> + <img class="img-10" src="{{AppSubUrl}}/img/slack.png">Slack + </a> + </div> + </div> + </div> </h4> <div class="ui attached table segment"> - <div class="ui hook list"> - <div class="item"> - {{.Description | Str2html}} - </div> - {{range .Webhooks}} + <div class="ui hook list"> <div class="item"> - {{if eq .LastStatus 1}} - <span class="text green"><i class="octicon octicon-check"></i></span> - {{else if eq .LastStatus 2}} - <span class="text red"><i class="octicon octicon-alert"></i></span> - {{else}} - <span class="text grey"><i class="octicon octicon-primitive-dot"></i></span> - {{end}} - <a href="{{$.BaseLink}}/settings/hooks/{{.ID}}">{{.URL}}</a> - <div class="ui right"> - <span class="text blue"><a href="{{$.BaseLink}}/settings/hooks/{{.ID}}"><i class="fa fa-pencil"></i></a></span> - <span class="text red"><a class="delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}"><i class="fa fa-times"></i></a></span> - </div> + {{.Description | Str2html}} </div> - {{end}} - </div> - </div> + {{range .Webhooks}} + <div class="item"> + {{if eq .LastStatus 1}} + <span class="text green"><i class="octicon octicon-check"></i></span> + {{else if eq .LastStatus 2}} + <span class="text red"><i class="octicon octicon-alert"></i></span> + {{else}} + <span class="text grey"><i class="octicon octicon-primitive-dot"></i></span> + {{end}} + <a href="{{$.BaseLink}}/settings/hooks/{{.ID}}">{{.URL}}</a> + <div class="ui right"> + <span class="text blue"><a href="{{$.BaseLink}}/settings/hooks/{{.ID}}"><i class="fa fa-pencil"></i></a></span> + <span class="text red"><a class="delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}"><i class="fa fa-times"></i></a></span> + </div> + </div> + {{end}} + </div> + </div> </div> -{{template "repo/settings/hook_delete_modal" .}}
\ No newline at end of file +{{template "repo/settings/hook_delete_modal" .}} diff --git a/templates/repo/settings/hook_new.tmpl b/templates/repo/settings/hook_new.tmpl index 7c9a5de1f0..96123525bb 100644 --- a/templates/repo/settings/hook_new.tmpl +++ b/templates/repo/settings/hook_new.tmpl @@ -7,22 +7,22 @@ <div class="twelve wide column content"> {{template "base/alert" .}} <h4 class="ui top attached header"> - {{if .PageIsSettingsHooksNew}}{{.i18n.Tr "repo.settings.add_webhook"}}{{else}}{{.i18n.Tr "repo.settings.update_webhook"}}{{end}} - <div class="ui right"> - {{if eq .HookType "gogs"}} - <img class="img-13" src="{{AppSubUrl}}/img/favicon.png"> - {{else if eq .HookType "slack"}} - <img class="img-13" src="{{AppSubUrl}}/img/slack.png"> - {{end}} - </div> + {{if .PageIsSettingsHooksNew}}{{.i18n.Tr "repo.settings.add_webhook"}}{{else}}{{.i18n.Tr "repo.settings.update_webhook"}}{{end}} + <div class="ui right"> + {{if eq .HookType "gogs"}} + <img class="img-13" src="{{AppSubUrl}}/img/favicon.png"> + {{else if eq .HookType "slack"}} + <img class="img-13" src="{{AppSubUrl}}/img/slack.png"> + {{end}} + </div> </h4> <div class="ui attached segment"> - {{template "repo/settings/hook_gogs" .}} - {{template "repo/settings/hook_slack" .}} - </div> + {{template "repo/settings/hook_gogs" .}} + {{template "repo/settings/hook_slack" .}} + </div> {{template "repo/settings/hook_history" .}} - </div> + </div> </div> </div> </div> diff --git a/templates/repo/settings/hook_settings.tmpl b/templates/repo/settings/hook_settings.tmpl index 18a480e016..76d3ac2935 100644 --- a/templates/repo/settings/hook_settings.tmpl +++ b/templates/repo/settings/hook_settings.tmpl @@ -1,66 +1,66 @@ <div class="field"> - <h4>{{.i18n.Tr "repo.settings.event_desc"}}</h4> + <h4>{{.i18n.Tr "repo.settings.event_desc"}}</h4> <div class="grouped event type fields"> - <div class="field"> - <div class="ui radio non-events checkbox"> - <input class="hidden" name="events" type="radio" value="push_only" {{if or .PageIsSettingsHooksNew .Webhook.PushOnly}}checked{{end}}> - <label>{{.i18n.Tr "repo.settings.event_push_only" | Str2html}}</label> - </div> - </div> - <div class="field"> - <div class="ui radio non-events checkbox"> - <input class="hidden" name="events" type="radio" value="send_everything" {{if .Webhook.SendEverything}}checked{{end}}> - <label>{{.i18n.Tr "repo.settings.event_send_everything" | Str2html}}</label> - </div> - </div> - <div class="field"> - <div class="ui radio events checkbox"> - <input class="hidden" name="events" type="radio" value="choose_events" {{if .Webhook.ChooseEvents}}checked{{end}}> - <label>{{.i18n.Tr "repo.settings.event_choose" | Str2html}}</label> - </div> - </div> + <div class="field"> + <div class="ui radio non-events checkbox"> + <input class="hidden" name="events" type="radio" value="push_only" {{if or .PageIsSettingsHooksNew .Webhook.PushOnly}}checked{{end}}> + <label>{{.i18n.Tr "repo.settings.event_push_only" | Str2html}}</label> + </div> + </div> + <div class="field"> + <div class="ui radio non-events checkbox"> + <input class="hidden" name="events" type="radio" value="send_everything" {{if .Webhook.SendEverything}}checked{{end}}> + <label>{{.i18n.Tr "repo.settings.event_send_everything" | Str2html}}</label> + </div> + </div> + <div class="field"> + <div class="ui radio events checkbox"> + <input class="hidden" name="events" type="radio" value="choose_events" {{if .Webhook.ChooseEvents}}checked{{end}}> + <label>{{.i18n.Tr "repo.settings.event_choose" | Str2html}}</label> + </div> + </div> </div> - <div class="events fields ui grid" {{if not .Webhook.ChooseEvents}}style="display:none"{{end}}> - <!-- Create --> - <div class="seven wide column"> - <div class="field"> - <div class="ui checkbox"> - <input class="hidden" name="create" type="checkbox" tabindex="0" {{if .Webhook.Create}}checked{{end}}> - <label>{{.i18n.Tr "repo.settings.event_create"}}</label> - <span class="help">{{.i18n.Tr "repo.settings.event_create_desc"}}</span> - </div> - </div> - </div> - <!-- Push --> - <div class="seven wide column"> - <div class="field"> - <div class="ui checkbox"> - <input class="hidden" name="push" type="checkbox" tabindex="0" {{if .Webhook.Push}}checked{{end}}> - <label>{{.i18n.Tr "repo.settings.event_push"}}</label> - <span class="help">{{.i18n.Tr "repo.settings.event_push_desc"}}</span> - </div> - </div> - </div> - </div> + <div class="events fields ui grid" {{if not .Webhook.ChooseEvents}}style="display:none"{{end}}> + <!-- Create --> + <div class="seven wide column"> + <div class="field"> + <div class="ui checkbox"> + <input class="hidden" name="create" type="checkbox" tabindex="0" {{if .Webhook.Create}}checked{{end}}> + <label>{{.i18n.Tr "repo.settings.event_create"}}</label> + <span class="help">{{.i18n.Tr "repo.settings.event_create_desc"}}</span> + </div> + </div> + </div> + <!-- Push --> + <div class="seven wide column"> + <div class="field"> + <div class="ui checkbox"> + <input class="hidden" name="push" type="checkbox" tabindex="0" {{if .Webhook.Push}}checked{{end}}> + <label>{{.i18n.Tr "repo.settings.event_push"}}</label> + <span class="help">{{.i18n.Tr "repo.settings.event_push_desc"}}</span> + </div> + </div> + </div> + </div> </div> <div class="ui divider"></div> <div class="inline field"> - <div class="ui checkbox"> - <input class="hidden" name="active" type="checkbox" tabindex="0" {{if or .PageIsSettingsHooksNew .Webhook.IsActive}}checked{{end}}> - <label>{{.i18n.Tr "repo.settings.active"}}</label> - <span class="help">{{.i18n.Tr "repo.settings.active_helper"}}</span> - </div> + <div class="ui checkbox"> + <input class="hidden" name="active" type="checkbox" tabindex="0" {{if or .PageIsSettingsHooksNew .Webhook.IsActive}}checked{{end}}> + <label>{{.i18n.Tr "repo.settings.active"}}</label> + <span class="help">{{.i18n.Tr "repo.settings.active_helper"}}</span> + </div> </div> <div class="field"> {{if .PageIsSettingsHooksNew}} - <button class="ui green button">{{.i18n.Tr "repo.settings.add_webhook"}}</button> - {{else}} - <button class="ui green button">{{.i18n.Tr "repo.settings.update_webhook"}}</button> - <a class="ui red delete-button button" data-url="{{.BaseLink}}/settings/hooks/delete" data-id="{{.Webhook.ID}}">{{.i18n.Tr "repo.settings.delete_webhook"}}</a> - {{end}} + <button class="ui green button">{{.i18n.Tr "repo.settings.add_webhook"}}</button> + {{else}} + <button class="ui green button">{{.i18n.Tr "repo.settings.update_webhook"}}</button> + <a class="ui red delete-button button" data-url="{{.BaseLink}}/settings/hooks/delete" data-id="{{.Webhook.ID}}">{{.i18n.Tr "repo.settings.delete_webhook"}}</a> + {{end}} </div> {{template "repo/settings/hook_delete_modal" .}} diff --git a/templates/repo/settings/hook_slack.tmpl b/templates/repo/settings/hook_slack.tmpl index b0ebce9280..9333ae0c37 100644 --- a/templates/repo/settings/hook_slack.tmpl +++ b/templates/repo/settings/hook_slack.tmpl @@ -1,28 +1,28 @@ {{if eq .HookType "slack"}} -<p>{{.i18n.Tr "repo.settings.add_slack_hook_desc" "http://slack.com" | Str2html}}</p> -<form class="ui form" action="{{.BaseLink}}/settings/hooks/slack/{{if .PageIsSettingsHooksNew}}new{{else}}{{.Webhook.ID}}{{end}}" method="post"> - {{.CsrfTokenHtml}} - <div class="required field {{if .Err_PayloadURL}}error{{end}}"> - <label for="payload_url">{{.i18n.Tr "repo.settings.payload_url"}}</label> - <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> - </div> - <div class="required field {{if .Err_Channel}}error{{end}}"> - <label for="channel">{{.i18n.Tr "repo.settings.slack_channel"}}</label> - <input id="channel" name="channel" value="{{.SlackHook.Channel}}" placeholder="e.g. #general" required> - </div> + <p>{{.i18n.Tr "repo.settings.add_slack_hook_desc" "http://slack.com" | Str2html}}</p> + <form class="ui form" action="{{.BaseLink}}/settings/hooks/slack/{{if .PageIsSettingsHooksNew}}new{{else}}{{.Webhook.ID}}{{end}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_PayloadURL}}error{{end}}"> + <label for="payload_url">{{.i18n.Tr "repo.settings.payload_url"}}</label> + <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> + </div> + <div class="required field {{if .Err_Channel}}error{{end}}"> + <label for="channel">{{.i18n.Tr "repo.settings.slack_channel"}}</label> + <input id="channel" name="channel" value="{{.SlackHook.Channel}}" placeholder="e.g. #general" required> + </div> - <div class="field"> - <label for="username">{{.i18n.Tr "repo.settings.slack_username"}}</label> - <input id="username" name="username" value="{{.SlackHook.Username}}" placeholder="e.g. Gogs"> - </div> - <div class="field"> - <label for="icon_url">{{.i18n.Tr "repo.settings.slack_icon_url"}}</label> - <input id="icon_url" name="icon_url" value="{{.SlackHook.IconURL}}" placeholder="e.g. https://example.com/img/favicon.png"> - </div> - <div class="field"> - <label for="color">{{.i18n.Tr "repo.settings.slack_color"}}</label> - <input id="color" name="color" value="{{.SlackHook.Color}}" placeholder="e.g. #dd4b39, good, warning, danger"> - </div> - {{template "repo/settings/hook_settings" .}} -</form> + <div class="field"> + <label for="username">{{.i18n.Tr "repo.settings.slack_username"}}</label> + <input id="username" name="username" value="{{.SlackHook.Username}}" placeholder="e.g. Gogs"> + </div> + <div class="field"> + <label for="icon_url">{{.i18n.Tr "repo.settings.slack_icon_url"}}</label> + <input id="icon_url" name="icon_url" value="{{.SlackHook.IconURL}}" placeholder="e.g. https://example.com/img/favicon.png"> + </div> + <div class="field"> + <label for="color">{{.i18n.Tr "repo.settings.slack_color"}}</label> + <input id="color" name="color" value="{{.SlackHook.Color}}" placeholder="e.g. #dd4b39, good, warning, danger"> + </div> + {{template "repo/settings/hook_settings" .}} + </form> {{end}} diff --git a/templates/repo/settings/hooks.tmpl b/templates/repo/settings/hooks.tmpl index e3f6f4ddae..a405b44698 100644 --- a/templates/repo/settings/hooks.tmpl +++ b/templates/repo/settings/hooks.tmpl @@ -5,7 +5,7 @@ <div class="ui grid"> {{template "repo/settings/navbar" .}} {{template "repo/settings/hook_list" .}} - </div> + </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/settings/nav.tmpl b/templates/repo/settings/nav.tmpl index 06bad9689d..97df429f2c 100644 --- a/templates/repo/settings/nav.tmpl +++ b/templates/repo/settings/nav.tmpl @@ -1,14 +1,14 @@ <div id="setting-menu" class="grid-1-5 panel panel-radius left"> - <p class="panel-header"><strong>{{.i18n.Tr "repo.settings"}}</strong></p> - <div class="panel-body"> - <ul class="menu menu-vertical switching-list grid-1-5 left"> - <li {{if .PageIsSettingsOptions}}class="current"{{end}}><a href="{{.RepoLink}}/settings">{{.i18n.Tr "repo.settings.options"}}</a></li> - <li {{if .PageIsSettingsCollaboration}}class="current"{{end}}><a href="{{.RepoLink}}/settings/collaboration">{{.i18n.Tr "repo.settings.collaboration"}}</a></li> - <li {{if .PageIsSettingsHooks}}class="current"{{end}}><a href="{{.RepoLink}}/settings/hooks">{{.i18n.Tr "repo.settings.hooks"}}</a></li> - {{if or .SignedUser.AllowGitHook .SignedUser.IsAdmin}} - <li {{if .PageIsSettingsGitHooks}}class="current"{{end}}><a href="{{.RepoLink}}/settings/hooks/git">{{.i18n.Tr "repo.settings.githooks"}}</a></li> - {{end}} - <li {{if .PageIsSettingsKeys}}class="current"{{end}}><a href="{{.RepoLink}}/settings/keys">{{.i18n.Tr "repo.settings.deploy_keys"}}</a></li> - </ul> - </div> -</div>
\ No newline at end of file + <p class="panel-header"><strong>{{.i18n.Tr "repo.settings"}}</strong></p> + <div class="panel-body"> + <ul class="menu menu-vertical switching-list grid-1-5 left"> + <li {{if .PageIsSettingsOptions}}class="current"{{end}}><a href="{{.RepoLink}}/settings">{{.i18n.Tr "repo.settings.options"}}</a></li> + <li {{if .PageIsSettingsCollaboration}}class="current"{{end}}><a href="{{.RepoLink}}/settings/collaboration">{{.i18n.Tr "repo.settings.collaboration"}}</a></li> + <li {{if .PageIsSettingsHooks}}class="current"{{end}}><a href="{{.RepoLink}}/settings/hooks">{{.i18n.Tr "repo.settings.hooks"}}</a></li> + {{if or .SignedUser.AllowGitHook .SignedUser.IsAdmin}} + <li {{if .PageIsSettingsGitHooks}}class="current"{{end}}><a href="{{.RepoLink}}/settings/hooks/git">{{.i18n.Tr "repo.settings.githooks"}}</a></li> + {{end}} + <li {{if .PageIsSettingsKeys}}class="current"{{end}}><a href="{{.RepoLink}}/settings/keys">{{.i18n.Tr "repo.settings.deploy_keys"}}</a></li> + </ul> + </div> +</div> diff --git a/templates/repo/settings/navbar.tmpl b/templates/repo/settings/navbar.tmpl index 512ee3002d..7ebf2886c9 100644 --- a/templates/repo/settings/navbar.tmpl +++ b/templates/repo/settings/navbar.tmpl @@ -1,22 +1,22 @@ <div class="four wide column"> <div class="ui vertical menu"> <div class="header item">{{.i18n.Tr "repo.settings"}}</div> - <a class="{{if .PageIsSettingsOptions}}active{{end}} item" href="{{.RepoLink}}/settings"> - {{.i18n.Tr "repo.settings.options"}} - </a> - <a class="{{if .PageIsSettingsCollaboration}}active{{end}} item" href="{{.RepoLink}}/settings/collaboration"> - {{.i18n.Tr "repo.settings.collaboration"}} - </a> - <a class="{{if .PageIsSettingsHooks}}active{{end}} item" href="{{.RepoLink}}/settings/hooks"> - {{.i18n.Tr "repo.settings.hooks"}} - </a> - {{if .SignedUser.CanEditGitHook}} - <a class="{{if .PageIsSettingsGitHooks}}active{{end}} item" href="{{.RepoLink}}/settings/hooks/git"> - {{.i18n.Tr "repo.settings.githooks"}} - </a> - {{end}} - <a class="{{if .PageIsSettingsKeys}}active{{end}} item" href="{{.RepoLink}}/settings/keys"> - {{.i18n.Tr "repo.settings.deploy_keys"}} - </a> + <a class="{{if .PageIsSettingsOptions}}active{{end}} item" href="{{.RepoLink}}/settings"> + {{.i18n.Tr "repo.settings.options"}} + </a> + <a class="{{if .PageIsSettingsCollaboration}}active{{end}} item" href="{{.RepoLink}}/settings/collaboration"> + {{.i18n.Tr "repo.settings.collaboration"}} + </a> + <a class="{{if .PageIsSettingsHooks}}active{{end}} item" href="{{.RepoLink}}/settings/hooks"> + {{.i18n.Tr "repo.settings.hooks"}} + </a> + {{if .SignedUser.CanEditGitHook}} + <a class="{{if .PageIsSettingsGitHooks}}active{{end}} item" href="{{.RepoLink}}/settings/hooks/git"> + {{.i18n.Tr "repo.settings.githooks"}} + </a> + {{end}} + <a class="{{if .PageIsSettingsKeys}}active{{end}} item" href="{{.RepoLink}}/settings/keys"> + {{.i18n.Tr "repo.settings.deploy_keys"}} + </a> </div> </div> diff --git a/templates/repo/settings/options.tmpl b/templates/repo/settings/options.tmpl index f3734557d9..767f164a03 100644 --- a/templates/repo/settings/options.tmpl +++ b/templates/repo/settings/options.tmpl @@ -7,121 +7,121 @@ <div class="twelve wide column content"> {{template "base/alert" .}} <h4 class="ui top attached header"> - {{.i18n.Tr "repo.settings.basic_settings"}} + {{.i18n.Tr "repo.settings.basic_settings"}} </h4> <div class="ui attached segment"> <form class="ui form" action="{{.Link}}" method="post"> {{.CsrfTokenHtml}} - <input type="hidden" name="action" value="update"> - <div class="required field {{if .Err_RepoName}}error{{end}}"> - <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}<span class="text red hide" id="repo-name-change-prompt"> {{.i18n.Tr "repo.settings.change_reponame_prompt"}}</span></label> - <input id="repo_name" name="repo_name" value="{{.Repository.Name}}" data-repo-name="{{.Repository.Name}}" autofocus required> - </div> - <div class="field {{if .Err_Description}}error{{end}}"> - <label for="description">{{$.i18n.Tr "repo.repo_desc"}}</label> - <textarea id="description" name="description" rows="2">{{.Repository.Description}}</textarea> - </div> - <div class="field {{if .Err_Website}}error{{end}}"> - <label for="website">{{.i18n.Tr "repo.settings.site"}}</label> - <input id="website" name="website" type="url" value="{{.Repository.Website}}"> - </div> - - {{if not .Repository.IsBare}} - <div class="required inline field"> - <label>{{.i18n.Tr "repo.default_branch"}}</label> - <div class="ui selection dropdown"> - <input type="hidden" id="branch" name="branch" value="{{.Repository.DefaultBranch}}"> - <div class="text">{{.Repository.DefaultBranch}}</div> - <i class="dropdown icon"></i> - <div class="menu"> - {{range .Branches}} - <div class="item" data-value="{{.}}">{{.}}</div> - {{end}} - </div> - </div> - </div> - {{end}} - {{if not .Repository.IsFork}} - <div class="inline field"> - <label>{{.i18n.Tr "repo.visibility"}}</label> - <div class="ui checkbox"> - <input name="private" type="checkbox" {{if .Repository.IsPrivate}}checked{{end}}> - <label>{{.i18n.Tr "repo.visiblity_helper" | Safe}} {{if .Repository.NumForks}}<span class="text red">{{.i18n.Tr "repo.visiblity_fork_helper"}}</span>{{end}}</label> - </div> - </div> - {{end}} - {{if .Repository.IsMirror}} - <div class="inline field {{if .Err_Interval}}error{{end}}"> - <label for="interval">{{.i18n.Tr "repo.mirror_interval"}}</label> - <input id="interval" name="interval" type="number" value="{{.MirrorInterval}}"> - </div> - {{end}} - - <div class="ui divider"></div> - <div class="field"> - <button class="ui green button">{{$.i18n.Tr "repo.settings.update_settings"}}</button> - </div> + <input type="hidden" name="action" value="update"> + <div class="required field {{if .Err_RepoName}}error{{end}}"> + <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}<span class="text red hide" id="repo-name-change-prompt"> {{.i18n.Tr "repo.settings.change_reponame_prompt"}}</span></label> + <input id="repo_name" name="repo_name" value="{{.Repository.Name}}" data-repo-name="{{.Repository.Name}}" autofocus required> + </div> + <div class="field {{if .Err_Description}}error{{end}}"> + <label for="description">{{$.i18n.Tr "repo.repo_desc"}}</label> + <textarea id="description" name="description" rows="2">{{.Repository.Description}}</textarea> + </div> + <div class="field {{if .Err_Website}}error{{end}}"> + <label for="website">{{.i18n.Tr "repo.settings.site"}}</label> + <input id="website" name="website" type="url" value="{{.Repository.Website}}"> + </div> + + {{if not .Repository.IsBare}} + <div class="required inline field"> + <label>{{.i18n.Tr "repo.default_branch"}}</label> + <div class="ui selection dropdown"> + <input type="hidden" id="branch" name="branch" value="{{.Repository.DefaultBranch}}"> + <div class="text">{{.Repository.DefaultBranch}}</div> + <i class="dropdown icon"></i> + <div class="menu"> + {{range .Branches}} + <div class="item" data-value="{{.}}">{{.}}</div> + {{end}} + </div> + </div> + </div> + {{end}} + {{if not .Repository.IsFork}} + <div class="inline field"> + <label>{{.i18n.Tr "repo.visibility"}}</label> + <div class="ui checkbox"> + <input name="private" type="checkbox" {{if .Repository.IsPrivate}}checked{{end}}> + <label>{{.i18n.Tr "repo.visiblity_helper" | Safe}} {{if .Repository.NumForks}}<span class="text red">{{.i18n.Tr "repo.visiblity_fork_helper"}}</span>{{end}}</label> + </div> + </div> + {{end}} + {{if .Repository.IsMirror}} + <div class="inline field {{if .Err_Interval}}error{{end}}"> + <label for="interval">{{.i18n.Tr "repo.mirror_interval"}}</label> + <input id="interval" name="interval" type="number" value="{{.MirrorInterval}}"> + </div> + {{end}} + + <div class="ui divider"></div> + <div class="field"> + <button class="ui green button">{{$.i18n.Tr "repo.settings.update_settings"}}</button> + </div> + </form> + </div> + + <h4 class="ui top attached header"> + {{.i18n.Tr "repo.settings.advanced_settings"}} + </h4> + <div class="ui attached segment"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <input type="hidden" name="action" value="advanced"> + + <div class="inline field"> + <label>{{.i18n.Tr "repo.wiki"}}</label> + <div class="ui checkbox"> + <input name="enable_wiki" type="checkbox" {{if .Repository.EnableWiki}}checked{{end}}> + <label>{{.i18n.Tr "repo.settings.wiki_desc"}}</label> + </div> + </div> + + <div class="ui divider"></div> + + <div class="inline field"> + <label>{{.i18n.Tr "repo.issues"}}</label> + <div class="ui checkbox"> + <input name="enable_issues" type="checkbox" {{if .Repository.EnableIssues}}checked{{end}}> + <label>{{.i18n.Tr "repo.settings.issues_desc"}}</label> + </div> + </div> + <div class="inline field"> + <div class="ui checkbox"> + <input name="enable_external_tracker" type="checkbox" {{if .Repository.EnableExternalTracker}}checked{{end}}> + <label>{{.i18n.Tr "repo.settings.use_external_issue_tracker"}}</label> + </div> + </div> + <div class="field"> + <label for="tracker_url_format">{{.i18n.Tr "repo.settings.tracker_url_format"}}</label> + <input id="tracker_url_format" name="tracker_url_format" value="{{.Repository.ExternalTrackerFormat}}" placeholder="e.g. https://github.com/{user}/{repo}/issues/{index}"> + <p class="help">{{.i18n.Tr "repo.settings.tracker_url_format_desc" | Str2html}}</p> + </div> + + <div class="ui divider"></div> + + <div class="inline field"> + <label>{{.i18n.Tr "repo.pulls"}}</label> + <div class="ui checkbox"> + <input name="enable_pulls" type="checkbox" {{if .Repository.EnablePulls}}checked{{end}}> + <label>{{.i18n.Tr "repo.settings.pulls_desc"}}</label> + </div> + </div> + + <div class="ui divider"></div> + <div class="field"> + <button class="ui green button">{{$.i18n.Tr "repo.settings.update_settings"}}</button> + </div> </form> - </div> - - <h4 class="ui top attached header"> - {{.i18n.Tr "repo.settings.advanced_settings"}} - </h4> - <div class="ui attached segment"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <input type="hidden" name="action" value="advanced"> - - <div class="inline field"> - <label>{{.i18n.Tr "repo.wiki"}}</label> - <div class="ui checkbox"> - <input name="enable_wiki" type="checkbox" {{if .Repository.EnableWiki}}checked{{end}}> - <label>{{.i18n.Tr "repo.settings.wiki_desc"}}</label> - </div> - </div> - - <div class="ui divider"></div> - - <div class="inline field"> - <label>{{.i18n.Tr "repo.issues"}}</label> - <div class="ui checkbox"> - <input name="enable_issues" type="checkbox" {{if .Repository.EnableIssues}}checked{{end}}> - <label>{{.i18n.Tr "repo.settings.issues_desc"}}</label> - </div> - </div> - <div class="inline field"> - <div class="ui checkbox"> - <input name="enable_external_tracker" type="checkbox" {{if .Repository.EnableExternalTracker}}checked{{end}}> - <label>{{.i18n.Tr "repo.settings.use_external_issue_tracker"}}</label> - </div> - </div> - <div class="field"> - <label for="tracker_url_format">{{.i18n.Tr "repo.settings.tracker_url_format"}}</label> - <input id="tracker_url_format" name="tracker_url_format" value="{{.Repository.ExternalTrackerFormat}}" placeholder="e.g. https://github.com/{user}/{repo}/issues/{index}"> - <p class="help">{{.i18n.Tr "repo.settings.tracker_url_format_desc" | Str2html}}</p> - </div> - - <div class="ui divider"></div> - - <div class="inline field"> - <label>{{.i18n.Tr "repo.pulls"}}</label> - <div class="ui checkbox"> - <input name="enable_pulls" type="checkbox" {{if .Repository.EnablePulls}}checked{{end}}> - <label>{{.i18n.Tr "repo.settings.pulls_desc"}}</label> - </div> - </div> - - <div class="ui divider"></div> - <div class="field"> - <button class="ui green button">{{$.i18n.Tr "repo.settings.update_settings"}}</button> - </div> - </form> - </div> - - <h4 class="ui top attached warning header"> - {{.i18n.Tr "repo.settings.danger_zone"}} - </h4> - <div class="ui attached warning table danger segment"> + </div> + + <h4 class="ui top attached warning header"> + {{.i18n.Tr "repo.settings.danger_zone"}} + </h4> + <div class="ui attached warning table danger segment"> <div class="item"> <div class="ui right"> <button class="ui basic red show-modal button" data-modal="#transfer-repo-modal">{{.i18n.Tr "repo.settings.transfer"}}</button> @@ -131,7 +131,7 @@ <p>{{.i18n.Tr "repo.settings.transfer_desc"}}</p> </div> </div> - + <div class="ui divider"></div> <div class="item"> @@ -143,23 +143,23 @@ <p>{{.i18n.Tr "repo.settings.delete_desc"}}</p> </div> </div> - </div> - </div> - </div> - </div> + </div> + </div> + </div> + </div> </div> <div class="ui small modal" id="transfer-repo-modal"> - <div class="header"> - {{.i18n.Tr "repo.settings.transfer"}} - </div> - <div class="content"> + <div class="header"> + {{.i18n.Tr "repo.settings.transfer"}} + </div> + <div class="content"> <div class="ui warning message text left"> {{.i18n.Tr "repo.settings.transfer_notices_1" | Safe}} <br> {{.i18n.Tr "repo.settings.transfer_notices_2" | Safe}} </div> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} <input type="hidden" name="action" value="transfer"> <div class="field"> <label> @@ -167,28 +167,28 @@ <span class="text red">{{.Repository.Name}}</span> </label> </div> - <div class="required field"> - <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label> - <input id="repo_name" name="repo_name" required> - </div> - <div class="required field"> - <label for="new_owner_name">{{.i18n.Tr "repo.settings.transfer_owner"}}</label> - <input id="new_owner_name" name="new_owner_name" required> - </div> - + <div class="required field"> + <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label> + <input id="repo_name" name="repo_name" required> + </div> + <div class="required field"> + <label for="new_owner_name">{{.i18n.Tr "repo.settings.transfer_owner"}}</label> + <input id="new_owner_name" name="new_owner_name" required> + </div> + <div class="text right actions"> <div class="ui cancel button">{{.i18n.Tr "settings.cancel"}}</div> <button class="ui red button">{{.i18n.Tr "repo.settings.make_transfer"}}</button> </div> - </form> - </div> + </form> + </div> </div> <div class="ui small modal" id="delete-repo-modal"> - <div class="header"> - {{.i18n.Tr "repo.settings.delete"}} - </div> - <div class="content"> + <div class="header"> + {{.i18n.Tr "repo.settings.delete"}} + </div> + <div class="content"> <div class="ui warning message text left"> {{.i18n.Tr "repo.settings.delete_notices_1" | Safe}} <br> {{.i18n.Tr "repo.settings.delete_notices_2" | Safe}} @@ -196,27 +196,27 @@ {{.i18n.Tr "repo.settings.delete_notices_fork_1" | Safe}} <br> {{.i18n.Tr "repo.settings.delete_notices_fork_2" | Safe}} <br> {{.i18n.Tr "repo.settings.delete_notices_fork_3" | Safe}} - {{end}} + {{end}} + </div> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <input type="hidden" name="action" value="delete"> + <div class="field"> + <label> + {{.i18n.Tr "repo.settings.transfer_form_title"}} + <span class="text red">{{.Repository.Name}}</span> + </label> </div> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <input type="hidden" name="action" value="delete"> - <div class="field"> - <label> - {{.i18n.Tr "repo.settings.transfer_form_title"}} - <span class="text red">{{.Repository.Name}}</span> - </label> - </div> - <div class="required field"> - <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label> - <input id="repo_name" name="repo_name" required> - </div> - - <div class="text right actions"> - <div class="ui cancel button">{{.i18n.Tr "settings.cancel"}}</div> - <button class="ui red button">{{.i18n.Tr "repo.settings.confirm_delete"}}</button> - </div> - </form> - </div> + <div class="required field"> + <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label> + <input id="repo_name" name="repo_name" required> + </div> + + <div class="text right actions"> + <div class="ui cancel button">{{.i18n.Tr "settings.cancel"}}</div> + <button class="ui red button">{{.i18n.Tr "repo.settings.confirm_delete"}}</button> + </div> + </form> +</div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/view_file.tmpl b/templates/repo/view_file.tmpl index 5751d2e3dd..cf6198195a 100644 --- a/templates/repo/view_file.tmpl +++ b/templates/repo/view_file.tmpl @@ -1,50 +1,50 @@ <div id="file-content"> - <h4 class="ui top attached header" id="{{if .ReadmeExist}}repo-readme{{else}}repo-read-file{{end}}"> - {{if .ReadmeExist}} - <i class="book icon ui left"></i> - {{if .ReadmeInList}} - <strong>{{.FileName}}</strong> - {{else}} - <strong>{{.FileName}}</strong> <span class="text grey normal">{{FileSize .FileSize}}</span> - {{end}} - {{else}} - <i class="file text outline icon ui left"></i> - <strong>{{.FileName}}</strong> <span class="text grey normal">{{FileSize .FileSize}}</span> - {{end}} - {{if not .ReadmeInList}} - <div class="ui right"> - <div class="ui small grey basic buttons"> - {{if not .IsCommit}} - <a class="ui button" href="{{.RepoLink}}/src/{{.CommitID}}/{{EscapePound .TreeName}}">{{.i18n.Tr "repo.file_permalink"}}</a> - {{end}} - <a class="ui button" href="{{.RepoLink}}/commits/{{EscapePound .BranchName}}/{{EscapePound .TreeName}}">{{.i18n.Tr "repo.file_history"}}</a> - <a class="ui button" href="{{EscapePound .FileLink}}">{{.i18n.Tr "repo.file_raw"}}</a> - </div> - </div> - {{end}} - </h4> - <div class="ui attached table segment"> - <div class="file-view {{if .ReadmeExist}}markdown{{else if .IsFileText}}code-view{{end}}"> - {{if .ReadmeExist}} - {{if .FileContent}}{{.FileContent | Str2html}}{{end}} - {{else if not .IsFileText}} - <div class="view-raw"> - {{if .IsImageFile}} - <img src="{{EscapePound .FileLink}}"> - {{else}} - <a href="{{EscapePound .FileLink}}" rel="nofollow" class="btn btn-gray btn-radius">{{.i18n.Tr "repo.file_view_raw"}}</a> - {{end}} - </div> - {{else if .FileSize}} - <table> - <tbody> - <tr> - <td class="lines-num"></td> - <td class="lines-code"><pre class="{{if .FileExt}}lang-{{.FileExt}}{{end}}"><code><ol class="linenums">{{.FileContent}}</ol></code></pre></td> - </tr> - </tbody> - </table> - {{end}} - </div> - </div> -</div>
\ No newline at end of file + <h4 class="ui top attached header" id="{{if .ReadmeExist}}repo-readme{{else}}repo-read-file{{end}}"> + {{if .ReadmeExist}} + <i class="book icon ui left"></i> + {{if .ReadmeInList}} + <strong>{{.FileName}}</strong> + {{else}} + <strong>{{.FileName}}</strong> <span class="text grey normal">{{FileSize .FileSize}}</span> + {{end}} + {{else}} + <i class="file text outline icon ui left"></i> + <strong>{{.FileName}}</strong> <span class="text grey normal">{{FileSize .FileSize}}</span> + {{end}} + {{if not .ReadmeInList}} + <div class="ui right"> + <div class="ui small grey basic buttons"> + {{if not .IsCommit}} + <a class="ui button" href="{{.RepoLink}}/src/{{.CommitID}}/{{EscapePound .TreeName}}">{{.i18n.Tr "repo.file_permalink"}}</a> + {{end}} + <a class="ui button" href="{{.RepoLink}}/commits/{{EscapePound .BranchName}}/{{EscapePound .TreeName}}">{{.i18n.Tr "repo.file_history"}}</a> + <a class="ui button" href="{{EscapePound .FileLink}}">{{.i18n.Tr "repo.file_raw"}}</a> + </div> + </div> + {{end}} + </h4> + <div class="ui attached table segment"> + <div class="file-view {{if .ReadmeExist}}markdown{{else if .IsFileText}}code-view{{end}}"> + {{if .ReadmeExist}} + {{if .FileContent}}{{.FileContent | Str2html}}{{end}} + {{else if not .IsFileText}} + <div class="view-raw"> + {{if .IsImageFile}} + <img src="{{EscapePound .FileLink}}"> + {{else}} + <a href="{{EscapePound .FileLink}}" rel="nofollow" class="btn btn-gray btn-radius">{{.i18n.Tr "repo.file_view_raw"}}</a> + {{end}} + </div> + {{else if .FileSize}} + <table> + <tbody> + <tr> + <td class="lines-num"></td> + <td class="lines-code"><pre class="{{if .FileExt}}lang-{{.FileExt}}{{end}}"><code><ol class="linenums">{{.FileContent}}</ol></code></pre></td> + </tr> + </tbody> + </table> + {{end}} + </div> + </div> +</div> diff --git a/templates/repo/view_list.tmpl b/templates/repo/view_list.tmpl index 887ce8e251..d94dc96e25 100644 --- a/templates/repo/view_list.tmpl +++ b/templates/repo/view_list.tmpl @@ -1,56 +1,56 @@ <table id="repo-files-table" class="ui fixed single line table"> - <thead> - <tr> - <th class="four wide"> - {{if .LastCommitUser}} - <img class="ui avatar image img-12" src="{{.LastCommitUser.AvatarLink}}" /> - <a href="{{AppSubUrl}}/{{.LastCommitUser.Name}}"><strong>{{.LastCommit.Author.Name}}</strong></a> - {{else}} - <img class="ui avatar image img-12" src="{{AvatarLink .LastCommit.Author.Email}}" /> - <strong>{{.LastCommit.Author.Name}}</strong> - {{end}} - <a rel="nofollow" class="ui sha label" href="{{.RepoLink}}/commit/{{.LastCommit.ID}}" rel="nofollow">{{ShortSha .LastCommit.ID.String}}</a> - <span class="grey">{{RenderCommitMessage false .LastCommit.Summary .RepoLink $.Repository.ComposeMetas}}</span> - </th> - <th class="nine wide"> - </th> - <th class="three wide text grey right age">{{TimeSince .LastCommit.Author.When $.Lang}}</th> - </tr> - </thead> - <tbody> - {{if .HasParentPath}} - <tr class="has-parent"> - <td colspan="3"><i class="icon octicon octicon-mail-reply"></i><a href="{{EscapePound .BranchLink}}{{.ParentPath}}">..</a></td> - </tr> - {{end}} - {{range $item := .Files}} - {{$entry := index $item 0}} - {{$commit := index $item 1}} - <tr> - {{if $entry.IsSubModule}} - <td> - <span class="icon octicon octicon-file-submodule"></span> - {{if $commit.RefUrl}} - <a href="{{$commit.RefUrl}}">{{$entry.Name}}</a> @ <a href="{{$commit.RefUrl}}/commit/{{$commit.RefId}}">{{ShortSha $commit.RefId}}</a> - {{else}} - {{$entry.Name}} @ {{ShortSha $commit.RefId}} - {{end}} - </td> - {{else}} - <td class="name"> - <span class="icon octicon octicon-file-{{if or $entry.IsDir}}directory{{else}}text{{end}}"></span> - <a href="{{EscapePound $.BranchLink}}/{{EscapePound $.TreePath}}{{EscapePound $entry.Name}}">{{$entry.Name}}</a> - </td> - {{end}} - <td class="message collapsing"> - <a rel="nofollow" class="ui sha label" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.ID}}">{{ShortSha $commit.ID.String}}</a> - {{RenderCommitMessage false $commit.Summary $.RepoLink $.Repository.ComposeMetas}} - </td> - <td class="text grey right age">{{TimeSince $commit.Committer.When $.Lang}}</td> - </tr> - {{end}} - </tbody> + <thead> + <tr> + <th class="four wide"> + {{if .LastCommitUser}} + <img class="ui avatar image img-12" src="{{.LastCommitUser.AvatarLink}}" /> + <a href="{{AppSubUrl}}/{{.LastCommitUser.Name}}"><strong>{{.LastCommit.Author.Name}}</strong></a> + {{else}} + <img class="ui avatar image img-12" src="{{AvatarLink .LastCommit.Author.Email}}" /> + <strong>{{.LastCommit.Author.Name}}</strong> + {{end}} + <a rel="nofollow" class="ui sha label" href="{{.RepoLink}}/commit/{{.LastCommit.ID}}" rel="nofollow">{{ShortSha .LastCommit.ID.String}}</a> + <span class="grey">{{RenderCommitMessage false .LastCommit.Summary .RepoLink $.Repository.ComposeMetas}}</span> + </th> + <th class="nine wide"> + </th> + <th class="three wide text grey right age">{{TimeSince .LastCommit.Author.When $.Lang}}</th> + </tr> + </thead> + <tbody> + {{if .HasParentPath}} + <tr class="has-parent"> + <td colspan="3"><i class="icon octicon octicon-mail-reply"></i><a href="{{EscapePound .BranchLink}}{{.ParentPath}}">..</a></td> + </tr> + {{end}} + {{range $item := .Files}} + {{$entry := index $item 0}} + {{$commit := index $item 1}} + <tr> + {{if $entry.IsSubModule}} + <td> + <span class="icon octicon octicon-file-submodule"></span> + {{if $commit.RefUrl}} + <a href="{{$commit.RefUrl}}">{{$entry.Name}}</a> @ <a href="{{$commit.RefUrl}}/commit/{{$commit.RefId}}">{{ShortSha $commit.RefId}}</a> + {{else}} + {{$entry.Name}} @ {{ShortSha $commit.RefId}} + {{end}} + </td> + {{else}} + <td class="name"> + <span class="icon octicon octicon-file-{{if or $entry.IsDir}}directory{{else}}text{{end}}"></span> + <a href="{{EscapePound $.BranchLink}}/{{EscapePound $.TreePath}}{{EscapePound $entry.Name}}">{{$entry.Name}}</a> + </td> + {{end}} + <td class="message collapsing"> + <a rel="nofollow" class="ui sha label" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.ID}}">{{ShortSha $commit.ID.String}}</a> + {{RenderCommitMessage false $commit.Summary $.RepoLink $.Repository.ComposeMetas}} + </td> + <td class="text grey right age">{{TimeSince $commit.Committer.When $.Lang}}</td> + </tr> + {{end}} + </tbody> </table> {{if .ReadmeExist}} - {{template "repo/view_file" .}} + {{template "repo/view_file" .}} {{end}} diff --git a/templates/repo/watchers.tmpl b/templates/repo/watchers.tmpl index 7802cea324..d87d9b7a3c 100644 --- a/templates/repo/watchers.tmpl +++ b/templates/repo/watchers.tmpl @@ -1,56 +1,56 @@ {{template "base/head" .}} <div class="repository watchers"> - {{template "repo/header" .}} - <div class="ui container"> - <h2 class="ui dividing header"> - {{if .PageIsWatchers}} - {{.i18n.Tr "repo.watchers"}} - {{else}} - {{.i18n.Tr "repo.stargazers"}} - {{end}} - </h2> - <ul class="list"> - {{range .Watchers}} - <li class="item ui segment"> - <a href="{{.HomeLink}}"> - <img class="avatar" src="{{.AvatarLink}}"/> - </a> - <h3 class="name"><a href="{{.HomeLink}}">{{.DisplayName}}</a></h3> + {{template "repo/header" .}} + <div class="ui container"> + <h2 class="ui dividing header"> + {{if .PageIsWatchers}} + {{.i18n.Tr "repo.watchers"}} + {{else}} + {{.i18n.Tr "repo.stargazers"}} + {{end}} + </h2> + <ul class="list"> + {{range .Watchers}} + <li class="item ui segment"> + <a href="{{.HomeLink}}"> + <img class="avatar" src="{{.AvatarLink}}"/> + </a> + <h3 class="name"><a href="{{.HomeLink}}">{{.DisplayName}}</a></h3> - <div class="meta"> - {{if .Website}} - <span class="icon octicon octicon-link"></span> <a href="{{.Website}}" target="_blank">{{.Website}}</a> - {{else if .Location}} - <span class="icon octicon octicon-location"></span> {{.Location}} - {{else}} - <span class="icon octicon octicon-clock"></span> {{$.i18n.Tr "user.join_on"}} {{DateFmtShort .Created}} - {{end}} - </div> - </li> - {{end}} - </ul> - - {{with .Page}} - {{if gt .TotalPages 1}} - <div class="center page buttons"> - <div class="ui borderless pagination menu"> - <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}> - <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} - </a> - {{range .Pages}} - {{if eq .Num -1}} - <a class="disabled item">...</a> - {{else}} - <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a> - {{end}} - {{end}} - <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}> - {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> - </a> - </div> - </div> - {{end}} - {{end}} - </div> + <div class="meta"> + {{if .Website}} + <span class="icon octicon octicon-link"></span> <a href="{{.Website}}" target="_blank">{{.Website}}</a> + {{else if .Location}} + <span class="icon octicon octicon-location"></span> {{.Location}} + {{else}} + <span class="icon octicon octicon-clock"></span> {{$.i18n.Tr "user.join_on"}} {{DateFmtShort .Created}} + {{end}} + </div> + </li> + {{end}} + </ul> + + {{with .Page}} + {{if gt .TotalPages 1}} + <div class="center page buttons"> + <div class="ui borderless pagination menu"> + <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}> + <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} + </a> + {{range .Pages}} + {{if eq .Num -1}} + <a class="disabled item">...</a> + {{else}} + <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a> + {{end}} + {{end}} + <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}> + {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> + </a> + </div> + </div> + {{end}} + {{end}} + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/wiki/new.tmpl b/templates/repo/wiki/new.tmpl index 09c33415ba..0e96f58bcc 100644 --- a/templates/repo/wiki/new.tmpl +++ b/templates/repo/wiki/new.tmpl @@ -1,34 +1,34 @@ {{template "base/head" .}} <div class="repository wiki new"> - {{template "repo/header" .}} - <div class="ui container"> - {{template "base/alert" .}} - <div class="ui header"> - {{.i18n.Tr "repo.wiki.new_page"}} - {{if .PageIsWikiEdit}} - <div class="ui right"> - <a class="ui green small button" href="{{.RepoLink}}/wiki/_new">{{.i18n.Tr "repo.wiki.new_page_button"}}</a> - </div> - {{end}} - </div> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <input type="hidden" name="old_title" value="{{.old_title}}"> - <div class="field {{if .Err_Title}}error{{end}}"> - <input name="title" value="{{.title}}" autofocus required> - </div> - <div class="field"> - <textarea id="edit-area" name="content" data-url="{{AppSubUrl}}/api/v1/markdown" data-context="{{.RepoLink}}">{{if .PageIsWikiEdit}}{{.content}}{{else}}{{.i18n.Tr "repo.wiki.welcome"}}{{end}}</textarea required> - </div> - <div class="field"> - <input name="message" placeholder="{{.i18n.Tr "repo.wiki.default_commit_message"}}"> - </div> - <div class="text right"> - <button class="ui green button"> - {{.i18n.Tr "repo.wiki.save_page"}} - </button> - </div> - </form> + {{template "repo/header" .}} + <div class="ui container"> + {{template "base/alert" .}} + <div class="ui header"> + {{.i18n.Tr "repo.wiki.new_page"}} + {{if .PageIsWikiEdit}} + <div class="ui right"> + <a class="ui green small button" href="{{.RepoLink}}/wiki/_new">{{.i18n.Tr "repo.wiki.new_page_button"}}</a> + </div> + {{end}} + </div> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <input type="hidden" name="old_title" value="{{.old_title}}"> + <div class="field {{if .Err_Title}}error{{end}}"> + <input name="title" value="{{.title}}" autofocus required> + </div> + <div class="field"> + <textarea id="edit-area" name="content" data-url="{{AppSubUrl}}/api/v1/markdown" data-context="{{.RepoLink}}">{{if .PageIsWikiEdit}}{{.content}}{{else}}{{.i18n.Tr "repo.wiki.welcome"}}{{end}}</textarea required> + </div> + <div class="field"> + <input name="message" placeholder="{{.i18n.Tr "repo.wiki.default_commit_message"}}"> + </div> + <div class="text right"> + <button class="ui green button"> + {{.i18n.Tr "repo.wiki.save_page"}} + </button> + </div> + </form> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/wiki/pages.tmpl b/templates/repo/wiki/pages.tmpl index 468357a63f..602a49cb74 100644 --- a/templates/repo/wiki/pages.tmpl +++ b/templates/repo/wiki/pages.tmpl @@ -1,27 +1,27 @@ {{template "base/head" .}} <div class="repository wiki pages"> {{template "repo/header" .}} - <div class="ui container"> - <div class="ui header"> - {{.i18n.Tr "repo.wiki.pages"}} - <div class="ui right"> - <a class="ui green small button" href="{{.RepoLink}}/wiki/_new">{{.i18n.Tr "repo.wiki.new_page_button"}}</a> - </div> - </div> - <table class="ui table"> - <tbody> - {{range .Pages}} - <tr> - <td> - <i class="icon octicon octicon-file-text"></i> - <a href="{{$.RepoLink}}/wiki/{{.URL}}">{{.Name}}</a> - </td> - {{$timeSince := TimeSince .Updated $.Lang}} - <td class="text right grey">{{$.i18n.Tr "repo.wiki.last_updated" $timeSince | Safe}}</td> - </tr> - {{end}} - </tbody> - </table> + <div class="ui container"> + <div class="ui header"> + {{.i18n.Tr "repo.wiki.pages"}} + <div class="ui right"> + <a class="ui green small button" href="{{.RepoLink}}/wiki/_new">{{.i18n.Tr "repo.wiki.new_page_button"}}</a> + </div> + </div> + <table class="ui table"> + <tbody> + {{range .Pages}} + <tr> + <td> + <i class="icon octicon octicon-file-text"></i> + <a href="{{$.RepoLink}}/wiki/{{.URL}}">{{.Name}}</a> + </td> + {{$timeSince := TimeSince .Updated $.Lang}} + <td class="text right grey">{{$.i18n.Tr "repo.wiki.last_updated" $timeSince | Safe}}</td> + </tr> + {{end}} + </tbody> + </table> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/wiki/start.tmpl b/templates/repo/wiki/start.tmpl index 8174323dcd..26d7fefdcc 100644 --- a/templates/repo/wiki/start.tmpl +++ b/templates/repo/wiki/start.tmpl @@ -1,15 +1,15 @@ {{template "base/head" .}} <div class="repository wiki start"> {{template "repo/header" .}} - <div class="ui container"> - <div class="ui center segment"> - <span class="mega-octicon octicon-book"></span> - <h2>{{.i18n.Tr "repo.wiki.welcome"}}</h2> - <p>{{.i18n.Tr "repo.wiki.welcome_desc"}}</p> - {{if .IsRepositoryPusher}} - <a class="ui green button" href="{{.RepoLink}}/wiki/_new">{{.i18n.Tr "repo.wiki.create_first_page"}}</a> - {{end}} - </div> + <div class="ui container"> + <div class="ui center segment"> + <span class="mega-octicon octicon-book"></span> + <h2>{{.i18n.Tr "repo.wiki.welcome"}}</h2> + <p>{{.i18n.Tr "repo.wiki.welcome_desc"}}</p> + {{if .IsRepositoryPusher}} + <a class="ui green button" href="{{.RepoLink}}/wiki/_new">{{.i18n.Tr "repo.wiki.create_first_page"}}</a> + {{end}} + </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/repo/wiki/view.tmpl b/templates/repo/wiki/view.tmpl index c052bedb7d..cd7642bcc2 100644 --- a/templates/repo/wiki/view.tmpl +++ b/templates/repo/wiki/view.tmpl @@ -1,72 +1,72 @@ {{template "base/head" .}} <div class="repository wiki view"> {{template "repo/header" .}} - <div class="ui container"> - <div class="ui grid"> - <div class="ui ten wide column"> - <div class="choose page"> - <div class="ui floating filter dropdown" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}"> - <div class="ui basic small button"> - <span class="text"> - {{.i18n.Tr "repo.wiki.page"}}: - <strong>{{.title}}</strong> - </span> - <i class="dropdown icon"></i> - </div> - <div class="menu"> - <div class="ui icon search input"> - <i class="filter icon"></i> - <input name="search" placeholder="{{.i18n.Tr "repo.wiki.filter_page"}}..."> - </div> - <div class="scrolling menu" {{if .IsTag}}style="display: none"{{end}}> - {{range .Pages}} - <div class="item {{if eq $.Title .Name}}selected{{end}}" data-url="{{$.RepoLink}}/wiki/{{.URL}}">{{.Name}}</div> - {{end}} - </div> - </div> - </div> - </div> - </div> - <div class="ui six wide column"> - <div class="ui action small input" id="clone-panel"> - {{if not $.DisableSSH}} - <button class="ui blue basic clone button" id="repo-clone-ssh" data-link="{{.WikiCloneLink.SSH}}"> - SSH - </button> - {{end}} - <button class="ui {{if $.DisableSSH}}blue{{end}} basic clone button" id="repo-clone-https" data-link="{{.WikiCloneLink.HTTPS}}"> - {{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} - </button> - <input id="repo-clone-url" value="{{if $.DisableSSH}}{{$.WikiCloneLink.HTTPS}}{{else}}{{$.WikiCloneLink.SSH}}{{end}}" readonly> - <button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> - <i class="octicon octicon-clippy"></i> - </button> - <div class="ui basic jump dropdown icon button"> - <i class="download icon"></i> - <div class="menu"> - <a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.zip"><i class="icon octicon octicon-file-zip"></i> ZIP</a> - <a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.tar.gz"><i class="icon octicon octicon-file-zip"></i> TAR.GZ</a> - </div> - </div> - </div> - </div> - </div> - <div class="ui dividing header"> - {{.title}} - {{if .IsRepositoryPusher}} - <div class="ui right"> - <a class="ui small button" href="{{.RepoLink}}/wiki/{{.PageURL}}/_edit">{{.i18n.Tr "repo.wiki.edit_page_button"}}</a> - <a class="ui green small button" href="{{.RepoLink}}/wiki/_new">{{.i18n.Tr "repo.wiki.new_page_button"}}</a> - </div> - {{end}} - <div class="ui sub header"> - {{$timeSince := TimeSince .Author.When $.Lang}} - {{.i18n.Tr "repo.wiki.last_commit_info" .Author.Name $timeSince | Safe}} - </div> - </div> + <div class="ui container"> + <div class="ui grid"> + <div class="ui ten wide column"> + <div class="choose page"> + <div class="ui floating filter dropdown" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}"> + <div class="ui basic small button"> + <span class="text"> + {{.i18n.Tr "repo.wiki.page"}}: + <strong>{{.title}}</strong> + </span> + <i class="dropdown icon"></i> + </div> + <div class="menu"> + <div class="ui icon search input"> + <i class="filter icon"></i> + <input name="search" placeholder="{{.i18n.Tr "repo.wiki.filter_page"}}..."> + </div> + <div class="scrolling menu" {{if .IsTag}}style="display: none"{{end}}> + {{range .Pages}} + <div class="item {{if eq $.Title .Name}}selected{{end}}" data-url="{{$.RepoLink}}/wiki/{{.URL}}">{{.Name}}</div> + {{end}} + </div> + </div> + </div> + </div> + </div> + <div class="ui six wide column"> + <div class="ui action small input" id="clone-panel"> + {{if not $.DisableSSH}} + <button class="ui blue basic clone button" id="repo-clone-ssh" data-link="{{.WikiCloneLink.SSH}}"> + SSH + </button> + {{end}} + <button class="ui {{if $.DisableSSH}}blue{{end}} basic clone button" id="repo-clone-https" data-link="{{.WikiCloneLink.HTTPS}}"> + {{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} + </button> + <input id="repo-clone-url" value="{{if $.DisableSSH}}{{$.WikiCloneLink.HTTPS}}{{else}}{{$.WikiCloneLink.SSH}}{{end}}" readonly> + <button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> + <i class="octicon octicon-clippy"></i> + </button> + <div class="ui basic jump dropdown icon button"> + <i class="download icon"></i> + <div class="menu"> + <a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.zip"><i class="icon octicon octicon-file-zip"></i> ZIP</a> + <a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.tar.gz"><i class="icon octicon octicon-file-zip"></i> TAR.GZ</a> + </div> + </div> + </div> + </div> + </div> + <div class="ui dividing header"> + {{.title}} + {{if .IsRepositoryPusher}} + <div class="ui right"> + <a class="ui small button" href="{{.RepoLink}}/wiki/{{.PageURL}}/_edit">{{.i18n.Tr "repo.wiki.edit_page_button"}}</a> + <a class="ui green small button" href="{{.RepoLink}}/wiki/_new">{{.i18n.Tr "repo.wiki.new_page_button"}}</a> + </div> + {{end}} + <div class="ui sub header"> + {{$timeSince := TimeSince .Author.When $.Lang}} + {{.i18n.Tr "repo.wiki.last_commit_info" .Author.Name $timeSince | Safe}} + </div> + </div> <div class="ui segment markdown"> {{.content | Str2html}} </div> </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/status/404.tmpl b/templates/status/404.tmpl index a1b632df2a..776f4fb78e 100644 --- a/templates/status/404.tmpl +++ b/templates/status/404.tmpl @@ -1,9 +1,9 @@ {{template "base/head" .}} <div class="ui container center"> - <p style="margin-top: 100px"><img src="{{AppSubUrl}}/img/404.png" alt="404"/></p> - <div class="ui divider"></div> - <br> - {{if .ShowFooterVersion}}<p>Application Version: {{AppVer}}</p>{{end}} - <p>If you think this is an error, please open an issue on <a href="https://github.com/gogits/gogs/issues/new">GitHub</a>.</p> + <p style="margin-top: 100px"><img src="{{AppSubUrl}}/img/404.png" alt="404"/></p> + <div class="ui divider"></div> + <br> + {{if .ShowFooterVersion}}<p>Application Version: {{AppVer}}</p>{{end}} + <p>If you think this is an error, please open an issue on <a href="https://github.com/gogits/gogs/issues/new">GitHub</a>.</p> </div> {{template "base/footer" .}} diff --git a/templates/status/500.tmpl b/templates/status/500.tmpl index 519a6f60f6..fba069eeb1 100644 --- a/templates/status/500.tmpl +++ b/templates/status/500.tmpl @@ -1,9 +1,9 @@ {{template "base/head" .}} <div class="ui container center"> - <p style="margin-top: 100px"><img src="{{AppSubUrl}}/img/500.png" alt="500"/></p> - <div class="ui divider"></div> - <br> - {{if .ErrorMsg}}<p>An error has occurred : {{.ErrorMsg}}</p>{{end}} - {{if .ShowFooterVersion}}<p>Application Version: {{AppVer}}</p>{{end}} + <p style="margin-top: 100px"><img src="{{AppSubUrl}}/img/500.png" alt="500"/></p> + <div class="ui divider"></div> + <br> + {{if .ErrorMsg}}<p>An error has occurred : {{.ErrorMsg}}</p>{{end}} + {{if .ShowFooterVersion}}<p>Application Version: {{AppVer}}</p>{{end}} </div> {{template "base/footer" .}} diff --git a/templates/user/auth/activate.tmpl b/templates/user/auth/activate.tmpl index 49419dcf6b..8bff54aaf4 100644 --- a/templates/user/auth/activate.tmpl +++ b/templates/user/auth/activate.tmpl @@ -1,38 +1,38 @@ {{template "base/head" .}} <div class="user activate"> - <div class="ui middle very relaxed page grid"> - <div class="column"> - <form class="ui form" action="{{AppSubUrl}}/user/activate" method="post"> - {{.CsrfTokenHtml}} - <h2 class="ui top attached header"> - {{.i18n.Tr "auth.active_your_account"}} - </h2> - <div class="ui attached segment"> - {{template "base/alert" .}} - {{if .IsActivatePage}} - {{if .ServiceNotEnabled}} - <p class="center">{{.i18n.Tr "auth.disable_register_mail"}}</p> - {{else if .ResendLimited}} - <p class="center">{{.i18n.Tr "auth.resent_limit_prompt"}}</p> - {{else}} - <p>{{.i18n.Tr "auth.confirmation_mail_sent_prompt" .SignedUser.Email .Hours | Str2html}}</p> - {{end}} - {{else}} - {{if .IsSendRegisterMail}} - <p>{{.i18n.Tr "auth.confirmation_mail_sent_prompt" .Email .Hours | Str2html}}</p> - {{else if .IsActivateFailed}} - <p>{{.i18n.Tr "auth.invalid_code"}}</p> - {{else}} - <p>{{.i18n.Tr "auth.has_unconfirmed_mail" .SignedUser.Name .SignedUser.Email | Str2html}}</p> - <div class="ui divider"></div> - <div class="text right"> - <button class="ui blue button">{{.i18n.Tr "auth.resend_mail"}}</button> - </div> - {{end}} - {{end}} - </div> - </form> - </div> - </div> + <div class="ui middle very relaxed page grid"> + <div class="column"> + <form class="ui form" action="{{AppSubUrl}}/user/activate" method="post"> + {{.CsrfTokenHtml}} + <h2 class="ui top attached header"> + {{.i18n.Tr "auth.active_your_account"}} + </h2> + <div class="ui attached segment"> + {{template "base/alert" .}} + {{if .IsActivatePage}} + {{if .ServiceNotEnabled}} + <p class="center">{{.i18n.Tr "auth.disable_register_mail"}}</p> + {{else if .ResendLimited}} + <p class="center">{{.i18n.Tr "auth.resent_limit_prompt"}}</p> + {{else}} + <p>{{.i18n.Tr "auth.confirmation_mail_sent_prompt" .SignedUser.Email .Hours | Str2html}}</p> + {{end}} + {{else}} + {{if .IsSendRegisterMail}} + <p>{{.i18n.Tr "auth.confirmation_mail_sent_prompt" .Email .Hours | Str2html}}</p> + {{else if .IsActivateFailed}} + <p>{{.i18n.Tr "auth.invalid_code"}}</p> + {{else}} + <p>{{.i18n.Tr "auth.has_unconfirmed_mail" .SignedUser.Name .SignedUser.Email | Str2html}}</p> + <div class="ui divider"></div> + <div class="text right"> + <button class="ui blue button">{{.i18n.Tr "auth.resend_mail"}}</button> + </div> + {{end}} + {{end}} + </div> + </form> + </div> + </div> </div> {{template "base/footer" .}} diff --git a/templates/user/auth/forgot_passwd.tmpl b/templates/user/auth/forgot_passwd.tmpl index de141e67a3..f1c25df503 100644 --- a/templates/user/auth/forgot_passwd.tmpl +++ b/templates/user/auth/forgot_passwd.tmpl @@ -1,34 +1,34 @@ {{template "base/head" .}} <div class="user forgot password"> - <div class="ui middle very relaxed page grid"> - <div class="column"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <h2 class="ui top attached header"> - {{.i18n.Tr "auth.forgot_password"}} - </h2> - <div class="ui attached segment"> - {{template "base/alert" .}} - {{if .IsResetSent}} - <p>{{.i18n.Tr "auth.confirmation_mail_sent_prompt" .Email .Hours | Str2html}}</p> - {{else if .IsResetRequest}} - <div class="required inline field {{if .Err_Email}}error{{end}}"> - <label for="email">{{.i18n.Tr "email"}}</label> - <input id="email" name="email" type="email" value="{{.Email}}" autofocus required> - </div> - <div class="ui divider"></div> - <div class="inline field"> - <label></label> - <button class="ui blue button">{{.i18n.Tr "auth.send_reset_mail"}}</button> - </div> - {{else if .IsResetDisable}} - <p class="center">{{.i18n.Tr "auth.disable_register_mail"}}</p> - {{else if .ResendLimited}} - <p class="center">{{.i18n.Tr "auth.resent_limit_prompt"}}</p> - {{end}} - </div> - </form> - </div> - </div> + <div class="ui middle very relaxed page grid"> + <div class="column"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <h2 class="ui top attached header"> + {{.i18n.Tr "auth.forgot_password"}} + </h2> + <div class="ui attached segment"> + {{template "base/alert" .}} + {{if .IsResetSent}} + <p>{{.i18n.Tr "auth.confirmation_mail_sent_prompt" .Email .Hours | Str2html}}</p> + {{else if .IsResetRequest}} + <div class="required inline field {{if .Err_Email}}error{{end}}"> + <label for="email">{{.i18n.Tr "email"}}</label> + <input id="email" name="email" type="email" value="{{.Email}}" autofocus required> + </div> + <div class="ui divider"></div> + <div class="inline field"> + <label></label> + <button class="ui blue button">{{.i18n.Tr "auth.send_reset_mail"}}</button> + </div> + {{else if .IsResetDisable}} + <p class="center">{{.i18n.Tr "auth.disable_register_mail"}}</p> + {{else if .ResendLimited}} + <p class="center">{{.i18n.Tr "auth.resent_limit_prompt"}}</p> + {{end}} + </div> + </form> + </div> + </div> </div> {{template "base/footer" .}} diff --git a/templates/user/auth/reset_passwd.tmpl b/templates/user/auth/reset_passwd.tmpl index 5f06bd6494..cb124f5b25 100644 --- a/templates/user/auth/reset_passwd.tmpl +++ b/templates/user/auth/reset_passwd.tmpl @@ -1,31 +1,31 @@ {{template "base/head" .}} <div class="user reset password"> - <div class="ui middle very relaxed page grid"> - <div class="column"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <input name="code" type="hidden" value="{{.Code}}"> - <h2 class="ui top attached header"> - {{.i18n.Tr "auth.reset_password"}} - </h2> - <div class="ui attached segment"> - {{template "base/alert" .}} - {{if .IsResetForm}} - <div class="required inline field {{if .Err_Password}}error{{end}}"> - <label for="password">{{.i18n.Tr "password"}}</label> - <input id="password" name="password" type="password" value="{{.password}}" autofocus required> - </div> - <div class="ui divider"></div> - <div class="inline field"> - <label></label> - <button class="ui blue button">{{.i18n.Tr "auth.reset_password_helper"}}</button> - </div> - {{else}} - <p class="center">{{.i18n.Tr "auth.invalid_code"}}</p> - {{end}} - </div> - </form> - </div> - </div> + <div class="ui middle very relaxed page grid"> + <div class="column"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <input name="code" type="hidden" value="{{.Code}}"> + <h2 class="ui top attached header"> + {{.i18n.Tr "auth.reset_password"}} + </h2> + <div class="ui attached segment"> + {{template "base/alert" .}} + {{if .IsResetForm}} + <div class="required inline field {{if .Err_Password}}error{{end}}"> + <label for="password">{{.i18n.Tr "password"}}</label> + <input id="password" name="password" type="password" value="{{.password}}" autofocus required> + </div> + <div class="ui divider"></div> + <div class="inline field"> + <label></label> + <button class="ui blue button">{{.i18n.Tr "auth.reset_password_helper"}}</button> + </div> + {{else}} + <p class="center">{{.i18n.Tr "auth.invalid_code"}}</p> + {{end}} + </div> + </form> + </div> + </div> </div> {{template "base/footer" .}} diff --git a/templates/user/auth/signin.tmpl b/templates/user/auth/signin.tmpl index a1e30e95cb..b928f2bdb5 100644 --- a/templates/user/auth/signin.tmpl +++ b/templates/user/auth/signin.tmpl @@ -1,44 +1,44 @@ {{template "base/head" .}} <div class="user signin"> - <div class="ui middle very relaxed page grid"> - <div class="column"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <h3 class="ui top attached header"> - {{.i18n.Tr "sign_in"}} - </h3> - <div class="ui attached segment"> - {{template "base/alert" .}} - <div class="required inline field {{if .Err_UserName}}error{{end}}"> - <label for="user_name">{{.i18n.Tr "home.uname_holder"}}</label> - <input id="user_name" name="user_name" value="{{.user_name}}" autofocus required> - </div> - <div class="required inline field {{if .Err_Password}}error{{end}}"> - <label for="password">{{.i18n.Tr "password"}}</label> - <input id="password" name="password" type="password" value="{{.password}}" required> - </div> - <div class="inline field"> - <label></label> - <div class="ui checkbox"> - <label>{{.i18n.Tr "auth.remember_me"}}</label> - <input name="remember" type="checkbox"> - </div> - </div> + <div class="ui middle very relaxed page grid"> + <div class="column"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <h3 class="ui top attached header"> + {{.i18n.Tr "sign_in"}} + </h3> + <div class="ui attached segment"> + {{template "base/alert" .}} + <div class="required inline field {{if .Err_UserName}}error{{end}}"> + <label for="user_name">{{.i18n.Tr "home.uname_holder"}}</label> + <input id="user_name" name="user_name" value="{{.user_name}}" autofocus required> + </div> + <div class="required inline field {{if .Err_Password}}error{{end}}"> + <label for="password">{{.i18n.Tr "password"}}</label> + <input id="password" name="password" type="password" value="{{.password}}" required> + </div> + <div class="inline field"> + <label></label> + <div class="ui checkbox"> + <label>{{.i18n.Tr "auth.remember_me"}}</label> + <input name="remember" type="checkbox"> + </div> + </div> - <div class="inline field"> - <label></label> - <button class="ui green button">{{.i18n.Tr "sign_in"}}</button> - <a href="{{AppSubUrl}}/user/forget_password">{{.i18n.Tr "auth.forget_password"}}</a> - </div> - {{if .ShowRegistrationButton}} - <div class="inline field"> - <label></label> - <a href="{{AppSubUrl}}/user/sign_up">{{.i18n.Tr "auth.sign_up_now" | Str2html}}</a> - </div> - {{end}} - </div> - </form> - </div> - </div> + <div class="inline field"> + <label></label> + <button class="ui green button">{{.i18n.Tr "sign_in"}}</button> + <a href="{{AppSubUrl}}/user/forget_password">{{.i18n.Tr "auth.forget_password"}}</a> + </div> + {{if .ShowRegistrationButton}} + <div class="inline field"> + <label></label> + <a href="{{AppSubUrl}}/user/sign_up">{{.i18n.Tr "auth.sign_up_now" | Str2html}}</a> + </div> + {{end}} + </div> + </form> + </div> + </div> </div> {{template "base/footer" .}} diff --git a/templates/user/auth/signup.tmpl b/templates/user/auth/signup.tmpl index c237a20d85..86c020d6bb 100644 --- a/templates/user/auth/signup.tmpl +++ b/templates/user/auth/signup.tmpl @@ -1,56 +1,56 @@ {{template "base/head" .}} <div class="user signup"> - <div class="ui middle very relaxed page grid"> - <div class="column"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <h3 class="ui top attached header"> - {{if .IsSocialLogin}}{{.i18n.Tr "social_sign_in" | Str2html}}{{else}}{{.i18n.Tr "sign_up"}}{{end}} - </h3> - <div class="ui attached segment"> - {{template "base/alert" .}} - {{if .DisableRegistration}} - <p>{{.i18n.Tr "auth.disable_register_prompt"}}</p> - {{else}} - <div class="required inline field {{if .Err_UserName}}error{{end}}"> - <label for="user_name">{{.i18n.Tr "username"}}</label> - <input id="user_name" name="user_name" value="{{.user_name}}" autofocus required> - </div> - <div class="required inline field {{if .Err_Email}}error{{end}}"> - <label for="email">{{.i18n.Tr "email"}}</label> - <input id="email" name="email" type="email" value="{{.email}}" required> - </div> - <div class="required inline field {{if .Err_Password}}error{{end}}"> - <label for="password">{{.i18n.Tr "password"}}</label> - <input id="password" name="password" type="password" value="{{.password}}" required> - </div> - <div class="required inline field {{if .Err_Password}}error{{end}}"> - <label for="retype">{{.i18n.Tr "re_type"}}</label> - <input id="retype" name="retype" type="password" value="{{.retype}}" required> - </div> - {{if .EnableCaptcha}} - <div class="inline field"> - <label></label> - {{.Captcha.CreateHtml}} - </div> - <div class="required inline field {{if .Err_Captcha}}error{{end}}"> - <label for="captcha">{{.i18n.Tr "captcha"}}</label> - <input id="captcha" name="captcha" value="{{.captcha}}" autocomplete="off"> - </div> - {{end}} + <div class="ui middle very relaxed page grid"> + <div class="column"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <h3 class="ui top attached header"> + {{if .IsSocialLogin}}{{.i18n.Tr "social_sign_in" | Str2html}}{{else}}{{.i18n.Tr "sign_up"}}{{end}} + </h3> + <div class="ui attached segment"> + {{template "base/alert" .}} + {{if .DisableRegistration}} + <p>{{.i18n.Tr "auth.disable_register_prompt"}}</p> + {{else}} + <div class="required inline field {{if .Err_UserName}}error{{end}}"> + <label for="user_name">{{.i18n.Tr "username"}}</label> + <input id="user_name" name="user_name" value="{{.user_name}}" autofocus required> + </div> + <div class="required inline field {{if .Err_Email}}error{{end}}"> + <label for="email">{{.i18n.Tr "email"}}</label> + <input id="email" name="email" type="email" value="{{.email}}" required> + </div> + <div class="required inline field {{if .Err_Password}}error{{end}}"> + <label for="password">{{.i18n.Tr "password"}}</label> + <input id="password" name="password" type="password" value="{{.password}}" required> + </div> + <div class="required inline field {{if .Err_Password}}error{{end}}"> + <label for="retype">{{.i18n.Tr "re_type"}}</label> + <input id="retype" name="retype" type="password" value="{{.retype}}" required> + </div> + {{if .EnableCaptcha}} + <div class="inline field"> + <label></label> + {{.Captcha.CreateHtml}} + </div> + <div class="required inline field {{if .Err_Captcha}}error{{end}}"> + <label for="captcha">{{.i18n.Tr "captcha"}}</label> + <input id="captcha" name="captcha" value="{{.captcha}}" autocomplete="off"> + </div> + {{end}} - <div class="inline field"> - <label></label> - <button class="ui green button">{{.i18n.Tr "auth.create_new_account"}}</button> - </div> - <div class="inline field"> - <label></label> - <a href="{{AppSubUrl}}/user/login">{{if .IsSocialLogin}}{{.i18n.Tr "auth.social_register_hepler_msg"}}{{else}}{{.i18n.Tr "auth.register_hepler_msg"}}{{end}}</a> - </div> - {{end}} - </div> - </form> - </div> - </div> + <div class="inline field"> + <label></label> + <button class="ui green button">{{.i18n.Tr "auth.create_new_account"}}</button> + </div> + <div class="inline field"> + <label></label> + <a href="{{AppSubUrl}}/user/login">{{if .IsSocialLogin}}{{.i18n.Tr "auth.social_register_hepler_msg"}}{{else}}{{.i18n.Tr "auth.register_hepler_msg"}}{{end}}</a> + </div> + {{end}} + </div> + </form> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/user/dashboard/dashboard.tmpl b/templates/user/dashboard/dashboard.tmpl index 3bc6f9f6ca..eb7fa02fc1 100644 --- a/templates/user/dashboard/dashboard.tmpl +++ b/templates/user/dashboard/dashboard.tmpl @@ -1,115 +1,115 @@ {{template "base/head" .}} <div class="dashboard feeds"> - {{template "user/dashboard/navbar" .}} - <div class="ui container"> - <div class="ui grid"> - <div class="ten wide column"> - {{template "user/dashboard/feeds" .}} - </div> - <div class="six wide column"> - <div class="ui {{if not .ContextUser.IsOrganization}}three{{else}}two{{end}} item tabable menu"> - <a class="item active" data-tab="repos">{{.i18n.Tr "repository"}}</a> - {{if not .ContextUser.IsOrganization}} - <a class="item" data-tab="orgs">{{.i18n.Tr "organization"}}</a> - {{end}} - <a class="item" data-tab="mirrors">{{.i18n.Tr "mirror"}}</a> - </div> - <div class="ui tab active list" data-tab="repos"> - <h4 class="ui top attached header"> - {{.i18n.Tr "home.my_repos"}} <span class="ui grey label">{{.ContextUser.NumRepos}}</span> - <div class="ui right"> - <a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/repo/create">{{.i18n.Tr "new_repo"}}</a> - </div> - </h4> - <div class="ui attached table segment"> - <ul> - {{range .Repos}} - <li {{if .IsPrivate}}class="private"{{end}}> - <a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}"> - <i class="icon octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i> - <strong>{{.Name}}</strong> - <span class="ui right text light grey"> - <i class="octicon octicon-star"></i>{{.NumStars}} - </span> - </a> - </li> - {{end}} - </ul> - </div> + {{template "user/dashboard/navbar" .}} + <div class="ui container"> + <div class="ui grid"> + <div class="ten wide column"> + {{template "user/dashboard/feeds" .}} + </div> + <div class="six wide column"> + <div class="ui {{if not .ContextUser.IsOrganization}}three{{else}}two{{end}} item tabable menu"> + <a class="item active" data-tab="repos">{{.i18n.Tr "repository"}}</a> + {{if not .ContextUser.IsOrganization}} + <a class="item" data-tab="orgs">{{.i18n.Tr "organization"}}</a> + {{end}} + <a class="item" data-tab="mirrors">{{.i18n.Tr "mirror"}}</a> + </div> + <div class="ui tab active list" data-tab="repos"> + <h4 class="ui top attached header"> + {{.i18n.Tr "home.my_repos"}} <span class="ui grey label">{{.ContextUser.NumRepos}}</span> + <div class="ui right"> + <a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/repo/create">{{.i18n.Tr "new_repo"}}</a> + </div> + </h4> + <div class="ui attached table segment"> + <ul> + {{range .Repos}} + <li {{if .IsPrivate}}class="private"{{end}}> + <a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}"> + <i class="icon octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i> + <strong>{{.Name}}</strong> + <span class="ui right text light grey"> + <i class="octicon octicon-star"></i>{{.NumStars}} + </span> + </a> + </li> + {{end}} + </ul> + </div> - {{if not .ContextUser.IsOrganization}} - <h4 class="ui top attached header"> - {{.i18n.Tr "home.collaborative_repos"}} <span class="ui grey label">{{.CollaborateCount}}</span> - </h4> - <div class="ui attached table segment"> - <ul> - {{range .CollaborativeRepos}} - <li {{if .IsPrivate}}class="private"{{end}}> - <a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}"> - <i class="icon octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i> - {{.Owner.Name}} / <strong>{{.Name}}</strong> - <span class="ui right text light grey"> - <i class="octicon octicon-star"></i>{{.NumStars}} - </span> - </a> - </li> - {{end}} - </ul> - </div> - {{end}} - </div> + {{if not .ContextUser.IsOrganization}} + <h4 class="ui top attached header"> + {{.i18n.Tr "home.collaborative_repos"}} <span class="ui grey label">{{.CollaborateCount}}</span> + </h4> + <div class="ui attached table segment"> + <ul> + {{range .CollaborativeRepos}} + <li {{if .IsPrivate}}class="private"{{end}}> + <a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}"> + <i class="icon octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i> + {{.Owner.Name}} / <strong>{{.Name}}</strong> + <span class="ui right text light grey"> + <i class="octicon octicon-star"></i>{{.NumStars}} + </span> + </a> + </li> + {{end}} + </ul> + </div> + {{end}} + </div> - {{if not .ContextUser.IsOrganization}} - <div class="ui tab list" data-tab="orgs"> - <h4 class="ui top attached header"> - {{.i18n.Tr "home.my_orgs"}} <span class="ui grey label">{{.ContextUser.GetOrganizationCount}}</span> - <div class="ui right"> - <a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/org/create">{{.i18n.Tr "new_org"}}</a> - </div> - </h4> - <div class="ui attached table segment"> - <ul> - {{range .ContextUser.Orgs}} - <li> - <a href="{{AppSubUrl}}/{{.Name}}"> - <i class="icon octicon octicon-organization"></i> - <strong>{{.ShortName 20}}</strong> - <span class="ui right text light grey"> - <i class="octicon octicon-repo"></i>{{.NumRepos}} - </span> - </a> - </li> - {{end}} - </ul> - </div> - </div> - {{end}} + {{if not .ContextUser.IsOrganization}} + <div class="ui tab list" data-tab="orgs"> + <h4 class="ui top attached header"> + {{.i18n.Tr "home.my_orgs"}} <span class="ui grey label">{{.ContextUser.GetOrganizationCount}}</span> + <div class="ui right"> + <a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/org/create">{{.i18n.Tr "new_org"}}</a> + </div> + </h4> + <div class="ui attached table segment"> + <ul> + {{range .ContextUser.Orgs}} + <li> + <a href="{{AppSubUrl}}/{{.Name}}"> + <i class="icon octicon octicon-organization"></i> + <strong>{{.ShortName 20}}</strong> + <span class="ui right text light grey"> + <i class="octicon octicon-repo"></i>{{.NumRepos}} + </span> + </a> + </li> + {{end}} + </ul> + </div> + </div> + {{end}} - <div class="ui tab list" data-tab="mirrors"> - <h4 class="ui top attached header"> - {{.i18n.Tr "home.my_mirrors"}} <span class="ui grey label">{{.MirrorCount}}</span> - <div class="ui right"> - <a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/repo/migrate">{{.i18n.Tr "new_migrate"}}</a> - </div> - </h4> - <div class="ui attached table segment"> - <ul> - {{range .Mirrors}} - <li {{if .IsPrivate}}class="private"{{end}}> - <a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}"> - <i class="icon octicon octicon-repo-clone"></i> - <strong>{{.Name}}</strong> - <span class="ui right text light grey"> - <i class="octicon octicon-sync"></i>{{.Interval}}H - </span> - </a> - </li> - {{end}} - </ul> - </div> - </div> - </div> - </div> - </div> + <div class="ui tab list" data-tab="mirrors"> + <h4 class="ui top attached header"> + {{.i18n.Tr "home.my_mirrors"}} <span class="ui grey label">{{.MirrorCount}}</span> + <div class="ui right"> + <a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/repo/migrate">{{.i18n.Tr "new_migrate"}}</a> + </div> + </h4> + <div class="ui attached table segment"> + <ul> + {{range .Mirrors}} + <li {{if .IsPrivate}}class="private"{{end}}> + <a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}"> + <i class="icon octicon octicon-repo-clone"></i> + <strong>{{.Name}}</strong> + <span class="ui right text light grey"> + <i class="octicon octicon-sync"></i>{{.Interval}}H + </span> + </a> + </li> + {{end}} + </ul> + </div> + </div> + </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/user/dashboard/feeds.tmpl b/templates/user/dashboard/feeds.tmpl index fff1e16f60..e45fb4cfea 100644 --- a/templates/user/dashboard/feeds.tmpl +++ b/templates/user/dashboard/feeds.tmpl @@ -1,69 +1,69 @@ {{range .Feeds}} -<div class="news"> - <div class="ui left"> - <img class="ui avatar image" src="{{.ActAvatar}}" alt=""> - </div> - <div class="ui grid"> - <div class="ui fifteen wide column"> - <div class="{{if eq .GetOpType 5}}push news{{end}}"> - <p> - <a href="{{AppSubUrl}}/{{.GetActUserName}}">{{.GetActUserName}}</a> - {{if eq .GetOpType 1}} - {{$.i18n.Tr "action.create_repo" .GetRepoLink .GetRepoPath | Str2html}} - {{else if eq .GetOpType 2}} - {{$.i18n.Tr "action.rename_repo" .GetContent .GetRepoLink .GetRepoPath | Str2html}} - {{else if eq .GetOpType 5}} - {{ $branchLink := .GetBranch | EscapePound}} - {{$.i18n.Tr "action.commit_repo" .GetRepoLink $branchLink .GetBranch .GetRepoPath | Str2html}} - {{else if eq .GetOpType 6}} - {{ $index := index .GetIssueInfos 0}} - {{$.i18n.Tr "action.create_issue" .GetRepoLink $index .GetRepoPath | Str2html}} - {{else if eq .GetOpType 7}} - {{ $index := index .GetIssueInfos 0}} - {{$.i18n.Tr "action.create_pull_request" .GetRepoLink $index .GetRepoPath | Str2html}} - {{else if eq .GetOpType 8}} - {{$.i18n.Tr "action.transfer_repo" .GetContent .GetRepoLink .GetRepoPath | Str2html}} - {{else if eq .GetOpType 9}} - {{$.i18n.Tr "action.push_tag" .GetRepoLink .GetBranch .GetRepoPath | Str2html}} - {{else if eq .GetOpType 10}} - {{ $index := index .GetIssueInfos 0}} - {{$.i18n.Tr "action.comment_issue" .GetRepoLink $index .GetRepoPath | Str2html}} - {{else if eq .GetOpType 11}} - {{ $index := index .GetIssueInfos 0}} - {{$.i18n.Tr "action.merge_pull_request" .GetRepoLink $index .GetRepoPath | Str2html}} - {{end}} - </p> - {{if eq .GetOpType 5}} - <div class="content"> - <ul> - {{ $push := ActionContent2Commits .}} - {{ $repoLink := .GetRepoLink}} - {{if $push.Commits}} - {{range $push.Commits}} - <li><img class="img-8" src="{{$push.AvatarLink .AuthorEmail}}"> <a href="{{$repoLink}}/commit/{{.Sha1}}">{{ShortSha .Sha1}}</a> <span class="text truncate light grey">{{.Message}}</span></li> - {{end}} - {{end}} - {{if $push.CompareUrl}}<li><a href="{{AppSubUrl}}/{{$push.CompareUrl}}">{{$.i18n.Tr "action.compare_2_commits"}} »</a></li>{{end}} - </ul> - </div> - {{else if eq .GetOpType 6}} - <span class="text truncate issue title">{{index .GetIssueInfos 1}}</span> - <p class="text light grey">{{.GetIssueContent}}</p> - {{else if eq .GetOpType 7}} - <p class="text light grey">{{index .GetIssueInfos 1}}</p> - {{else if eq .GetOpType 10}} - <span class="text truncate issue title">{{.GetIssueTitle}}</span> - <p class="text light grey">{{index .GetIssueInfos 1}}</p> - {{else if eq .GetOpType 11}} - <p class="text light grey">{{index .GetIssueInfos 1}}</p> - {{end}} - <p class="text italic light grey">{{TimeSince .GetCreate $.i18n.Lang}}</p> - </div> - </div> - <div class="ui one wide column"> - <i class="text grey mega-octicon octicon-{{ActionIcon .GetOpType}}"></i> - </div> - </div> - <div class="ui divider"></div> -</div> -{{end}}
\ No newline at end of file + <div class="news"> + <div class="ui left"> + <img class="ui avatar image" src="{{.ActAvatar}}" alt=""> + </div> + <div class="ui grid"> + <div class="ui fifteen wide column"> + <div class="{{if eq .GetOpType 5}}push news{{end}}"> + <p> + <a href="{{AppSubUrl}}/{{.GetActUserName}}">{{.GetActUserName}}</a> + {{if eq .GetOpType 1}} + {{$.i18n.Tr "action.create_repo" .GetRepoLink .GetRepoPath | Str2html}} + {{else if eq .GetOpType 2}} + {{$.i18n.Tr "action.rename_repo" .GetContent .GetRepoLink .GetRepoPath | Str2html}} + {{else if eq .GetOpType 5}} + {{ $branchLink := .GetBranch | EscapePound}} + {{$.i18n.Tr "action.commit_repo" .GetRepoLink $branchLink .GetBranch .GetRepoPath | Str2html}} + {{else if eq .GetOpType 6}} + {{ $index := index .GetIssueInfos 0}} + {{$.i18n.Tr "action.create_issue" .GetRepoLink $index .GetRepoPath | Str2html}} + {{else if eq .GetOpType 7}} + {{ $index := index .GetIssueInfos 0}} + {{$.i18n.Tr "action.create_pull_request" .GetRepoLink $index .GetRepoPath | Str2html}} + {{else if eq .GetOpType 8}} + {{$.i18n.Tr "action.transfer_repo" .GetContent .GetRepoLink .GetRepoPath | Str2html}} + {{else if eq .GetOpType 9}} + {{$.i18n.Tr "action.push_tag" .GetRepoLink .GetBranch .GetRepoPath | Str2html}} + {{else if eq .GetOpType 10}} + {{ $index := index .GetIssueInfos 0}} + {{$.i18n.Tr "action.comment_issue" .GetRepoLink $index .GetRepoPath | Str2html}} + {{else if eq .GetOpType 11}} + {{ $index := index .GetIssueInfos 0}} + {{$.i18n.Tr "action.merge_pull_request" .GetRepoLink $index .GetRepoPath | Str2html}} + {{end}} + </p> + {{if eq .GetOpType 5}} + <div class="content"> + <ul> + {{ $push := ActionContent2Commits .}} + {{ $repoLink := .GetRepoLink}} + {{if $push.Commits}} + {{range $push.Commits}} + <li><img class="img-8" src="{{$push.AvatarLink .AuthorEmail}}"> <a href="{{$repoLink}}/commit/{{.Sha1}}">{{ShortSha .Sha1}}</a> <span class="text truncate light grey">{{.Message}}</span></li> + {{end}} + {{end}} + {{if $push.CompareUrl}}<li><a href="{{AppSubUrl}}/{{$push.CompareUrl}}">{{$.i18n.Tr "action.compare_2_commits"}} »</a></li>{{end}} + </ul> + </div> + {{else if eq .GetOpType 6}} + <span class="text truncate issue title">{{index .GetIssueInfos 1}}</span> + <p class="text light grey">{{.GetIssueContent}}</p> + {{else if eq .GetOpType 7}} + <p class="text light grey">{{index .GetIssueInfos 1}}</p> + {{else if eq .GetOpType 10}} + <span class="text truncate issue title">{{.GetIssueTitle}}</span> + <p class="text light grey">{{index .GetIssueInfos 1}}</p> + {{else if eq .GetOpType 11}} + <p class="text light grey">{{index .GetIssueInfos 1}}</p> + {{end}} + <p class="text italic light grey">{{TimeSince .GetCreate $.i18n.Lang}}</p> + </div> + </div> + <div class="ui one wide column"> + <i class="text grey mega-octicon octicon-{{ActionIcon .GetOpType}}"></i> + </div> + </div> + <div class="ui divider"></div> + </div> +{{end}} diff --git a/templates/user/dashboard/issues.tmpl b/templates/user/dashboard/issues.tmpl index 678dfecfc6..a99a478170 100644 --- a/templates/user/dashboard/issues.tmpl +++ b/templates/user/dashboard/issues.tmpl @@ -1,43 +1,43 @@ {{template "base/head" .}} <div class="dashboard issues"> - {{template "user/dashboard/navbar" .}} - <div class="ui container"> - <div class="ui grid"> - <div class="four wide column"> - <div class="ui secondary vertical filter menu"> - <a class="{{if eq .ViewType "all"}}ui basic blue button{{end}} item" href="{{.Link}}?repo={{.RepoID}}&sort={{$.SortType}}&state={{.State}}"> - {{.i18n.Tr "home.issues.in_your_repos"}} - <strong class="ui right">{{.IssueStats.AllCount}}</strong> - </a> - {{if not .ContextUser.IsOrganization}} - <a class="{{if eq .ViewType "assigned"}}ui basic blue button{{end}} item" href="{{.Link}}?type=assigned&repo={{.RepoID}}&sort={{$.SortType}}&state={{.State}}"> - {{.i18n.Tr "repo.issues.filter_type.assigned_to_you"}} - <strong class="ui right">{{.IssueStats.AssignCount}}</strong> - </a> - <a class="{{if eq .ViewType "created_by"}}ui basic blue button{{end}} item" href="{{.Link}}?type=created_by&repo={{.RepoID}}&sort={{$.SortType}}&state={{.State}}"> - {{.i18n.Tr "repo.issues.filter_type.created_by_you"}} - <strong class="ui right">{{.IssueStats.CreateCount}}</strong> - </a> - {{end}} - <div class="ui divider"></div> - {{range .Repos}} - <a class="{{if eq $.RepoID .ID}}ui basic blue button{{end}} repo name item" href="{{$.Link}}?type={{$.ViewType}}{{if not (eq $.RepoID .ID)}}&repo={{.ID}}{{end}}&sort={{$.SortType}}&state={{$.State}}"> - <span class="text truncate">{{$.ContextUser.Name}}/{{.Name}}</span> - <div class="floating ui {{if $.IsShowClosed}}red{{else}}green{{end}} label">{{if $.IsShowClosed}}{{.NumClosedIssues}}{{else}}{{.NumOpenIssues}}{{end}}</div> - </a> - {{end}} - </div> - </div> + {{template "user/dashboard/navbar" .}} + <div class="ui container"> + <div class="ui grid"> + <div class="four wide column"> + <div class="ui secondary vertical filter menu"> + <a class="{{if eq .ViewType "all"}}ui basic blue button{{end}} item" href="{{.Link}}?repo={{.RepoID}}&sort={{$.SortType}}&state={{.State}}"> + {{.i18n.Tr "home.issues.in_your_repos"}} + <strong class="ui right">{{.IssueStats.AllCount}}</strong> + </a> + {{if not .ContextUser.IsOrganization}} + <a class="{{if eq .ViewType "assigned"}}ui basic blue button{{end}} item" href="{{.Link}}?type=assigned&repo={{.RepoID}}&sort={{$.SortType}}&state={{.State}}"> + {{.i18n.Tr "repo.issues.filter_type.assigned_to_you"}} + <strong class="ui right">{{.IssueStats.AssignCount}}</strong> + </a> + <a class="{{if eq .ViewType "created_by"}}ui basic blue button{{end}} item" href="{{.Link}}?type=created_by&repo={{.RepoID}}&sort={{$.SortType}}&state={{.State}}"> + {{.i18n.Tr "repo.issues.filter_type.created_by_you"}} + <strong class="ui right">{{.IssueStats.CreateCount}}</strong> + </a> + {{end}} + <div class="ui divider"></div> + {{range .Repos}} + <a class="{{if eq $.RepoID .ID}}ui basic blue button{{end}} repo name item" href="{{$.Link}}?type={{$.ViewType}}{{if not (eq $.RepoID .ID)}}&repo={{.ID}}{{end}}&sort={{$.SortType}}&state={{$.State}}"> + <span class="text truncate">{{$.ContextUser.Name}}/{{.Name}}</span> + <div class="floating ui {{if $.IsShowClosed}}red{{else}}green{{end}} label">{{if $.IsShowClosed}}{{.NumClosedIssues}}{{else}}{{.NumOpenIssues}}{{end}}</div> + </a> + {{end}} + </div> + </div> <div class="twelve wide column content"> <div class="ui tiny basic status buttons"> - <a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort={{$.SortType}}&state=open"> - <i class="octicon octicon-issue-opened"></i> - {{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}} - </a> - <a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort={{$.SortType}}&state=closed"> - <i class="octicon octicon-issue-closed"></i> - {{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}} - </a> + <a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort={{$.SortType}}&state=open"> + <i class="octicon octicon-issue-opened"></i> + {{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}} + </a> + <a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort={{$.SortType}}&state=closed"> + <i class="octicon octicon-issue-closed"></i> + {{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}} + </a> </div> <div class="ui right floated secondary filter menu"> <!-- Sort --> @@ -46,63 +46,63 @@ {{.i18n.Tr "repo.issues.filter_sort"}} <i class="dropdown icon"></i> </span> - <div class="menu"> - <a class="{{if or (eq .SortType "latest") (not .SortType)}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=latest&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.latest"}}</a> - <a class="{{if eq .SortType "oldest"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=oldest&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.oldest"}}</a> - <a class="{{if eq .SortType "recentupdate"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=recentupdate&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.recentupdate"}}</a> - <a class="{{if eq .SortType "leastupdate"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=leastupdate&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.leastupdate"}}</a> - <a class="{{if eq .SortType "mostcomment"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=mostcomment&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.mostcomment"}}</a> - <a class="{{if eq .SortType "leastcomment"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=leastcomment&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.leastcomment"}}</a> + <div class="menu"> + <a class="{{if or (eq .SortType "latest") (not .SortType)}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=latest&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.latest"}}</a> + <a class="{{if eq .SortType "oldest"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=oldest&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.oldest"}}</a> + <a class="{{if eq .SortType "recentupdate"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=recentupdate&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.recentupdate"}}</a> + <a class="{{if eq .SortType "leastupdate"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=leastupdate&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.leastupdate"}}</a> + <a class="{{if eq .SortType "mostcomment"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=mostcomment&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.mostcomment"}}</a> + <a class="{{if eq .SortType "leastcomment"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=leastcomment&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.leastcomment"}}</a> </div> </div> </div> <div class="issue list"> {{range .Issues}} - {{ $timeStr:= TimeSince .Created $.Lang }} - <li class="item"> - <div class="ui label">{{if not $.RepoID}}{{.Repo.Name}}{{end}}#{{.Index}}</div> - <a class="title" href="{{AppSubUrl}}/{{.Repo.Owner.Name}}/{{.Repo.Name}}/issues/{{.Index}}">{{.Name}}</a> + {{ $timeStr:= TimeSince .Created $.Lang }} + <li class="item"> + <div class="ui label">{{if not $.RepoID}}{{.Repo.Name}}{{end}}#{{.Index}}</div> + <a class="title" href="{{AppSubUrl}}/{{.Repo.Owner.Name}}/{{.Repo.Name}}/issues/{{.Index}}">{{.Name}}</a> - {{if .NumComments}} - <span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span> - {{end}} - - <p class="desc"> - {{$.i18n.Tr "repo.issues.opened_by" $timeStr .Poster.HomeLink .Poster.Name | Safe}} - {{if .Assignee}} - <a class="ui right assignee poping up" href="{{.Assignee.HomeLink}}" data-content="{{.Assignee.Name}}" data-variation="inverted" data-position="left center"> - <img class="ui avatar image" src="{{.Assignee.AvatarLink}}"> - </a> - {{end}} - </p> - </li> - {{end}} - - {{with .Page}} - {{if gt .TotalPages 1}} - <div class="center page buttons"> - <div class="ui borderless pagination menu"> - <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Previous}}"{{end}}> - <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} - </a> - {{range .Pages}} - {{if eq .Num -1}} - <a class="disabled item">...</a> - {{else}} - <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Num}}"{{end}}>{{.Num}}</a> - {{end}} + {{if .NumComments}} + <span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span> {{end}} - <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Next}}"{{end}}> - {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> - </a> - </div> - </div> + + <p class="desc"> + {{$.i18n.Tr "repo.issues.opened_by" $timeStr .Poster.HomeLink .Poster.Name | Safe}} + {{if .Assignee}} + <a class="ui right assignee poping up" href="{{.Assignee.HomeLink}}" data-content="{{.Assignee.Name}}" data-variation="inverted" data-position="left center"> + <img class="ui avatar image" src="{{.Assignee.AvatarLink}}"> + </a> + {{end}} + </p> + </li> {{end}} + + {{with .Page}} + {{if gt .TotalPages 1}} + <div class="center page buttons"> + <div class="ui borderless pagination menu"> + <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Previous}}"{{end}}> + <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}} + </a> + {{range .Pages}} + {{if eq .Num -1}} + <a class="disabled item">...</a> + {{else}} + <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Num}}"{{end}}>{{.Num}}</a> + {{end}} + {{end}} + <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Next}}"{{end}}> + {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i> + </a> + </div> + </div> + {{end}} {{end}} </div> - </div> - </div> + </div> + </div> </div> </div> {{template "base/footer" .}} diff --git a/templates/user/dashboard/navbar.tmpl b/templates/user/dashboard/navbar.tmpl index eb74191702..c31f0b5542 100644 --- a/templates/user/dashboard/navbar.tmpl +++ b/templates/user/dashboard/navbar.tmpl @@ -1,53 +1,53 @@ <div class="ui container"> - <div class="ui floating dropdown link jump"> - <span class="text"> - <img class="ui avatar image" src="{{.ContextUser.AvatarLink}}"> - {{.ContextUser.ShortName 20}} - <i class="dropdown icon"></i> - </span> - <div class="context user overflow menu" tabindex="-1"> + <div class="ui floating dropdown link jump"> + <span class="text"> + <img class="ui avatar image" src="{{.ContextUser.AvatarLink}}"> + {{.ContextUser.ShortName 20}} + <i class="dropdown icon"></i> + </span> + <div class="context user overflow menu" tabindex="-1"> <div class="ui header"> {{.i18n.Tr "home.switch_dashboard_context"}} </div> - <div class="items"> - <a class="{{if eq .ContextUser.Id .SignedUser.Id}}active selected{{end}} item" href="{{AppSubUrl}}/{{if .PageIsIssues}}issues{{else if .PageIsPulls}}pulls{{end}}"> - <img class="ui avatar image" src="{{.SignedUser.AvatarLink}}"> - {{.SignedUser.Name}} - </a> - {{range .Orgs}} - <a class="{{if eq $.ContextUser.Id .Id}}active selected{{end}} item" href="{{AppSubUrl}}/org/{{.Name}}/{{if $.PageIsIssues}}issues{{else if $.PageIsPulls}}pulls{{else}}dashboard{{end}}"> - <img class="ui avatar image" src="{{.AvatarLink}}"> - {{.ShortName 20}} - </a> - {{end}} - </div> - <a class="item" href="{{AppSubUrl}}/org/create"> - <i class="octicon octicon-repo-create"></i> {{.i18n.Tr "new_org"}} - </a> - </div> - </div> + <div class="items"> + <a class="{{if eq .ContextUser.Id .SignedUser.Id}}active selected{{end}} item" href="{{AppSubUrl}}/{{if .PageIsIssues}}issues{{else if .PageIsPulls}}pulls{{end}}"> + <img class="ui avatar image" src="{{.SignedUser.AvatarLink}}"> + {{.SignedUser.Name}} + </a> + {{range .Orgs}} + <a class="{{if eq $.ContextUser.Id .Id}}active selected{{end}} item" href="{{AppSubUrl}}/org/{{.Name}}/{{if $.PageIsIssues}}issues{{else if $.PageIsPulls}}pulls{{else}}dashboard{{end}}"> + <img class="ui avatar image" src="{{.AvatarLink}}"> + {{.ShortName 20}} + </a> + {{end}} + </div> + <a class="item" href="{{AppSubUrl}}/org/create"> + <i class="octicon octicon-repo-create"></i> {{.i18n.Tr "new_org"}} + </a> + </div> + </div> - {{if .ContextUser.IsOrganization}} - <div class="ui right"> - <div class="ui secondary head menu"> - <a class="{{if .PageIsNews}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/dashboard"> - <i class="octicon octicon-rss"></i> {{.i18n.Tr "news_feed"}} - </a> - <a class="{{if .PageIsIssues}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/issues"> - <i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "issues"}} - </a> - <a class="{{if .PageIsPulls}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/pulls"> - <i class="octicon octicon-git-pull-request"></i> {{.i18n.Tr "pull_requests"}} - </a> - <div class="right menu"> - <div class="item"> - <a class="ui blue basic button" href="{{.ContextUser.HomeLink}}"> - {{.i18n.Tr "home.view_home" (.ContextUser.ShortName 10)}} - </a> - </div> - </div> - </div> - </div> - {{end}} + {{if .ContextUser.IsOrganization}} + <div class="ui right"> + <div class="ui secondary head menu"> + <a class="{{if .PageIsNews}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/dashboard"> + <i class="octicon octicon-rss"></i> {{.i18n.Tr "news_feed"}} + </a> + <a class="{{if .PageIsIssues}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/issues"> + <i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "issues"}} + </a> + <a class="{{if .PageIsPulls}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/pulls"> + <i class="octicon octicon-git-pull-request"></i> {{.i18n.Tr "pull_requests"}} + </a> + <div class="right menu"> + <div class="item"> + <a class="ui blue basic button" href="{{.ContextUser.HomeLink}}"> + {{.i18n.Tr "home.view_home" (.ContextUser.ShortName 10)}} + </a> + </div> + </div> + </div> + </div> + {{end}} </div> -<div class="ui divider"></div>
\ No newline at end of file +<div class="ui divider"></div> diff --git a/templates/user/profile.tmpl b/templates/user/profile.tmpl index a17261d138..f571f3a090 100644 --- a/templates/user/profile.tmpl +++ b/templates/user/profile.tmpl @@ -1,69 +1,69 @@ {{template "base/head" .}} <div class="user profile"> - <div class="ui container"> - <div class="ui grid"> - <div class="ui five wide column"> - <div class="ui card"> - {{if and (.Owner.UseCustomAvatar) (eq .SignedUserName .Owner.Name)}} - <a class="image poping up" href="{{AppSubUrl}}/user/settings" id="profile-avatar" data-content="{{.i18n.Tr "user.change_custom_avatar"}}" data-variation="inverted tiny" data-position="bottom center"> - <img src="{{.Owner.AvatarLink}}?s=290" title="{{.Owner.Name}}"/> - </a> - {{else if eq .SignedUserName .Owner.Name}} - <a class="image poping up" href="http://gravatar.com/emails/" id="profile-avatar" data-content="{{.i18n.Tr "user.change_avatar"}}" data-variation="inverted tiny" data-position="bottom center"> - <img src="{{.Owner.AvatarLink}}?s=290" title="{{.Owner.Name}}"/> - </a> - {{else}} - <span class="image"> - <img src="{{.Owner.AvatarLink}}?s=290" title="{{.Owner.Name}}"/> - </span> - {{end}} - <div class="content"> - {{if .Owner.FullName}}<span class="header text center">{{.Owner.FullName}}</span>{{end}} - <span class="username text center">{{.Owner.Name}}</span> - </div> - <div class="extra content"> - <ul class="text black"> - {{if .Owner.Location}} - <li><i class="icon octicon octicon-location"></i> {{.Owner.Location}}</li> - {{end}} - {{if and .Owner.Email .IsSigned}} - <li> - <i class="icon octicon octicon-mail"></i> - <a href="mailto:{{.Owner.Email}}" rel="nofollow">{{.Owner.Email}}</a> - </li> - {{end}} - {{if .Owner.Website}} - <li> - <i class="icon octicon octicon-link"></i> - <a target="_blank" href="{{.Owner.Website}}">{{.Owner.Website}}</a> - </li> - {{end}} - <li><i class="icon octicon octicon-clock"></i> {{.i18n.Tr "user.join_on"}} {{DateFmtShort .Owner.Created}}</li> - </ul> - </div> - </div> - </div> - <div class="ui eleven wide column"> - <div class="ui secondary pointing menu"> - <a class="{{if ne .TabName "activity"}}active{{end}} item" href="{{.Owner.HomeLink}}"> - <i class="icon octicon octicon-repo"></i> {{.i18n.Tr "user.repositories"}} - </a> - <a class="item"> - <a class="{{if eq .TabName "activity"}}active{{end}} item" href="{{.Owner.HomeLink}}?tab=activity"> - <i class="icon octicon octicon-rss"></i> {{.i18n.Tr "user.activity"}} - </a> - </a> - </div> - {{if ne .TabName "activity"}} - {{template "explore/repo_list" .}} - {{else}} - <br> - <div class="feeds"> - {{template "user/dashboard/feeds" .}} - </div> - {{end}} - </div> - </div> - </div> + <div class="ui container"> + <div class="ui grid"> + <div class="ui five wide column"> + <div class="ui card"> + {{if and (.Owner.UseCustomAvatar) (eq .SignedUserName .Owner.Name)}} + <a class="image poping up" href="{{AppSubUrl}}/user/settings" id="profile-avatar" data-content="{{.i18n.Tr "user.change_custom_avatar"}}" data-variation="inverted tiny" data-position="bottom center"> + <img src="{{.Owner.AvatarLink}}?s=290" title="{{.Owner.Name}}"/> + </a> + {{else if eq .SignedUserName .Owner.Name}} + <a class="image poping up" href="http://gravatar.com/emails/" id="profile-avatar" data-content="{{.i18n.Tr "user.change_avatar"}}" data-variation="inverted tiny" data-position="bottom center"> + <img src="{{.Owner.AvatarLink}}?s=290" title="{{.Owner.Name}}"/> + </a> + {{else}} + <span class="image"> + <img src="{{.Owner.AvatarLink}}?s=290" title="{{.Owner.Name}}"/> + </span> + {{end}} + <div class="content"> + {{if .Owner.FullName}}<span class="header text center">{{.Owner.FullName}}</span>{{end}} + <span class="username text center">{{.Owner.Name}}</span> + </div> + <div class="extra content"> + <ul class="text black"> + {{if .Owner.Location}} + <li><i class="icon octicon octicon-location"></i> {{.Owner.Location}}</li> + {{end}} + {{if and .Owner.Email .IsSigned}} + <li> + <i class="icon octicon octicon-mail"></i> + <a href="mailto:{{.Owner.Email}}" rel="nofollow">{{.Owner.Email}}</a> + </li> + {{end}} + {{if .Owner.Website}} + <li> + <i class="icon octicon octicon-link"></i> + <a target="_blank" href="{{.Owner.Website}}">{{.Owner.Website}}</a> + </li> + {{end}} + <li><i class="icon octicon octicon-clock"></i> {{.i18n.Tr "user.join_on"}} {{DateFmtShort .Owner.Created}}</li> + </ul> + </div> + </div> + </div> + <div class="ui eleven wide column"> + <div class="ui secondary pointing menu"> + <a class="{{if ne .TabName "activity"}}active{{end}} item" href="{{.Owner.HomeLink}}"> + <i class="icon octicon octicon-repo"></i> {{.i18n.Tr "user.repositories"}} + </a> + <a class="item"> + <a class="{{if eq .TabName "activity"}}active{{end}} item" href="{{.Owner.HomeLink}}?tab=activity"> + <i class="icon octicon octicon-rss"></i> {{.i18n.Tr "user.activity"}} + </a> + </a> + </div> + {{if ne .TabName "activity"}} + {{template "explore/repo_list" .}} + {{else}} + <br> + <div class="feeds"> + {{template "user/dashboard/feeds" .}} + </div> + {{end}} + </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/user/settings/applications.tmpl b/templates/user/settings/applications.tmpl index 37de6d151f..b5bacf7765 100644 --- a/templates/user/settings/applications.tmpl +++ b/templates/user/settings/applications.tmpl @@ -1,85 +1,85 @@ {{template "base/head" .}} <div class="user settings"> - <div class="ui container"> - <div class="ui grid"> - {{template "user/settings/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "settings.manage_access_token"}} - <div class="ui right"> - <div class="ui blue tiny show-panel button" data-panel="#add-access-token-panel">{{.i18n.Tr "settings.generate_new_token"}}</div> - </div> - </h4> - <div class="ui attached segment"> - <div class="ui key list"> - <div class="item"> - {{.i18n.Tr "settings.tokens_desc"}} - </div> - {{range .Tokens}} - <div class="item ui grid"> - <div class="one wide column"> - <i class="ssh-key-state-indicator fa fa-circle{{if .HasRecentActivity}} active invert poping up{{else}}-o{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.token_state_desc"}}" data-variation="inverted tiny"{{end}}></i> - </div> - <div class="one wide column"> - <i class="fa fa-send fa-2x left"></i> - </div> - <div class="eleven wide column"> - <strong>{{.Name}}</strong> - <div class="activity meta"> - <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i> - </div> - </div> - <div class="two wide column"> - <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}"> - {{$.i18n.Tr "settings.delete_token"}} - </button> - </div> - </div> - {{end}} - </div> - </div> - <br> - <div {{if not .HasError}}class="hide"{{end}} id="add-access-token-panel"> - <h4 class="ui top attached header"> - {{.i18n.Tr "settings.generate_new_token"}} - </h4> - <div class="ui attached segment"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <p>{{.i18n.Tr "settings.new_token_desc"}}</p> - <div class="field {{if .Err_Name}}error{{end}}"> - <label for="name">{{.i18n.Tr "settings.token_name"}}</label> - <input id="name" name="name" value="{{.name}}" autofocus required> - </div> - <button class="ui green button"> - {{.i18n.Tr "settings.generate_token"}} - </button> - </form> - </div> - </div> - </div> - </div> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "user/settings/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "settings.manage_access_token"}} + <div class="ui right"> + <div class="ui blue tiny show-panel button" data-panel="#add-access-token-panel">{{.i18n.Tr "settings.generate_new_token"}}</div> + </div> + </h4> + <div class="ui attached segment"> + <div class="ui key list"> + <div class="item"> + {{.i18n.Tr "settings.tokens_desc"}} + </div> + {{range .Tokens}} + <div class="item ui grid"> + <div class="one wide column"> + <i class="ssh-key-state-indicator fa fa-circle{{if .HasRecentActivity}} active invert poping up{{else}}-o{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.token_state_desc"}}" data-variation="inverted tiny"{{end}}></i> + </div> + <div class="one wide column"> + <i class="fa fa-send fa-2x left"></i> + </div> + <div class="eleven wide column"> + <strong>{{.Name}}</strong> + <div class="activity meta"> + <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i> + </div> + </div> + <div class="two wide column"> + <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}"> + {{$.i18n.Tr "settings.delete_token"}} + </button> + </div> + </div> + {{end}} + </div> + </div> + <br> + <div {{if not .HasError}}class="hide"{{end}} id="add-access-token-panel"> + <h4 class="ui top attached header"> + {{.i18n.Tr "settings.generate_new_token"}} + </h4> + <div class="ui attached segment"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <p>{{.i18n.Tr "settings.new_token_desc"}}</p> + <div class="field {{if .Err_Name}}error{{end}}"> + <label for="name">{{.i18n.Tr "settings.token_name"}}</label> + <input id="name" name="name" value="{{.name}}" autofocus required> + </div> + <button class="ui green button"> + {{.i18n.Tr "settings.generate_token"}} + </button> + </form> + </div> + </div> + </div> + </div> + </div> </div> <div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "settings.access_token_deletion"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "settings.access_token_deletion_desc"}}</p> - </div> - <div class="actions"> - <div class="ui red basic inverted cancel button"> - <i class="remove icon"></i> - {{.i18n.Tr "modal.no"}} - </div> - <div class="ui green basic inverted ok button"> - <i class="checkmark icon"></i> - {{.i18n.Tr "modal.yes"}} - </div> - </div> + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "settings.access_token_deletion"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "settings.access_token_deletion_desc"}}</p> + </div> + <div class="actions"> + <div class="ui red basic inverted cancel button"> + <i class="remove icon"></i> + {{.i18n.Tr "modal.no"}} + </div> + <div class="ui green basic inverted ok button"> + <i class="checkmark icon"></i> + {{.i18n.Tr "modal.yes"}} + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/user/settings/delete.tmpl b/templates/user/settings/delete.tmpl index 6b490ad291..b95eb2105f 100644 --- a/templates/user/settings/delete.tmpl +++ b/templates/user/settings/delete.tmpl @@ -1,42 +1,42 @@ {{template "base/head" .}} <div class="user settings delete"> - <div class="ui container"> - <div class="ui grid"> - {{template "user/settings/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached warning header"> - {{.i18n.Tr "settings.delete_account"}} - </h4> - <div class="ui attached warning segment"> - <div class="ui red message"> - <p class="text left"><i class="octicon octicon-alert"></i> {{.i18n.Tr "settings.delete_prompt" | Str2html}}</p> - </div> - <form class="ui form" id="delete-form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <input class="fake" type="password"> - <div class="inline required field {{if .Err_Password}}error{{end}}"> - <label for="password">{{.i18n.Tr "password"}}</label> - <input id="password" name="password" type="password" autofocus required> - </div> - <div class="ui red button delete-button" data-type="form" data-form="#delete-form"> - {{.i18n.Tr "settings.confirm_delete_account"}} - </div> - </form> - </div> - </div> - </div> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "user/settings/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached warning header"> + {{.i18n.Tr "settings.delete_account"}} + </h4> + <div class="ui attached warning segment"> + <div class="ui red message"> + <p class="text left"><i class="octicon octicon-alert"></i> {{.i18n.Tr "settings.delete_prompt" | Str2html}}</p> + </div> + <form class="ui form" id="delete-form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <input class="fake" type="password"> + <div class="inline required field {{if .Err_Password}}error{{end}}"> + <label for="password">{{.i18n.Tr "password"}}</label> + <input id="password" name="password" type="password" autofocus required> + </div> + <div class="ui red button delete-button" data-type="form" data-form="#delete-form"> + {{.i18n.Tr "settings.confirm_delete_account"}} + </div> + </form> + </div> + </div> + </div> + </div> </div> <div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "settings.delete_account_title"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "settings.delete_account_desc"}}</p> - </div> - {{template "base/delete_modal_actions" .}} + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "settings.delete_account_title"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "settings.delete_account_desc"}}</p> + </div> + {{template "base/delete_modal_actions" .}} </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/user/settings/email.tmpl b/templates/user/settings/email.tmpl index a9667dde91..558145302f 100644 --- a/templates/user/settings/email.tmpl +++ b/templates/user/settings/email.tmpl @@ -1,70 +1,70 @@ {{template "base/head" .}} <div class="user settings emails"> - <div class="ui container"> - <div class="ui grid"> - {{template "user/settings/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "settings.manage_emails"}} - </h4> - <div class="ui attached segment"> - <div class="ui email list"> - <div class="item"> - {{.i18n.Tr "settings.email_desc"}} - </div> - {{range .Emails}} - <div class="item ui grid"> - <div class="column"> - <strong>{{.Email}}</strong> - {{if .IsPrimary}}<span class="text red">{{$.i18n.Tr "settings.primary"}}</span>{{end}} - {{if not .IsPrimary}} - <div class="ui right"> - <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}"> - {{$.i18n.Tr "settings.delete_key"}} - </button> - </div> - {{if .IsActivated}} - <div class="ui right"> - <form action="{{$.Link}}" method="post"> - {{$.CsrfTokenHtml}} - <input name="_method" type="hidden" value="PRIMARY"> - <input name="id" type="hidden" value="{{.ID}}"> - <button class="ui green tiny button">{{$.i18n.Tr "settings.primary_email"}}</button> - </form> - </div> - {{end}} - {{end}} - </div> - </div> - {{end}} - </div> - </div> - <div class="ui attached bottom segment"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <div class="required field {{if .Err_Email}}error{{end}}"> - <label for="email">{{.i18n.Tr "settings.add_new_email"}}</label> - <input id="email" name="email" type="email" autofocus required> - </div> - <button class="ui green button"> - {{.i18n.Tr "settings.add_email"}} - </button> - </form> - </div> - </div> - </div> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "user/settings/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "settings.manage_emails"}} + </h4> + <div class="ui attached segment"> + <div class="ui email list"> + <div class="item"> + {{.i18n.Tr "settings.email_desc"}} + </div> + {{range .Emails}} + <div class="item ui grid"> + <div class="column"> + <strong>{{.Email}}</strong> + {{if .IsPrimary}}<span class="text red">{{$.i18n.Tr "settings.primary"}}</span>{{end}} + {{if not .IsPrimary}} + <div class="ui right"> + <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}"> + {{$.i18n.Tr "settings.delete_key"}} + </button> + </div> + {{if .IsActivated}} + <div class="ui right"> + <form action="{{$.Link}}" method="post"> + {{$.CsrfTokenHtml}} + <input name="_method" type="hidden" value="PRIMARY"> + <input name="id" type="hidden" value="{{.ID}}"> + <button class="ui green tiny button">{{$.i18n.Tr "settings.primary_email"}}</button> + </form> + </div> + {{end}} + {{end}} + </div> + </div> + {{end}} + </div> + </div> + <div class="ui attached bottom segment"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_Email}}error{{end}}"> + <label for="email">{{.i18n.Tr "settings.add_new_email"}}</label> + <input id="email" name="email" type="email" autofocus required> + </div> + <button class="ui green button"> + {{.i18n.Tr "settings.add_email"}} + </button> + </form> + </div> + </div> + </div> + </div> </div> <div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "settings.email_deletion"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "settings.email_deletion_desc"}}</p> - </div> - {{template "base/delete_modal_actions" .}} + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "settings.email_deletion"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "settings.email_deletion_desc"}}</p> + </div> + {{template "base/delete_modal_actions" .}} </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/user/settings/navbar.tmpl b/templates/user/settings/navbar.tmpl index 5c8773a84b..87e24522b4 100644 --- a/templates/user/settings/navbar.tmpl +++ b/templates/user/settings/navbar.tmpl @@ -1,23 +1,23 @@ <div class="four wide column"> <div class="ui vertical menu"> <div class="header item">{{.i18n.Tr "settings"}}</div> - <a class="{{if .PageIsSettingsProfile}}active{{end}} item" href="{{AppSubUrl}}/user/settings"> - {{.i18n.Tr "settings.profile"}} - </a> - <a class="{{if .PageIsSettingsPassword}}active{{end}} item" href="{{AppSubUrl}}/user/settings/password"> - {{.i18n.Tr "settings.password"}} - </a> - <a class="{{if .PageIsSettingsEmails}}active{{end}} item" href="{{AppSubUrl}}/user/settings/email"> - {{.i18n.Tr "settings.emails"}} - </a> - <a class="{{if .PageIsSettingsSSHKeys}}active{{end}} item" href="{{AppSubUrl}}/user/settings/ssh"> - {{.i18n.Tr "settings.ssh_keys"}} - </a> - <a class="{{if .PageIsSettingsApplications}}active{{end}} item" href="{{AppSubUrl}}/user/settings/applications"> - {{.i18n.Tr "settings.applications"}} - </a> - <a class="{{if .PageIsSettingsDelete}}active{{end}} item" href="{{AppSubUrl}}/user/settings/delete"> - {{.i18n.Tr "settings.delete"}} - </a> + <a class="{{if .PageIsSettingsProfile}}active{{end}} item" href="{{AppSubUrl}}/user/settings"> + {{.i18n.Tr "settings.profile"}} + </a> + <a class="{{if .PageIsSettingsPassword}}active{{end}} item" href="{{AppSubUrl}}/user/settings/password"> + {{.i18n.Tr "settings.password"}} + </a> + <a class="{{if .PageIsSettingsEmails}}active{{end}} item" href="{{AppSubUrl}}/user/settings/email"> + {{.i18n.Tr "settings.emails"}} + </a> + <a class="{{if .PageIsSettingsSSHKeys}}active{{end}} item" href="{{AppSubUrl}}/user/settings/ssh"> + {{.i18n.Tr "settings.ssh_keys"}} + </a> + <a class="{{if .PageIsSettingsApplications}}active{{end}} item" href="{{AppSubUrl}}/user/settings/applications"> + {{.i18n.Tr "settings.applications"}} + </a> + <a class="{{if .PageIsSettingsDelete}}active{{end}} item" href="{{AppSubUrl}}/user/settings/delete"> + {{.i18n.Tr "settings.delete"}} + </a> </div> </div> diff --git a/templates/user/settings/password.tmpl b/templates/user/settings/password.tmpl index d56952b19f..e29e807e96 100644 --- a/templates/user/settings/password.tmpl +++ b/templates/user/settings/password.tmpl @@ -1,36 +1,36 @@ {{template "base/head" .}} <div class="user settings password"> - <div class="ui container"> - <div class="ui grid"> - {{template "user/settings/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "settings.change_password"}} - </h4> - <div class="ui attached segment"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <div class="required field {{if .Err_OldPassword}}error{{end}}"> - <label for="old_password">{{.i18n.Tr "settings.old_password"}}</label> - <input id="old_password" name="old_password" type="password" autofocus required> - </div> - <div class="required field {{if .Err_Password}}error{{end}}"> - <label for="password">{{.i18n.Tr "settings.new_password"}}</label> - <input id="password" name="password" type="password" required> - </div> - <div class="required field {{if .Err_Password}}error{{end}}"> - <label for="retype">{{.i18n.Tr "settings.retype_new_password"}}</label> - <input id="retype" name="retype" type="password" required> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "user/settings/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "settings.change_password"}} + </h4> + <div class="ui attached segment"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_OldPassword}}error{{end}}"> + <label for="old_password">{{.i18n.Tr "settings.old_password"}}</label> + <input id="old_password" name="old_password" type="password" autofocus required> + </div> + <div class="required field {{if .Err_Password}}error{{end}}"> + <label for="password">{{.i18n.Tr "settings.new_password"}}</label> + <input id="password" name="password" type="password" required> + </div> + <div class="required field {{if .Err_Password}}error{{end}}"> + <label for="retype">{{.i18n.Tr "settings.retype_new_password"}}</label> + <input id="retype" name="retype" type="password" required> + </div> - <div class="field"> - <button class="ui green button">{{$.i18n.Tr "settings.change_password"}}</button> - </div> - </form> - </div> - </div> - </div> - </div> + <div class="field"> + <button class="ui green button">{{$.i18n.Tr "settings.change_password"}}</button> + </div> + </form> + </div> + </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/user/settings/profile.tmpl b/templates/user/settings/profile.tmpl index d9bf7af09a..37d5683671 100644 --- a/templates/user/settings/profile.tmpl +++ b/templates/user/settings/profile.tmpl @@ -1,70 +1,70 @@ {{template "base/head" .}} <div class="user settings profile"> - <div class="ui container"> - <div class="ui grid"> - {{template "user/settings/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "settings.public_profile"}} - </h4> - <div class="ui attached segment"> - <p>{{.i18n.Tr "settings.profile_desc"}}</p> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <div class="required field {{if .Err_Name}}error{{end}}"> - <label for="username">{{.i18n.Tr "username"}}<span class="text red hide" id="name-change-prompt"> {{.i18n.Tr "settings.change_username_prompt"}}</span></label> - <input id="username" name="name" value="{{.SignedUser.Name}}" data-name="{{.SignedUser.Name}}" autofocus required> - </div> - <div class="field {{if .Err_FullName}}error{{end}}"> - <label for="full_name">{{.i18n.Tr "settings.full_name"}}</label> - <input id="full_name" name="full_name" value="{{.SignedUser.FullName}}"> - </div> - <div class="required field {{if .Err_Email}}error{{end}}"> - <label for="email">{{.i18n.Tr "email"}}</label> - <input id="email" name="email" value="{{.SignedUser.Email}}"> - </div> - <div class="field {{if .Err_Website}}error{{end}}"> - <label for="website">{{.i18n.Tr "settings.website"}}</label> - <input id="website" name="website" type="url" value="{{.SignedUser.Website}}"> - </div> - <div class="field"> - <label for="location">{{.i18n.Tr "settings.location"}}</label> - <input id="location" name="location" value="{{.SignedUser.Location}}"> - </div> - <div class="required field {{if or DisableGravatar .SignedUser.UseCustomAvatar}}hide{{end}} {{if .Err_Gravatar}}error{{end}}"> - <label for="gravatar">Gravatar {{.i18n.Tr "email"}}</label> - <input id="gravatar" name="gravatar" value="{{.SignedUser.AvatarEmail}}" /> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "user/settings/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "settings.public_profile"}} + </h4> + <div class="ui attached segment"> + <p>{{.i18n.Tr "settings.profile_desc"}}</p> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_Name}}error{{end}}"> + <label for="username">{{.i18n.Tr "username"}}<span class="text red hide" id="name-change-prompt"> {{.i18n.Tr "settings.change_username_prompt"}}</span></label> + <input id="username" name="name" value="{{.SignedUser.Name}}" data-name="{{.SignedUser.Name}}" autofocus required> + </div> + <div class="field {{if .Err_FullName}}error{{end}}"> + <label for="full_name">{{.i18n.Tr "settings.full_name"}}</label> + <input id="full_name" name="full_name" value="{{.SignedUser.FullName}}"> + </div> + <div class="required field {{if .Err_Email}}error{{end}}"> + <label for="email">{{.i18n.Tr "email"}}</label> + <input id="email" name="email" value="{{.SignedUser.Email}}"> + </div> + <div class="field {{if .Err_Website}}error{{end}}"> + <label for="website">{{.i18n.Tr "settings.website"}}</label> + <input id="website" name="website" type="url" value="{{.SignedUser.Website}}"> + </div> + <div class="field"> + <label for="location">{{.i18n.Tr "settings.location"}}</label> + <input id="location" name="location" value="{{.SignedUser.Location}}"> + </div> + <div class="required field {{if or DisableGravatar .SignedUser.UseCustomAvatar}}hide{{end}} {{if .Err_Gravatar}}error{{end}}"> + <label for="gravatar">Gravatar {{.i18n.Tr "email"}}</label> + <input id="gravatar" name="gravatar" value="{{.SignedUser.AvatarEmail}}" /> + </div> - <div class="field"> - <button class="ui green button">{{$.i18n.Tr "settings.update_profile"}}</button> - </div> - </form> + <div class="field"> + <button class="ui green button">{{$.i18n.Tr "settings.update_profile"}}</button> + </div> + </form> - <div class="ui divider"></div> + <div class="ui divider"></div> - <form class="ui form" action="{{.Link}}/avatar" method="post" enctype="multipart/form-data"> - {{.CsrfTokenHtml}} - <div class="inline field"> - <label>{{.i18n.Tr "settings.enable_custom_avatar"}}</label> - <div class="ui checkbox"> - <input name="enable" type="checkbox" {{if .SignedUser.UseCustomAvatar}}checked{{end}}> - <label>{{.i18n.Tr "settings.enable_custom_avatar_helper"}}</label> - </div> - </div> - <div class="inline field"> - <label for="avatar">{{.i18n.Tr "settings.choose_new_avatar"}}</label> - <input name="avatar" type="file" > - </div> + <form class="ui form" action="{{.Link}}/avatar" method="post" enctype="multipart/form-data"> + {{.CsrfTokenHtml}} + <div class="inline field"> + <label>{{.i18n.Tr "settings.enable_custom_avatar"}}</label> + <div class="ui checkbox"> + <input name="enable" type="checkbox" {{if .SignedUser.UseCustomAvatar}}checked{{end}}> + <label>{{.i18n.Tr "settings.enable_custom_avatar_helper"}}</label> + </div> + </div> + <div class="inline field"> + <label for="avatar">{{.i18n.Tr "settings.choose_new_avatar"}}</label> + <input name="avatar" type="file" > + </div> - <div class="field"> - <button class="ui green button">{{$.i18n.Tr "settings.update_avatar"}}</button> - </div> - </form> - </div> - </div> - </div> - </div> + <div class="field"> + <button class="ui green button">{{$.i18n.Tr "settings.update_avatar"}}</button> + </div> + </form> + </div> + </div> + </div> + </div> </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} diff --git a/templates/user/settings/sshkeys.tmpl b/templates/user/settings/sshkeys.tmpl index 4c2177278b..33426fdc56 100644 --- a/templates/user/settings/sshkeys.tmpl +++ b/templates/user/settings/sshkeys.tmpl @@ -1,83 +1,83 @@ {{template "base/head" .}} <div class="user settings sshkeys"> - <div class="ui container"> - <div class="ui grid"> - {{template "user/settings/navbar" .}} - <div class="twelve wide column content"> - {{template "base/alert" .}} - <h4 class="ui top attached header"> - {{.i18n.Tr "settings.manage_ssh_keys"}} - <div class="ui right"> - <div class="ui blue tiny show-panel button" data-panel="#add-ssh-key-panel">{{.i18n.Tr "settings.add_key"}}</div> - </div> - </h4> - <div class="ui attached segment"> - <div class="ui key list"> - <div class="item"> - {{.i18n.Tr "settings.ssh_desc"}} - </div> - {{range .Keys}} - <div class="item ui grid"> - <div class="one wide column"> - <i class="ssh-key-state-indicator fa fa-circle{{if .HasRecentActivity}} active invert poping up{{else}}-o{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted tiny"{{end}}></i> - </div> - <div class="one wide column"> - <i class="mega-octicon octicon-key left"></i> - </div> - <div class="eleven wide column"> - <strong>{{.Name}}</strong> - <div class="print meta"> - {{.Fingerprint}} - </div> - <div class="activity meta"> - <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i> - </div> - </div> - <div class="two wide column"> - <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}"> - {{$.i18n.Tr "settings.delete_key"}} - </button> - </div> - </div> - {{end}} - </div> - </div> - <br> - <p>{{.i18n.Tr "settings.ssh_helper" "https://help.github.com/articles/generating-ssh-keys" "https://help.github.com/ssh-issues/" | Str2html}}</p> - <div {{if not .HasError}}class="hide"{{end}} id="add-ssh-key-panel"> - <h4 class="ui top attached header"> - {{.i18n.Tr "settings.add_new_key"}} - </h4> - <div class="ui attached segment"> - <form class="ui form" action="{{.Link}}" method="post"> - {{.CsrfTokenHtml}} - <div class="field {{if .Err_Title}}error{{end}}"> - <label for="title">{{.i18n.Tr "settings.key_name"}}</label> - <input id="title" name="title" value="{{.title}}" autofocus required> - </div> - <div class="field {{if .Err_Content}}error{{end}}"> - <label for="content">{{.i18n.Tr "settings.key_content"}}</label> - <textarea id="content" name="content" required>{{.content}}</textarea> - </div> - <button class="ui green button"> - {{.i18n.Tr "settings.add_key"}} - </button> - </form> - </div> - </div> - </div> - </div> - </div> + <div class="ui container"> + <div class="ui grid"> + {{template "user/settings/navbar" .}} + <div class="twelve wide column content"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{.i18n.Tr "settings.manage_ssh_keys"}} + <div class="ui right"> + <div class="ui blue tiny show-panel button" data-panel="#add-ssh-key-panel">{{.i18n.Tr "settings.add_key"}}</div> + </div> + </h4> + <div class="ui attached segment"> + <div class="ui key list"> + <div class="item"> + {{.i18n.Tr "settings.ssh_desc"}} + </div> + {{range .Keys}} + <div class="item ui grid"> + <div class="one wide column"> + <i class="ssh-key-state-indicator fa fa-circle{{if .HasRecentActivity}} active invert poping up{{else}}-o{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted tiny"{{end}}></i> + </div> + <div class="one wide column"> + <i class="mega-octicon octicon-key left"></i> + </div> + <div class="eleven wide column"> + <strong>{{.Name}}</strong> + <div class="print meta"> + {{.Fingerprint}} + </div> + <div class="activity meta"> + <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i> + </div> + </div> + <div class="two wide column"> + <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}"> + {{$.i18n.Tr "settings.delete_key"}} + </button> + </div> + </div> + {{end}} + </div> + </div> + <br> + <p>{{.i18n.Tr "settings.ssh_helper" "https://help.github.com/articles/generating-ssh-keys" "https://help.github.com/ssh-issues/" | Str2html}}</p> + <div {{if not .HasError}}class="hide"{{end}} id="add-ssh-key-panel"> + <h4 class="ui top attached header"> + {{.i18n.Tr "settings.add_new_key"}} + </h4> + <div class="ui attached segment"> + <form class="ui form" action="{{.Link}}" method="post"> + {{.CsrfTokenHtml}} + <div class="field {{if .Err_Title}}error{{end}}"> + <label for="title">{{.i18n.Tr "settings.key_name"}}</label> + <input id="title" name="title" value="{{.title}}" autofocus required> + </div> + <div class="field {{if .Err_Content}}error{{end}}"> + <label for="content">{{.i18n.Tr "settings.key_content"}}</label> + <textarea id="content" name="content" required>{{.content}}</textarea> + </div> + <button class="ui green button"> + {{.i18n.Tr "settings.add_key"}} + </button> + </form> + </div> + </div> + </div> + </div> + </div> </div> <div class="ui small basic delete modal"> - <div class="ui icon header"> - <i class="trash icon"></i> - {{.i18n.Tr "settings.ssh_key_deletion"}} - </div> - <div class="content"> - <p>{{.i18n.Tr "settings.ssh_key_deletion_desc"}}</p> - </div> - {{template "base/delete_modal_actions" .}} + <div class="ui icon header"> + <i class="trash icon"></i> + {{.i18n.Tr "settings.ssh_key_deletion"}} + </div> + <div class="content"> + <p>{{.i18n.Tr "settings.ssh_key_deletion_desc"}}</p> + </div> + {{template "base/delete_modal_actions" .}} </div> -{{template "base/footer" .}}
\ No newline at end of file +{{template "base/footer" .}} |