File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2323 < a class ="forgot-password " id ="usernameLink " href ="" ng-click ="acctCtrl.forgotPassword() "> Forgot password?</ a >
2424 </ div >
2525 < div class ="login-form-input-container form-group remember-me-group ">
26- < input class ="remember-me " type ="checkbox " ng-model = "acctCtrl.rememberMe "> < span class ="remember-me-label "> Remember Me</ span >
26+ < input class ="remember-me " id =" rememberMe " type ="checkbox " ng-model = "acctCtrl.rememberMe " ng-click =" acctCtrl.save($event) "> < span class ="remember-me-label "> Remember Me</ span >
2727 </ div >
2828 </ form >
2929 < div class ="form-group has-error login-form-error-container ">
Original file line number Diff line number Diff line change 33import path from 'path' ;
44import fs from 'fs-extra' ;
55import mkdirp from 'mkdirp' ;
6+ import rimraf from 'rimraf' ;
67import Util from '../../model/helpers/util' ;
78import Logger from '../../services/logger' ;
89import Platform from '../../services/platform' ;
@@ -22,7 +23,7 @@ class AccountController {
2223 this . authFailed = false ;
2324 this . tandcNotSigned = false ;
2425 this . isLoginBtnClicked = false ;
25- this . rememberMe = false ;
26+ this . rememberMe = this . installerDataSvc . rememberMe ;
2627 this . httpError = undefined ;
2728 this . password = '' ;
2829 this . username = '' ;
@@ -62,6 +63,18 @@ class AccountController {
6263 this . tandcNotSigned = false ;
6364 }
6465
66+ save ( event ) {
67+ let checkbox = document . getElementById ( 'rememberMe' ) ;
68+ localStorage . setItem ( 'rememberMe' , checkbox . checked ) ;
69+ if ( event . target . checked === false ) {
70+ let dataFilePath = path . join ( Platform . localAppData ( ) , 'settings.json' ) ;
71+ if ( fs . existsSync ( dataFilePath ) ) {
72+ TokenStore . deleteItem ( 'login' , this . installerDataSvc . username ) ;
73+ rimraf . sync ( dataFilePath ) ;
74+ }
75+ }
76+ }
77+
6578 isInvalid ( field ) {
6679 return field . $invalid && ( field . $dirty || field . $touched ) ;
6780 }
Original file line number Diff line number Diff line change @@ -12,6 +12,10 @@ class TokenStore {
1212 return keytar . getPassword ( key , login ) ;
1313 }
1414
15+ static deleteItem ( key , login ) {
16+ return keytar . deletePassword ( key , login ) ;
17+ }
18+
1519 static getUserName ( ) {
1620 let dataFilePath = path . join ( Platform . localAppData ( ) , 'settings.json' ) ;
1721 let username = '' ;
@@ -23,6 +27,10 @@ class TokenStore {
2327 }
2428 return username ;
2529 }
30+
31+ static getStatus ( ) {
32+ return JSON . parse ( localStorage . getItem ( 'rememberMe' ) ) ;
33+ }
2634}
2735
2836export default TokenStore ;
Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ class InstallerDataService {
3030 this . packageConf = packageConf ;
3131
3232 this . username = TokenStore . getUserName ( ) ;
33+ this . rememberMe = TokenStore . getStatus ( ) ;
3334 this . password = '' ;
3435 if ( this . username ) {
3536 let password = TokenStore . getItem ( 'login' , this . username ) ;
You can’t perform that action at this time.
0 commit comments