summaryrefslogtreecommitdiff
path: root/www/js/PortalLoginCtrl.js
diff options
context:
space:
mode:
authorArjun Roychowdhury <pliablepixels@gmail.com>2015-10-02 16:35:01 -0400
committerArjun Roychowdhury <pliablepixels@gmail.com>2015-10-02 16:35:01 -0400
commitd3287595f35e0d96cf6025688aae79938ced63b7 (patch)
treedf334816ba66f34ed23749392a34b0ea1ceff582 /www/js/PortalLoginCtrl.js
parent3a22b40f6381bb066a7039a491c88d771d016e3f (diff)
added checking for minimum ZM version
Diffstat (limited to 'www/js/PortalLoginCtrl.js')
-rw-r--r--www/js/PortalLoginCtrl.js48
1 files changed, 47 insertions, 1 deletions
diff --git a/www/js/PortalLoginCtrl.js b/www/js/PortalLoginCtrl.js
index cfec3004..ec287cf7 100644
--- a/www/js/PortalLoginCtrl.js
+++ b/www/js/PortalLoginCtrl.js
@@ -27,6 +27,8 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic
if (ZMDataModel.isLoggedIn()) {
ZMDataModel.zmLog("User credentials are provided");
+
+
// You can login either via touch ID or typing in your code
if ($ionicPlatform.is('ios') && loginData.usePin) {
@@ -72,7 +74,18 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic
{
ZMDataModel.zmDebug("PortalLogin: auth success");
ZMDataModel.getKeyConfigParams(1);
- ZMDataModel.zmDebug("Transitioning state to: " + $rootScope.lastState ? $rootScope.lastState : 'montage');
+ ZMDataModel.zmDebug("Transitioning state to: " +
+ $rootScope.lastState ? $rootScope.lastState : 'montage');
+
+ ZMDataModel.getAPIversion()
+ .then (function(data) {
+ ZMDataModel.zmLog("Got API version: " + data);
+ if (versionCompare(data,zm.minAppVersion))
+ {
+
+ $state.go('lowversion', {"ver":data});
+ }
+ });
$state.go($rootScope.lastState ? $rootScope.lastState : 'montage', $rootScope.lastStateParam);
},
@@ -109,6 +122,27 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic
$scope.unlock = function () {
unlock(false);
};
+
+ //credit: https://gist.github.com/alexey-bass/1115557
+ function versionCompare(left, right) {
+ if (typeof left + typeof right != 'stringstring')
+ return false;
+
+ var a = left.split('.');
+ var b = right.split('.');
+ var i = 0;
+ var len = Math.max(a.length, b.length);
+
+ for (; i < len; i++) {
+ if ((a[i] && !b[i] && parseInt(a[i]) > 0) || (parseInt(a[i]) > parseInt(b[i]))) {
+ return 1;
+ } else if ((b[i] && !a[i] && parseInt(b[i]) > 0) || (parseInt(a[i]) < parseInt(b[i]))) {
+ return -1;
+ }
+ }
+
+ return 0;
+}
function unlock(touchVerified) {
ZMDataModel.zmDebug("Trying to unlock PIN");
@@ -127,6 +161,17 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic
$rootScope.lastState = "montage";
}
ZMDataModel.zmDebug("PortalLogin: auth success");
+ ZMDataModel.getAPIversion()
+ .then (function(data) {
+ ZMDataModel.zmLog("Got API version: " + data);
+ if (versionCompare(data,zm.minAppVersion))
+ {
+
+ $state.go('lowversion', {"ver":data});
+ }
+
+
+ });
ZMDataModel.getKeyConfigParams(1);
ZMDataModel.zmDebug("Transitioning state to: " + $rootScope.lastState ? $rootScope.lastState : 'montage');
$state.go($rootScope.lastState ? $rootScope.lastState : 'montage', $rootScope.lastStateParam);
@@ -157,6 +202,7 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic
//-------------------------------------------------------------------------------
console.log("************* ENTERING PORTAL MAIN ");
var loginData = ZMDataModel.getLogin();
+ $ionicSideMenuDelegate.canDragContent(false);