kiwitcms/Kiwi

View on GitHub
tcms/testplans/templates/testplans/get.html

Summary

Maintainability
Test Coverage
{% extends "base.html" %}
{% load i18n %}
{% load static %}
{% load extra_filters %}
{% load attachments_tags %}

{% block title %}TP-{{ object.pk }}: {{ object.name }}{% endblock %}
{% block page_id %}page-testplans-get{% endblock %}
{% block body_class %}cards-pf{% endblock %}

{% block contents %}
<div class="container-cards-pf">
    <!-- Important:  if you need to nest additional .row within a .row.row-cards-pf, do *not* use .row-cards-pf on the nested .row  -->
    <h1 class="col-md-12 kiwi-margin-top-0">
        {% if not object.is_active %}<s>{% endif %}
        <span id="test_plan_pk"
              data-testplan-pk="{{ object.pk }}"
              data-new-testrun-url="{% url 'testruns-from-plan' object.pk %}"
              data-perm-remove-tag="{{ perms.testplans.delete_testplantag }}"
              data-perm-change-testcase="{{ perms.testcases.change_testcase }}"
              data-perm-remove-testcase="{{ perms.testcases.delete_testcaseplan }}"
              data-perm-add-testcase="{{ perms.testcases.add_testcase }}"
              data-perm-add-comment="{{ perms.django_comments.add_comment }}"
              data-perm-delete-comment="{{ perms.django_comments.delete_comment }}"
              data-trans-username-email-prompt="{% trans 'Enter username, email or user ID:' %}"
              data-trans-no-testcases-selected="{% trans 'No rows selected! Please select at least one!'%}"
              data-trans-are-you-sure="{% trans 'Are you sure?' %}"
              data-trans-cannot-create-testrun="{% trans 'Cannot create TestRun with unconfirmed test cases'%}"
              data-trans-error-adding-cases="{% trans 'Error adding test cases' %}"
        >TP-{{ object.pk }}:</span> {{ object.name }}
        {% if not object.is_active %}</s>{% endif %}
    </h1>

    <div class="row row-cards-pf">
        <div class="col-xs-12 col-sm-12 col-md-9">
            <div class="card-pf card-pf-accented">
                <div class="card-pf-body">
                    <div class="markdown-text" id="testplan-text">
                        {{ object.text|markdown2html }}
                    </div>

                    <a id="testplan-text-collapse-btn" class="hidden kiwi-float-right"
                        title="{% trans 'Show more' %}"
                        data-toggle="collapse" href="#testplan-text">
                        <span class="fa fa-angle-double-down"></span>
                    </a>
                </div>
            </div>
        </div>

        <div class="col-xs-12 col-sm-12 col-md-3" id="testplan-info">
            <div class="card-pf card-pf-accented card-pf-aggregate-status">
                <h2 class="card-pf-title kiwi-text-align-left">
                    <span class="fa pficon-user"></span>{% trans 'Author' %}:
                    <a href="{% url "tcms-profile" object.author.username %}">{{ object.author.username }}</a>
                </h2>

                <h2 class="card-pf-title kiwi-text-align-left">
                    <span class="fa fa-calendar"></span>{{ object.create_date }}
                </h2>

                <h2 class="card-pf-title kiwi-text-align-left">
                <span id="product_pk"
                      class="fa fa-shopping-cart"></span>{% trans 'Product' %}:
                    <a href="{% url "plans-search" %}?product={{ object.product_id }}"
                       title="Search plans of {{ object.product }} ">{{ object.product }}</a>
                </h2>

                <h2 class="card-pf-title kiwi-text-align-left">
                    <span class="fa fa-random"></span>{% trans 'Version' %}:
                    {{ object.product_version.value }}
                </h2>

                <h2 class="card-pf-title kiwi-text-align-left">
                    <span class="fa fa-cube"></span>{% trans 'Plan Type' %}:
                    {{ object.type.name  }}
                </h2>

                <h2 class="card-pf-title kiwi-text-align-left">
                    <span class="fa fa-link"></span>{% trans 'Reference link' %}:
                    {% if object.extra_link %}
                        <a href="{{ object.extra_link }}">{{ object.extra_link }}</a>
                    {% else %}
                        -
                    {% endif %}
                </h2>

                <div class="card-pf-body" style="margin-top:0">
                    {{ object.tree_view_html|safe }}
                </div>
            </div>
        </div>
    </div>

    <div class="row row-cards-pf">
        <div class="col-xs-12 col-sm-12 col-md-12">
            <div class="card-pf card-pf-accented">
                <div class="card-pf-heading">
                    <h2 class="card-pf-title">
                        {% trans 'Test cases' %}
                    </h2>
                </div>
                <div class="card-pf-body">
                    <div class="container-fluid">
                        <div class="row toolbar-pf">
                            <div class="col-sm-12 toolbar-pf-filter" style="padding-left:0">
                                <form class="toolbar-pf-actions">
                                    <div class="form-group" style="padding-left:10px; padding-right:0; border:0">
                                        <div class="dropdown btn-group">
                                            <button class="btn btn-link dropdown-toggle"
                                                    type="button" id="testCaseActions"
                                                    data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
                                                <span class="fa fa-bars"></span>
                                            </button>

                                            <ul class="dropdown-menu" aria-labelledby="testCaseActions">
                                            {% if perms.testruns.add_testrun %}
                                                <li>
                                                    <a id="testplan-toolbar-newrun" href="#">
                                                        <span class="fa fa-file-text-o"></span>
                                                        {% trans 'New Test Run' %}
                                                    </a>
                                                </li>
                                                <li class="divider"></li>
                                            {% endif %}

                                            {% if perms.testcases.add_testcase %}
                                                <li>
                                                    <a href="{% url "testcases-new" %}?from_plan={{ object.pk }}">
                                                        <span class="fa fa-pencil"></span>
                                                        {% trans 'New Test Case' %}
                                                    </a>
                                                </li>

                                                <li>
                                                    <a id="bulk-clone-button" href="#">
                                                        <span class="fa fa-code-fork" style="margin-left: 1px; margin-right: 1px"></span>
                                                        {% trans 'Clone' %}
                                                    </a>
                                                </li>

                                                <li class="divider"></li>
                                            {% endif %}

                                            {% if perms.testcases.change_testcase %}
                                                <li class="dropdown-submenu">
                                                    <a href="#">
                                                        <span class="fa fa-stethoscope"></span>
                                                        {% trans 'Status' %}
                                                    </a>

                                                    <ul class="dropdown-menu dropdown-menu-right js-toolbar-status">
                                                    {% for status in statuses %}
                                                        <li><a data-id="{{ status.id }}" href="#">{{ status.name }}</a></li>
                                                    {% endfor %}
                                                    </ul>
                                                </li>

                                                <li class="dropdown-submenu">
                                                    <a href="#">
                                                        <span class="fa fa-hourglass"></span>
                                                        {% trans 'Priority' %}
                                                    </a>

                                                    <ul class="dropdown-menu dropdown-menu-right js-toolbar-priority">
                                                    {% for priority in priorities %}
                                                        <li><a data-id="{{ priority.id }}" href="#">{{ priority.value }}</a></li>
                                                    {% endfor %}
                                                    </ul>
                                                </li>

                                                <li>
                                                    <a id="default-tester-button" href="#">
                                                        <span class="fa fa-search"></span>
                                                        {% trans 'Default tester' %}
                                                    </a>
                                                </li>

                                                <li>
                                                    <a id="bulk-reviewer-button" href="#">
                                                        <span class="fa fa-history"></span>
                                                        {% trans 'Reviewer' %}
                                                    </a>
                                                </li>

                                                <li class="divider"></li>
                                            {% endif %}

                                            {% if perms.testcases.delete_testcaseplan %}
                                                <li>
                                                    <a id="delete_button" href="#" class="bg-danger">
                                                        <span class="fa fa-trash-o"></span>
                                                        {% trans 'Delete' %}
                                                    </a>
                                                </li>
                                            {% endif %}

                                            </ul>
                                        </div>
                                    </div>
                                    <div class="form-group" style="margin-right:15px; padding-right: 8px;">
                                        <input type="checkbox" class="js-checkbox-toolbar">
                                    </div>
                                    <div class="form-group toolbar-pf-filter">
                                        <label class="sr-only" for="filter">{% trans 'Name' %}</label>
                                        <div class="input-group">
                                            <div class="input-group-btn">
                                                <button type="button" class="btn btn-default dropdown-toggle"
                                                        id="input-filter-button"
                                                        data-toggle="dropdown" aria-haspopup="true"
                                                        aria-expanded="false">
                                                    {% trans 'Summary' %}<span
                                                        class="caret"></span></button>
                                                <ul class="dropdown-menu js-toolbar-filter-options">
                                                    {% include "testplans/toolbar_dropdown.html" with first_class="selected" %}
                                                    <li data-filter-type="component"><a href="#">{% trans 'Component' %}</a></li>
                                                    <li data-filter-type="tag"><a href="#">{% trans 'Tag' %}</a></li>
                                                </ul>
                                            </div><!-- /btn-group -->
                                            <input type="text" class="form-control" id="toolbar-filter"
                                                   placeholder="{% trans 'Search' %}">
                                        </div><!-- /input-group -->
                                    </div>
                                    <div class="form-group">
                                        <div class="dropdown btn-group">
                                            <div class="dropdown btn-group ">
                                                <button type="button" class="btn btn-default dropdown-toggle"
                                                        id="sort-button"
                                                        data-toggle="dropdown"
                                                        aria-haspopup="true"
                                                        aria-expanded="false">{% trans 'Sort key' %}<span
                                                        class="caret"></span></button>
                                                <ul class="dropdown-menu js-toolbar-sort-options">
                                                    <li class="selected" data-filter-type="sortkey"><a href="#">{% trans 'Sort key' %}</a></li>
                                                    {% include "testplans/toolbar_dropdown.html" %}
                                                </ul>
                                            </div>
                                            <button class="btn btn-link js-toolbar-sorting-order" type="button">
                                                <span class="fa fa-sort-alpha-asc" data-order="1"></span>
                                                <span class="fa fa-sort-alpha-desc hidden" data-order="-1"></span>
                                            </button>

                                            {% if perms.testcases.change_testcaseplan %}
                                            <button class="btn btn-link js-toolbar-manual-sort" type="button" title="{% trans 'Re-order cases' %}">
                                                <span class="fa fa-sort"></span>
                                            </button>
                                            {% endif %}
                                        </div>
                                    </div>
                                {% if perms.testcases.add_testcaseplan %}
                                    <div class="form-group">
                                        <input id="search-testcase"
                                            type="text"
                                            placeholder="{% trans 'Search and add test cases' %}"
                                            class="form-control typeahead">

                                        <button class="btn btn-default"
                                            href="#" id="btn-add-case" title="{% trans 'Add' %}">
                                            <span class="fa fa-plus"></span>
                                        </button>

                                        <button class="btn btn-default" href="{% url 'testcases-search' %}"
                                            id="btn-search-cases" title="{% trans 'Advanced search' %}">
                                            <span class="fa fa-search"></span>
                                        </button>
                                    </div>
                                {% endif %}
                                </form>
                            </div><!-- /col -->
                        </div><!-- /row -->
                    </div>
                    <div id="testcases-list" class="list-group list-view-pf list-view-pf-view">
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="row row-cards-pf">
        <div class="col-xs-12 col-sm-12 col-md-3">
            <div class="card-pf card-pf-accented">
                <div class="card-pf-heading">
                    <h2 class="card-pf-title">
                        <span class="fa fa-forward">
                        </span>
                        {% trans 'Active test runs' %}
                    </h2>
                </div>
                <div class="card-pf-body">
                    <div id="testruns-list" class="list-group list-view-pf list-view-pf-view">
                        <div class="card-pf-items">
                            <div class="card-pf-item">
                                {% for test_run in test_runs %}
                                    <div class="list-group-item">
                                        <div class="list-group-item-header">
                                            <div class="list-view-pf-main-info">
                                                <div class="list-group-item-text">
                                                    <a href="{% url 'testruns-get' test_run.pk %}">
                                                        TR-{{ test_run.pk }}: {{ test_run }}
                                                    </a>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                {% endfor %}
                            </div>
                            <div class="card-pf-item text-center">
                                <a href="{% url "testruns-search" %}?plan={{ object.pk }}">{% trans 'More' %}</a>
                                |
                                <a href="{% url "testruns-search" %}?plan={{ object.pk }}&running=0">{% trans 'Inactive' %}</a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="col-xs-12 col-sm-6 col-md-3">
            {% include 'include/tags_card.html' with add_perm=perms.testcases.add_testcasetag %}
        </div>

        <div class="col-xs-12 col-sm-6 col-md-6">
            {% include 'include/attachments.html' %}
        </div>
    </div>

