This commit is contained in:
		| @@ -66,6 +66,7 @@ sub updateProject { | ||||
|     $project->name($projectName); | ||||
|     $project->displayname($displayName); | ||||
|     $project->description($c->request->params->{description}); | ||||
|     $project->enabled($c->request->params->{enabled} eq "1" ? 1 : 0); | ||||
|  | ||||
|     $project->update; | ||||
|      | ||||
| @@ -374,6 +375,19 @@ sub download :Local { | ||||
| } | ||||
|  | ||||
|  | ||||
| sub closure :Local { | ||||
|     my ( $self, $c, $buildId, $productnr ) = @_; | ||||
|  | ||||
|     my $build = getBuild($c, $buildId); | ||||
|     return error($c, "Build with ID $buildId doesn't exist.") if !defined $build; | ||||
|  | ||||
|     my $product = $build->buildproducts->find({productnr => $productnr}); | ||||
|     return error($c, "Build $buildId doesn't have a product $productnr.") if !defined $product; | ||||
|  | ||||
|     return error($c, "Not yet implemented."); | ||||
| } | ||||
|      | ||||
|      | ||||
| sub end : ActionClass('RenderView') {} | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -8,8 +8,8 @@ use base 'DBIx::Class::Schema'; | ||||
| __PACKAGE__->load_classes; | ||||
|  | ||||
|  | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KEl9aBHuDTOb+pkc2Wde0A | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 17:09:46 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:uZCNqZeWS46Z2RdysLEDaA | ||||
|  | ||||
|  | ||||
| # You can replace this text with custom content, and it will be preserved on regeneration | ||||
|   | ||||
| @@ -40,8 +40,8 @@ __PACKAGE__->belongs_to( | ||||
| ); | ||||
|  | ||||
|  | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:wkxzzlIrlNAnzUlBQMkx/A | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 17:09:46 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:96p2HKZ/6kk0zZKq3JuvDg | ||||
|  | ||||
|  | ||||
| # You can replace this text with custom content, and it will be preserved on regeneration | ||||
|   | ||||
| @@ -21,8 +21,8 @@ __PACKAGE__->set_primary_key("build", "logphase"); | ||||
| __PACKAGE__->belongs_to("build", "HydraFrontend::Schema::Builds", { id => "build" }); | ||||
|  | ||||
|  | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:q7krNxyxcF4PlLGT8dmkLQ | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 17:09:46 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:zWuDHHMl7eWUWU238D5MWg | ||||
|  | ||||
|  | ||||
| # You can replace this text with custom content, and it will be preserved on regeneration | ||||
|   | ||||
| @@ -33,8 +33,8 @@ __PACKAGE__->set_primary_key("build", "productnr"); | ||||
| __PACKAGE__->belongs_to("build", "HydraFrontend::Schema::Builds", { id => "build" }); | ||||
|  | ||||
|  | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:60iPYEFvRtct6aHFChM8Eg | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 17:09:46 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:kiP5lQxpuaZUZiqHigHYxQ | ||||
|  | ||||
|  | ||||
| # You can replace this text with custom content, and it will be preserved on regeneration | ||||
|   | ||||
| @@ -25,8 +25,8 @@ __PACKAGE__->set_primary_key("id"); | ||||
| __PACKAGE__->belongs_to("id", "HydraFrontend::Schema::Builds", { id => "id" }); | ||||
|  | ||||
|  | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:twJAkSC32lJGcGItKegomg | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 17:09:46 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:MqQ972Qn6sjoWbbbzmE1cg | ||||
|  | ||||
|  | ||||
| # You can replace this text with custom content, and it will be preserved on regeneration | ||||
|   | ||||
| @@ -79,8 +79,8 @@ __PACKAGE__->has_many( | ||||
| ); | ||||
|  | ||||
|  | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:kTvNLSNfUxIbzFQ82v+AHg | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 17:09:46 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:yYcxVJ1KnjD3KKWt4XQFMg | ||||
|  | ||||
| __PACKAGE__->has_many(dependents => 'HydraFrontend::Schema::Buildinputs', 'dependency'); | ||||
|  | ||||
|   | ||||
| @@ -23,8 +23,8 @@ __PACKAGE__->set_primary_key("id"); | ||||
| __PACKAGE__->belongs_to("id", "HydraFrontend::Schema::Builds", { id => "id" }); | ||||
|  | ||||
|  | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:a9oTOE0Aw1nHAamSOf+AVw | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 17:09:46 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:uAs9z69gMZRAQSzvOGsqEQ | ||||
|  | ||||
|  | ||||
| # You can replace this text with custom content, and it will be preserved on regeneration | ||||
|   | ||||
| @@ -35,8 +35,8 @@ __PACKAGE__->set_primary_key("id", "stepnr"); | ||||
| __PACKAGE__->belongs_to("id", "HydraFrontend::Schema::Builds", { id => "id" }); | ||||
|  | ||||
|  | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:8JPNCq31oRo9w3tQGPpwMw | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 17:09:46 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:mM/rt5x2l2wMZn+EnctifQ | ||||
|  | ||||
|  | ||||
| # You can replace this text with custom content, and it will be preserved on regeneration | ||||
|   | ||||
| @@ -31,8 +31,8 @@ __PACKAGE__->belongs_to( | ||||
| ); | ||||
|  | ||||
|  | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:EVQbKQiSBV7xXLVym+lUxQ | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 17:09:46 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xj0LojYsbdSMWCv+KUH8sw | ||||
|  | ||||
|  | ||||
| # You can replace this text with custom content, and it will be preserved on regeneration | ||||
|   | ||||
| @@ -43,8 +43,8 @@ __PACKAGE__->has_many( | ||||
| ); | ||||
|  | ||||
|  | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:DcDEOgQY24GPqdhDlleLsQ | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 17:09:46 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:VO/SU4tv5UxNAmiwsqn6UA | ||||
|  | ||||
|  | ||||
| # You can replace this text with custom content, and it will be preserved on regeneration | ||||
|   | ||||
| @@ -48,8 +48,8 @@ __PACKAGE__->has_many( | ||||
| ); | ||||
|  | ||||
|  | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nsVTqxR1wQaamEpy5nNOTQ | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 17:09:46 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:jZ0kG9EzEJn5mJFSp2WFpw | ||||
|  | ||||
|  | ||||
| # You can replace this text with custom content, and it will be preserved on regeneration | ||||
|   | ||||
| @@ -14,6 +14,8 @@ __PACKAGE__->add_columns( | ||||
|   { data_type => "text", is_nullable => 0, size => undef }, | ||||
|   "description", | ||||
|   { data_type => "VARCHAR", is_nullable => 0, size => undef }, | ||||
|   "enabled", | ||||
|   { data_type => "integer", is_nullable => 0, size => undef }, | ||||
| ); | ||||
| __PACKAGE__->set_primary_key("name"); | ||||
| __PACKAGE__->has_many( | ||||
| @@ -28,8 +30,8 @@ __PACKAGE__->has_many( | ||||
| ); | ||||
|  | ||||
|  | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:TNoQBA0pY/OwfunCJ+/9Gw | ||||
| # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 17:09:46 | ||||
| # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:XkQtF1ABmLxvxND62rBlCw | ||||
|  | ||||
|  | ||||
| # You can replace this text with custom content, and it will be preserved on regeneration | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| [% WRAPPER layout.tt title="Hydra Overview" %] | ||||
| [% PROCESS common.tt %] | ||||
| [% USE date %] | ||||
| [% USE mibs=format("%.2f") %] | ||||
|  | ||||
| @@ -122,7 +123,7 @@ | ||||
|     [% FOREACH input IN build.inputs -%] | ||||
|       <tr> | ||||
|         <td><tt>[% input.name %]</tt></td> | ||||
|         <td><tt>[% input.type %]</tt></td> | ||||
|         <td><tt>[% type = input.type; inputTypes.$type %]</tt></td> | ||||
|         <td> | ||||
|           [% IF input.type == "build" %] | ||||
|             <a href="[% c.uri_for('/build' input.dependency.id) %]">Job <tt>[% input.dependency.project.name %]:[% input.dependency.attrname %]</tt> build [% input.dependency.id %]</a> | ||||
| @@ -200,7 +201,10 @@ | ||||
|     [% SWITCH product.type %] | ||||
|      | ||||
|     [% CASE "nix-build" %] | ||||
|       <a href="[% c.uri_for('/closure' build.id product.productnr) %]"> | ||||
|         <img src="/static/images/nix-build.png" alt="Source" /> | ||||
|         Nix build of path <tt>[% product.path %]</tt> | ||||
|       </a> | ||||
|        | ||||
|     [% CASE "file" %] | ||||
|       <a href="[% c.uri_for('/download' build.id product.productnr product.name) %]"> | ||||
| @@ -208,7 +212,7 @@ | ||||
|         [% CASE "source-dist" %] | ||||
|           <img src="/static/images/source-dist.png" alt="Source" /> Source distribution <tt>[% product.name %]</tt> | ||||
|         [% CASE "rpm" %] | ||||
|           <img src="/static/images/rpm-fedora.png" alt="RPM" /> RPM package <tt>[% product.name %]</tt> | ||||
|           <img src="/static/images/rpm.png" alt="RPM" /> RPM package <tt>[% product.name %]</tt> | ||||
|         [% CASE DEFAULT %] | ||||
|           File <tt>[% product.name %]</tt> of type <tt>[% product.subtype %]</tt> | ||||
|         [% END %] | ||||
| @@ -234,6 +238,7 @@ | ||||
|     [% CASE "report" %] | ||||
|  | ||||
|       <a href="[% c.uri_for('/download' build.id product.productnr product.name) %]"> | ||||
|         <img src="/static/images/report.png" alt="Report" /> | ||||
|         [% SWITCH product.subtype %] | ||||
|         [% CASE "coverage" %] | ||||
|           Code coverage analysis report | ||||
| @@ -245,6 +250,7 @@ | ||||
|     [% CASE "doc" %] | ||||
|  | ||||
|       <a href="[% c.uri_for('/download' build.id product.productnr product.name) %]"> | ||||
|         <img src="/static/images/document.png" alt="Document" /> | ||||
|         [% SWITCH product.subtype %] | ||||
|         [% CASE "readme" %] | ||||
|           “README” file | ||||
|   | ||||
							
								
								
									
										9
									
								
								src/HydraFrontend/root/common.tt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/HydraFrontend/root/common.tt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| [% inputTypes = | ||||
|     { "svn" = "Subversion checkout" | ||||
|     , "cvs" = "CVS checkout" | ||||
|     , "tarball" = "Download of a tarball" | ||||
|     , "string" = "String value" | ||||
|     , "path" = "Local path" | ||||
|     , "build" = "Build output" | ||||
|     } | ||||
| %] | ||||
| @@ -360,9 +360,17 @@ input.string { | ||||
|     font-family: sans-serif; | ||||
|     font-size: 100%; | ||||
|     background-color: #fffff0; | ||||
|     width: 30em; | ||||
|     width: 13em; | ||||
| } | ||||
|  | ||||
| input.shortString { | ||||
|     width: 10em; | ||||
|     width: 7em; | ||||
| } | ||||
|  | ||||
| select { | ||||
|     background-color: #fffff0; | ||||
| } | ||||
|  | ||||
| button { | ||||
|     background-color: #f0f0e0; | ||||
| } | ||||
| @@ -1,7 +1,21 @@ | ||||
| [% WRAPPER layout.tt title="Hydra Overview" %] | ||||
| [% PROCESS common.tt %] | ||||
| [% USE HTML %] | ||||
|  | ||||
|  | ||||
| [% BLOCK renderSelection %] | ||||
|   [% IF edit %] | ||||
|     <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> | ||||
|   [% ELSE %] | ||||
|     [% options.$curValue %] | ||||
|   [% END %] | ||||
| [% END %] | ||||
|  | ||||
|  | ||||
| [% BLOCK maybeEditString %] | ||||
|   [% IF edit %] | ||||
|     <input type="text" class="string [% extraClass %]" [% HTML.attributes(id => param, name => param, value => value) %] /> | ||||
| @@ -11,22 +25,6 @@ | ||||
| [% END %] | ||||
|  | ||||
|  | ||||
| [% BLOCK renderInputType %] | ||||
|   [% SWITCH type %] | ||||
|     [% CASE "svn" %]Subversion checkout | ||||
|     [% CASE "cvs" %]CVS checkout | ||||
|     [% CASE "tarball" %]Download of a tarball | ||||
|     [% CASE "string" %]String value | ||||
|     [% CASE "path" %]Local path | ||||
|   [% END %] | ||||
| [% END %] | ||||
|  | ||||
|  | ||||
| [% BLOCK renderInputTypeOption %] | ||||
|   <option value="[% type %]" [% IF value == type %]selected="selected"[%END %]>[% INCLUDE renderInputType %]</option> | ||||
| [% END %] | ||||
|  | ||||
|  | ||||
| [% BLOCK renderInput %] | ||||
|  | ||||
|   <tr class="input [% extraClass %]" id="[% id %]"> | ||||
| @@ -39,17 +37,7 @@ | ||||
|       <tt>[% INCLUDE maybeEditString param="$baseName-name" value=input.name extraClass="shortString" %]</tt> | ||||
|     </td> | ||||
|     <td> | ||||
|       [% IF edit %] | ||||
|         <select id="[% "$baseName-type" %]" name="[% "$baseName-type" %]"> | ||||
|           [% INCLUDE renderInputTypeOption value=input.type type="svn" %] | ||||
|           [% INCLUDE renderInputTypeOption value=input.type type="cvs" %] | ||||
|           [% INCLUDE renderInputTypeOption value=input.type type="tarball" %] | ||||
|           [% INCLUDE renderInputTypeOption value=input.type type="string" %] | ||||
|           [% INCLUDE renderInputTypeOption value=input.type type="path" %] | ||||
|         </select> | ||||
|       [% ELSE %] | ||||
|         [% INCLUDE renderInputType type=input.type %] | ||||
|       [% END %] | ||||
|       [% INCLUDE renderSelection curValue=input.type param="$baseName-type" options=inputTypes %] | ||||
|     </td> | ||||
|     <td class="inputalts" id="[% baseName %]"> | ||||
|       [% FOREACH alt IN input.jobsetinputalts -%] | ||||
| @@ -58,7 +46,7 @@ | ||||
|             "[% HTML.escape(alt.value) %]" | ||||
|           [% ELSE %] | ||||
|             [% INCLUDE maybeEditString param="$baseName-values" value=alt.value %] | ||||
|             [% IF edit %]<a href="javascript:" onclick='$(this).parents(".inputalt").remove()'>[X]</a>[% END %] | ||||
|             [% IF edit %]<a href="javascript:" onclick='$(this).parents(".inputalt").remove()'>[X]</a><br />[% END %] | ||||
|           [% END %] | ||||
|         </tt> | ||||
|       [% END %] | ||||
| @@ -153,6 +141,12 @@ | ||||
|     <th>Description:</th> | ||||
|     <td>[% INCLUDE maybeEditString param="description" value=curProject.description %]</td> | ||||
|   </tr> | ||||
|   <tr> | ||||
|     <th>Enabled:</th> | ||||
|     <td> | ||||
|       [% INCLUDE renderSelection param="enabled" curValue=curProject.enabled options={"1" = "Yes", "0" = "No"} %] | ||||
|     </td> | ||||
|   </tr> | ||||
| </table> | ||||
|  | ||||
|  | ||||
| @@ -278,14 +272,14 @@ | ||||
|  | ||||
|   <hr /> | ||||
|  | ||||
|   <p><input type="submit" value="[% IF create %]Create[% ELSE %]Apply changes[% END %]" /></p> | ||||
|   <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('/project' curProject.name 'delete') %]" method="post"> | ||||
|       <p><input id="delete-project" type="submit" value="Delete this project" /></p> | ||||
|       <p><button id="delete-project" type="submit"><img src="/static/images/failure.gif" />Delete this project</button></p> | ||||
|     </form> | ||||
|        | ||||
|     <script> | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								src/HydraFrontend/root/static/images/document.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/HydraFrontend/root/static/images/document.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 2.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/HydraFrontend/root/static/images/nix-build.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/HydraFrontend/root/static/images/nix-build.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 2.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/HydraFrontend/root/static/images/report.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/HydraFrontend/root/static/images/report.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/HydraFrontend/root/static/images/rpm.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/HydraFrontend/root/static/images/rpm.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.7 KiB | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 534 B After Width: | Height: | Size: 2.2 KiB | 
| @@ -151,7 +151,8 @@ create trigger cascadeBuildDeletion | ||||
| create table Projects ( | ||||
|     name          text primary key not null, -- project id, lowercase (e.g. "patchelf") | ||||
|     displayName   text not null, -- display name (e.g. "PatchELF") | ||||
|     description   text | ||||
|     description   text, | ||||
|     enabled       integer not null default 1 | ||||
| ); | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user