QUMWPGCUBMAPWLUPRSISK7PNU5LIHKHKCAZYE4XXQCJ5E4L74VSQC OK4P3AMKXIBSUNL4ABLFKTK3UBFLINDINBPZVP5OSHLRSV44BICAC XLJT5EO6VPLZQ5B6ZW5ZMUWZGSKIG7QKGGSDSGWUOH6R6ZGWY73QC 26PYNDXVE4EBTZ5R3PYSFRPYNV777BM2EBPREGH5DOUHPSBJMTVQC W4G5MZZSCK7VGSZJQKLS6XMQPFDIL7D542XWDMFMO4RZEO4FQB2QC BXHG3HYLCKXL35S2MCIBTXTP6UO55NASYE7XCLQP4PXPSVDMUIAQC ODNCGFQ5FPKFI624BVMLW7PJ2EFJOR3TY66OCZM42UNNTWBCF2TQC 3HZY24CX4U2TO74HOY4YX3LBJIYF4DLXHCIY7J2RASAC4COMSMZAC QMW24O5S43MYF5ZTBULUEZNDW2FKJ3QP2GL46P6B2SVGSQLVEACAC LZVO64YG43JD7YMZSCTZNOBS5ROZA4FMPKJW2YOMHX2V5PTGBVWQC OOQ2D3KCLFPYNAN253PHWLBQMB6OMO2KYQWQXLTP65SQAYZWQ5LAC AMI4DGBKDMQVDLEDZVMA3RGNNJU5CWSGVX5GIPH2BOK6VKQ4DGGAC VZX6HJ3I35NVK6L4FP7ASLNAMLMGPAESPQAAYZEUCXYKFUA6HTAQC ZFEN2MAOJRRQEIORSK2N6PNAWGBEN2WNAWA6IWUVOHP5I5PQC6JAC ZCTQCN3EQDFYIKRKM3SJIGLTZ6QVKNPCIR3V6CRZ3W4PP2V2YQ2AC K3HODXGHZ47WWSTEKUFCAPRJYCM564XF6YVE2QM37HPR5RQMFCWQC RQI3GRC6NSTPQMBTTOM37ITBZQIROTIGAIPDCVZ672TSEJVECB2AC UMFB2767NMAG46NAG3XHMYQMCLF5TMVN46SST4AM2CFUEMNZH3WQC HPEG2RHVNHOPB5T4ZRXANIRBMVOVY3B5GFETJRYOTDJFVAYH2TQAC J5UVLXOK6EDIL5I7VKWH4V2QDS4DPD7FHRK6XBWSXFRQS4JKXFZQC L2E6EVE2RVFVDCUNRJ4CZYSQNS2DZUA5DTBETHBDUQUV2KQQRAOQC FTPCV25MOLQUNR5CAR453W7T7QTUZRLPLEOSDZ5HSDFAXQZVHOYQC JM3DPYOMVNMCL5GMEYC3Y4NDRGTNIFBBFTPGPVT66GPENVPU7EVQC X27GNHDV5KPZ5GSH6DCAJMNCEMZLCP7M43JWF2X3O5QWXMOX273AC SB2V735VJ2CDHGCXRUA5FOYHDRXQFVOZ3KXC3YKXWRNW6DIX7RXQC FGQPXZIX7EUHGILJWL6PCQQ54OYA53E6K2HUL765GKYOMK6U23QQC H7CNGK4OJNRYZQGPLBGR72DULLEPFQ5UISF5J24D7IMA7SYW5LGQC Y6AHH4THYQA43V77L43YM42DYRPCMDSWLUV4NKWAQYMPL4NTUIPQC W5OAZWPDZOGVAL5P4ROVZSZGCSJBMPRALW6SCGV6L7A5DBAK2JLQC VJFLX7B6DEYXQRS3T5LHOM4POSGMEBQSJJVBHAQV3U4LRPF4KVBAC OX6NYJDVCDX2UCJ4QQMTRJVZ535NOMCJGYCHDLCADJPQI7RMCXPQC TQVKZQUGCFYNH5P56LXMXRXZNTD56MH5T5GX2BMQ5YSRPGHAUYMAC QLOLZHRXOUSNVLJG2SWVC5EISFUOUKJIT32XN6DNW4VFFJMN5PMAC 3PNG7NIBQQURUUPRVQXYL342OT7JUUYOMY2JJNP6YDX7SYJDZMYAC KN3VYE5P2RJB3KZ355LA5C2T2D5S2IR3QZFE53AJIWUVMETEEYDAC N22GPKYTOLZLBGTGDATQDVZ4R5APZEAOIA7L32X4UXBH4XNI7MWAC LLAJKVGIFUSYN24LSSJMXB742HZL7455B5MMAHUQAVBSM3AZCOFQC D5QIOJGPKQJIYBUCSC3MFJ3TXLPNZ2XMI37GXMFRVRFWWR2VMTFAC my ($nixExprPath, $nixExprInput) = nixExprPathFromParams $c;
if ($type == 0) {($nixExprPath, $nixExprInput) = nixExprPathFromParams $c;} elsif ($type == 1) {$flake = trim($c->stash->{params}->{"flakeref"});error($c, "Invalid flake URI ‘$flake’.") if $flake !~ /^[a-zA-Z]/;} else {error($c, "Invalid jobset type.");}
foreach my $name (keys %{$c->stash->{params}->{inputs}}) {my $inputData = $c->stash->{params}->{inputs}->{$name};my $type = $inputData->{type};my $value = $inputData->{value};my $emailresponsible = defined $inputData->{emailresponsible} ? 1 : 0;
if ($type == 0) {foreach my $name (keys %{$c->stash->{params}->{inputs}}) {my $inputData = $c->stash->{params}->{inputs}->{$name};my $type = $inputData->{type};my $value = $inputData->{value};my $emailresponsible = defined $inputData->{emailresponsible} ? 1 : 0;
error($c, "Invalid input name ‘$name’.") unless $name =~ /^[[:alpha:]][\w-]*$/;error($c, "Invalid input type ‘$type’.") unless defined $c->stash->{inputTypes}->{$type};
error($c, "Invalid input name ‘$name’.") unless $name =~ /^[[:alpha:]][\w-]*$/;error($c, "Invalid input type ‘$type’.") unless defined $c->stash->{inputTypes}->{$type};
my $input = $jobset->jobsetinputs->create({ name => $name,type => $type,emailresponsible => $emailresponsible});
my $input = $jobset->jobsetinputs->create({ name => $name,type => $type,emailresponsible => $emailresponsible});
# Created by DBIx::Class::Schema::Loader v0.07043 @ 2016-02-12 17:20:42# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/8aVtXu/+o0jmKHnSzwt+g
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2019-05-10 22:30:12# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:YK8Fc+37UAcL0u6ziOc5xQ
# Created by DBIx::Class::Schema::Loader v0.07045 @ 2017-03-09 13:03:05# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ivYvsUyhEeaeI4EmRQ0/QQ
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2019-05-11 00:03:52# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:UVG1D59bXaQ1TUEF237tXQ
<label class="control-label">Type</label><div class="controls"><div class="btn-group" data-toggle="buttons-radio"><input type="hidden" id="type" name="type" value="[% jobset.type %]" /><button type="button" class="btn" value="1" id="type-flake">Flake</button><button type="button" class="btn" value="0" id="type-legacy">Legacy</button></div></div></div><div class="control-group show-on-flake"><label class="control-label">Flake URI</label><div class="controls"><input type="text" class="span3" name="flakeref" [% HTML.attributes(value => jobset.flake) %]/></div></div><div class="control-group show-on-legacy">
function update() {if ($("#type").val() == 0) {$(".show-on-legacy").show();$(".show-on-flake").hide();} else {$(".show-on-legacy").hide();$(".show-on-flake").show();}}$("#type-flake").click(function() { update(); });$("#type-legacy").click(function() { update(); });update();
nixExprInput text not null, -- name of the jobsetInput containing the Nix or Guix expressionnixExprPath text not null, -- relative path of the Nix or Guix expression
nixExprInput text, -- name of the jobsetInput containing the Nix or Guix expressionnixExprPath text, -- relative path of the Nix or Guix expression
alter table Jobsets alter column nixExprInput drop not null;alter table Jobsets alter column nixExprPath drop not null;alter table Jobsets add column type integer default 0;alter table Jobsets add column flake text;alter table Jobsets add check ((type = 0) = (nixExprInput is not null and nixExprPath is not null));alter table Jobsets add check ((type = 1) = (flake is not null));