</div>

<template id="no_test_cases">
    <div class="list-group-item">
        <div class="list-group-item-header">
            <div class="list-view-pf-main-info">{% trans 'No records found' %}</div>
        </div>
    </div>
</template>

<template id="test_case_row">
    <div class="list-group-item js-testcase-row" data-testcase-pk="">
        <div class="list-group-item-header">
            <div class="list-view-pf-main-info">
                <div class="list-view-pf-left hidden js-testcase-sort-handler">
                    <span class="fa fa-sort handle"></span>
                </div>
                <div class="list-view-pf-left js-testcase-expand-arrow">
                    <span class="fa fa-angle-right"></span>
                </div>
                <div class="list-view-pf-checkbox js-testcase-checkbox" style="margin-top: 0; margin-bottom: 0">
                    <input type="checkbox">
                </div>
                <div class="list-view-pf-actions" style="margin-top: 0; margin-bottom: 0;">
                    <div class="dropdown pull-right dropdown-kebab-pf">
                        <button class="btn btn-link dropdown-toggle" type="button"
                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
                            <span class="fa fa-ellipsis-v"></span>
                        </button>
                        <ul class="dropdown-menu dropdown-menu-right">
                        {% if perms.testcases.add_testcase %}
                            <li><a class="js-test-case-menu-clone">{% trans 'Clone' %}</a></li>
                            <li class="divider"></li>
                        {% endif %}
                        {% if perms.testcases.change_testcase %}
                            <li class="dropdown-submenu dropdown-menu-left">
                                <a tabindex="-1" href="#">{% trans 'Status' %}</a>
                                <ul class="dropdown-menu js-test-case-menu-status">
                                    {% for status in statuses %}
                                        <li><a data-id="{{ status.id }}" href="#">{{ status.name }}</a></li>
                                    {% endfor %}
                                </ul>
                            </li>
                            <li class="dropdown-submenu dropdown-menu-left">
                                <a tabindex="-1" href="#">{% trans 'Priority' %}</a>
                                <ul class="dropdown-menu js-test-case-menu-priority">
                                    {% for priority in priorities %}
                                        <li><a data-id="{{ priority.id }}" href="#">{{ priority.value }}</a></li>
                                    {% endfor %}
                                </ul>
                            </li>
                            <li><a class="js-test-case-menu-tester" href="#">{% trans 'Default tester' %}</a></li>
                            <li class="divider"></li>
                            <li><a class="js-test-case-menu-edit">{% trans 'Edit' %}</a></li>
                            <li class="divider"></li>
                        {% endif %}
                        {% if perms.testcases.delete_testcaseplan %}
                            <li><a class="js-test-case-menu-delete bg-danger" href="#">{% trans 'Delete' %}</a></li>
                        {% endif %}
                        </ul>
                    </div>
                </div>
                <div class="list-view-pf-body">
                    <div class="list-view-pf-description">
                        <div class="list-group-item-text">
                             <a class="js-test-case-link"></a>
                         </div>
                    </div>
                    <div class="list-view-pf-additional-info">
                        <div title="{% trans 'Status' %}" class="list-view-pf-additional-info-item">
                            <!-- add customizable icon as part of #1932 -->
                            <span class="js-test-case-status-icon fa"></span>
                            <span class="js-test-case-status"></span>
                        </div>
                        <div class="list-view-pf-additional-info-item">
                            <span class="fa fa-cog fa-hand-paper-o js-test-case-automated" data-true="{% trans 'Automated' %}" data-false="{% trans 'Manual' %}"></span>{# one of the classes is removed by the js #}
                        </div>
                        <div title="{% trans 'Priority' %}" class="list-view-pf-additional-info-item">
                            <span class="fa fa-hourglass"></span>
                            <span class="js-test-case-priority"></span>
                        </div>
                        <div title="{% trans 'Category' %}" class="list-view-pf-additional-info-item">
                            <span class="fa fa-tag"></span>
                            <span class="js-test-case-category"></span>
                        </div>
                        <div title="{% trans 'Author' %}" class="list-view-pf-additional-info-item">
                            <span class="fa pficon-user"></span>
                            <span class="js-test-case-author"></span>
                        </div>
                        <div title="{% trans 'Default tester' %}" class="list-view-pf-additional-info-item js-test-case-tester-div">
                            <span class="fa fa-search"></span>
                            <span class="js-test-case-tester"></span>
                        </div>

                        <div title="{% trans 'Reviewer' %}" class="list-view-pf-additional-info-item js-test-case-reviewer-div hidden">
                            <span class="fa fa-history"></span>
                            <span class="js-test-case-reviewer"></span>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="list-group-item-container container-fluid hidden">
            <div class="row">
                <div class="col-md-9">
                    <div class="markdown-text js-test-case-expand-text"></div>
                    <strong>{% trans 'Notes' %}:</strong>
                    <p class="js-test-case-expand-notes">{% trans 'Notes' %}</p>
                </div>
                <div class="col-md-3 text-center">
                    <span>{% trans 'Attachments' %}:</span>
                    <ul class="list-group list-unstyled js-test-case-expand-attachments">
                        <template id="attachments-list-item">
                        <li class="list-group-item">
                            <a></a>
                        </li>
                        </template>
                        <li class="list-group-item hidden">{% trans "No attachments" %}</li>
                    </ul>

                    <span>{% trans 'Components' %}:</span>
                    <ul class="list-inline js-testcase-expand-components">
                        <template>
                            <li>
                                <span class="label label-default"></span>
                            </li>
                        </template>
                    </ul>

                    <span>{% trans 'Tags' %}:</span>
                    <ul class="list-inline js-testcase-expand-tags">
                        <template>
                            <li>
                                <span class="label label-default"></span>
                            </li>
                        </template>
                    </ul>
                </div>
            </div>

            <div class="row">
                <div class="col-md-6">
                    <strong>{% trans 'Comments' %}:</strong>
                    <div class="comments">
                    </div>
                </div>

                <div class="col-md-6 js-comment-form-textarea">
                    {{ comment_form.text }}
                    <button type="submit" name="action" class="btn btn-default js-post-comment">
                    {% trans "Save" %}
                    </button>
                </div>
            </div>

        </div>
    </div>
</template>

<template id="toolbar-dropdown">
    <li class="selected" data-filter-type="summary"><a>{% trans 'Summary' %}</a></li>
    <li data-filter-type="case_status"><a>{% trans 'Status' %}</a></li>
    <li data-filter-type="is_automated"><a>{% trans 'Automated' %}</a></li>
    <li data-filter-type="priority"><a>{% trans 'Priority' %}</a></li>
    <li data-filter-type="category"><a>{% trans 'Category' %}</a></li>
    <li data-filter-type="author"><a>{% trans 'Author' %}</a></li>
    <li data-filter-type="default_tester"><a>{% trans 'Default tester' %}</a></li>
    <li data-filter-type="reviewer"><a>{% trans 'Reviewer' %}</a></li>
</template>

{% include 'include/comments_for_object_template.html' %}

{{ comment_form.media }}

<style>
#test-plan-family-tree {
    overflow: hidden;
}

#test-plan-family-tree .list-group-item .list-group-item .list-group-item-header::before {
    border: none;
}

#test-plan-family-tree .list-group-item-container .list-group-item {
    padding-left: 25px;
}
</style>
{% endblock %}