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/04 17:55:27 UTC
[5/7] airavata-php-gateway git commit: AIRAVATA-2190 Handling errors
when cloning
AIRAVATA-2190 Handling errors when cloning
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/61e36dd0
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/61e36dd0
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/61e36dd0
Branch: refs/heads/develop
Commit: 61e36dd04d6fb28231103cc4ba5345b2fb1773ad
Parents: f76343d
Author: Marcus Christie <ma...@iu.edu>
Authored: Fri Nov 4 12:39:30 2016 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Fri Nov 4 12:39:30 2016 -0400
----------------------------------------------------------------------
app/controllers/ExperimentController.php | 12 ++++++++----
app/views/partials/experiment-info.blade.php | 10 +++++++++-
2 files changed, 17 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/61e36dd0/app/controllers/ExperimentController.php
----------------------------------------------------------------------
diff --git a/app/controllers/ExperimentController.php b/app/controllers/ExperimentController.php
index 7b8e101..004b27d 100755
--- a/app/controllers/ExperimentController.php
+++ b/app/controllers/ExperimentController.php
@@ -289,10 +289,14 @@ class ExperimentController extends BaseController
public function cloneExperiment()
{
- // TODO: catch and handle errors when cloning fails
- $cloneId = ExperimentUtilities::clone_experiment(Input::get('expId'), Input::get('projectId'));
-
- return Redirect::to('experiment/edit?expId=' . $cloneId . "&clonedExp=true");
+ try{
+ $cloneId = ExperimentUtilities::clone_experiment(Input::get('expId'), Input::get('projectId'));
+ return Redirect::to('experiment/edit?expId=' . $cloneId . "&clonedExp=true");
+ }catch (Exception $ex){
+ // Redirect to summary page and scroll down to clone panel
+ return Redirect::to("experiment/summary?expId=" . Input::get('expId') . "#clone-panel")
+ ->with("cloning-error", "Failed to clone experiment: " . $ex->getMessage());
+ }
}
public function editSubmit()
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/61e36dd0/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 0d7b621..8856cc7 100644
--- a/app/views/partials/experiment-info.blade.php
+++ b/app/views/partials/experiment-info.blade.php
@@ -263,11 +263,19 @@
@endif
</div>
</form>
- <div class="panel panel-default">
+ <div id="clone-panel" class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Clone Experiment</h3>
</div>
<div class="panel-body">
+ @if( Session::has("cloning-error"))
+ <div class="alert alert-danger alert-dismissible" role="alert">
+ <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span
+ class="sr-only">Close</span></button>
+ {{{ Session::get("cloning-error") }}}
+ </div>
+ {{ Session::forget("cloning-error") }}
+ @endif
<form class="form-inline" action="{{ URL::to('/') }}/experiment/clone" method="post">
<input type="hidden" name="expId" value="{{ Input::get('expId') }}"/>
<div class="form-group">