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 2016/01/27 20:50:09 UTC
airavata-php-gateway git commit: Addition of user count info in
warning before deleting a role.
Repository: airavata-php-gateway
Updated Branches:
refs/heads/develop 944b35917 -> d7b2ab01b
Addition of user count info in warning before deleting a role.
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/d7b2ab01
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/d7b2ab01
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/d7b2ab01
Branch: refs/heads/develop
Commit: d7b2ab01b65ae7b6b6f82af7c9b5b5c78db56637
Parents: 944b359
Author: Nipurn Doshi <ni...@gmail.com>
Authored: Wed Jan 27 14:49:35 2016 -0500
Committer: Nipurn Doshi <ni...@gmail.com>
Committed: Wed Jan 27 14:49:35 2016 -0500
----------------------------------------------------------------------
app/controllers/AdminController.php | 44 ++++++++++-------------------
app/routes.php | 2 ++
app/views/admin/manage-roles.blade.php | 39 +++++++++++++++++++++++--
3 files changed, 53 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d7b2ab01/app/controllers/AdminController.php
----------------------------------------------------------------------
diff --git a/app/controllers/AdminController.php b/app/controllers/AdminController.php
index 5b40f86..54b92e1 100644
--- a/app/controllers/AdminController.php
+++ b/app/controllers/AdminController.php
@@ -13,21 +13,15 @@ class AdminController extends BaseController {
}
public function addAdminSubmit(){
- $this->beforeFilter('verifyadmin');
WSIS::update_user_roles( Input::get("username"), array( "new"=>array("admin"), "deleted"=>array() ) );
return View::make("account/admin-dashboard")->with("message", "User has been added to Admin.");
}
public function usersView(){
- $this->beforeFilter('verifyadmin');
if( Input::has("role"))
{
- $users = WSIS::getUserlistOfRole(Input::get("role"));
- if( isset( $users->return))
- $users = $users->return;
- else
- $users = array();
+ $users = AdminController::getUsersWithRole( Input::get("role"));
}
else
$users = WSIS::listUsers();
@@ -35,11 +29,14 @@ class AdminController extends BaseController {
$roles = WSIS::getAllRoles();
Session::put("admin-nav", "manage-users");
return View::make("admin/manage-users", array("users" => $users, "roles" => $roles));
+ }
+ public function getUserCountInRole(){
+ $users = AdminController::getUsersWithRole( Input::get("role"));
+ return count( $users);
}
public function searchUsersView(){
- $this->beforeFilter('verifyadmin');
if(Input::has("search_val"))
{
$users = WSIS::searchUsers(Input::get("search_val"));
@@ -57,7 +54,6 @@ class AdminController extends BaseController {
}
public function gatewayView(){
- $this->beforeFilter('verifyadmin');
//only for super admin
//Session::put("super-admin", true);
$crData = CRUtilities::getEditCRData();
@@ -81,7 +77,6 @@ class AdminController extends BaseController {
}
public function addGatewayAdminSubmit(){
- $this->beforeFilter('verifyadmin');
//check if username exists
if(WSIS::usernameExists( Input::get("username")) )
{
@@ -95,33 +90,28 @@ class AdminController extends BaseController {
}
public function rolesView(){
- $this->beforeFilter('verifyadmin');
$roles = WSIS::getAllRoles();
Session::put("admin-nav", "manage-roles");
return View::make("admin/manage-roles", array("roles" => $roles));
}
public function experimentsView(){
- $this->beforeFilter('verifyadmin');
Session::put("admin-nav", "exp-statistics");
return View::make("admin/manage-experiments" );
}
public function resourcesView(){
- $this->beforeFilter('verifyadmin');
$data = CRUtilities::getBrowseCRData(false);
$allCRs = $data["crObjects"];
return View::make("admin/manage-resources", array("resources" => $allCRs) );
}
public function addRole(){
- $this->beforeFilter('verifyadmin');
WSIS::addRole( Input::get("role") );
return Redirect::to("admin/dashboard/roles")->with( "message", "Role has been added.");
}
public function addRolesToUser(){
- $this->beforeFilter('verifyadmin');
$currentRoles = (array)WSIS::getUserRoles(Input::get("username"));
$roles["new"] = array_diff(Input::all()["roles"], $currentRoles);
$roles["deleted"] = array_diff($currentRoles, Input::all()["roles"]);
@@ -142,7 +132,6 @@ class AdminController extends BaseController {
}
public function removeRoleFromUser(){
- $this->beforeFilter('verifyadmin');
$roles["deleted"] = array(Input::all()["roleName"]);
$roles["new"] = array();
$username = Input::all()["username"];
@@ -151,19 +140,16 @@ class AdminController extends BaseController {
}
public function getRoles(){
- $this->beforeFilter('verifyadmin');
return json_encode((array)WSIS::getUserRoles(Input::get("username")));
}
public function deleteRole(){
- $this->beforeFilter('verifyadmin');
WSIS::deleteRole( Input::get("role") );
return Redirect::to("admin/dashboard/roles")->with( "message", "Role has been deleted.");
}
public function credentialStoreView(){
- $this->beforeFilter('verifyadmin');
Session::put("admin-nav", "credential-store");
$tokens = AdminUtilities::get_all_ssh_tokens();
//var_dump( $tokens); exit;
@@ -171,7 +157,6 @@ class AdminController extends BaseController {
}
public function updateUserRoles(){
- $this->beforeFilter('verifyadmin');
if( Input::has("add"))
return WSIS::updateUserRoles(Input::get("username"), array("new"=> Input::get("roles"), "deleted" => array() ) );
else
@@ -182,7 +167,6 @@ class AdminController extends BaseController {
/* ---- Super Admin Functions ------- */
public function addGateway(){
- $this->beforeFilter('verifyadmin');
$inputs = Input::all();
$gateway = AdminUtilities::add_gateway(Input::all());
@@ -198,7 +182,6 @@ class AdminController extends BaseController {
public function experimentStatistics()
{
- $this->beforeFilter('verifyadmin');
if (Request::ajax()) {
$inputs = Input::all();
$expStatistics = AdminUtilities::get_experiment_execution_statistics(strtotime($inputs['fromTime']) * 1000
@@ -209,7 +192,6 @@ class AdminController extends BaseController {
public function getExperimentsOfTimeRange()
{
- $this->beforeFilter('verifyadmin');
if (Request::ajax()) {
$inputs = Input::all();
$expContainer = AdminUtilities::get_experiments_of_time_range($inputs);
@@ -223,7 +205,6 @@ class AdminController extends BaseController {
}
public function enableComputeResource(){
- $this->beforeFilter('verifyadmin');
$resourceId = Input::get("resourceId");
$computeResource = CRUtilities::get_compute_resource($resourceId);
$computeResource->enabled = true;
@@ -231,7 +212,6 @@ class AdminController extends BaseController {
}
public function disableComputeResource(){
- $this->beforeFilter('verifyadmin');
$resourceId = Input::get("resourceId");
$computeResource = CRUtilities::get_compute_resource($resourceId);
$computeResource->enabled = false;
@@ -239,7 +219,6 @@ class AdminController extends BaseController {
}
public function enableStorageResource(){
- $this->beforeFilter('verifyadmin');
$resourceId = Input::get("resourceId");
$storageResource = SRUtilities::get_storage_resource($resourceId);
$storageResource->enabled = true;
@@ -247,7 +226,6 @@ class AdminController extends BaseController {
}
public function disableStorageResource(){
- $this->beforeFilter('verifyadmin');
$resourceId = Input::get("resourceId");
$storageResource = SRUtilities::get_storage_resource($resourceId);
$storageResource->enabled = false;
@@ -256,7 +234,6 @@ class AdminController extends BaseController {
public function createSSH(){
- $this->beforeFilter('verifyadmin');
$newToken = AdminUtilities::create_ssh_token();
$pubkey = AdminUtilities::get_pubkey_from_token( $newToken);
return Response::json( array( "token" => $newToken, "pubkey" => $pubkey));
@@ -264,7 +241,6 @@ class AdminController extends BaseController {
}
public function removeSSH(){
- $this->beforeFilter('verifyadmin');
$removeToken = Input::get("token");
if( AdminUtilities::remove_ssh_token( $removeToken) )
return 1;
@@ -273,4 +249,14 @@ class AdminController extends BaseController {
}
+ 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/d7b2ab01/app/routes.php
----------------------------------------------------------------------
diff --git a/app/routes.php b/app/routes.php
index a180cba..60c8832 100755
--- a/app/routes.php
+++ b/app/routes.php
@@ -234,6 +234,8 @@ Route::get("manage/users", "AdminController@usersView");
Route::post("admin/adduser", "AdminController@addAdminSubmit");
+Route::get("admin/getusercountinrole", "AdminController@getUserCountInRole");
+
Route::post("admin/addgatewayadmin", "AdminController@addGatewayAdminSubmit");
Route::post("admin/add-role", "AdminController@addRole");
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d7b2ab01/app/views/admin/manage-roles.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/manage-roles.blade.php b/app/views/admin/manage-roles.blade.php
index 3bdc278..f78283e 100644
--- a/app/views/admin/manage-roles.blade.php
+++ b/app/views/admin/manage-roles.blade.php
@@ -96,13 +96,18 @@
<h3 class="text-center">Delete Role Confirmation</h3>
</div>
<div class="modal-body">
+ <div class="loading-count">
+ <img src="{{URL::to('/')}}/assets/ajax-loader.gif"/>
+ </div>
+ <div class="delete-warning-text hide">
<input type="hidden" class="form-control delete-roleName" name="role"/>
- Do you really want to delete the role - <span class="delete-role-name"></span>
+ <h4 class="alert alert-warning"><span class="role-user-count"> 0 </span> users currently have the role - <span class="delete-role-name"></span>. Do you really want to delete this role? </span></h2>
+ </div>
</div>
<div class="modal-footer">
<div class="form-group">
<input type="submit" class="btn btn-danger" value="Delete"/>
- <input type="button" class="btn btn-default" data-dismiss="modal" value="Cancel"/>
+ <input type="button" class="btn btn-default cancel-delete-role" data-dismiss="modal" value="Cancel"/>
</div>
</div>
</div>
@@ -137,10 +142,38 @@
});
$(".delete-role").click(function () {
- $("#delete-role-block").modal("show");
var roleName = $(this).parent().parent().find(".role-name").html();
+ $(".loading-count")
+ $.ajax({
+ type: "GET",
+ url: "{{URL::to('/')}}/admin/getusercountinrole",
+ data: {
+ role: roleName
+ }
+ }).success( function( data){
+ data = parseInt(data);
+ if( data === parseInt(data, 10)){
+ $(".role-user-count").html( data);
+ $(".loading-count").addClass("hide");
+ $(".delete-warning-text").removeClass("hide");
+ }
+ else{
+ $(".loading-count").after("<h4 class='problem-retrieving-count alert alert-warning'>There was a problem retrieving number of users connected with this role. Do you still want to delete the role - " + roleName + "?</h4>");
+ $(".loading-count").addClass("hide");
+ }
+ }).error( function(){
+ $(".loading-count").after("<h4 class='problem-retrieving-count alert alert-warning'>There was a problem retrieving number of users connected with this role. Do you still want to delete the role - " + roleName + "?</h4>");
+ $(".loading-count").addClass("hide");
+ });
+ $("#delete-role-block").modal("show");
$(".delete-role-name").html(roleName);
$(".delete-roleName").val(roleName);
});
+
+ $(".cancel-delete-role").click( function(){
+ $(".loading-count").removeClass("hide");
+ $(".delete-warning-text").addClass("hide");
+ $(".problem-retrieving-count").remove();
+ });
</script>
@stop
\ No newline at end of file