You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2016/10/28 20:04:54 UTC

[08/18] airavata-php-gateway git commit: AIRAVATA-2152 Enable reservation start/end time

AIRAVATA-2152 Enable reservation start/end time

Also factored out UTC<->local time conversion to functions in
CommonUtilities.php. Fixed a bug in the logic with timezones with
negative offset; the minus sign wasn't being handled in strtotime so I'm
using the absolute value instead.


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/18a98fd2
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/18a98fd2
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/18a98fd2

Branch: refs/heads/develop
Commit: 18a98fd27475dd7b3e918e3b20d6c7de26dd894c
Parents: 17425c0
Author: Marcus Christie <ma...@iu.edu>
Authored: Wed Oct 19 16:44:48 2016 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Fri Oct 28 15:04:30 2016 -0400

----------------------------------------------------------------------
 app/libraries/CRUtilities.php                   |  8 ++----
 app/libraries/CommonUtilities.php               | 26 ++++++++++++++++++
 app/libraries/URPUtilities.php                  |  8 ++----
 .../account/user-compute-resources.blade.php    | 29 ++++++++++++++++++++
 .../compute-resource-preferences.blade.php      |  9 ++----
 .../user-compute-resource-preferences.blade.php |  9 ++----
 6 files changed, 63 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/18a98fd2/app/libraries/CRUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/CRUtilities.php b/app/libraries/CRUtilities.php
index fad1ad2..34066c1 100755
--- a/app/libraries/CRUtilities.php
+++ b/app/libraries/CRUtilities.php
@@ -524,15 +524,11 @@ class CRUtilities
 
     public static function add_or_update_CRP($inputs)
     {
-        $timeDifference = Session::get("user_timezone");
-        $addOrSubtract = "-";
-        if( $timeDifference > 0)
-            $addOrSubtract = "+";
         $inputs = Input::all();
         if( $inputs["reservationStartTime"] != "")
-            $inputs["reservationStartTime"] = strtotime( $addOrSubtract . " " . Session::get("user_timezone") . " hours", strtotime( $inputs["reservationStartTime"]) ) * 1000;
+            $inputs["reservationStartTime"] = CommonUtilities::convertLocalToUTC($inputs["reservationStartTime"]) * 1000;
         if( $inputs["reservationEndTime"] != "")
-            $inputs["reservationEndTime"] = strtotime( $addOrSubtract . " " . Session::get("user_timezone") . " hours", strtotime($inputs["reservationEndTime"]) ) * 1000;
+            $inputs["reservationEndTime"] = CommonUtilities::convertLocalToUTC($inputs["reservationEndTime"]) * 1000;
 
         $computeResourcePreferences = new computeResourcePreference($inputs);
 

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/18a98fd2/app/libraries/CommonUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/CommonUtilities.php b/app/libraries/CommonUtilities.php
index 9ec209b..94e8626 100644
--- a/app/libraries/CommonUtilities.php
+++ b/app/libraries/CommonUtilities.php
@@ -373,5 +373,31 @@ class CommonUtilities
             }
         };
     }
