From 79d3240ea489067f3eb1af5e535b3687c507a249 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 30 May 2013 23:13:48 -0400
Subject: [PATCH] Added simple star/unstar function
---
src/main/java/com/gitblit/ConfigUserService.java | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/gitblit/ConfigUserService.java b/src/main/java/com/gitblit/ConfigUserService.java
index 7aa0998..f2bd7b8 100644
--- a/src/main/java/com/gitblit/ConfigUserService.java
+++ b/src/main/java/com/gitblit/ConfigUserService.java
@@ -37,6 +37,7 @@
import com.gitblit.Constants.AccessPermission;
import com.gitblit.models.TeamModel;
import com.gitblit.models.UserModel;
+import com.gitblit.models.UserRepositoryPreferences;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.DeepCopier;
import com.gitblit.utils.StringUtils;
@@ -88,7 +89,9 @@
private static final String PRERECEIVE = "preReceiveScript";
private static final String POSTRECEIVE = "postReceiveScript";
-
+
+ private static final String STARRED = "starred";
+
private final File realmFile;
private final Logger logger = LoggerFactory.getLogger(ConfigUserService.class);
@@ -879,6 +882,14 @@
}
config.setStringList(USER, model.username, REPOSITORY, permissions);
}
+
+ // user preferences
+ if (model.getPreferences() != null) {
+ List<String> starred = model.getPreferences().getStarredRepositories();
+ if (starred.size() > 0) {
+ config.setStringList(USER, model.username, STARRED, starred);
+ }
+ }
}
// write teams
@@ -1021,6 +1032,14 @@
}
}
+ // starred repositories
+ Set<String> starred = new HashSet<String>(Arrays.asList(config
+ .getStringList(USER, username, STARRED)));
+ for (String repository : starred) {
+ UserRepositoryPreferences prefs = user.getPreferences().getRepositoryPreferences(repository);
+ prefs.starred = true;
+ }
+
// update cache
users.put(user.username, user);
if (!StringUtils.isEmpty(user.cookie)) {
--
Gitblit v1.9.1