Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/26/15 18:02:03 (10 years ago)
Author:
dglaser
Message:

#2388:

HeuristicLab.Services.WebApp.Statistics-3.3:

  • added groups page
  • improved jobs, clients and users pages

HeuristicLab.Services.WebApp-3.3:

  • merged from trunk
Location:
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/jobs
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/jobs/details/jobDetails.cshtml

    r12516 r12525  
    1313        <li>
    1414            <a ng-href="#/statistics/clients">Clients</a>
     15        </li>
     16        <li>
     17            <a ng-href="#/statistics/groups">Groups</a>
    1518        </li>
    1619    </ul>
     
    97100                        <div class="col-md-2"></div>
    98101                        </div>
    99                 </div>
     102                    </div>
    100103
    101104            </div>
  • branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/jobs/details/jobDetailsCtrl.js

    r12516 r12525  
    1414                    if (isDefined($scope.job.DateCompleted)) {
    1515                        $scope.job.DateCompleted = CSharpDateToString($scope.job.DateCompleted);
     16                    } else {
     17                        $scope.job.DateCompleted = 'Not completed yet';
    1618                    }
    1719                    $scope.job.CalculatingWaitingRatio = ($scope.job.TotalCalculatingTime / $scope.job.TotalWaitingTime);
  • branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/jobs/jobs.cshtml

    r12516 r12525  
    1313        <li>
    1414            <a ng-href="#/statistics/clients">Clients</a>
     15        </li>
     16        <li>
     17            <a ng-href="#/statistics/groups">Groups</a>
    1518        </li>
    1619    </ul>
     
    5457        </div>
    5558    </div>
    56 
     59    @if (Request.IsAuthenticated && User.IsInRole(HiveRoles.Administrator)) {
     60        <div class="row">
     61            <div class="col-lg-12">
     62                <div class="panel panel-default">
     63                    <div class="panel-heading">
     64                        <h3 class="panel-title">Current Active Jobs</h3>
     65                    </div>
     66                    <div class="panel-body">
     67                        <table class="table table-hover table-condensed">
     68                            <thead>
     69                                <tr>
     70                                    <th>#</th>
     71                                    <th>Job Name</th>
     72                                    <th>User Name</th>
     73                                    <th>Date Created</th>
     74                                    <th>Progress</th>
     75                                    <th></th>
     76                                </tr>
     77                            </thead>
     78                            <tr ng-repeat="job in allUsersJobs">
     79                                <td>{{$index + 1}}</td>
     80                                <td>{{job.Name}}</td>
     81                                <td>
     82                                    <a ng-href="#/statistics/users/{{job.UserId}}" ng-show="job.UserName">{{job.UserName}}</a>
     83                                </td>
     84                                <td>{{job.DateCreated}}</td>
     85                                <td>
     86                                    <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>
     87                                </td>
     88                                <td>
     89                                    <a ng-href="#/statistics/jobs/{{job.Id}}">Details</a>
     90                                </td>
     91                            </tr>
     92                            <tr ng-hide="allUsersJobs.length">
     93                                <td colspan="6" class="text-center">No active jobs found!</td>
     94                            </tr>
     95                        </table>
     96                    </div>
     97                </div>
     98            </div>
     99        </div>
     100    }
    57101    <div class="row">
    58102        <div class="col-lg-12">
  • branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/jobs/jobsCtrl.js

    r12516 r12525  
    33    module.controller('app.statistics.jobsCtrl',
    44        ['$scope', '$interval', 'app.statistics.jobService', function ($scope, $interval, jobService) {
     5            var first = true;
     6            $scope.isAdministrator = false;
    57            $scope.interval = defaultPageUpdateInterval;
    68            $scope.completedJobCurPage = 1;
     
    3032            };
    3133
     34            var getAllActiveJobsFromAllUsers = function () {
     35                jobService.getAllActiveJobsFromAllUsers({}, function (jobs) {
     36                    $scope.isAdministrator = true;
     37                    $scope.allUsersJobs = jobs;
     38                    var length = $scope.allUsersJobs.length;
     39                    for (var i = 0; i < length; ++i) {
     40                        $scope.allUsersJobs[i].DateCreated = CSharpDateToString($scope.allUsersJobs[i].DateCreated);
     41                    }
     42                });
     43            };
     44
    3245            $scope.changeCompletedJobPage = function () {
    3346                update();
     
    3649            var update = function () {
    3750                getAllJobs();
     51                if (first || $scope.isAdministrator) {
     52                    getAllActiveJobsFromAllUsers();
     53                }
    3854                getCompletedJobs();
    3955            };
     56
    4057
    4158            $scope.updateInterval = $interval(update, $scope.interval);
     
    4562            });
    4663            update(); // init page
     64            first = false;
    4765        }]
    4866    );
Note: See TracChangeset for help on using the changeset viewer.