+
+    /**
+     * Convert from UTC time to local time. Units are seconds since Unix Epoch.
+     */
+    public static function convertUTCToLocal($utcTime) {
+
+        $timeDifference = Session::get("user_timezone");
+        $addOrSubtract = "-";
+        if( $timeDifference < 0)
+            $addOrSubtract = "+";
+
+        return strtotime( $addOrSubtract . " " . abs($timeDifference) . " hours", $utcTime);
+    }
+
+    /**
+     * Convert from local time to UTC time. Units are seconds since Unix Epoch.
+     */
+    public static function convertLocalToUTC($localTime) {
+
+        $timeDifference = Session::get("user_timezone");
+        $addOrSubtract = "-";
+        if( $timeDifference > 0)
+            $addOrSubtract = "+";
+
+        return strtotime( $addOrSubtract . " " . abs($timeDifference) . " hours", $localTime);
+    }
 }
 

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/18a98fd2/app/libraries/URPUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/URPUtilities.php b/app/libraries/URPUtilities.php
index 3da8f21..ad4529b 100644
--- a/app/libraries/URPUtilities.php
+++ b/app/libraries/URPUtilities.php
@@ -72,15 +72,11 @@ class URPUtilities
 
     public static function add_or_update_user_CRP($inputs, $update = false)
     {
-        $timeDifference = Session::get("user_timezone");
-        $addOrSubtract = "-";
-        if( $timeDifference > 0)
-            $addOrSubtract = "+";
         $inputs = Input::all();
         if( $inputs["reservationStartTime"] != "")
-            $inputs["reservationStartTime"] = strtotime( $addOrSubtract . " " . Session::get("user_timezone") . " hours", strtotime( $inputs["reservationStartTime"]) ) * 1000;
+            $inputs["reservationStartTime"] = CommonUtilities::convertLocalToUTC($inputs["reservationStartTime"]) * 1000;
         if( $inputs["reservationEndTime"] != "")
-            $inputs["reservationEndTime"] = strtotime( $addOrSubtract . " " . Session::get("user_timezone") . " hours", strtotime($inputs["reservationEndTime"]) ) * 1000;
+            $inputs["reservationEndTime"] = CommonUtilities::convertLocalToUTC($inputs["reservationEndTime"]) * 1000;
 
         $userComputeResourcePreference = new UserComputeResourcePreference($inputs);
         $userId = Session::get('username');

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/18a98fd2/app/views/account/user-compute-resources.blade.php
----------------------------------------------------------------------
diff --git a/app/views/account/user-compute-resources.blade.php b/app/views/account/user-compute-resources.blade.php
index a1a1f99..e46f37e 100644
--- a/app/views/account/user-compute-resources.blade.php
+++ b/app/views/account/user-compute-resources.blade.php
@@ -2,6 +2,7 @@
 
 @section('page-header')
 @parent
+{{ HTML::style('css/datetimepicker.css')}}
 <style>
 button.add-user-cr {
     margin-top: 10px;
@@ -120,6 +121,8 @@ button.add-user-cr {
 
 @section('scripts')
 @parent
+{{ HTML::script('js/moment.js')}}
+{{ HTML::script('js/datetimepicker.js')}}
 <script>
 
 $('.add-user-cr').on('click', function(){
@@ -136,5 +139,31 @@ $("body").on("change", "#user-cr-select", function(){
     crId = crId.replace(/\./g,"_");
     $(".user-cr-pref-space").html($("#cr-" + crId).html());
 });
+
+/* making datetimepicker work for reservation start and end date kept in user-compute-resource-preferences blade*/
+$('.datetimepicker1').datetimepicker({
+    pick12HourFormat: false
+    //pickTime: false
+});
+$('.datetimepicker2').datetimepicker({
+    pick12HourFormat: false
+    //pickTime: false
+});
+
+$(".datetimepicker1 input").focus( function(){
+    $(this).parent().find(".glyphicon-calendar").click();
+});
+$(".datetimepicker2 input").focus( function(){
+    $(this).parent().find(".glyphicon-calendar").click();
+});
+
+$(".datetimepicker1").on("dp.change", function (e) {
+    $('.datetimepicker2').data("DateTimePicker").setMinDate(e.date);
+    $(this).find(".glyphicon-calendar").click();
+});
+$(".datetimepicker2").on("dp.change", function (e) {
+    $('.datetimepicker1').data("DateTimePicker").setMaxDate(e.date);
+    $(this).find(".glyphicon-calendar").click();
+});
 </script>
 @stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/18a98fd2/app/views/partials/compute-resource-preferences.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/compute-resource-preferences.blade.php b/app/views/partials/compute-resource-preferences.blade.php
index 99fc469..82bdd62 100644
--- a/app/views/partials/compute-resource-preferences.blade.php
+++ b/app/views/partials/compute-resource-preferences.blade.php
@@ -132,18 +132,13 @@
 </div>
 <?php
 //to add or remove time according to local hours.
-$timeDifference = Session::get("user_timezone");
-$addOrSubtract = "-";
-if( $timeDifference < 0)
-    $addOrSubtract = "+";
-
 $reservationStartTime = "";
 if( isset( $preferences) && $preferences->reservationStartTime != '')
-    $reservationStartTime = strtotime( $addOrSubtract . " " . Session::get("user_timezone") . " hours", $preferences->reservationStartTime/1000);
+    $reservationStartTime = CommonUtilities::convertUTCToLocal($preferences->reservationStartTime/1000)
 
 $reservationEndTime = "";
 if( isset( $preferences) && $preferences->reservationEndTime != '')
-    $reservationEndTime = strtotime( $addOrSubtract . " " . Session::get("user_timezone") . " hours", $preferences->reservationEndTime/1000);
+    $reservationEndTime = CommonUtilities::convertUTCToLocal($preferences->reservationEndTime/1000)
 
 ?>
 <div class="form-group col-md-6">

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/18a98fd2/app/views/partials/user-compute-resource-preferences.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/user-compute-resource-preferences.blade.php b/app/views/partials/user-compute-resource-preferences.blade.php
index 0e2036c..af0872e 100644
--- a/app/views/partials/user-compute-resource-preferences.blade.php
+++ b/app/views/partials/user-compute-resource-preferences.blade.php
@@ -83,18 +83,13 @@
 </div>
 <?php
 //to add or remove time according to local hours.
-$timeDifference = Session::get("user_timezone");
-$addOrSubtract = "-";
-if( $timeDifference < 0)
-    $addOrSubtract = "+";
-
 $reservationStartTime = "";
 if( isset( $preferences) && $preferences->reservationStartTime != '')
-    $reservationStartTime = strtotime( $addOrSubtract . " " . Session::get("user_timezone") . " hours", $preferences->reservationStartTime/1000);
+    $reservationStartTime = CommonUtilities::convertUTCToLocal($preferences->reservationStartTime/1000)
 
 $reservationEndTime = "";
 if( isset( $preferences) && $preferences->reservationEndTime != '')
-    $reservationEndTime = strtotime( $addOrSubtract . " " . Session::get("user_timezone") . " hours", $preferences->reservationEndTime/1000);
+    $reservationEndTime = CommonUtilities::convertUTCToLocal($preferences->reservationEndTime/1000)
 
 ?>