Password validation while adding a gateway made stricter.

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

Branch: refs/heads/master
Commit: 30f9d7ff77ff4c9030cebf6711f60805f013465b
Parents: 6ce3924
Author: Nipurn Doshi <[email protected]>
Authored: Fri Jan 29 15:28:56 2016 -0500
Committer: Nipurn Doshi <[email protected]>
Committed: Fri Jan 29 15:28:56 2016 -0500

----------------------------------------------------------------------
 app/controllers/AdminController.php      | 115 ++++++++++++++++----------
 app/views/admin/manage-gateway.blade.php |  27 ++++--
 2 files changed, 89 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/30f9d7ff/app/controllers/AdminController.php
----------------------------------------------------------------------
diff --git a/app/controllers/AdminController.php 
b/app/controllers/AdminController.php
index 54b92e1..a78c3ad 100644
--- a/app/controllers/AdminController.php
+++ b/app/controllers/AdminController.php
@@ -163,23 +163,6 @@ class AdminController extends BaseController {
                        return WSIS::updateUserRoles(Input::get("username"), 
array("new"=> array(), "deleted" => Input::get("roles") ) );
        }
 
-
-       /* ---- Super Admin Functions ------- */
-
-       public function addGateway(){
-               $inputs = Input::all();
-
-        $gateway = AdminUtilities::add_gateway(Input::all());
-
-               $tm = WSIS::createTenant(1, $inputs["admin-username"] . "@" . 
$inputs["domain"], $inputs["admin-password"],
-                       $inputs["admin-email"], $inputs["admin-firstname"], 
$inputs["admin-lastname"], $inputs["domain"]);
-
-               Session::put("message", "Gateway " . $inputs["gatewayName"] . " 
has been added.");
-               return Response::json( $tm);
-               //return 
Redirect::to("admin/dashboard/gateway")->with("message", "Gateway has been 
successfully added.");
-       }
-
-
     public function experimentStatistics()
     {
         if (Request::ajax()) {
@@ -204,6 +187,76 @@ class AdminController extends BaseController {
         }
     }
 
+       public function createSSH(){
+               $newToken = AdminUtilities::create_ssh_token();
+               $pubkey = AdminUtilities::get_pubkey_from_token( $newToken);
+               return Response::json( array( "token" => $newToken, "pubkey" => 
$pubkey));
+
+       }
+
+       public function removeSSH(){
+               $removeToken = Input::get("token");
+               if( AdminUtilities::remove_ssh_token( $removeToken) )
+                       return 1;
+               else
+                       return 0;
+
+       }
+
+       public function getUsersWithRole( $role){
+                       $users = WSIS::getUserlistOfRole( $role);
+                       if( isset( $users->return))
+                       $users = $users->return;
+                   else
+                       $users = array();
+
+                   return $users;
+       }
+
+
+       /* ---- Super Admin Functions ------- */
+
+       public function addGateway(){
+               $inputs = Input::all();
+
+               $rules = array(
+            "username" => "required|min:6",
+            "password" => 
"required|min:6|max:48|regex:/^.*(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@!$#%*]).*$/",
+            "confirm_password" => "required|same:password",
+            "email" => "required|email",
+        );
+
+        $messages = array(
+            'password.regex' => 'Password needs to contain at least (a) One 
lower case letter (b) One Upper case letter and (c) One number (d) One of the 
following special characters - !@#$%&*',
+        );
+
+        $checkValidation = array();
+        $checkValidation["username"] = $inputs["admin-username"];
+        $checkValidation["password"] = $inputs["admin-password"];
+        $checkValidation["confirm_password"] = 
$inputs["admin-password-confirm"];
+        $checkValidation["email"] = $inputs["admin-email"];
+
+        $validator = Validator::make( $checkValidation, $rules, $messages);
+        if ($validator->fails()) {
+            return Response::json( $validator->messages() );
+        }
+        else{
+               $gateway = AdminUtilities::add_gateway(Input::all());
+
+                       $tm = WSIS::createTenant(1, $inputs["admin-username"] . 
"@" . $inputs["domain"], $inputs["admin-password"],
+                               $inputs["admin-email"], 
$inputs["admin-firstname"], $inputs["admin-lastname"], $inputs["domain"]);
+
+                       Session::put("message", "Gateway " . 
$inputs["gatewayName"] . " has been added.");
+                       
+                       return Response::json( array( "gateway" =>$gateway, 
"tm" => $tm ) ); 
+                       if( $gateway ==  $inputs["gatewayName"] && is_object( 
$tm ) )
+                               return Response::json( array( "gateway" 
=>$gateway, "tm" => $tm ) ); 
+                       else
+                               return 0;
+                       //return 
Redirect::to("admin/dashboard/gateway")->with("message", "Gateway has been 
successfully added.");
+               }
+       }
+
     public function enableComputeResource(){
         $resourceId = Input::get("resourceId");
         $computeResource = CRUtilities::get_compute_resource($resourceId);
@@ -231,32 +284,4 @@ class AdminController extends BaseController {
         $storageResource->enabled = false;
         SRUtilities::register_or_update_storage_resource($storageResource, 
true);
     }
-
-
-       public function createSSH(){
-               $newToken = AdminUtilities::create_ssh_token();
-               $pubkey = AdminUtilities::get_pubkey_from_token( $newToken);
-               return Response::json( array( "token" => $newToken, "pubkey" => 
$pubkey));
-
-       }
-
-       public function removeSSH(){
-               $removeToken = Input::get("token");
-               if( AdminUtilities::remove_ssh_token( $removeToken) )
-                       return 1;
-               else
-                       return 0;
-
-       }
-
-       public function getUsersWithRole( $role){
-                       $users = WSIS::getUserlistOfRole( $role);
-                       if( isset( $users->return))
-                       $users = $users->return;
-                   else
-                       $users = array();
-
-                   return $users;
-       }
-
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/30f9d7ff/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 7e99d3f..e776797 100644
--- a/app/views/admin/manage-gateway.blade.php
+++ b/app/views/admin/manage-gateway.blade.php
@@ -38,7 +38,6 @@
                 <div class="col-md-6">
                     <h3>Other Gateway Preferences</h3>
                 </div>
-                @if( Session::has("super-admin"))
                 <div class="col-md-6" style="margin-top:2%">
                     <input type="text" class="col-md-12 filterinput" 
placeholder="Search by Gateway Name"/>
                 </div>
@@ -55,7 +54,7 @@
                         </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"/>
+                            <input type="text" name="gatewayName" 
class="form-control gatewayName" required="required"/>
                         </div>
                         <div class="form-group required">
                             <label class="control-label">Enter Admin Email 
Address</label>
@@ -89,7 +88,6 @@
                     <div class="col-md-6 alert alert-danger gateway-error 
hide"></div>
                     <div class="col-md-6 alert alert-success gateway-success 
hide"></div>
                 </form>
-                 @endif
             </div>
 
             <div class="panel-group" id="accordion1">
@@ -100,7 +98,6 @@
                     @endforeach
                 </div>
             </div>
-
             @endif
 
         </div>
@@ -284,10 +281,24 @@
             data: formData,
             url: '{{ URL::to("/") }}/admin/add-gateway',
             success: function (data) {
-                $(".gateway-success").html("Gateway has been added. The page 
will be reloaded in a moment.").removeClass("hide");
-                setTimeout( function(){
-                    location.reload();
-                }, 2000);
+                if( data.gateway == $(".gatewayName").val() ){
+                    $(".gateway-success").html("Gateway has been added. The 
page will be reloaded in a moment.").removeClass("hide");
+                    setTimeout( function(){
+                        location.reload();
+                    }, 2000);
+                }
+                else if( data == 0){
+                    $(".gateway-error").html( "An unknown error occurred while 
trying to create the gateway.")
+                                        .removeClass("hide");
+                }
+                else{
+                    errors = data;
+                    $(".gateway-error").html("").removeClass("hide");
+                    for( input in data)
+                    {
+                        $(".gateway-error").append(" -- " + input + " : " + 
data[input] + "<br/><br/>");
+                    }
+                }
             },
             error: function( data){
                 var error = $.parseJSON( data.responseText);

Reply via email to