Current File : //usr/local/jetapps/var/www/jetbackup5/docroot/app/views/cloneJobs.htm |
<div ng-controller="cloneJobs" class="controller-box">
<h1> {{ lang.t("Clone Jobs") }}</h1>
<p>{{ lang.t("For help setting up a new clone job, please visit the")}} <a href="{{const.DOCS_ADMIN_URL}}/cloneJobs.html" style="color: #fd6b2b;" target="_blank">{{ lang.t("Create New Clone Job documentation.") }}</a></p><br>
<div class="row search-page-container">
<div class="col-xs-12 col-sm-5 col-md-4 col-lg-6">
<button class="btn btn-default" ng-click="fetch()" title="{{ lang.t('Refresh Records') }}">
<em aria-hidden="true" class="fas fa-redo"></em>
</button>
<button class="btn btn-primary" ng-click="createCloneJob()">
<em aria-hidden="true" class="fas fa-plus"></em>
{{ lang.t("Create New Clone Job") }}
</button>
<a href="{{primaryURL}}/schedules" class="btn btn-primary" ng-click="changeView('/schedules')">
<em aria-hidden="true" class="fas fa-calendar"></em>
{{ lang.t("Manage Schedules") }}
</a>
<a href="{{primaryURL}}/accountFilters" class="btn btn-primary" ng-click="changeView('/accountFilters')">
<em aria-hidden="true" class="fas fa-filter"></em>
{{ lang.t("Manage Account Filters") }}
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 col-lg-2">
<filter-box
box-options="filterOptions"
ng-model="filter"
ng-change="fetch()">
</filter-box>
</div>
<div class="col-xs-12 col-sm-3 col-md-4 col-lg-4">
<search ng-model="metaData.filterValue" ng-change="fetch()"></search>
</div>
</div>
<div class="table-responsive">
<table class="table table-striped content-table">
<thead>
<tr>
<th class="col-sm-2 col-md-2 col-lg-2 column-title">
<button sort-by sort-meta="meta" sort-field="name" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Name')) }}">{{ lang.t("Name") }}</button>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<span>{{ lang.t("Dest. Name") }}</span>
</th>
<th class="col-sm-2 col-md-2 col-lg-2 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-1 col-md-1 col-lg-1 column-title">
<span>{{ lang.t("Schedules") }}</span>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<span>{{ lang.t("Account Filters") }}</span>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<span>{{ lang.t("Hooks") }}</span>
</th>
<th class="col-sm-2 col-md-2 col-lg-2 column-title">
<span>{{ lang.t("Next Run") }}</span>
</th>
<th class="col-sm-2 col-md-2 col-lg-2 column-title">
<button sort-by sort-meta="meta" sort-field="last_run" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Last Run')) }}">{{ lang.t("Last Run") }}</button>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<button sort-by sort-meta="meta" sort-field="owner" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Owner')) }}">{{ lang.t("Owner") }}</button>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<button sort-by sort-meta="meta" sort-field="disabled" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Enabled')) }}">{{ lang.t("Enabled") }}</button>
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat-start="job in jobs track by $index" id="job_row_{{$index}}" ng-click="openActions(job)" class="pointer">
<td data-title="{{ lang.t('Name') }}">
{{ job.name }}
</td>
<td data-title="{{ lang.t('Dest. Name') }}">
<span ng-bind-html="job.destinations"></span>
</td>
<td data-title="{{ lang.t('Type') }}">
{{ job.contains_name }}
</td>
<td data-title="{{ lang.t('Schedules') }}">
<span ng-repeat="schedule in job.schedules"><span class="label label-xxs label-primary">{{ schedule.name }}</span> </span>
<span ng-hide="job.schedules.length" class="label label-xxs label-disabled" style="margin-right: 5px;">{{ lang.t("Manually") }}</span>
</td>
<td data-title="{{ lang.t('Account Filters') }}">
<span ng-repeat="filter in job.filters_sorted"><span class="label label-xxs label-primary">{{ filters[filter] }}</span> </span>
<span ng-hide="job.filters_sorted.length">-</span>
</td>
<td data-title="{{ lang.t('Hooks') }}" ng-click="$event.stopPropagation();">
<span ng-repeat="hook in job.hooks"><a class="label label-xxs label-primary" href="" ng-click="changeView('/hookManage/' + hook._id)">{{ hook.name }}</a> </span>
<span ng-hide="job.hooks.length">-</span>
</td>
<td data-title="{{ lang.t('Next Run') }}">
<div ng-if="job.running">
<span class="fas fa-spin fa-circle-notch"></span>
{{ lang.t("Clone Job Running") }}...
</div>
<div ng-if="!job.running && !job.next_run">{{ lang.t("Never") }}</div>
<div ng-if="!job.running && job.next_run && !job.disabled">{{ lang.d(job.next_run) }}</div>
<div ng-if="!job.running && job.next_run && job.disabled">{{ lang.t("Never") }}<br /><span style="font-size: 8px;">{{ lang.t("Clone Job Disabled") }}</span></div>
</td>
<td data-title="{{ lang.t('Last Run') }}">
<span title="{{ lang.d(job.last_run) ? lang.d(job.last_run) : lang.t('Never') }}">{{ job.last_run ? lang.d(job.last_run) : lang.t("Never") }}</span>
</td>
<td data-title="{{ lang.t('Owner') }}">
<span title="{{ job.owner_name }}">{{ job.owner_name }}</span>
</td>
<td data-title="{{ lang.t('Enabled') }}" ng-click="$event.stopPropagation();" style="text-align: center;">
<button ng-click="toggleState(job)" class="toggle-switch"><em class="fas toggle-icon" ng-class="{ 'fa-toggle-on text-green': !job.disabled, 'fa-toggle-on text-gray': job.disabled }"></em></button>
</td>
</tr>
<tr ng-repeat-end id="dt_module_row_{{$index}}">
<td colspan="11" class="actions-cell">
<div class="action-module" ng-if="isOpenedActions(job)" ng-include="includePath('cloneJobActions')"></div>
</td>
</tr>
<tr ng-hide="!loadingJobs">
<td colspan="11">
<loading-box><span>{{ lang.t("Loading Clone Jobs") }}</span></loading-box>
</td>
</tr>
<tr ng-hide="jobs.length > 0 || loadingJobs">
<td colspan="11">
<span>{{ lang.t("No Clone Jobs Found") }}</span>
</td>
</tr>
</tbody>
</table>
</div>
<pagination fetch="fetch" meta="meta"></pagination>
</div>