From 7b844aa218048f01a5b43000e55e29b11db458ca Mon Sep 17 00:00:00 2001 From: Tankred Hase Date: Fri, 11 Oct 2013 23:02:37 +0200 Subject: [PATCH] login to imap in login view --- src/js/controller/login.js | 11 +++++++++- src/js/controller/mail-list.js | 39 ++------------------------------- src/js/controller/navigation.js | 2 +- 3 files changed, 13 insertions(+), 39 deletions(-) diff --git a/src/js/controller/login.js b/src/js/controller/login.js index 180b71e..164e086 100644 --- a/src/js/controller/login.js +++ b/src/js/controller/login.js @@ -21,13 +21,22 @@ define(function(require) { }); function login(password, callback) { + // get OAuth token from chrome appController.fetchOAuthToken(password, function(err) { if (err) { console.error(err); return; } - callback(); + // login to imap backend + appController._emailDao.imapLogin(function(err) { + if (err) { + console.error(err); + return; + } + + callback(); + }); }); } diff --git a/src/js/controller/mail-list.js b/src/js/controller/mail-list.js index 08a6df4..fd15b95 100644 --- a/src/js/controller/mail-list.js +++ b/src/js/controller/mail-list.js @@ -7,8 +7,7 @@ define(function(require) { var MailListCtrl = function($scope) { var offset = 0, - num = 100, - loggedIn = false; + num = 100; emailDao = appController._emailDao; @@ -80,41 +79,12 @@ define(function(require) { folder: getFolder().path, offset: offset, num: num - }, function() { - if (loggedIn) { - // user is already logged in - sync(); - return; - } - // login to imap - loginImap(function() { - loggedIn = true; - sync(); - }); - }); - - function sync() { + }, function sync() { updateStatus('Syncing ...'); $scope.$apply(); // sync imap folder to local db $scope.synchronize(); - } - } - - function loginImap(callback) { - updateStatus('Login ...'); - $scope.$apply(); - - emailDao.imapLogin(function(err) { - if (err) { - console.log(err); - updateStatus('Error on login!'); - $scope.$apply(); - return; - } - - callback(); }); } @@ -189,11 +159,6 @@ define(function(require) { function markAsRead(email) { email.unread = false; - // only update imap state if user is logged in - if (!loggedIn) { - return; - } - emailDao.imapMarkMessageRead({ folder: getFolder().path, uid: email.uid diff --git a/src/js/controller/navigation.js b/src/js/controller/navigation.js index a936aa5..124613f 100644 --- a/src/js/controller/navigation.js +++ b/src/js/controller/navigation.js @@ -11,7 +11,7 @@ define(function(require) { initFolders(function(folders) { $scope.folders = folders; - $scope.apply(); + $scope.$apply(); // select inbox as the current folder on init $scope.openFolder($scope.folders[0]); });