scrive
Version:
ERROR: No README.md file found!
174 lines (145 loc) • 6.23 kB
JavaScript
/**
* Created by ivan on 16-05-25.
*/
(function () {
"use strict";
angular.module("standinApp")
.config(function config($stateProvider) {
$stateProvider
.state('dashboard.account', {
url: '/dashboard/acount',
controller: 'AccountCtrl',
controllerAs: 'vm',
templateUrl: 'dashboard/account/account.html',
data: {pageTitle: 'Account Setting'}
})
})
.controller('AccountCtrl', function (Upload, $window, $state, $q, $scope, ServerRequest, $localStorage, $sessionStorage) {
var vm = this,
c = console;
vm.user = $scope.user;
vm.actionName = "SAVE PROFILE";
vm.phoneNumber = parseInt(vm.user.phoneNumber);
// vm.user.files
vm.selectedUserType = "lawyer";
vm.isShowingBasicInfo = false;
vm.isShowingVerification = false;
vm.isShowingReviews = false;
vm.submitForm = submitForm;
vm.logout = logout;
vm.showReviews = showReviews;
vm.showBasicInfo = showBasicInfo;
vm.showVerification = showVerification;
vm.verifyLinkedIn = verifyLinkedIn;
$scope.$watch('user', function(newVal) {
$scope.$parent.profilePic = newVal.pictureUrl;
});
////////////////////////////////////////
function logout() {
delete $localStorage.user;
$state.go('login');
}
function submitForm() {
vm.user.phoneNumber = vm.phoneNumber;
vm.user.userId = vm.user._id;
vm.user.userType = vm.selectedUserType;
Upload.upload({
url: '/modifyProfile', //webAPI exposed to upload the file
// image: vm.file, //pass file as data, should be user ng-model
data: {image: vm.file, user: vm.user}
}).then(function (resp) { //upload function returns a promise
if (resp.data.success === 1) {
vm.accountError = "";
alert("Profile Saved")
$localStorage.user = resp.data.user;
$scope.user = $localStorage.user;
// $state.go('dashboard.home');
} else {
vm.accountError = resp.data.message;
}
}, function (resp) { //catch error
console.log('Error status: ' + resp.status);
$window.alert('Error status: ' + resp.status);
}, function (evt) {
console.log(evt);
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
vm.progress = 'progress: ' + progressPercentage + '% '; // capture upload progress
});
// ServerRequest.modifyProfile(vm.file, vm.user)
// .then(function(resp) {
// c.log(resp);
// if (resp.success === 1) {
// alert("Profile Saved")
// $localStorage.user = resp.user;
// $scope.user = $localStorage.user;
// // $state.go('dashboard.home');
// } else {
// vm.accountError = resp.message;
// }
// })
// .catch(function(err) {
// console.log(err);
// });
}
function showReviews() {
if (!vm.reviews) {
ServerRequest.getReviewsForUser({
userId: vm.user._id
})
.then(function(resp) {
c.log('resp', resp);
vm.reviews = resp.reviews;
})
.catch(function(err) {
c.log(err);
});
}
vm.isShowingReviews = true;
vm.isShowingBasicInfo = false;
vm.isShowingVerification = false;
}
function showBasicInfo() {
vm.isShowingBasicInfo = true;
vm.isShowingReviews = false;
vm.isShowingVerification = false;
}
function showVerification() {
vm.isShowingBasicInfo = false;
vm.isShowingReviews = false;
vm.isShowingVerification = true;
}
function verifyLinkedIn(data) {
ServerRequest.verifyLinkedIn({
userId: vm.user._id,
linkedInId: data.id
})
.then(function(resp) {
if (resp.success === 1) {
vm.accountError = "";
alert("Verified With LinkedIn")
$localStorage.user = resp.user;
$scope.user = $localStorage.user;
vm.user = $scope.user;
// $state.go('dashboard.home');
} else {
vm.accountError = resp.message;
}
})
.catch(function(err) {
c.log(err);
});
}
// Handle the successful return from the API call
function onSuccess(data) {
console.log(data);
{{vm.verifyLinkedIn(data)}};
}
// Handle an error response from the API call
function onError(error) {
console.log(error);
}
$scope.getLinkedInData = function() {
IN.API.Raw("/people/~:(id,first-name,last-name,public-profile-url,picture-url,email-address,picture-urls::(original))").result(onSuccess).error(onError);
};
});
}());