33
44var currentUser ;
55
6+
67$ ( function ( ) {
78 var usersDetails = getUserNameAndGroupFromStorage ( ) ;
89 if ( usersDetails && usersDetails . length > 0 ) {
@@ -32,8 +33,7 @@ function configureAppAndLoadUser() {
3233 CONFIG . APP_CONFIG
3334 ) ;
3435
35- QB . createSession ( function ( ) {
36-
36+ QB . createSession ( function ( err , res ) {
3737 $ ( '#loginForm' ) . modal ( 'show' ) ;
3838 $ ( '#loginForm .progress' ) . hide ( ) ;
3939
@@ -58,103 +58,61 @@ function configureAppAndLoadUser() {
5858 'tag_list' : userTag
5959 } ;
6060
61- QB . users . get ( { login : currentUser . login } , function ( error , user ) {
61+ var params = { login : userName , password : "quickblox" } ;
62+
63+ QB . login ( params , function ( error , user ) {
6264 if ( user ) {
63- connectToChat ( ) ;
64- } else if ( error && error . code === 404 ) {
65- QB . users . create ( currentUser , function ( error , user ) {
66- if ( user ) {
67- connectToChat ( ) ;
68- } else {
65+ connectToChat ( user ) ;
66+ saveUserNameAndGroupToStorage ( userName , userTag ) ;
67+
68+ $ ( '#inputUserName' ) . val ( '' ) ;
69+ $ ( '#inputGroupName' ) . val ( '' ) ;
70+ } else {
71+ createUser ( params ) . then (
72+ function ( ) {
73+ QB . login ( params , function ( e , newUser ) {
74+ connectToChat ( newUser ) ;
75+ saveUserNameAndGroupToStorage ( userName , userTag ) ;
76+
77+ $ ( '#inputUserName' ) . val ( '' ) ;
78+ $ ( '#inputGroupName' ) . val ( '' ) ;
79+ } ) ;
80+ }
81+ ) . catch (
82+ function ( error ) {
6983 loginError ( error ) ;
7084 }
71- } ) ;
72- } else {
73- loginError ( error ) ;
85+ ) ;
7486 }
75-
76- saveUserNameAndGroupToStorage ( userName , userTag ) ;
77-
78- $ ( '#inputUserName' ) . val ( '' ) ;
79- $ ( '#inputGroupName' ) . val ( '' ) ;
8087 } ) ;
8188 } ) ;
8289
83-
8490 // can provide username & usergroup via query string for autologin
8591 //
8692 var username = getQueryVar ( 'username' ) ;
8793 var usergroup = getQueryVar ( 'usergroup' ) ;
8894 console . info ( "username: " + username + ", usergroup: " + usergroup ) ;
8995 //
9096 if ( username && usergroup ) {
91- $ ( '#inputUserName' ) . val ( username ) ;
92- $ ( '#inputGroupName' ) . val ( usergroup ) ;
97+ $ ( '#inputUserName' ) . val ( username ) ;
98+ $ ( '#inputGroupName' ) . val ( usergroup ) ;
9399
94- $ ( '.login-button' ) . trigger ( "click" ) ;
100+ $ ( '.login-button' ) . trigger ( "click" ) ;
95101 }
96-
97102 } ) ;
98103}
99104
100- function connectToChat ( ) {
101- $ ( '#loginFormContainer' ) . hide ( ) ;
102- $ ( '#loginForm .progress' ) . show ( ) ;
103-
104- QB . login ( {
105- login : currentUser . login ,
106- password : currentUser . password
107- } , function ( error , user ) {
108- if ( user ) {
109- currentUser . id = user . id ;
110- updateUser ( user ) ;
111- mergeUsers ( [ {
112- user : user
113- } ] ) ;
114-
115- QB . chat . connect ( {
116- userId : currentUser . id ,
117- password : currentUser . password
118- } , function ( err , roster ) {
119- if ( err ) {
120- console . error ( "connect to chat error: " , err ) ;
121- } else {
122- $ ( '#loginForm' ) . modal ( 'hide' ) ;
123- $ ( '.current-user-login' ) . text ( 'Logged as: ' + currentUser . full_name + "(" + currentUser . id + ")" ) ;
124-
125- // retrieve dialogs' list
126- retrieveChatDialogs ( ) ;
127- onUpdateChatDialogs ( ) ;
128- // setup message listeners
129- setupAllListeners ( ) ;
130- // setup scroll events handler
131- setupMsgScrollHandler ( ) ;
132-
133- setupStreamManagementListeners ( ) ;
134- }
135- } ) ;
136- } else {
137- loginError ( error ) ;
138- }
105+ function createUser ( user ) {
106+ return new Promise ( function ( resolve , reject ) {
107+ QB . users . create ( user , function ( error , result ) {
108+ if ( error ) {
109+ reject ( error ) ;
110+ } else {
111+ resolve ( result ) ;
112+ }
113+ } ) ;
139114 } ) ;
140- }
141-
142- function setupAllListeners ( ) {
143- QB . chat . onMessageListener = onMessage ;
144- QB . chat . onSystemMessageListener = onSystemMessageListener ;
145- QB . chat . onDeliveredStatusListener = onDeliveredStatusListener ;
146- QB . chat . onReadStatusListener = onReadStatusListener ;
147-
148- setupIsTypingHandler ( ) ;
149- }
150- // reconnection listeners
151- function onDisconnectedListener ( ) {
152- console . log ( "onDisconnectedListener" ) ;
153- }
154-
155- function onReconnectListener ( ) {
156- console . log ( "onReconnectListener" ) ;
157- }
115+ } ;
158116
159117function updateUser ( resUser ) {
160118 var params = { } ;
@@ -180,6 +138,61 @@ function updateUser(resUser) {
180138 }
181139}
182140
141+ function connectToChat ( user ) {
142+ $ ( '#loginFormContainer' ) . hide ( ) ;
143+ $ ( '#loginForm .progress' ) . show ( ) ;
144+
145+ if ( user ) {
146+ currentUser . id = user . id ;
147+ updateUser ( user ) ;
148+ mergeUsers ( [ {
149+ user : user
150+ } ] ) ;
151+
152+ QB . chat . connect ( {
153+ userId : currentUser . id ,
154+ password : currentUser . password
155+ } , function ( err , roster ) {
156+ if ( err ) {
157+ console . error ( "connect to chat error: " , err ) ;
158+ } else {
159+ $ ( '#loginForm' ) . modal ( 'hide' ) ;
160+ $ ( '.current-user-login' ) . text ( 'Logged as: ' + currentUser . full_name + "(" + currentUser . id + ")" ) ;
161+
162+ // retrieve dialogs' list
163+ retrieveChatDialogs ( ) ;
164+ onUpdateChatDialogs ( ) ;
165+ // setup message listeners
166+ setupAllListeners ( ) ;
167+ // setup scroll events handler
168+ setupMsgScrollHandler ( ) ;
169+
170+ setupStreamManagementListeners ( ) ;
171+ }
172+ } ) ;
173+ } else {
174+ loginError ( error ) ;
175+ }
176+ }
177+
178+ function setupAllListeners ( ) {
179+ QB . chat . onMessageListener = onMessage ;
180+ QB . chat . onSystemMessageListener = onSystemMessageListener ;
181+ QB . chat . onDeliveredStatusListener = onDeliveredStatusListener ;
182+ QB . chat . onReadStatusListener = onReadStatusListener ;
183+
184+ setupIsTypingHandler ( ) ;
185+ }
186+
187+ // reconnection listeners
188+ function onDisconnectedListener ( ) {
189+ console . log ( "onDisconnectedListener" ) ;
190+ }
191+
192+ function onReconnectListener ( ) {
193+ console . log ( "onReconnectListener" ) ;
194+ }
195+
183196function onUpdateChatDialogs ( ) {
184197 $ ( '#updateHistory' ) . on ( 'click' , function ( ) {
185198 $ ( '#dialogs-list' ) . html ( '' ) ;
0 commit comments