{# issue - issue dict comment_count - int dataset - package object #} {% extends "issues/base.html" %} {% set ckan_28 = True if h.ckan_version().startswith('2.8') else False %} {% block styles %} {{ super() }} {% asset 'issues/autocomplete-action-api' %} {% endblock %} {% block subtitle %}{{ '%s #%s - %s' % (issue.title, issue.number, _('Issues')) }} {% endblock %} {% block head_extras -%} {% set description = h.markdown_extract(issue.comment , extract_length=200)|forceescape %} {% set statusUpper = issue.status|upper %} {% endblock -%} {% block breadcrumb_item %}{{ h.nav_link(issue.number, named_route='issues.show_issue', dataset_id=dataset.name, issue_number=issue.number) }} {% endblock %} {% set can_edit_issue = h.check_access('issue_update', {'can_edit': True, 'dataset_id': dataset.id, 'issue_number': issue.number }) %} {% set is_publisher = h.check_access('package_update', {'id': dataset.id }) %} {% import 'macros/form.html' as form %} {%- macro issue_description(issue) %}
{{issue.user.gravatar}}
{{ issue_or_comment_header(issue_or_comment=issue, dataset=dataset, issue=issue, header_is_for_issue=True, can_edit_issue=can_edit_issue) }}
{{ h.render_markdown(issue.comment) }}
{% endmacro %} {%- macro issue_comment(comment) %}
{{comment.user.gravatar}}
{{ issue_or_comment_header(issue_or_comment=comment, dataset=dataset, issue=issue, header_is_for_issue=False, can_edit_issue=can_edit_issue) }}
{{ h.render_markdown(comment.comment) }}
{% endmacro %} {%- macro issue_or_comment_header(issue_or_comment, dataset, issue, header_is_for_issue, can_edit_issue) %}
{% if header_is_for_issue and can_edit_issue %} {% endif %} {% if g.user and not can_edit_issue %} {# a normal user can report this comment/issue #} {% set reported_by_current_user = h.issues_user_has_reported_issue(g.user, issue_or_comment.abuse_reports) %} {% if not reported_by_current_user %}
{% if header_is_for_issue %}
{% else %} {% endif %}
{% else %}
{% if header_is_for_issue %}
{% else %} {% endif %}
{% endif %} {% elif g.user %} {# i.e. an admin, so allow moderation #} {% set reports_by_users = issue_or_comment.abuse_reports|length %} {# always offer the "this is spam" button #}
{% if header_is_for_issue %}
{% else %} {% endif %}
{# only offer the "this isn't spam" button if it has been marked as spam by users or moderator and therefore it might need denying or cancelling #} {% if (reports_by_users or issue_or_comment.visibility != 'visible') %}
{% if header_is_for_issue %}
{% else %} {% endif %}
{% endif %} {% if reports_by_users %}
{{ reports_by_users }} {{ _('user reports this is spam/abuse') }}
{% endif %} {% if issue_or_comment.visibility != 'visible' %}
{{ _('Hidden from normal users') }}
{% endif %} {% if issue_or_comment.abuse_status != 0 %}
{{ _('Moderated: ') }}{{ issue_or_comment.abuse_status }}
{% endif %} {% endif %}
{% if h.issues_user_is_owner(user=issue_or_comment.user, dataset_id=dataset.id) %}
{{ _('Owner') }}
{% endif %}
{{ issue_or_comment.user.name}} {{ _('commented') }} {{ h.time_ago_from_timestamp(issue_or_comment.created).lower() }}
{% endmacro %} {% block primary_content %}

{{issue.title}} #{{issue.number}}

{{ _(issue.status.title()) }} {{issue.user.name}} {{ _('opened this issue') }} {{issue.time_ago}} · {{ ungettext(_('{number} comment'), _('{number} comments'), comment_count).format(number=comment_count) }}
{{ issue_description(issue) }} {% for comment in issue.comments %} {% if comment.visibility == 'visible' or can_edit_issue %} {{ issue_comment(comment) }} {% endif %} {% endfor %}
{% if g.user %} {{g.user.gravatar}}
{% trans %}You can use Markdown formatting here{% endtrans %}
{% block form_actions %}
{% if h.check_access('issue_delete', {'issue_number': issue.number, 'dataset_id': dataset.id}) %} {% set locale = h.dump_json({'content': _('Are you sure you want to delete this issue?')}) %} {% block delete_button_text %}{{ _('Delete') }}{% endblock %} {% endif %} {% if can_edit_issue %} {% if issue.status == 'open' %} {% else %} {% endif %} {% endif %}
{% endblock %}
{% else %} {% endif %}
{% endblock %} {% block secondary_content %}

{{ dataset.name }}

{{ _('Assignee') }}

{% if issue.assignee %} {{ h.gravatar((issue.assignee.email_hash), size=22) }} {{ issue.assignee.name }} {% elif issue.assignee_id %} {{ _('This issue has been assigned to an administrator for the publisher') }} {% else %} {{ _('No one') }} {% endif %}
{% block assignee_form %} {% if is_publisher %}

{{ _('Change Assignee') }}

{% else %} data-module-source="/api/3/action/user_autocomplete?q=?"> {% endif %}
{% endif %} {% endblock %} {% endblock %} n