You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2016/11/29 21:50:03 UTC

[2/3] airavata-php-gateway git commit: AIRAVATA-2195 Project owner can't be removed when creating/editing experiment

AIRAVATA-2195 Project owner can't be removed when creating/editing experiment


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

Branch: refs/heads/develop
Commit: 4d546cf7652499b9b0351708303e07ef0653e373
Parents: 5738c35
Author: Marcus Christie <ma...@iu.edu>
Authored: Fri Nov 11 14:58:51 2016 -0500
Committer: Marcus Christie <ma...@iu.edu>
Committed: Tue Nov 29 15:44:22 2016 -0500

----------------------------------------------------------------------
 app/controllers/ExperimentController.php       | 23 ++++++++++++++++++++-
 app/views/experiment/create-complete.blade.php |  1 +
 app/views/experiment/edit.blade.php            |  1 +
 3 files changed, 24 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4d546cf7/app/controllers/ExperimentController.php
----------------------------------------------------------------------
diff --git a/app/controllers/ExperimentController.php b/app/controllers/ExperimentController.php
index a4d3238..392383b 100755
--- a/app/controllers/ExperimentController.php
+++ b/app/controllers/ExperimentController.php
@@ -77,9 +77,19 @@ class ExperimentController extends BaseController
                 $users = SharingUtilities::getProfilesForSharedUsers($_POST['project'], ResourceType::PROJECT);
                 $owner = array();
 
+                $projectOwner = array();
+                $project = ProjectUtilities::get_project($_POST['project']);
+                // TODO: figure out the owner of the project using sharing API
+                if ($project != null && strcmp(Session::get("username"), $project->owner) !== 0) {
+                    $projectOwner[$project->owner] = $users[$project->owner];
+                    $users = array_diff_key($users, $projectOwner);
+                }
+
                 return View::make("experiment/create-complete", array("expInputs" => $experimentInputs,
                     "users" => json_encode($users), "owner" => json_encode($owner),
-                    "canEditSharing" => true, "updateSharingViaAjax" => false));
+                    "canEditSharing" => true,
+                    "projectOwner" => json_encode($projectOwner),
+                    "updateSharingViaAjax" => false));
             }else{
                 return View::make("experiment/no-sharing-create-complete", array("expInputs" => $experimentInputs));
             }
@@ -286,15 +296,26 @@ class ExperimentController extends BaseController
                 $users = SharingUtilities::getProfilesForSharedUsers($_GET['expId'], ResourceType::EXPERIMENT);
 
                 $owner = array();
+                $projectOwner = array();
                 if (strcmp(Session::get("username"), $experiment->userName) !== 0) {
                     $owner[$experiment->userName] = $users[$experiment->userName];
                     $users = array_diff_key($users, $owner);
                 }
+                // TODO: figure out the owner of the project using sharing API
+                $project = null;
+                if (SharingUtilities::userCanRead(Session::get("username"), $experiment->projectId, ResourceType::PROJECT)) {
+                    $project = ProjectUtilities::get_project($experiment->projectId);
+                }
+                if ($project != null && strcmp(Session::get("username"), $project->owner) !== 0) {
+                    $projectOwner[$project->owner] = $users[$project->owner];
+                    $users = array_diff_key($users, $projectOwner);
+                }
                 $canEditSharing = $this->isExperimentOwner($experiment, Session::get('username'));
 
                 return View::make("experiment/edit", array("expInputs" => $experimentInputs,
                     "users" => json_encode($users), "owner" => json_encode($owner),
                     "canEditSharing" => $canEditSharing,
+                    "projectOwner" => json_encode($projectOwner),
                     "updateSharingViaAjax" => false
                 ));
             }

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4d546cf7/app/views/experiment/create-complete.blade.php
----------------------------------------------------------------------
diff --git a/app/views/experiment/create-complete.blade.php b/app/views/experiment/create-complete.blade.php
index 78de55b..657af95 100755
--- a/app/views/experiment/create-complete.blade.php
+++ b/app/views/experiment/create-complete.blade.php
@@ -47,6 +47,7 @@
 <script>
     var users = {{ $users }};
     var owner = {{ $owner }};
+    var projectOwner = {{ $projectOwner }};
     $('#entity-share').data({url: "{{URL::to('/')}}/project/unshared-users", resourceId: "{{$expInputs['project']}}"})
 </script>
 {{ HTML::script('js/sharing/sharing_utils.js') }}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/4d546cf7/app/views/experiment/edit.blade.php
----------------------------------------------------------------------
diff --git a/app/views/experiment/edit.blade.php b/app/views/experiment/edit.blade.php
index 7aaf7b3..54ea5cb 100755
--- a/app/views/experiment/edit.blade.php
+++ b/app/views/experiment/edit.blade.php
@@ -55,6 +55,7 @@
 <script>
     var users = {{ $users }};
     var owner = {{ $owner }};
+    var projectOwner = {{ $projectOwner }};
     $('#entity-share').data({url: "{{URL::to('/')}}/experiment/unshared-users", resourceId: "{{Input::get('expId')}}"})
 </script>
 {{ HTML::script('js/sharing/sharing_utils.js') }}