You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2015/07/14 18:38:17 UTC

[12/40] airavata-php-gateway git commit: making CR view read only

making CR view read only


Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/48bec91b
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/48bec91b
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/48bec91b

Branch: refs/heads/0.15-release-branch
Commit: 48bec91b3a153a57c5c61e7231efd6a5f7014509
Parents: 2cf2103
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jun 10 00:43:43 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jun 10 01:27:43 2015 +0530

----------------------------------------------------------------------
 app/controllers/ComputeResource.php      |  47 +++-
 app/routes.php                           |   2 +
 app/views/partials/queue-block.blade.php |  20 +-
 app/views/resource/browse.blade.php      |   7 +-
 app/views/resource/view.blade.php        | 371 ++++++++++++++++++++++++++
 5 files changed, 434 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/48bec91b/app/controllers/ComputeResource.php
----------------------------------------------------------------------
diff --git a/app/controllers/ComputeResource.php b/app/controllers/ComputeResource.php
index e3295bb..79a2305 100755
--- a/app/controllers/ComputeResource.php
+++ b/app/controllers/ComputeResource.php
@@ -48,7 +48,7 @@ class ComputeResource extends BaseController
         }
 
         if ($computeResourceId != "") {
-            $computeResource = AppUtilities::get_compute_resource($computeResourceId);
+            $computeResource = CRUtilities::get_compute_resource($computeResourceId);
             $jobSubmissionInterfaces = array();
             $dataMovementInterfaces = array();
             $addedJSP = array();
@@ -169,6 +169,51 @@ class ComputeResource extends BaseController
         return Redirect::to("cr/edit?crId=" . Input::get("crId") . $tabName);
     }
 
