
* Extract all vault functions * Extract decorators and parameter processing functions * Extract helper functions * Extract reports and turn them into Flask Blueprints * Move report templates under report/ subfolder Change-Id: I19914731bb6506eb8d37c56edb52c5a796d01f6f
84 lines
4.0 KiB
HTML
84 lines
4.0 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>{{ blueprint.title }}</title>
|
|
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/style.css') }}">
|
|
<style>
|
|
.label {
|
|
font-weight: bold;
|
|
line-height: 135%;
|
|
}
|
|
.message {
|
|
margin-top: 1em;
|
|
white-space: pre-wrap;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body style="margin: 2em;">
|
|
|
|
<h1>Blueprint “{{ blueprint.name }}”</h1>
|
|
|
|
<div><span class="label">Title:</span> {{ blueprint.title }}</div>
|
|
<div><span class="label">URL:</span> <a href="https://blueprints.launchpad.net/{{ blueprint.module }}/+spec/{{ blueprint.name }}">https://blueprints.launchpad.net/{{ blueprint.module }}/+spec/{{ blueprint.name }}</a></div>
|
|
<div><span class="label">Module:</span> {{blueprint.module}}</div>
|
|
<div><span class="label">Status:</span> <span class="status{{blueprint.lifecycle_status}}">{{blueprint.lifecycle_status}}</span></div>
|
|
<div><span class="label">Priority:</span> <span class="status{{blueprint.priority}}">{{blueprint.priority}}</span></div>
|
|
<div><span class="label">Definition Status:</span> <span class="specstatus{{blueprint.definition_status}}">{{blueprint.definition_status}}</span></div>
|
|
<div><span class="label">Implementation Status:</span> <span class="specdelivery{{blueprint.implementation_status}}">{{blueprint.implementation_status}}</span></div>
|
|
<div><span class="label">Direction:</span> {% if blueprint.direction_approved %} Approved {% else %} Needs Approval {% endif %}</div>
|
|
<div><span class="label">Registered By:</span> {{blueprint.author_name}} ({{ blueprint.company_name }})</div>
|
|
<div><span class="label">Registered On:</span> {{blueprint.date_str}}</div>
|
|
{% if blueprint.mention_count %}
|
|
<div><span class="label">Popularity:</span> mentioned {{blueprint.mention_count}} times, last on {{blueprint.mention_date_str}}</div>
|
|
{% endif %}
|
|
|
|
{% if blueprint.summary %}
|
|
<h2>Summary</h2>
|
|
<div class="message">{{ blueprint.summary | safe }}</div>
|
|
{% endif %}
|
|
|
|
{% if blueprint.whiteboard %}
|
|
<h2>Whiteboard</h2>
|
|
<div class="message">{{ blueprint.whiteboard }}</div>
|
|
{% endif %}
|
|
|
|
<h2>Activity Log</h2>
|
|
|
|
{% if not activity %}
|
|
<div>No activities related to this blueprint.</div>
|
|
{% endif %}
|
|
{% for item in activity %}
|
|
<div style="margin-bottom: 1em;">
|
|
<div style='float: left; '><img src="{{ item.author_email | gravatar(size=64) }}">
|
|
</div>
|
|
<div style="margin-left: 80px;">
|
|
<div style="font-weight: bold;">{{ item.date_str}}</div>
|
|
<div style="font-weight: bold;">{{ item.author_name }} ({{ item.company_name }})</div>
|
|
{% if item.record_type == "commit" %}
|
|
<div style='font-weight: bold;'>Commit “{{ item.subject }}”</div>
|
|
<div class="message">{{ item.message | safe }}</div>
|
|
<div><span style="color: green">+<span>{{ item.lines_added }}</span></span>
|
|
<span style="color: blue">- <span>{{ item.lines_deleted }}</span></span>
|
|
</div>
|
|
{% if item.correction_comment %}
|
|
<div style='font-weight: bold; color: red;'>Commit corrected:
|
|
<span>{{ item.correction_comment }}</span></div>
|
|
{% endif %}
|
|
{% elif item.record_type == "mark" %}
|
|
<div style='font-weight: bold;'>Review “{{item.subject}}”</div>
|
|
<div>Patch submitted by {{ parent_author_link }}</div>
|
|
<div>Change Id: <a href="{{item.url}}">{{item.review_id}}</a></div>
|
|
<div style="color: {% if item.value > 0 %} green {% else %} blue {% endif %}">
|
|
{{item.description}}: <span class="review_mark">{{item.value}}</span></div>
|
|
{% elif item.record_type == "email" %}
|
|
<div style='font-weight: bold;'>Email “{{item.subject}}”</div>
|
|
{% if item.body %}
|
|
<div class="message">{{ item.body|safe }}</div>
|
|
{% endif %}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
{% endfor %}
|
|
</body>
|
|
</html> |