From 56d1c441d3b591c161e36e5a001cca83a7d17c93 Mon Sep 17 00:00:00 2001
From: Dongsu, KIM <ds5apn@gmail.com>
Date: Fri, 19 Jul 2013 05:39:08 -0400
Subject: [PATCH] Update Korean Translation

---
 src/main/java/com/gitblit/wicket/pages/MyDashboardPage.java |  101 ++++++++++++++------------------------------------
 1 files changed, 29 insertions(+), 72 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/MyDashboardPage.java b/src/main/java/com/gitblit/wicket/pages/MyDashboardPage.java
index b0c89b7..d951da3 100644
--- a/src/main/java/com/gitblit/wicket/pages/MyDashboardPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/MyDashboardPage.java
@@ -19,10 +19,7 @@
 import java.io.FileInputStream;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.io.Serializable;
-import java.text.DateFormat;
 import java.text.MessageFormat;
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Collections;
@@ -34,7 +31,6 @@
 
 import org.apache.wicket.Component;
 import org.apache.wicket.PageParameters;
-import org.apache.wicket.behavior.HeaderContributor;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.panel.Fragment;
 import org.eclipse.jgit.lib.Constants;
@@ -49,8 +45,8 @@
 import com.gitblit.utils.StringUtils;
 import com.gitblit.wicket.GitBlitWebSession;
 import com.gitblit.wicket.WicketUtils;
-import com.gitblit.wicket.ng.NgController;
-import com.gitblit.wicket.panels.LinkPanel;
+import com.gitblit.wicket.panels.FilterableProjectList;
+import com.gitblit.wicket.panels.FilterableRepositoryList;
 
 public class MyDashboardPage extends DashboardPage {
 
@@ -98,7 +94,7 @@
 		// parameters
 		int daysBack = params == null ? 0 : WicketUtils.getDaysBack(params);
 		if (daysBack < 1) {
-			daysBack = 7;
+			daysBack = GitBlit.getInteger(Keys.web.activityDuration, 7);
 		}
 		Calendar c = Calendar.getInstance();
 		c.add(Calendar.DATE, -1*daysBack);
@@ -134,14 +130,26 @@
 		Collections.sort(starred, lastUpdateSort);
 		Collections.sort(active, lastUpdateSort);
 		
+		String activityTitle;
 		Set<RepositoryModel> feed = new HashSet<RepositoryModel>();
 		feed.addAll(starred);
 		feed.addAll(owned);
 		if (feed.isEmpty()) {
+			// no starred or owned, go with recent activity
+			activityTitle = getString("gb.recentActivity");
 			feed.addAll(active);
+		} else if (starred.isEmpty()){
+			// no starred, owned repos feed
+			activityTitle = getString("gb.owned");
+		} else if (owned.isEmpty()){
+			// no owned, starred repos feed
+			activityTitle = getString("gb.starred");
+		} else {
+			// starred and owned repositories
+			activityTitle = getString("gb.starredAndOwned");
 		}
 		
-		addActivity(user, feed, daysBack);
+		addActivity(user, feed, activityTitle, daysBack);
 		
 		Fragment repositoryTabs;
 		if (UserModel.ANONYMOUS.equals(user)) {
@@ -152,38 +160,36 @@
 		
 		add(repositoryTabs);
 		
-		Fragment projectList = createProjectList();
-		repositoryTabs.add(projectList);
+		// projects list
+		List<ProjectModel> projects = GitBlit.self().getProjectModels(getRepositoryModels(), false);
+		repositoryTabs.add(new FilterableProjectList("projects", projects));
 		
 		// active repository list
 		if (active.isEmpty()) {
 			repositoryTabs.add(new Label("active").setVisible(false));
 		} else {
-			Fragment activeView = createNgList("active", "activeListFragment", "activeCtrl", active);
-			repositoryTabs.add(activeView);
+			FilterableRepositoryList repoList = new FilterableRepositoryList("active", active);
+			repoList.setTitle(getString("gb.activeRepositories"), "icon-time");
+			repositoryTabs.add(repoList);
 		}
 		
 		// starred repository list
 		if (ArrayUtils.isEmpty(starred)) {
 			repositoryTabs.add(new Label("starred").setVisible(false));
 		} else {
-			Fragment starredView = createNgList("starred", "starredListFragment", "starredCtrl", starred);
-			repositoryTabs.add(starredView);
+			FilterableRepositoryList repoList = new FilterableRepositoryList("starred", starred);
+			repoList.setTitle(getString("gb.starredRepositories"), "icon-star");
+			repositoryTabs.add(repoList);
 		}
 		
 		// owned repository list
 		if (ArrayUtils.isEmpty(owned)) {
 			repositoryTabs.add(new Label("owned").setVisible(false));
 		} else {
-			Fragment ownedView = createNgList("owned", "ownedListFragment", "ownedCtrl", owned);
-			if (user.canCreate) {
-				// create button
-				ownedView.add(new LinkPanel("create", "btn btn-mini", getString("gb.newRepository"), EditRepositoryPage.class));
-			} else {
-				// no button
-				ownedView.add(new Label("create").setVisible(false));
-			}
-			repositoryTabs.add(ownedView);
+			FilterableRepositoryList repoList = new FilterableRepositoryList("owned", owned);
+			repoList.setTitle(getString("gb.myRepositories"), "icon-user");
+			repoList.setAllowCreate(user.canCreate() || user.canAdmin());
+			repositoryTabs.add(repoList);
 		}
 	}
 	
@@ -258,54 +264,5 @@
 			}			
 		}
 		return MessageFormat.format(getString("gb.failedToReadMessage"), file);
-	}
-	
-	protected Fragment createProjectList() {
-		String format = GitBlit.getString(Keys.web.datestampShortFormat, "MM/dd/yy");
-		final DateFormat df = new SimpleDateFormat(format);
-		df.setTimeZone(getTimeZone());
-		List<ProjectModel> projects = GitBlit.self().getProjectModels(getRepositoryModels(), false);
-		Collections.sort(projects, new Comparator<ProjectModel>() {
-			@Override
-			public int compare(ProjectModel o1, ProjectModel o2) {
-				return o2.lastChange.compareTo(o1.lastChange);
-			}
-		});
-
-		List<ProjectListItem> list = new ArrayList<ProjectListItem>();
-		for (ProjectModel proj : projects) {
-			if (proj.isUserProject() || proj.repositories.isEmpty()) {
-				// exclude user projects from list
-				continue;
-			}
-			ProjectListItem item = new ProjectListItem();
-			item.p = proj.name;
-			item.n = StringUtils.isEmpty(proj.title) ? proj.name : proj.title;
-			item.i = proj.description;
-			item.t = getTimeUtils().timeAgo(proj.lastChange);
-			item.d = df.format(proj.lastChange);
-			item.c = proj.repositories.size();
-			list.add(item);
-		}
-		
-		// inject an AngularJS controller with static data
-		NgController ctrl = new NgController("projectListCtrl");
-		ctrl.addVariable("projectList", list);
-		add(new HeaderContributor(ctrl));
-		
-		Fragment fragment = new Fragment("projectList", "projectListFragment", this);
-		return fragment;
-	}
-	
-	protected class ProjectListItem implements Serializable {
-
-		private static final long serialVersionUID = 1L;
-		
-		String p; // path
-		String n; // name
-		String t; // time ago
-		String d; // last updated
-		String i; // information/description
-		long c;   // repository count
 	}
 }

--
Gitblit v1.9.1