diff options
Diffstat (limited to 'src/bin/cgi.rs')
-rw-r--r-- | src/bin/cgi.rs | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/bin/cgi.rs b/src/bin/cgi.rs index 6d059fe..8a0ab36 100644 --- a/src/bin/cgi.rs +++ b/src/bin/cgi.rs @@ -237,9 +237,9 @@ fn ci_log(ci: &Ci) -> cgi::Response { let duration: u64 = r.tests.iter().map(|x| x.1.duration).sum(); writeln!(&mut out, "<tr>").unwrap(); - writeln!(&mut out, "<td> <a href=\"{}?branch={}&commit={}\">{}</a> </td>", - ci.script_name, branch, - r.id, &r.id.as_str()[..14]).unwrap(); + writeln!(&mut out, "<td> <a href=\"{}?user={}&branch={}&commit={}\">{}</a> </td>", + ci.script_name, ci.user.as_ref().unwrap(), + branch, r.id, &r.id.as_str()[..14]).unwrap(); writeln!(&mut out, "<td> {} </td>", &r.message[..subject_len]).unwrap(); writeln!(&mut out, "<td> {} </td>", count(&r.tests, TestStatus::Passed)).unwrap(); writeln!(&mut out, "<td> {} </td>", count(&r.tests, TestStatus::Failed)).unwrap(); @@ -373,8 +373,8 @@ fn ci_commit(ci: &Ci) -> cgi::Response { writeln!(&mut out, "<td> {} </td>", result.status.to_str()).unwrap(); writeln!(&mut out, "<td> {} </td>", last_good_line(&commits, name)).unwrap(); if let Some(branch) = &ci.branch { - writeln!(&mut out, "<td> <a href={}?branch={}&test=^{}$> git log </a> </td>", - ci.script_name, &branch, name).unwrap(); + writeln!(&mut out, "<td> <a href={}?user={}&branch={}&test=^{}$> git log </a> </td>", + ci.script_name, ci.user.as_ref().unwrap(), &branch, name).unwrap(); } log_link(&mut out, &format!("c/{}/{}/full_log.br", &first_commit.id, name), "full"); @@ -404,7 +404,8 @@ fn ci_list_branches(ci: &Ci, user: &Userrc, out: &mut String) { writeln!(out, "<div> <table class=\"table\">").unwrap(); for (b, _) in &user.branch { - writeln!(out, "<tr> <th> <a href={}?branch={}>{}</a> </th> </tr>", ci.script_name, b, b).unwrap(); + writeln!(out, "<tr> <th> <a href={}?user={}&branch={}>{}</a> </th> </tr>", + ci.script_name, ci.user.as_ref().unwrap(), b, b).unwrap(); } writeln!(out, "</table> </div>").unwrap(); @@ -559,12 +560,14 @@ cgi::cgi_main! {|request: cgi::Request| -> cgi::Response { tests_matching: Regex::new(tests_matching).unwrap_or(Regex::new("").unwrap()), }; - if ci.commit.is_some() { - ci_commit(&ci) - } else if ci.branch.is_some() { - ci_log(&ci) - } else if ci.user.is_some() { - ci_user(&ci) + if ci.user.is_some() { + if ci.commit.is_some() { + ci_commit(&ci) + } else if ci.branch.is_some() { + ci_log(&ci) + } else { + ci_user(&ci) + } } else { ci_home(&ci) } |