+    public function viewView()
+    {
+
+        $data = CRUtilities::getEditCRData();
+        $computeResourceId = "";
+        if (Input::has("crId"))
+            $computeResourceId = Input::get("crId");
+        else if (Session::has("computeResource")) {
+            $computeResource = Session::get("computeResource");
+            $computeResourceId = $computeResource->computeResourceId;
+        }
+
+        if ($computeResourceId != "") {
+            $computeResource = CRUtilities::get_compute_resource($computeResourceId);
+            $jobSubmissionInterfaces = array();
+            $dataMovementInterfaces = array();
+            $addedJSP = array();
+            $addedDMI = array();
+            //var_dump( $computeResource->jobSubmissionInterfaces); exit;
+            if (count($computeResource->jobSubmissionInterfaces)) {
+                foreach ($computeResource->jobSubmissionInterfaces as $JSI) {
+                    $jobSubmissionInterfaces[] = CRUtilities::getJobSubmissionDetails($JSI->jobSubmissionInterfaceId, $JSI->jobSubmissionProtocol);
+                    $addedJSP[] = $JSI->jobSubmissionProtocol;
+                }
+            }
+            //var_dump( CRUtilities::getJobSubmissionDetails( $data["computeResource"]->jobSubmissionInterfaces[0]->jobSubmissionInterfaceId, 1) ); exit;
+            if (count($computeResource->dataMovementInterfaces)) {
+                foreach ($computeResource->dataMovementInterfaces as $DMI) {
+                    $dataMovementInterfaces[] = CRUtilities::getDataMovementDetails($DMI->dataMovementInterfaceId, $DMI->dataMovementProtocol);
+                    $addedDMI[] = $DMI->dataMovementProtocol;
+                }
+            }
+
+            $data["computeResource"] = $computeResource;
+            $data["jobSubmissionInterfaces"] = $jobSubmissionInterfaces;
+            $data["dataMovementInterfaces"] = $dataMovementInterfaces;
+            $data["addedJSP"] = $addedJSP;
+            $data["addedDMI"] = $addedDMI;
+            //var_dump($data["jobSubmissionInterfaces"]); exit;
+            return View::make("resource/view", $data);
+        } else
+            return View::make("resource/browse")->with("login-alert", "Unable to retrieve this Compute Resource. Please report this error to devs.");
+
+    }
+
     public function deleteActions()
     {
 

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/48bec91b/app/routes.php
----------------------------------------------------------------------
diff --git a/app/routes.php b/app/routes.php
index 7104b5e..d6cb53e 100755
--- a/app/routes.php
+++ b/app/routes.php
@@ -101,6 +101,8 @@ Route::get("cr/edit", "ComputeResource@editView");
 
 Route::post("cr/edit", "ComputeResource@editSubmit");
 
+Route::get("cr/view", "ComputeResource@viewView");
+
 Route::get("cr/browse", "ComputeResource@browseView");
 
 Route::post("cr/delete-jsi", "ComputeResource@deleteActions");

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/48bec91b/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 e805b1e..ac0008a 100644
--- a/app/views/partials/queue-block.blade.php
+++ b/app/views/partials/queue-block.blade.php
@@ -1,7 +1,8 @@
 <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>
+    <textarea class="form-control" maxlength="255" name="qdesc" placeholder="Queue Description"
+    @if( isset( $readOnly)){{ "readOnly" }}@endif>@if( isset( $queueData)
+    ){{ $queueData->queueDescription }}@endif</textarea>
 </div>
 <div class="form-group">
     <label class="control-label">Queue Max Run Time
@@ -9,27 +10,32 @@
     </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"/>
+           placeholder="Queue Max Run Time"
+    @if( isset( $readOnly)){{ "readOnly" }}@endif/>
 </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"/>
+           maxlength="30" name="qmaxnodes" placeholder="Queue Max Nodes"
+    @if( isset( $readOnly)){{ "readOnly" }}@endif/>
 </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"/>
+           placeholder="Queue Max Processors"
+    @if( isset( $readOnly)){{ "readOnly" }}@endif/>
 </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"/>
+           placeholder="Max Jobs In Queue"
+    @if( isset( $readOnly)){{ "readOnly" }}@endif/>
 </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"/>
+           maxlength="30" name="qmaxmemoryinqueue" placeholder="Max Memory For Queue"
+    @if( isset( $readOnly)){{ "readOnly" }}@endif/>
 </div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/48bec91b/app/views/resource/browse.blade.php
----------------------------------------------------------------------
diff --git a/app/views/resource/browse.blade.php b/app/views/resource/browse.blade.php
index d50e359..d163490 100644
--- a/app/views/resource/browse.blade.php
+++ b/app/views/resource/browse.blade.php
@@ -50,8 +50,8 @@
                             </a>
                         </td>
                         <td>
-                            <a class="view-cr" href="#"> <!-- {{URL::to('/')}}/cr/summary?crId={{ $crId }}"> -->
-                                <span class="glyphicon glyphicon-list"></span>
+                            <a href="{{URL::to('/')}}/cr/view?crId={{ $crId }}" title="Edit">
+                            <span class="glyphicon glyphicon-list"></span>
                             </a>
                         </td>
                         <td>
@@ -104,9 +104,6 @@
     @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) {

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/48bec91b/app/views/resource/view.blade.php
----------------------------------------------------------------------
diff --git a/app/views/resource/view.blade.php b/app/views/resource/view.blade.php
new file mode 100644
index 0000000..cb1e5f9
--- /dev/null
+++ b/app/views/resource/view.blade.php
@@ -0,0 +1,371 @@
+@extends('layout.basic')
+
+@section('page-header')
+@parent
+{{ HTML::style('css/style.css') }}
+@stop
+
+@section('content')
+
+<div class="container">
+<div class="col-md-offset-2 col-md-8">
+
+<input type="hidden" class="base-url" value="{{URL::to('/')}}"/>
+
+<div class="well">
+    <h4>Compute Resource : {{ $computeResource->hostName }}
+        <div class="pull-right">
+            <a href="{{URL::to('/')}}/cr/edit?crId={{Input::get('crId') }}" title="Edit">
+                <span class="glyphicon glyphicon-pencil"></span>
+            </a>
+        </div>
+    </h4>
+</div>
+@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>
+        <input type="hidden" name="crId" value="{{Input::get('crId') }}"/>
+        <input type="hidden" name="cr-edit" value="resDesc"/>
+
+        <div class="form-group required">
+            <label>Host Name</label>
+            <input readonly class="form-control hostName" value="{{ $computeResource->hostName }}"/>
+        </div>
+        <div class="form-group">
+            @if( count( $computeResource->hostAliases) )
+            <label>Host Aliases</label>
+            @foreach( $computeResource->hostAliases as $hostAlias )
+            <input readonly class="form-control" value="{{$hostAlias}}" maxlength="30" name="hostaliases[]"/>
+            @endforeach
+            @endif
+        </div>
+        <div class="form-group">
+            @if( count( $computeResource->ipAddresses))
+            <label class="control-label">IP Addresses</label>
+            @foreach( $computeResource->ipAddresses as $ip )
+            <input readonly class="form-control" value="{{ $ip }}" maxlength="30" name="ips[]"/>
+            @endforeach
+            @endif
+        </div>
+        <div class="form-group">
+            <label class="control-label">Resource Description</label>
+            <textarea readonly class="form-control" maxlength="255" name="description">{{
+                $computeResource->resourceDescription
+                }}</textarea>
+        </div>
+        <div class="form-group">
+            <label class="control-label">Maximum Memory Per Node ( In MB )</label>
+            <input readonly type="number" min="0" class="form-control" value="{{ $computeResource->maxMemoryPerNode }}"
+                   maxlength="30" name="maxMemoryPerNode"/>
+        </div>
+    </form>
+
+</div>
+
+<div class="tab-pane" id="tab-queues">
+
+    @if( is_array( $computeResource->batchQueues) )
+    <h3>Existing Queues :</h3>
+
+    <div class="panel-group" id="accordion">
+        @foreach( $computeResource->batchQueues as $index => $queue)
+        <div class="panel panel-default">
+            <div class="panel-heading">
+                <h4 class="panel-title">
+                    <a class="accordion-toggle collapsed existing-queue-name" data-toggle="collapse"
+                       data-parent="#accordion" href="#collapse-{{$index}}">{{ $queue->queueName }}</a>
+                </h4>
+            </div>
+            <div id="collapse-{{$index}}" class="panel-collapse collapse">
+                <div class="panel-body">
+                    <form>
+                        <div class="queue">
+                            <div class="form-group required">
+                                <label>Queue Name
+                                    <small> ( cannot be changed.)</small>
+                                </label>
+                                <input class="form-control" value="{{ $queue->queueName }}" maxlength="30" name="qname"
+                                       placeholder="Queue Name" readonly/>
+                            </div>
+                            @include('partials/queue-block', array('queueData'=>$queue, 'readOnly'=>true))
+                        </div>
+                    </form>
+                </div>
+            </div>
+        </div>
+        @endforeach
+    </div>
+    @endif
+
+</div>
+
+<div class="tab-pane" id="tab-filesystem">
+
+    <form role="form">
+        <div class="form-group">
+            <h3>FileSystem</h3>
+            @foreach( $fileSystems as $index => $fileSystem)
+            <label>{{ $fileSystem }}</label>
+            <input readonly class="form-control" name="fileSystems[{{ $index }}]" placeholder="{{ $fileSystem }}"
+                   value="@if( isset( $computeResource->fileSystems[ $index]) ){{ $computeResource->fileSystems[ $index] }} @endif"/>
+            @endforeach
+            </select>
+        </div>
+    </form>
+
+</div>
+
+<div class="tab-pane" id="tab-jobSubmission">
+    <br/><br/><br/><br/>
+    @if( count( $jobSubmissionInterfaces ) )
+    <div class="job-edit-info">
+        @foreach( $jobSubmissionInterfaces as $index => $JSI )
+
+        <div class="job-protocol-block">
+            <form role="form">
+                <?php $selectedJspIndex = $computeResource->jobSubmissionInterfaces[$index]->jobSubmissionProtocol; ?>
+
+                <h4>Job Submission Protocol : {{ $jobSubmissionProtocols[ $selectedJspIndex] }}</h4>
+                @if( $selectedJspIndex == $jobSubmissionProtocolsObject::LOCAL)
+                <div class="select-resource-manager-type">
+                    <div class="form-group required">
+                        <label>Selected resource manager type</label>
+                        <select disabled="true" name="resourceJobManagerType"
+                                class="form-control selected-resource-manager"
+                                required="required">
+                            @foreach( $resourceJobManagerTypes as $index => $rJmT)
+                            <option value="{{ $index }}"
+                            @if( $JSI->resourceJobManager->resourceJobManagerType == $index ) selected @endif >{{ $rJmT
+                            }}</option>
+                            @endforeach
+                        </select>
+                    </div>
+                    <div class="form-group">
+                        <label class="control-label">Push Monitoring End Point</label>
+                        <input disabled type="text" class="form-control" name="pushMonitoringEndpoint"
+                               value="{{ $JSI->resourceJobManager->pushMonitoringEndpoint }}"/>
+                    </div>
+                    <div class="form-group">
+                        <label class="control-label">Job Manager Bin Path</label>
+                        <input disabled type="text" class="form-control" name="jobManagerBinPath"
+                               value="{{ $JSI->resourceJobManager->jobManagerBinPath }}"/>
+                    </div>
+                    <div class="form-group">
+                        <h3>Job Manager Commands</h3>
+                        @foreach( $jobManagerCommands as $index => $jmc)
+                        <label class="control-label">{{ $jmc }}</label>
+                        <input disabled class="form-control" name="jobManagerCommands[{{ $index }}]"
+                               placeholder="{{ $jmc }}"
+                               value="@if( isset( $JSI->resourceJobManager->jobManagerCommands[$index] ) ) {{ $JSI->resourceJobManager->jobManagerCommands[$index] }} @endif"/>
+                        @endforeach
+                        </select>
+                    </div>
+                </div>
+                @elseif( $selectedJspIndex == $jobSubmissionProtocolsObject::SSH)
+                <div class="form-group required">
+                    <label>Selected Security Protocol</label>
+                    <select disabled="true" name="securityProtocol" required="required">
+                        @foreach( $securityProtocols as $index => $sp)
+                        <option value="{{ $index }}"
+                        @if( $JSI->securityProtocol == $index ) selected @endif>{{ $sp }}</option>
+                        @endforeach
+                    </select>
+                </div>
+
+                <div class="form-group">
+                    <label class="control-label">Alternate SSH Host Name</label>
+                    <input readonly class='form-control' name='alternativeSSHHostName'
+                           value="{{ $JSI->alternativeSSHHostName}}"/>
+                </div>
+                <div class="form-group">
+                    <label class="control-label">SSH Port</label>
+                    <input readonly class='form-control' name='sshPort' value="{{ $JSI->sshPort }}"/>
+                </div>
+
+                <div class="form-group required">
+                    <label>Selected Monitoring Mode</label>
+                    <select disabled="true" name="monitorMode" required>
+                        @foreach( $monitorModes as $index => $mode)
+                        <option value="{{ $index }}"
+                        @if( $JSI->monitorMode == $index ) selected @endif>{{ $mode}}</option>
+                        @endforeach
+                    </select>
+                </div>
+
+                <div class="form-group">
+                    <div class="select-resource-manager-type">
+                        <div class="form-group required">
+                            <label>Selected resource manager type</label>
+                            <select disabled="true" name="resourceJobManagerType"
+                                    class="form-control selected-resource-manager"
+                                    required="required">
+                                @foreach( $resourceJobManagerTypes as $index => $rJmT)
+                                <option value="{{ $index }}"
+                                @if( $JSI->resourceJobManager->resourceJobManagerType == $index ) selected @endif >{{
+                                $rJmT }}</option>
+                                @endforeach
+                            </select>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label">Push Monitoring End Point</label>
+                            <input disabled type="text" class="form-control" name="pushMonitoringEndpoint"
+                                   value="{{ $JSI->resourceJobManager->pushMonitoringEndpoint }}"/>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label">Job Manager Bin Path</label>
+                            <input disabled type="text" class="form-control" name="jobManagerBinPath"
+                                   value="{{ $JSI->resourceJobManager->jobManagerBinPath }}"/>
+                        </div>
+                        <div class="form-group">
+                            <h3>Job Manager Commands</h3>
+                            @foreach( $jobManagerCommands as $index => $jmc)
+                            <label class="control-label">{{ $jmc }}</label>
+                            <input disabled class="form-control" name="jobManagerCommands[{{ $index }}]"
+                                   placeholder="{{ $jmc }}"
+                                   value="@if( isset( $JSI->resourceJobManager->jobManagerCommands[$index] ) ) {{ $JSI->resourceJobManager->jobManagerCommands[$index] }} @endif"/>
+                            @endforeach
+                        </div>
+                    </div>
+                </div>
+
+                @elseif( $selectedJspIndex == $jobSubmissionProtocolsObject::UNICORE)
+                <div class="form-group required">
+                    <label>Selected Security Protocol</label>
+                    <select disabled="true" name="securityProtocol" required="required">
+                        @foreach( $securityProtocols as $index => $sp)
+                        <option value="{{ $index }}"
+                        @if( $JSI->securityProtocol == $index ) selected @endif>{{ $sp }}</option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="form-group">
+                    <label class="form-label">Unicore End Point URL</label>
+                    <input readonly class='form-control' name='unicoreEndPointURL'
+                           value="{{ $JSI->unicoreEndPointURL }}"/>
+                </div>
+                @endif
+            </form>
+
+        </div>
+        @endforeach
+    </div>
+    @endif
+
+    <div class="select-job-protocol hide">
+        <form>
+            <div class="form-group">
+                <label class="control-label">Job Submission Protocol:</label>
+                <select disabled="true" name="jobSubmissionProtocol" class="form-control selected-job-protocol"
+                        required="required">
+                    <option></option>
+                    @foreach( $jobSubmissionProtocols as $index => $jobSubmissionProtocol)
+                    @if( ! in_array( $index, $addedJSP))
+                    <option value="{{ $index }}">{{ $jobSubmissionProtocol }}</option>
+                    @endif
+                    @endforeach
+                </select>
+            </div>
+        </form>
+    </div>
+
+</div>
+
+<div class="tab-pane" id="tab-dataMovement">
+    @if( count( $dataMovementInterfaces ) )
+    <div class="job-edit-info">
+        <br/><br/><br/>
+        @foreach( $dataMovementInterfaces as $index => $DMI )
+        <div class="data-movement-block">
+            <form>
+                <?php $selectedDMIIndex = $computeResource->dataMovementInterfaces[$index]->dataMovementProtocol; ?>
+                <h4>Data Movement Protocol : {{ $dataMovementProtocols[ $selectedDMIIndex] }}</h4>
+                @if( $selectedDMIIndex == $dataMovementProtocolsObject::LOCAL)
+                <!-- Nothing here on local UI -->
+                @elseif( $selectedDMIIndex == $dataMovementProtocolsObject::SCP)
+                <div class="form-group">
+                    <label class="control-label">Selected Security Protocol</label>
+                    <select disabled="true" 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 readonly class='form-control' name='alternativeSSHHostName'
+                           value="{{ $DMI->alternativeSCPHostName }}"/>
+                </div>
+                <div class="form-group">
+                    <label class="control-label">SSH Port</label>
+                    <input readonly class='form-control' name='sshPort' value="{{ $DMI->sshPort }}"/>
+                </div>
+                @elseif( $selectedDMIIndex == $dataMovementProtocolsObject::GridFTP)
+                <div class="form-group">
+                    <label class="control-label">Select Security Protocol</label>
+                    <select disabled="true" 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 required">
+                            <label class="control-label">Grid FTP End Points</label>
+                            @foreach( $DMI->gridFTPEndPoints as $endPoint)
+                            <input readonly class="form-control" maxlength="30" name="gridFTPEndPoints[]"
+                                   required="required"
+                                   value="{{$endPoint}}"/>
+                            @endforeach
+                        </div>
+                    </div>
+                </div>
+                @elseif( $selectedDMIIndex == $dataMovementProtocolsObject::UNICORE_STORAGE_SERVICE)
+                <div class="form-group">
+                    <label class="control-label">Select Security Protocol</label>
+                    <select disabled="true" 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 required">
+                            <label class="control-label">Unicore End Point URL</label>
+                            <input readonly class="form-control" maxlength="30" name="unicoreEndPointURL"
+                                   required="required"
+                                   value="{{ $DMI->unicoreEndPointURL }}"/>
+                        </div>
+                    </div>
+                </div>
+                @endif
+            </form>
+        </div>
+        @endforeach
+    </div>
+    @endif
+</div>
+
+</div>
+</div>
+
+@stop
\ No newline at end of file