forgejo/models/issues
JakobDev aaa1094663
Add the ability to pin Issues ()
This adds the ability to pin important Issues and Pull Requests. You can
also move pinned Issues around to change their Position. Resolves .

## Screenshots

![grafik](https://user-images.githubusercontent.com/15185051/235123207-0aa39869-bb48-45c3-abe2-ba1e836046ec.png)

![grafik](https://user-images.githubusercontent.com/15185051/235123297-152a16ea-a857-451d-9a42-61f2cd54dd75.png)

![grafik](https://user-images.githubusercontent.com/15185051/235640782-cbfe25ec-6254-479a-a3de-133e585d7a2d.png)

The Design was mostly copied from the Projects Board.

## Implementation
This uses a new `pin_order` Column in the `issue` table. If the value is
set to 0, the Issue is not pinned. If it's set to a bigger value, the
value is the Position. 1 means it's the first pinned Issue, 2 means it's
the second one etc. This is dived into Issues and Pull requests for each
Repo.

## TODO
- [x] You can currently pin as many Issues as you want. Maybe we should
add a Limit, which is configurable. GitHub uses 3, but I prefer 6, as
this is better for bigger Projects, but I'm open for suggestions.
- [x] Pin and Unpin events need to be added to the Issue history.
- [x] Tests
- [x] Migration

**The feature itself is currently fully working, so tester who may find
weird edge cases are very welcome!**

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Giteabot <teabot@gitea.io>
2023-05-25 15:17:19 +02:00
..
assignees.go Make more functions use ctx instead of db.DefaultContext () 2023-04-14 14:18:28 -04:00
assignees_test.go Make more functions use ctx instead of db.DefaultContext () 2023-04-14 14:18:28 -04:00
comment.go Add the ability to pin Issues () 2023-05-25 15:17:19 +02:00
comment_code.go Use CommentList instead of []*Comment () 2023-05-21 20:48:28 +08:00
comment_list.go Load reviewer for comments when dismissing a review () 2023-04-23 11:04:23 -04:00
comment_test.go Fix issue attachment handling () 2023-04-20 02:39:44 -04:00
content_history.go Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00
content_history_test.go Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00
dependency.go Add API to manage issue dependencies () 2023-03-28 13:23:25 -04:00
dependency_test.go refactor some functions to support ctx as first parameter () 2022-12-03 10:48:26 +08:00
issue.go Add the ability to pin Issues () 2023-05-25 15:17:19 +02:00
issue_index.go Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00
issue_label.go Some refactors for issues stats () 2023-05-19 22:17:48 +08:00
issue_list.go Implement actions () 2023-01-31 09:45:19 +08:00
issue_list_test.go Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00
issue_lock.go Rename almost all Ctx functions () 2022-12-10 10:46:31 +08:00
issue_project.go Improve issues.LoadProject () 2023-02-20 13:21:56 -06:00
issue_search.go Some refactors for issues stats () 2023-05-19 22:17:48 +08:00
issue_stats.go Fix 500 error when select No assignee filter in issue list page () 2023-05-22 13:08:27 +02:00
issue_test.go Some refactors for issues stats () 2023-05-19 22:17:48 +08:00
issue_update.go Some refactors for issues stats () 2023-05-19 22:17:48 +08:00
issue_user.go Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00
issue_user_test.go Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00
issue_watch.go Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00
issue_watch_test.go Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00
issue_xref.go Fix more HTMLURL in templates () 2023-02-09 11:31:30 -05:00
issue_xref_test.go Make more functions use ctx instead of db.DefaultContext () 2023-04-14 14:18:28 -04:00
label.go Some refactors for issues stats () 2023-05-19 22:17:48 +08:00
label_test.go Modify luminance calculation and extract related functions into single files () 2023-05-10 11:19:03 +00:00
main_test.go Merge setting.InitXXX into one function with options () 2023-05-04 11:55:35 +08:00
milestone.go Localize milestone related time strings () 2023-04-12 02:29:49 -04:00
milestone_test.go Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00
pull.go New webhook trigger for receiving Pull Request review requests () 2023-05-24 22:06:27 -04:00
pull_list.go Remove duplicated issues options and some more refactors () 2023-05-18 10:45:25 +00:00
pull_test.go New webhook trigger for receiving Pull Request review requests () 2023-05-24 22:06:27 -04:00
reaction.go refactor some functions to support ctx as first parameter () 2022-12-03 10:48:26 +08:00
reaction_test.go Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00
review.go New webhook trigger for receiving Pull Request review requests () 2023-05-24 22:06:27 -04:00
review_test.go New webhook trigger for receiving Pull Request review requests () 2023-05-24 22:06:27 -04:00
stopwatch.go Speed up HasUserStopwatch & GetActiveStopwatch () 2023-02-27 13:46:00 -05:00
stopwatch_test.go Speed up HasUserStopwatch & GetActiveStopwatch () 2023-02-27 13:46:00 -05:00
tracked_time.go Rename almost all Ctx functions () 2022-12-10 10:46:31 +08:00
tracked_time_test.go Use more specific test methods () 2023-04-22 17:56:27 -04:00