You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by nd...@apache.org on 2015/11/12 16:21:56 UTC
[4/4] airavata-php-gateway git commit: 1) New Console UI after
logging in for Admins 2) Routing changes 3) Addition of Data Storage UI ( In
progress ) 4) Experiment Statistics UI changes
1) New Console UI after logging in for Admins
2) Routing changes
3) Addition of Data Storage UI ( In progress )
4) Experiment Statistics UI changes
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/ec87b34f
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/ec87b34f
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/ec87b34f
Branch: refs/heads/develop
Commit: ec87b34f30845cbf79db36f35793fb906591d045
Parents: ea9e0f1
Author: Nipurn Doshi <Nipurn Doshi>
Authored: Thu Nov 12 10:21:12 2015 -0500
Committer: Nipurn Doshi <Nipurn Doshi>
Committed: Thu Nov 12 10:21:12 2015 -0500
----------------------------------------------------------------------
app/controllers/AccountController.php | 2 +-
app/controllers/AdminController.php | 5 +-
app/libraries/CRUtilities.php | 14 ++++
app/libraries/Wsis/Wsis.php | 2 +
app/routes.php | 2 +-
app/views/admin/dashboard.blade.php | 47 +++++++++-----
app/views/admin/manage-experiments.blade.php | 27 ++++----
app/views/admin/manage-gateway.blade.php | 68 +++++++++++++++++++-
app/views/layout/basic.blade.php | 7 +-
app/views/partials/dashboard-block.blade.php | 12 ++--
.../partials/experiment-container.blade.php | 4 +-
composer.json | 3 +-
public/css/admin.css | 4 ++
13 files changed, 150 insertions(+), 47 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/app/controllers/AccountController.php
----------------------------------------------------------------------
diff --git a/app/controllers/AccountController.php b/app/controllers/AccountController.php
index 4785316..59b5133 100755
--- a/app/controllers/AccountController.php
+++ b/app/controllers/AccountController.php
@@ -203,7 +203,7 @@ class AccountController extends BaseController
return View::make('home');
}
- return Redirect::to("home");
+ return Redirect::to("admin/console");
}
public function forgotPassword()
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/app/controllers/AdminController.php
----------------------------------------------------------------------
diff --git a/app/controllers/AdminController.php b/app/controllers/AdminController.php
index bead073..05a0529 100644
--- a/app/controllers/AdminController.php
+++ b/app/controllers/AdminController.php
@@ -33,9 +33,7 @@ class AdminController extends BaseController {
return View::make( $view, $gatewayData);
}
else{
- Session::put("admin-nav", "exp-statistics");
- $view = "admin/manage-experiments";
- return View::make( $view);
+ return View::make("admin/dashboard");
}
}
@@ -83,6 +81,7 @@ class AdminController extends BaseController {
//Session::put("scigap_admin", true);
$crData = CRUtilities::getEditCRData();
$gateways = CRUtilities::getAllGatewayProfilesData();
+ //$dsData = CRUtilities::getAllDataStoragePreferences( $gateways);
$gatewayData = array(
"gateways" => $gateways,
"computeResources" => CRUtilities::getAllCRObjects(),
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/app/libraries/CRUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/CRUtilities.php b/app/libraries/CRUtilities.php
index ba89291..087047b 100755
--- a/app/libraries/CRUtilities.php
+++ b/app/libraries/CRUtilities.php
@@ -582,6 +582,20 @@ class CRUtilities
return $computeResources;
}
+ /**
+ * Get a list of all Data Storages available
+ * @param null
+ * @return
+ **/
+
+ public static function getAllDataStoragePreferences( $gateways){
+ $dspArray = array();
+ foreach( $gateways as $gateway){
+ $dspArray[] = Airavata::getAllGatewayDataStoragePreferences( Session::get('authz-token'), $gateway->gatewayId);
+ }
+ return $dspArray;
+ }
+
}
?>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/app/libraries/Wsis/Wsis.php
----------------------------------------------------------------------
diff --git a/app/libraries/Wsis/Wsis.php b/app/libraries/Wsis/Wsis.php
index 69c0e2f..57693b5 100755
--- a/app/libraries/Wsis/Wsis.php
+++ b/app/libraries/Wsis/Wsis.php
@@ -94,8 +94,10 @@ class Wsis {
try {
$this->userStoreManager = new UserStoreManager($service_url, $parameters);
$this->tenantManager = new TenantManager($service_url, $parameters);
+ /*
$this->userProfileManager = new UserProfileManager($service_url, $parameters);
$this->userInfoRecoveryManager = new UserInformationRecoveryManager($service_url, $parameters);
+ */
$this->oauthManger = new OAuthManager(Config::get('pga_config.wsis')['service-url'], $verify_peer, $cafile_path);
} catch (Exception $ex) {
throw new Exception("Unable to instantiate WSO2 IS client", 0, $ex);
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/app/routes.php
----------------------------------------------------------------------
diff --git a/app/routes.php b/app/routes.php
index 0878889..d402c9b 100755
--- a/app/routes.php
+++ b/app/routes.php
@@ -169,7 +169,7 @@ Route::get("admin/console", "AdminController@console");
Route::get("admin/dashboard", "AdminController@dashboard");
-Route::get("admin/dashboard/gateway", "AdminController@dashboard");
+Route::get("admin/dashboard/gateway", "AdminController@gatewayView");
Route::get("admin/dashboard/users", "AdminController@usersView");
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/app/views/admin/dashboard.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/dashboard.blade.php b/app/views/admin/dashboard.blade.php
index 77b57e0..4c7b931 100644
--- a/app/views/admin/dashboard.blade.php
+++ b/app/views/admin/dashboard.blade.php
@@ -2,6 +2,7 @@
@section('page-header')
@parent
+{{ HTML::style('css/admin.css')}}
@stop
@section('content')
@@ -19,49 +20,62 @@
@endif
<div class="row text-center">
- <h1>Admin Console</h1>
+ <h1>Let's get started!</h1>
</div>
<div class="row text-center admin-options">
<div class="row">
- <a href="{{URL::to('/')}}/manage/users">
+ <a href="{{URL::to('/')}}/admin/dashboard/experiments">
<div class="col-md-3 well">
<div class="col-md-12">
- <span class="glyphicon glyphicon-user"></span>
+ <span class="glyphicon glyphicon-off console-icon"></span>
</div>
<div class="col-md-12">
- Users
+ Experiments
</div>
</div>
</a>
- <a href="{{URL::to('/')}}/admin/dashboard">
+ <a href="{{URL::to('/')}}/admin/dashboard/users">
<div class=" col-md-offset-1 col-md-3 well">
<div class="col-md-12">
- <span class="glyphicon glyphicon-eye-open"></span>
+ <span class="glyphicon glyphicon-user console-icon"></span>
</div>
<div class="col-md-12">
- Admins
+ Users
</div>
</div>
</a>
- <a href="{{URL::to('/')}}/cr/browse">
+ <a href="{{URL::to('/')}}/admin/dashboard/roles">
<div class=" col-md-offset-1 col-md-3 well">
<div class="col-md-12">
- <span class="glyphicon glyphicon-briefcase"></span>
+ <span class="glyphicon glyphicon-eye-open console-icon"></span>
</div>
<div class="col-md-12">
- Resources
+ Roles
</div>
</div>
</a>
+
</div>
<div class="row">
- <div class="col-md-3 well">
+
+ <a href="{{URL::to('/')}}/cr/browse">
+ <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">
+ Resources
+ </div>
+ </div>
+ </a>
+
+ <div class="col-md-offset-1 col-md-3 well">
<div class="col-md-12">
- <span class="glyphicon glyphicon-tasks"></span>
+ <span class="glyphicon glyphicon-tasks console-icon"></span>
</div>
<div class="col-md-12">
Application Catalog
@@ -76,7 +90,7 @@
<div class=" col-md-offset-1 col-md-3 well">
<div class="col-md-12">
- <span class="glyphicon glyphicon-sort"></span>
+ <span class="glyphicon glyphicon-sort console-icon"></span>
</div>
<div class="col-md-12">
Gateways
@@ -87,10 +101,10 @@
<option value="{{URL::to('/')}}/gp/browse">Browse</option>
</select>
</div>
-
+ <!--
<div class=" col-md-offset-1 col-md-3 well">
<div class="col-md-12">
- <span class="glyphicon glyphicon-list-alt"></span>
+ <span class="glyphicon glyphicon-list-alt console-icon"></span>
</div>
<div class="col-md-12">
Reports
@@ -101,13 +115,14 @@
<div class="row">
<div class="col-md-3 well">
<div class="col-md-12">
- <span class="glyphicon glyphicon-question-sign"></span>
+ <span class="glyphicon glyphicon-question-sign console-icon"></span>
</div>
<div class="col-md-12">
Support
</div>
</div>
</div>
+ -->
</div>
</div>
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/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 ad5c0d6..c3f009b 100644
--- a/app/views/admin/manage-experiments.blade.php
+++ b/app/views/admin/manage-experiments.blade.php
@@ -13,17 +13,10 @@
@include( 'partials/dashboard-block')
<div id="page-wrapper">
<div class="col-md-12">
- <h3>Experiments</h3>
+ <h2>Experiments</h2>
</div>
<div class="container-fluid">
-<div class="row">
- <!--
- <div class="well col-md-2 text-center">
- Total 500
- </div>
- -->
-
<div class="well form-group form-horizontal col-md-12">
<label class="col-md-3">Enter Experiment Id to View Summary :</label>
@@ -36,9 +29,7 @@
<div class="experiment-info col-md-12">
</div>
</div>
-</div>
-<div class="dates row">
<div class="well col-md-12">
<div class="col-md-10">
<div class='col-md-5'>
@@ -83,7 +74,6 @@
</div>
<div class="experiment-statistics"></div>
<div class="loading-img-statistics hide text-center"><img src="{{URL::to('/')}}/assets/ajax-loader.gif"/></div>
-</div>
<!--<div class="row">-->
<!-- <div class="col-lg-12">-->
@@ -387,7 +377,8 @@ to be uncommented when actually in use.
$("#datetimepicker10").find("input").val( todayDate);
todayDate = moment(todayDate).utc().format('MM/DD/YYYY hh:mm a');
ydayDate = moment(ydayDate).utc().format('MM/DD/YYYY hh:mm a');
- getExperiments( ydayDate, todayDate);
+ var msg = "Experiments statistics from last 24 hours";
+ getExperiments( ydayDate, todayDate, msg);
});
$(".oneWeekExp").click( function(){
@@ -397,7 +388,8 @@ to be uncommented when actually in use.
$("#datetimepicker10").find("input").val( todayDate);
todayDate = moment(todayDate).utc().format('MM/DD/YYYY hh:mm a');
ydayDate = moment(ydayDate).utc().format('MM/DD/YYYY hh:mm a');
- getExperiments( ydayDate, todayDate);
+ var msg = "Experiments statistics from last week";
+ getExperiments( ydayDate, todayDate, msg);
})
$("#getStatistics").click(function () {
@@ -412,14 +404,19 @@ to be uncommented when actually in use.
}
});
- function getExperiments( startTime, endTime){
+ // Load experiments from the last 24 hours on page load.
+ $(".oneDayExp").click();
+
+ function getExperiments( startTime, endTime, msg){
$(".experiment-statistics").html("");
$(".loading-img-statistics").removeClass("hide");
$.ajax({
url: 'experimentStatistics?fromTime=' + startTime + '&' + 'toTime=' + endTime,
type: 'get',
success: function (data) {
- $(".experiment-statistics").html(data);
+ if( msg == null)
+ msg = "Experiment Statistics from " + startTime + " to " + endTime;
+ $(".experiment-statistics").html( "<h2 class='text-center'>" + msg + "</h2><hr/>" + data);
}
}).complete(function () {
$(".loading-img-statistics").addClass("hide");
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/app/views/admin/manage-gateway.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/manage-gateway.blade.php b/app/views/admin/manage-gateway.blade.php
index 6910543..96fb926 100644
--- a/app/views/admin/manage-gateway.blade.php
+++ b/app/views/admin/manage-gateway.blade.php
@@ -80,10 +80,11 @@
</div>
@endif
</div>
+
<div class="col-md-10">
@if( isset( $gp->profile->computeResourcePreferences) )
<div>
- <h3>Compute Resources Preferences :</h3>
+ <h3>Compute Resource Preferences :</h3>
</div>
<div class="accordion-inner">
<div class="panel-group" id="accordion-{{$indexGP}}">
@@ -151,6 +152,71 @@
</form>
-->
</div>
+
+ <div class="col-md-10">
+ <button class="btn btn-default add-dsp" data-gpid="{{$gp->gatewayId}}"><span
+ class="glyphicon glyphicon-plus"></span> Add a Data Storage Preference
+ </button>
+ </div>
+
+ <div class="col-md-10">
+ @if( isset( $gp->profile->dataStoragePreferences) )
+ <div>
+ <h3>Data Storage Preferences :</h3>
+ </div>
+
+ <div class="accordion-inner">
+ <div class="panel-group" id="accordion-{{$indexGP}}">
+ @foreach( (array)$gp->profile->dataStoragePreferences as $indexDSP
+ => $dsp )
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <h4 class="panel-title">
+ <a class="accordion-toggle collapsed gateway-name"
+ data-toggle="collapse" data-parent="#accordion"
+ href="#collapse-dsp-{{$indexGP}}-{{$indexDSP}}">
+ {{ $dsp->dataMovememtResourceId }}
+ </a>
+ @if(Session::has("admin"))
+ <div class="pull-right col-md-2 gateway-options fade">
+ <span class="glyphicon glyphicon-remove remove-resource"
+ style="cursor:pointer;" data-toggle="modal"
+ data-target="#remove-resource-block"
+ data-dsp-id="{{$ds->computeResourceId}}"
+ data-gp-id="{{ $gp->gatewayId }}"></span>
+ </div>
+ @endif
+ </h4>
+ </div>
+ <div id="collapse-dsp-{{$indexGP}}-{{$indexDSP}}"
+ class="panel-collapse collapse">
+ <div class="panel-body">
+ <div class="app-data-storage-preferences-block">
+ <form action="{{URL::to('/')}}/gp/update-dsp"
+ method="POST">
+ <input type="hidden" name="gatewayId" id="gatewayId"
+ value="{{$gp->gatewayId}}">
+ <input type="hidden" name="dataStorageId"
+ id="gatewayId"
+ value="{{$crp->dataMovememtResourceId}}">
+
+ <div class="form-horizontal">
+ @include('partials/gateway-preferences',
+ array('computeResource' => $crp->crDetails,
+ 'crData' => $crData, 'preferences'=>$crp,
+ 'show'=>true))
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+ @endforeach
+ </div>
+ </div>
+ @endif
+
+ </div>
</div>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/app/views/layout/basic.blade.php
----------------------------------------------------------------------
diff --git a/app/views/layout/basic.blade.php b/app/views/layout/basic.blade.php
index 475ba6e..ea4c1da 100755
--- a/app/views/layout/basic.blade.php
+++ b/app/views/layout/basic.blade.php
@@ -49,7 +49,12 @@ var fullName = "{{Session::get("user-profile")["firstname"] . " " . Session::get
@endif
<!-- PGA UI lies here. Do not touch. -->
-<div class="row">
+<style>
+.content-area{
+ margin:0;
+}
+</style>
+<div class="row content-area">
@yield('content')
</div>
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/app/views/partials/dashboard-block.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/dashboard-block.blade.php b/app/views/partials/dashboard-block.blade.php
index 5ca1088..563e6a7 100644
--- a/app/views/partials/dashboard-block.blade.php
+++ b/app/views/partials/dashboard-block.blade.php
@@ -5,17 +5,17 @@
<li
@if( Session::has("admin-nav") && Session::get("admin-nav") == "exp-statistics") class="active" @endif>
<a class="dashboard-link" href="{{ URL::to('/')}}/admin/dashboard/experiments">
- <i class="fa fa-fw fa-experiments"></i>Experiment Statistics
+ <span class="glyphicon glyphicon-off"></span> Experiment Statistics
</a>
</li>
<li
@if( Session::has("admin-nav") && Session::get("admin-nav") == "manage-users") class="active" @endif>
- <a class="dashboard-link" href="{{ URL::to('/')}}/admin/dashboard/users"><i class="fa fa-fw fa-bar-chart-o"></i> Users</a>
+ <a class="dashboard-link" href="{{ URL::to('/')}}/admin/dashboard/users"><span class="glyphicon glyphicon-user"></span> Users</a>
</li>
<li
@if( Session::has("admin-nav") && Session::get("admin-nav") == "manage-roles") class="active" @endif>
- <a class="dashboard-link" href="{{ URL::to('/')}}/admin/dashboard/roles"><i class="fa fa-fw fa-table"></i>Roles</a>
+ <a class="dashboard-link" href="{{ URL::to('/')}}/admin/dashboard/roles"><span class="glyphicon glyphicon-eye-open"></span> Roles</a>
</li>
<!-- <li-->
@@ -24,7 +24,7 @@
<!-- Store</a>-->
<!-- </li>-->
<li>
- <a><i class="fa fa-fw fa-table"></i>Compute Resources</a>
+ <a><span class="glyphicon glyphicon-briefcase"></span> Compute Resources</a>
<ul>
@if(Session::has("admin"))
<li
@@ -42,7 +42,7 @@
</li>
<li>
- <a><i class="fa fa-fw fa-table"></i>App Catalog</a>
+ <a><span class="glyphicon glyphicon-tasks"></span> App Catalog</a>
<ul>
@if(Session::has("admin") || Session::has("admin-read-only"))
<li
@@ -64,7 +64,7 @@
<li
@if( Session::has("admin-nav") && Session::get("admin-nav") == "gateway-prefs") class="active" @endif>
- <a class="dashboard-link" href="{{ URL::to('/')}}/admin/dashboard/gateway"><i class="fa fa-fw fa-dashboard"></i>@if(
+ <a class="dashboard-link" href="{{ URL::to('/')}}/admin/dashboard/gateway"><span class="glyphicon glyphicon-sort"></span> @if(
Session::has("scigap_admin"))Gateways @else Gateway Preferences @endif</a>
</li>
<!-- <li>-->
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/app/views/partials/experiment-container.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-container.blade.php b/app/views/partials/experiment-container.blade.php
index 493bc73..defae90 100644
--- a/app/views/partials/experiment-container.blade.php
+++ b/app/views/partials/experiment-container.blade.php
@@ -1,9 +1,9 @@
@if ( isset($expContainer))
@if (sizeof($expContainer) == 0)
@if (isset($pageNo) && $pageNo == 1) {
- CommonUtilities::print_warning_message('No results found. Please try again.')
+ {{ CommonUtilities::print_warning_message('No results found. Please try again.') }}
@else
- CommonUtilities::print_warning_message('No more results found.')
+ {{ CommonUtilities::print_warning_message('No more results found.') }}
@endif
@else
<div id="re" class="table-responsive">
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/composer.json
----------------------------------------------------------------------
diff --git a/composer.json b/composer.json
index e9d4734..4ef0089 100755
--- a/composer.json
+++ b/composer.json
@@ -6,7 +6,8 @@
"require": {
"laravel/framework": "4.2.*",
"teepluss/theme": "1.*@dev",
- "phpmailer/phpmailer": "v5.2.13"
+ "phpmailer/phpmailer": "v5.2.13",
+ "moon/properties": "0.1"
},
"autoload": {
"classmap": [
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec87b34f/public/css/admin.css
----------------------------------------------------------------------
diff --git a/public/css/admin.css b/public/css/admin.css
index 9ab3253..9259ec9 100644
--- a/public/css/admin.css
+++ b/public/css/admin.css
@@ -17,6 +17,10 @@ body {
}
}
+.console-icon{
+ font-size: 3em;
+}
+
#wrapper {
padding-left: 0;
}