diff options
Diffstat (limited to 'templates')
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" .}} |