Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Display when a repo was archived #22664

Merged
merged 27 commits into from
Apr 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
0516ddc
Add archive date
JakobDev Jan 30, 2023
4cceff0
Use local date format
JakobDev Jan 30, 2023
0e2b687
Fix lint
JakobDev Jan 30, 2023
90b7e33
Use DEFAULT 0
JakobDev Jan 30, 2023
0f2c93b
Use snake case
JakobDev Jan 30, 2023
84cebb4
Use .ID instead .Where
JakobDev Jan 30, 2023
d61042b
Merge branch 'main' into archivedate
JakobDev Jan 30, 2023
09a6d15
Merge branch 'main' into archivedate
JakobDev Apr 14, 2023
b09dabe
Add migration
JakobDev Apr 14, 2023
5ebc651
Try to fix Migration again
JakobDev Apr 21, 2023
66342e3
Make Migration number bigger
JakobDev Apr 24, 2023
954fa64
Merge branch 'main' into archivedate
JakobDev Apr 24, 2023
9780e24
fix Migration syntax
JakobDev Apr 24, 2023
bc14719
Use Datetime function
JakobDev Apr 24, 2023
548d9c8
Changes requested by delv
JakobDev Apr 24, 2023
25a56fd
Apply requested changes
JakobDev Apr 24, 2023
e6cf7d2
Update Migration SQL command
JakobDev Apr 24, 2023
2531960
Don't use Pointer
JakobDev Apr 24, 2023
0c79350
Merge branch 'main' into archivedate
silverwind Apr 24, 2023
f56e2ed
Merge branch 'main' into archivedate
silverwind Apr 24, 2023
03fb26a
Fix broken translations
JakobDev Apr 25, 2023
b72d5ab
Try to make Migration work with all Databases
JakobDev Apr 25, 2023
9b56907
Merge branch 'main' into archivedate
silverwind Apr 25, 2023
207332e
Merge branch 'main' into archivedate
GiteaBot Apr 25, 2023
aebcdba
Do requested changes
JakobDev Apr 26, 2023
4616611
Merge branch 'main' into archivedate
JakobDev Apr 26, 2023
c189ca9
Check the sync returned argument
lunny Apr 26, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions models/migrations/migrations.go
Original file line number Diff line number Diff line change
Expand Up @@ -487,6 +487,8 @@ var migrations = []Migration{
NewMigration("Fix ExternalTracker and ExternalWiki accessMode in owner and admin team", v1_20.FixExternalTrackerAndExternalWikiAccessModeInOwnerAndAdminTeam),
// v254 -> v255
NewMigration("Add ActionTaskOutput table", v1_20.AddActionTaskOutputTable),
// v255 -> v256
NewMigration("Add ArchivedUnix Column", v1_20.AddArchivedUnixToRepository),
}

// GetCurrentDBVersion returns the current db version
Expand Down
23 changes: 23 additions & 0 deletions models/migrations/v1_20/v255.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright 2023 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT

package v1_20 //nolint

import (
"code.gitea.io/gitea/modules/timeutil"

"xorm.io/xorm"
)

