Repository: airavata-php-gateway Updated Branches: refs/heads/develop caf1d4c6d -> 93eb29d41
Experiment Summary in Tabs for admins + Credential Store UI updated + Dashboard block changes + Data Movement Interface for Storage Resources updated 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/93eb29d4 Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/93eb29d4 Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/93eb29d4 Branch: refs/heads/develop Commit: 93eb29d41fa8b489a4664d882f240f97bd53c42b Parents: caf1d4c Author: Nipurn Doshi <[email protected]> Authored: Fri Dec 4 12:09:14 2015 -0500 Committer: Nipurn Doshi <[email protected]> Committed: Fri Dec 4 12:09:14 2015 -0500 ---------------------------------------------------------------------- app/libraries/AdminUtilities.php | 3 ++- app/libraries/CRUtilities.php | 9 ++++---- app/libraries/SRUtilities.php | 15 ++++++------ app/views/account/dashboard.blade.php | 21 +++++++++++++---- app/views/admin/manage-credentials.blade.php | 11 ++++++++- app/views/admin/manage-experiments.blade.php | 28 +++++++++++++++++++++-- 6 files changed, 67 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/93eb29d4/app/libraries/AdminUtilities.php ---------------------------------------------------------------------- diff --git a/app/libraries/AdminUtilities.php b/app/libraries/AdminUtilities.php index 149f6f2..a9fce72 100644 --- a/app/libraries/AdminUtilities.php +++ b/app/libraries/AdminUtilities.php @@ -73,7 +73,8 @@ class AdminUtilities public static function create_ssh_token(){ try{ - return Airavata::generateAndRegisterSSHKeys( Session::get('authz-token'), Session::get("gateway_id"), Session::get("username")); + $token = Airavata::generateAndRegisterSSHKeys( Session::get('authz-token'), Session::get("gateway_id"), Session::get("username")); + return Airavata::getAllUserSSHPubKeys( Session::get('authz-token'), Session::get("username") ); } catch (InvalidRequestException $ire) { CommonUtilities::print_error_message('p>Error in creating SSH Handshake. You might have to enable TLS in pga_config. </p>' . '<p>InvalidRequestException: ' . $ire->getMessage() . '</p>'); http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/93eb29d4/app/libraries/CRUtilities.php ---------------------------------------------------------------------- diff --git a/app/libraries/CRUtilities.php b/app/libraries/CRUtilities.php index cd2cbd5..c8f40fa 100755 --- a/app/libraries/CRUtilities.php +++ b/app/libraries/CRUtilities.php @@ -11,6 +11,7 @@ use Airavata\Model\Data\Movement\GridFTPDataMovement; use Airavata\Model\AppCatalog\ComputeResource\JobManagerCommand; use Airavata\Model\AppCatalog\ComputeResource\JobSubmissionProtocol; use Airavata\Model\Data\Movement\LOCALDataMovement; +use Airavata\Model\Data\Movement\DMType; use Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission; use Airavata\Model\AppCatalog\ComputeResource\MonitorMode; use Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager; @@ -278,7 +279,7 @@ class CRUtilities if ($inputs["dataMovementProtocol"] == DataMovementProtocol::LOCAL) /* LOCAL */ { $localDataMovement = new LOCALDataMovement(); - $localdmp = Airavata::addLocalDataMovementDetails(Session::get('authz-token'), $computeResource->computeResourceId, 0, $localDataMovement); + $localdmp = Airavata::addLocalDataMovementDetails(Session::get('authz-token'), $computeResource->computeResourceId, DMType::COMPUTE_RESOURCE, 0, $localDataMovement); if ($localdmp) print_r("The Local Data Movement has been added. Edit UI for the Local Data Movement Interface is yet to be made. @@ -296,7 +297,7 @@ class CRUtilities if ($update) $scpdmp = Airavata::updateSCPDataMovementDetails(Session::get('authz-token'), $inputs["dmiId"], $scpDataMovement); else - $scpdmp = Airavata::addSCPDataMovementDetails(Session::get('authz-token'), $computeResource->computeResourceId, 0, $scpDataMovement); + $scpdmp = Airavata::addSCPDataMovementDetails(Session::get('authz-token'), $computeResource->computeResourceId, DMType::COMPUTE_RESOURCE, 0, $scpDataMovement); } else if ($inputs["dataMovementProtocol"] == DataMovementProtocol::GridFTP) /* GridFTP */ { $gridFTPDataMovement = new GridFTPDataMovement(array( "securityProtocol" => $inputs["securityProtocol"], @@ -305,7 +306,7 @@ class CRUtilities if ($update) $gridftpdmp = Airavata::updateGridFTPDataMovementDetails(Session::get('authz-token'), $inputs["dmiId"], $gridFTPDataMovement); else - $gridftpdmp = Airavata::addGridFTPDataMovementDetails(Session::get('authz-token'), $computeResource->computeResourceId, 0, $gridFTPDataMovement); + $gridftpdmp = Airavata::addGridFTPDataMovementDetails(Session::get('authz-token'), $computeResource->computeResourceId, DMType::COMPUTE_RESOURCE, 0, $gridFTPDataMovement); } else if ($inputs["dataMovementProtocol"] == DataMovementProtocol::UNICORE_STORAGE_SERVICE) /* Unicore Storage Service */ { $unicoreDataMovement = new UnicoreDataMovement(array ( @@ -316,7 +317,7 @@ class CRUtilities if ($update) $unicoredmp = Airavata::updateUnicoreDataMovementDetails(Session::get('authz-token'), $inputs["dmiId"], $unicoreDataMovement); else - $unicoredmp = Airavata::addUnicoreDataMovementDetails(Session::get('authz-token'), $computeResource->computeResourceId, 0, $unicoreDataMovement); + $unicoredmp = Airavata::addUnicoreDataMovementDetails(Session::get('authz-token'), $computeResource->computeResourceId, DMType::COMPUTE_RESOURCE, 0, $unicoreDataMovement); } else /* other data movement protocols */ { print_r("Whoops! We haven't coded for this Data Movement Protocol yet. Still working on it. Please click <a href='" . URL::to('/') . "/cr/edit'>here</a> to go back to edit page for compute resource."); } http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/93eb29d4/app/libraries/SRUtilities.php ---------------------------------------------------------------------- diff --git a/app/libraries/SRUtilities.php b/app/libraries/SRUtilities.php index 2e64ca6..63cd38e 100644 --- a/app/libraries/SRUtilities.php +++ b/app/libraries/SRUtilities.php @@ -3,7 +3,7 @@ //Airavata classes - loaded from app/libraries/Airavata //Compute Resource classes -use Airavata\Model\AppCatalog\ComputeResource\DataMovementProtocol; +use Airavata\Model\Data\Movement\DataMovementProtocol; use Airavata\Model\AppCatalog\StorageResource\StorageResourceDescription; use Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference; use Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile; @@ -11,13 +11,14 @@ use Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile; use Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement; use Airavata\Model\AppCatalog\ComputeResource\JobManagerCommand; use Airavata\Model\AppCatalog\ComputeResource\JobSubmissionProtocol; -use Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement; +use Airavata\Model\Data\Movement\LOCALDataMovement; +use Airavata\Model\Data\Movement\DMType; use Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission; use Airavata\Model\AppCatalog\ComputeResource\MonitorMode; use Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager; use Airavata\Model\AppCatalog\ComputeResource\ResourceJobManagerType; use Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement; -use Airavata\Model\AppCatalog\ComputeResource\SecurityProtocol; +use Airavata\Model\Data\Movement\SecurityProtocol; use Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission; use Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement; //Gateway Classes @@ -87,7 +88,7 @@ class SRUtilities if ($inputs["dataMovementProtocol"] == DataMovementProtocol::LOCAL) /* LOCAL */ { $localDataMovement = new LOCALDataMovement(); - $localdmp = Airavata::addLocalDataMovementDetails(Session::get('authz-token'), $storageResource->storageResourceId, 0, $localDataMovement); + $localdmp = Airavata::addLocalDataMovementDetails(Session::get('authz-token'), $storageResource->storageResourceId, DMType::STORAGE_RESOURCE, 0, $localDataMovement); } else if ($inputs["dataMovementProtocol"] == DataMovementProtocol::SCP) /* SCP */ { $scpDataMovement = new SCPDataMovement(array( @@ -100,7 +101,7 @@ class SRUtilities if ($update) $scpdmp = Airavata::updateSCPDataMovementDetails(Session::get('authz-token'), $inputs["dmiId"], $scpDataMovement); else - $scpdmp = Airavata::addSCPDataMovementDetails(Session::get('authz-token'), $storageResource->storageResourceId, 0, $scpDataMovement); + $scpdmp = Airavata::addSCPDataMovementDetails(Session::get('authz-token'), $storageResource->storageResourceId, DMType::STORAGE_RESOURCE, 0, $scpDataMovement); } else if ($inputs["dataMovementProtocol"] == DataMovementProtocol::GridFTP) /* GridFTP */ { $gridFTPDataMovement = new GridFTPDataMovement(array( "securityProtocol" => $inputs["securityProtocol"], @@ -109,7 +110,7 @@ class SRUtilities if ($update) $gridftpdmp = Airavata::updateGridFTPDataMovementDetails(Session::get('authz-token'), $inputs["dmiId"], $gridFTPDataMovement); else - $gridftpdmp = Airavata::addGridFTPDataMovementDetails(Session::get('authz-token'), $storageResource->storageResourceId, 0, $gridFTPDataMovement); + $gridftpdmp = Airavata::addGridFTPDataMovementDetails(Session::get('authz-token'), $storageResource->storageResourceId, DMType::STORAGE_RESOURCE, 0, $gridFTPDataMovement); } else if ($inputs["dataMovementProtocol"] == DataMovementProtocol::UNICORE_STORAGE_SERVICE) /* Unicore Storage Service */ { $unicoreDataMovement = new UnicoreDataMovement(array ( @@ -120,7 +121,7 @@ class SRUtilities if ($update) $unicoredmp = Airavata::updateUnicoreDataMovementDetails(Session::get('authz-token'), $inputs["dmiId"], $unicoreDataMovement); else - $unicoredmp = Airavata::addUnicoreDataMovementDetails(Session::get('authz-token'), $storageResource->storageResourceId, 0, $unicoreDataMovement); + $unicoredmp = Airavata::addUnicoreDataMovementDetails(Session::get('authz-token'), $storageResource->storageResourceId, DMType::STORAGE_RESOURCE, 0, $unicoreDataMovement); } else /* other data movement protocols */ { print_r("Whoops! We haven't coded for this Data Movement Protocol yet. Still working on it. Please click <a href='" . URL::to('/') . "/cr/edit'>here</a> to go back to edit page for compute resource."); } http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/93eb29d4/app/views/account/dashboard.blade.php ---------------------------------------------------------------------- diff --git a/app/views/account/dashboard.blade.php b/app/views/account/dashboard.blade.php index 482e678..6bbf1bb 100644 --- a/app/views/account/dashboard.blade.php +++ b/app/views/account/dashboard.blade.php @@ -97,18 +97,18 @@ <h3>Manage Computing and Storage Resouces and Preferences for your Gateway</h3> <a href="{{URL::to('/')}}/cr/browse"> - <div class=" col-md-4 well"> + <div class=" col-md-3 well"> <div class="col-md-12"> <span class="glyphicon glyphicon-briefcase console-icon"></span> </div> <div class="col-md-12"> - <h4>Browse Compute Resources</h4> + <h4>Compute Resources</h4> </div> </div> </a> <a href="{{URL::to('/')}}/admin/dashboard/gateway"> - <div class=" col-md-4 well"> + <div class=" col-md-3 well"> <div class="col-md-12"> <span class="glyphicon glyphicon-sort console-icon"></span> </div> @@ -119,12 +119,23 @@ </a> <a href="{{URL::to('/')}}/sr/browse"> - <div class=" col-md-4 well"> + <div class=" col-md-3 well"> <div class="col-md-12"> <span class="glyphicon glyphicon-folder-open console-icon"></span> </div> <div class="col-md-12"> - <h4>Browse Storage Resources</h4> + <h4>Storage Resources</h4> + </div> + </div> + </a> + + <a href="{{URL::to('/')}}/admin/dashboard/credential-store"> + <div class=" col-md-3 well"> + <div class="col-md-12"> + <span class="glyphicon glyphicon-lock console-icon"></span> + </div> + <div class="col-md-12"> + <h4>Credential Store</h4> </div> </div> </a> http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/93eb29d4/app/views/admin/manage-credentials.blade.php ---------------------------------------------------------------------- diff --git a/app/views/admin/manage-credentials.blade.php b/app/views/admin/manage-credentials.blade.php index 4f456e1..4bd6038 100644 --- a/app/views/admin/manage-credentials.blade.php +++ b/app/views/admin/manage-credentials.blade.php @@ -42,6 +42,7 @@ </th> <th class="text-center">Public Key</th> </tr> + <tbody class="token-values"> @foreach( $tokens as $token => $publicKey) <tr> <td class=""> @@ -52,6 +53,7 @@ </td> </tr> @endforeach + </tbody> </table> @@ -145,7 +147,14 @@ type: "POST", url: "{{URL::to('/')}}/create-ssh-token" }).success( function( data){ - + + var tokenJson = data; + + $(".token-values").html(""); + $.each(tokenJson, function( token, pubkey){ + $(".token-values").append("<tr><td>" + token + "</td><td class='public-key'>" + pubkey + "</td></<tr>"); + }); + }).fail( function( data){ failureObject = $.parseJSON( data.responseText); $(".generate-ssh").after("<div class='alert alert-danger'>" + failureObject.error.message + "</div>"); http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/93eb29d4/app/views/admin/manage-experiments.blade.php ---------------------------------------------------------------------- diff --git a/app/views/admin/manage-experiments.blade.php b/app/views/admin/manage-experiments.blade.php index c3f009b..214f161 100644 --- a/app/views/admin/manage-experiments.blade.php +++ b/app/views/admin/manage-experiments.blade.php @@ -26,10 +26,19 @@ <button class="col-md-3 btn btn-primary get-experiment">Get</button> <div class="loading-img hide text-center"><img src="{{URL::to('/')}}/assets/ajax-loader.gif"/></div> - <div class="experiment-info col-md-12"> </div> </div> + <!-- Nav tabs --> + <ul class="nav nav-tabs" role="tablist" id="myTabs"> + <li role="presentation" class="active"><a href="#overview" aria-controls="overview" role="tab" data-toggle="tab">Overview</a></li> + <!-- + <li role="presentation"><a href="#expsummary" aria-controls="expsummary" role="tab" data-toggle="tab">Experiment Summary</a></li> + --> + </ul> + + <div class="tab-content"> + <div role="tabpanel" class="tab-pane active" id="overview"> <div class="well col-md-12"> <div class="col-md-10"> <div class='col-md-5'> @@ -277,6 +286,15 @@ <!-- </ul>--> <!-- </div>--> <!--</div>--> + + + </div> + <!-- + <div role="tabpanel" class="tab-pane" id="expsummary"> + <div class="experiment-info col-md-12"> + </div> + --> + </div> </div> <!-- /.container-fluid --> @@ -343,7 +361,13 @@ to be uncommented when actually in use. url: 'experiment/summary?expId=' + $(".experimentId").val(), type: 'get', success: function (data) { - $(".experiment-info").html(data); + //$(".experiment-info").html(data); + $("#myTabs").append('<li role="presentation"><a href="#' + $(".experimentId").val() + '" aria-controls="' + $(".experimentId").val() + '" role="tab" data-toggle="tab">' + $(".experimentId").val() + '</a></li>'); + $(".tab-content").append('<div role="tabpanel" class="tab-pane" id="' + $(".experimentId").val() + '">' + data + '</div>'); + $('#myTabs a[href="#' + $(".experimentId").val() + '"]').tab('show') // Select tab by name + + //$('#myTabs a[href="#expsummary"]').tab('show') // Select tab by name + //from time-conversion.js updateTime(); }
