summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--models/action.go10
-rw-r--r--models/repo.go9
-rw-r--r--models/user.go4
-rw-r--r--modules/middleware/repo.go2
-rw-r--r--serve.go2
5 files changed, 20 insertions, 7 deletions
diff --git a/models/action.go b/models/action.go
index 107d4b1057..89751b9779 100644
--- a/models/action.go
+++ b/models/action.go
@@ -79,6 +79,16 @@ func CommitRepoAction(userId int64, userName string,
})
return err
}
+
+ // Update repository last update time.
+ repo, err := GetRepositoryByName(userId, repoName)
+ if err != nil {
+ return err
+ }
+ repo.Updated = time.Now()
+ if err = UpdateRepository(repo); err != nil {
+ return err
+ }
return nil
}
diff --git a/models/repo.go b/models/repo.go
index 918e5dc84c..6a764e6c31 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -358,6 +358,11 @@ func RepoPath(userName, repoName string) string {
return filepath.Join(UserPath(userName), repoName+".git")
}
+func UpdateRepository(repo *Repository) error {
+ _, err := orm.Id(repo.Id).UseBool().Update(repo)
+ return err
+}
+
// DeleteRepository deletes a repository for a user or orgnaztion.
func DeleteRepository(userId, repoId int64, userName string) (err error) {
repo := &Repository{Id: repoId, OwnerId: userId}
@@ -402,9 +407,9 @@ func DeleteRepository(userId, repoId int64, userName string) (err error) {
}
// GetRepositoryByName returns the repository by given name under user if exists.
-func GetRepositoryByName(user *User, repoName string) (*Repository, error) {
+func GetRepositoryByName(userId int64, repoName string) (*Repository, error) {
repo := &Repository{
- OwnerId: user.Id,
+ OwnerId: userId,
LowerName: strings.ToLower(repoName),
}
has, err := orm.Get(repo)
diff --git a/models/user.go b/models/user.go
index 3c11091285..d6dc041490 100644
--- a/models/user.go
+++ b/models/user.go
@@ -279,9 +279,7 @@ func GetUserByName(name string) (*User, error) {
if len(name) == 0 {
return nil, ErrUserNotExist
}
- user := &User{
- LowerName: strings.ToLower(name),
- }
+ user := &User{LowerName: strings.ToLower(name)}
has, err := orm.Get(user)
if err != nil {
return nil, err
diff --git a/modules/middleware/repo.go b/modules/middleware/repo.go
index a9a90e3ff5..3864caaf80 100644
--- a/modules/middleware/repo.go
+++ b/modules/middleware/repo.go
@@ -54,7 +54,7 @@ func RepoAssignment(redirect bool) martini.Handler {
ctx.Repo.Owner = user
// get repository
- repo, err := models.GetRepositoryByName(user, params["reponame"])
+ repo, err := models.GetRepositoryByName(user.Id, params["reponame"])
if err != nil {
if redirect {
ctx.Redirect("/")
diff --git a/serve.go b/serve.go
index 3ce8f9046c..be8dedc985 100644
--- a/serve.go
+++ b/serve.go
@@ -86,7 +86,7 @@ func runServ(*cli.Context) {
os.Setenv("userName", user.Name)
os.Setenv("userId", strconv.Itoa(int(user.Id)))
- repo, err := models.GetRepositoryByName(user, repoName)
+ repo, err := models.GetRepositoryByName(user.Id, repoName)
if err != nil {
println("Unavilable repository", err)
return