summaryrefslogtreecommitdiffstats
path: root/cvp/3rd_party/static/testapi-ui/components/results/results.html
blob: 8d7e4482c9be7a92af8092adc955696e916eec83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<div class="container-fluid common-main-container">
<h3>{{ctrl.pageHeader}}</h3>
<p>{{ctrl.pageParagraph}}</p>
<form class="form-inline" ng-show="ctrl.isUserResults">
<h4>Upload Results<i class="glyphicon glyphicon-question-sign opnfv-blue" uib-tooltip="results file is logs.xxx.tar.gz under your dovetail installation path"></i></h4>
<div class="form-group col-m-3">
     <input class="form-contrl btn btn-success cvp-btn medium accent-color regular-button" type = "file" file-model = "resultFile"/>
</div>
<div class="form-group col-m-3">
     <a class="btn btn-success cvp-btn medium accent-color regular-button" ng-click="ctrl.uploadFile()"><span>upload result</span></a>
</div>
<div>
<lable>{{ctrl.uploadState}}</label>
</div>
</form>
<div class="row" style="margin-bottom:24px;"></div>
<div cg-busy="{promise:ctrl.authRequest,message:'Loading'}"></div>
<div cg-busy="{promise:ctrl.resultsRequest,message:'Loading'}"></div>

<div ng-show="ctrl.data" class="results-table">
    <table ng-data="ctrl.data.result" ng-show="ctrl.data" class="table table-striped table-hover">
        <thead>
            <tr>
                <th>Upload Date</th>
                <th>Test ID</th>
                <th>Owner</th>
                <th>File Name</th>
                <th>Label</th>
                <th>Status</th>
                <th>Log</th>
                <th>SUT</th>
                <th class="col-md-2">Operation</th>
                <th class="col-md-2">Share List</th>
            </tr>
        </thead>

        <tbody style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
            <tr ng-repeat="(index, result) in ctrl.data.tests">
                <td>{{ result.upload_date | limitTo:19}}</td>
                <td><a  uib-tooltip="{{ result.id }}" tooltip-placement="top" tooltip-append-to-body="true" ng-click="ctrl.gotoResultDetail(result.id, result._id)">{{ result.id | limitTo:8 }}</a></td>
                <td>{{ result.owner }}</td>
                <td>{{ result.filename || "None"}}</td>
                <td><div class="popover-wrapper"><a editable-theme="bs3" onbeforesave="ctrl.changeLabel(result, $data)" editable-text="result.label"> {{ result.label || "None" }}</a></div></td>
                <td>{{ result.status }}</td>
                <td><a ng-click="ctrl.downloadLogs(result.id)">logs</a></td>
                <td><a ng-click="ctrl.gotoSUT(result.id)">info</a></td>
                <td>
                    <div class="btn-group" uib-dropdown>
                        <a id="single-button" type="button" class="btn btn-success cvp-btn medium accent-color regular-button" uib-dropdown-toggle>
                            Operation<span class="caret"></span>
                        </a>
                        <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="single-button">
                            <li role="menuitem" ng-if="auth.currentUser.openid == result.owner" class="menu-item menu-item-type-post_type menu-item-object-page"><a ng-class="{'hide': result.status == 'private'}" ng-click="ctrl.toPrivate(result, 'private')">withdraw submit</a></li>
                            <li role="menuitem" ng-if="auth.currentUser.openid == result.owner" class="menu-item menu-item-type-post_type menu-item-object-page"><a ng-class="{'hide': result.status != 'private'}" ng-click="ctrl.toReview(result, 'review')">submit to review</a></li>
                            <li role="menuitem" ng-if="auth.currentUser.role.indexOf('administrator') != -1" class="menu-item menu-item-type-post_type menu-item-object-page"><a ng-class="{'hide': result.status == 'approved' || result.status == 'private'}" ng-click="ctrl.toggleCheck(result, 'status', 'approved')">approve</a></li>
                            <li role="menuitem" ng-if="auth.currentUser.role.indexOf('administrator') != -1" class="menu-item menu-item-type-post_type menu-item-object-page"><a ng-class="{'hide': result.status == 'not approved' || result.status == 'private'}" ng-click="ctrl.toggleCheck(result, 'status', 'not approved')">not approve</a></li>
                            <li role="menuitem" ng-if="auth.currentUser.openid == result.owner" class="menu-item menu-item-type-post_type menu-item-object-page"><a ng-click="ctrl.openSharedModal(result)">share with</a></li>
                            <li role="menuitem" ng-if="auth.currentUser.openid == result.owner" class="menu-item menu-item-type-post_type menu-item-object-page"><a ng-click="ctrl.deleteTest(result._id)">delete</a></li>
                        </ul>
                    </div>
                </td>
                <td>
                    <div class="btn-group" uib-dropdown>
                        <a id="single-button" type="button" class="btn btn-success cvp-btn medium accent-color regular-button" style="width:130px" uib-dropdown-toggle>
                            Share List<span class="caret"></span>
                        </a>
                        <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="single-button" style="min-width:200%">
                            <li class="menu-item menu-item-type-post_type menu-item-object-page" role="menuitem" ng-repeat="share in result.shared track by $index"><span>{{ share }}<i ng-if="auth.currentUser.openid == result.owner" class="pull-right glyphicon glyphicon-remove" ng-click="ctrl.removeSharedUser(result, share)"></i></span></li>
                        </ul>
                    </div>
                </td>

            </tr>
        </tbody>
    </table>

    <div class="pages">
        <uib-pagination
            total-items="ctrl.totalItems"
            ng-model="ctrl.currentPage"
            items-per-page="ctrl.itemsPerPage"
            max-size="ctrl.maxSize"
            class="pagination-sm"
            boundary-links="true"
            rotate="false"
            num-pages="ctrl.numPages"
            ng-change="ctrl.update()">
        </uib-pagination>
    </div>
</div>

</div>
<div ng-show="ctrl.showError" class="alert alert-danger" role="alert">
    <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
    <span class="sr-only">Error:</span>
    {{ctrl.error}}
</div>
</div>

<style>
.button-disabled {
    pointer-events:none;
}
</style>