Current File : //usr/local/jetapps/var/www/jetbackup5/docroot/app/views/logs.htm |
<div ng-controller="logs" class="controller-box">
<h1>{{ lang.t("Logs") }}</h1>
<p> {{ lang.t("Select a log file below to download, view or delete a log file.") }} </p>
<p>{{ lang.t("For more information, please visit the")}} <a href="{{const.DOCS_ADMIN_URL}}/logs.html" style="color: #fd6b2b;" target="_blank">{{lang.t("Logs documentation.")}}</a></p>
<div class="row search-page-container">
<div class="col-xs-12 col-sm-3 col-md-3 col-lg-3">
<button class="btn btn-default" ng-click="fetch()" title="{{ lang.t('Refresh Records') }}">
<em aria-hidden="true" class="fas fa-redo"></em>
</button>
</div>
<div class="col-xs-12 col-sm-2 col-md-2 col-lg-2" ng-class="{ 'col-sm-offset-2 col-md-offset-4 col-lg-offset-2': !subfilterOptions[0] }">
<filter-box
box-options="filterOptions"
ng-model="filter"
ng-change="fetch()">
</filter-box>
</div>
<div class="col-xs-12 col-sm-2 col-md-2 col-lg-2">
<filter-box
box-options="statusFilterOptions"
ng-model="statusfilter"
filter-title="{{lang.t('Status')}}"
ng-change="fetch()">
</filter-box>
</div>
<div class="col-xs-12 col-sm-2 col-md-2 col-lg-2" ng-show="subfilterOptions[0]">
<filter-box
box-options="subfilterOptions"
ng-model="subfilter"
filter-title="{{subfilterTitle}}"
ng-change="fetch()">
</filter-box>
</div>
<div class="col-xs-12 col-sm-3 col-md-3 col-lg-3">
<search ng-model="metaData.filterValue" ng-change="fetch()"></search>
</div>
</div>
<div class="table-responsive">
<table id="accounts_table" class="table table-striped content-table">
<thead>
<tr>
<!--th class="column-title">
<div class="pretty p-default p-curve p-smooth" ng-show="perm.canManageLogs">
<input aria-label="{{ lang.t('Checkbox, select all logs') }}" type="checkbox" ng-model="checkall" id="checkall" ng-click="setCheckAll()" />
<div class="state p-primary"><label for="checkall"><span style="display: none;">{{lang.t("Check")}}</span></label></div>
</div>
</th-->
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<button sort-by sort-meta="meta" sort-field="type" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Type')) }}">{{ lang.t("Type") }}</button>
</th>
<th class="col-sm-3 col-md-3 col-lg-3 column-title">
<span>{{ lang.t("Information") }}</span>
</th>
<th class="col-sm-2 col-md-2 col-lg-2 column-title">
<button sort-by sort-meta="meta" sort-field="start_time" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Start Time')) }}">{{ lang.t("Start Time") }}</button>
</th>
<th class="col-sm-2 col-md-2 col-lg-2 column-title">
<button sort-by sort-meta="meta" sort-field="end_time" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('End Time')) }}">{{ lang.t("End Time") }}</button>
</th>
<th class="col-sm-2 col-md-2 col-lg-2 column-title">
<span>{{ lang.t("Execution Time") }}</span>
</th>
<th class="col-sm-2 col-md-2 col-lg-2 column-title">
<button sort-by sort-meta="meta" sort-field="status" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Status')) }}">{{ lang.t("Status") }}</button>
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat-start="log in logs track by $index" id="log_row_{{$index}}" ng-click="log.file || log.status != const.LOG_STATUS_PROCESSING ? openActions(log) : false" ng-class="{ 'pointer': log.file || log.status != const.LOG_STATUS_PROCESSING }">
<!--td ng-click="$event.stopPropagation();">
<div class="pretty p-default p-curve p-smooth" ng-show="perm.canManageLogs">
<input aria-label="{{ lang.t('Checkbox, select log') }}" type="checkbox" ng-model="log.checked" id="check_{{log._id}}" ng-click="checkChanged()" />
<div class="state p-primary"><label for="check_{{log._id}}"><span style="display: none;">{{lang.t("Check")}}</span></label></div>
</div>
</td-->
<td data-title="{{ lang.t('Type') }}">
{{ const.LOG_TYPE_NAMES[log.type] }}
</td>
<td data-title="{{ lang.t('Information') }}">
<span ng-hide="log.information.length">-</span>
<div ng-repeat="row in log.information">{{ row.key | capitalize:true }}: {{ row.value }}</div>
</td>
<td data-title="{{ lang.t('Start Time') }}">
<span title="{{ lang.d(log.start_time) }}">{{ lang.d(log.start_time) }}</span>
</td>
<td data-title="{{ lang.t('End Time') }}">
<span title="{{ log.end_time ? lang.d(log.end_time) : '-' }}">{{ log.end_time ? lang.d(log.end_time) : '-' }}</span>
</td>
<td data-title="{{ lang.t('Execution Time') }}">
<div>{{ lang.t('Total Time') }}: {{ log.execution_time | executionTime }}</div>
<div>{{ lang.t('Actual Time') }}: {{ log.actual_time | executionTime }}</div>
</td>
<td class="text-status" data-title="{{ lang.t('Status') }}" ng-class="{ 'text-green': log.status == 1, 'text-yellow': log.status == 4, 'text-red': (log.status == 2 || log.status == 3 || log.status == 5) }">
<em aria-hidden="true" class="fas" ng-class="{ 'fa-check': log.status == 1, 'fa-exclamation-triangle': log.status == 4, 'fa-times': (log.status == 2 || log.status == 3 || log.status == 5), 'fa-cog fa-spin': log.status == 6 }"></em>
{{ const.LOG_STATUS_NAMES[log.status] }}
</td>
</tr>
<tr ng-repeat-end id="dt_module_row_{{$index}}">
<td colspan="8" class="actions-cell">
<div class="action-module" ng-if="isOpenedActions(log)" ng-include="includePath('logActions')"></div>
</td>
</tr>
<tr ng-hide="!loadingLogs">
<td colspan="8">
<loading-box><span>{{ lang.t("Loading Logs") }}</span></loading-box>
</td>
</tr>
<tr ng-hide="logs.length > 0 || loadingLogs">
<td colspan="8">
<span>{{ lang.t("No Logs Found") }}</span>
</td>
</tr>
</tbody>
</table>
</div>
<pagination fetch="fetch" meta="meta"></pagination>
</div>