Author: jfthomps
Date: Wed Sep 24 17:52:07 2014
New Revision: 1627374

URL: http://svn.apache.org/r1627374
Log:
VCL-780 - combine new reservation and current reservations pages

requests.php:
-modified AJeditRequest, AJrebootRequest, and AJshowReinstallRequest: extended 
condition checking for expired reservation to check for expired states in 
addition to null
-modified AJconfirmDeleteRequest and AJconnectRequest: added section to check 
for expired reservation by checking expired states

resource.php: modified AJstartImage: added check for reservation being expired

requests.js: modified connectRequestCB and endReservationCB: added check for 
'refresh' in data.items, and if it exists and == 1, refreshes the page

image.js: modified startImageCB: added section checking for 'resgone' status 
response

Modified:
    vcl/trunk/web/.ht-inc/requests.php
    vcl/trunk/web/.ht-inc/resource.php
    vcl/trunk/web/js/requests.js
    vcl/trunk/web/js/resources/image.js

Modified: vcl/trunk/web/.ht-inc/requests.php
URL: 
http://svn.apache.org/viewvc/vcl/trunk/web/.ht-inc/requests.php?rev=1627374&r1=1627373&r2=1627374&view=diff
==============================================================================
--- vcl/trunk/web/.ht-inc/requests.php (original)
+++ vcl/trunk/web/.ht-inc/requests.php Wed Sep 24 17:52:07 2014
@@ -2916,7 +2916,9 @@ function AJeditRequest() {
        $requestid = getContinuationVar('requestid', 0);
        $request = getRequestInfo($requestid, 1);
        # check to see if reservation exists
-       if(is_null($request)) {
+       if(is_null($request) || $request['stateid'] == 11 || 
$request['stateid'] == 12 ||
+          ($request['stateid'] == 14 && 
+          ($request['laststateid'] == 11 || $request['laststateid'] == 12))) {
                sendJSON(array('status' => 'resgone'));
                return;
        }
@@ -3654,10 +3656,20 @@ function AJconfirmDeleteRequest() {
        $request = getRequestInfo($requestid, 1);
        if(is_null($request)) {
                $data = array('error' => 1,
+                             'refresh' => 1,
                              'msg' => _("The specified reservation no longer 
exists."));
                sendJSON($data);
                return;
        }
+       if($request['stateid'] == 11 || $request['stateid'] == 12 ||
+          ($request['stateid'] == 14 && 
+          ($request['laststateid'] == 11 || $request['laststateid'] == 12))) {
+               $data = array('error' => 1,
+                             'refresh' => 1,
+                             'msg' => _("This reservation has timed out due to 
lack of user activity and is no longer available."));
+               sendJSON($data);
+               return;
+       }
        if($request['forimaging'])
                $reservation = $request['reservations'][0];
        else {
@@ -3867,7 +3879,9 @@ function AJsubmitRemoveRequest() {
 function AJrebootRequest() {
        $requestid = getContinuationVar('requestid');
        $reqdata = getRequestInfo($requestid, 1);
-       if(is_null($reqdata)) {
+       if(is_null($reqdata) || $reqdata['stateid'] == 11 || 
$reqdata['stateid'] == 12 ||
+          ($reqdata['stateid'] == 14 && 
+          ($reqdata['laststateid'] == 11 || $reqdata['laststateid'] == 12))) {
                print "resGone('reboot'); ";
                print "dijit.byId('editResDlg').show();";
                print "setTimeout(resRefresh, 1500);";
@@ -3897,7 +3911,9 @@ function AJshowReinstallRequest() {
        global $user;
        $requestid = getContinuationVar('requestid');
        $reqdata = getRequestInfo($requestid, 1);
-       if(is_null($reqdata)) {
+       if(is_null($reqdata) || $reqdata['stateid'] == 11 || 
$reqdata['stateid'] == 12 ||
+          ($reqdata['stateid'] == 14 && 
+          ($reqdata['laststateid'] == 11 || $reqdata['laststateid'] == 12))) {
                sendJSON(array('status' => 'resgone'));
                return;
        }
@@ -4001,12 +4017,17 @@ function AJreinstallRequest() {
 function AJconnectRequest() {
        global $remoteIP, $user;
        $requestid = getContinuationVar('requestid');
-       $requestData = getRequestInfo($requestid);
+       $requestData = getRequestInfo($requestid, 1);
+       if(is_null($requestData)) {
+               $h = _("This reservation is no longer available.");
+               sendJSON(array('html' => $h, 'refresh' => 1));
+               return;
+       }
        if($requestData['stateid'] == 11 || $requestData['stateid'] == 12 ||
           ($requestData['stateid'] == 14 && 
           ($requestData['laststateid'] == 11 || $requestData['laststateid'] == 
12))) {
                $h = _("This reservation has timed out due to lack of user 
activity and is no longer available.");
-               sendJSON($h);
+               sendJSON(array('html' => $h, 'refresh' => 1));
                return;
        }
        $h = '';

Modified: vcl/trunk/web/.ht-inc/resource.php
URL: 
http://svn.apache.org/viewvc/vcl/trunk/web/.ht-inc/resource.php?rev=1627374&r1=1627373&r2=1627374&view=diff
==============================================================================
--- vcl/trunk/web/.ht-inc/resource.php (original)
+++ vcl/trunk/web/.ht-inc/resource.php Wed Sep 24 17:52:07 2014
@@ -1595,7 +1595,15 @@ function AJstartImage() {
        $requestid = getContinuationVar("requestid");
        $checkpoint = getContinuationVar("checkpoint", 0);
 
-       $data = getRequestInfo($requestid);
+       $data = getRequestInfo($requestid, 1);
+       if(is_null($data) || $data['stateid'] == 11 || $data['stateid'] == 12 ||
+          ($data['stateid'] == 14 && 
+          ($data['laststateid'] == 11 || $data['laststateid'] == 12))) {
+               $ret = array('status' => 'resgone',
+                            'errmsg' => _("The reservation you selected to 
image has expired."));
+               sendJSON($ret);
+               return;
+       }
        $disableUpdate = 1;
        $imageid = '';
        if(count($data['reservations']) == 1) {

Modified: vcl/trunk/web/js/requests.js
URL: 
http://svn.apache.org/viewvc/vcl/trunk/web/js/requests.js?rev=1627374&r1=1627373&r2=1627374&view=diff
==============================================================================
--- vcl/trunk/web/js/requests.js (original)
+++ vcl/trunk/web/js/requests.js Wed Sep 24 17:52:07 2014
@@ -1312,7 +1312,10 @@ function connectRequest(cont) {
 function connectRequestCB(data, ioArgs) {
        dijit.byId('connectDlgContent').set('content', data.items.html);
        dijit.byId('connectDlg').show();
-       setTimeout(checkConnectTimeout, 15000);
+       if('refresh' in data.items && data.items.refresh == 1)
+               resRefresh();
+       else
+               setTimeout(checkConnectTimeout, 15000);
 }
 
 function endReservation(cont) {
@@ -1322,6 +1325,8 @@ function endReservation(cont) {
 function endReservationCB(data, ioArgs) {
        if(data.items.error) {
                alert(data.items.msg);
+               if('refresh' in data.items && data.items.refresh)
+                       setTimeout(resRefresh, 800);
                return;
        }
        dojo.byId('endrescont').value = data.items.cont;

Modified: vcl/trunk/web/js/resources/image.js
URL: 
http://svn.apache.org/viewvc/vcl/trunk/web/js/resources/image.js?rev=1627374&r1=1627373&r2=1627374&view=diff
==============================================================================
--- vcl/trunk/web/js/resources/image.js (original)
+++ vcl/trunk/web/js/resources/image.js Wed Sep 24 17:52:07 2014
@@ -564,6 +564,11 @@ function startImageCB(data, ioArgs) {
                alert(data.items.errmsg);
                return;
        }
+       if(data.items.status == 'resgone') {
+               alert(data.items.errmsg);
+               resRefresh();
+               return;
+       }
        // configure add image dialog, extra work, but saves an AJAX call after 
selection
        resetEditResource();
        var methodids = new Array();


Reply via email to