Fix some wellformedness issues
Also fixed some duplicate IDs reported by Mats Erik Andersson.
This commit is contained in:
parent
614f07755a
commit
e8fb659d63
|
@ -9,7 +9,7 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label">New name</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="newjobset" value=""></input>
|
||||
<input type="text" class="span3" name="newjobset" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ END;
|
|||
|
||||
|
||||
BLOCK maybeLink;
|
||||
IF uri %]<a [% HTML.attributes(href => uri, class => class) %][% IF confirmmsg %]onclick="javascript:return confirm('[% confirmmsg %]')"[% END %]>[% content %]</a>[% ELSE; content; END;
|
||||
IF uri %]<a [% HTML.attributes(href => uri, class => class); IF confirmmsg +%] onclick="javascript:return confirm('[% confirmmsg %]')"[% END %]>[% content %]</a>[% ELSE; content; END;
|
||||
END;
|
||||
|
||||
|
||||
|
@ -164,7 +164,7 @@ BLOCK renderSelection;
|
|||
[% ELSE %]
|
||||
<select [% HTML.attributes(id => param, name => param) %]>
|
||||
[% FOREACH name IN options.keys.sort %]
|
||||
<option [% HTML.attributes(value => name) %] [% IF name == curValue; "selected='selected'"; END %]>[% options.$name %]</option>
|
||||
<option [% IF name == curValue; "selected='selected'"; END; " "; HTML.attributes(value => name) %]>[% options.$name %]</option>
|
||||
[% END %]
|
||||
</select>
|
||||
[% END;
|
||||
|
@ -273,7 +273,7 @@ BLOCK renderDiffUri;
|
|||
url = bi1.uri;
|
||||
path = url.replace(base, '');
|
||||
IF url.match(base) %]
|
||||
<a target="_new" href="[% m.uri.replace('_path_', path).replace('_1_', bi1.revision).replace('_2_', bi2.revision) %]">[% contents %]</a>
|
||||
<a target="_blank" href="[% m.uri.replace('_path_', path).replace('_1_', bi1.revision).replace('_2_', bi2.revision) %]">[% contents %]</a>
|
||||
[% nouri = 0;
|
||||
END;
|
||||
END;
|
||||
|
@ -282,7 +282,7 @@ BLOCK renderDiffUri;
|
|||
url = res.0;
|
||||
branch = res.1;
|
||||
IF bi1.type == "hg" || bi1.type == "git" %]
|
||||
<a target="_new" href="[% HTML.escape("/api/scmdiff?uri=$url&rev1=$bi1.revision&rev2=$bi2.revision&type=$bi1.type&branch=$branch") %]">[% contents %]</a>
|
||||
<a target="_blank" href="[% HTML.escape("/api/scmdiff?uri=$url&rev1=$bi1.revision&rev2=$bi2.revision&type=$bi1.type&branch=$branch") %]">[% contents %]</a>
|
||||
[% ELSE;
|
||||
contents;
|
||||
END;
|
||||
|
@ -464,7 +464,7 @@ BLOCK makeLazyTab %]
|
|||
$('.nav-tabs').bind('show', function(e) {
|
||||
var pattern = /#.+/gi;
|
||||
var id = e.target.toString().match(pattern)[0];
|
||||
if (id == "#[% tabName %]" && !tabsLoaded[id]) {
|
||||
if (id == "#[% tabName %]" && !tabsLoaded[id]) {
|
||||
tabsLoaded[id] = 1;
|
||||
$('#[% tabName %]').load("[% uri %]", function(response, status, xhr) {
|
||||
if (status == "error") {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
[% BLOCK renderJobsetInputAlt %]
|
||||
<button type="button" class="btn btn-warning" onclick='$(this).parents(".inputalt").remove()'><i class="icon-trash icon-white"></i></button>
|
||||
<input type="text" [% HTML.attributes(value => alt.value, name => name) %]></input>
|
||||
<input type="text" [% HTML.attributes(value => alt.value, name => name) %]/>
|
||||
<br />
|
||||
[% END %]
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
|||
<tr class="input [% extraClass %]" [% IF id %]id="[% id %]"[% END %]>
|
||||
<td>
|
||||
<button type="button" class="btn btn-warning" onclick='$(this).parents(".input").remove()'><i class="icon-trash icon-white"></i></button>
|
||||
<tt><input type="text" id="[% baseName %]-name" name="[% baseName %]-name" [% HTML.attributes(value => input.name) %]></input>
|
||||
<input type="text" id="[% baseName %]-name" name="[% baseName %]-name" [% HTML.attributes(value => input.name) %]/>
|
||||
</td>
|
||||
<td>
|
||||
[% INCLUDE renderSelection curValue=input.type param="$baseName-type" options=inputTypes %]
|
||||
|
@ -37,7 +37,7 @@
|
|||
[% INCLUDE renderJobsetInput input=input baseName="input-$input.name" %]
|
||||
[% END %]
|
||||
<tr>
|
||||
<td colspan="3" style="text-align: center;"><button type="button" class="add-input btn btn-success"><i class="icon-plus icon-white"></i> Add a new input</button></td
|
||||
<td colspan="3" style="text-align: center;"><button type="button" class="add-input btn btn-success"><i class="icon-plus icon-white"></i> Add a new input</button></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -50,12 +50,12 @@
|
|||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="enabled" [% IF jobset.enabled; 'checked="checked"'; END %]></input>Enabled
|
||||
<input type="checkbox" name="enabled" [% IF jobset.enabled; 'checked="checked"'; END %]/>Enabled
|
||||
</label>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="visible" [% IF !jobset.hidden; 'checked="checked"'; END %]></input>Visible
|
||||
<input type="checkbox" name="visible" [% IF !jobset.hidden; 'checked="checked"'; END %]/>Visible
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -63,23 +63,23 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label">Identifier</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="name" [% HTML.attributes(value => jobset.name) %]></input>
|
||||
<input type="text" class="span3" name="name" [% HTML.attributes(value => jobset.name) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Description</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="description" [% HTML.attributes(value => jobset.description) %]></input>
|
||||
<input type="text" class="span3" name="description" [% HTML.attributes(value => jobset.description) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Nix expression</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="nixexprpath" [% HTML.attributes(value => jobset.nixexprpath) %]></input>
|
||||
<input type="text" class="span3" name="nixexprpath" [% HTML.attributes(value => jobset.nixexprpath) %]/>
|
||||
in
|
||||
<input type="text" class="span3" name="nixexprinput" [% HTML.attributes(value => jobset.nixexprinput) %]></input>
|
||||
<input type="text" class="span3" name="nixexprinput" [% HTML.attributes(value => jobset.nixexprinput) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -87,7 +87,7 @@
|
|||
<label class="control-label">Check interval</label>
|
||||
<div class="controls">
|
||||
<div class="input-append">
|
||||
<input type="number" class="span3" name="checkinterval" [% HTML.attributes(value => jobset.checkinterval) %]></input>
|
||||
<input type="number" class="span3" name="checkinterval" [% HTML.attributes(value => jobset.checkinterval) %]/>
|
||||
<span class="add-on">sec</span>
|
||||
</div>
|
||||
<span class="help-inline">(0 to disable polling)</span>
|
||||
|
@ -97,7 +97,7 @@
|
|||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="enableemail" [% IF jobset.enableemail; 'checked="checked"'; END %]></input>Email notification
|
||||
<input type="checkbox" name="enableemail" [% IF jobset.enableemail; 'checked="checked"'; END %]/>Email notification
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -105,14 +105,14 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label">Email override</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="emailoverride" [% HTML.attributes(value => jobset.emailoverride) %]></input>
|
||||
<input type="text" class="span3" name="emailoverride" [% HTML.attributes(value => jobset.emailoverride) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Number of evaluations to keep</label>
|
||||
<div class="controls">
|
||||
<input type="number" class="span3" name="keepnr" [% HTML.attributes(value => jobset.keepnr) %]></input>
|
||||
<input type="number" class="span3" name="keepnr" [% HTML.attributes(value => jobset.keepnr) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -8,12 +8,12 @@
|
|||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="enabled" [% IF project.enabled; 'checked="checked"'; END %]></input>Enabled
|
||||
<input type="checkbox" name="enabled" [% IF project.enabled; 'checked="checked"'; END %]/>Enabled
|
||||
</label>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="visible" [% IF !project.hidden; 'checked="checked"'; END %]></input>Visible in the list of projects
|
||||
<input type="checkbox" name="visible" [% IF !project.hidden; 'checked="checked"'; END %]/>Visible in the list of projects
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -21,35 +21,35 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label">Identifier</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="name" [% HTML.attributes(value => project.name) %]></input>
|
||||
<input type="text" class="span3" name="name" [% HTML.attributes(value => project.name) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Display name</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="displayname" [% HTML.attributes(value => project.displayname) %]></input>
|
||||
<input type="text" class="span3" name="displayname" [% HTML.attributes(value => project.displayname) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Description</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="description" [% HTML.attributes(value => project.description) %]></input>
|
||||
<input type="text" class="span3" name="description" [% HTML.attributes(value => project.description) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Homepage</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="homepage" [% HTML.attributes(value => project.homepage) %]></input>
|
||||
<input type="text" class="span3" name="homepage" [% HTML.attributes(value => project.homepage) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Owner</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="owner" [% HTML.attributes(value => project.owner.username || c.user.username) %]></input>
|
||||
<input type="text" class="span3" name="owner" [% HTML.attributes(value => project.owner.username || c.user.username) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -9,14 +9,14 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label">Identifier</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="name" [% HTML.attributes(value => release.name) %]></input>
|
||||
<input type="text" class="span3" name="name" [% HTML.attributes(value => release.name) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Description</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="description" [% HTML.attributes(value => release.description) %]></input>
|
||||
<input type="text" class="span3" name="description" [% HTML.attributes(value => release.description) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
|||
<div class="releaseMember control-group">
|
||||
<label class="control-label">Build [% m.build.id %] Label</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="member-[% m.build.id %]-description" [% HTML.attributes(value => m.description) %]></input>
|
||||
<input type="text" class="span3" name="member-[% m.build.id %]-description" [% HTML.attributes(value => m.description) %]/>
|
||||
<button class="btn btn-warning" type="button" onclick='$(this).parents(".releaseMember").remove()'><i class="icon-trash icon-white"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -26,14 +26,14 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label">Identifier</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="name" [% HTML.attributes(value => view.name) %]></input>
|
||||
<input type="text" class="span3" name="name" [% HTML.attributes(value => view.name) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Description</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="description" [% HTML.attributes(value => view.description) %]></input>
|
||||
<input type="text" class="span3" name="description" [% HTML.attributes(value => view.description) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<form class="form-search" id="filter-jobs">
|
||||
<div class="input-append">
|
||||
<input name="filter" type="text" class="input-large search-query" placeholder="Search jobs by name..." [% HTML.attributes(value => filter) %]></input>
|
||||
<input name="filter" type="text" class="input-large search-query" placeholder="Search jobs by name..." [% HTML.attributes(value => filter) %]/>
|
||||
<button type="button" class="btn btn-info [% IF showInactive %]active[% END %]" id="active-toggle">Show inactive jobs</button>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
[% USE date %]
|
||||
[% USE HTML %]
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
[% PROCESS common.tt %]
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
|
@ -96,7 +93,7 @@
|
|||
<footer class="navbar">
|
||||
<hr />
|
||||
<small>
|
||||
<em><a href="http://nixos.org/hydra" target="_new">Hydra</a> [% HTML.escape(version) %] (using [% HTML.escape(nixVersion) %]).</em>
|
||||
<em><a href="http://nixos.org/hydra" target="_blank">Hydra</a> [% HTML.escape(version) %] (using [% HTML.escape(nixVersion) %]).</em>
|
||||
[% IF c.user_exists %]
|
||||
You are logged in as <tt>[% c.user.username %]</tt>.
|
||||
[% END %]
|
||||
|
|
|
@ -21,14 +21,14 @@ c.uri_for('/register') %]">register</a> first.</p>
|
|||
<div class="control-group">
|
||||
<label class="control-label">User name</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="username" value=""></input>
|
||||
<input type="text" class="span3" name="username" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Password</label>
|
||||
<div class="controls">
|
||||
<input type="password" class="span3" name="password" value=""></input>
|
||||
<input type="password" class="span3" name="password" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
[% BLOCK makeSubMenu %]
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" href="#" data-toggle="dropdown">[% title %]<b class="caret"></b></a>
|
||||
<ul id="left-menu" class="dropdown-menu">
|
||||
<ul class="dropdown-menu">
|
||||
[% content %]
|
||||
</ul>
|
||||
</li>
|
||||
[% END %]
|
||||
|
||||
<ul class="nav pull-left" id="top-menu">
|
||||
<ul class="nav pull-left">
|
||||
|
||||
[% WRAPPER makeSubMenu title="Status" %]
|
||||
[% INCLUDE menuItem
|
||||
|
@ -79,7 +79,7 @@
|
|||
'Are you sure you want to force evaluation of this jobset?',
|
||||
function(c) {
|
||||
if (!c) return;
|
||||
$.post("[% c.uri_for('/api/push', { jobsets = project.name _ ':' _ jobset.name, force = "1" }) %]")
|
||||
$.post("[% HTML.escape(c.uri_for('/api/push', { jobsets = project.name _ ':' _ jobset.name, force = "1" })) %]")
|
||||
.done(function(data) {
|
||||
if (data.error)
|
||||
bootbox.alert("Unable to schedule the jobset for evaluation: " + data.error);
|
||||
|
@ -189,10 +189,10 @@
|
|||
|
||||
</ul>
|
||||
|
||||
<ul class="nav pull-right" id="top-menu">
|
||||
<ul class="nav pull-right">
|
||||
|
||||
<form class="navbar-search" action="[% c.uri_for('/search') %]">
|
||||
<input name="query" type="text" class="search-query span2" placeholder="Search" [% HTML.attributes(value => c.req.params.query) %]></input>
|
||||
<input name="query" type="text" class="search-query span2" placeholder="Search" [% HTML.attributes(value => c.req.params.query) %]/>
|
||||
</form>
|
||||
|
||||
[% IF c.user_exists %]
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
[% BREAK IF checked %]
|
||||
[% END %]
|
||||
[% IF checked %]
|
||||
SELECTED
|
||||
selected="selected"
|
||||
[% END %]
|
||||
>[% role %]</option>
|
||||
[% END %]
|
||||
|
@ -22,7 +22,7 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label">User name</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="username" [% HTML.attributes(value => username) %]></input>
|
||||
<input type="text" class="span3" name="username" [% HTML.attributes(value => username) %]/>
|
||||
</div>
|
||||
</div>
|
||||
[% END %]
|
||||
|
@ -30,21 +30,21 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label">Full name</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="fullname" [% HTML.attributes(value => fullname) %]></input>
|
||||
<input type="text" class="span3" name="fullname" [% HTML.attributes(value => fullname) %]/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Password</label>
|
||||
<div class="controls">
|
||||
<input type="password" class="span3" name="password" value=""></input>
|
||||
<input type="password" class="span3" name="password" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Confirm password</label>
|
||||
<div class="controls">
|
||||
<input type="password" class="span3" name="password2" value=""></input>
|
||||
<input type="password" class="span3" name="password2" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -52,7 +52,7 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label">Email</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="emailaddress" [% HTML.attributes(value => user.emailaddress) %]></input>
|
||||
<input type="text" class="span3" name="emailaddress" [% HTML.attributes(value => user.emailaddress) %]/>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
|
@ -61,7 +61,7 @@
|
|||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="emailonerror" [% IF emailonerror; 'checked="checked"'; END %]></input>Receive evaluation error notifications
|
||||
<input type="checkbox" name="emailonerror" [% IF emailonerror; 'checked="checked"'; END %]/>Receive evaluation error notifications
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -71,7 +71,7 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label">Roles</label>
|
||||
<div class="controls">
|
||||
<select multiple name="roles" class="span3">
|
||||
<select multiple="multiple" name="roles" class="span3">
|
||||
[% INCLUDE roleoption role="admin" %]
|
||||
[% INCLUDE roleoption role="create-project" %]
|
||||
</select>
|
||||
|
@ -89,7 +89,7 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label">Type the digits shown in the image above</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" name="captcha" value=""></input>
|
||||
<input type="text" class="span3" name="captcha" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
[% END %]
|
||||
|
@ -134,8 +134,9 @@
|
|||
});
|
||||
</script>
|
||||
[% END %]
|
||||
</div>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
|
|
Loading…
Reference in a new issue