diff options
author | puni9869 <80308335+puni9869@users.noreply.github.com> | 2023-08-14 15:26:14 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-14 11:56:14 +0200 |
commit | cafce3b4b5afb3f254a48e87f1516d7b5dc209b6 (patch) | |
tree | 2775b10c6b55ea659b87c5d22f30ecc45c5871e1 /routers/api/v1/repo | |
parent | db7b0a1a4ef2222ca6209c190b2283f27061db55 (diff) | |
download | gitea-cafce3b4b5afb3f254a48e87f1516d7b5dc209b6.tar.gz gitea-cafce3b4b5afb3f254a48e87f1516d7b5dc209b6.zip |
Allow to archive labels (#26478)
## Archived labels
This adds the structure to allow for archived labels.
Archived labels are, just like closed milestones or projects, a medium to hide information without deleting it.
It is especially useful if there are outdated labels that should no longer be used without deleting the label entirely.
## Changes
1. UI and API have been equipped with the support to mark a label as archived
2. The time when a label has been archived will be stored in the DB
## Outsourced for the future
There's no special handling for archived labels at the moment.
This will be done in the future.
## Screenshots
![image](https://github.com/go-gitea/gitea/assets/80308335/208f95cd-42e4-4ed7-9a1f-cd2050a645d4)
![image](https://github.com/go-gitea/gitea/assets/80308335/746428e0-40bb-45b3-b992-85602feb371d)
Part of https://github.com/go-gitea/gitea/issues/25237
---------
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'routers/api/v1/repo')
-rw-r--r-- | routers/api/v1/repo/label.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/routers/api/v1/repo/label.go b/routers/api/v1/repo/label.go index 6cb231f596..fc9a16b58a 100644 --- a/routers/api/v1/repo/label.go +++ b/routers/api/v1/repo/label.go @@ -151,7 +151,6 @@ func CreateLabel(ctx *context.APIContext) { return } form.Color = color - l := &issues_model.Label{ Name: form.Name, Exclusive: form.Exclusive, @@ -159,6 +158,7 @@ func CreateLabel(ctx *context.APIContext) { RepoID: ctx.Repo.Repository.ID, Description: form.Description, } + l.SetArchived(form.IsArchived) if err := issues_model.NewLabel(ctx, l); err != nil { ctx.Error(http.StatusInternalServerError, "NewLabel", err) return @@ -231,6 +231,7 @@ func EditLabel(ctx *context.APIContext) { if form.Description != nil { l.Description = *form.Description } + l.SetArchived(form.IsArchived != nil && *form.IsArchived) if err := issues_model.UpdateLabel(l); err != nil { ctx.Error(http.StatusInternalServerError, "UpdateLabel", err) return |