Merge lp:~cprov/uci-engine/webui-reviews into lp:uci-engine

Proposed by Celso Providelo
Status: Work in progress
Proposed branch: lp:~cprov/uci-engine/webui-reviews
Merge into: lp:uci-engine
Prerequisite: lp:~cprov/uci-engine/ts-workflow
Diff against target: 92 lines (+54/-0)
2 files modified
webui/common/static/common/webui.css (+11/-0)
webui/tickets/static/tickets/webui.js (+43/-0)
To merge this branch: bzr merge lp:~cprov/uci-engine/webui-reviews
Reviewer Review Type Date Requested Status
Canonical CI Engineering Pending
Review via email: mp+239595@code.launchpad.net

Description of the change

Handling ticket reviews in the webui ...

To post a comment you must log in.

Unmerged revisions

868. By Celso Providelo

Presenting reviews in the ticket-status section.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'webui/common/static/common/webui.css'
2--- webui/common/static/common/webui.css 2014-10-24 18:04:42 +0000
3+++ webui/common/static/common/webui.css 2014-10-24 18:04:43 +0000
4@@ -279,6 +279,10 @@
5 font-weight: bold;
6 }
7
8+td.dt-status-value select {
9+ font-size: small;
10+}
11+
12 /* General links decorators. */
13 a.image-link {
14 background-image: url('/static/common/cdrom.svg');
15@@ -307,3 +311,10 @@
16 background-size: contain;
17 padding-left: 1.2em;
18 }
19+
20+a.pending-review-link {
21+ background-image: url('/static/common/pencil-black.png');
22+ background-repeat: no-repeat;
23+ background-size: contain;
24+ padding-left: 1.2em;
25+}
26
27=== modified file 'webui/tickets/static/tickets/webui.js'
28--- webui/tickets/static/tickets/webui.js 2014-10-24 18:04:42 +0000
29+++ webui/tickets/static/tickets/webui.js 2014-10-24 18:04:43 +0000
30@@ -458,6 +458,14 @@
31 'continue': ('<img src="{static_prefix}spinner3.gif" ' +
32 'title="{title}"/></br>')
33 };
34+ var review_options = [
35+ {value: 'Approve', text: 'Approve'},
36+ {value: 'Needs Fixing', text: 'Needs Fixing'},
37+ {value: 'Needs Info', text: 'Needs Info'},
38+ {value: 'Abstain', text: 'Abstain'},
39+ {value: 'Disapprove', text: 'Disapprove'},
40+ {value: 'Resubmit', text: 'Resubmit'},
41+ ];
42 var dataset = [];
43 var step_values = {};
44 var hidden_steps = Y.Array([
45@@ -488,6 +496,13 @@
46 // be rendered for citrain tickets.
47 return;
48 }
49+ // Collect step reviews.
50+ obj.reviews = [];
51+ Y.Array.each(ticket.reviews, function(review) {
52+ if (review.workflow_step === obj.name) {
53+ obj.reviews.push(review);
54+ }
55+ });
56
57 // Collect related ticket/subticket artifacts.
58 var prefix = 'misc';
59@@ -549,6 +564,34 @@
60 value += c.getHTML() + '</br>';
61 });
62
63+ // Render related reviews.
64+ var review_table = Y.Node.create('<table>')
65+ Y.Array.each(o.data.reviews, function (review) {
66+ var label = Y.Node.create('<td>');
67+ label.appendChild(
68+ Y.Node.create('<a>')
69+ .set('text', review.review_type + ':')
70+ .addClass('pending-review-link')
71+ );
72+ var select = Y.Node.create('<select>');
73+ Y.Array.each(review_options, function(opt) {
74+ select.appendChild(
75+ Y.Node.create('<option>')
76+ .set('text', opt.text)
77+ .set('value', opt.value)
78+ );
79+ });
80+ var control = Y.Node.create('<td>');
81+ control.appendChild(select);
82+ var row = Y.Node.create('<tr>');
83+ row.appendChild(label);
84+ row.appendChild(control);
85+ review_table.appendChild(row);
86+ });
87+ var c = Y.Node.create('<div>');
88+ c.appendChild(review_table);
89+ value += c.getHTML();
90+
91 return value;
92 };
93

Subscribers

People subscribed via source and target branches