app/views/account/dashboard.blade.php (394 lines of code) (raw):

@extends('layout.basic') @section('page-header') @parent {{ HTML::style('css/admin.css')}} @stop @section('content') <div class="container"> <div class="col-md-12"> @if( Session::has("message")) <div class="row"> <div class="alert alert-success alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> {{ Session::get("message") }} </div> </div> {{ Session::forget("message") }} @endif @if (Session::has("errorMessages")) <div class="row"> <div class="alert alert-danger alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> {{ Session::get("errorMessages") }} </div> </div> {{ Session::forget("errorMessages") }} @endif @if( Session::has('new-gateway-provider') ) <div style="margin-top:50px;" class="col-md-12"> @if( Session::has("existing-gateway-provider") ) <h3>List of Requested Gateways</h3> <table class="table table-bordered"> <thead> <tr class="text-center"> <th style="vertical-align: top; text-align: center">Gateway Name</th> <th style="vertical-align: top; text-align: center">Creation Time</th> <th style="vertical-align: top; text-align: center">Gateway URL</th> <th style="vertical-align: top; text-align: center">Project Details</th> <th style="vertical-align: top; text-align: center">Project Abstract</th> <th style="vertical-align: top; text-align: center">Gateway Request Status</th> <th style="vertical-align: top; text-align: center">Actions</th> <th style="vertical-align: top; text-align: center">SciGaP Admin Comments</th> </tr> </thead> <tbody> @foreach( $requestedGateways as $internalGatewayId => $gateway) <tr> <td>{{ $gateway["gatewayInfo"]->gatewayName }}</td> <?php $timeDifference = Session::get("user_timezone"); $addOrSubtract = "-"; if( $timeDifference < 0) $addOrSubtract = "+"; $creationTime = date('m/d/Y h:i:s A', intval( strtotime( $addOrSubtract . " " . Session::get("user_timezone") . " hours", $gateway["gatewayInfo"]->requestCreationTime/1000) ) ); ?> <td>{{ $creationTime}}</td> <td>{{ $gateway["gatewayInfo"]->gatewayURL }}</td> <td style="max-width: 400px; word-wrap: break-word;">{{ $gateway["gatewayInfo"]->reviewProposalDescription }}</td> <td style="max-width: 400px; word-wrap: break-word;">{{ $gateway["gatewayInfo"]->gatewayPublicAbstract }}</td> <td>{{ $gateway["approvalStatus"] }}</td> <td> @if( $gateway["approvalStatus"] == "CREATED" || $gateway["approvalStatus"] == "DEPLOYED" ) <div class="btn-group" role="group" aria-label="..."> <button type="button" class="btn btn-default view-credentials" data-gatewayobject="{{ htmlentities( json_encode( $gateway['gatewayInfo'])) }}">View Credentials</button> <!-- <button type="button" class="btn btn-default"><a href="{{URL::to('/')}}/admin/dashboard?gatewayId={{$internalGatewayId}}">Manage Gateway</a></button> <button type="button" class="btn btn-danger deactivateGateway-button" data-toggle="modal" data-target="#deactivateGateway" data-gateway_id="{{$gateway['gatewayInfo']->gatewayId}}" data-internal_gateway_id="{{$internalGatewayId}}">Deactivate Gateway</button> --> </div> @elseif( $gateway["approvalStatus"] == "REQUESTED" || $gateway["approvalStatus"] == "APPROVED") <a href="{{URL::to('/')}}/admin/update-gateway-request?internal_gateway_id={{$internalGatewayId}}&gateway_id={{$gateway['gatewayInfo']->gatewayId}}&cancelRequest=true"> <button type="button" class="btn btn-danger">Cancel Request</button> </a> @if( $gateway["approvalStatus"] == "APPROVED") <a href="{{URL::to('/')}}/account/update-gateway?gateway-id={{$internalGatewayId}}&updateRequest=true"> <button type="button" class="gateway-update-button btn btn-default">Update Request</button> </a> @endif @endif </td> <td> {{$gateway["gatewayInfo"]->declinedReason}} </td> </tr> @endforeach </tbody> </table> @endif </div> <div class="col-md-12"> <div> <button class="gateway-request-button btn btn-default">Request a New Gateway</button> <br/> </div> @if(empty($requestedGateways)) <br> <div class="well"> <h4>You are in this page to create request for a new Gateway. Please click 'Request a New Gateway' button and proceed. Once your request is submitted, a SciGaP admin will process the requirement and if needed you will be contacted. </h4> </div> @endif <br/> <div class="well"> <h6 class="text-center">Need faster or more customised solutions for your Gateway? Contact us at: <a href="mailto:help@scigap.org">help@scigap.org</a></h6> </div> @if ($errors->has()) @foreach ($errors->all() as $error) {{ CommonUtilities::print_error_message($error) }} @endforeach @endif <div class="row @if(! $errors->has())hide @endif gateway-request-form"> <div class="col-md-offset-2 col-md-8"> <form id="request-tenant-form" action="{{ URL::to('/') }}/provider/request-gateway"> <div class="col-md-12 text-center" style="margin-top:20px;"> <h3>Request your gateway now!</h3> </div> <div class="form-group required"> <label class="control-label">Gateway Name</label> <input type="text" maxlength="50" name="gateway-name" class="form-control" required="required" value="{{Input::old('gateway-name') }}" /> </div> <div class="form-group required"> <label class="control-label">Gateway Contact Email</label> <input type="text" name="email-address" class="form-control" required="required" value="{{Input::old('email-address') }}"/> </div> <div class="form-group required"> <label class="control-label">Public Project Description</label> <textarea type="text" name="public-project-description" maxlength="250" id="public-project-description" class="form-control" required="required" data-container="body" data-toggle="popover" data-placement="left" data-content="This description will be used to describe the gateway in the Science Gateways List. It help a user decide whether or not this gateway will be useful to them.">{{Input::old('public-project-description') }}</textarea> </div> <input type="submit" value="Send Request" class="btn btn-primary"/> <input type="reset" value="Reset" class="btn"> </form> </div> </div> <hr/> </div> <hr/> </div> <!-- View Credentials --> <div class="modal fade" id="viewCredentials" tabindex="-1" role="dialog" aria-labelledby="vc"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title">Gateway Credentials</h4> </div> <div class="modal-body"> <table class="table table-bordered"> <thead> <tr> <th>Property</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>Gateway Name</td> <td class="gateway-id"></td> </tr> <tr> <td>Gateway URL</td> <td class="gateway-url"></td> </tr> <tr> <td>Admin Username</td> <td class="admin-username"></td> </tr> <tr> <td>Oauth Client Key</td> <td class="oauth-client-key"></td> </tr> <tr> <td>Oauth Client Secret</td> <td class="oauth-client-secret"></td> </tr> </tbody> </table> </div> <!-- <div class="modal-footer"> </div> --> </div> </div> </div> <!-- Deactivate Modal --> <div class="modal fade" id="deactivateGateway" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title" id="myModalLabel">Deactivate Confirmation</h4> </div> <div class="modal-body"> Are you sure, you want to deactivate this Gateway? This action cannot be undone. </div> <div class="modal-footer"> <form action="{{URL::to('/')}}/admin/update-gateway-request?status=3" method="GET"> <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> <input type="hidden" id="deactivateGatewayId" name="gateway_id" value=""/> <input type="hidden" id="deactivateInternalGatewayId" name="internal_gateway_id" value=""/> <button type="submit" class="btn btn-danger">Deactivate</button> </form> </div> </div> </div> </div> @elseif( Session::has('authorized-user') || Session::has('admin') || Session::has('admin-read-only') ) <div class="row text-center breathing-space"> <h1>Gateway: {{Session::get("gateway_id")}}</h1> <h3>Let's get started!</h3> </div> @if (Session::has('auto_provisioned_accounts')) @include('partials/auto-provisioned-accounts', array("auto_provisioned_accounts" => Session::get('auto_provisioned_accounts'))) @endif <div class="row text-center admin-options"> <div class="row well"> <h3>See what's happening in your projects</h3> <a href="{{URL::to('/')}}/project/browse"> <div class="@if( Session::has('admin') || Session::has('admin-read-only')) col-md-4 @else col-md-6 @endif well"> <div class="col-md-12"> <span class="glyphicon glyphicon-off console-icon"></span> </div> <div class="col-md-12"> <h4>Browse Projects</h4> </div> </div> </a> <a href="{{URL::to('/')}}/experiment/browse"> <div class="@if( Session::has('admin') || Session::has('admin-read-only')) col-md-4 @else col-md-6 @endif well"> <div class="col-md-12"> <span class="glyphicon glyphicon-tasks console-icon"></span> </div> <div class="col-md-12"> <h4>Browse Experiments</h4> </div> </div> </a> @if( Session::has('admin') || Session::has('admin-read-only')) <a href="{{URL::to('/')}}/admin/dashboard/experiments"> <div class="col-md-4 well"> <div class="col-md-12"> <span class="glyphicon glyphicon-stats console-icon"></span> </div> <div class="col-md-12"> <h4>Experiment Statistics</h4> </div> </div> </a> @endif </div> @if( Session::has('admin') || Session::has('admin-read-only') ) <div class="row well"> <h3>Manage Users Access</h3> <a href="{{URL::to('/')}}/admin/dashboard/users"> <div class="col-md-4 col-md-offset-4 well"> <div class="col-md-12"> <span class="glyphicon glyphicon-user console-icon"></span> </div> <div class="col-md-12"> <h4>Browse Users</h4> </div> </div> </a> </div> <div class="row well"> <h3>Manage Computing and Storage Resources and Preferences for your Gateway</h3> <a href="{{URL::to('/')}}/cr/browse"> <div class=" col-md-3 well"> <div class="col-md-12"> <span class="glyphicon glyphicon-briefcase console-icon"></span> </div> <div class="col-md-12"> <h4>Compute Resources</h4> </div> </div> </a> <a href="{{URL::to('/')}}/admin/dashboard/gateway"> <div class=" col-md-3 well"> <div class="col-md-12"> <span class="glyphicon glyphicon-sort console-icon"></span> </div> <div class="col-md-12"> <h4>Gateway Management</h4> </div> </div> </a> <a href="{{URL::to('/')}}/sr/browse"> <div class=" col-md-3 well"> <div class="col-md-12"> <span class="glyphicon glyphicon-folder-open console-icon"></span> </div> <div class="col-md-12"> <h4>Storage Resources</h4> </div> </div> </a> <a href="{{URL::to('/')}}/admin/dashboard/credential-store"> <div class=" col-md-3 well"> <div class="col-md-12"> <span class="glyphicon glyphicon-lock console-icon"></span> </div> <div class="col-md-12"> <h4>Credential Store</h4> </div> </div> </a> </div> <div class="row well"> <h3>Manage Application Modules, Interfaces and Deployments</h3> <a href="{{URL::to('/')}}/app/module"> <div class="col-md-4 well"> <div class="col-md-12"> <span class="glyphicon glyphicon-th-large console-icon"></span> </div> <div class="col-md-12"> <h4>Browse Application Modules</h4> </div> </div> </a> <a href="{{URL::to('/')}}/app/interface"> <div class="col-md-4 well"> <div class="col-md-12"> <span class="glyphicon glyphicon-phone console-icon"></span> </div> <div class="col-md-12"> <h4>Browse Application Interfaces</h4> </div> </div> </a> <a href="{{URL::to('/')}}/app/deployment"> <div class="col-md-4 well"> <div class="col-md-12"> <span class="glyphicon glyphicon-random console-icon"></span> </div> <div class="col-md-12"> <h4>Browse Application Deployments</h4> </div> </div> </a> @endif <!-- <div class=" col-md-4"> <div class="col-md-12"> <span class="glyphicon glyphicon-list-alt console-icon"></span> </div> <div class="col-md-12"> Reports </div> </div> </div> <div class="row"> <div class="col-md-4"> <div class="col-md-12"> <span class="glyphicon glyphicon-question-sign console-icon"></span> </div> <div class="col-md-12"> Support </div> </div> </div> --> </div> </div> @else <div> <div class="row text-center breathing-space"> <h1>Hi! You look new here.</h1> </div> <div class="row well"> <h4>Your {{ Config::get('pga_config.portal')['portal-title'] }} account is pending approval. You will be notified via email upon approval by {{ Config::get('pga_config.portal')['portal-title'] }} Admin.</h4> </div> </div> @endif <!-- Hidden until completed. <div class="col-md-12 text-center"> <a href="{{URL::to('/')}}/allocation-request"> <button class="btn btn-default ">Request an allocation</button> </a> </div> --> </div> @stop @section('scripts') @parent <script> $(".add-tenant").slideUp(); $(".toggle-add-tenant").click(function () { $('html, body').animate({ scrollTop: $(".toggle-add-tenant").offset().top }, 500); $(".add-tenant").slideDown(); }); $(".gateway-request-button").click( function(){ $(".gateway-request-form").removeClass("hide"); }); $("#password").popover({ 'trigger':'focus' }); $("#gateway-url").popover({ 'trigger':'focus' }); $(".gateway-acronym").popover({ 'trigger':'focus' }); $("#project-details").popover({ 'trigger':'focus' }); $("#public-project-description").popover({ 'trigger':'focus' }); /* $("#add-tenant-form").on("submit", function(e){ e.preventDefault(); console.log( !/[^a-z]/i.test( $(".gateway-acronym").val())); }); */ $(".deactivateGateway-button").click( function(){ var gatewayId = $(this).data("gateway_id"); var internalGatewayId = $(this).data("internal_gateway_id"); $("#deactivateGatewayId").val( gatewayId ); $("#deactivateInternalGatewayId").val( internalGatewayId ); }); $(".view-credentials").click( function(){ var gatewayObject = $(this).data("gatewayobject"); $(".admin-username").html( gatewayObject["identityServerUserName"]); $(".admin-password").html( gatewayObject["identityServerPasswordToken"]); $(".gateway-id").html( gatewayObject["gatewayId"]); $(".gateway-url").html( gatewayObject["gatewayURL"]); $(".gateway-domain").html( gatewayObject["domain"]); $(".oauth-client-key").html( gatewayObject["oauthClientId"]); $(".oauth-client-secret").html( gatewayObject["oauthClientSecret"]); $("#viewCredentials").modal("show"); }); </script> @stop