http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/partials/experiment-queue-block.blade.php ---------------------------------------------------------------------- diff --git a/app/views/partials/experiment-queue-block.blade.php b/app/views/partials/experiment-queue-block.blade.php index a0453b0..d8d8476 100644 --- a/app/views/partials/experiment-queue-block.blade.php +++ b/app/views/partials/experiment-queue-block.blade.php @@ -1,113 +1,113 @@ <input type="hidden" id="queue-array" value="{{ htmlentities( json_encode( $queues ) ) }}"/> <div class="form-group required"> - @if( count( $queues) > 0 ) - <label class="control-label" for="node-count">Select a Queue</label> - <select name="queue-name" class="form-control" id="select-queue" @if(isset($expVal) ) @if(!$expVal['editable']){{ disabled }} @endif @endif required> - <option value=""></option> - @foreach( $queues as $queue) - <option value="{{$queue->queueName}}" - @if(isset($expVal) ) @if( $expVal['scheduling']->queueName == $queue->queueName ) selected @endif @endif - > - {{$queue->queueName}} - </option> - @endforeach - </select> - @else - <div class="alert alert-warning"> - This resources has no queues available at the moment. Please contact the administrator. - </div> - @endif + @if( count( $queues) > 0 ) + <label class="control-label" for="node-count">Select a Queue</label> + <select name="queue-name" class="form-control" id="select-queue" @if(isset($expVal) ) @if(!$expVal['editable']){{ + disabled }} @endif @endif required> + <option value=""></option> + @foreach( $queues as $queue) + <option value="{{$queue->queueName}}" + @if(isset($expVal) ) @if( $expVal['scheduling']->queueName == $queue->queueName ) selected @endif @endif + > + {{$queue->queueName}} + </option> + @endforeach + </select> + @else + <div class="alert alert-warning"> + This resources has no queues available at the moment. Please contact the administrator. + </div> + @endif </div> <div class="queue-data @if(! isset($expVal) ) hide @endif"> -<div class="form-group"> - <label for="node-count">Node Count <span>( Max Allowed Nodes - <span class="node-count alert-warning"></span>)</span></label> - <input type="number" class="form-control" name="node-count" id="node-count" min="1" - value="@if(isset($expVal) ){{ $expVal['scheduling']->nodeCount }}@else{{$queueDefaults['nodeCount']}}@endif" - @if(isset($expVal) ) @if(!$expVal['editable']){{disabled}} @endif @endif> -</div> -<div class="form-group"> - <label for="cpu-count">Total Core Count <span>( Max Allowed Cores - <span class="cpu-count alert-warning"></span>)</span></label> - <input type="number" class="form-control" name="cpu-count" id="cpu-count" min="1" - value="@if(isset($expVal) ){{ $expVal['scheduling']->totalCPUCount }}@else{{$queueDefaults['cpuCount']}}@endif" - @if(isset($expVal)) @if(!$expVal['editable']){{disabled}} @endif @endif> -</div> -<div class="form-group"> - <label for="wall-time">Wall Time Limit <span>( Max Allowed Wall Time - <span class="walltime-count alert-warning"></span>)</span></label> - <div class="input-group"> - <input type="number" class="form-control" name="wall-time" id="wall-time" min="0" - value="@if(isset($expVal) ){{ $expVal['scheduling']->wallTimeLimit }}@else{{$queueDefaults['wallTimeLimit']}}@endif" - @if(isset($expVal)) @if(!$expVal['editable']){{disabled}} @endif @endif> - <span class="input-group-addon">minutes</span> + <div class="form-group"> + <label for="node-count">Node Count <span>( Max Allowed Nodes - <span + class="node-count alert-warning"></span>)</span></label> + <input type="number" class="form-control" name="node-count" id="node-count" min="1" + value="@if(isset($expVal) ){{ $expVal['scheduling']->nodeCount }}@else{{$queueDefaults['nodeCount']}}@endif" + @if(isset($expVal) ) @if(!$expVal['editable']){{disabled}} @endif @endif> </div> -</div> -<div class="form-group"> - <label for="wall-time">Total Physical Memory <span>( Max Allowed Memory - <span class="memory-count alert-warning"></span>)</span></label> - <div class="input-group"> - <input type="number" class="form-control" name="total-physical-memory" id="memory-count" min="0" - value="@if(isset($expVal) ){{ $expVal['scheduling']->totalPhysicalMemory }}@endif" + <div class="form-group"> + <label for="cpu-count">Total Core Count <span>( Max Allowed Cores - <span + class="cpu-count alert-warning"></span>)</span></label> + <input type="number" class="form-control" name="cpu-count" id="cpu-count" min="1" + value="@if(isset($expVal) ){{ $expVal['scheduling']->totalCPUCount }}@else{{$queueDefaults['cpuCount']}}@endif" @if(isset($expVal)) @if(!$expVal['editable']){{disabled}} @endif @endif> - <span class="input-group-addon">MB</span> </div> -</div> + <div class="form-group"> + <label for="wall-time">Wall Time Limit <span>( Max Allowed Wall Time - <span + class="walltime-count alert-warning"></span>)</span></label> + + <div class="input-group"> + <input type="number" class="form-control" name="wall-time" id="wall-time" min="0" + value="@if(isset($expVal) ){{ $expVal['scheduling']->wallTimeLimit }}@else{{$queueDefaults['wallTimeLimit']}}@endif" + @if(isset($expVal)) @if(!$expVal['editable']){{disabled}} @endif @endif> + <span class="input-group-addon">minutes</span> + </div> + </div> + <div class="form-group"> + <label for="wall-time">Total Physical Memory <span>( Max Allowed Memory - <span + class="memory-count alert-warning"></span>)</span></label> + + <div class="input-group"> + <input type="number" class="form-control" name="total-physical-memory" id="memory-count" min="0" + value="@if(isset($expVal) ){{ $expVal['scheduling']->totalPhysicalMemory }}@endif" + @if(isset($expVal)) @if(!$expVal['editable']){{disabled}} @endif @endif> + <span class="input-group-addon">MB</span> + </div> + </div> </div> <script> -$("#select-queue").change( function(){ - var selectedQueue = $(this).val(); - getQueueData( selectedQueue); -}); + $("#select-queue").change(function () { + var selectedQueue = $(this).val(); + getQueueData(selectedQueue); + }); -function getQueueData( selectedQueue) -{ - var queues = $.parseJSON( $("#queue-array").val() ); - console.log( queues); - for( var i =0; i< queues.length; i++) - { - if( queues[i]['queueName'] == selectedQueue) - { - //node-count - if( queues[i]['maxNodes'] != 0 && queues[i]['maxNodes'] != null ) - { - $("#node-count").attr("max", queues[i]['maxNodes']).val(1); - $(".node-count").html( queues[i]['maxNodes']); - $(".node-count").parent().removeClass("hide"); - } - else - $(".node-count").parent().addClass("hide"); + function getQueueData(selectedQueue) { + var queues = $.parseJSON($("#queue-array").val()); + console.log(queues); + for (var i = 0; i < queues.length; i++) { + if (queues[i]['queueName'] == selectedQueue) { + //node-count + if (queues[i]['maxNodes'] != 0 && queues[i]['maxNodes'] != null) { + $("#node-count").attr("max", queues[i]['maxNodes']).val(1); + $(".node-count").html(queues[i]['maxNodes']); + $(".node-count").parent().removeClass("hide"); + } + else + $(".node-count").parent().addClass("hide"); - //core-count - if( queues[i]['maxProcessors'] != 0 && queues[i]['maxProcessors'] != null ) - { - $("#cpu-count").attr("max", queues[i]['maxProcessors']).val(1); - $(".cpu-count").html( queues[i]['maxProcessors']); - $(".cpu-count").parent().removeClass("hide"); - } - else - $(".cpu-count").parent().addClass("hide"); + //core-count + if (queues[i]['maxProcessors'] != 0 && queues[i]['maxProcessors'] != null) { + $("#cpu-count").attr("max", queues[i]['maxProcessors']).val(1); + $(".cpu-count").html(queues[i]['maxProcessors']); + $(".cpu-count").parent().removeClass("hide"); + } + else + $(".cpu-count").parent().addClass("hide"); - //walltime-count - if( queues[i]['maxRunTime'] != 0 && queues[i]['maxRunTime'] != null ) - { - $("#wall-time").attr("max", queues[i]['maxRunTime']).val(0); - $(".walltime-count").html( queues[i]['maxRunTime']); - $(".walltime-count").parent().removeClass("hide"); - } - else - $(".walltime-count").parent().addClass("hide"); + //walltime-count + if (queues[i]['maxRunTime'] != 0 && queues[i]['maxRunTime'] != null) { + $("#wall-time").attr("max", queues[i]['maxRunTime']).val(0); + $(".walltime-count").html(queues[i]['maxRunTime']); + $(".walltime-count").parent().removeClass("hide"); + } + else + $(".walltime-count").parent().addClass("hide"); - //memory-count - if( queues[i]['maxMemory'] != 0 && queues[i]['maxMemory'] != null ) - { - $("#memory-count").attr("max", queues[i]['maxMemory']).val(0); - $(".memory-count").html( queues[i]['maxMemory']); - $(".memory-count").parent().removeClass("hide"); - } - else - $(".memory-count").parent().addClass("hide"); - } - } - $(".queue-data").removeClass("hide"); -} + //memory-count + if (queues[i]['maxMemory'] != 0 && queues[i]['maxMemory'] != null) { + $("#memory-count").attr("max", queues[i]['maxMemory']).val(0); + $(".memory-count").html(queues[i]['maxMemory']); + $(".memory-count").parent().removeClass("hide"); + } + else + $(".memory-count").parent().addClass("hide"); + } + } + $(".queue-data").removeClass("hide"); + } </script> \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/partials/gateway-preferences.blade.php ---------------------------------------------------------------------- diff --git a/app/views/partials/gateway-preferences.blade.php b/app/views/partials/gateway-preferences.blade.php index 51889d4..bb383f6 100644 --- a/app/views/partials/gateway-preferences.blade.php +++ b/app/views/partials/gateway-preferences.blade.php @@ -1,67 +1,88 @@ <!-- String replace is done as Jquery creates problems when using period(.) in id or class. --> -<div id="cr-{{ str_replace( '.', "_", $computeResource->computeResourceId) }}" class="@if(isset( $show) ) @if( !$show) hide @endif @else hide @endif"> - <h3 class="text-center">Set Preferences</h3> - <div class="form-group"> - <label class="control-label col-md-3">Override by Airavata</label> - <div class="col-md-9"> - <select class="form-control" name="overridebyAiravata"> - <option value="1" @if( isset( $preferences) ) @if( 1 == $preferences->overridebyAiravata) selected @endif @endif>True</option> - <option value="0" @if( isset( $preferences) ) @if( 0 == $preferences->overridebyAiravata) selected @endif @endif>False</option> - </select> - </div> - </div><br/> - <div class="form-group"> - <label class="control-label col-md-3">Login Username</label> - <div class="col-md-9"> - <input type="text" name="loginUserName" class="form-control" value="@if( isset( $preferences) ){{$preferences->loginUserName}}@endif" /> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Preferred Job Submission Protocol</label> - <div class="col-md-9"> - <select name="preferredJobSubmissionProtocol" class="form-control"> - @foreach( (array)$computeResource->jobSubmissionInterfaces as $index => $jsi) - <option value="{{$jsi->jobSubmissionProtocol}}" @if( isset( $preferences) ) @if( $preferences->preferredJobSubmissionProtocol == $jsi->jobSubmissionProtocol) selected @endif @endif>{{ $crData["jobSubmissionProtocols"][$jsi->jobSubmissionProtocol] }}</option> - @endforeach - </select> +<div id="cr-{{ str_replace( '.', " + _", $computeResource->computeResourceId) }}" class="@if(isset( $show) ) @if( !$show) hide @endif @else hide @endif"> +<h3 class="text-center">Set Preferences</h3> +<div class="form-group"> + <label class="control-label col-md-3">Override by Airavata</label> - </div> - </div> - <br/> - <div class="form-group"> - <label class="control-label col-md-3">Preferred Data Movement Protocol</label> - <div class="col-md-9"> - <select name="preferredDataMovementProtocol" class="form-control"> - @foreach( (array)$computeResource->dataMovementInterfaces as $index => $dmi) - <option value="{{ $dmi->dataMovementProtocol}}" @if( isset( $preferences) ) @if( $preferences->preferredDataMovementProtocol == $dmi->dataMovementProtocol) selected @endif @endif>{{ $crData["dataMovementProtocols"][$dmi->dataMovementProtocol] }}</option> - @endforeach - </select> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Preferred Batch Queue</label> - <div class="col-md-9"> - <select name="preferredBatchQueue" class="form-control"> - @foreach( (array)$computeResource->batchQueues as $index => $queue) - <option value="{{ $queue->queueName}}" @if( isset( $preferences) ) @if( $preferences->preferredBatchQueue == $queue->queueName) selected @endif @endif>{{ $queue->queueName}}</option> - @endforeach - </select> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Scratch Location</label> - <div class="col-md-9"> - <input type="text" name="scratchLocation" class="form-control" value="@if( isset( $preferences) ){{$preferences->scratchLocation}}@endif" /> - </div> - </div> + <div class="col-md-9"> + <select class="form-control" name="overridebyAiravata"> + <option value="1" + @if( isset( $preferences) ) @if( 1 == $preferences->overridebyAiravata) selected @endif @endif>True</option> + <option value="0" + @if( isset( $preferences) ) @if( 0 == $preferences->overridebyAiravata) selected @endif + @endif>False</option> + </select> + </div> +</div><br/> +<div class="form-group"> + <label class="control-label col-md-3">Login Username</label> - <div class="form-group"> - <label class="control-label col-md-3">Allocation Project Number</label> - <div class="col-md-9"> - <input type="text" name="allocationProjectNumber" class="form-control" value="@if( isset( $preferences) ){{$preferences->allocationProjectNumber}}@endif"/> - </div> - </div> - <div class="form-group"> - <input type="submit" class="form-control btn btn-primary" value="Set preferences" /> - </div> + <div class="col-md-9"> + <input type="text" name="loginUserName" class="form-control" + value="@if( isset( $preferences) ){{$preferences->loginUserName}}@endif"/> + </div> +</div> +<div class="form-group"> + <label class="control-label col-md-3">Preferred Job Submission Protocol</label> + + <div class="col-md-9"> + <select name="preferredJobSubmissionProtocol" class="form-control"> + @foreach( (array)$computeResource->jobSubmissionInterfaces as $index => $jsi) + <option value="{{$jsi->jobSubmissionProtocol}}" + @if( isset( $preferences) ) @if( $preferences->preferredJobSubmissionProtocol == + $jsi->jobSubmissionProtocol) selected @endif @endif>{{ + $crData["jobSubmissionProtocols"][$jsi->jobSubmissionProtocol] }}</option> + @endforeach + </select> + + </div> +</div> +<br/> +<div class="form-group"> + <label class="control-label col-md-3">Preferred Data Movement Protocol</label> + + <div class="col-md-9"> + <select name="preferredDataMovementProtocol" class="form-control"> + @foreach( (array)$computeResource->dataMovementInterfaces as $index => $dmi) + <option value="{{ $dmi->dataMovementProtocol}}" + @if( isset( $preferences) ) @if( $preferences->preferredDataMovementProtocol == $dmi->dataMovementProtocol) + selected @endif @endif>{{ $crData["dataMovementProtocols"][$dmi->dataMovementProtocol] }}</option> + @endforeach + </select> + </div> +</div> +<div class="form-group"> + <label class="control-label col-md-3">Preferred Batch Queue</label> + + <div class="col-md-9"> + <select name="preferredBatchQueue" class="form-control"> + @foreach( (array)$computeResource->batchQueues as $index => $queue) + <option value="{{ $queue->queueName}}" + @if( isset( $preferences) ) @if( $preferences->preferredBatchQueue == $queue->queueName) selected @endif + @endif>{{ $queue->queueName}}</option> + @endforeach + </select> + </div> +</div> +<div class="form-group"> + <label class="control-label col-md-3">Scratch Location</label> + + <div class="col-md-9"> + <input type="text" name="scratchLocation" class="form-control" + value="@if( isset( $preferences) ){{$preferences->scratchLocation}}@endif"/> + </div> +</div> + +<div class="form-group"> + <label class="control-label col-md-3">Allocation Project Number</label> + + <div class="col-md-9"> + <input type="text" name="allocationProjectNumber" class="form-control" + value="@if( isset( $preferences) ){{$preferences->allocationProjectNumber}}@endif"/> + </div> +</div> +<div class="form-group"> + <input type="submit" class="form-control btn btn-primary" value="Set preferences"/> +</div> </div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/partials/interface-block.blade.php ---------------------------------------------------------------------- diff --git a/app/views/partials/interface-block.blade.php b/app/views/partials/interface-block.blade.php index 3510bd3..fe28608 100644 --- a/app/views/partials/interface-block.blade.php +++ b/app/views/partials/interface-block.blade.php @@ -1,49 +1,54 @@ @if( isset( $interfaceObject) ) - <input type="hidden" name="app-interface-id" value="{{$interfaceObject->applicationInterfaceId}}"/> +<input type="hidden" name="app-interface-id" value="{{$interfaceObject->applicationInterfaceId}}"/> @endif <div class="appInterfaceInputs"> - <div class="form-group required"> - <label class="control-label interface-name">Application Name</label> - <input type="text" readonly class="form-control" name="applicationName" required value="@if( isset( $interfaceObject) ){{$interfaceObject->applicationName}}@endif"/> - </div> - <div class="form-group"> - <label class="control-label">Application Description</label> - <input type="text" readonly class="form-control" name="applicationDescription" value="@if( isset( $interfaceObject) ){{ $interfaceObject->applicationDescription}}@endif" /> - </div> - <div class="form-group"> - <label class="control-label">Application Modules</label> - <div class="app-modules"> - @if( isset( $interfaceObject)) - @for( $i=0; $i< count( $interfaceObject->applicationModules); $i++ ) - <div class="input-group"> - <select name="applicationModules[]" class="app-module-select form-control" readonly> - @foreach( $modules as $index => $module) - <option value="{{ $module->appModuleId }}" @if( $interfaceObject->applicationModules[$i] == $module->appModuleId) selected @endif>{{ $module->appModuleName}}</option> - @endforeach - </select> - <span class="input-group-addon hide remove-app-module" style="cursor:pointer;">x</span> - </div> - @endfor - @endif - </div> - <button type="button" class="hide btn btn-default add-app-module">Add Application Module</button> - </div> - <div class="form-group form-horizontal"> - @if( isset( $interfaceObject)) - @foreach( (array)$interfaceObject->applicationInputs as $index => $appInputs) - @include( 'partials/interface-input-block', array('dataTypes' => $dataTypes, 'appInputs' => $appInputs) ) - @endforeach - @endif - <div class="app-inputs"></div> - <button type="button" class=" hide btn btn-default add-input">Add Application Input</button> - </div> - <div class="form-group form-horizontal"> - @if( isset( $interfaceObject) ) - @foreach( (array)$interfaceObject->applicationOutputs as $index => $appOutputs) - @include( 'partials/interface-output-block', array('dataTypes' => $dataTypes, 'appOutputs' => $appOutputs) ) - @endforeach - @endif - <div class="app-outputs"></div> - <button type="button" class="hide btn btn-default add-output">Add Application Output</button> - </div> + <div class="form-group required"> + <label class="control-label interface-name">Application Name</label> + <input type="text" readonly class="form-control" name="applicationName" required + value="@if( isset( $interfaceObject) ){{$interfaceObject->applicationName}}@endif"/> + </div> + <div class="form-group"> + <label class="control-label">Application Description</label> + <input type="text" readonly class="form-control" name="applicationDescription" + value="@if( isset( $interfaceObject) ){{ $interfaceObject->applicationDescription}}@endif"/> + </div> + <div class="form-group"> + <label class="control-label">Application Modules</label> + + <div class="app-modules"> + @if( isset( $interfaceObject)) + @for( $i=0; $i< count( $interfaceObject->applicationModules); $i++ ) + <div class="input-group"> + <select name="applicationModules[]" class="app-module-select form-control" readonly> + @foreach( $modules as $index => $module) + <option value="{{ $module->appModuleId }}" + @if( $interfaceObject->applicationModules[$i] == $module->appModuleId) selected @endif>{{ + $module->appModuleName}}</option> + @endforeach + </select> + <span class="input-group-addon hide remove-app-module" style="cursor:pointer;">x</span> + </div> + @endfor + @endif + </div> + <button type="button" class="hide btn btn-default add-app-module">Add Application Module</button> + </div> + <div class="form-group form-horizontal"> + @if( isset( $interfaceObject)) + @foreach( (array)$interfaceObject->applicationInputs as $index => $appInputs) + @include( 'partials/interface-input-block', array('dataTypes' => $dataTypes, 'appInputs' => $appInputs) ) + @endforeach + @endif + <div class="app-inputs"></div> + <button type="button" class=" hide btn btn-default add-input">Add Application Input</button> + </div> + <div class="form-group form-horizontal"> + @if( isset( $interfaceObject) ) + @foreach( (array)$interfaceObject->applicationOutputs as $index => $appOutputs) + @include( 'partials/interface-output-block', array('dataTypes' => $dataTypes, 'appOutputs' => $appOutputs) ) + @endforeach + @endif + <div class="app-outputs"></div> + <button type="button" class="hide btn btn-default add-output">Add Application Output</button> + </div> </div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/partials/interface-input-block.blade.php ---------------------------------------------------------------------- diff --git a/app/views/partials/interface-input-block.blade.php b/app/views/partials/interface-input-block.blade.php index 60fde02..306e84b 100644 --- a/app/views/partials/interface-input-block.blade.php +++ b/app/views/partials/interface-input-block.blade.php @@ -1,95 +1,125 @@ <div class="well app-input-data-block"> - <span class="glyphicon glyphicon-trash pull-right remove-input-space"></span> - <h4>App Input Fields</h4> - <div class="form-group required"> - <label class="control-label col-md-3">Name</label> - <div class="col-md-9"> - <input type="text" readonly class="form-control" name="inputName[]" required value="@if( isset( $appInputs) ){{$appInputs->name}}@endif"/> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Value</label> - <div class="col-md-9"> - <input type="text" readonly class="form-control" name="inputValue[]" value="@if( isset( $appInputs)){{$appInputs->value}}@endif"/> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Type</label> - <div class="col-md-9"> - <select class="form-control" name="inputType[]" readonly> - @foreach( $dataTypes as $index => $dataType) - <option value="{{ $index }}" @if( isset( $appInputs) ) @if( $index == $appInputs->type) selected @endif @endif>{{ $dataType }}</option> - @endforeach - </select> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Application Argument</label> - <div class="col-md-9"> - <input type="text" readonly class="form-control" name="applicationArgumentInput[]" value="@if( isset( $appInputs) ){{$appInputs->applicationArgument }}@endif"/> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Standard Input</label> - <div class="col-md-9"> - <select class="form-control" name="standardInput[]" readonly> - <option value="0" @if( isset( $appInputs) ) @if( 0 == $appInputs->standardInput) selected @endif @endif>False</option> - <option value="1" @if( isset( $appInputs) ) @if( 1 == $appInputs->standardInput) selected @endif @endif>True</option> - </select> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">User Friendly Description</label> - <div class="col-md-9"> - <textarea readonly class="form-control" name="userFriendlyDescription[]">@if( isset( $appInputs) ){{$appInputs->userFriendlyDescription}}@endif</textarea> - </div> - </div> - <div class="form-group col-md-6"> - <label class="control-label col-md-5">Input Order</label> - <div class="col-md-7"> - <input type="number" readonly class="form-control" name="inputOrder[]" value="@if( isset( $appInputs) ){{$appInputs->inputOrder}}@endif"/> - </div> - </div> - <div class="form-group col-md-7"> - <label class="control-label col-md-4">Data is Staged?</label> - <div class="col-md-8"> - <select name="dataStaged[]" class="form-control"> - <option>select</option> - <option value="1" @if( isset( $appInputs) ) @if( $appInputs->dataStaged == 1) selected @endif @endif>True</option> - <option value="0" @if( isset( $appInputs) ) @if( $appInputs->dataStaged == 0) selected @endif @endif>False</option> - </select> - </div> - <!-- Removed Radio button because it creates problems with multiple inputs - <label class="radio-inline"> - <input type="radio" name="dataStaged[]" @if( isset( $appInputs) ) @if( $appInputs->dataStaged == 1) checked @endif @endif>True - </label> - <label class="radio-inline"> - <input type="radio" name="dataStaged[]" @if( isset( $appInputs) ) @if( $appInputs->dataStaged == 0) checked @endif @endif>False - </label> - --> - </div> - <div class="form-group col-md-6"> - <label class="control-label col-md-6">Is the Input required?</label> - <div class="col-md-6"> - <select class="form-control" name="isRequiredInput[]" readonly> - <option value="0" @if( isset( $appInputs) ) @if( 0 == $appInputs->isRequired) selected @endif @endif>False</option> - <option value="1" @if( isset( $appInputs) ) @if( 1 == $appInputs->isRequired) selected @endif @endif>True</option> - </select> - </div> - </div> - <div class="form-group col-md-7"> - <label class="control-label col-md-6">Required on command line?</label> - <div class="col-md-6"> - <select class="form-control" name="requiredToAddedToCommandLineInput[]" readonly> - <option value="0" @if( isset( $appInputs) ) @if( 0 == $appInputs->requiredToAddedToCommandLine) selected @endif @endif>False</option> - <option value="1" @if( isset( $appInputs) ) @if( 1 == $appInputs->requiredToAddedToCommandLine) selected @endif @endif>True</option> - </select> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Meta Data</label> - <div class="col-md-9"> - <textarea readonly class="form-control" name="metaData[]">@if( isset( $appInputs) ){{$appInputs->metaData}}@endif</textarea> - </div> - </div> + <span class="glyphicon glyphicon-trash pull-right remove-input-space"></span> + <h4>App Input Fields</h4> + + <div class="form-group required"> + <label class="control-label col-md-3">Name</label> + + <div class="col-md-9"> + <input type="text" readonly class="form-control" name="inputName[]" required + value="@if( isset( $appInputs) ){{$appInputs->name}}@endif"/> + </div> + </div> + <div class="form-group"> + <label class="control-label col-md-3">Value</label> + + <div class="col-md-9"> + <input type="text" readonly class="form-control" name="inputValue[]" + value="@if( isset( $appInputs)){{$appInputs->value}}@endif"/> + </div> + </div> + <div class="form-group"> + <label class="control-label col-md-3">Type</label> + + <div class="col-md-9"> + <select class="form-control" name="inputType[]" readonly> + @foreach( $dataTypes as $index => $dataType) + <option value="{{ $index }}" + @if( isset( $appInputs) ) @if( $index == $appInputs->type) selected @endif @endif>{{ $dataType + }}</option> + @endforeach + </select> + </div> + </div> + <div class="form-group"> + <label class="control-label col-md-3">Application Argument</label> + + <div class="col-md-9"> + <input type="text" readonly class="form-control" name="applicationArgumentInput[]" + value="@if( isset( $appInputs) ){{$appInputs->applicationArgument }}@endif"/> + </div> + </div> + <div class="form-group"> + <label class="control-label col-md-3">Standard Input</label> + + <div class="col-md-9"> + <select class="form-control" name="standardInput[]" readonly> + <option value="0" + @if( isset( $appInputs) ) @if( 0 == $appInputs->standardInput) selected @endif @endif>False</option> + <option value="1" + @if( isset( $appInputs) ) @if( 1 == $appInputs->standardInput) selected @endif @endif>True</option> + </select> + </div> + </div> + <div class="form-group"> + <label class="control-label col-md-3">User Friendly Description</label> + + <div class="col-md-9"> + <textarea readonly class="form-control" name="userFriendlyDescription[]">@if( isset( $appInputs) + ){{$appInputs->userFriendlyDescription}}@endif</textarea> + </div> + </div> + <div class="form-group col-md-6"> + <label class="control-label col-md-5">Input Order</label> + + <div class="col-md-7"> + <input type="number" readonly class="form-control" name="inputOrder[]" + value="@if( isset( $appInputs) ){{$appInputs->inputOrder}}@endif"/> + </div> + </div> + <div class="form-group col-md-7"> + <label class="control-label col-md-4">Data is Staged?</label> + + <div class="col-md-8"> + <select name="dataStaged[]" class="form-control"> + <option>select</option> + <option value="1" + @if( isset( $appInputs) ) @if( $appInputs->dataStaged == 1) selected @endif @endif>True</option> + <option value="0" + @if( isset( $appInputs) ) @if( $appInputs->dataStaged == 0) selected @endif @endif>False</option> + </select> + </div> + <!-- Removed Radio button because it creates problems with multiple inputs + <label class="radio-inline"> + <input type="radio" name="dataStaged[]" @if( isset( $appInputs) ) @if( $appInputs->dataStaged == 1) checked @endif @endif>True + </label> + <label class="radio-inline"> + <input type="radio" name="dataStaged[]" @if( isset( $appInputs) ) @if( $appInputs->dataStaged == 0) checked @endif @endif>False + </label> + --> + </div> + <div class="form-group col-md-6"> + <label class="control-label col-md-6">Is the Input required?</label> + + <div class="col-md-6"> + <select class="form-control" name="isRequiredInput[]" readonly> + <option value="0" + @if( isset( $appInputs) ) @if( 0 == $appInputs->isRequired) selected @endif @endif>False</option> + <option value="1" + @if( isset( $appInputs) ) @if( 1 == $appInputs->isRequired) selected @endif @endif>True</option> + </select> + </div> + </div> + <div class="form-group col-md-7"> + <label class="control-label col-md-6">Required on command line?</label> + + <div class="col-md-6"> + <select class="form-control" name="requiredToAddedToCommandLineInput[]" readonly> + <option value="0" + @if( isset( $appInputs) ) @if( 0 == $appInputs->requiredToAddedToCommandLine) selected @endif + @endif>False</option> + <option value="1" + @if( isset( $appInputs) ) @if( 1 == $appInputs->requiredToAddedToCommandLine) selected @endif + @endif>True</option> + </select> + </div> + </div> + <div class="form-group"> + <label class="control-label col-md-3">Meta Data</label> + + <div class="col-md-9"> + <textarea readonly class="form-control" name="metaData[]">@if( isset( $appInputs) + ){{$appInputs->metaData}}@endif</textarea> + </div> + </div> </div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/partials/interface-output-block.blade.php ---------------------------------------------------------------------- diff --git a/app/views/partials/interface-output-block.blade.php b/app/views/partials/interface-output-block.blade.php index fe78060..9ed1813 100644 --- a/app/views/partials/interface-output-block.blade.php +++ b/app/views/partials/interface-output-block.blade.php @@ -1,80 +1,105 @@ <div class="well"> - <span class="glyphicon glyphicon-trash pull-right remove-output-space"></span> - <h4>App Output Fields</h4> - <div class="form-group required"> - <label class="control-label col-md-3">Name</label> - <div class="col-md-9"> - <input type="text" readonly class="form-control" name="outputName[]" required value="@if( isset( $appOutputs) ){{$appOutputs->name}}@endif"/> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Value</label> - <div class="col-md-9"> - <input type="text" readonly class="form-control" name="outputValue[]" value="@if( isset( $appOutputs) ){{$appOutputs->value}}@endif"/> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Type</label> - <div class="col-md-9"> - <select class="form-control" name="outputType[]" readonly> - @foreach( $dataTypes as $index => $dataType) - <option value="{{ $index }}" @if( isset( $appOutputs) ) @if( $index == $appOutputs->type ) selected @endif @endif>{{ $dataType }}</option> - @endforeach - </select> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Application Argument</label> - <div class="col-md-9"> - <input type="text" readonly class="form-control" name="applicationArgumentOutput[]" value="@if( isset( $appOutputs) ){{$appOutputs->applicationArgument }}@endif"/> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Data Movement</label> - <div class="col-md-9"> - <select name="dataMovement[]" class="form-control"> - <option>select</option> - <option value="1" @if( isset( $appOutputs) ) @if( $appOutputs->dataMovement == 1) selected @endif @endif>True</option> - <option value="0" @if( isset( $appOutputs) ) @if( $appOutputs->dataMovement == 0) selected @endif @endif>False</option> - </select> - </div> - <!-- - <label class="radio-inline"> - <input type="radio" name="dataMovement[]" @if( isset( $appOutputs) ) @if( $appOutputs->dataMovement == 1) checked @endif @endif>True - </label> - <label class="radio-inline"> - <input type="radio" name="dataMovement[]" @if( isset( $appOutputs) ) @if( $appOutputs->dataMovement == 0) checked @endif @endif>False - </label> - --> - </div> - <div class="form-group col-md-6"> - <label class="control-label col-md-6">Is the Output required?</label> - <div class="col-md-6"> - <select class="form-control" name="isRequiredOutput[]" readonly> - <option value="0" @if( isset( $appOutputs) ) @if( 0 == $appOutputs->isRequired) selected @endif @endif>False</option> - <option value="1" @if( isset( $appOutputs) ) @if( 1 == $appOutputs->isRequired) selected @endif @endif>True</option> - </select> - </div> - </div> - <div class="form-group col-md-7"> - <label class="control-label col-md-6">Required on command line?</label> - <div class="col-md-6"> - <select class="form-control" name="requiredToAddedToCommandLineOutput[]" readonly> - <option value="0" @if( isset( $appOutputs) ) @if( 0 == $appOutputs->requiredToAddedToCommandLine) selected @endif @endif>False</option> - <option value="1" @if( isset( $appOutputs) ) @if( 1 == $appOutputs->requiredToAddedToCommandLine) selected @endif @endif>True</option> - </select> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Location</label> - <div class="col-md-9"> - <input type="text" readonly class="form-control" name="location[]" value="@if( isset( $appOutputs) ){{$appOutputs->location}}@endif"/> - </div> - </div> - <div class="form-group"> - <label class="control-label col-md-3">Search Query</label> - <div class="col-md-9"> - <input type="text" readonly class="form-control" name="searchQuery[]" value="@if( isset( $appOutputs) ){{$appOutputs->searchQuery}}@endif"/> - </div> - </div> + <span class="glyphicon glyphicon-trash pull-right remove-output-space"></span> + <h4>App Output Fields</h4> + + <div class="form-group required"> + <label class="control-label col-md-3">Name</label> + + <div class="col-md-9"> + <input type="text" readonly class="form-control" name="outputName[]" required + value="@if( isset( $appOutputs) ){{$appOutputs->name}}@endif"/> + </div> + </div> + <div class="form-group"> + <label class="control-label col-md-3">Value</label> + + <div class="col-md-9"> + <input type="text" readonly class="form-control" name="outputValue[]" + value="@if( isset( $appOutputs) ){{$appOutputs->value}}@endif"/> + </div> + </div> + <div class="form-group"> + <label class="control-label col-md-3">Type</label> + + <div class="col-md-9"> + <select class="form-control" name="outputType[]" readonly> + @foreach( $dataTypes as $index => $dataType) + <option value="{{ $index }}" + @if( isset( $appOutputs) ) @if( $index == $appOutputs->type ) selected @endif @endif>{{ $dataType + }}</option> + @endforeach + </select> + </div> + </div> + <div class="form-group"> + <label class="control-label col-md-3">Application Argument</label> + + <div class="col-md-9"> + <input type="text" readonly class="form-control" name="applicationArgumentOutput[]" + value="@if( isset( $appOutputs) ){{$appOutputs->applicationArgument }}@endif"/> + </div> + </div> + <div class="form-group"> + <label class="control-label col-md-3">Data Movement</label> + + <div class="col-md-9"> + <select name="dataMovement[]" class="form-control"> + <option>select</option> + <option value="1" + @if( isset( $appOutputs) ) @if( $appOutputs->dataMovement == 1) selected @endif @endif>True</option> + <option value="0" + @if( isset( $appOutputs) ) @if( $appOutputs->dataMovement == 0) selected @endif @endif>False</option> + </select> + </div> + <!-- + <label class="radio-inline"> + <input type="radio" name="dataMovement[]" @if( isset( $appOutputs) ) @if( $appOutputs->dataMovement == 1) checked @endif @endif>True + </label> + <label class="radio-inline"> + <input type="radio" name="dataMovement[]" @if( isset( $appOutputs) ) @if( $appOutputs->dataMovement == 0) checked @endif @endif>False + </label> + --> + </div> + <div class="form-group col-md-6"> + <label class="control-label col-md-6">Is the Output required?</label> + + <div class="col-md-6"> + <select class="form-control" name="isRequiredOutput[]" readonly> + <option value="0" + @if( isset( $appOutputs) ) @if( 0 == $appOutputs->isRequired) selected @endif @endif>False</option> + <option value="1" + @if( isset( $appOutputs) ) @if( 1 == $appOutputs->isRequired) selected @endif @endif>True</option> + </select> + </div> + </div> + <div class="form-group col-md-7"> + <label class="control-label col-md-6">Required on command line?</label> + + <div class="col-md-6"> + <select class="form-control" name="requiredToAddedToCommandLineOutput[]" readonly> + <option value="0" + @if( isset( $appOutputs) ) @if( 0 == $appOutputs->requiredToAddedToCommandLine) selected @endif + @endif>False</option> + <option value="1" + @if( isset( $appOutputs) ) @if( 1 == $appOutputs->requiredToAddedToCommandLine) selected @endif + @endif>True</option> + </select> + </div> + </div> + <div class="form-group"> + <label class="control-label col-md-3">Location</label> + + <div class="col-md-9"> + <input type="text" readonly class="form-control" name="location[]" + value="@if( isset( $appOutputs) ){{$appOutputs->location}}@endif"/> + </div> + </div> + <div class="form-group"> + <label class="control-label col-md-3">Search Query</label> + + <div class="col-md-9"> + <input type="text" readonly class="form-control" name="searchQuery[]" + value="@if( isset( $appOutputs) ){{$appOutputs->searchQuery}}@endif"/> + </div> + </div> </div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/partials/module-block.blade.php ---------------------------------------------------------------------- diff --git a/app/views/partials/module-block.blade.php b/app/views/partials/module-block.blade.php index b30ad27..c33b857 100644 --- a/app/views/partials/module-block.blade.php +++ b/app/views/partials/module-block.blade.php @@ -1,16 +1,16 @@ <div id="new-app-module-block"> - - <div class="form-group required"> - <label class="control-label">Application Module Name</label> - <input type="text" class="form-control edit-name" name="appModuleName" maxlength="150" required/> - </div> - <div class="form-group"> - <label class="control-label">Application Module Version</label> - <input type="text" class="form-control edit-version" name="appModuleVersion" maxlength="30" /> - </div> - <div class="form-group"> - <label class="control-label">Description</label> - <textarea class="form-control edit-desc" name="appModuleDescription" maxlength="255"></textarea> - </div> - + + <div class="form-group required"> + <label class="control-label">Application Module Name</label> + <input type="text" class="form-control edit-name" name="appModuleName" maxlength="150" required/> + </div> + <div class="form-group"> + <label class="control-label">Application Module Version</label> + <input type="text" class="form-control edit-version" name="appModuleVersion" maxlength="30"/> + </div> + <div class="form-group"> + <label class="control-label">Description</label> + <textarea class="form-control edit-desc" name="appModuleDescription" maxlength="255"></textarea> + </div> + </div> http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/partials/queue-block.blade.php ---------------------------------------------------------------------- diff --git a/app/views/partials/queue-block.blade.php b/app/views/partials/queue-block.blade.php index 0238b42..e805b1e 100644 --- a/app/views/partials/queue-block.blade.php +++ b/app/views/partials/queue-block.blade.php @@ -1,24 +1,35 @@ <div class="form-group"> - <label class="control-label">Queue Description</label> - <textarea class="form-control" maxlength="255" name="qdesc" placeholder="Queue Description">@if( isset( $queueData) ){{ $queueData->queueDescription }}@endif</textarea> + <label class="control-label">Queue Description</label> + <textarea class="form-control" maxlength="255" name="qdesc" placeholder="Queue Description">@if( isset( $queueData) + ){{ $queueData->queueDescription }}@endif</textarea> </div> <div class="form-group"> - <label class="control-label">Queue Max Run Time<small> (In Minutes) </small></label> - <input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxRunTime }}@endif" maxlength="30" name="qmaxruntime" placeholder="Queue Max Run Time"/> + <label class="control-label">Queue Max Run Time + <small> (In Minutes)</small> + </label> + <input type="number" min="0" class="form-control" + value="@if( isset( $queueData) ){{ $queueData->maxRunTime }}@endif" maxlength="30" name="qmaxruntime" + placeholder="Queue Max Run Time"/> </div> <div class="form-group"> - <label class="control-label">Queue Max Nodes</label> - <input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxNodes }}@endif" maxlength="30" name="qmaxnodes" placeholder="Queue Max Nodes"/> + <label class="control-label">Queue Max Nodes</label> + <input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxNodes }}@endif" + maxlength="30" name="qmaxnodes" placeholder="Queue Max Nodes"/> </div> <div class="form-group"> - <label class="control-label">Queue Max Processors</label> - <input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxProcessors }}@endif" maxlength="30" name="qmaxprocessors" placeholder="Queue Max Processors"/> + <label class="control-label">Queue Max Processors</label> + <input type="number" min="0" class="form-control" + value="@if( isset( $queueData) ){{ $queueData->maxProcessors }}@endif" maxlength="30" name="qmaxprocessors" + placeholder="Queue Max Processors"/> </div> <div class="form-group"> - <label class="control-label">Max Jobs in Queue</label> - <input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxJobsInQueue }}@endif" maxlength="30" name="qmaxjobsinqueue" placeholder="Max Jobs In Queue"/> + <label class="control-label">Max Jobs in Queue</label> + <input type="number" min="0" class="form-control" + value="@if( isset( $queueData) ){{ $queueData->maxJobsInQueue }}@endif" maxlength="30" name="qmaxjobsinqueue" + placeholder="Max Jobs In Queue"/> </div> <div class="form-group"> - <label class="control-label">Max Memory For Queue( In MB )</label> - <input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxMemory }}@endif" maxlength="30" name="qmaxmemoryinqueue" placeholder="Max Memory For Queue"/> + <label class="control-label">Max Memory For Queue( In MB )</label> + <input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxMemory }}@endif" + maxlength="30" name="qmaxmemoryinqueue" placeholder="Max Memory For Queue"/> </div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/project/browse.blade.php ---------------------------------------------------------------------- diff --git a/app/views/project/browse.blade.php b/app/views/project/browse.blade.php index 674e654..5cbd293 100755 --- a/app/views/project/browse.blade.php +++ b/app/views/project/browse.blade.php @@ -1,106 +1,105 @@ - @extends('layout.basic') @section('page-header') - @parent +@parent @stop @section('content') - <div class="container" style="max-width: 750px;"> - - <h1>Browse Projects</h1> - <?php - - if (isset( $projects)) - { - ?> - - <!-- Pagination handling--> - <form id="paginationForm" action="{{URL::to('/')}}/project/browse" method="post" class="form-inline" role="form"> - <div class="pull-right btn-toolbar" style="padding-bottom: 5px"> - <?php - if($pageNo!=1){ - echo '<input class="btn btn-primary btn-xs" type="submit" style="cursor: pointer" name="prev" value="Previous"/>'; - } - if(sizeof($projects)>0){ - echo '<input class="btn btn-primary btn-xs" type="submit" style="cursor: pointer" name="next" value="Next"/>'; - } - ?> - </div> - <div class="pull-left"> - <?php if (sizeof($projects) != 0) echo 'Showing results from ' . strval(($pageNo-1)*$limit + 1) - . ' to ' . strval(min($pageNo*$limit, ($pageNo-1)*$limit + sizeof($projects))); ?> - </div> - <input type="hidden" name="pageNo" value="<?php echo($pageNo) ?>"/> - <div style="clear: both"></div> - </form> - - <?php - /** - * get results - */ - - /** - * display results - */ - if (sizeof($projects) == 0) - { - Utilities::print_warning_message('No results found. Please try again.'); - } - else - { - ?> - <div class="table-responsive"> - <table class="table"> +<div class="container" style="max-width: 750px;"> - <tr> + <h1>Browse Projects</h1> + <?php - <th>Name</th> - <th>Creation Time</th> - <th>Experiments</th> + if (isset($projects)) + { + ?> - </tr> + <!-- Pagination handling--> + <form id="paginationForm" action="{{URL::to('/')}}/project/browse" method="post" class="form-inline" role="form"> + <div class="pull-right btn-toolbar" style="padding-bottom: 5px"> + <?php + if ($pageNo != 1) { + echo '<input class="btn btn-primary btn-xs" type="submit" style="cursor: pointer" name="prev" value="Previous"/>'; + } + if (sizeof($projects) > 0) { + echo '<input class="btn btn-primary btn-xs" type="submit" style="cursor: pointer" name="next" value="Next"/>'; + } + ?> + </div> + <div class="pull-left"> + <?php if (sizeof($projects) != 0) echo 'Showing results from ' . strval(($pageNo - 1) * $limit + 1) + . ' to ' . strval(min($pageNo * $limit, ($pageNo - 1) * $limit + sizeof($projects))); ?> + </div> + <input type="hidden" name="pageNo" value="<?php echo($pageNo) ?>"/> + + <div style="clear: both"></div> + </form> + + <?php + /** + * get results + */ + + /** + * display results + */ + if (sizeof($projects) == 0) + { + CommonUtilities::print_warning_message('No results found. Please try again.'); + } + else + { + ?> + <div class="table-responsive"> + <table class="table"> + + <tr> + + <th>Name</th> + <th>Creation Time</th> + <th>Experiments</th> + + </tr> <?php - foreach ($projects as $project) - { + foreach ($projects as $project) { - ?> - <tr> - <td> - <?php echo $project->name; ?> - <a href="{{URL::to('/')}}/project/edit?projId=<?php echo $project->projectID; ?>" title="Edit"> - <span class="glyphicon glyphicon-pencil"></span> - </a> - </td> - <td class="time" unix-time=" - <?php echo $project->creationTime/1000 ?>"> - </td> - <td> - <a href="{{URL::to('/')}}/project/summary?projId=<?php echo $project->projectID; ?>"> - <span class="glyphicon glyphicon-list"></span> - </a> - <a href="{{URL::to('/')}}/project/summary?projId=<?php echo $project->projectID; ?>"> View</a> - </td> - </tr> + ?> + <tr> + <td> + <?php echo $project->name; ?> + <a href="{{URL::to('/')}}/project/edit?projId=<?php echo $project->projectID; ?>" title="Edit"> + <span class="glyphicon glyphicon-pencil"></span> + </a> + </td> + <td class="time" unix-time=" + <?php echo $project->creationTime / 1000 ?>"> + </td> + <td> + <a href="{{URL::to('/')}}/project/summary?projId=<?php echo $project->projectID; ?>"> + <span class="glyphicon glyphicon-list"></span> + </a> + <a href="{{URL::to('/')}}/project/summary?projId=<?php echo $project->projectID; ?>"> View</a> + </td> + </tr> <?php - } + } - echo '</table>'; - echo '</div>'; + echo '</table>'; + echo '</div>'; } - } - - ?> + } + + ?> </div> -@stop -@section('scripts') -@parent + @stop + @section('scripts') + @parent {{ HTML::script('js/time-conversion.js')}} -@stop \ No newline at end of file + @stop \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/project/create.blade.php ---------------------------------------------------------------------- diff --git a/app/views/project/create.blade.php b/app/views/project/create.blade.php index 0cc28d3..46c04bc 100755 --- a/app/views/project/create.blade.php +++ b/app/views/project/create.blade.php @@ -1,42 +1,44 @@ @extends('layout.basic') @section('page-header') - @parent +@parent @stop @section('content') <div class="container" style="max-width: 750px"> - -<h1>Create a new project</h1> + <h1>Create a new project</h1> -<form action="create" method="post" role="form" class="project-creation-form"> - <div class="form-group required"> - <label for="project-name" class="control-label">Project Name</label> - <input type="text" class="form-control projectName" name="project-name" id="project-name" placeholder="Enter project name" autofocus required> - </div> - <div class="form-group"> - <label for="project-description">Project Description</label> - <textarea class="form-control" name="project-description" id="project-description" placeholder="Optional: Enter a short description of the project"></textarea> - </div> + <form action="create" method="post" role="form" class="project-creation-form"> + <div class="form-group required"> + <label for="project-name" class="control-label">Project Name</label> + <input type="text" class="form-control projectName" name="project-name" id="project-name" + placeholder="Enter project name" autofocus required> + </div> - <input name="save" type="submit" class="btn btn-primary create-project" value="Save"> - <input name="clear" type="reset" class="btn btn-default" value="Clear"> + <div class="form-group"> + <label for="project-description">Project Description</label> + <textarea class="form-control" name="project-description" id="project-description" + placeholder="Optional: Enter a short description of the project"></textarea> + </div> + <input name="save" type="submit" class="btn btn-primary create-project" value="Save"> + <input name="clear" type="reset" class="btn btn-default" value="Clear"> -</form> + + </form> </div> @stop @section('scripts') - @parent - <script> - $(".projectName").blur( function(){ - $(this).val( $.trim( $(this).val() ) ); - }); - </script> +@parent +<script> + $(".projectName").blur(function () { + $(this).val($.trim($(this).val())); + }); +</script> @stop \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/project/edit.blade.php ---------------------------------------------------------------------- diff --git a/app/views/project/edit.blade.php b/app/views/project/edit.blade.php index e2c40b1..26e4df4 100755 --- a/app/views/project/edit.blade.php +++ b/app/views/project/edit.blade.php @@ -1,21 +1,21 @@ @extends('layout.basic') @section('page-header') - @parent +@parent @stop @section('content') <div class="container" style="max-width: 750px;"> - <?php if( Session::has("project_edited")) { ?> - <div class="alert alert-success"> - The project has been edited - </div> - <?php Session::forget("project_edited"); + <?php if (Session::has("project_edited")) { ?> + <div class="alert alert-success"> + The project has been edited + </div> + <?php Session::forget("project_edited"); - } - ?> + } + ?> <h1>Edit Project</h1> http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/project/search.blade.php ---------------------------------------------------------------------- diff --git a/app/views/project/search.blade.php b/app/views/project/search.blade.php index d4c7835..b7c400b 100755 --- a/app/views/project/search.blade.php +++ b/app/views/project/search.blade.php @@ -1,136 +1,136 @@ - @extends('layout.basic') @section('page-header') - @parent +@parent @stop @section('content') - <div class="container" style="max-width: 750px;"> +<div class="container" style="max-width: 750px;"> - <h1>Search for Projects</h1> + <h1>Search for Projects</h1> - <form action="{{ URL::to('/') }}/project/search" method="post" class="form-inline" role="form"> - <div class="form-group"> - <label for="search-key">Search by</label> - <select class="form-control" name="search-key" id="search-key"> - <option value="project-name">Project Name</option> - <option value="project-description">Project description</option> - </select> - </div> + <form action="{{ URL::to('/') }}/project/search" method="post" class="form-inline" role="form"> + <div class="form-group"> + <label for="search-key">Search by</label> + <select class="form-control" name="search-key" id="search-key"> + <option value="project-name">Project Name</option> + <option value="project-description">Project description</option> + </select> + </div> - <div class="form-group"> - <label for="search-value">for</label> - <input type="search" class="form-control" name="search-value" id="search-value" placeholder="value" required - value="<?php if (isset($_POST['search-value'])) echo $_POST['search-value'] ?>"> - </div> + <div class="form-group"> + <label for="search-value">for</label> + <input type="search" class="form-control" name="search-value" id="search-value" placeholder="value" required + value="<?php if (isset($_POST['search-value'])) echo $_POST['search-value'] ?>"> + </div> - <button name="search" type="submit" class="btn btn-primary" value="Search"><span class="glyphicon glyphicon-search"></span> Search</button> - <p class="help-block">You can use * as a wildcard character. Tip: search for * alone to retrieve all of your projects.</p> + <button name="search" type="submit" class="btn btn-primary" value="Search"><span + class="glyphicon glyphicon-search"></span> Search + </button> + <p class="help-block">You can use * as a wildcard character. Tip: search for * alone to retrieve all of your + projects.</p> - <!-- Pagination Handling --> - <?php - if(isset( $projects)) - { - ?> - <div class="pull-right btn-toolbar" style="padding-bottom: 5px"> - <?php - if($pageNo!=1){ - echo '<input class="btn btn-primary btn-xs" type="submit" style="cursor: pointer" name="prev" value="Previous"/>'; - } - if(sizeof($projects)>0){ - echo '<input class="btn btn-primary btn-xs" type="submit" style="cursor: pointer" name="next" value="Next"/>'; - } - ?> - </div> - <div class="pull-left"> - <?php if (sizeof($projects) != 0) echo 'Showing results from ' . strval(($pageNo-1)*$limit + 1) - . ' to ' . strval(min($pageNo*$limit, ($pageNo-1)*$limit + sizeof($projects))); ?> - </div> - <input type="hidden" name="pageNo" value="<?php echo($pageNo) ?>"/> - <div style="clear: both"></div> - <?php - } + <!-- Pagination Handling --> + <?php + if (isset($projects)) { ?> - </form> + <div class="pull-right btn-toolbar" style="padding-bottom: 5px"> + <?php + if ($pageNo != 1) { + echo '<input class="btn btn-primary btn-xs" type="submit" style="cursor: pointer" name="prev" value="Previous"/>'; + } + if (sizeof($projects) > 0) { + echo '<input class="btn btn-primary btn-xs" type="submit" style="cursor: pointer" name="next" value="Next"/>'; + } + ?> + </div> + <div class="pull-left"> + <?php if (sizeof($projects) != 0) echo 'Showing results from ' . strval(($pageNo - 1) * $limit + 1) + . ' to ' . strval(min($pageNo * $limit, ($pageNo - 1) * $limit + sizeof($projects))); ?> + </div> + <input type="hidden" name="pageNo" value="<?php echo($pageNo) ?>"/> + <div style="clear: both"></div> + <?php + } + ?> + </form> - <?php + <?php - if (isset( $projects)) - { - /** - * get results - */ - - /** - * display results - */ - if (sizeof($projects) == 0) - { - if($pageNo==1){ - Utilities::print_warning_message('No results found. Please try again.'); - }else{ - Utilities::print_warning_message('No more results found.'); - } - } - else - { - ?> - <div class="table-responsive"> - <table class="table"> + if (isset($projects)) + { + /** + * get results + */ - <tr> + /** + * display results + */ + if (sizeof($projects) == 0) + { + if ($pageNo == 1) { + CommonUtilities::print_warning_message('No results found. Please try again.'); + } else { + CommonUtilities::print_warning_message('No more results found.'); + } + } + else + { + ?> + <div class="table-responsive"> + <table class="table"> - <th>Name</th> - <th>Creation Time</th> - <th>Experiments</th> + <tr> - </tr> + <th>Name</th> + <th>Creation Time</th> + <th>Experiments</th> + + </tr> <?php - foreach ($projects as $project) - { + foreach ($projects as $project) { - ?> - <tr> - <td> - <?php echo $project->name; ?> - <a href="{{URL::to('/')}}/project/edit?projId=<?php echo $project->projectID; ?>" title="Edit"> - <span class="glyphicon glyphicon-pencil"></span> - </a> - </td> - <td class="time" unix-time=" - <?php echo $project->creationTime/1000 ?>"> - </td> - <td> - <a href="{{URL::to('/')}}/project/summary?projId=<?php echo $project->projectID; ?>"> - <span class="glyphicon glyphicon-list"></span> - </a> - <a href="{{URL::to('/')}}/project/summary?projId=<?php echo $project->projectID; ?>"> View</a> - </td> - </tr> + ?> + <tr> + <td> + <?php echo $project->name; ?> + <a href="{{URL::to('/')}}/project/edit?projId=<?php echo $project->projectID; ?>" title="Edit"> + <span class="glyphicon glyphicon-pencil"></span> + </a> + </td> + <td class="time" unix-time=" + <?php echo $project->creationTime / 1000 ?>"> + </td> + <td> + <a href="{{URL::to('/')}}/project/summary?projId=<?php echo $project->projectID; ?>"> + <span class="glyphicon glyphicon-list"></span> + </a> + <a href="{{URL::to('/')}}/project/summary?projId=<?php echo $project->projectID; ?>"> View</a> + </td> + </tr> <?php - } + } - echo '</table>'; - echo '</div>'; + echo '</table>'; + echo '</div>'; } - } - - ?> + } + + ?> </div> -@stop -@section('scripts') -@parent - {{ HTML::script('js/time-conversion.js')}} -@stop \ No newline at end of file + @stop + @section('scripts') + @parent + {{ HTML::script('js/time-conversion.js')}} + @stop \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/project/summary.blade.php ---------------------------------------------------------------------- diff --git a/app/views/project/summary.blade.php b/app/views/project/summary.blade.php index f0b827c..d054384 100755 --- a/app/views/project/summary.blade.php +++ b/app/views/project/summary.blade.php @@ -1,7 +1,7 @@ @extends('layout.basic') @section('page-header') - @parent +@parent @stop @section('content') @@ -15,20 +15,19 @@ <?php - $project = Utilities::get_project($_GET['projId']); - + $project = ProjectUtilities::get_project($_GET['projId']); echo '<div class="panel panel-default">'; echo '<div class="panel-heading">'; echo '<h3>' . $project->name . ' <a href="edit?projId=' . - $project->projectID . - '" title="Edit"><span class="glyphicon glyphicon-pencil"></span></a></h3>'; + $project->projectID . + '" title="Edit"><span class="glyphicon glyphicon-pencil"></span></a></h3>'; echo "<p>$project->description</p>"; echo '</div>'; - $experiments = Utilities::get_experiments_in_project($project->projectID); + $experiments = ProjectUtilities::get_experiments_in_project($project->projectID); echo '<div class="table-responsive">'; echo '<table class="table">'; @@ -43,18 +42,16 @@ echo '</tr>'; - foreach ($experiments as $experiment) - { - $expValues = Utilities::get_experiment_values( $experiment, Utilities::get_project($experiment->projectID), true ); - $applicationInterface = Utilities::get_application_interface($experiment->applicationId); + foreach ($experiments as $experiment) { + $expValues = ExperimentUtilities::get_experiment_values($experiment, ProjectUtilities::get_project($experiment->projectID), true); + $applicationInterface = AppUtilities::get_application_interface($experiment->applicationId); echo '<tr>'; echo '<td>'; - switch ($expValues["experimentStatusString"]) - { + switch ($expValues["experimentStatusString"]) { case 'SCHEDULED': case 'LAUNCHED': case 'EXECUTING': @@ -71,18 +68,16 @@ } - echo '</td>'; echo "<td>$applicationInterface->applicationName</td>"; - echo '<td>' . Utilities::get_compute_resource($experiment->userConfigurationData + echo '<td>' . CRUtilities::get_compute_resource($experiment->userConfigurationData ->computationalResourceScheduling->resourceHostId)->hostName . '</td>'; echo '<td class="time" unix-time="' . $expValues["experimentTimeOfStateChange"] . '"></td>'; - switch ($expValues["experimentStatusString"]) - { + switch ($expValues["experimentStatusString"]) { case 'CANCELING': case 'CANCELED': case 'UNKNOWN': @@ -122,5 +117,5 @@ @stop @section('scripts') @parent - {{ HTML::script('js/time-conversion.js')}} +{{ HTML::script('js/time-conversion.js')}} @stop \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/resource/browse.blade.php ---------------------------------------------------------------------- diff --git a/app/views/resource/browse.blade.php b/app/views/resource/browse.blade.php index 7580200..ac78bfa 100644 --- a/app/views/resource/browse.blade.php +++ b/app/views/resource/browse.blade.php @@ -1,135 +1,140 @@ @extends('layout.basic') @section('page-header') - @parent +@parent @stop @section('content') <div class="container"> - @if( Session::has("message")) - <div class="col-md-12"> - <span class="alert alert-success">{{ Session::get("message") }}</span> - </div> - {{ Session::forget("message") }} - @endif - - @if ( isset( $allCRs) ) - @if (sizeof($allCRs) == 0) - {{ Utilities::print_warning_message('No Compute Resources are registered. Please use "Register Compute Resource" to register a new resources.') }} - @else - <div class="col-md-12"> - <div class="row"> - <div class="col-md-6"> - <h3 style="margin:0;">Existing Compute Resources :</h3> - </div> - <input type="text" class="pull-right filterinput col-md-6" placeholder="Search by Compute Resource Name"/> + @if( Session::has("message")) + <div class="col-md-12"> + <span class="alert alert-success">{{ Session::get("message") }}</span> + </div> + {{ Session::forget("message") }} + @endif + + @if ( isset( $allCRs) ) + @if (sizeof($allCRs) == 0) + {{ Utilities::print_warning_message('No Compute Resources are registered. Please use "Register Compute Resource" to + register a new resources.') }} + @else + <div class="col-md-12"> + <div class="row"> + <div class="col-md-6"> + <h3 style="margin:0;">Existing Compute Resources :</h3> </div> - <div class="row"> - <div class="table-responsive"> - <table class="table"> - - <tr> - - <th>Name</th> - <th>Id</th> - <th>Edit</th> - <th>View</th> - <th>Delete</th> - </tr> - - @foreach ($allCRs as $crId => $crName) - - <tr id="crDetails"> - <td>{{ $crName }}</td> - <td>{{ $crId }}</td> - <td><a href="{{URL::to('/')}}/cr/edit?crId={{ $crId }}" title="Edit"> - <span class="glyphicon glyphicon-pencil"></span> - </a> - </td> - <td> - <a class="view-cr" href="#" > <!-- {{URL::to('/')}}/cr/summary?crId={{ $crId }}"> --> - <span class="glyphicon glyphicon-list"></span> - </a> - </td> - <td> - <a href="#" title="Delete"> - <span class="glyphicon glyphicon-trash del-cr" data-toggle="modal" data-target="#delete-cr-block" data-delete-cr-name="{{$crName}}" data-deployment-count="{{$connectedDeployments[$crId]}}" data-crid="{{$crId}}" ></span> - </a> - </td> - </tr> - @endforeach - - </table> - </div> + <input type="text" class="pull-right filterinput col-md-6" placeholder="Search by Compute Resource Name"/> + </div> + <div class="row"> + <div class="table-responsive"> + <table class="table"> + + <tr> + + <th>Name</th> + <th>Id</th> + <th>Edit</th> + <th>View</th> + <th>Delete</th> + </tr> + + @foreach ($allCRs as $crId => $crName) + + <tr id="crDetails"> + <td>{{ $crName }}</td> + <td>{{ $crId }}</td> + <td><a href="{{URL::to('/')}}/cr/edit?crId={{ $crId }}" title="Edit"> + <span class="glyphicon glyphicon-pencil"></span> + </a> + </td> + <td> + <a class="view-cr" href="#"> <!-- {{URL::to('/')}}/cr/summary?crId={{ $crId }}"> --> + <span class="glyphicon glyphicon-list"></span> + </a> + </td> + <td> + <a href="#" title="Delete"> + <span class="glyphicon glyphicon-trash del-cr" data-toggle="modal" + data-target="#delete-cr-block" data-delete-cr-name="{{$crName}}" + data-deployment-count="{{$connectedDeployments[$crId]}}" + data-crid="{{$crId}}"></span> + </a> + </td> + </tr> + @endforeach + + </table> </div> + </div> + @endif @endif - @endif -<div class="modal fade" id="delete-cr-block" tabindex="-1" role="dialog" aria-labelledby="add-modal" aria-hidden="true"> - <div class="modal-dialog"> - - <form action="{{URL::to('/')}}/cr/delete-cr" method="POST"> - <div class="modal-content"> - <div class="modal-header"> - <h3 class="text-center">Delete Compute Resource Confirmation</h3> - </div> - <div class="modal-body"> - <input type="hidden" class="form-control delete-crId" name="del-crId"/> - The Compute Resource, <span class="delete-cr-name"></span> is connected to <span class="deploymentCount">0</span> deployments. - Do you really want to delete it? This action cannot be undone. - </div> - <div class="modal-footer"> - <div class="form-group"> - <input type="submit" class="btn btn-danger" value="Delete"/> - <input type="button" class="btn btn-default" data-dismiss="modal" value ="Cancel"/> - </div> - </div> - </div> - - </form> - </div> -</div> - -</div> + <div class="modal fade" id="delete-cr-block" tabindex="-1" role="dialog" aria-labelledby="add-modal" + aria-hidden="true"> + <div class="modal-dialog"> + + <form action="{{URL::to('/')}}/cr/delete-cr" method="POST"> + <div class="modal-content"> + <div class="modal-header"> + <h3 class="text-center">Delete Compute Resource Confirmation</h3> + </div> + <div class="modal-body"> + <input type="hidden" class="form-control delete-crId" name="del-crId"/> + The Compute Resource, <span class="delete-cr-name"></span> is connected to <span + class="deploymentCount">0</span> deployments. + Do you really want to delete it? This action cannot be undone. + </div> + <div class="modal-footer"> + <div class="form-group"> + <input type="submit" class="btn btn-danger" value="Delete"/> + <input type="button" class="btn btn-default" data-dismiss="modal" value="Cancel"/> + </div> + </div> + </div> + + </form> + </div> + </div> -@stop -@section('scripts') - @parent - <script type="text/javascript"> - $(".view-cr").click( function(){ - alert("The functionality to view a Compute Resource is under construction."); - }); - $('.filterinput').keyup(function() { - var value = $(this).val(); - if (value.length > 0) { - $("table tr").each(function(index) { - if (index != 0) { - - $row = $(this); - - var id = $row.find("td:first").text(); - id = $.trim( id); - id = id.substr( 0, value.length); - if (id == value ) - { - $(this).slideDown(); - } - else { - $(this).slideUp(); + </div> + + @stop + @section('scripts') + @parent + <script type="text/javascript"> + $(".view-cr").click(function () { + alert("The functionality to view a Compute Resource is under construction."); + }); + $('.filterinput').keyup(function () { + var value = $(this).val(); + if (value.length > 0) { + $("table tr").each(function (index) { + if (index != 0) { + + $row = $(this); + + var id = $row.find("td:first").text(); + id = $.trim(id); + id = id.substr(0, value.length); + if (id == value) { + $(this).slideDown(); + } + else { + $(this).slideUp(); + } } - } - }); - } else { - $("table tr").slideDown(); - } - return false; - }); - - $(".del-cr").click( function(){ - $(".delete-cr-name").html( "'" + $(this).data("delete-cr-name") + "'"); - $(".delete-crId").val( $(this).data("crid")); - $(".deploymentCount").html( $(this).data("deployment-count")); - }); + }); + } else { + $("table tr").slideDown(); + } + return false; + }); + + $(".del-cr").click(function () { + $(".delete-cr-name").html("'" + $(this).data("delete-cr-name") + "'"); + $(".delete-crId").val($(this).data("crid")); + $(".deploymentCount").html($(this).data("deployment-count")); + }); </script> -@stop \ No newline at end of file + @stop \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/resource/create-step3.blade.php ---------------------------------------------------------------------- diff --git a/app/views/resource/create-step3.blade.php b/app/views/resource/create-step3.blade.php index 39f6bfe..6fd12b7 100644 --- a/app/views/resource/create-step3.blade.php +++ b/app/views/resource/create-step3.blade.php @@ -1,32 +1,33 @@ @extends('layout.basic') @section('page-header') - @parent - {{ HTML::style('css/style.css') }} +@parent +{{ HTML::style('css/style.css') }} @stop @section('content') <div class="container"> - <div class="col-md-offset-2 col-md-8"> - <h3>Add Resource Data</h3> - <form role="form" method="POST" action="{{ URL::to('/') }}/cr/create"> + <div class="col-md-offset-2 col-md-8"> + <h3>Add Resource Data</h3> - - </form> - </div> + <form role="form" method="POST" action="{{ URL::to('/') }}/cr/create"> + + + </form> + </div> </div> @stop @section('scripts') - @parent - {{ HTML::script('js/script.js') }} +@parent +{{ HTML::script('js/script.js') }} + +<script> + $(document).ready(function () { - <script> - $(document).ready( function(){ - - }); - </script> + }); +</script> @stop \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2fbd9289/app/views/resource/create.blade.php ---------------------------------------------------------------------- diff --git a/app/views/resource/create.blade.php b/app/views/resource/create.blade.php index df301c4..913e7fc 100644 --- a/app/views/resource/create.blade.php +++ b/app/views/resource/create.blade.php @@ -1,44 +1,45 @@ @extends('layout.basic') @section('page-header') - @parent +@parent @stop @section('content') <div class="container"> - <div class="col-md-offset-2 col-md-8"> - <h3>Create a Resource</h3> - <form role="form" method="POST" action="{{ URL::to('/') }}/cr/create"> - <div class="form-group required"> - <label class="control-label">Host Name</label> - <input class="form-control hostName" maxlength="100" name="hostname" required="required"/> - </div> - <div class="form-group"> - <label class="control-label">Host Aliases</label> - <input class="form-control" maxlength="30" name="hostaliases[]"/> - <button type="button" class="btn btn-sm btn-default add-alias">Add More Aliases</button> - </div> - <div class="form-group"> - <label class="control-label">IP Addresses</label> - <input class="form-control" maxlength="30" name="ips[]"/> - <button type="button" class="btn btn-sm btn-default add-ip">Add More IP Addresses</button> - </div> - <div class="form-group"> - <label class="control-label">Resource Description</label> - <textarea class="form-control" maxlength="255" name="description"></textarea> - </div> - <div class="form-group"> - <input type="submit" class="btn btn-lg btn-primary" name="step1" value="Create"/> - <input type="reset" class="btn btn-lg btn-success" value="Reset"/> - </div> - </form> - </div> + <div class="col-md-offset-2 col-md-8"> + <h3>Create a Resource</h3> + + <form role="form" method="POST" action="{{ URL::to('/') }}/cr/create"> + <div class="form-group required"> + <label class="control-label">Host Name</label> + <input class="form-control hostName" maxlength="100" name="hostname" required="required"/> + </div> + <div class="form-group"> + <label class="control-label">Host Aliases</label> + <input class="form-control" maxlength="30" name="hostaliases[]"/> + <button type="button" class="btn btn-sm btn-default add-alias">Add More Aliases</button> + </div> + <div class="form-group"> + <label class="control-label">IP Addresses</label> + <input class="form-control" maxlength="30" name="ips[]"/> + <button type="button" class="btn btn-sm btn-default add-ip">Add More IP Addresses</button> + </div> + <div class="form-group"> + <label class="control-label">Resource Description</label> + <textarea class="form-control" maxlength="255" name="description"></textarea> + </div> + <div class="form-group"> + <input type="submit" class="btn btn-lg btn-primary" name="step1" value="Create"/> + <input type="reset" class="btn btn-lg btn-success" value="Reset"/> + </div> + </form> + </div> </div> @stop @section('scripts') - @parent - {{ HTML::script('js/script.js') }} +@parent +{{ HTML::script('js/script.js') }} @stop \ No newline at end of file
