ZB3JV52WEKVFX4XGSQUX6PCM4XGF62MCQRZAAOKNK4JNGYO2P7QAC VG4QG336SCZNWAXJERI3N5FO6PUAYFJV24CLI27ADUFPO74RVJKQC RYS3FRDNEDNPXMHINTZ42AWDHW3ZY5MCGQ6LR7AGGMZGEETRZOUQC ZH6B56XRZON7AGKUPGKABU2SWOIQSYBTXVOMR66X6P6MG25Y4WZAC GS4SFHCPF76AX2U4NLLJGUISF6Y4AHYWEW3GLTDCKVDDXLSIGXUQC CGVHVQOJTVACZUVXVFKBJROOVNITM2G5RO2BKQ5NGGZMGSZUGAPQC PF72JKWQ2CLEQUNOSCKQ3ETVDOZ5VQBZEHVZU2YVZCS4WZX5DSTQC XJRJ4J7M6BC433TBLWHHKX7UYYCFX6M7ZQLUEYYTREPCSM6M3RDQC 5EIPRLDD7XE6BZQPU4C43IAE53AVZP7HGE54GYJA3OYQRXCT6FSQC 2GK5DOU7ODF4WBSN3QTD3WIO52VTL2LOAXKGCDEMMAQPTEO4A4HAC VH5ZABDRP565VZIG55YHNYYPST53NQ2J6YM362NSLXCAHI5WPH4AC HPEG2RHVNHOPB5T4ZRXANIRBMVOVY3B5GFETJRYOTDJFVAYH2TQAC T7Z63K6TE3H5XDKFW5MPFTI33WK42ZXYGHMAM3WJLMGYMQN4HMIAC PPJN6SDP3BIWOB5LB3B2F3HEWM4IG7WZMG7JICERVBR7CDMBOPOQC NP6QUCL7YVK6AHOXSVFUO37QUF5VAGFTXI37K7I227K3LR6HL2EQC MOX7XJ2E3XISXA7V7T4W6GEAGECGWBZ4PYSLTYBVVR4VAKOI33CQC KSBB33RE2PK5SFN7ZMOTZJQHZB4JYIIUUKWDSD3LSZ5GD465AJHQC IK53RV4VGOHLCZGQCCIKPB45M3C7M7YMNBOJFBGZJ4LWIZNU4QNQC QCGCX2BRDJ3MECT45M6KUQDSTVXWRHGLD4KKNG5UOCOTNAW7L3TQC WNQRX7QB6UTDYRZ3MYHOFKD65RSD4XP5TDDELAUDAU2QOA53LYNQC D5QIOJGPKQJIYBUCSC3MFJ3TXLPNZ2XMI37GXMFRVRFWWR2VMTFAC JY7BXXOP3EZCDT5RSMVE4Y6IECXGYL4GEBJOZHR7H3Z35XZ3NIVQC 3PNG7NIBQQURUUPRVQXYL342OT7JUUYOMY2JJNP6YDX7SYJDZMYAC 7YBYT2LQML2PKEO6UO4444AGSASS664UCDXW2YO3ALB7THQHCEBQC BIVZGPUTQ2C7X6NJQMVIDDO2OYNO4R3GROGQAWBVNSK2HSZ3REOQC 6GEU36HWK66LK3IY37HZOTJI5HOXJRUHIEYGYSVSIF57YBUEATRAC MCCHPWHEYMTTECCT7YT5W7DVYIZKZRRKFMGWTA2C33CTPUFY4PFQC }sub my_jobsets_tab :Chained('user') :PathPart('my-jobsets-tab') :Args(0) {my ($self, $c) = @_;$c->stash->{template} = 'dashboard-my-jobsets-tab.tt';my $jobsets = $c->model('DB::Jobsets')->search({ "project.enabled" => 1, "me.enabled" => 1,, owner => $c->stash->{user}->username},{ order_by => ["project", "name"], join => ["project"]});$c->stash->{jobsets} = [jobsetOverview_($c, $jobsets)];
sub jobsetOverview {my ($c, $project) = @_;return $project->jobsets->search( isProjectOwner($c, $project) ? {} : { hidden => 0 },
sub jobsetOverview_ {my ($c, $jobsets) = @_;return $jobsets->search({},
BLOCK renderJobsetOverview %]<table class="table table-striped table-condensed clickable-rows"><thead><tr><th></th><th>Name</th><th>Description</th><th>Last evaluated</th><th colspan="2">Success</th></tr></thead><tbody>[% FOREACH j IN jobsets %][% successrate = 0 %]<tr><td>[% IF j.get_column('nrscheduled') > 0 %]<img src="[% c.uri_for("/static/images/help_16.png") %]" alt="Scheduled" />[% ELSIF j.get_column('nrfailed') == 0 %]<img src="[% c.uri_for("/static/images/checkmark_16.png") %]" alt="Succeeded" />[% ELSIF j.get_column('nrfailed') > 0 && j.get_column('nrsucceeded') > 0 %]<img src="[% c.uri_for("/static/images/error_some_16.png") %]" alt="Some Failed" />[% ELSE %]<img src="[% c.uri_for("/static/images/error_16.png") %]" alt="All Failed" />[% END %]</td><td><span class="[% IF !j.enabled %]disabled-jobset[% END %] [%+ IF j.hidden %]hidden-jobset[% END %]">[% IF showProject; INCLUDE renderFullJobsetName project=j.get_column('project') jobset=j.name inRow=1; ELSE; INCLUDE renderJobsetName project=j.get_column('project') jobset=j.name inRow=1; END %]</span></td><td>[% HTML.escape(j.description) %]</td><td>[% IF j.lastcheckedtime; INCLUDE renderDateTime timestamp = j.lastcheckedtime; ELSE; "-"; END %]</td>[% IF j.get_column('nrtotal') > 0 %][% successrate = ( j.get_column('nrsucceeded') / j.get_column('nrtotal') )*100 %][% IF j.get_column('nrscheduled') > 0 %][% class = 'label' %][% ELSIF successrate < 25 %][% class = 'label label-important' %][% ELSIF successrate < 75 %][% class = 'label label-warning' %][% ELSIF successrate <= 100 %][% class = 'label label-success' %][% END %][% END %]<td><span class="[% class %]">[% successrate FILTER format('%d') %]%</span></td><td>[% IF j.get_column('nrsucceeded') > 0 %]<span class="label label-success">[% j.get_column('nrsucceeded') %]</span>[% END %][% IF j.get_column('nrfailed') > 0 %]<span class="label label-important">[% j.get_column('nrfailed') %]</span>[% END %][% IF j.get_column('nrscheduled') > 0 %]<span class="label label">[% j.get_column('nrscheduled') %]</span>[% END %]</td></tr>[% END %]</tbody></table>[% END;
[% PROCESS common.tt %][% IF builds.size == 0 %]<div class="alert alert-warning">You are not the owner of anyjobset.</div>[% ELSE %][% INCLUDE renderJobsetOverview showProject=1 %][% END %]
<table class="table table-striped table-condensed clickable-rows"><thead><tr><th></th><th>Id</th><th>Description</th><th>Last evaluated</th><th colspan="2">Success</th></tr></thead><tbody>[% FOREACH j IN jobsets %][% successrate = 0 %]<tr><td>[% IF j.get_column('nrscheduled') > 0 %]<img src="[% c.uri_for("/static/images/help_16.png") %]" alt="Scheduled" />[% ELSIF j.get_column('nrfailed') == 0 %]<img src="[% c.uri_for("/static/images/checkmark_16.png") %]" alt="Succeeded" />[% ELSIF j.get_column('nrfailed') > 0 && j.get_column('nrsucceeded') > 0 %]<img src="[% c.uri_for("/static/images/error_some_16.png") %]" alt="Some Failed" />[% ELSE %]<img src="[% c.uri_for("/static/images/error_16.png") %]" alt="All Failed" />[% END %]</td><td><span class="[% IF !j.enabled %]disabled-jobset[% END %] [%+ IF j.hidden %]hidden-jobset[% END %]">[% INCLUDE renderJobsetName project=project.name jobset=j.name inRow=1 %]</span></td><td>[% HTML.escape(j.description) %]</td><td>[% IF j.lastcheckedtime; INCLUDE renderDateTime timestamp = j.lastcheckedtime; ELSE; "-"; END %]</td>[% IF j.get_column('nrtotal') > 0 %][% successrate = ( j.get_column('nrsucceeded') / j.get_column('nrtotal') )*100 %][% IF j.get_column('nrscheduled') > 0 %][% class = 'label' %][% ELSIF successrate < 25 %][% class = 'label label-important' %][% ELSIF successrate < 75 %][% class = 'label label-warning' %][% ELSIF successrate <= 100 %][% class = 'label label-success' %][% END %][% END %]<td><span class="[% class %]">[% successrate FILTER format('%d') %]%</span></td><td>[% IF j.get_column('nrsucceeded') > 0 %]<span class="label label-success">[% j.get_column('nrsucceeded') %]</span>[% END %][% IF j.get_column('nrfailed') > 0 %]<span class="label label-important">[% j.get_column('nrfailed') %]</span>[% END %][% IF j.get_column('nrscheduled') > 0 %]<span class="label label">[% j.get_column('nrscheduled') %]</span>[% END %]</td></tr>[% END %]</tbody></table>
[% INCLUDE renderJobsetOverview %]