Quellcode durchsuchen

links suppoert current default rev context from request 'h'

pull/1257/head
qxo vor 6 Jahren
Ursprung
Commit
977ac7a672

+ 27
- 15
src/main/java/com/gitblit/wicket/WicketUtils.java Datei anzeigen

@@ -29,6 +29,7 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.wicket.Component;
import org.apache.wicket.PageParameters;
import org.apache.wicket.Request;
import org.apache.wicket.RequestCycle;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.behavior.SimpleAttributeModifier;
@@ -449,32 +450,43 @@ public class WicketUtils {
public static PageParameters newSearchParameter(String repositoryName,
String commitId, String search, Constants.SearchType type) {
Map<String, String> parameterMap = new HashMap<String, String>();
if (StringUtils.isEmpty(commitId)) {
parameterMap.put("r", repositoryName);
parameterMap.put("s", search);
parameterMap.put("st", type.name());
return new PageParameters(parameterMap);
}
setCommitIdIf(commitId, parameterMap);
parameterMap.put("r", repositoryName);
parameterMap.put("h", commitId);
parameterMap.put("s", search);
parameterMap.put("st", type.name());
return new PageParameters(parameterMap);
}
public static void setCommitIdIf(String commitId, Map<String, String> parameterMap) {
if (StringUtils.isEmpty(commitId)) {
final String branch = getRequestParameter("h");
if (!StringUtils.isEmpty(branch)) {
parameterMap.put("h", branch);
}
}else{
parameterMap.put("h", commitId);
}
}
protected static String getRequestParameter(final String key) {
final HttpServletRequest req = ((WebRequest)RequestCycle.get().getRequest()).getHttpServletRequest();
final String branch = req == null ? null : req.getParameter(key);
return branch;
}
public static void setCommitIdIf(final PageParameters params) {
if( params.get("h") == null ){
final String branch = getRequestParameter("h");
if (!StringUtils.isEmpty(branch)) {
params.put("h", branch);
}
}
}
public static PageParameters newSearchParameter(String repositoryName,
String commitId, String search, Constants.SearchType type,
int pageNumber) {
Map<String, String> parameterMap = new HashMap<String, String>();
if (StringUtils.isEmpty(commitId)) {
parameterMap.put("r", repositoryName);
parameterMap.put("s", search);
parameterMap.put("st", type.name());
parameterMap.put("pg", String.valueOf(pageNumber));
return new PageParameters(parameterMap);
}
setCommitIdIf(commitId, parameterMap);
parameterMap.put("r", repositoryName);
parameterMap.put("h", commitId);
parameterMap.put("s", search);
parameterMap.put("st", type.name());
parameterMap.put("pg", String.valueOf(pageNumber));

+ 2
- 2
src/main/java/com/gitblit/wicket/pages/ComparePage.java Datei anzeigen

@@ -78,7 +78,8 @@ public class ComparePage extends RepositoryPage {
Repository r = getRepository();
RepositoryModel repository = getRepositoryModel();

if (StringUtils.isEmpty(objectId)) {
String[] parts = StringUtils.isEmpty(objectId) ? null : objectId.split("\\.\\.");
if ( parts == null || parts.length < 2) {
// seleciton form
add(new Label("comparison").setVisible(false));
} else {
@@ -89,7 +90,6 @@ public class ComparePage extends RepositoryPage {
RevCommit fromCommit;
RevCommit toCommit;

String[] parts = objectId.split("\\.\\.");
if (parts[0].startsWith("refs/") && parts[1].startsWith("refs/")) {
// set the ref models
fromRefId.setObject(parts[0]);

+ 4
- 0
src/main/java/com/gitblit/wicket/pages/RepositoryPage.java Datei anzeigen

@@ -229,10 +229,14 @@ public abstract class RepositoryPage extends RootPage {
return navLinks;
}
if( params != null ){
WicketUtils.setCommitIdIf(params);
}
navLinks.add(new PageNavLink("gb.commits", LogPage.class, objectParams));
navLinks.add(new PageNavLink("gb.tree", TreePage.class, objectParams));
if (app().tickets().isReady() && (app().tickets().isAcceptingNewTickets(model) || app().tickets().hasTickets(model))) {
PageParameters tParams = WicketUtils.newOpenTicketsParameter(getRepositoryName());
WicketUtils.setCommitIdIf(tParams);
navLinks.add(new PageNavLink("gb.tickets", TicketsPage.class, tParams));
}
navLinks.add(new PageNavLink("gb.docs", DocsPage.class, objectParams, true));

Laden…
Abbrechen
Speichern