[% WRAPPER layout.tt title="Jobset $project.name:$jobset.name" %] [% PROCESS common.tt %] [% USE format %] [% BLOCK renderJobsetInput %] [% HTML.escape(input.name) %] [% INCLUDE renderSelection curValue=input.type param="$baseName-type" options=inputTypes %] [% FOREACH alt IN input.search_related('jobsetinputalts', {}, { order_by => 'altnr' }) %] [% IF input.type == "string" %] "[% HTML.escape(alt.value) %]" [% ELSE %] [% HTML.escape(alt.value) %] [% END %] [% END %] [% END %] [% BLOCK renderJobsetInputs %]

Inputs

[% FOREACH input IN jobset.jobsetinputs %] [% INCLUDE renderJobsetInput input=input baseName="input-$input.name" %] [% END %]
Input nameTypeValues
[% END %]
[% IF jobset.starttime %] [% ELSIF jobset.triggertime %] [% END %]
Last checked: [% IF jobset.lastcheckedtime %] [% INCLUDE renderDateTime timestamp = jobset.lastcheckedtime %], [% IF jobset.errormsg || jobset.fetcherrormsg %]with errors![% ELSE %]no errors[% END %] [% ELSE %] never [% END %]
Last evaluation: [% IF latestEval %] [% INCLUDE renderDateTime timestamp = latestEval.timestamp %] [% ELSE %] never [% END %]
Evaluation running since: [% INCLUDE renderRelativeDate timestamp = jobset.starttime %]
Evaluation pending since: [% INCLUDE renderRelativeDate timestamp = jobset.triggertime %]

[% IF evals.size() > 0 %] [% INCLUDE renderEvals linkToAll=c.uri_for(c.controller('Jobset').action_for('evals'), [project.name, jobset.name]) %] [% END %]
[% IF jobset.errormsg || jobset.fetcherrormsg %]

Errors occurred at [% INCLUDE renderDateTime timestamp=jobset.errortime %].

[% HTML.escape(jobset.fetcherrormsg || jobset.errormsg) %]
[% END %]
[% IF jobset.type == 1 %] [% END %] [% IF jobset.type == 0 %] [% END %] [% IF emailNotification %] [% END %]
State: [% IF jobset.enabled == 0; "Disabled"; ELSIF jobset.enabled == 1; "Enabled"; ELSIF jobset.enabled == 2; "One-shot"; ELSIF jobset.enabled == 3; "One-at-a-time"; END %]
Description: [% HTML.escape(jobset.description) %]
Flake URI: [% HTML.escape(jobset.flake) %]
Nix expression: [% HTML.escape(jobset.nixexprpath) %] in input [% HTML.escape(jobset.nixexprinput) %]
Check interval: [% jobset.checkinterval || "disabled" %]
Scheduling shares: [% jobset.schedulingshares %] [% IF totalShares %] ([% f = format("%.2f"); f(jobset.schedulingshares / totalShares * 100) %]% out of [% totalShares %] shares)[% END %]
Enable email notification: [% jobset.enableemail ? "Yes" : "No" %]
Email override: [% HTML.escape(jobset.emailoverride) %]
Number of evaluations to keep: [% jobset.keepnr %]
[% IF jobset.type == 0 %] [% INCLUDE renderJobsetInputs %] [% END %]
[% INCLUDE makeLazyTab tabName="tabs-jobs" uri=c.uri_for('/jobset' project.name jobset.name "jobs-tab") %] [% INCLUDE makeLazyTab tabName="tabs-channels" uri=c.uri_for('/jobset' project.name jobset.name "channels-tab") %]
[% END %]