@@ -85,29 +85,31 @@ func MoveGroupItem(ctx context.Context, opts MoveGroupOptions, doer *user_model.
85
85
}
86
86
defer committer .Close ()
87
87
var parentGroup * group_model.Group
88
- parentGroup , err = group_model .GetGroupByID (ctx , opts .NewParent )
89
- if err != nil {
90
- return err
91
- }
92
- canAccessNewParent , err := parentGroup .CanAccess (ctx , doer )
93
- if err != nil {
94
- return err
95
- }
96
- if ! canAccessNewParent {
97
- return errors .New ("cannot access new parent group" )
98
- }
88
+ if opts .NewParent > 0 {
89
+ parentGroup , err = group_model .GetGroupByID (ctx , opts .NewParent )
90
+ if err != nil {
91
+ return err
92
+ }
93
+ canAccessNewParent , err := parentGroup .CanAccess (ctx , doer )
94
+ if err != nil {
95
+ return err
96
+ }
97
+ if ! canAccessNewParent {
98
+ return errors .New ("cannot access new parent group" )
99
+ }
99
100
100
- err = parentGroup .LoadSubgroups (ctx , false )
101
- if err != nil {
102
- return err
101
+ err = parentGroup .LoadSubgroups (ctx , false )
102
+ if err != nil {
103
+ return err
104
+ }
103
105
}
104
106
if opts .IsGroup {
105
107
var group * group_model.Group
106
108
group , err = group_model .GetGroupByID (ctx , opts .ItemID )
107
109
if err != nil {
108
110
return err
109
111
}
110
- if opts .NewPos < 0 {
112
+ if opts .NewPos < 0 && parentGroup != nil {
111
113
opts .NewPos = len (parentGroup .Subgroups )
112
114
}
113
115
if group .ParentGroupID != opts .NewParent || group .SortOrder != opts .NewPos {
0 commit comments