mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-26 09:09:36 -05:00
eabbddcd98
* fix units permission problems * fix some bugs and merge LoadUnits to repoAssignment * refactor permission struct and add some copyright heads * remove unused codes * fix routes units check * improve permission check * add unit tests for permission * fix typo * fix tests * fix some routes * fix api permission check * improve permission check * fix some permission check * fix tests * fix tests * improve some permission check * fix some permission check * refactor AccessLevel * fix bug * fix tests * fix tests * fix tests * fix AccessLevel * rename CanAccess * fix tests * fix comment * fix bug * add missing unit for test repos * fix bug * rename some functions * fix routes check
107 lines
5.2 KiB
Cheetah
107 lines
5.2 KiB
Cheetah
<div class="header-wrapper">
|
|
{{with .Repository}}
|
|
<div class="ui container">
|
|
<div class="ui stackable grid header-grid">
|
|
<div class="seven wide column">
|
|
<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="fork-flag">{{$.i18n.Tr "repo.mirror_from"}} <a target="_blank" rel="noopener noreferrer" href="{{$.Mirror.Address}}">{{$.Mirror.Address}}</a></div>{{end}}
|
|
{{if .IsFork}}<div class="fork-flag">{{$.i18n.Tr "repo.forked_from"}} <a href="{{.BaseRepo.Link}}">{{SubStr .BaseRepo.RelLink 1 -1}}</a></div>{{end}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="ui nine wide right aligned column">
|
|
<div class="ui compact labeled button" tabindex="0">
|
|
<a class="ui compact button" href="{{$.RepoLink}}/action/{{if $.IsWatchingRepo}}un{{end}}watch?redirect_to={{$.Link}}">
|
|
<i class="icon 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="{{.Link}}/watchers">
|
|
{{.NumWatches}}
|
|
</a>
|
|
</div>
|
|
<div class="ui compact labeled button" tabindex="0">
|
|
<a class="ui compact button" href="{{$.RepoLink}}/action/{{if $.IsStaringRepo}}un{{end}}star?redirect_to={{$.Link}}">
|
|
<i class="icon star{{if not $.IsStaringRepo}} outline{{end}}"></i>{{if $.IsStaringRepo}}{{$.i18n.Tr "repo.unstar"}}{{else}}{{$.i18n.Tr "repo.star"}}{{end}}
|
|
</a>
|
|
<a class="ui basic label" href="{{.Link}}/stars">
|
|
{{.NumStars}}
|
|
</a>
|
|
</div>
|
|
{{if and (not .IsBare) ($.Permission.CanRead $.UnitTypeCode)}}
|
|
<div class="ui compact labeled button" tabindex="0">
|
|
<a class="ui compact button {{if not $.CanSignedUserFork}}poping up{{end}}" {{if $.CanSignedUserFork}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else if $.IsSigned}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" data-position="top center" data-variation="tiny"{{end}}>
|
|
<i class="octicon octicon-repo-forked"></i>{{$.i18n.Tr "repo.fork"}}
|
|
</a>
|
|
<a class="ui basic label" href="{{.Link}}/forks">
|
|
{{.NumForks}}
|
|
</a>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div><!-- end grid -->
|
|
</div><!-- end container -->
|
|
{{end}}
|
|
{{if not .IsDiffCompare}}
|
|
<div class="ui tabs container">
|
|
<div class="ui tabular stackable menu navbar">
|
|
{{if .Permission.CanRead $.UnitTypeCode}}
|
|
<a class="{{if .PageIsViewCode}}active{{end}} item" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}">
|
|
<i class="octicon octicon-code"></i> {{.i18n.Tr "repo.code"}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if .Permission.CanRead $.UnitTypeIssues}}
|
|
<a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues">
|
|
<i class="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 .Permission.CanRead $.UnitTypeExternalTracker}}
|
|
<a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues" target="_blank" rel="noopener noreferrer">
|
|
<i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues"}} </span>
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if and .Repository.CanEnablePulls (.Permission.CanRead $.UnitTypePullRequests)}}
|
|
<a class="{{if .PageIsPullList}}active{{end}} item" href="{{.RepoLink}}/pulls">
|
|
<i class="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}}
|
|
|
|
{{if and (.Permission.CanRead $.UnitTypeReleases) (not .IsBareRepo) }}
|
|
<a class="{{if .PageIsReleaseList}}active{{end}} item" href="{{.RepoLink}}/releases">
|
|
<i class="octicon octicon-tag"></i> {{.i18n.Tr "repo.releases"}} <span class="ui {{if not .Repository.NumReleases}}gray{{else}}blue{{end}} small label">{{.Repository.NumReleases}}</span>
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if or (.Permission.CanRead $.UnitTypeWiki) (.Permission.CanRead $.UnitTypeExternalWiki)}}
|
|
<a class="{{if .PageIsWiki}}active{{end}} item" href="{{.RepoLink}}/wiki" {{if (.Permission.CanRead $.UnitTypeExternalWiki)}} target="_blank" rel="noopener noreferrer" {{end}}>
|
|
<i class="octicon octicon-book"></i> {{.i18n.Tr "repo.wiki"}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if and (.Permission.CanReadAny $.UnitTypePullRequests $.UnitTypeIssues $.UnitTypeReleases) (not .IsBareRepo)}}
|
|
<a class="{{if .PageIsActivity}}active{{end}} item" href="{{.RepoLink}}/activity">
|
|
<i class="octicon octicon-pulse"></i> {{.i18n.Tr "repo.activity"}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{template "custom/extra_tabs" .}}
|
|
|
|
{{if .Permission.IsAdmin}}
|
|
<div class="right menu">
|
|
<a class="{{if .PageIsSettings}}active{{end}} item" href="{{.RepoLink}}/settings">
|
|
<i class="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>
|
|
{{end}}
|
|
</div>
|