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/08/17 15:33:06 UTC

[19/20] airavata-php-gateway git commit: Added owner thumbnail, post-completion sharing, and verified that the changes work

Added owner thumbnail, post-completion sharing, and verified that the changes work


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

Branch: refs/heads/develop
Commit: face8c535732639870aa9fc9acf9e91692e9ba5c
Parents: ebdc163
Author: Jeff Kinnison <je...@gmail.com>
Authored: Wed Aug 17 11:28:13 2016 -0400
Committer: Jeff Kinnison <je...@gmail.com>
Committed: Wed Aug 17 11:28:13 2016 -0400

----------------------------------------------------------------------
 app/controllers/ExperimentController.php          | 17 +++++++++++++++--
 app/libraries/ExperimentUtilities.php             | 17 ++++++-----------
 app/views/experiment/edit.blade.php               |  1 +
 app/views/partials/experiment-container.blade.php |  2 +-
 app/views/partials/experiment-info.blade.php      | 10 ++++++++++
 app/views/partials/sharing-form-modal.blade.php   |  2 +-
 6 files changed, 34 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/face8c53/app/controllers/ExperimentController.php
----------------------------------------------------------------------
diff --git a/app/controllers/ExperimentController.php b/app/controllers/ExperimentController.php
index b884a17..2cee7ab 100755
--- a/app/controllers/ExperimentController.php
+++ b/app/controllers/ExperimentController.php
@@ -135,6 +135,12 @@ class ExperimentController extends BaseController
 
             $users = SharingUtilities::getProfilesForSharedUsers(Input::get("expId"), ResourceType::EXPERIMENT);
 
+            $owner = array();
+            if (strcmp(Session::get("username"), $experiment->userName) !== 0) {
+                $owner[$experiment->userName] = $users[$experiment->userName];
+                $users = array_diff_key($users, $owner);
+            }
+
             $data = array(
                 "expId" => Input::get("expId"),
                 "experiment" => $experiment,
@@ -143,6 +149,7 @@ class ExperimentController extends BaseController
                 "expVal" => $expVal,
                 "autoRefresh"=> $autoRefresh,
                 "users" => json_encode($users),
+                "owner" => json_encode($owner),
                 "can_write" => SharingUtilities::userCanWrite(Session::get("username"), $experiment->experimentId, ResourceType::EXPERIMENT)
             );
             if( Input::has("dashboard"))
@@ -241,7 +248,13 @@ class ExperimentController extends BaseController
 
             $users = SharingUtilities::getProfilesForSharedUsers($_GET['expId'], ResourceType::EXPERIMENT);
 
-            return View::make("experiment/edit", array("expInputs" => $experimentInputs, "users" => json_encode($users)));
+            $owner = array();
+            if (strcmp(Session::get("username"), $experiment->userName) !== 0) {
+                $owner[$experiment->userName] = $users[$experiment->userName];
+                $users = array_diff_key($users, $owner);
+            }
+
+            return View::make("experiment/edit", array("expInputs" => $experimentInputs, "users" => json_encode($users), "owner" => json_encode($owner)));
         }
         else {
             Redirect::to("experiment/summary?expId=" . $experiment->experimentId)->with("error", "You do not have permission to edit this experiment");
@@ -316,7 +329,7 @@ class ExperimentController extends BaseController
 
         $can_write = array();
         foreach ($expContainer as $experiment) {
-            $can_write[$experiment->experimentId] = SharingUtilities::userCanWrite(Session::get("username"), $experiment->experimentId, ResourceType::EXPERIMENT);
+            $can_write[$experiment['experiment']->experimentId] = SharingUtilities::userCanWrite(Session::get("username"), $experiment['experiment']->experimentId, ResourceType::EXPERIMENT);
         }
 
         return View::make('experiment/browse', array(

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/face8c53/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index d90d2ce..631cb98 100755
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -572,12 +572,7 @@ class ExperimentUtilities
                 '<p>AiravataSystemException: ' . $ase->getMessage() . '</p>');
         }
 
-        $share = json_decode($share);
-        $share->{Session::get("username")} = new stdClass();
-        $share->{Session::get("username")}->read = true;
-        $share->{Session::get("username")}->write = true;
-
-        ExperimentUtilities::share_experiment($expId, $share);
+        ExperimentUtilities::share_experiment($expId, json_decode($share));
     }
 
 