func AddArchivedUnixToRepository(x *xorm.Engine) error {
type Repository struct {
ArchivedUnix timeutil.TimeStamp `xorm:"DEFAULT 0"`
}

if err := x.Sync(new(Repository)); err != nil {
return err
}

_, err := x.Exec("UPDATE repository SET archived_unix = updated_unix WHERE is_archived = ? AND archived_unix = 0", true)
return err
}
9 changes: 8 additions & 1 deletion models/repo/archiver.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,13 @@ func FindRepoArchives(opts FindRepoArchiversOption) ([]*RepoArchiver, error) {
// SetArchiveRepoState sets if a repo is archived
func SetArchiveRepoState(repo *Repository, isArchived bool) (err error) {
repo.IsArchived = isArchived
_, err = db.GetEngine(db.DefaultContext).Where("id = ?", repo.ID).Cols("is_archived").NoAutoTime().Update(repo)

if isArchived {
repo.ArchivedUnix = timeutil.TimeStampNow()
} else {
repo.ArchivedUnix = timeutil.TimeStamp(0)
}
delvh marked this conversation as resolved.
Show resolved Hide resolved

_, err = db.GetEngine(db.DefaultContext).ID(repo.ID).Cols("is_archived", "archived_unix").NoAutoTime().Update(repo)
return err
}
5 changes: 3 additions & 2 deletions models/repo/repo.go
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,9 @@ type Repository struct {
// Avatar: ID(10-20)-md5(32) - must fit into 64 symbols
Avatar string `xorm:"VARCHAR(64)"`

CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
ArchivedUnix timeutil.TimeStamp `xorm:"DEFAULT 0"`
}

func init() {
Expand Down
1 change: 1 addition & 0 deletions modules/structs/repo.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ type Repository struct {
Created time.Time `json:"created_at"`
// swagger:strfmt date-time
Updated time.Time `json:"updated_at"`
ArchivedAt time.Time `json:"archived_at"`
Permissions *Permission `json:"permissions,omitempty"`
HasIssues bool `json:"has_issues"`
InternalTracker *InternalTracker `json:"internal_tracker,omitempty"`
Expand Down
1 change: 1 addition & 0 deletions options/locale/locale_en-US.ini
Original file line number Diff line number Diff line change
Expand Up @@ -992,6 +992,7 @@ template.one_item = Must select at least one template item
template.invalid = Must select a template repository

archive.title = This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
archive.title_date = This repository has been archived on %s. You can view files and clone it, but cannot push or open issues/pull-requests.
archive.issue.nocomment = This repo is archived. You cannot comment on issues.
archive.pull.nocomment = This repo is archived. You cannot comment on pull requests.

Expand Down
1 change: 1 addition & 0 deletions services/convert/repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ func innerToRepo(ctx context.Context, repo *repo_model.Repository, mode perm.Acc
DefaultBranch: repo.DefaultBranch,
Created: repo.CreatedUnix.AsTime(),
Updated: repo.UpdatedUnix.AsTime(),
ArchivedAt: repo.ArchivedUnix.AsTime(),
Permissions: permission,
HasIssues: hasIssues,
ExternalTracker: externalTracker,
Expand Down
6 changes: 5 additions & 1 deletion templates/repo/diff/compare.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,11 @@
</div>
{{else if .Repository.IsArchived}}
<div class="ui warning message">
{{.locale.Tr "repo.archive.title"}}
{{if .Repository.ArchivedUnix.IsZero}}
{{.locale.Tr "repo.archive.title"}}
{{else}}
{{.locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix) | Safe}}
{{end}}
</div>
{{end}}
{{if $.IsSigned}}
Expand Down
6 changes: 5 additions & 1 deletion templates/repo/empty.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@
{{template "base/alert" .}}
{{if .Repository.IsArchived}}
<div class="ui warning message">
{{.locale.Tr "repo.archive.title"}}
{{if .Repository.ArchivedUnix.IsZero}}
{{.locale.Tr "repo.archive.title"}}
{{else}}
{{.locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix) | Safe}}
{{end}}
</div>
{{end}}
{{if .Repository.IsBroken}}
Expand Down
6 changes: 5 additions & 1 deletion templates/repo/home.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,11 @@
{{end}}
{{if .Repository.IsArchived}}
<div class="ui warning message">
{{.locale.Tr "repo.archive.title"}}
{{if .Repository.ArchivedUnix.IsZero}}
{{.locale.Tr "repo.archive.title"}}
JakobDev marked this conversation as resolved.
Show resolved Hide resolved
{{else}}
{{.locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix) | Safe}}
{{end}}
</div>
{{end}}
{{template "repo/sub_menu" .}}
Expand Down
5 changes: 5 additions & 0 deletions templates/swagger/v1_json.tmpl

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.