Plus lots of other tweaks.
JARRBLZDQ2JZWY7IUVPTOT7WJMBPMLFLF2MGLVGOYROAAISYGLSAC 5DSDXORDZ6HQCKCQGZ2ZRJXJDCMT3MRIDODUD5RTDSG6QKOHCYJAC PALLP4UYHQRWZB5HIZN7QCUA43WMQRCWMBETAQX5A4R77QACVFKQC FFEH62DEVPZZXGRZR5IYOQIP7MZVGRMFAYCY7DDZCPOC7ZUL6D2QC Z2E5PAYYSHALDNMWAZKI6XGGRCNKC5VVUFC4LOCDHX2L543MLPAQC ZLQL62FKDCESCE4WPLOMECUQ4GLIJTOAR2DALW2ON6AZEGIIN4KQC HQGXL4MXGHICQ3IRRQUR6KQHS2RKVOTDKQ5ZETXHQ56DANR2YADQC SMCOU72FKTPFNCDXFJAILVUWFE4DY33CJJE4436H5POKENFFDFFAC ZWCTAZGLJZQNTYWTC2XQUKMILJF6JGDL5IND6QNYWK4FIGMLRFXAC QT4FO2HPUPOS72Y5UTILN5AOV7S47AGG7V32CT24NA7TOVP76NAQC 6KJXJB7NZ5XJ3WGUWKFNT6LMBNYJN3IPHZ7B7H654D5B6LPOL5QAC SZYDW2DG5Z7BR3ICKWDXVUNSMCDSXMYZUB6FQ4W2B2FVZJD6PULQC 67NFGL7DFEKIS7D7HC72XJ5CET6SE6AOE5F37XXFTBU6GZAZ64HQC SGNXIOI4SO56F4YCGVMGZZO3AYXGPDL4FL75RDXAK5Y22IYWPPAQC FPK5LF53CFUEKFYJ3IYXT4UTVC6IITWJOCFATMC4PLHEUP5SIEAAC LZO3C2KIACZ3HN72RBGWWIT5ED4RJMYKI3SAHXT6RIUPHDFL3STQC QTFVCDIFHTF36AGU4UGNCTWSHQYTM2KERXS26TPAJK7IDJHL7BVAC UWVMQIAC2HQNSG2JQOPZGUOCQ5V2JFP2F7RCTF3WJLK7NHSD5PAAC ODNCGFQ5FPKFI624BVMLW7PJ2EFJOR3TY66OCZM42UNNTWBCF2TQC AS2OXLRMJGRI64FIEM4T7EV24NZYIMPPR2EQN3SR5A2JBHVXNYXAC KXGOUX7PH4BOXPJRYRGDS4RY7RTXYWUXCRAB5JR3BLVS62PVKOQAC 2BUX775ILK47LEDXNPSVUAKVLEKG54ODCXRG3474DHY5PHJJBNBQC P5X4P6VKS5CJOOLJRVL66GRJLDLVC3EKAVAHP2RJOXQJ7WTYAUBQC YTSIRIMKV2EN6CMO6LFX5J3NBJJYWBJKYDU3Z53CGXCIWP3FYI2QC DEMSSSB22UI2ZN26C56UYO4NZWMDCRYKLAQARGOTSORSDXX3ZNNQC ZI535LI6PJMKSOBJE33B3RRZ5S2JVTR3XPUDTSXJW6BZNTAHS3GQC J5UVLXOK6EDIL5I7VKWH4V2QDS4DPD7FHRK6XBWSXFRQS4JKXFZQC BHZXGT2HWAMFNVBUDG7VR5HNA2SUJBUSMWB7EHTECB4QJ5HVYANAC NDL67SQT5CLURSU5H27MJ5COTEQNU5ZMVNAMD4V2BA3G6MQT5VSQC WRIU3S5EO3RB3IM5PUDNHLOOMUPD5UKWNUL4YMAKD3C6O4KELJCAC IK53RV4VGOHLCZGQCCIKPB45M3C7M7YMNBOJFBGZJ4LWIZNU4QNQC RJICSUYGE5RVDXYAPCOTS436V67HB222GG6GAWEATJEQAAKDU5SAC GPHLV42M5EGNMSMFVZ54H3LY6QD5R4FE43565A7HJMI3V23FPDCAC Z6MDQIGODVE7RXX5U5D64EEC2ZDEZ36Z4ZMPFYIHWBG42IXUDYFQC G6HJY2V4CSSZF6BPIMRMRAJYRKPLTCBUFTJWZWK3BSNT235CZQ6QC QU5I5GCLSKUEKWPQBFPEHHLH3OODK6KSFHDAIDN52U45U6FNTFNAC TMP2FRIWXSSLCWOODKHRCVVCF26O7IXGB5KERZNOL5P5L26SHKMQC OEPUOUNBNTHTFZVDXREGBQCKFRCWMVP2MDVK4OA47VK2DBKEWVYAC 5IK6NYKFNY25MHV4SHACJMVGFZBRQICVSOUWNGZFAQ2GO6QUBYNAC 2JQ7WEFMU5IPCUKLGRLVVT4MYMKVHJDZVMOOOPL6K5RLEZ532LGQC 75XUS62YF7OK4S45RCZ5OOASXEBIEDNDBYEEMOCBDHVXV4GA3NLQC U4TD3AIQXBJFFUORTMIC4IHZTVBORRKL2TZ2FSP4G665ECZOEMNAC Q4VDOA762MDHLJKNJMPLHFYRRACCT3DQXF66ZTVMETZCR52B72OQC DE2DNCOIEVRA6OOSOSXI2USRPOWL4SC6XPCJFOUM54BS2ESCEWOAC G5YSUSNZCQCKYKR267EZ63E3KIW42R2YZPY2CMIJPYAHPNW3KY3QC QL55ECJ6KMMBUOWQ6LKSOVN7L43CH4S6SPE2AQ3VX3KSGC32RP4AC TQKGQ5R36VOLLJ3SR2WWIQ6VSN245N3QG4JHI2ZCP5T6RXN3PJWAC GAIBDEZZPZ52ASD3GK3WUYG3NOB27MLQ5GGIGKLAD6JQ4UATTT3AC 6F4UNDTCAW7LYSKTUUUCX32BLAAGYPUPK2LXMMZ32Y6H3CBWP6TQC RU7AQO7U4HCWJNQTR2KRGDLLG24WYD47MWIHREV6SIAPCPDQHAWQC SMTMFEKEB3YQU3X7NUA5FZ7KEW2BVTLNV2SF3SJFZ5XLU57QGYFAC 7YBYT2LQML2PKEO6UO4444AGSASS664UCDXW2YO3ALB7THQHCEBQC TP3PFR5KVAORTBLZI6EMZYZSQJI3BUEH3YRVTQJ5EM4M6VCSH5EAC TVGN5QT5T7I6OGFWAVZLAU5K2PUMGH2G5GKRTH7ZOGY4ET5XHDUAC RBNQKATLSAKTGW2IRNB5CRV3SEH5F6E4BPVWX4BII7MH5TCIPINQC EFWN7JBV7YIHNMCA6ZGFRSHZIUQJ2EX57SWYGVT7ZRJCHPIM2R3QC 6FRLEP4PY7HKDWDD7TWQ7HXILOWRMIKXHJRXXXS65Q5CXMQ5CSMQC JFZNAYJXKCMXYHGCLTRH7Q6TOFGJ4BT6332GONCWVYRLNMDDG3KAC H5REHM3MZKP6SZPMSTMO7SHAVS6W756Q6P2AEJ27R4FZB2IZ2HVAC OW6XV2YSTYTBR5JO4FKCYAH44WX5UI2HUPIM6UIEQF7SPV7RLQFQC FHF6IZJQPUQHY5QWQYRPZVDBRLHREWRHGNKVQDT7F3GQKKLZXJKQC IGNQFFV767W2N53L634LEZSBJC35OVC3BDLB52RIRAUEFTPX3ZYQC ZNFDFJHGXHSUP3NT5BZSGZPUFYMXCNTJRLSVD6PYF3N6O6ONAWRAC });$c->res->redirect($c->uri_for("/"));}sub delete : Chained('project') PathPart Args(0) {my ($self, $c) = @_;requireProjectOwner($c, $c->stash->{project});requirePost($c);txn_do($c->model('DB')->schema, sub {$c->stash->{project}->delete;
}sub delete : Chained('view') PathPart('delete') Args(0) {my ($self, $c) = @_;requireProjectOwner($c, $c->stash->{project});txn_do($c->model('DB')->schema, sub {$c->stash->{view}->delete;});$c->res->redirect($c->uri_for($c->controller('Project')->action_for('view'),[$c->stash->{project}->name]));
<form action="[% c.uri_for('/build' build.id 'add-to-release') %]" method="post"><p>Add to release: <input type="text" class="string" name="name" /><button type="submit"><img src="/static/images/success.gif" />Apply</button></p>
<form class="form-horizontal" action="[% c.uri_for('/build' build.id 'add-to-release') %]" method="post"><div class="control-group"><label class="control-label">Add to release</label><div class="controls"><input type="text" class="input" name="name"></input><button type="submit" class="btn btn-success">Apply</button></div></div>
[% IF uri %]<a [% HTML.attributes(href => uri) %][% 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 -%]
<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>[% END %]</select>
[% IF radiobuttons %]<div class="controls">[% FOREACH name IN options.keys.sort %]<label class="radio inline"><input type="radio" [% HTML.attributes(id => param, name => param, value => name) %][% IF name == curValue; "checked='1'"; END %]>[% options.$name %]</input></label>[% END %]</div>[% 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>[% END %]</select>[% END %]
<form action="[% IF create %][% c.uri_for('/project' project.name 'create-release/submit') %][% ELSE %][% c.uri_for('/release' project.name release.name 'submit') %][% END %]" method="post">
<form class="form-horizontal" action="[% IF create %][% c.uri_for('/project' project.name 'create-release/submit') %][% ELSE %][% c.uri_for('/release' project.name release.name 'submit') %][% END %]" method="post">
<table class="layoutTable"><tr><th>Identifier:</th><td><input type="text" class="string" name="name" [% HTML.attributes(value => release.name) %] /></td></tr><tr><th>Description:</th><td><input type="text" class="string" name="description" [% HTML.attributes(value => release.description) %] /></td></tr></table><h3>Release Members</h3>
<fieldset><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></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></div></div><h3>Release members</h3>
<h4>Build [% m.build.id %] <button type="button" onclick='$(this).parents(".releaseMember").remove()'><img src="/static/images/failure.gif" alt="Delete input" /></button></h4><table class="layoutTable"><tr><th>Label:</th><td><input type="text" class="string longString" name="member-[% m.build.id %]-description" [% HTML.attributes(value => m.description) %] /></td></tr></table>
[% FOREACH m IN members %]
<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><button class="btn btn-warning" type="button" onclick='$(this).parents(".releaseMember").remove()'><i class="icon-trash icon-white"></i></button></div>
<p><button type="submit"><img alt="Apply" src="/static/images/success.gif" />[%IF create %]Create[% ELSE %]Apply changes[% END %]</button>
<div class="form-actions"><button type="submit" class="btn btn-primary"><i class="icon-ok icon-white"></i>[%IF create %]Create[% ELSE %]Apply changes[% END %]</button>
<button id="delete-release" type="submit" name="action" value="delete"><img alt="Delete" src="/static/images/failure.gif" />Delete this release</button><script type="text/javascript">$("#delete-release").click(function() {return confirm("Are you sure you want to delete this release?");});</script>
<button id="delete-release" type="submit" class="btn btn-danger" name="action" value="delete"><i class="icon-trash icon-white"></i>Delete this release</button><script type="text/javascript">$("#delete-release").click(function() {return confirm("Are you sure you want to delete this release?");});</script>
<table class="layoutTable"><tr><th>Identifier:</th><td><input type="text" class="string" name="name" [% HTML.attributes(value => view.name) %] /></td></tr><tr><th>Description:</th><td><input type="text" class="string" name="description" [% HTML.attributes(value => view.description) %] /></td></tr></table>
<form class="form-horizontal" action="[% IF create %][% c.uri_for('/project' project.name 'create-view/submit') %][% ELSE %][% c.uri_for('/view' project.name view.name 'submit') %][% END %]" method="post">
<fieldset><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></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></div></div>
<p><button type="submit"><img src="/static/images/success.gif" />[%IF create %]Create[% ELSE %]Apply changes[% END %]</button></p>
<div class="form-actions"><button type="submit" class="btn btn-primary"><i class="icon-ok icon-white"></i>[%IF create %]Create[% ELSE %]Apply changes[% END %]</button>[% IF !create %]<button id="delete-view" type="submit" class="btn btn-danger" name="submit" value="delete"><i class="icon-trash icon-white"></i>Delete this view</button><script type="text/javascript">$("#delete-view").click(function() {return confirm("Are you sure you want to delete this view?");});</script>[% END %]</div>
[% IF !create %]<form action="[% c.uri_for('/view' project.name view.name 'delete') %]" method="post"><p><button id="delete-project" type="submit"><img src="/static/images/failure.gif" />Delete this view</button></p></form>
<script type="text/javascript">$("#delete-project").click(function() {return confirm("Are you sure you want to delete this view?");});</script>[% END %]
<form action="[% IF create %][% c.uri_for('/project' project.name 'create-jobset/submit') %][% ELSE %][% c.uri_for('/jobset' project.name jobset.name 'submit') %][% END %]" method="post">
<form class="form-horizontal" action="[% IF create %][% c.uri_for('/project' project.name 'create-jobset/submit') %][% ELSE %][% c.uri_for('/jobset' project.name jobset.name 'submit') %][% END %]" method="post">
<button type="button" onclick='$(this).parents(".inputalt").remove()'><img src="/static/images/failure.gif" alt="Delete value" /></button>
<button type="button" class="btn btn-warning" onclick='$(this).parents(".inputalt").remove()'><i class="icon-trash icon-white"></i></button>
[% IF edit %]<button type="button" onclick='$(this).parents(".input").remove()'><img src="/static/images/failure.gif" alt="Delete input" /></button>[% END -%]
[% IF edit %]<button type="button" class="btn btn-warning" onclick='$(this).parents(".input").remove()'><i class="icon-trash icon-white"></i></button>[% END -%]
[% IF edit %]<button type="button" onclick='return false' class="add-inputalt">+</button>[% END %]
[% IF edit %]<button type="button" class="add-inputalt btn btn-success" onclick='return false'><i class="icon-plus icon-white"></i></button>[% END %]
<td colspan="3"><button type="button" class="add-input">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>
<p><button type="submit"><img src="/static/images/success.gif" />[%IF create %]Create[% ELSE %]Apply changes[% END %]</button></p>
<p><button type="submit" class="btn btn-primary"><i class="icon-ok icon-white"></i> [%IF create %]Create[% ELSE %]Apply changes[% END %]</button></p>
<h1>Job Status[% IF project %] of <tt>[% project.name %][% IF jobset %]:[% jobset.name%][% END %][% IF job %]:[% job.name%][% END %]</tt>[% END %]</h1>
<div class="page-header"><h1>Job status[% IF project %] of <tt>[% project.name %][% IF jobset %]:[% jobset.name%][% END %][% IF job %]:[% job.name%][% END %]</tt>[% END %]</h1></div>
</div>
<footer class="navbar"><hr /><small><em><a href="http://nixos.org/hydra" target="_new">Hydra</a> [% HTML.escape(version) %] (using [% HTML.escape(nixVersion) %]).</em>Page generated on [% INCLUDE renderDateTime %].[% IF c.user_exists %]You are logged in as <tt>[% c.user.username %]</tt>.[% END %]</small></footer>
<div class="navbar navbar-fixed-bottom"><div id="footer" style="text-align: center;"><div id="last-modified"><em><a href="http://nixos.org/hydra" target="_new">Hydra</a> [% HTML.escape(version) %] (using [% HTML.escape(nixVersion) %]).</em>Page generated on [% INCLUDE renderDateTime %].[% IF c.user_exists %]You are logged in as <tt>[% c.user.username %]</tt>.[% END %]</div>
<h1>Build log of [% INCLUDE renderFullJobNameOfBuild %] build <a href="[% c.uri_for('/build' build.id) %]">[% build.id %]</a>[%IF step %] step [% step.stepnr %][% END %]</h1>
<div class="page-header"><h1>Build log of [% INCLUDE renderFullJobNameOfBuild %] build <a href="[% c.uri_for('/build' build.id) %]">[% build.id %]</a>[%IF step %] step [% step.stepnr %][% END %]</h1></div>
[% IF errorMsg %]<p class="error">Error: [% errorMsg %]</p>[% END %]
<fieldset><div class="control-group"><label class="control-label">User name</label><div class="controls"><input type="text" class="span3" name="username" value=""></input></div></div>
<table class="layoutTable"><tr><td>Username:</td><td><input type="text" name="username" /></td></tr><tr><td>Password:</td><td><input type="password" name="password" /></td></tr><tr colspan="2"><td><input type="submit" name="login" value="Login" /></td></tr></table>
<div class="form-actions"><input type="submit" name="login" value="Login" class="btn btn-primary" /></div>
<form action="[% IF create %][% c.uri_for('/admin/create-machine/submit') %][% ELSE %][% c.uri_for('/admin/machine' machine.hostname 'submit') %][% END %]" method="post"><h2>Machine[% IF ! create %] '[% machine.hostname %]'[% END %]</h2>
<div class="page-header"><h1>[% IF create %]New machine[% ELSE %]Machine <tt>[% machine.hostname %]</tt>[% END %]</h1></div><form class="form-horizontal" method="post"action="[% IF create %][% c.uri_for('/admin/create-machine/submit') %][% ELSE %][% c.uri_for('/admin/machine' machine.hostname 'submit') %][% END %]">
<tr><th>Hostname:</th><td>[% INCLUDE maybeEditString param="hostname" value=machine.hostname %]</td></tr>
<div class="control-group"><label class="control-label">Host name</label><div class="controls"><input type="text" class="span3" name="hostname" value="[% machine.hostname %]"></input></div></div>
<tr><th>Username:</th><td>[% INCLUDE maybeEditString param="username" value=machine.username %]</td></tr><tr><th>SSH key location:</th><td>[% INCLUDE maybeEditString param="ssh_key" value=machine.ssh_key %]</td></tr><tr><th>Options:</th><td>[% INCLUDE maybeEditString param="options" value=machine.options %]</td></tr><tr><th>Max concurrent builds:</th><td><tt>[% INCLUDE maybeEditString param="maxconcurrent" value=machine.maxconcurrent %]</tt></td></tr><tr><th>Speed factor:</th><td>[% INCLUDE maybeEditString param="speedfactor" value=machine.speedfactor %]</td></tr><tr><th>Systems:</th><td><select multiple name="systems" style="width: 27em;">[% FOREACH s IN systemtypes %]<option value="[% s.system %]"[% checked = false %][% FOREACH ms IN machine.buildmachinesystemtypes %][% checked = ms.system == s.system %][% BREAK IF checked %][% END %][% IF checked %]SELECTED[% END %]>[% s.system %]</option>[% END %]</select></td></tr></table>
<div class="control-group"><label class="control-label">User name</label><div class="controls"><input type="text" class="span3" name="username" value="[% machine.username %]"></input></div></div><div class="control-group"><label class="control-label">SSH key location</label><div class="controls"><input type="text" class="span3" name="ssh_key" value="[% machine.ssh_key %]"></input></div></div><div class="control-group"><label class="control-label">Options</label><div class="controls"><input type="text" class="span3" name="options" value="[% machine.options %]"></input></div></div><div class="control-group"><label class="control-label">Max concurrent builds</label><div class="controls"><input type="text" class="span3" name="maxconcurrent" value="[% machine.maxconcurrent %]"></input></div></div><div class="control-group"><label class="control-label">Speed factor</label><div class="controls"><input type="text" class="span3" name="speedfactor" value="[% machine.speedfactor %]"></input></div></div><div class="control-group"><label class="control-label">Systems</label><div class="controls"><select class="span3" multiple="1" name="systems">[% FOREACH s IN systemtypes;checked = false;FOREACH ms IN machine.buildmachinesystemtypes;checked = ms.system == s.system;BREAK IF checked;END %]<option value="[% s.system %]" [% IF checked %]selected="1"[% END %]>[% s.system %]</option>[% END %]</select></div></div>
<p><button type="submit"><img src="/static/images/success.gif" />[%IF create %]Create[% ELSE %]Apply changes[% END %]</button></p></form>[% IF !create %]<form action="[% c.uri_for('/admin/machine' machine.hostname 'delete') %]" method="post"><p><button id="delete-machine" type="submit"><img src="/static/images/failure.gif" />Remove this machine</button></p></form><script type="text/javascript">$("#delete-machine").click(function() {return confirm("Are you sure you want to delete this machine?");});</script>[% END %]
<div class="form-actions"><button type="submit" class="btn btn-primary"><i class="icon-ok icon-white"></i>[%IF create %]Create[% ELSE %]Apply changes[% END %]</button>[% IF !create %]<button id="delete-machine" type="submit" class="btn btn-danger" name="submit" value="delete"><i class="icon-trash icon-white"></i>Delete this machine</button><script type="text/javascript">$("#delete-machine").click(function() {return confirm("Are you sure you want to delete this machine?");});</script>[% END %]</div></fieldset>
<td>[% INCLUDE maybeLink uri = c.uri_for(c.controller('Admin').action_for('machine_edit'), [m.hostname]) content = m.hostname %]</td>
<td><a href="[% c.uri_for(c.controller('Admin').action_for('machine_edit'), [m.hostname]) %]">[% m.hostname %]</a></td>
<td>[ [% INCLUDE maybeLink uri = c.uri_for(c.controller('Admin').action_for('news_delete') i.id) content = "Delete" confirmmsg = "Are you sure you want to delete this news item?" %] ]</td>
<td>[% INCLUDE maybeLink uri = c.uri_for(c.controller('Admin').action_for('news_delete') i.id) content = "Delete" confirmmsg = "Are you sure you want to delete this news item?" class = "btn btn-mini btn-danger" %]</td>
<form class="form-horizontal" action="[% c.uri_for('/admin/news/submit') %]" method="post"><fieldset><legend>Add news item</legend><div class="control-group"><label class="control-label">News text (HTML)</label><div class="controls"><textarea class="span9" name="contents"></textarea></div></div></fieldset><div class="form-actions"><button type="submit" class="btn btn-primary"><i class="icon-ok icon-white"></i>Post</button></div>
</form>[% IF !create %]<form action="[% c.uri_for('/project' project.name 'delete') %]" method="post"><p><button id="delete-project" type="submit"><img src="/static/images/failure.gif" />Delete this project</button></p></form><script type="text/javascript">$("#delete-project").click(function() {return confirm("Are you sure you want to delete this project?");});</script>
<p><button type="submit" class="btn btn-primary"><i class="icon-ok icon-white"></i>[%IF create %]Create[% ELSE %]Apply changes[% END %]</button>[% IF !create %]<button id="delete-project" type="submit" class="btn btn-danger" name="submit" value="delete"><i class="icon-trash icon-white"></i>Delete this project</button><script type="text/javascript">$("#delete-project").click(function() {return confirm("Are you sure you want to delete this project?");});</script>[% END %]</p>
<h1>Release <tt>[% release.name %]</tt> <aclass="smallLink" href="[% c.uri_for('/release' project.name release.name "edit") %]">[Edit]</a></h1>
<div class="page-header"><h1>Release <tt>[% release.name %]</tt><a class="btn" href="[% c.uri_for('/release' project.name release.name "edit") %]"><i class="icon-edit"></i></a></h1></div>
[% INCLUDE maybeLink uri = c.uri_for(c.controller('Admin').action_for('force_eval'), project.name, jobset.name) content = "Evaluate" confirmmsg = ("Are you sure you want to force evaluation of jobset " _ project.name _ ":" _ jobset.name _ "?") %]
[% INCLUDE maybeLink uri = c.uri_for(c.controller('Admin').action_for('force_eval'), project.name, jobset.name) content = "Evaluate" confirmmsg = ("Are you sure you want to force evaluation of jobset " _ project.name _ ":" _ jobset.name _ "?") class = "" %]
<li>[% INCLUDE maybeLink uri = c.uri_for(c.controller('Admin').action_for('users')) content = "Manage users" %]</li><li>[% INCLUDE maybeLink uri = c.uri_for(c.controller('Admin').action_for('news')) content = "Manage news" %]</li>
<li>[% INCLUDE maybeLink uri = c.uri_for(c.controller('Admin').action_for('users')) content = "Manage users" class = "" %]</li><li>[% INCLUDE maybeLink uri = c.uri_for(c.controller('Admin').action_for('news')) content = "Manage news" class = "" %]</li>
<form action="[% IF create %][% c.uri_for('/admin/create-user/submit') %][% ELSE %][% c.uri_for('/admin/user' user.username 'submit') %][% END %]" method="post">
<div class="page-header"><h1>[% IF create %]New user[% ELSE %]User <tt>[% user.username %]</tt>[% END %]</h1></div>
<h2>User[% IF ! create %] '[% user.username %]'[% END %]</h2><table class="layoutTable">
<form class="form-horizontal" action="[% IF create %][% c.uri_for('/admin/create-user/submit') %][% ELSE %][% c.uri_for('/admin/user' user.username 'submit') %][% END %]" method="post"><fieldset>
<tr><th>Username:</th><td>[% INCLUDE maybeEditString param="username" value=user.username %]</td></tr>
<div class="control-group"><label class="control-label">User name</label><div class="controls"><input type="text" class="span3" name="username" value=""></input></div></div>
<tr><th>Full name:</th><td>[% INCLUDE maybeEditString param="fullname" value=user.fullname %]</td></tr><tr><th>Email:</th><td>[% INCLUDE maybeEditString param="emailaddress" value=user.emailaddress %]</td></tr><tr><th>Evaluation error notifications:</th><td>[% INCLUDE renderSelection param="emailonerror" curValue=user.emailonerror options={"1" = "Yes", "0" = "No"} %]</td></tr><tr><th>Roles:</th><td><select multiple name="roles" style="width: 27em;">[% INCLUDE roleoption role="admin" %][% INCLUDE roleoption role="create-project" %]</select></td></tr></table>
<div class="control-group"><label class="control-label">Full name</label><div class="controls"><input type="text" class="span3" name="fullname" [% HTML.attributes(value => user.fullname) %]></input></div></div><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></div></div><div class="control-group"><label class="control-label">Evaluation error notifications</label>[% INCLUDE renderSelection param="emailonerror" curValue=user.emailonerror radiobuttons=1 options={"1" = "Yes", "0" = "No"} %]</div><div class="control-group"><label class="control-label">Roles</label><div class="controls"><select multiple name="roles" class="span3">[% INCLUDE roleoption role="admin" %][% INCLUDE roleoption role="create-project" %]</select></div></div>
<p><button type="submit"><img src="/static/images/success.gif" />[%IF create %]Create[% ELSE %]Apply changes[% END %]</button></p>
<div class="form-actions"><button type="submit" class="btn btn-primary"><i class="icon-ok icon-white"></i>[%IF create %]Create[% ELSE %]Apply changes[% END %]</button>[% IF !create %]<button id="delete-user" type="submit" class="btn btn-danger" name="submit" value="delete"><i class="icon-trash icon-white"></i>Delete this user</button><script type="text/javascript">$("#delete-user").click(function() {return confirm("Are you sure you want to delete this user?");});</script>[% END %]</div></p>
[% IF !create %]<form action="[% c.uri_for('/admin/user' user.hostname 'delete') %]" method="post"><p><button id="delete-user" type="submit"><img src="/static/images/failure.gif" />Remove this user</button></p></form><script type="text/javascript">$("#delete-user").click(function() {return confirm("Are you sure you want to delete this user?");});</script>[% END %]
<td>[ [% INCLUDE maybeLink uri = c.uri_for(c.controller('Admin').action_for('reset_password'), [u.username]) content = "Reset password" confirmmsg = "Are you sure you want to reset the password for this user?" %] ]</td>
<td>[% INCLUDE maybeLink uri = c.uri_for(c.controller('Admin').action_for('reset_password'), [u.username]) content = "Reset password" confirmmsg = "Are you sure you want to reset the password for this user?" class = "btn btn-mini" %]</td>
<h1>View <tt>[% view.project.name %]:[% view.name %]</tt> result [% result.id %][% IF result.releasename %] (<tt>[% result.releasename %]</tt>)[% END %]</h1>
<div class="page-header"><h1>View <tt>[% view.project.name %]:[% view.name %]</tt> result [% result.id %][% IF result.releasename %] (<tt>[% result.releasename %]</tt>)[% END %]</h1></div>
[<a href="[% c.uri_for('/view' project.name view.name "edit") %]">Edit</a>][<a href="[% c.uri_for('/view' project.name view.name "latest") %]">Latest</a>]
<a class="btn" href="[% c.uri_for('/view' project.name view.name "edit") %]"><i class="icon-edit"></i> Edit</a><a class="btn" href="[% c.uri_for('/view' project.name view.name "latest") %]"><i class="icon-share-alt"></i> Latest</a>