forgejo/models/migrations
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
..
base Rewrite logger system () 2023-05-21 22:35:11 +00:00
fixtures Remove wrongly added column on migration test fixtures () 2023-03-14 19:49:59 +08:00
v1_6 Update go dev dependencies () 2022-12-08 16:21:37 +08:00
v1_7 Update go dev dependencies () 2022-12-08 16:21:37 +08:00
v1_8 Update go dev dependencies () 2022-12-08 16:21:37 +08:00
v1_9 Update go dev dependencies () 2022-12-08 16:21:37 +08:00
v1_10 Add API management for issue/pull and comment attachments () 2022-12-09 14:35:56 +08:00
v1_11 Enable forbidigo linter () 2023-04-24 05:50:58 -04:00
v1_12 Refactor setting.Database.UseXXX to methods () 2023-03-07 18:51:06 +08:00
v1_13 Remove most path-based golangci exclusions () 2023-04-19 22:08:01 -04:00
v1_14 Remove most path-based golangci exclusions () 2023-04-19 22:08:01 -04:00
v1_15 Refactor setting.Database.UseXXX to methods () 2023-03-07 18:51:06 +08:00
v1_16 Refactor setting.Database.UseXXX to methods () 2023-03-07 18:51:06 +08:00
v1_17 Drop migration for ForeignReference () 2023-03-23 15:01:55 -04:00
v1_18 Refactor setting.Database.UseXXX to methods () 2023-03-07 18:51:06 +08:00
v1_19 Refactor setting.Database.UseXXX to methods () 2023-03-07 18:51:06 +08:00
v1_20 Add the ability to pin Issues () 2023-05-25 15:17:19 +02:00
migrations.go Add the ability to pin Issues () 2023-05-25 15:17:19 +02:00