| <?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 |
| |
| 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"); |