@@ -826,11 +821,7 @@ class ExperimentUtilities
             CommonUtilities::print_error_message('AiravataSystemException!<br><br>' . $ase->getMessage());
         }
 
-        $share = json_decode($share);
-        $share->{Session::get('username')} = new stdClass();
-        $share->{Session::get('username')}->read = true;
-        $share->{Session::get('username')}->write = true;
-        ExperimentUtilities::share_experiment($expId, $share);
+        ExperimentUtilities::share_experiment($expId, json_decode($share));
 
         return $expId;
     }
@@ -1335,6 +1326,10 @@ class ExperimentUtilities
      */
     private static function share_experiment($expId, $users) {
         $experiment = ExperimentUtilities::get_experiment($expId);
+        $users->{$experiment->owner} = new stdClass();
+        $users->{$experiment->owner}->read = true;
+        $users->{$experiment->owner}->write = true;
+
         $wadd = array();
         $wrevoke = array();
         $radd = array();

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

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/face8c53/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 25f99c7..561063e 100644
--- a/app/views/partials/experiment-container.blade.php
+++ b/app/views/partials/experiment-container.blade.php
@@ -28,7 +28,7 @@
                         <a href="{{URL::to('/')}}/experiment/summary?expId={{$experiment['experiment']->experimentId}}" target="_blank">
                         {{ $experiment['experiment']->name }}
                         </a>
-                        @if( $experiment['expValue']['editable'] and $can_write[$experiment->experimentId] === true)
+                        @if( $experiment['expValue']['editable'] and $can_write[$experiment['experiment']->experimentId] === true)
                             <a href="{{URL::to('/')}}/experiment/edit?expId={{$experiment['experiment']->experimentId}}" title="Edit"><span class="glyphicon glyphicon-pencil"></span></a>
                         @endif
                     </td>

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/face8c53/app/views/partials/experiment-info.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-info.blade.php b/app/views/partials/experiment-info.blade.php
index 36c9fe2..3ca3340 100644
--- a/app/views/partials/experiment-info.blade.php
+++ b/app/views/partials/experiment-info.blade.php
@@ -192,7 +192,11 @@
     </table>
 
     <div class="form-group">
+    @if($can_write === true)
+    @include('partials/sharing-display-body', array("form" => true))
+    @else
     @include('partials/sharing-display-body', array("form" => false))
+    @endif
     </div>
 
     @if( !isset( $dashboard))
@@ -320,11 +324,17 @@
 </div>
 @endif
 
+@if($can_write === true)
+@include('partials/sharing-form-modal')
+@endif
+
 @section('scripts')
 @parent
 {{ HTML::script('js/time-conversion.js')}}
 <script>
     var users = {{ $users }};
+    var owner = {{ $owner }};
+    $('#project-share').data({url: "{{URL::to('/')}}/experiment/unshared-users", resourceId: "{{Input::get('expId')}}"})
 </script>
 {{ HTML::script('js/sharing/sharing_utils.js') }}
 {{ HTML::script('js/sharing/share.js') }}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/face8c53/app/views/partials/sharing-form-modal.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/sharing-form-modal.blade.php b/app/views/partials/sharing-form-modal.blade.php
index b66a666..dee2036 100644
--- a/app/views/partials/sharing-form-modal.blade.php
+++ b/app/views/partials/sharing-form-modal.blade.php
@@ -10,7 +10,7 @@
                 @include('partials/sharing-form-body')
             </div>
             <div class="modal-footer">
-                <button type="button" id="share-box-button" class="btn btn-primary">Save</button>
+                <button type="button" id="share-box-button" class="btn btn-primary">Update</button>
                 <button type="button" id="share-box-close" class="btn btn-default" data-dismiss="modal">Cancel</button>
             </div>
         </div>