Current File : //usr/local/jetapps/var/www/jetbackup5/docroot/app/views/destinationManage.htm |
<div ng-controller="destinationManage" class="controller-box">
<h1 ng-if="saveData._id">{{ lang.t("Modify Destination \"%s\"", details.name) }}</h1>
<h1 ng-if="!saveData._id">{{ lang.t("Create New Destination") }}</h1>
<fieldset class="row" >
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="x_panel">
<div class="x_content">
<br>
<form data-parsley-validate="" class="form-horizontal form-label-left" novalidate>
<div class="form-group" ng-show="!saveData._id">
<label class="control-label col-md-3 col-sm-3 col-xs-12">{{ lang.t("Destination For") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<div class="pretty p-default p-round p-smooth">
<input type="radio" ng-model="saveData.job_type" id="job_type_1" ng-checked="saveData.job_type == const.DESTINATION_JOB_TYPE_BACKUP" value="{{const.DESTINATION_JOB_TYPE_BACKUP}}" />
<div class="state p-primary"><label for="job_type_1">{{ lang.t("Backup") }}</label></div>
</div>
<div class="pretty p-default p-round p-smooth">
<input type="radio" ng-model="saveData.job_type" id="job_type_2" ng-checked="saveData.job_type == const.DESTINATION_JOB_TYPE_CLONE" value="{{const.DESTINATION_JOB_TYPE_CLONE}}" />
<div class="state p-primary"><label for="job_type_2">{{ lang.t("Clone") }}</label></div>
</div>
<p class="help-block">{{ lang.t("Choose whether this destination is for backup or clone") }}</p>
</div>
</div>
<div class="form-group" ng-show="!saveData._id">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="type">{{ lang.t("Destination Type") }} <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<select id="type" class="form-control" ng-change="loadDestinationType(true)" data-ng-options="type.value as type.label group by type.group for type in types[saveData.job_type]" data-ng-model="saveData.type"></select>
</div>
</div>
<div class="form-group" ng-show="experimental">
<div class="col-md-offset-3 col-sm-offset-3 col-xs-offset-12 col-md-6 col-sm-6 col-xs-12">
<div class='alert alert-danger' style="margin-top: 20px;">
<div class='alert-message'>
<strong class="alert-title" style="font-size: 20px;">{{lang.t("WARNING - EXPERIMENTAL")}}</strong>
<div class="alert-body">{{experimental}}</div>
</div>
</div>
</div>
</div>
<div class="form-group" ng-hide="isAvailableDestinations()">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="name">{{ lang.t("Destination Name") }} <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input id="name" required="required" class="form-control col-md-7 col-xs-12" type="text" ng-model="saveData.name" value="saveData.name" />
<p class="help-block">{{ lang.t("This will be used internally for your convenience") }}</p>
</div>
</div>
<div class="form-group" ng-show="saveData.job_type == const.DESTINATION_JOB_TYPE_BACKUP && !saveData._id">
<label class="control-label col-md-3 col-sm-3 col-xs-12">{{ lang.t("Read Only") }}</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<div class="pretty p-default p-round p-smooth">
<input type="radio" ng-model="saveData.readonly" id="readonly_1" ng-checked="saveData.readonly == 1" value="1" />
<div class="state p-primary"><label for="readonly_1">{{ lang.t("Yes") }}</label></div>
</div>
<div class="pretty p-default p-round p-smooth">
<input type="radio" ng-model="saveData.readonly" id="readonly_0" ng-checked="saveData.readonly == 0" value="0" />
<div class="state p-primary"><label for="readonly_0">{{ lang.t("No") }}</label></div>
</div>
<p class="help-block">{{ lang.t("In a read-only destination you only will be able to restore and download existing backups. No write to this destination will be allowed") }}</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">{{ lang.t("Owner") }} <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<md-autocomplete
md-search-text="autocomplete.accountText"
md-no-cache="true"
md-clear-button="false"
md-input-id="accountSelection"
md-menu-class="account-selection-results"
md-selected-item-change="selectAccount(account)"
md-items="account in searchAccounts(autocomplete.accountText)"
md-min-length="2"
placeholder="{{ lang.t('Start typing the requested account...') }}">
<md-item-template>
<div ng-include="includePath('accountDropdown')"></div>
</md-item-template>
<md-not-found>
{{ lang.t("No account matching \"%s\" were found.", autocomplete.accountText) }}
</md-not-found>
</md-autocomplete>
<!--input id="owner" class="form-control col-md-7 col-xs-12" type="text" ng-model="saveData.owner_name" value="saveData.owner_name" /-->
<p class="help-block">{{ lang.t("Specify the owner of this destination. The owner and his parent will have permissions to modify/delete this destination") }}</p>
</div>
</div>
<div class="form-group" ng-show="!isAvailableDestinations() && options.disklimit">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="disk_limit">{{ lang.t("Free Disk Space Limit") }} <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input-dropdown addon="{{lang.t('Disk Usage')}}" options="{0:lang.t('Disabled'),50:'50%',55:'55%',60:'60%',65:'65%',70:'70%',75:'75%',80:'80%',85:'85%',90:'90%',95:'95%',96:'96%',97:'97%',98:'98%',99:'99%'}" ng-model="saveData.disk_limit">
<input validate-field="int" min="0" max="99" class="form-control" ng-model="saveData.disk_limit" id="disk_limit" type="text" value="" />
</input-dropdown>
<p class="help-block">{{ lang.t("This option will check if destination disk space reached the specified limit before it performs the backup. If you enable this option and available disk space is less than the amount specified, the system will not perform the backup.") }}</p>
</div>
</div>
<div class="form-group" ng-show="!isAvailableDestinations() && options.threads">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="threads">{{ lang.t("Maximum Concurrent Threads") }} <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input-dropdown addon="{{lang.t('Threads')}}" options="{10:'10',20:'20',30:'30',50:'50',100:'100',200:'200',300:'300',400:'400'}" ng-model="saveData.threads">
<input validate-field="int" min="1" class="form-control" ng-model="saveData.threads" id="threads" type="text" value="" />
</input-dropdown>
<p class="help-block">
<strong style="display: block;" ng-show="forks.total > 0">{{ lang.t("Each fork will get %s threads", forkThreads) }}</strong>
{{ lang.t("This option is for setting the maximum allowed number of concurrent tasks (Download/Upload/Delete) that will be performed simultaneously on this destination. This number will be divided by the total number of forks (backup, queueable and system forks combined) defined in performance settings.") }}
</p>
</div>
</div>
<div ng-include="destinationType"></div>
<div class="ln_solid"></div>
<div class="form-group">
<div class="col-md-6 col-sm-6 col-xs-12 col-md-offset-3" ng-if="changed">
<button type="button" class="btn btn-default" ng-click="cancel()">{{ lang.t("Cancel") }}</button>
<button type="button" class="btn btn-primary" ng-hide="isAvailableDestinations()" ng-click="saveChanges(true)" ng-disabled="saveing">{{ lang.t("Apply") }}</button>
<button type="button" class="btn btn-primary" ng-hide="isAvailableDestinations()" ng-click="saveChanges()" ng-disabled="saveing">{{ lang.t("Save") }}</button>
</div>
<div class="col-md-6 col-sm-6 col-xs-12 col-md-offset-3" ng-if="!changed">
<a href="{{primaryURL}}/destinations" class="btn btn-default" ng-click="changeView('/destinations')">{{ lang.t("Back to Destinations") }}</a>
</div>
</div>
</form>
</div>
</div>
</div>
</fieldset>
</div>