{% macro show_activity_log(user_id=None, company=None, blueprint_id=None,
show_record_type=True, show_user_gravatar=True, gravatar_size=32, show_all=True) -%}

<script type="text/javascript">
    var page_size = 10;
    var start_record = 0;
    var uri_options = {};
    {% if show_all %}
        uri_options = {project_type: "all", release: "all", metric: "all"};
    {% endif %}
    {% if user_id %}
        uri_options["user_id"] = "{{ user_id }}";
    {% endif %}
    {% if company %}
        uri_options["company"] = "{{ company|safe }}";
    {% endif %}
    {% if blueprint_id %}
        uri_options["blueprint_id"] = "{{ blueprint_id }}";
    {% endif %}

    function load_activity(extra_options) {
        var options = {page_size: page_size, start_record: start_record};
        $.extend(options, extra_options);

        $.ajax({
            url: makeURI("/api/1.0/activity", options),
            dataType: "json",
            success: function (data) {
                if (data["activity"].length < page_size) {
                    $('#activity_more').hide();
                }
                if ((start_record == 0) && (data["activity"].length == 0)) {
                    $('#activity_header').hide();
                }
                $.each(data["activity"], function() {
                    extendWithGravatar(this, {{ gravatar_size }});
                });
                $("#activity_template").tmpl(data["activity"]).appendTo("#activity_container");
                $('.ext_link').click(function (event) {
                    event.preventDefault();
                    event.stopPropagation();
                    window.open(this.href, '_blank');
                });
                $(".expand-button").click(function () {
                    $("#content-" + this.id).slideToggle('fast');
                });
            }
        });
    }
    $(document).ready(function () {
        load_activity(uri_options);
    });
    $(document).ready(function () {
        $('#activity_more')
                .click(function () {
                    start_record += page_size;
                    load_activity(uri_options)
                });
    });
</script>

<script id="activity_template" type="text/x-jquery-tmpl">
    <div class="record">
    <div style='float: left; '>
        {% if show_user_gravatar %}
            <img src="${gravatar}">
        {% else %}
            <img src="//www.gravatar.com/avatar/a${parseInt(record_type,36)}?s={{ gravatar_size }}&d=identicon" style="width: {{ gravatar_size }}px; height: {{ gravatar_size }}px;">
        {% endif %}
    </div>

    <div style="margin-left: {{ gravatar_size * 1.4 }}px;">

    {% raw %}
        {%if coauthor %}
        <div class="header">
            {%each(index,value) coauthor %}{%if index>0 %}, {%/if%}{%html value.author_link %} ({%html value.company_link %}){%/each%}
        </div>
        {%else%}
            <div class="header">{%html author_link %} ({%html company_link %})</div>
        {%/if%}
        <div class="header">${date_str} in {%html module_link%}</div>

        {%if record_type == "commit" %}
            <div class="header">Commit &ldquo;${subject}&rdquo;</div>
            <div class="message">{%html message %}</div>
            {%if commit_date_str != "" && commit_date_str != date_str %}
                <div>Commit date: ${commit_date_str}</div>
            {%/if%}
            {%if correction_comment != "" %}
            <div style='font-weight: bold; color: red;'>Commit corrected:
                <span>${correction_comment}</span></div>
            {%/if%}
            <div><span style="color: green">+<span>${lines_added}</span></span>
                <span style="color: blue">- <span>${lines_deleted}</span></span></div>
        {%elif record_type == "mark" %}
            <div class="header">Review &ldquo;${parent_subject}&rdquo;</div>
            <div>Review submitted by: {%html parent_author_link %} ({%html parent_company_link %})</div>
            {%if patch_author_link != parent_author_link %}
                <div>Patch submitted by: {%html patch_author_link %} ({%html patch_company_link %})</div>
            {%/if%}
            <div>Change Id: <a href="${parent_url}" target="_blank">${review_id}</a></div>
            <div style="color: {%if value > 0 %} green {%else%} blue {%/if%}">
                {%if (type == "Workflow" && value == 1) %}
                Approved
                {%elif (type == "Self-Workflow" && value == 1) %}
                Self-Approved
                {%elif (type == "Workflow" && value == -1) %}
                Work in progress
                {%else%}
                ${type}: <span class="review_mark">${value}</span>
                {%/if%}
            </div>
        {%elif record_type == "review" %}
            <div class="header">New change request &ldquo;${subject}&rdquo;</div>
            <div>Current Status: ${status}</div>
            <div>Change Id: <a href="${url}" target="_blank">${id}</a></div>
        {%elif record_type == "patch" %}
            <div class="header">Patch #${number} &ldquo;${parent_subject}&rdquo;</div>
            <div>Change Id: <a href="${parent_url}" target="_blank">${review_id}</a></div>
        {%elif record_type == "email" %}
            <div class="header">
            {%if email_link != "" %}
            <a href='${email_link}'>
            {%/if%}
            Email &ldquo;${subject}&rdquo;
            {%if email_link != "" %}
            </a>
            {%/if%}
            </div>
            {%if blueprint_id_count %}
            <div>Mentions blueprints:
            {%each( index, value ) blueprint_links %}
                {%html value %}
            {%/each%}
            </div>
            {%/if%}
            {%if body %}
            <div>Email: <span class="expand-button" id="button-${record_id}">[+]</span></div>
            <div id="content-button-${record_id}" class="message" style="display:none;">${body}</div>
            {%/if%}
        {%elif ((record_type == "bpd") || (record_type == "bpc")) %}
            <div class="header">Blueprint &ldquo;${title}&rdquo; ({%html blueprint_link %})</div>
            <div class="message">${summary}</div>

            <div>Priority: <span class="specpriority${priority}">${priority}</span></div>
            <div>Status: <span class="status${lifecycle_status}">${lifecycle_status}</span>
                (<span class="specstatus${definition_status}">${definition_status}</span>,
                <span class="specdelivery${implementation_status}">${implementation_status}</span>)</div>
            {%if mention_count %}
            <div><b>Mention count: ${mention_count}, last mention on ${mention_date_str}</b></div>
            {%/if%}
        {%elif ((record_type == "bugf") || (record_type == "bugr")) %}
            <div class="header">&ldquo;${title}&rdquo;</div>
            <div>Status: <span class="status${status}">${status}</span></div>
            <div>Importance: ${importance}</div>
        {%elif record_type == "ci_vote" %}
            <div class="header">New CI vote in change request ${review_number}
                 {%if is_merged %}(<span style="color: green;">Merged</span>){%/if%}</div>
            <div>Parsed result: {%if ci_result == true %}<span style="color: green">Success</span>{%else%}<span style="color: red">Failure</span>{%/if%}</div>
            <div>Message: ${message}</div>
            <div>Change Id: <a href="https://review.openstack.org/#/c/${review_number}" target="_blank">${review_id}</a></div>
        {%elif record_type == "member" %}
            <div class="header"><a href="${member_uri}" target="_blank">Registered</a> in OpenStack Foundation</div>
        {%/if%}
    </div>
    </div>
    {% endraw %}
</script>

    <h2 id="activity_header">Activity Log</h2>
    <div id="activity_container"></div>

    <div style="height: 44px;">
        <div class="paging_full_numbers" id="activity_paginate" style="margin-left: {{ gravatar_size * 1.4 }}px;">
            <a class="last paginate_button" tabindex="0" id="activity_more">More...</a>
        </div>
    </div>

{%- endmacro %}
