Free cookie consent management tool by TermsFeed Policy Generator

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

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

#2388:

HeuristicLab.Services.Hive.DataAccess-3.3:

  • updated database schema
  • updated sql scripts
  • updated HiveStatisticsGenerator

HeuristicLab.Services.WebApp-3.3:

  • merged from trunk

HeuristicLab.Services.WebApp.Status-3.3:

  • updated data api controller

HeuristicLab.Services.WebApp.Statistics-3.3:

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