Repository: airavata-php-gateway
Updated Branches:
  refs/heads/master 4308a8251 -> b70ad1326


Adding Gateway Monitoring capability for Super Admin


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/7527a6b2
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/7527a6b2
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/7527a6b2

Branch: refs/heads/master
Commit: 7527a6b2173ed87b90603f832168aa44e7f7ba43
Parents: 71079c5
Author: nipunhere <[email protected]>
Authored: Fri May 8 13:23:01 2015 -0400
Committer: nipunhere <[email protected]>
Committed: Fri May 8 13:23:01 2015 -0400

----------------------------------------------------------------------
 app/controllers/AdminController.php             | 21 ++++-
 app/controllers/ExperimentController.php        |  1 +
 app/libraries/AdminUtilities.php                | 12 +++
 app/libraries/Utilities.php                     |  7 ++
 app/routes.php                                  | 10 ++-
 app/views/admin/manage-admin.blade.php          |  2 +-
 app/views/admin/manage-gateway.blade.php        | 81 ++++++++++++++------
 app/views/partials/experiment-inputs.blade.php  | 11 +--
 .../partials/experiment-queue-block.blade.php   | 26 ++++---
 9 files changed, 128 insertions(+), 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7527a6b2/app/controllers/AdminController.php
----------------------------------------------------------------------
diff --git a/app/controllers/AdminController.php 
b/app/controllers/AdminController.php
index c55718e..27a1d75 100644
--- a/app/controllers/AdminController.php
+++ b/app/controllers/AdminController.php
@@ -7,7 +7,7 @@ class AdminController extends BaseController {
        public function __construct()
        {
                $this->beforeFilter('verifyadmin');
-               $idStore = new WSISUtilities();
+               $idStore = new WSISUtilities(); 
         try
            {
                $idStore->connect();
@@ -29,7 +29,7 @@ class AdminController extends BaseController {
 
        public function dashboard(){
                //only for super admin
-               //Session::put("scigap_admin", true);
+               Session::put("scigap_admin", true);
                $idStore = $this->idStore;
 
                $crData = CRUtilities::getEditCRData();
@@ -124,4 +124,21 @@ class AdminController extends BaseController {
 
                return View::make("admin/manage-credentials", array("tokens" => 
array()) );
        }
+
+
+       /* ---- Super Admin Functions ------- */
+
+       public function addGateway(){
+
+               $input = Input::all();
+
+               $idStore = $this->idStore;
+
+               $tm = TenantManager::addTenant(1, $input["admin-username"], 
$input["admin-password"], $input["admin-email"],
+                              $firstName, $lastName, $input["domain"]);
+               print_r( $tm); exit;
+               $gateway = AdminUtilities::addGateway(Input::all() );
+
+
+       }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7527a6b2/app/controllers/ExperimentController.php
----------------------------------------------------------------------
diff --git a/app/controllers/ExperimentController.php 
b/app/controllers/ExperimentController.php
index de79704..c630b7d 100755
--- a/app/controllers/ExperimentController.php
+++ b/app/controllers/ExperimentController.php
@@ -185,6 +185,7 @@ class ExperimentController extends BaseController {
                $project = Utilities::get_project($experiment->projectID);
 
                $expVal = Utilities::get_experiment_values( $experiment, 
$project);
+               //var_dump( $expVal); exit;
                $computeResources = 
Utilities::create_compute_resources_select($experiment->applicationId, 
$expVal['scheduling']->resourceHostId);
 
                $experimentInputs = array(      

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7527a6b2/app/libraries/AdminUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/AdminUtilities.php b/app/libraries/AdminUtilities.php
new file mode 100644
index 0000000..b2bf9e1
--- /dev/null
+++ b/app/libraries/AdminUtilities.php
@@ -0,0 +1,12 @@
+<?php
+
+use Airavata\Model\Workspace\Gateway;
+
+public function addGateway( $input){
+       $airavataClient = Session::get("airavataClient");
+       $gateway = new Gateway();
+       $gateway->domain = $input["domainName"];
+       $gateway->gatewayName = $input["gatewayName"];
+       $gateway->emailAddress = $input["admin-email"];
+       return $airavataClient->addGateway( $gateway);
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7527a6b2/app/libraries/Utilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/Utilities.php b/app/libraries/Utilities.php
index d9ac4a3..b3ccf64 100644
--- a/app/libraries/Utilities.php
+++ b/app/libraries/Utilities.php
@@ -760,7 +760,10 @@ public static function assemble_experiment()
     $userConfigData = new UserConfigurationData();
     $userConfigData->computationalResourceScheduling = $scheduling;
     if( isset( $_POST["userDN"]) )
+    {
+        $userConfigData->generateCert = 1;
         $userConfigData->userDN = $_POST["userDN"];
+    }
 
     $applicationInputs = 
Utilities::get_application_inputs($_POST['application']);
     $experimentInputs = Utilities::process_inputs($applicationInputs, 
$experimentInputs);
@@ -2023,7 +2026,11 @@ public static function 
apply_changes_to_experiment($experiment, $input)
 
     $userConfigDataUpdated->computationalResourceScheduling = 
$schedulingUpdated;
     if( isset( $input["userDN"]) )
+    {
+        $userConfigDataUpdated->generateCert = 1;
         $userConfigDataUpdated->userDN = $input["userDN"];
+    }
+
 
     $experiment->userConfigurationData = $userConfigDataUpdated;
 

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7527a6b2/app/routes.php
----------------------------------------------------------------------
diff --git a/app/routes.php b/app/routes.php
index ffcde73..cfc4526 100755
--- a/app/routes.php
+++ b/app/routes.php
@@ -171,11 +171,15 @@ Route::post("admin/adduser", 
"AdminController@addAdminSubmit");
 
 Route::post("admin/addgatewayadmin", "AdminController@addGatewayAdminSubmit");
 
-Route::post("admin/addrole", "AdminController@addRole");
+Route::post("admin/add-role", "AdminController@addRole");
 
-Route::post("admin/checkroles", "AdminController@getRoles");
+Route::post("admin/check-roles", "AdminController@getRoles");
 
-Route::post("admin/deleterole", "AdminController@deleteRole");
+Route::post("admin/delete-role", "AdminController@deleteRole");
+
+//Super Admin Specific calls
+
+Route::post("admin/add-gateway", "AdminController@addGateway");
 
 //Airavata Server Check
 Route::get("airavata/down", function(){

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7527a6b2/app/views/admin/manage-admin.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/manage-admin.blade.php 
b/app/views/admin/manage-admin.blade.php
index 35fbaee..05e317a 100644
--- a/app/views/admin/manage-admin.blade.php
+++ b/app/views/admin/manage-admin.blade.php
@@ -191,6 +191,6 @@
         }
         else
             $("#role-form").submit();
-    })
+    });
     </script>
 @stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7527a6b2/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 f7261d1..7617466 100644
--- a/app/views/admin/manage-gateway.blade.php
+++ b/app/views/admin/manage-gateway.blade.php
@@ -120,30 +120,48 @@
                     @endforeach
                     </div>
                 @if( Session::has("scigap_admin"))
-                <div class="col-md-12">
-                    <button type="button" class="btn btn-default 
toggle-add-tenant"><span class="glyphicon glyphicon-plus"></span>Add a new 
gateway</button>
-                </div>
-                <div class="add-tenant col-md-6">
-                    <div class="form-group">
-                        <label>Enter Domain Name</label>
-                        <input type="text" class="form-control"/>
-                    </div>
-                    <div class="form-group">
-                        <label>Enter Admin Username</label>
-                        <input type="text" class="form-control"/>
-                    </div>
-                    <div class="form-group">
-                        <label>Enter Admin Password</label>
-                        <input type="text" class="form-control"/>
+                <form type="POST" id="add-tenant-form">
+                    <div class="col-md-12">
+                        <button type="button" class="btn btn-default 
toggle-add-tenant"><span class="glyphicon glyphicon-plus"></span>Add a new 
gateway</button>
                     </div>
-                    <div class="form-group">
-                        <label>Re-enter Admin Password</label>
-                        <input type="text" class="form-control"/>
-                    </div>
-                    <div class="form-group">
-                        <input type="submit" class="form-control btn 
btn-primary" value="Register" />
+                    <div class="add-tenant col-md-6">
+                        <div class="form-group required">
+                            <label class="control-label">Enter Domain 
Name</label>
+                            <input type="url" name="gatewayName" 
class="form-control" required="required"/>
+                        </div>
+                        <div class="form-group required">
+                            <label class="control-label">Enter Desired Gateway 
Name</label>
+                            <input type="text" name="gatewayName" 
class="form-control" required="required"/>
+                        </div>
+                        <div class="form-group required">
+                            <label class="control-label">Enter Admin Email 
Address</label>
+                            <input type="text" name="admin-email" 
class="form-control" required="required"/>
+                        </div>
+                        <div class="form-group required">
+                            <label class="control-label">Enter Admin First 
Name</label>
+                            <input type="text" name="admin-firstname" 
class="form-control" required="required"/>
+                        </div>
+                        <div class="form-group required">
+                            <label class="control-label">Enter Admin Last 
Name</label>
+                            <input type="text" name="admin-username" 
class="form-control" required="required"/>
+                        </div>
+                        <div class="form-group required">
+                            <label class="control-label">Enter Admin 
Username</label>
+                            <input type="text" name="admin-username" 
class="form-control" required="required"/>
+                        </div>
+                        <div class="form-group required">
+                            <label class="control-label">Enter Admin 
Password</label>
+                            <input type="password" name="admin-password" 
class="form-control" required="required"/>
+                        </div>
+                        <div class="form-group required">
+                            <label class="control-label">Re-enter Admin 
Password</label>
+                            <input type="password" 
name="admin-password-confirm" class="form-control" required="required"/>
+                        </div>
+                        <div class="form-group required">
+                            <input type="submit" class="form-control btn 
btn-primary" value="Register" />
+                        </div>
                     </div>
-                </div>
+                </form>
                 @endif
 
             </div>
@@ -222,7 +240,26 @@
         $(".add-tenant").slideUp();
         
         $(".toggle-add-tenant").click( function(){
+            $('html, body').animate({
+                scrollTop: $(".toggle-add-tenant").offset().top
+            }, 500);
             $(".add-tenant").slideDown();
         });
     </script>
+
+    @if( Session::has("scigap_admin"))
+    <script>
+        $(".add-tenant-form").submit( function( event){
+            var formData = $(".add-tenant-form").serealize();
+            $.ajax({
+                type: "POST",
+                data: formData,
+                url: '"' + {{ URL::to('/') }} + '"' + '/admin/add-gateway',
+                success:function( data){
+                    console.log( data);
+                }
+            });
+        });
+    </script>
+    @endif
 @stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7527a6b2/app/views/partials/experiment-inputs.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-inputs.blade.php 
b/app/views/partials/experiment-inputs.blade.php
index fa07450..9f7fa94 100644
--- a/app/views/partials/experiment-inputs.blade.php
+++ b/app/views/partials/experiment-inputs.blade.php
@@ -40,10 +40,11 @@
             @endif
 
         </div>
-        <div class="form-group">
-            <label for="compute-resource">Compute Resource</label>
+        <div class="form-group required">
+            <label class="control-label" for="compute-resource">Compute 
Resource</label>
             @if( count( $expInputs['computeResources']) > 0)
-                <select class="form-control" name="compute-resource" 
id="compute-resource">
+                <select class="form-control" name="compute-resource" 
id="compute-resource" required="required">
+                    <option value="">Select a resource</option>
                 @foreach ($expInputs['computeResources'] as $id => $name)
                     <option value="{{$id}}" {{ ($expInputs['resourceHostId'] 
== $id)? ' selected' : '' }}>{{$name}}</option>
                 @endforeach
@@ -59,7 +60,7 @@
             <input type="hidden" name="selected-queue" 
value="@if(isset($expInputs['expVal']) ){{ 
$expInputs['expVal']['scheduling']->queueName }} @endif"/>
             <div class="queue-view">
                 @if(isset($expInputs['expVal']) )
-                    @include( 'partials/experiment-queue-block', 
array('expVal' => $expVal) )
+                    @include( 'partials/experiment-queue-block', 
array('queues'=> $expInputs['expVal']['computeResource']->batchQueues, 'expVal' 
=> $expInputs['expVal']) )
                 @endif
         </div>
     </div>
@@ -67,7 +68,7 @@
 <h3>Notifications</h3>
 <div class="form-group well">
        <label for=""></label>
-       <input type="checkbox" id="enableEmail" name="enableEmailNotification" 
value="1">Do you want to receive email notifications for status changes in the 
experiment?<br/>
+       <input type="checkbox" id="enableEmail" name="enableEmailNotification" 
value="1"> Do you want to receive email notifications for status changes in the 
experiment?<br/>
        <div class="emailSection hide">
                <h4>Enter Email Address here.</h4>
                <div class="emailAddresses">

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7527a6b2/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 1edc1b8..a0453b0 100644
--- a/app/views/partials/experiment-queue-block.blade.php
+++ b/app/views/partials/experiment-queue-block.blade.php
@@ -1,9 +1,9 @@
 <input type="hidden" id="queue-array" value="{{ htmlentities( json_encode( 
$queues ) ) }}"/>
 <div class="form-group required">
        @if( count( $queues) > 0 )
