app/views/storage-resource/edit.blade.php (329 lines of code) (raw):

@extends('layout.basic') @section('page-header') @parent {{ HTML::style('css/admin.css')}} {{ HTML::style('css/datetimepicker.css')}} @stop @section('content') <div id="wrapper"> <!-- Sidebar Menu Items - These collapse to the responsive navigation menu on small screens --> @include( 'partials/dashboard-block') <div id="page-wrapper"> <div class="container-fluid"> <div class="col-md-offset-2 col-md-8 storage-resource-properties"> <input type="hidden" class="base-url" value="{{URL::to('/')}}"/> <ol class="breadcrumb"> <li><a href="{{URL::to('/')}}/sr/browse">Storage Resources</a></li> <li class="active">{{ $storageResource->hostName }}</li> </ol> @if( Session::has("message")) <span class="alert alert-success col-md-12">{{Session::get("message")}}</span> {{Session::forget("message") }} @endif <div class="col-md-12"> <ul class="nav nav-tabs nav-justified" id="tabs" role="tablist"> <li class="active"><a href="#tab-desc" data-toggle="tab">Description</a></li> <!-- <li><a href="#tab-queues" data-toggle="tab">Queues</a></a></li> <li><a href="#tab-filesystem" data-toggle="tab">FileSystem</a></li> <li><a href="#tab-jobSubmission" data-toggle="tab">Job Submission Interfaces</a></li> --> <li><a href="#tab-dataMovement" data-toggle="tab">Data Movement Interfaces</a></li> </ul> </div> <div class="tab-content"> <div class="tab-pane active" id="tab-desc"> <form role="form" method="POST" action="{{ URL::to('/') }}/sr/edit"> <input type="hidden" name="srId" value="{{Input::get('srId') }}"/> <input type="hidden" name="sr-edit" value="resDesc"/> <div class="form-group required"> <label class="control-label">Host Name</label> <input class="form-control hostName" value="{{ $storageResource->hostName }}" maxlength="100" name="hostname" required="required"/> </div> <div class="form-group"> <label class="control-label">Resource Description</label> <textarea class="form-control" maxlength="255" name="description">{{ $storageResource->storageResourceDescription }}</textarea> </div> <div class="form-group"> <input type="submit" class="btn btn-primary" name="step1" value="Save changes"/> </div> </form> </div> <div class="tab-pane" id="tab-dataMovement"> <div class="form-group"> <div class="data-movement-info row hide"></div> <button type="button" class="btn btn-sm btn-default add-data-movement">Add a new Data Movement Interface </button> @if( count( $dataMovementInterfaces ) > 1) <button type="button" class="btn btn-sm btn-default update-priority" data-type="dmi" data-toggle="modal" data-target="#update-dmi-priority">Update Priority </button> @endif </div> @if( count( $dataMovementInterfaces ) ) <div class="job-edit-info"> @foreach( $dataMovementInterfaces as $index => $DMI ) <div class="data-movement-block"> <form role="form" method="POST" action="{{ URL::to('/') }}/sr/edit"> <input type="hidden" name="srId" class="srId" value="{{Input::get('srId') }}"/> <input type="hidden" name="sr-edit" value="edit-dmi"/> <input type="hidden" name="dmiId" value="{{ $DMI->dataMovementInterfaceId }}"/> <?php $selectedDMIIndex = $storageResource->dataMovementInterfaces[$index]->dataMovementProtocol; ?> <h4>Data Movement Protocol : {{ $dataMovementProtocols[ $selectedDMIIndex] }} <button type='button' class='close delete-dmi' data-toggle="modal" data-target="#confirm-delete-dmi" data-dmi-id="{{ $DMI->dataMovementInterfaceId }}"> <span class="glyphicon glyphicon-trash delete-dmi" data-toggle="modal" data-target="#confirm-delete-dmi" data-dmi-id="{{ $DMI->dataMovementInterfaceId }}"></span> </button> </h4> <input type="hidden" name="dataMovementProtocol" value="{{ $selectedDMIIndex }}"/> @if( $selectedDMIIndex == $dataMovementProtocolsObject::LOCAL) <!-- Nothing here on local UI --> @elseif( $selectedDMIIndex == $dataMovementProtocolsObject::SCP) <div class="form-group"> <label class="control-label">Select Security Protocol</label> <select name="securityProtocol"> @foreach( $securityProtocols as $index => $sp) <option value="{{ $index }}" @if( $DMI->securityProtocol == $index ) selected @endif>{{ $sp }}</option> @endforeach </select> </div> <div class="form-group"> <label class="control-label">Alternate SSH Host Name</label> <input class='form-control' name='alternativeSSHHostName' value="{{ $DMI->alternativeSCPHostName }}"/> </div> <div class="form-group"> <label class="control-label">SSH Port</label> <input class='form-control' name='sshPort' value="{{ $DMI->sshPort }}"/> </div> <div class="form-group"> <button type="submit" class="btn">Update</button> </div> @elseif( $selectedDMIIndex == $dataMovementProtocolsObject::GridFTP) <div class="form-group"> <label class="control-label">Select Security Protocol</label> <select name="securityProtocol"> @foreach( $securityProtocols as $index => $sp) <option value="{{ $index }}" @if( $DMI->securityProtocol == $index ) selected @endif>{{ $sp }}</option> @endforeach </select> </div> <div> <div class="form-group required"> <label class="control-label">Grid FTP End Points</label> @foreach( $DMI->gridFTPEndPoints as $endPoint) <input class="form-control" maxlength="30" name="gridFTPEndPoints[]" required="required" value="{{$endPoint}}"/> @endforeach <button type="button" class="btn btn-sm btn-default add-gridFTPEndPoint">Add More Grid FTP End Points </button> </div> </div> <div class="form-group"> <button type="submit" class="btn">Update</button> </div> @elseif( $selectedDMIIndex == $dataMovementProtocolsObject::UNICORE_STORAGE_SERVICE) <div class="form-group"> <label class="control-label">Select Security Protocol</label> <select name="securityProtocol"> @foreach( $securityProtocols as $index => $sp) <option value="{{ $index }}" @if( $DMI->securityProtocol == $index ) selected @endif>{{ $sp }}</option> @endforeach </select> </div> <div> <div class="form-group required"> <label class="control-label">Unicore End Point URL</label> <input class="form-control" maxlength="30" name="unicoreEndPointURL" required="required" value="{{ $DMI->unicoreEndPointURL }}"/> </div> </div> <div class="form-group"> <button type="submit" class="btn">Update</button> </div> @endif </form> </div> @endforeach </div> @endif <div class="select-data-movement hide"> <form role="form" method="POST" action="{{ URL::to('/') }}/sr/edit"> <input type="hidden" name="srId" class="srId" value="{{Input::get('srId') }}"/> <input type="hidden" name="sr-edit" value="dmp"/> <h4> Select the Data Movement Protocol </h4> <select name="dataMovementProtocol" class="form-control selected-data-movement-protocol"> <option></option> @foreach( $dataMovementProtocols as $index => $dmp) //GridFTP and SFTP not supported in Airavata backend. Therefore commenting out from UI @if( ! in_array( $index, $addedDMI) && $dmp!="GridFTP" && $dmp!="SFTP") <option value="{{ $index }}">{{ $dmp }}</option> @endif @endforeach </select> <div class="form-group"> <button type="submit" class="btn btn-primary dmpSubmit hide">Add Data Movement Protocol</button> </div> </form> </div> </div> </div> </div> </div> </div> </div> <div class="resource-manager-block hide"> <div class="select-resource-manager-type"> <div class="form-group required"> <label class="control-label">Select resource manager type</label> <select name="resourceJobManagerType" class="form-control selected-resource-manager" required="required"> @foreach( $resourceJobManagerTypes as $index => $rJmT) <option value="{{ $index }}">{{ $rJmT }}</option> @endforeach </select> </div> </div> <div class="form-group"> <label class="control-label">Push Monitoring End Point</label> <input type="text" class="form-control" name="pushMonitoringEndpoint"/> </div> <div class="form-group"> <label class="control-label">Job Manager Bin Path</label> <input type="text" class="form-control" name="jobManagerBinPath"/> </div> <div class="form-group"> <h3>Job Manager Commands</h3> @foreach( $jobManagerCommands as $index => $jmc) <label class="control-label">{{ $jmc }}</label> <input class="form-control" name="jobManagerCommands[{{ $index }}]" placeholder="{{ $jmc }}"/> @endforeach </select> </div> </div> <div class="ssh-block hide"> <div class="form-group required"> <label class="control-label">Select Security Protocol </label> <select name="securityProtocol" required> @foreach( $securityProtocols as $index => $sp) <option value="{{ $index }}">{{ $sp }}</option> @endforeach </select> </div> <!-- <div class="form-group required">--> <!-- <label class="control-label">Select Monitoring Mode </label>--> <!-- <select name="monitorMode" required>--> <!-- @foreach( $monitorModes as $index => $mode)--> <!-- <option value="{{ $index }}">{{ $mode}}</option>--> <!-- @endforeach--> <!-- </select>--> <!-- </div>--> <div class="form-group addedScpValue hide"> <label class="control-label">Alternate SSH Host Name</label> <input class='form-control' name='alternativeSSHHostName'/> </div> <div class="form-group addedScpValue hide"> <label class="control-label">SSH Port</label> <input class='form-control' name='sshPort'/> </div> </div> <div class="cloud-block hide"> <div class="form-group"> <label class="control-label">Node Id</label> <input class="form-control" name="nodeId" placeholder="nodId"/> </div> <div class="form-group"> <label class="control-label">Node Id</label> <input class="form-control" name="nodeId" placeholder="nodId"/> </div> <div class="form-group"> <label class="control-label">Executable Type</label> <input class="form-control" name="nodeId" placeholder="executableType"/> </div> <div class="form-group"> <label class="control-label">Select Provider Name</label> <select class="form-control"> <option name="EC2">EC2</option> <option name="AWSEC2">AWEC2</option> <option name="RACKSPACE">RACKSPACE</option> </select> </div> </div> <div class="dm-gridftp hide"> <div class="form-group required"> <label class="control-label">Grid FTP End Points</label> <input class="form-control" maxlength="30" name="gridFTPEndPoints[]" required/> <button type="button" class="btn btn-sm btn-default add-gridFTPEndPoint">Add More Grid FTP End Points</button> </div> </div> <!-- modals --> <div class="modal fade" id="confirm-delete-dmi" tabindex="-1" role="dialog" aria-labelledby="delete-modal" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <form action="{{ URL::to('sr/delete-jsi') }}" method="POST"> <input type="hidden" name="srId" value="{{Input::get('srId') }}"/> <input type="hidden" name="dmiId" value="" class="delete-dmi-confirm"/> <div class="modal-header"> Confirmation </div> <div class="modal-body"> Do you really want to delete this Data Movement Interface ? </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> <button type="submit" class="btn btn-danger danger">Delete</button> </div> </form> </div> </div> </div> <div class="modal fade" id="add-dmi" tabindex="-1" role="dialog" aria-labelledby="add-modal" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> Add a Data Model Interface </div> <div class="modal-body add-dmi-body row"> </div> </div> </div> </div> @if( count( $dataMovementInterfaces ) > 1) <div class="modal fade" id="update-dmi-priority" tabindex="-1" role="dialog" aria-labelledby="add-modal" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> Update the Priority Order </div> <div class="modal-body"> <form action="{{URL::to('/')}}/sr/edit" method="POST" id="dmi-priority-form"> <input type="hidden" name="srId" value="{{Input::get('srId') }}"/> <input type="hidden" name="sr-edit" value="dmi-priority"/> @foreach( $storageResource->dataMovementInterfaces as $index => $DMI ) <div class="row"> <div class="col-md-offset-1 col-md-5"> <label> {{ $dataMovementProtocols[ $DMI->dataMovementProtocol] }} </label> </div> <input type="hidden" name="dmi-id[]" maxlength="2" value="{{ $DMI->dataMovementInterfaceId }}"/> <div class="col-md-4"> <input type="number" min="0" name="dmi-priority[]" value="{{ $DMI->priorityOrder }}" required/> </div> </div> @endforeach <button type="submit" class="btn btn-update">Update</button> <div class='priority-updated alert alert-success hide'> The Data Movement Interface Priority has been updated. </div> </form> </div> </div> </div> </div> @endif @stop @section('scripts') @parent {{ HTML::script('js/script.js') }} @if(! Session::has('super-admin')) <script> disableInputs( $(".storage-resource-properties")); </script> @endif @stop