mirror of
1
Fork 0
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
v1_7
v1_8
v1_9
v1_10
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