-           <label for="node-count">Select a Queue</label>
+           <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></option>
+               <option value=""></option>
            @foreach( $queues as $queue)
                <option value="{{$queue->queueName}}"
                                @if(isset($expVal) ) @if( 
$expVal['scheduling']->queueName == $queue->queueName ) selected @endif @endif
@@ -27,7 +27,7 @@
     @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="core-count alert-warning"></span>)</span></label>
+    <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>
@@ -55,6 +55,11 @@
 <script>
 $("#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++)
@@ -62,7 +67,7 @@ $("#select-queue").change( function(){
                if( queues[i]['queueName'] == selectedQueue)
                {
                        //node-count
-                       if( queues[i]['maxNodes'] != 0 || queues[i]['maxNodes'] 
!= null )
+                       if( queues[i]['maxNodes'] != 0 && queues[i]['maxNodes'] 
!= null )
                        {
                                $("#node-count").attr("max", 
queues[i]['maxNodes']).val(1);
                                $(".node-count").html( queues[i]['maxNodes']);
@@ -73,7 +78,7 @@ $("#select-queue").change( function(){
 
 
                        //core-count
-                       if( queues[i]['maxProcessors'] != 0 || 
queues[i]['maxProcessors'] != null )
+                       if( queues[i]['maxProcessors'] != 0 && 
queues[i]['maxProcessors'] != null )
                        {
                                $("#cpu-count").attr("max", 
queues[i]['maxProcessors']).val(1);
                                $(".cpu-count").html( 
queues[i]['maxProcessors']);
@@ -83,17 +88,17 @@ $("#select-queue").change( function(){
                                $(".cpu-count").parent().addClass("hide");
 
                        //walltime-count
-                       if( queues[i]['maxRunTime'] != 0 || 
queues[i]['maxRunTime'] != null )
+                       if( queues[i]['maxRunTime'] != 0 && 
queues[i]['maxRunTime'] != null )
                        {
                                $("#wall-time").attr("max", 
queues[i]['maxRunTime']).val(0);
-                               $(".wall-time").html( queues[i]['maxRunTime']);
+                               $(".walltime-count").html( 
queues[i]['maxRunTime']);
                                
$(".walltime-count").parent().removeClass("hide");
                        }
                        else
-                               $(".core-count").parent().addClass("hide");
+                               $(".walltime-count").parent().addClass("hide");
 
                        //memory-count
-                       if( queues[i]['maxMemory'] != 0 || 
queues[i]['maxMemory'] != null )
+                       if( queues[i]['maxMemory'] != 0 && 
queues[i]['maxMemory'] != null )
                        {
                                $("#memory-count").attr("max", 
queues[i]['maxMemory']).val(0);
                                $(".memory-count").html( 
queues[i]['maxMemory']);
@@ -104,4 +109,5 @@ $("#select-queue").change( function(){
                }
        }
        $(".queue-data").removeClass("hide");
-});
\ No newline at end of file
+}
+</script>
\ No newline at end of file

Reply via email to