app/routes.php (215 lines of code) (raw):

<?php /* |-------------------------------------------------------------------------- | Application Routes |-------------------------------------------------------------------------- | | Here is where you can register all of the routes for an application. | It's a breeze. Simply tell Laravel the URIs it should respond to | and give it the Closure to execute when that URI is requested. | */ /* * User Routes */ Route::get("create", "AccountController@createAccountView"); Route::post("create", "AccountController@createAccountSubmit"); Route::get("login", "AccountController@loginView"); Route::post("login", "AccountController@loginSubmit"); Route::get("login-desktop", "AccountController@loginDesktopView"); Route::get("refreshed-token-desktop", "AccountController@getRefreshedTokenForDesktop"); Route::get("account/dashboard", "AccountController@dashboard"); Route::get("account/update-gateway", "GatewayRequestUpdateController@updateGateway"); Route::get("callback-url", "AccountController@oauthCallback"); Route::get("logout", "AccountController@logout"); Route::post("api-login", "AccountController@apiLoginSubmit"); Route::get("forgot-password", "AccountController@forgotPassword"); Route::get("reset-password", "AccountController@resetPassword"); Route::post("reset-password", "AccountController@resetPasswordSubmit"); Route::post("forgot-password", "AccountController@forgotPasswordSubmit"); Route::get("confirm-user-registration", "AccountController@confirmAccountCreation"); Route::post("confirm-user-registration", "AccountController@confirmAccountCreation"); Route::get("setUserTimezone", function () { Session::set("user_timezone", Input::get("timezone")); }); Route::get("allocation-request", "AccountController@allocationRequestView"); Route::post("allocation-request", "AccountController@allocationRequestSubmit"); Route::get("account/settings", "UserSettingsController@getUserSettings"); Route::get("account/credential-store", "UserSettingsController@getCredentialStore"); Route::post("account/set-default-credential", "UserSettingsController@setDefaultCredential"); Route::post("account/add-credential", "UserSettingsController@addCredential"); Route::post("account/delete-credential", "UserSettingsController@deleteCredential"); Route::get("account/user-compute-resources", "UserSettingsController@getComputeResources"); Route::post("account/add-user-crp", "UserSettingsController@addUserComputeResourcePreference"); Route::post("account/update-user-crp", "UserSettingsController@updateUserComputeResourcePreference"); Route::post("account/delete-user-crp", "UserSettingsController@deleteUserComputeResourcePreference"); Route::get("account/user-storage-resources", "UserSettingsController@getStorageResources"); Route::post("account/add-user-srp", "UserSettingsController@addUserStorageResourcePreference"); Route::post("account/update-user-srp", "UserSettingsController@updateUserStorageResourcePreference"); Route::post("account/delete-user-srp", "UserSettingsController@deleteUserStorageResourcePreference"); Route::get("account/user-profile", "UserSettingsController@getUserProfile"); Route::post("account/user-profile", "UserSettingsController@updateUserProfile"); Route::get("account/user-profile-update-email", "UserSettingsController@showUpdateEmailView"); Route::post("account/user-profile-update-email", "UserSettingsController@submitUpdateEmail"); Route::get("user-profile-confirm-email", "UserSettingsController@confirmUpdateEmail"); /* * The following routes will not work without logging in. * */ /* * Project Routes */ Route::get("project/create", "ProjectController@createView"); Route::post("project/create", "ProjectController@createSubmit"); Route::get("project/summary", "ProjectController@summary"); Route::get("project/edit", "ProjectController@editView"); Route::post("project/edit", "ProjectController@editSubmit"); Route::get("project/browse", "ProjectController@browseView"); Route::post("project/browse", "ProjectController@browseView"); Route::get("project/shared-users", "ProjectController@sharedUsers"); Route::get("project/unshared-users", "ProjectController@unsharedUsers"); Route::get("project/all-users", "ProjectController@allUsers"); /* * Experiment Routes */ Route::get("experiment/create", "ExperimentController@createView"); Route::post("experiment/create", "ExperimentController@createSubmit"); Route::get("experiment/summary", "ExperimentController@summary"); Route::post("experiment/summary", "ExperimentController@expChange"); Route::post("experiment/clone", "ExperimentController@cloneExperiment"); Route::get("experiment/edit", "ExperimentController@editView"); Route::post("experiment/edit", "ExperimentController@editSubmit"); Route::get("experiment/getQueueView", "ExperimentController@getQueueView"); Route::get("experiment/browse", "ExperimentController@browseView"); Route::post("experiment/browse", "ExperimentController@browseView"); Route::get("experiment/shared-users", "ExperimentController@sharedUsers"); Route::get("experiment/unshared-users", "ExperimentController@unsharedUsers"); Route::post("experiment/update-sharing", "ExperimentController@updateSharing"); Route::get("download", function(){ if(Input::has("path") && (0 == strpos(Input::get("path"), Session::get('username')) || 0 == strpos(Input::get("path"), "/" . Session::get('username')))){ $path = Input::get("path"); if (strpos($path, '/../') !== false || strpos($path, '/..') !== false || strpos($path, '../') !== false) return null; if(0 === strpos($path, '/')){ $path = substr($path, 1); } $downloadLink = Config::get('pga_config.airavata')['experiment-data-absolute-path'] . '/' . $path; return Response::download( $downloadLink); }else if(Input::has("id") && (0 == strpos(Input::get("id"), "airavata-dp"))){ $id = Input::get("id"); $dataRoot = Config::get("pga_config.airavata")["experiment-data-absolute-path"]; if(!((($temp = strlen($dataRoot) - strlen("/")) >= 0 && strpos($dataRoot, "/", $temp) !== false))) $dataRoot = $dataRoot . "/"; $dataProductModel = Airavata::getDataProduct(Session::get('authz-token'), $id); $currentOutputPath = ""; foreach ($dataProductModel->replicaLocations as $rp) { if($rp->replicaLocationCategory == Airavata\Model\Data\Replica\ReplicaLocationCategory::GATEWAY_DATA_STORE){ $currentOutputPath = $rp->filePath; break; } } //TODO check permission $path = str_replace($dataRoot, "", parse_url($currentOutputPath, PHP_URL_PATH)); $downloadLink = parse_url(URL::to('/') . Config::get('pga_config.airavata')['experiment-data-absolute-path'] . '/' . $path, PHP_URL_PATH); return Response::download( $downloadLink); } }); Route::get("files/browse", "FilemanagerController@browse"); Route::get("files/get","FilemanagerController@get"); /* * Group Routes */ Route::get("group/create", "GroupController@createView"); Route::post("group/create", "GroupController@createSubmit"); Route::get("group/view", "GroupController@viewView"); Route::post("group/edit", "GroupController@editSubmit"); /* * Compute Resources Routes */ Route::get("cr/create", function () { return Redirect::to("cr/create/step1"); }); Route::get("cr/create", "ComputeResourceController@createView"); Route::post("cr/create", "ComputeResourceController@createSubmit"); Route::get("cr/edit", "ComputeResourceController@editView"); Route::post("cr/edit", "ComputeResourceController@editSubmit"); Route::get("cr/view", "ComputeResourceController@viewView"); Route::get("cr/browse", "ComputeResourceController@browseView"); Route::post("cr/delete-jsi", "ComputeResourceController@deleteActions"); Route::post("cr/delete-dmi", "ComputeResourceController@deleteActions"); Route::post("cr/delete-cr", "ComputeResourceController@deleteActions"); /* * Data Storage Resources Routes */ Route::get("sr/create", function () { return Redirect::to("sr/create/step1"); }); Route::get("sr/create", "StorageResourceController@createView"); Route::post("sr/create", "StorageResourceController@createSubmit"); Route::get("sr/edit", "StorageResourceController@editView"); Route::post("sr/edit", "StorageResourceController@editSubmit"); Route::get("sr/view", "StorageResourceController@srView"); Route::get("sr/browse", "StorageResourceController@browseView"); Route::post("sr/delete-jsi", "StorageResourceController@deleteActions"); Route::post("sr/delete-dmi", "StorageResourceController@deleteActions"); Route::post("sr/delete-sr", "StorageResourceController@deleteActions"); /* * Application Catalog Routes */ Route::get("app/module", "ApplicationController@showAppModuleView"); Route::post("app/module-create", "ApplicationController@modifyAppModuleSubmit"); Route::post("app/module-edit", "ApplicationController@modifyAppModuleSubmit"); Route::post("app/module-delete", "ApplicationController@deleteAppModule"); Route::get("app/interface", "ApplicationController@showAppInterfaceView"); Route::post("app/interface-create", "ApplicationController@createAppInterfaceSubmit"); Route::post("app/interface-clone", "ApplicationController@cloneAppInterfaceSubmit"); Route::post("app/interface-edit", "ApplicationController@editAppInterfaceSubmit"); Route::post("app/interface-delete", "ApplicationController@deleteAppInterface"); Route::get("app/deployment", "ApplicationController@showAppDeploymentView"); Route::post("app/deployment-create", "ApplicationController@createAppDeploymentSubmit"); Route::post("app/deployment-edit", "ApplicationController@editAppDeploymentSubmit"); Route::post("app/deployment-delete", "ApplicationController@deleteAppDeployment"); Route::get("gp/create", "GatewayprofileController@createView"); Route::post("gp/create", "GatewayprofileController@createSubmit"); Route::post("gp/edit", "GatewayprofileController@editGP"); Route::get("gp/browse", "GatewayprofileController@browseView"); Route::post("gp/delete-gp", "GatewayprofileController@delete"); Route::post("gp/remove-cr", "GatewayprofileController@delete"); Route::post("gp/add-crp", "GatewayprofileController@modifyCRP"); Route::post("gp/update-crp", "GatewayprofileController@modifyCRP"); Route::post("gp/add-srp", "GatewayprofileController@modifySRP"); Route::post("gp/update-srp", "GatewayprofileController@modifySRP"); Route::post("gp/update-idp", "GatewayprofileController@modifyIDP"); Route::post("gp/remove-sr", "GatewayprofileController@delete"); Route::post("gp/credential-store-token-change", "GatewayprofileController@cstChange"); //DataCat Route::get("datacat/select", "DataCatController@select"); Route::get("datacat/summary", "DataCatController@summary"); //Management Dashboard //Added to reroute the admin page to the new django portal if( Config::get('pga_config.portal')['super-admin-portal'] == false and Config::get('pga_config.portal')['reroute-to-django'] == true){ Route::get("admin/dashboard", "AdminController@reRoute"); } else{ Route::get("admin/dashboard", "AdminController@dashboard"); } Route::get("admin/dashboard/gateway", "AdminController@gatewayView"); Route::get("admin/dashboard/users", "AdminController@usersView"); Route::post("admin/dashboard/users", "AdminController@searchUsersView"); Route::get("admin/dashboard/roles", "AdminController@rolesView"); Route::get("admin/dashboard/experiments", "AdminController@experimentsView"); Route::get("admin/dashboard/experimentsOfTimeRange", "AdminController@getExperimentsOfTimeRange"); Route::get("admin/dashboard/experimentStatistics", "AdminController@experimentStatistics"); Route::get("admin/dashboard/resources", "AdminController@resourcesView"); Route::get("admin/dashboard/experiment/summary", function () { return Redirect::to("experiment/summary?expId=" . urlencode($_GET["expId"]) . "&dashboard=true"); }); Route::get("admin/dashboard/credential-store", "AdminController@credentialStoreView"); 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"); Route::post("admin/check-roles", "AdminController@getRoles"); Route::post("admin/delete-role", "AdminController@deleteRole"); Route::post("admin/enable-cr", "AdminController@enableComputeResource"); Route::post("admin/disable-cr", "AdminController@disableComputeResource"); Route::post("admin/enable-sr", "AdminController@enableStorageResource"); Route::post("admin/disable-sr", "AdminController@disableStorageResource"); Route::post("admin/add-roles-to-user", "AdminController@addRolesToUser"); Route::post("admin/remove-role-from-user", "AdminController@removeRoleFromUser"); Route::post("admin/create-ssh-token", "AdminController@createSSH"); Route::post("admin/remove-ssh-token", "AdminController@removeSSH"); Route::post("admin/create-pwd-token", "AdminController@createPWD"); Route::post("admin/remove-pwd-token", "AdminController@removePWD"); //GatewayProviders Route::get("provider/request-gateway", "AdminController@checkRequest"); Route::get("provider/add-gateway", "AdminController@requestGateway"); Route::get("provider/update-details", "GatewayRequestUpdateController@updateDetails"); //notices Route::get("admin/dashboard/notices", "AdminController@noticesView"); Route::post("add-notice", "AdminController@addNotice"); Route::post("update-notice", "AdminController@updateNotice"); Route::post("delete-notice", "AdminController@deleteNotice"); Route::post("notice-seen-ack", "AccountController@noticeSeenAck"); //Super Admin Specific calls Route::get("admin/add-gateway", "AdminController@createGateway"); Route::get("admin/add-new-gateway", "AdminController@addGateway"); Route::get("admin/update-gateway-request", "AdminController@updateGateway"); /* * Theme Pages Routes */ Route::get( "pages/{theme_view}", function( $theme_view){ //In some cases, theme doesn't get loaded in session, so doing that here //as well incase it does not. if(! Session::has("theme")){ Session::put("theme", Config::get('pga_config.portal')['theme']); } return View::make("pages", array("page" => $theme_view) ); }); //Airavata Server Check Route::get("airavata/down", function () { return View::make("server-down"); }); /* * Test Routes. */ Route::get("testjob", function () { return Markdown::render( View::make('edit-mode')); }); /*handling errors on production */ App::missing(function($exception) { return Response::view('error', array(), 404); }); /* * Following base Routes need to be at the bottom. */ Route::controller("home", "HomeController"); Route::controller("/", "HomeController");