From 889d4875e846ac326fead6c6da4ccfc1ab9c25b8 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 31 May 2013 23:26:47 -0400 Subject: [PATCH] Fixes for responsive layouts on phones and tablets --- src/main/java/com/gitblit/wicket/pages/BasePage.java | 121 +++------------------------------------- 1 files changed, 9 insertions(+), 112 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/BasePage.java b/src/main/java/com/gitblit/wicket/pages/BasePage.java index 19fa749..192f012 100644 --- a/src/main/java/com/gitblit/wicket/pages/BasePage.java +++ b/src/main/java/com/gitblit/wicket/pages/BasePage.java @@ -32,20 +32,14 @@ import javax.servlet.http.HttpServletRequest; import org.apache.wicket.Application; -import org.apache.wicket.Component; -import org.apache.wicket.MarkupContainer; import org.apache.wicket.PageParameters; import org.apache.wicket.RedirectToUrlException; -import org.apache.wicket.RequestCycle; import org.apache.wicket.RestartResponseException; import org.apache.wicket.markup.html.CSSPackageResource; import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.link.BookmarkablePageLink; import org.apache.wicket.markup.html.link.ExternalLink; import org.apache.wicket.markup.html.panel.FeedbackPanel; -import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.protocol.http.RequestUtils; -import org.apache.wicket.protocol.http.WebRequest; import org.apache.wicket.protocol.http.servlet.ServletWebRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,15 +52,13 @@ import com.gitblit.GitBlit; import com.gitblit.Keys; import com.gitblit.models.ProjectModel; -import com.gitblit.models.RepositoryModel; import com.gitblit.models.TeamModel; import com.gitblit.models.UserModel; import com.gitblit.utils.StringUtils; import com.gitblit.utils.TimeUtils; +import com.gitblit.wicket.GitBlitWebApp; import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.WicketUtils; -import com.gitblit.wicket.panels.DetailedRepositoryUrlPanel; -import com.gitblit.wicket.panels.LinkPanel; public abstract class BasePage extends SessionPage { @@ -108,7 +100,7 @@ } catch (Throwable t) { bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp"); } - timeUtils = new TimeUtils(bundle); + timeUtils = new TimeUtils(bundle, getTimeZone()); } return timeUtils; } @@ -132,27 +124,22 @@ } protected void setupPage(String repositoryName, String pageName) { + String siteName = GitBlit.getString(Keys.web.siteName, Constants.NAME); + if (StringUtils.isEmpty(siteName)) { + siteName = Constants.NAME; + } if (repositoryName != null && repositoryName.trim().length() > 0) { - add(new Label("title", getServerName() + " - " + repositoryName)); + add(new Label("title", repositoryName + " - " + siteName)); } else { - add(new Label("title", getServerName())); + add(new Label("title", siteName)); } - ExternalLink rootLink = new ExternalLink("rootLink", urlFor(RepositoriesPage.class, null).toString()); + ExternalLink rootLink = new ExternalLink("rootLink", urlFor(GitBlitWebApp.HOME_PAGE_CLASS, null).toString()); WicketUtils.setHtmlTooltip(rootLink, GitBlit.getString(Keys.web.siteName, Constants.NAME)); add(rootLink); // Feedback panel for info, warning, and non-fatal error messages add(new FeedbackPanel("feedback")); - - // footer - if (GitBlit.getBoolean(Keys.web.authenticateViewPages, true) - || GitBlit.getBoolean(Keys.web.authenticateAdminPages, true)) { - UserFragment userFragment = new UserFragment("userPanel", "userFragment", BasePage.this); - add(userFragment); - } else { - add(new Label("userPanel", "")); - } add(new Label("gbVersion", "v" + Constants.getVersion())); if (GitBlit.getBoolean(Keys.web.aggressiveHeapManagement, false)) { @@ -258,60 +245,6 @@ return req.getServerName(); } - public static String getRepositoryUrl(RepositoryModel repository) { - StringBuilder sb = new StringBuilder(); - sb.append(WicketUtils.getGitblitURL(RequestCycle.get().getRequest())); - sb.append(Constants.GIT_PATH); - sb.append(repository.name); - - // inject username into repository url if authentication is required - if (repository.accessRestriction.exceeds(AccessRestrictionType.NONE) - && GitBlitWebSession.get().isLoggedIn()) { - String username = GitBlitWebSession.get().getUsername(); - sb.insert(sb.indexOf("://") + 3, username + "@"); - } - return sb.toString(); - } - - protected Component createGitDaemonUrlPanel(String wicketId, UserModel user, RepositoryModel repository) { - int gitDaemonPort = GitBlit.getInteger(Keys.git.daemonPort, 0); - if (gitDaemonPort > 0 && user.canClone(repository)) { - String servername = ((WebRequest) getRequest()).getHttpServletRequest().getServerName(); - String gitDaemonUrl; - if (gitDaemonPort == 9418) { - // standard port - gitDaemonUrl = MessageFormat.format("git://{0}/{1}", servername, repository.name); - } else { - // non-standard port - gitDaemonUrl = MessageFormat.format("git://{0}:{1,number,0}/{2}", servername, gitDaemonPort, repository.name); - } - - AccessPermission gitDaemonPermission = user.getRepositoryPermission(repository).permission;; - if (gitDaemonPermission.atLeast(AccessPermission.CLONE)) { - if (repository.accessRestriction.atLeast(AccessRestrictionType.CLONE)) { - // can not authenticate clone via anonymous git protocol - gitDaemonPermission = AccessPermission.NONE; - } else if (repository.accessRestriction.atLeast(AccessRestrictionType.PUSH)) { - // can not authenticate push via anonymous git protocol - gitDaemonPermission = AccessPermission.CLONE; - } else { - // normal user permission - } - } - - if (AccessPermission.NONE.equals(gitDaemonPermission)) { - // repository prohibits all anonymous access - return new Label(wicketId).setVisible(false); - } else { - // repository allows some form of anonymous access - return new DetailedRepositoryUrlPanel(wicketId, getLocalizer(), this, repository.name, gitDaemonUrl, gitDaemonPermission); - } - } else { - // git daemon is not running - return new Label(wicketId).setVisible(false); - } - } - protected List<ProjectModel> getProjectModels() { final UserModel user = GitBlitWebSession.get().getUser(); List<ProjectModel> projects = GitBlit.self().getProjectModels(user, true); @@ -429,41 +362,5 @@ GitBlitWebSession.get().cacheRequest(getClass()); } error(message, true); - } - - /** - * Panel fragment for displaying login or logout/change_password links. - * - */ - static class UserFragment extends Fragment { - - private static final long serialVersionUID = 1L; - - public UserFragment(String id, String markupId, MarkupContainer markupProvider) { - super(id, markupId, markupProvider); - - GitBlitWebSession session = GitBlitWebSession.get(); - if (session.isLoggedIn()) { - UserModel user = session.getUser(); - boolean editCredentials = GitBlit.self().supportsCredentialChanges(user); - boolean standardLogin = session.authenticationType.isStandard(); - - // username, logout, and change password - add(new Label("username", user.getDisplayName() + ":")); - add(new LinkPanel("loginLink", null, markupProvider.getString("gb.logout"), - LogoutPage.class).setVisible(standardLogin)); - - // quick and dirty hack for showing a separator - add(new Label("separator", "|").setVisible(standardLogin && editCredentials)); - add(new BookmarkablePageLink<Void>("changePasswordLink", - ChangePasswordPage.class).setVisible(editCredentials)); - } else { - // login - add(new Label("username").setVisible(false)); - add(new Label("loginLink").setVisible(false)); - add(new Label("separator").setVisible(false)); - add(new Label("changePasswordLink").setVisible(false)); - } - } } } -- Gitblit v1.9.1