summaryrefslogtreecommitdiffstats
path: root/WebKitTools/QueueStatusServer/templates
diff options
context:
space:
mode:
Diffstat (limited to 'WebKitTools/QueueStatusServer/templates')
-rw-r--r--WebKitTools/QueueStatusServer/templates/dashboard.html64
-rw-r--r--WebKitTools/QueueStatusServer/templates/patch.html21
-rw-r--r--WebKitTools/QueueStatusServer/templates/recentstatus.html24
-rw-r--r--WebKitTools/QueueStatusServer/templates/statusbubble.html77
-rw-r--r--WebKitTools/QueueStatusServer/templates/updatestatus.html17
5 files changed, 203 insertions, 0 deletions
diff --git a/WebKitTools/QueueStatusServer/templates/dashboard.html b/WebKitTools/QueueStatusServer/templates/dashboard.html
new file mode 100644
index 0000000..84ecabb
--- /dev/null
+++ b/WebKitTools/QueueStatusServer/templates/dashboard.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>WebKit Bot Status</title>
+<link type="text/css" rel="stylesheet" href="/stylesheets/dashboard.css" />
+<script>
+function statusDetail(patch_id) {
+ // FIXME: We'd like to use AJAX to show the details on this page.
+ window.location = "/patch/" + patch_id
+}
+</script>
+</head>
+<body>
+<h1>WebKit Bot Status</h1>
+<table>
+ <theader>
+ <tr>
+ <th>Bug</th>
+ <th>Attachment</th>
+ <th>Style</th>
+ <th>Chromium</th>
+ <th>Qt</th>
+ <th>Mac</th>
+ <th>Gtk</th>
+ <th>Commit</th>
+ </tr>
+ </thead>
+ <tbody>{% for summary in summaries %}
+ <tr>
+ <td class="status">
+ {{ summary.bug_id|force_escape|webkit_bug_id|safe }}
+ </td>
+ <td class="status">
+ {{ summary.attachment_id|force_escape|webkit_attachment_id|safe }}
+ </td>
+ <!-- FIXME: Find some way to remove this copy-and-paste code! -->
+ <td class="status {{ summary.style_queue.state }}"{% if summary.style_queue.status %}
+ onclick="statusDetail({{ summary.attachment_id }})"
+ title="{{ summary.style_queue.status.date|timesince }}"{% endif %}>
+ </td>
+ <td class="status {{ summary.chromium_ews.state }}"{% if summary.chromium_ews.status %}
+ onclick="statusDetail({{ summary.attachment_id }})"
+ title="{{ summary.chromium_ews.status.date|timesince }} ago"{% endif %}>
+ </td>
+ <td class="status {{ summary.qt_ews.state }}"{% if summary.qt_ews.status %}
+ onclick="statusDetail({{ summary.attachment_id }})"
+ title="{{ summary.qt_ews.status.date|timesince }} ago"{% endif %}>
+ </td>
+ <td class="status {{ summary.mac_ews.state }}"{% if summary.mac_ews.status %}
+ onclick="statusDetail({{ summary.attachment_id }})"
+ title="{{ summary.mac_ews.status.date|timesince }} ago"{% endif %}>
+ </td>
+ <td class="status {{ summary.gtk_ews.state }}"{% if summary.gtk_ews.status %}
+ onclick="statusDetail({{ summary.attachment_id }})"
+ title="{{ summary.gtk_ews.status.date|timesince }} ago"{% endif %}>
+ </td>
+ <td class="status {{ summary.commit_queue.state }}"{% if summary.commit_queue.status %}
+ onclick="statusDetail({{ summary.attachment_id }})"
+ title="{{ summary.commit_queue.status.date|timesince }} ago"{% endif %}>
+ </td>
+ </tr>{% endfor %}
+ </tbody>
+</table>
+</html>
diff --git a/WebKitTools/QueueStatusServer/templates/patch.html b/WebKitTools/QueueStatusServer/templates/patch.html
new file mode 100644
index 0000000..de334a5
--- /dev/null
+++ b/WebKitTools/QueueStatusServer/templates/patch.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Patch Status</title>
+<link type="text/css" rel="stylesheet" href="/stylesheets/dashboard.css" />
+</head>
+<body>
+<h1>
+ Patch {{ attachment_id|force_escape|webkit_attachment_id|safe }} (Bug {{ bug_id|force_escape|webkit_bug_id|safe }})
+</h1>{% for queue_name, statuses in queue_status.items %}
+<div class="status-details">
+ <h2>{{ queue_name }}</h2>
+ <ul>{% for status in statuses %}
+ <li>
+ <span class="status-message">{{ status.message|force_escape|urlize|webkit_linkify|safe }}</span>{% if status.results_file %}
+ <span class="status-results">[{{ status.key.id|results_link|safe }}]</span>{% endif %}
+ <span class="status-date">{{ status.date|timesince }} ago</span>
+ </li>{% endfor %}
+ </ul>
+</div>{% endfor %}
+</html>
diff --git a/WebKitTools/QueueStatusServer/templates/recentstatus.html b/WebKitTools/QueueStatusServer/templates/recentstatus.html
new file mode 100644
index 0000000..2bb9fbb
--- /dev/null
+++ b/WebKitTools/QueueStatusServer/templates/recentstatus.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>WebKit Queue Status</title>
+<link type="text/css" rel="stylesheet" href="/stylesheets/dashboard.css" />
+</head>
+<body>
+<h1>WebKit Queue Status</h1>{% for queue_name, statuses in queue_status.items %}
+<div class="status-details">
+ <h2>{{ queue_name }}</h2>
+ <ul>{% for status in statuses %}
+ <li>{% if status.active_bug_id %}
+ <span class="status-bug">
+ Patch {{ status.active_patch_id|force_escape|webkit_attachment_id|safe }} from bug
+ {{ status.active_bug_id|force_escape|webkit_bug_id|safe }}:
+ </span>{% endif %}
+ <span class="status-message">{{ status.message|force_escape|urlize|webkit_linkify|safe }}</span>{% if status.results_file %}
+ <span class="status-results">[{{ status.key.id|results_link|safe }}]</span>{% endif %}
+ <span class="status-date">{{ status.date|timesince }} ago</span>
+ </li>{% endfor %}
+ </ul>
+</div>{% endfor %}
+</body>
+</html>
diff --git a/WebKitTools/QueueStatusServer/templates/statusbubble.html b/WebKitTools/QueueStatusServer/templates/statusbubble.html
new file mode 100644
index 0000000..d1f331c
--- /dev/null
+++ b/WebKitTools/QueueStatusServer/templates/statusbubble.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+body {
+ font-family: Verdana, sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+.status {
+ display: block;
+ float: left;
+ margin: 1px;
+ padding: 1px 2px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ border: 1px solid #AAA;
+ background-color: white;
+ font-size: 11px;
+}
+.pass {
+ background-color: #8FDF5F;
+ border: 1px solid #4F8530;
+ cursor: pointer;
+}
+.fail {
+ background-color: #E98080;
+ border: 1px solid #A77272;
+ cursor: pointer;
+}
+.pending {
+ background-color: #FFFC6C;
+ border: 1px solid #C5C56D;
+ cursor: pointer;
+}
+.error {
+ background-color: #E0B0FF;
+ border: 1px solid #ACA0B3;
+ cursor: pointer;
+}
+</style>
+<script>
+function statusDetail(patch_id) {
+ top.location = "/patch/" + patch_id
+}
+</script>
+</head>
+<body>
+<!-- FIXME: Find some way to remove this copy-and-paste code! -->
+<div class="status {{ summary.style_queue.state }}"{% if summary.style_queue.status %}
+ onclick="statusDetail({{ summary.attachment_id }})"
+ title="{{ summary.style_queue.status.date|timesince }} ago"{% endif %}>
+ style
+</div>
+<div class="status {{ summary.chromium_ews.state }}"{% if summary.chromium_ews.status %}
+ onclick="statusDetail({{ summary.attachment_id }})"
+ title="{{ summary.chromium_ews.status.date|timesince }} ago"{% endif %}>
+ chromium
+</div>
+<div class="status {{ summary.qt_ews.state }}"{% if summary.qt_ews.status %}
+ onclick="statusDetail({{ summary.attachment_id }})"
+ title="{{ summary.qt_ews.status.date|timesince }} ago"{% endif %}>
+ qt
+</div>
+<div class="status {{ summary.gtk_ews.state }}"{% if summary.gtk_ews.status %}
+ onclick="statusDetail({{ summary.attachment_id }})"
+ title="{{ summary.gtk_ews.status.date|timesince }} ago"{% endif %}>
+ gtk
+</div>
+<div class="status {{ summary.mac_ews.state }}"{% if summary.mac_ews.status %}
+ onclick="statusDetail({{ summary.attachment_id }})"
+ title="{{ summary.mac_ews.status.date|timesince }} ago"{% endif %}>
+ mac
+</div>
+</body>
+</html>
diff --git a/WebKitTools/QueueStatusServer/templates/updatestatus.html b/WebKitTools/QueueStatusServer/templates/updatestatus.html
new file mode 100644
index 0000000..9343c60
--- /dev/null
+++ b/WebKitTools/QueueStatusServer/templates/updatestatus.html
@@ -0,0 +1,17 @@
+<form name="update_status" enctype="multipart/form-data" method="post">
+Update status for a queue: <input name="queue_name">
+ <div>
+ Active Bug Id:
+ <input name="bug_id">
+ </div>
+ <div>
+ Active Patch Id:
+ <input name="patch_id">
+ </div>
+ <div>
+ Status Text:<br>
+ <textarea name="status" rows="3" cols="60"></textarea>
+ </div>
+ <div>Results file: <input type="file" name="results_file"></div>
+ <div><input type="submit" value="Add Status"></div>
+</form>