Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/users/details/userDetails.cshtml @ 12516

Last change on this file since 12516 was 12516, checked in by dglaser, 9 years ago

#2388:

HeuristicLab.Services.Hive.DataAccess-3.3:

  • updated daos
  • changed statistics database schema
  • updated HiveStatisticsGenerator

HeuristicLab.Services.WebApp.Statistics-3.3:

  • added jobs, client and user page
File size: 5.9 KB
Line 
1@using HeuristicLab.Services.Access.DataTransfer
2@using HeuristicLab.Services.Hive
3@if (Request.IsAuthenticated && User.IsInRole(HiveRoles.Administrator)) {
4<header class="view-header">
5    <ul class="nav nav-list nav-list-topbar pull-left">
6        <li>
7            <a ng-href="#/statistics/jobs">Jobs</a>
8        </li>
9        <li class="active">
10            <a ng-href="#/statistics/users">Users</a>
11        </li>
12        <li>
13            <a ng-href="#/statistics/clients">Clients</a>
14        </li>
15    </ul>
16</header>
17
18<div class="default-view-container">
19    <div class="row">
20        <div class="col-lg-9 col-md-6">
21            <div class="panel panel-default">
22                <div class="panel-heading">
23                    <h3 class="panel-title">User Details</h3>
24                </div>
25                <div class="panel-body">
26                    <table class="table table-no-border table-condensed table-auto-width table-content">
27                        <tr>
28                            <td class="text-left">Name:</td>
29                            <td>{{user.Name}}</td>
30                        </tr>
31                    </table>
32                </div>
33            </div>
34        </div>
35
36        <div class="col-lg-3 col-md-6">
37            <div class="panel panel-default">
38                <div class="panel-heading">
39                    <h3 class="panel-title">Tasks Overview</h3>
40                </div>
41                <div class="panel-body">
42                    <table class="table table-no-border table-condensed table-auto-width table-content">
43                        <tr>
44                            <td class="text-left">Total:</td>
45                            <td class="text-right">{{totalJobTasks}}</td>
46                        </tr>
47                        <tr ng-repeat="state in states">
48                            <td class="text-left">{{state.State}}:</td>
49                            <td class="text-right">{{state.Count}}</td>
50                        </tr>
51                    </table>
52                </div>
53            </div>
54        </div>
55    </div>
56
57    <div class="row">
58        <div class="col-lg-12">
59            <div class="panel panel-default">
60                <div class="panel-heading">
61                    <h3 class="panel-title">Current Jobs</h3>
62                </div>
63                <div class="panel-body">
64                    <table class="table table-hover table-condensed">
65                        <thead>
66                            <tr>
67                                <th>#</th>
68                                <th>Job Name</th>
69                                <th>Date Created</th>
70                                <th>Progress</th>
71                                <th></th>
72                            </tr>
73                        </thead>
74                        <tr ng-repeat="job in jobs">
75                            <td>{{$index + 1}}</td>
76                            <td>{{job.Name}}</td>
77                            <td>{{job.DateCreated}}</td>
78                            <td>
79                                <progressbar class="progress active" max="job.TotalTasks" value="job.CompletedTasks" type="success"><i style="color:black; white-space:nowrap;">{{job.CompletedTasks}} / {{job.TotalTasks}}</i></progressbar>
80                            </td>
81                            <td>
82                                <a ng-href="#/statistics/jobs/{{job.Id}}">Details</a>
83                            </td>
84                        </tr>
85                        <tr ng-hide="jobs.length">
86                            <td colspan="5" class="text-center">No active jobs found!</td>
87                        </tr>
88                    </table>
89                </div>
90            </div>
91        </div>
92    </div>
93
94    <div class="row">
95        <div class="col-lg-12">
96            <div class="panel panel-default">
97                <div class="panel-heading">
98                    <h3 class="panel-title">Completed Jobs</h3>
99                </div>
100                <div class="panel-body">
101                    <table class="table table-hover table-condensed">
102                        <thead>
103                            <tr>
104                                <th>#</th>
105                                <th>Job Name</th>
106                                <th>Date Created</th>
107                                <th>Date Completed</th>
108                                <th>Tasks</th>
109                                <th></th>
110                            </tr>
111                        </thead>
112                        <tr ng-repeat="job in completedJobPage.Jobs">
113                            <td>{{($index + 1)+((completedJobCurPage-1)*(completedJobPageSize))}}</td>
114                            <td>{{job.Name}}</td>
115                            <td>{{job.DateCreated}}</td>
116                            <td>{{job.DateCompleted}}</td>
117                            <td>{{job.TotalTasks}}</td>
118                            <td><a ng-href="#/statistics/jobs/{{job.Id}}">Details</a></td>
119                        </tr>
120                        <tr ng-hide="completedJobPage.Jobs.length">
121                            <td colspan="6" class="text-center">No completed jobs found!</td>
122                        </tr>
123                    </table>
124                    <div class="row text-center" ng-show="completedJobPage.TotalJobs > completedJobPage.Jobs.length">
125                        <pagination max-size="10" total-items="completedJobPage.TotalJobs"
126                                    ng-model="completedJobCurPage" items-per-page="completedJobPageSize"
127                                    ng-change="changeCompletedJobPage()"
128                                    boundary-links="true" rotate="false" num-pages="numPages"></pagination>
129                    </div>
130                </div>
131            </div>
132        </div>
133    </div>
134
135</div>
136}
Note: See TracBrowser for help on using the repository browser.