
* Data updater is implemented * Completed implementation of commit processor * Logging is added into commit processor and runtime storage * Commit processor is fixed * Domain-company map is inverted * Extracted get update count into separate function * Fixed regex that matches diff statistics (lines inserted, lines deleted and files changed) * Implemented caching of unknown users * Replaced dictionaries by sets for pids and branches * Vcs is responsible for module and branches fields of commit record * Added release tags support * Implemented statistics by company * Added config for releases * Implemented front-end for companies details * Implemented front-end for modules details * Fixed metric switch * Implemented timeline rendering * Release selector is fixed * Chdir is needed after cloning a new repo * Company details screen is implemented * Fixed invalid emails processing by Launchpad * Fixed parsing of 0 files changed case * Module details screen implemented * Commit message is cleared and links are inserted * Engineer details screen is implemented * Fixed mapping from company to email for subdomains of 3rd level * Fixed wrong user structure for users not found by LP * Also coverage for commit processor * Fixed company matching algorithm * The company was not matched when user email had more domains than company's one * Add option to enforce sync with default data * Default data is added. Old confs removed * Add *.local into gitignore Scripts cleanup Moved from pylibmc to python-memcached Library pylibmc depends on libmemcached and doesn't work on CentOS (version conflict bw lib requirement and memcached). Change-Id: I0cc61c6d344ba24442ec954635010b518c0efa95
95 lines
2.8 KiB
HTML
95 lines
2.8 KiB
HTML
{% extends "layout.html" %}
|
|
|
|
{% block title %}
|
|
{{ user.user_name }}
|
|
{% endblock %}
|
|
|
|
{% block scripts %}
|
|
<script type="text/javascript">
|
|
chartAndTableRenderer("/data/modules", "right_list", "right_chart", "/modules/", {launchpad_id: "{{ launchpad_id }}" });
|
|
timelineRenderer({launchpad_id: "{{ launchpad_id }}" })
|
|
</script>
|
|
{% endblock %}
|
|
|
|
{% block left_frame %}
|
|
<div style='float: left;'>
|
|
<img src="{{ user.emails[0]|gravatar(size=64) }}">
|
|
</div>
|
|
<div style='margin-left: 90px;'>
|
|
<h2 style='margin-bottom: 0.5em;'>{{ user.user_name }}</h2>
|
|
{% if user.companies %}
|
|
<div>Company: {{ user.companies[-1].company_name|link('/companies/' + user.companies[-1].company_name)|safe }}</div>
|
|
{% endif %}
|
|
<div>Launchpad: <a href="https://launchpad.net/~{{ launchpad_id }}">{{ launchpad_id }}</a></div>
|
|
</div>
|
|
|
|
<h3>Commits history</h3>
|
|
|
|
{% if not commits %}
|
|
<div>There are no commits for selected period or project type.</div>
|
|
{% endif %}
|
|
|
|
{% for rec in commits %}
|
|
<div>
|
|
<h4>{{ rec.date|datetimeformat }} to <a href="https://launchpad.net/{{ rec.module }}">{{ rec.module }}</a>
|
|
</h4>
|
|
<div style='white-space: pre-wrap; padding-left: 2em;'>{{ rec|commit_message|safe }}</div>
|
|
<div style="padding-left: 2em;"><span style="color: green">+ {{ rec.lines_added }}</span>
|
|
<span style="color: red">- {{ rec.lines_deleted }}</span></div>
|
|
</div>
|
|
{% endfor %}
|
|
|
|
{% endblock %}
|
|
|
|
{% block right_frame %}
|
|
|
|
{% if commits %}
|
|
<h2>Contribution by modules</h2>
|
|
|
|
<div id="right_chart" style="width: 100%; height: 350px;"></div>
|
|
|
|
<table id="right_list" class="display">
|
|
<thead>
|
|
<tr>
|
|
<th>#</th>
|
|
<th>Module</th>
|
|
<th>{{ metric_label }}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
</tbody>
|
|
</table>
|
|
<div class="spacer"></div>
|
|
|
|
<h3>Commit overview</h3>
|
|
{% if blueprints %}
|
|
<div>Blueprints:
|
|
<ol>
|
|
{% for rec in blueprints %}
|
|
<li>
|
|
<a href="https://blueprints.launchpad.net/{{ rec['module'] }}/+spec/{{ rec['id'] }}">{{ rec['id'] }}</a>
|
|
<small>{{ rec['module'] }}</small>
|
|
</li>
|
|
{% endfor %}
|
|
</ol>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if bugs %}
|
|
<div>Bugs:
|
|
<ol>
|
|
{% for rec in bugs %}
|
|
<li>
|
|
<a href="https://bugs.launchpad.net/bugs/{{ rec['id'] }}">{{ rec['id'] }}</a>
|
|
</li>
|
|
{% endfor %}
|
|
</ol>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div>Total commits: <b>{{ commits|length }}</b></div>
|
|
<div>Total LOC: <b>{{ loc }}</b></div>
|
|
{% endif %}
|
|
|
|
{% endblock %}
|