apollodec/Apollo/assets/js/controllers/loginCtrl.js

171 lines
6.2 KiB
JavaScript
Executable File

'use strict';
/**
* controllers for ng-table//commentgit
* Simple table with sorting and filtering on AngularJS
*/
app.controller('loginCtrl', ["$scope", "$http", "API_POINTS", "$state", '$rootScope', '$cookies', 'md5', 'ipCookie', "SweetAlert", "$window", function ($scope, $http, apiPoint, $state, $rootScope, $cookies, md5, ipCookie, SweetAlert, $window) {
/**
* login details capture
* by : kdk
*/
$scope.myModel = {
'userMobile': '',
'password': ''
};
$scope.typeInput = 'password';
$scope.place = 'password';
$scope.icon = 'fa fa-lock';
$scope.show = false;
$scope.info = false;
$scope.responseData = '';
$scope.form = {
submit: function (form) {
var firstError = null;
if (form.$invalid) {
var field = null, firstError = null;
for (field in form) {
if (field[0] != '$') {
if (firstError === null && !form[field].$valid) {
firstError = form[field].$name;
}
if (form[field].$pristine) {
form[field].$dirty = true;
}
}
}
angular.element('.ng-invalid[name=' + firstError + ']').focus();
} else {
$scope.spin = '';
var password = '';
if($scope.typeInput =='text'){
var password = $scope.myModel.password;
}else{
var password = md5.createHash($scope.myModel.password || '');
}
var req = {
method: 'POST',
url: apiPoint.url + 'login/',
headers: {
'Content-Type': 'application/json'
},
data: {
userMobile: $scope.myModel.userMobile,
password: password,
accessFrom: 'Web'
}
};
$http(req).then(function (response) {
if (response.data.loginStatus == true) {
$scope.responseData = response.data.details;
/*
* After logined user details store to local client detail
*/
var localDateTime = new Date();
$scope.localStore = {
"localUserID": $scope.responseData.ID,
"localBranchID": $scope.responseData.BranchCode,
'localType': $scope.responseData.ListCode,
'is_DayBookApproval_Access': $scope.responseData.FinanceModuleAccess,
'localOn': localDateTime,
'status': 'active'
}
ipCookie('cookiechk', $scope.localStore, { expires: 21 });
localStorage.setItem('localObj', JSON.stringify($scope.localStore));
if($scope.responseData.ListCode=='R001'){
$state.go('app.studentView');
}
else{
// $window.location.reload();
$state.go('app.dashboard');
// $window.location.reload();
}
} else {
// alert(response.data.message);
swal("Warning!", response.data.message, "warning");
$scope.show = true;
$(".alert").delay(200).addClass("in").fadeOut(3500);
}
});
}
},
reset: function (form) {
$scope.myModel = angular.copy($scope.master);
form.$setPristine(true);
}
}
$scope.myInterval = 2000; // load when html page load
$scope.init = function () {
$scope.getAnnouncementDetails();
}
$scope.getAnnouncementDetails = function () {
var req = {
method: 'POST',
url: apiPoint.url + 'getLoginAnnouncementDetails/',
headers: { 'Content-Type': 'application/json' },
data: {}
};
$http(req).then(function (response) {
if (response.data.AnnouncementStatus) {
$scope.slides = response.data.details;
// alert(JSON.stringify($scope.slides));
} else {
$scope.slides = [{
"Heading" : " ",
"description" : " "
}]
}
});
}
/**
* Checkstudent change function *
* created_by : sriram
*/
$scope.checkMobileNumber = function (MobileNumber) {
//alert($scope.myModel.userMobile);
// var studentNumber = $scope.myModel.userMobile;
if($scope.myModel.userMobile !=''){
swal({
title:"Please Wait..",
imageUrl: 'https://cdn.dribbble.com/users/15774/screenshots/1759511/spinner.gif',
showConfirmButton: false
});
var req = {
method:'POST',
url:apiPoint.url + 'checkmobilenumber',
header:{'Content-Type':'application/json'},
data:{mobilenum:$scope.myModel.userMobile}
};
$http(req).then(function(response){
//console.log(response);
swal.close();
if(response.data.loginstudent ==true){
if(response.data.checkstudent == true){
$scope.typeInput = 'text';
$scope.place = 'OTP';
$scope.icon = 'fa fa-key';
$scope.info = true;
}else{
swal("Warning!", response.data.message, "warning");
$scope.show = true;
$(".alert").delay(200).addClass("in").fadeOut(3500);
}
}else{
$scope.typeInput = 'password';
$scope.place = 'password';
$scope.icon = 'fa fa-lock';
$scope.info = false;
}
});
}
}
}]);