0
0
mirror of https://github.com/go-gitea/gitea.git synced 2026-05-11 13:35:24 +02:00

run formatter and fix lint errors

This commit is contained in:
☙◦ The Tablet ❀ GamerGirlandCo ◦❧ 2025-08-17 15:42:55 -04:00
parent dc46eb7bd4
commit ab1eb20ab3
No known key found for this signature in database
GPG Key ID: 924A5F6AF051E87C
25 changed files with 69 additions and 109 deletions

View File

@ -198,7 +198,7 @@ func (g *Group) Depth(ctx context.Context) (d int) {
d++
pg = pg.ParentGroup
}
return
return d
}
// DisplayLeftMargin generates a value for the left margin

View File

@ -1,26 +1,27 @@
package group
import (
"code.gitea.io/gitea/models/perm"
"context"
"slices"
"code.gitea.io/gitea/models/db"
group_model "code.gitea.io/gitea/models/group"
"code.gitea.io/gitea/models/perm"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unit"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/log"
"xorm.io/builder"
)
// GroupItem - represents an item in a group, either a repository or a subgroup.
// Item - represents an item in a group, either a repository or a subgroup.
// used to display, for example, the group sidebar
type GroupItem interface {
type Item interface {
Link() string
Title() string
Parent() GroupItem
Children(doer *user_model.User) []GroupItem
Parent() Item
Children(doer *user_model.User) []Item
Avatar(ctx context.Context) string
HasChildren(doer *user_model.User) bool
IsGroup() bool
@ -40,7 +41,7 @@ func (g *groupItemGroup) Title() string {
return g.Group.Name
}
func (g *groupItemGroup) Parent() GroupItem {
func (g *groupItemGroup) Parent() Item {
if g.Group.ParentGroupID == 0 {
return nil
}
@ -48,7 +49,7 @@ func (g *groupItemGroup) Parent() GroupItem {
return &groupItemGroup{group}
}
func (g *groupItemGroup) Children(doer *user_model.User) (items []GroupItem) {
func (g *groupItemGroup) Children(doer *user_model.User) (items []Item) {
repos := make([]*repo_model.Repository, 0)
sess := db.GetEngine(db.DefaultContext)
err := sess.Table("repository").
@ -57,11 +58,11 @@ func (g *groupItemGroup) Children(doer *user_model.User) (items []GroupItem) {
Find(&repos)
if err != nil {
log.Error("%w", err)
return make([]GroupItem, 0)
return make([]Item, 0)
}
err = g.Group.LoadAccessibleSubgroups(db.DefaultContext, false, doer)
if err != nil {
return make([]GroupItem, 0)
return make([]Item, 0)
}
slices.SortStableFunc(g.Group.Subgroups, func(a, b *group_model.Group) int {
return a.SortOrder - b.SortOrder
@ -97,7 +98,9 @@ func (g *groupItemGroup) ID() int64 {
func (g *groupItemGroup) Sort() int {
return g.Group.SortOrder
}
func GetTopLevelGroupItemList(ctx context.Context, orgID int64, doer *user_model.User) (rootItems []GroupItem) {
func GetTopLevelGroupItemList(ctx context.Context, orgID int64, doer *user_model.User) []Item {
var rootItems []Item
groups, err := group_model.FindGroupsByCond(ctx, &group_model.FindGroupsOptions{
ParentGroupID: 0,
ActorID: doer.ID,
@ -105,7 +108,7 @@ func GetTopLevelGroupItemList(ctx context.Context, orgID int64, doer *user_model
}, group_model.
AccessibleGroupCondition(doer, unit.TypeInvalid, perm.AccessModeRead))
if err != nil {
return
return nil
}
repos := make([]*repo_model.Repository, 0)
cond := builder.NewCond().
@ -115,7 +118,7 @@ func GetTopLevelGroupItemList(ctx context.Context, orgID int64, doer *user_model
sess := db.GetEngine(ctx)
err = sess.Table("repository").Where(cond).Find(&repos)
if err != nil {
return
return nil
}
slices.SortStableFunc(groups, func(a, b *group_model.Group) int {
return a.SortOrder - b.SortOrder
@ -129,12 +132,12 @@ func GetTopLevelGroupItemList(ctx context.Context, orgID int64, doer *user_model
for _, r := range repos {
rootItems = append(rootItems, &groupItemRepo{r})
}
return
return rootItems
}
func GroupItemHasChild(it GroupItem, other int64, ctx context.Context, doer *user_model.User) bool {
func ItemHasChild(ctx context.Context, it Item, other int64, doer *user_model.User) bool {
for _, item := range it.Children(doer) {
if GroupItemHasChild(item, other, ctx, doer) {
if ItemHasChild(ctx, item, other, doer) {
return true
}
}

View File

@ -1,11 +1,12 @@
package group
import (
"context"
"code.gitea.io/gitea/models/db"
group_model "code.gitea.io/gitea/models/group"
repo_model "code.gitea.io/gitea/models/repo"
user_model "code.gitea.io/gitea/models/user"
"context"
)
type groupItemRepo struct {
@ -20,7 +21,7 @@ func (repo *groupItemRepo) Title() string {
return repo.Repo.Name
}
func (repo *groupItemRepo) Parent() GroupItem {
func (repo *groupItemRepo) Parent() Item {
if repo.Repo.GroupID == 0 {
return nil
}
@ -28,8 +29,8 @@ func (repo *groupItemRepo) Parent() GroupItem {
return &groupItemGroup{group}
}
func (repo *groupItemRepo) Children(doer *user_model.User) []GroupItem {
return []GroupItem{}
func (repo *groupItemRepo) Children(doer *user_model.User) []Item {
return []Item{}
}
func (repo *groupItemRepo) Avatar(ctx context.Context) string {

View File

@ -90,6 +90,8 @@
"@types/js-yaml": "4.0.9",
"@types/katex": "0.16.8",
"@types/node": "25.5.0",
"@types/license-checker-webpack-plugin": "0.2.5",
"@types/object-hash": "3.0.6",
"@types/pdfobject": "2.2.5",
"@types/sortablejs": "1.15.9",
"@types/swagger-ui-dist": "3.30.6",

View File

@ -1,6 +1,8 @@
package group
import (
"net/http"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/organization"
repo_model "code.gitea.io/gitea/models/repo"
@ -8,7 +10,6 @@ import (
"code.gitea.io/gitea/modules/setting"
shared_group "code.gitea.io/gitea/routers/web/shared/group"
"code.gitea.io/gitea/services/context"
"net/http"
)
const (

View File

@ -1,11 +1,11 @@
package group
import (
"code.gitea.io/gitea/models/perm"
"net/http"
"code.gitea.io/gitea/models/db"
group_model "code.gitea.io/gitea/models/group"
"code.gitea.io/gitea/models/perm"
unit_model "code.gitea.io/gitea/models/unit"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/optional"
@ -59,6 +59,7 @@ func NewGroup(ctx *context.Context) {
ctx.Data["Groups"] = groups
ctx.HTML(http.StatusOK, tplGroupNew)
}
func NewGroupPost(ctx *context.Context) {
form := web.GetForm(ctx).(*forms.CreateGroupForm)
log.GetLogger(log.DEFAULT).Info("what? %+v", form)

View File

@ -14,9 +14,9 @@ import (
group_service "code.gitea.io/gitea/services/group"
)
func toSearchRepoOptions(ctx *context.Context) (opts *repo_model.SearchRepoOptions) {
func toSearchRepoOptions(ctx *context.Context) *repo_model.SearchRepoOptions {
page := ctx.FormInt("page")
opts = &repo_model.SearchRepoOptions{
opts := &repo_model.SearchRepoOptions{
ListOptions: db.ListOptions{
Page: page,
PageSize: convert.ToCorrectPageSize(ctx.FormInt("limit")),
@ -91,7 +91,7 @@ func toSearchRepoOptions(ctx *context.Context) (opts *repo_model.SearchRepoOptio
return nil
}
}
return
return opts
}
func SearchGroup(ctx *context.Context) {
@ -99,8 +99,8 @@ func SearchGroup(ctx *context.Context) {
var (
group *group_model.Group
err error
canSee bool = true
oid int64 = ctx.FormInt64("uid")
canSee = true
oid = ctx.FormInt64("uid")
)
if gid > 0 {
group, err = group_model.GetGroupByID(ctx, gid)

View File

@ -1,6 +1,11 @@
package group
import (
"errors"
"fmt"
"io"
"net/http"
group_model "code.gitea.io/gitea/models/group"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/modules/log"
@ -15,10 +20,6 @@ import (
group_service "code.gitea.io/gitea/services/group"
repo_service "code.gitea.io/gitea/services/repository"
user_service "code.gitea.io/gitea/services/user"
"errors"
"fmt"
"io"
"net/http"
)
const (

View File

@ -1,6 +1,9 @@
package group
import (
"net/http"
"strings"
"code.gitea.io/gitea/models/db"
group_model "code.gitea.io/gitea/models/group"
org_model "code.gitea.io/gitea/models/organization"
@ -14,8 +17,6 @@ import (
"code.gitea.io/gitea/services/convert"
"code.gitea.io/gitea/services/forms"
group_service "code.gitea.io/gitea/services/group"
"net/http"
"strings"
)
const (

View File

@ -4,7 +4,6 @@
package web
import (
"code.gitea.io/gitea/routers/web/group"
"net/http"
"strings"
@ -31,6 +30,7 @@ import (
"code.gitea.io/gitea/routers/web/events"
"code.gitea.io/gitea/routers/web/explore"
"code.gitea.io/gitea/routers/web/feed"
"code.gitea.io/gitea/routers/web/group"
"code.gitea.io/gitea/routers/web/healthcheck"
"code.gitea.io/gitea/routers/web/misc"
"code.gitea.io/gitea/routers/web/org"

View File

@ -4,6 +4,9 @@
package context
import (
"context"
"strings"
group_model "code.gitea.io/gitea/models/group"
"code.gitea.io/gitea/models/organization"
"code.gitea.io/gitea/models/perm"
@ -15,8 +18,6 @@ import (
"code.gitea.io/gitea/modules/markup/markdown"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/structs"
"context"
"strings"
)
type RepoGroup struct {
@ -39,6 +40,7 @@ func (g *RepoGroup) CanWriteUnit(ctx *Context, unitType unit.Type) bool {
func (g *RepoGroup) CanReadUnit(ctx *Context, unitType unit.Type) bool {
return g.UnitPermission(ctx, ctx.Doer, unitType) >= perm.AccessModeRead
}
func (g *RepoGroup) UnitPermission(ctx context.Context, doer *user_model.User, unitType unit.Type) perm.AccessMode {
if doer != nil {
teams, err := organization.GetUserGroupTeams(ctx, g.Group.ID, doer.ID)
@ -198,7 +200,7 @@ func GroupAssignment(args GroupAssignmentOptions) func(ctx *Context) {
if len(teamName) > 0 {
teamExists := false
for _, team := range ctx.RepoGroup.Teams {
if team.LowerName == strings.ToLower(teamName) {
if strings.EqualFold(team.LowerName, strings.ToLower(teamName)) {
teamExists = true
var groupTeam *group_model.RepoGroupTeam
groupTeam, err = group_model.FindGroupTeamByTeamID(ctx, group.ID, team.ID)

View File

@ -5,11 +5,11 @@
package context
import (
shared_group "code.gitea.io/gitea/models/shared/group"
"strings"
"code.gitea.io/gitea/models/organization"
"code.gitea.io/gitea/models/perm"
shared_group "code.gitea.io/gitea/models/shared/group"
"code.gitea.io/gitea/models/unit"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/markup"
@ -254,19 +254,19 @@ func OrgAssignment(orgAssignmentOpts OrgAssignmentOptions) func(ctx *Context) {
}
ctx.Data["RenderedDescription"] = content
}
ctx.Data["AsGroupItem"] = func(v any) shared_group.GroupItem {
if gi, ok := v.(shared_group.GroupItem); ok {
ctx.Data["AsGroupItem"] = func(v any) shared_group.Item {
if gi, ok := v.(shared_group.Item); ok {
return gi
}
return nil
}
ctx.Data["GroupNavItems"] = shared_group.GetTopLevelGroupItemList(ctx, ctx.ContextUser.ID, ctx.Doer)
ctx.Data["GroupIsCurrent"] = groupIsCurrent(ctx)
ctx.Data["GroupHasChild"] = func(it shared_group.GroupItem) bool {
ctx.Data["GroupHasChild"] = func(it shared_group.Item) bool {
if ctx.RepoGroup == nil || ctx.RepoGroup.Group == nil {
return false
}
return shared_group.GroupItemHasChild(it, ctx.RepoGroup.Group.ID, ctx, ctx.Doer)
return shared_group.ItemHasChild(ctx, it, ctx.RepoGroup.Group.ID, ctx.Doer)
}
}
}

View File

@ -14,7 +14,7 @@
<input id="group_name" name="group_name" value="{{.Group.Name}}" required {{if eq .Group.LowerName "owners"}}disabled{{end}} autofocus>
<span class="help">{{ctx.Locale.Tr "group.group_name_helper"}}</span>
</div>
{{ template "group/selector" . }}
{{template "group/selector" .}}
<div class="inline field {{if .Err_Description}}error{{end}}">
<label for="description">{{ctx.Locale.Tr "group.group_desc"}}</label>

View File

@ -4,7 +4,7 @@
{{.Group.Name}}
{{else}}
{{ctx.Locale.Tr "org.groups"}}
{{ end }}
{{end}}
</span>
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
<div class="context user overflow menu" data-variation="basic">

View File

@ -1,7 +1,7 @@
<a
class="item {{if .Group}}{{if eq $.Group.ID .Item.ID}}active selected{{
end
}}{{ end }}"
}}{{end }}"
style="--depth: {{.Depth}};"
href="{{
$.Org.OrganisationLink

View File

@ -1,6 +1,6 @@
{{ range.Items}}
{{range.Items}}
{{if .IsGroup}}
{{ template "group/dashboard/menu_item" dict "." $ "Item" . "Depth" $.Depth}}
{{ end }}
{{ end }}
{{template "group/dashboard/menu_item" dict "." $ "Item" . "Depth" $.Depth}}
{{end}}
{{end}}

View File

@ -46,4 +46,4 @@
</div>
</div>
{{ template "group/menu" . }}
{{template "group/menu" .}}

View File

@ -10,7 +10,7 @@
{{template "base/paginate" .}}
</div>
<div class="ui five wide column">
{{ template "group/sidebar/menu" .}}
{{template "group/sidebar/menu" .}}
</div>
</div>
</div>

View File

@ -11,7 +11,7 @@
<div class="ui attached segment" id="group-navigation-menu">
<ul class="tw-list-none tw-px-0 expandable-menu tw-m-0 tw-space-y-4{{if .IsOrganizationMember}} sortable{{end}}"{{if .IsOrganizationMember}}
data-url="{{ctx.Org.HomeLink}}/groups"{{end}}>
{{ range .GroupNavItems }}
{{range .GroupNavItems}}
{{template "group/sidebar/sidebar_item" dict "item" . "root" $}}
{{end}}
</ul>

View File

@ -4,8 +4,8 @@
data-sort-id="{{if $item.IsGroup}}group{{else}}repo{{end}}-{{$item.ID}}-{{$item.Sort}}"
data-id="{{$item.ID}}">
<label class="tw-gap-2{{if $item.HasChildren $.root.Doer}} has-children{{end}}">
{{ $active := (and $item.IsGroup (call $.root.GroupIsCurrent $item.ID))}}
{{ $childContains := (call $.root.GroupHasChild $item)}}
{{$active := (and $item.IsGroup (call $.root.GroupIsCurrent $item.ID))}}
{{$childContains := (call $.root.GroupHasChild $item)}}
<input type="checkbox"
class="toggle tw-h-0 tw-w-0 tw-overflow-hidden tw-opacity-0 tw-absolute"{{if or $active $childContains}} checked{{end}}>
{{svg "octicon-chevron-right" 16 "collapse-icon"}}

View File

@ -2,7 +2,7 @@
<div role="main" aria-label="{{.Title}}" class="page-content repo-group teams">
{{template "group/header" .}}
<div class="ui container">
{{ template "base/alert" .}}
{{template "base/alert" .}}
<div class="ui mobile reversed stackable grid">
<div class="eleven wide column">

View File

@ -18,7 +18,7 @@
.repo-group.new.group form .inline.field > label {
text-align: right;
width: 250px !important;
word-wrap: break-word;
overflow-wrap: break-word;
}
.repo-group.new.group form .help {
margin-left: 265px !important;
@ -88,4 +88,3 @@ li.expandable-menu-item.item:only-child, li.expandable-menu-item.item:last-child
ul.expandable-menu ul li.expandable-menu-item {
margin-top: 1rem;
}

View File

@ -194,37 +194,3 @@ const options: SortableOptions = {
</template>
</Sortable>
</template>
<style scoped>
ul.expandable-ul {
list-style: none;
margin: 0;
padding-left: 0;
}
ul.expandable-ul li {
padding: 0 10px;
}
.repos-search {
padding-bottom: 0 !important;
}
.repos-filter {
margin-top: 0 !important;
border-bottom-width: 0 !important;
}
.repos-filter .item {
padding-left: 6px !important;
padding-right: 6px !important;
}
.repo-owner-name-list li.active {
background: var(--color-hover);
}
ul.expandable-ul > li:not(:last-child) {
border-bottom: 1px solid var(--color-secondary);
}
ul.expandable-ul > li:first-child {
border-top: 1px solid var(--color-secondary);
}
</style>

View File

@ -103,22 +103,4 @@ const active = computed(() => isGroup.value && expandedGroups.value.includes(id.
flex: 1;
gap: 0.5rem;
}
.repo-list-link .svg {
color: var(--color-text-light-2);
}
.repo-list-icon, .collapse-icon {
min-width: 16px;
margin-right: 2px;
top: 0px;
}
/* octicon-mirror has no padding inside the SVG */
.repo-list-icon.octicon-mirror {
width: 14px;
min-width: 14px;
margin-left: 1px;
margin-right: 3px;
}
</style>

View File

@ -700,6 +700,7 @@ ul li:not(:last-child) {
margin-right: 3px;
}
/*eslint-disable-next-line vue-scoped-css/no-unused-selector*/
.repo-owner-name-list li.active {
background: var(--color-hover);
}