Diffstat (limited to 'frontend/beta/js/Clipperz/PM/DataModel/User.js') (more/less context) (ignore whitespace changes)
-rw-r--r-- | frontend/beta/js/Clipperz/PM/DataModel/User.js | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/frontend/beta/js/Clipperz/PM/DataModel/User.js b/frontend/beta/js/Clipperz/PM/DataModel/User.js index dbbe9a0..b065557 100644 --- a/frontend/beta/js/Clipperz/PM/DataModel/User.js +++ b/frontend/beta/js/Clipperz/PM/DataModel/User.js | |||
@@ -96,548 +96,551 @@ Clipperz.PM.DataModel.User.prototype = MochiKit.Base.update(null, { | |||
96 | 'maxNumberOfRecords': function() { | 96 | 'maxNumberOfRecords': function() { |
97 | return this._maxNumberOfRecords; | 97 | return this._maxNumberOfRecords; |
98 | }, | 98 | }, |
99 | 99 | ||
100 | 'setMaxNumberOfRecords': function(aValue) { | 100 | 'setMaxNumberOfRecords': function(aValue) { |
101 | this._maxNumberOfRecords = aValue; | 101 | this._maxNumberOfRecords = aValue; |
102 | }, | 102 | }, |
103 | 103 | ||
104 | //------------------------------------------------------------------------- | 104 | //------------------------------------------------------------------------- |
105 | 105 | ||
106 | 'errorHandler': function(anErrorString, anException) { | 106 | 'errorHandler': function(anErrorString, anException) { |
107 | MochiKit.Logging.logError("- User.errorHandler: " + anErrorString + " (" + anException + ")"); | 107 | MochiKit.Logging.logError("- User.errorHandler: " + anErrorString + " (" + anException + ")"); |
108 | }, | 108 | }, |
109 | 109 | ||
110 | //------------------------------------------------------------------------- | 110 | //------------------------------------------------------------------------- |
111 | 111 | ||
112 | 'connectionVersion': function() { | 112 | 'connectionVersion': function() { |
113 | return this._connectionVersion; | 113 | return this._connectionVersion; |
114 | }, | 114 | }, |
115 | 115 | ||
116 | 'setConnectionVersion': function(aValue) { | 116 | 'setConnectionVersion': function(aValue) { |
117 | this._connectionVersion = aValue; | 117 | this._connectionVersion = aValue; |
118 | }, | 118 | }, |
119 | 119 | ||
120 | //------------------------------------------------------------------------- | 120 | //------------------------------------------------------------------------- |
121 | 121 | ||
122 | 'connection': function() { | 122 | 'connection': function() { |
123 | if ((this._connection == null) && (this.connectionVersion() != null) ){ | 123 | if ((this._connection == null) && (this.connectionVersion() != null) ){ |
124 | this._connection = new Clipperz.PM.Crypto.communicationProtocol.versions[this.connectionVersion()]({user:this}); | 124 | this._connection = new Clipperz.PM.Crypto.communicationProtocol.versions[this.connectionVersion()]({user:this}); |
125 | } | 125 | } |
126 | 126 | ||
127 | return this._connection; | 127 | return this._connection; |
128 | }, | 128 | }, |
129 | 129 | ||
130 | 'resetConnection': function(aValue) { | 130 | 'resetConnection': function(aValue) { |
131 | this._connection = null; | 131 | this._connection = null; |
132 | }, | 132 | }, |
133 | 133 | ||
134 | //========================================================================= | 134 | //========================================================================= |
135 | 135 | ||
136 | 'register': function(anInvitationCode) { | 136 | 'register': function(anInvitationCode) { |
137 | vardeferredResult; | 137 | vardeferredResult; |
138 | var prng; | 138 | var prng; |
139 | 139 | ||
140 | //MochiKit.Logging.logError(">>> User.register: " + this); | 140 | //MochiKit.Logging.logError(">>> User.register: " + this); |
141 | prng = Clipperz.Crypto.PRNG.defaultRandomGenerator(); | 141 | prng = Clipperz.Crypto.PRNG.defaultRandomGenerator(); |
142 | 142 | ||
143 | deferredResult = new MochiKit.Async.Deferred() | 143 | deferredResult = new MochiKit.Async.Deferred() |
144 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.register - 1: " + res); return res;}); | 144 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.register - 1: " + res); return res;}); |
145 | deferredResult.addCallback(MochiKit.Base.method(prng, 'deferredEntropyCollection')); | 145 | deferredResult.addCallback(MochiKit.Base.method(prng, 'deferredEntropyCollection')); |
146 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.register - 2: " + res); return res;}); | 146 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.register - 2: " + res); return res;}); |
147 | deferredResult.addCallback(MochiKit.Base.method(this.header(), 'updateAllSections'), anInvitationCode); | 147 | deferredResult.addCallback(MochiKit.Base.method(this.header(), 'updateAllSections'), anInvitationCode); |
148 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.register - 2.1: " + res); return res;}); | 148 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.register - 2.1: " + res); return res;}); |
149 | deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'register'), anInvitationCode); | 149 | deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'register'), anInvitationCode); |
150 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.register - 3: " + res); return res;}); | 150 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.register - 3: " + res); return res;}); |
151 | deferredResult.callback(); | 151 | deferredResult.callback(); |
152 | //MochiKit.Logging.logError("<<< User.register"); | 152 | //MochiKit.Logging.logError("<<< User.register"); |
153 | 153 | ||
154 | return deferredResult; | 154 | return deferredResult; |
155 | }, | 155 | }, |
156 | 156 | ||
157 | //========================================================================= | 157 | //========================================================================= |
158 | 158 | ||
159 | 'connect': function(aValue) { | 159 | 'connect': function(aValue) { |
160 | vardeferredResult; | 160 | vardeferredResult; |
161 | var prng; | 161 | var prng; |
162 | 162 | ||
163 | prng = Clipperz.Crypto.PRNG.defaultRandomGenerator(); | 163 | prng = Clipperz.Crypto.PRNG.defaultRandomGenerator(); |
164 | 164 | ||
165 | //MochiKit.Logging.logDebug(">>> User.connect"); | 165 | //MochiKit.Logging.logDebug(">>> User.connect"); |
166 | deferredResult = new MochiKit.Async.Deferred(); | 166 | deferredResult = new MochiKit.Async.Deferred(); |
167 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.1 - User.connect - 1: "/* + res*/); return res;}); | 167 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.1 - User.connect - 1: "/* + res*/); return res;}); |
168 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); | 168 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); |
169 | deferredResult.addCallback(MochiKit.Base.method(prng, 'deferredEntropyCollection')); | 169 | deferredResult.addCallback(MochiKit.Base.method(prng, 'deferredEntropyCollection')); |
170 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.2 - User.connect - 2: "/* + res*/); return res;}); | 170 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.2 - User.connect - 2: "/* + res*/); return res;}); |
171 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); | 171 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); |
172 | deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'login')); | 172 | deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'login')); |
173 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.3 - User.connect - 3: "/* + res*/); return res;}); | 173 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.3 - User.connect - 3: "/* + res*/); return res;}); |
174 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); | 174 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); |
175 | 175 | ||
176 | // TODO:add an addErrback call here to manage a wrong login. Any error after this point is due to some other causes. | 176 | // TODO:add an addErrback call here to manage a wrong login. Any error after this point is due to some other causes. |
177 | // possibly the same exact 'handleConnectionFallback use at the end of this same method. | 177 | // possibly the same exact 'handleConnectionFallback use at the end of this same method. |
178 | 178 | ||
179 | if (this.connectionVersion() != 'current') { | 179 | if (this.connectionVersion() != 'current') { |
180 | varcurrentConnection; | 180 | varcurrentConnection; |
181 | 181 | ||
182 | currentVersionConnection = new Clipperz.PM.Crypto.communicationProtocol.versions['current']({user:this}); | 182 | currentVersionConnection = new Clipperz.PM.Crypto.communicationProtocol.versions['current']({user:this}); |
183 | 183 | ||
184 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.4 - User.connect - 4: "/* + res*/); return res;}); | 184 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.4 - User.connect - 4: "/* + res*/); return res;}); |
185 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); | 185 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); |
186 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'connection_upgrading'); | 186 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'connection_upgrading'); |
187 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.5 - User.connect - 5: "/* + res*/); return res;}); | 187 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.5 - User.connect - 5: "/* + res*/); return res;}); |
188 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); | 188 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); |
189 | deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'message'), 'upgradeUserCredentials', currentVersionConnection.serverSideUserCredentials()); | 189 | deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'message'), 'upgradeUserCredentials', currentVersionConnection.serverSideUserCredentials()); |
190 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.6 - User.connect - 6: "/* + res*/); return res;}); | 190 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.6 - User.connect - 6: "/* + res*/); return res;}); |
191 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); | 191 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); |
192 | } | 192 | } |
193 | 193 | ||
194 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.7 - User.connect - 7: "/* + res*/); return res;}); | 194 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.7 - User.connect - 7: "/* + res*/); return res;}); |
195 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); | 195 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); |
196 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'userConnected', null); | 196 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'userConnected', null); |
197 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.8 - User.connect - 8: "/* + res*/); return res;}); | 197 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.8 - User.connect - 8: "/* + res*/); return res;}); |
198 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); | 198 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); |
199 | deferredResult.addErrback(MochiKit.Base.method(this, 'handleConnectionFallback')); | 199 | deferredResult.addErrback(MochiKit.Base.method(this, 'handleConnectionFallback')); |
200 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.9 - User.connect - 9: "/* + res*/); return res;}); | 200 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("1.2.9 - User.connect - 9: "/* + res*/); return res;}); |
201 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); | 201 | //deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("ERROR: " + res); return res;}); |
202 | 202 | ||
203 | deferredResult.callback(aValue); | 203 | deferredResult.callback(aValue); |
204 | //MochiKit.Logging.logDebug("<<< User.connect"); | 204 | //MochiKit.Logging.logDebug("<<< User.connect"); |
205 | 205 | ||
206 | return deferredResult; | 206 | return deferredResult; |
207 | }, | 207 | }, |
208 | 208 | ||
209 | //......................................................................... | 209 | //......................................................................... |
210 | 210 | ||
211 | 'handleConnectionFallback': function(aValue) { | 211 | 'handleConnectionFallback': function(aValue) { |
212 | var result; | 212 | var result; |
213 | //MochiKit.Logging.logDebug(">>> User.handleConnectionFallback"); | 213 | //MochiKit.Logging.logDebug(">>> User.handleConnectionFallback"); |
214 | if (aValue instanceof MochiKit.Async.CancelledError) { | 214 | if (aValue instanceof MochiKit.Async.CancelledError) { |
215 | //MochiKit.Logging.logDebug("--- User.handleConnectionFallback - operation cancelled"); | 215 | //MochiKit.Logging.logDebug("--- User.handleConnectionFallback - operation cancelled"); |
216 | result = aValue; | 216 | result = aValue; |
217 | } else { | 217 | } else { |
218 | 218 | ||
219 | //MochiKit.Logging.logDebug("--- User.handleConnectionFallback - an ERROR has occurred - " + aValue); | 219 | //MochiKit.Logging.logDebug("--- User.handleConnectionFallback - an ERROR has occurred - " + aValue); |
220 | this.resetConnection(); | 220 | this.resetConnection(); |
221 | this.setConnectionVersion(Clipperz.PM.Crypto.communicationProtocol.fallbackVersions[this.connectionVersion()]); | 221 | this.setConnectionVersion(Clipperz.PM.Crypto.communicationProtocol.fallbackVersions[this.connectionVersion()]); |
222 | 222 | ||
223 | if (this.connectionVersion() != null) { | 223 | if (this.connectionVersion() != null) { |
224 | result = new MochiKit.Async.Deferred(); | 224 | result = new MochiKit.Async.Deferred(); |
225 | 225 | ||
226 | result.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'connection_tryOlderSchema'); | 226 | result.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'connection_tryOlderSchema'); |
227 | result.addCallback(MochiKit.Base.method(this, 'connect')); | 227 | result.addCallback(MochiKit.Base.method(this, 'connect')); |
228 | result.callback(); | 228 | result.callback(); |
229 | } else { | 229 | } else { |
230 | result = MochiKit.Async.fail(Clipperz.PM.DataModel.User.exception.LoginFailed); | 230 | result = MochiKit.Async.fail(Clipperz.PM.DataModel.User.exception.LoginFailed); |
231 | } | 231 | } |
232 | } | 232 | } |
233 | //MochiKit.Logging.logDebug("<<< User.handleConnectionFallback"); | 233 | //MochiKit.Logging.logDebug("<<< User.handleConnectionFallback"); |
234 | return result; | 234 | return result; |
235 | }, | 235 | }, |
236 | 236 | ||
237 | //========================================================================= | 237 | //========================================================================= |
238 | 238 | ||
239 | 'header': function() { | 239 | 'header': function() { |
240 | if (this._header == null) { | 240 | if (this._header == null) { |
241 | this._header = new Clipperz.PM.DataModel.Header({user:this}); | 241 | this._header = new Clipperz.PM.DataModel.Header({user:this}); |
242 | } | 242 | } |
243 | return this._header; | 243 | return this._header; |
244 | }, | 244 | }, |
245 | 245 | ||
246 | //------------------------------------------------------------------------- | 246 | //------------------------------------------------------------------------- |
247 | 247 | ||
248 | 'statistics': function() { | 248 | 'statistics': function() { |
249 | if (this._statistics == null) { | 249 | if (this._statistics == null) { |
250 | this._statistics = new Clipperz.PM.DataModel.Statistics({user:this}); | 250 | this._statistics = new Clipperz.PM.DataModel.Statistics({user:this}); |
251 | } | 251 | } |
252 | return this._statistics; | 252 | return this._statistics; |
253 | }, | 253 | }, |
254 | 254 | ||
255 | //------------------------------------------------------------------------- | 255 | //------------------------------------------------------------------------- |
256 | 256 | ||
257 | 'records': function() { | 257 | 'records': function() { |
258 | return this._records; | 258 | return this._records; |
259 | }, | 259 | }, |
260 | 260 | ||
261 | //......................................................................... | 261 | //......................................................................... |
262 | 262 | ||
263 | 'addRecord': function(aValue, isBatchUpdate) { | 263 | 'addRecord': function(aValue, isBatchUpdate) { |
264 | this.records()[aValue.reference()] = aValue; | 264 | this.records()[aValue.reference()] = aValue; |
265 | 265 | ||
266 | if (isBatchUpdate != true) { | 266 | if (isBatchUpdate != true) { |
267 | Clipperz.NotificationCenter.notify(aValue, 'recordAdded', null, true); | 267 | Clipperz.NotificationCenter.notify(aValue, 'recordAdded', null, true); |
268 | Clipperz.NotificationCenter.notify(this, 'updatedSection', 'records', true); | 268 | Clipperz.NotificationCenter.notify(this, 'updatedSection', 'records', true); |
269 | } | 269 | } |
270 | }, | 270 | }, |
271 | 271 | ||
272 | //----------------------------------------------------------------------------- | 272 | //----------------------------------------------------------------------------- |
273 | 273 | ||
274 | 'addNewRecord': function() { | 274 | 'addNewRecord': function() { |
275 | varrecord; | 275 | varrecord; |
276 | 276 | ||
277 | //MochiKit.Logging.logDebug(">>> User.addNewRecord"); | 277 | //MochiKit.Logging.logDebug(">>> User.addNewRecord"); |
278 | record = new Clipperz.PM.DataModel.Record({user:this}); | 278 | record = new Clipperz.PM.DataModel.Record({user:this}); |
279 | this.addRecord(record); | 279 | this.addRecord(record); |
280 | Clipperz.NotificationCenter.notify(this, 'updatedSection', 'records', true); | 280 | Clipperz.NotificationCenter.notify(this, 'updatedSection', 'records', true); |
281 | //MochiKit.Logging.logDebug("<<< User.addNewRecord"); | 281 | //MochiKit.Logging.logDebug("<<< User.addNewRecord"); |
282 | 282 | ||
283 | return record; | 283 | return record; |
284 | }, | 284 | }, |
285 | 285 | ||
286 | //------------------------------------------------------------------------- | 286 | //------------------------------------------------------------------------- |
287 | 287 | ||
288 | 'saveRecords': function(someRecords, aMethodName) { | 288 | 'saveRecords': function(someRecords /*, aMethodName*/) { |
289 | var deferredResult; | 289 | var deferredResult; |
290 | var methodName; | 290 | // var methodName; |
291 | varresult; | 291 | varresult; |
292 | var i,c; | 292 | var i,c; |
293 | 293 | ||
294 | //console.log("User.saveRecords - someRecords", someRecords); | 294 | //console.log("User.saveRecords - someRecords", someRecords); |
295 | methodName = aMethodName || 'addNewRecords'; | 295 | // methodName = aMethodName || 'addNewRecords'; |
296 | 296 | ||
297 | Clipperz.NotificationCenter.notify(this, 'updatedSection', 'records', true); | 297 | Clipperz.NotificationCenter.notify(this, 'updatedSection', 'records', true); |
298 | //MochiKit.Logging.logDebug(">>> User.saveRecords"); | 298 | //MochiKit.Logging.logDebug(">>> User.saveRecords"); |
299 | //MochiKit.Logging.logDebug(">>> [" + (new Date()).valueOf() + "] User.saveRecords"); | 299 | //MochiKit.Logging.logDebug(">>> [" + (new Date()).valueOf() + "] User.saveRecords"); |
300 | /* | 300 | /* |
301 | MochiKit.Logging.logDebug("--- User.saveRecords - 1"); | 301 | MochiKit.Logging.logDebug("--- User.saveRecords - 1"); |
302 | MochiKit.Iter.forEach(someRecords, function(aRecord) { | 302 | MochiKit.Iter.forEach(someRecords, function(aRecord) { |
303 | if (aRecord.headerNotes() != null) { | 303 | if (aRecord.headerNotes() != null) { |
304 | aRecord.setNotes(aRecord.headerNotes()); | 304 | aRecord.setNotes(aRecord.headerNotes()); |
305 | } | 305 | } |
306 | aRecord.syncDirectLoginReferenceValues(); | 306 | aRecord.syncDirectLoginReferenceValues(); |
307 | aRecord.currentVersion().createNewVersion(); | 307 | aRecord.currentVersion().createNewVersion(); |
308 | aRecord.updateKey(); | 308 | aRecord.updateKey(); |
309 | }); | 309 | }); |
310 | MochiKit.Logging.logDebug("--- User.saveRecords - 2"); | 310 | MochiKit.Logging.logDebug("--- User.saveRecords - 2"); |
311 | */ | 311 | */ |
312 | 312 | ||
313 | result = {'records': []}; | 313 | result = {'records': []}; |
314 | 314 | ||
315 | deferredResult = new MochiKit.Async.Deferred(); | 315 | deferredResult = new MochiKit.Async.Deferred(); |
316 | c = someRecords.length; | 316 | c = someRecords.length; |
317 | for (i=0; i<c; i++) { | 317 | for (i=0; i<c; i++) { |
318 | deferredResult.addCallback(function(aRecord) { | 318 | deferredResult.addCallback(function(aRecord) { |
319 | if (aRecord.headerNotes() != null) { | 319 | if (aRecord.headerNotes() != null) { |
320 | aRecord.setNotes(aRecord.headerNotes()); | 320 | aRecord.setNotes(aRecord.headerNotes()); |
321 | } | 321 | } |
322 | aRecord.syncDirectLoginReferenceValues(); | 322 | aRecord.syncDirectLoginReferenceValues(); |
323 | aRecord.currentVersion().createNewVersion(); | 323 | aRecord.currentVersion().createNewVersion(); |
324 | aRecord.updateKey(); | 324 | aRecord.updateKey(); |
325 | }, someRecords[i]); | 325 | }, someRecords[i]); |
326 | deferredResult.addCallback(MochiKit.Async.wait, 0.1); | 326 | deferredResult.addCallback(MochiKit.Async.wait, 0.1); |
327 | } | 327 | } |
328 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 1 " + res); return res;}); | 328 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 1 " + res); return res;}); |
329 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'saveCard_collectRecordInfo'); | 329 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'saveCard_collectRecordInfo'); |
330 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 2 " + res); return res;}); | 330 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 2 " + res); return res;}); |
331 | 331 | ||
332 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'saveCard_encryptUserData'); | 332 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'saveCard_encryptUserData'); |
333 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 3 " + res); return res;}); | 333 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 3 " + res); return res;}); |
334 | deferredResult.addCallback(MochiKit.Base.method(this, 'encryptedData')); | 334 | deferredResult.addCallback(MochiKit.Base.method(this, 'encryptedData')); |
335 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 4 " + res); return res;}); | 335 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 4 " + res); return res;}); |
336 | deferredResult.addCallback(function(aResult, res) { | 336 | deferredResult.addCallback(function(aResult, res) { |
337 | aResult['user'] = res; | 337 | aResult['user'] = res; |
338 | return aResult; | 338 | return aResult; |
339 | }, result); | 339 | }, result); |
340 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 5 " + res); return res;}); | 340 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 5 " + res); return res;}); |
341 | 341 | ||
342 | c = someRecords.length; | 342 | c = someRecords.length; |
343 | for (i=0; i<c; i++) { | 343 | for (i=0; i<c; i++) { |
344 | var recordData; | 344 | var recordData; |
345 | 345 | ||
346 | recordData = {}; | 346 | recordData = {}; |
347 | 347 | ||
348 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.1 " + res); return res;}); | 348 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.1 " + res); return res;}); |
349 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'saveCard_encryptRecordData'); | 349 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'saveCard_encryptRecordData'); |
350 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.2 " + res); return res;}); | 350 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.2 " + res); return res;}); |
351 | deferredResult.addCallback(MochiKit.Base.method(someRecords[i], 'encryptedData')); | 351 | deferredResult.addCallback(MochiKit.Base.method(someRecords[i], 'encryptedData')); |
352 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.3 " + res); return res;}); | 352 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.3 " + res); return res;}); |
353 | deferredResult.addCallback(function(aResult, res) { | 353 | deferredResult.addCallback(function(aResult, res) { |
354 | aResult['record'] = res; | 354 | aResult['record'] = res; |
355 | return aResult; | 355 | return aResult; |
356 | }, recordData); | 356 | }, recordData); |
357 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.4 " + res); return res;}); | 357 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.4 " + res); return res;}); |
358 | 358 | ||
359 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', {} /*'saveCard_encryptRecordVersions'*/); | 359 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', {} /*'saveCard_encryptRecordVersions'*/); |
360 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.5 " + res); return res;}); | 360 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.5 " + res); return res;}); |
361 | deferredResult.addCallback(MochiKit.Base.method(someRecords[i].currentVersion(), 'encryptedData')); | 361 | deferredResult.addCallback(MochiKit.Base.method(someRecords[i].currentVersion(), 'encryptedData')); |
362 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.6 " + res); return res;}); | 362 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.6 " + res); return res;}); |
363 | deferredResult.addCallback(function(aResult, res) { | 363 | deferredResult.addCallback(function(aResult, res) { |
364 | aResult['currentRecordVersion'] = res; | 364 | aResult['currentRecordVersion'] = res; |
365 | return aResult; | 365 | return aResult; |
366 | }, recordData); | 366 | }, recordData); |
367 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.7 " + res); return res;}); | 367 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.7 " + res); return res;}); |
368 | 368 | ||
369 | deferredResult.addCallback(function(aResult, res) { | 369 | deferredResult.addCallback(function(aResult, res) { |
370 | aResult['records'].push(res); | 370 | aResult['records'] = { 'updated': [res] }; |
371 | return aResult; | 371 | return aResult; |
372 | }, result); | 372 | }, result); |
373 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.8 " + res); return res;}); | 373 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 6.8 " + res); return res;}); |
374 | } | 374 | } |
375 | 375 | ||
376 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 7 " + res); return res;}); | 376 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 7 " + res); return res;}); |
377 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'saveCard_sendingData'); | 377 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'saveCard_sendingData'); |
378 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 8 " + res); return res;}); | 378 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 8 " + res); return res;}); |
379 | deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'message'), methodName); | 379 | // deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'message'), methodName); |
380 | deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'message'), 'saveChanges'); | ||
380 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 9 " + res); return res;}); | 381 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 9 " + res); return res;}); |
381 | 382 | ||
382 | for (i=0; i<c; i++) { | 383 | for (i=0; i<c; i++) { |
383 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 9.1 " + res); return res;}); | 384 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 9.1 " + res); return res;}); |
384 | deferredResult.addCallback(MochiKit.Base.method(someRecords[i], 'takeSnapshotOfCurrentData')); | 385 | deferredResult.addCallback(MochiKit.Base.method(someRecords[i], 'takeSnapshotOfCurrentData')); |
385 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 9.2 " + res); return res;}); | 386 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 9.2 " + res); return res;}); |
386 | deferredResult.addCallback(MochiKit.Base.method(someRecords[i], 'setIsBrandNew'), false); | 387 | deferredResult.addCallback(MochiKit.Base.method(someRecords[i], 'setIsBrandNew'), false); |
387 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 9.3 " + res); return res;}); | 388 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 9.3 " + res); return res;}); |
388 | } | 389 | } |
389 | 390 | ||
390 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 10 " + res); return res;}); | 391 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 10 " + res); return res;}); |
391 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'notify', 'recordUpdated'); | 392 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'notify', 'recordUpdated'); |
392 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 11 " + res); return res;}); | 393 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 11 " + res); return res;}); |
393 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'notify', 'directLoginUpdated'); | 394 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'notify', 'directLoginUpdated'); |
394 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 12 " + res); return res;}); | 395 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.saveRecords - 12 " + res); return res;}); |
395 | deferredResult.callback(); | 396 | deferredResult.callback(); |
396 | 397 | ||
397 | return deferredResult; | 398 | return deferredResult; |
398 | }, | 399 | }, |
399 | 400 | ||
400 | //------------------------------------------------------------------------- | 401 | //------------------------------------------------------------------------- |
401 | 402 | ||
402 | 'removeRecord': function(aRecord) { | 403 | 'removeRecord': function(aRecord) { |
403 | //MochiKit.Logging.logDebug(">>> User.removeRecord"); | 404 | //MochiKit.Logging.logDebug(">>> User.removeRecord"); |
404 | delete this.records()[aRecord.reference()]; | 405 | delete this.records()[aRecord.reference()]; |
405 | //MochiKit.Logging.logDebug("--- User.removeRecord - 1"); | 406 | //MochiKit.Logging.logDebug("--- User.removeRecord - 1"); |
406 | Clipperz.NotificationCenter.notify(aRecord, 'recordRemoved', null, false); | 407 | Clipperz.NotificationCenter.notify(aRecord, 'recordRemoved', null, false); |
407 | Clipperz.NotificationCenter.notify(this, 'updatedSection', 'records', true); | 408 | Clipperz.NotificationCenter.notify(this, 'updatedSection', 'records', true); |
408 | //MochiKit.Logging.logDebug("<<< User.removeRecord"); | 409 | //MochiKit.Logging.logDebug("<<< User.removeRecord"); |
409 | }, | 410 | }, |
410 | 411 | ||
411 | //------------------------------------------------------------------------- | 412 | //------------------------------------------------------------------------- |
412 | 413 | ||
413 | 'deleteRecordsAction': function(someRecords) { | 414 | 'deleteRecordsAction': function(someRecords) { |
414 | vardeferredResult; | 415 | vardeferredResult; |
415 | var parameters; | 416 | var parameters; |
416 | 417 | ||
417 | //MochiKit.Logging.logDebug(">>> User.deleteRecordsAction - someRecords.length: " + someRecords.length); | 418 | //MochiKit.Logging.logDebug(">>> User.deleteRecordsAction - someRecords.length: " + someRecords.length); |
418 | parameters = {}; | 419 | parameters = {}; |
419 | deferredResult = new MochiKit.Async.Deferred(); | 420 | deferredResult = new MochiKit.Async.Deferred(); |
420 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 1 " + res); return res;}); | 421 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 1 " + res); return res;}); |
421 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'deleteRecord_collectData'); | 422 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'deleteRecord_collectData'); |
422 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 2 " + res); return res;}); | 423 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 2 " + res); return res;}); |
423 | deferredResult.addCallback(function(someParameters, someRecords) { | 424 | deferredResult.addCallback(function(someParameters, someRecords) { |
424 | var recordReferences; | 425 | var recordReferences; |
425 | 426 | ||
426 | recordReferences = MochiKit.Base.map(function(aRecord) { | 427 | recordReferences = MochiKit.Base.map(function(aRecord) { |
427 | var result; | 428 | var result; |
428 | 429 | ||
429 | result = aRecord.reference(); | 430 | result = aRecord.reference(); |
430 | aRecord.remove(); | 431 | aRecord.remove(); |
431 | 432 | ||
432 | return result; | 433 | return result; |
433 | }, someRecords); | 434 | }, someRecords); |
434 | someParameters.recordReferences = recordReferences; | 435 | // someParameters.recordReferences = recordReferences; |
436 | someParameters['records'] = { 'deleted': recordReferences}; | ||
435 | 437 | ||
436 | return someParameters; | 438 | return someParameters; |
437 | }, parameters); | 439 | }, parameters); |
438 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 3 " + res); return res;}); | 440 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 3 " + res); return res;}); |
439 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'deleteRecord_encryptData'); | 441 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'deleteRecord_encryptData'); |
440 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 4 " + res); return res;}); | 442 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 4 " + res); return res;}); |
441 | deferredResult.addCallback(MochiKit.Base.method(this, 'encryptedData')); | 443 | deferredResult.addCallback(MochiKit.Base.method(this, 'encryptedData')); |
442 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 5 " + res); return res;}); | 444 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 5 " + res); return res;}); |
443 | deferredResult.addCallback(function(someParameters, anUserEncryptedData) { | 445 | deferredResult.addCallback(function(someParameters, anUserEncryptedData) { |
444 | someParameters.user = anUserEncryptedData; | 446 | someParameters.user = anUserEncryptedData; |
445 | return someParameters; | 447 | return someParameters; |
446 | }, parameters); | 448 | }, parameters); |
447 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 6 " + res); return res;}); | 449 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 6 " + res); return res;}); |
448 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'deleteRecord_sendingData'); | 450 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'deleteRecord_sendingData'); |
449 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecords parameters: " + Clipperz.Base.serializeJSON(res)); return res;}); | 451 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecords parameters: " + Clipperz.Base.serializeJSON(res)); return res;}); |
450 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 7 " + res); return res;}); | 452 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 7 " + res); return res;}); |
451 | deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'message'), 'deleteRecords'); | 453 | // deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'message'), 'deleteRecords'); |
454 | deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'message'), 'saveChanges'); | ||
452 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 8 " + res); return res;}); | 455 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 8 " + res); return res;}); |
453 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'deleteRecord_updatingInterface'); | 456 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'deleteRecord_updatingInterface'); |
454 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 9 " + res); return res;}); | 457 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.deleteRecordsAction - 9 " + res); return res;}); |
455 | deferredResult.callback(someRecords); | 458 | deferredResult.callback(someRecords); |
456 | //MochiKit.Logging.logDebug("<<< User.deleteRecordsAction"); | 459 | //MochiKit.Logging.logDebug("<<< User.deleteRecordsAction"); |
457 | 460 | ||
458 | return deferredResult; | 461 | return deferredResult; |
459 | }, | 462 | }, |
460 | 463 | ||
461 | //------------------------------------------------------------------------- | 464 | //------------------------------------------------------------------------- |
462 | 465 | ||
463 | 'resetAllLocalData': function() { | 466 | 'resetAllLocalData': function() { |
464 | this.resetConnection(); | 467 | this.resetConnection(); |
465 | 468 | ||
466 | this.setUsername(""); | 469 | this.setUsername(""); |
467 | this.setPassphrase(""); | 470 | this.setPassphrase(""); |
468 | 471 | ||
469 | this._header = null; | 472 | this._header = null; |
470 | this._statistics = null; | 473 | this._statistics = null; |
471 | this._preferences = null; | 474 | this._preferences = null; |
472 | this._records = {}; | 475 | this._records = {}; |
473 | this._directLoginReferences = {}; | 476 | this._directLoginReferences = {}; |
474 | }, | 477 | }, |
475 | 478 | ||
476 | //------------------------------------------------------------------------- | 479 | //------------------------------------------------------------------------- |
477 | 480 | ||
478 | 'deleteAccountAction': function() { | 481 | 'deleteAccountAction': function() { |
479 | var deferredResult; | 482 | var deferredResult; |
480 | 483 | ||
481 | //MochiKit.Logging.logDebug(">>> user.deleteAccountAction - " + this); | 484 | //MochiKit.Logging.logDebug(">>> user.deleteAccountAction - " + this); |
482 | deferredResult = new MochiKit.Async.Deferred(); | 485 | deferredResult = new MochiKit.Async.Deferred(); |
483 | deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'message'), 'deleteUser'); | 486 | deferredResult.addCallback(MochiKit.Base.method(this.connection(), 'message'), 'deleteUser'); |
484 | deferredResult.addCallback(MochiKit.Base.method(this, 'resetAllLocalData')); | 487 | deferredResult.addCallback(MochiKit.Base.method(this, 'resetAllLocalData')); |
485 | deferredResult.callback(); | 488 | deferredResult.callback(); |
486 | //MochiKit.Logging.logDebug("<<< user.deleteAccountAction - " + this); | 489 | //MochiKit.Logging.logDebug("<<< user.deleteAccountAction - " + this); |
487 | 490 | ||
488 | return deferredResult; | 491 | return deferredResult; |
489 | }, | 492 | }, |
490 | 493 | ||
491 | //------------------------------------------------------------------------- | 494 | //------------------------------------------------------------------------- |
492 | 495 | ||
493 | 'encryptedData': function() { | 496 | 'encryptedData': function() { |
494 | var deferredResult; | 497 | var deferredResult; |
495 | varresult; | 498 | varresult; |
496 | 499 | ||
497 | result = {}; | 500 | result = {}; |
498 | 501 | ||
499 | deferredResult = new MochiKit.Async.Deferred(); | 502 | deferredResult = new MochiKit.Async.Deferred(); |
500 | 503 | ||
501 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.encryptedData - 0: " + res); return res;}); | 504 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.encryptedData - 0: " + res); return res;}); |
502 | deferredResult.addCallback(MochiKit.Base.method(this.header(), 'encryptedData')); | 505 | deferredResult.addCallback(MochiKit.Base.method(this.header(), 'encryptedData')); |
503 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.encryptedData - 1: " + res); return res;}); | 506 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.encryptedData - 1: " + res); return res;}); |
504 | deferredResult.addCallback(function(aResult, aValue) { | 507 | deferredResult.addCallback(function(aResult, aValue) { |
505 | aResult['header'] = aValue; | 508 | aResult['header'] = aValue; |
506 | }, result); | 509 | }, result); |
507 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.encryptedData - 2: " + res); return res;}); | 510 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.encryptedData - 2: " + res); return res;}); |
508 | 511 | ||
509 | deferredResult.addCallback(MochiKit.Base.method(this.statistics(), 'encryptedData')); | 512 | deferredResult.addCallback(MochiKit.Base.method(this.statistics(), 'encryptedData')); |
510 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.encryptedData - 3: " + res); return res;}); | 513 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.encryptedData - 3: " + res); return res;}); |
511 | deferredResult.addCallback(function(aResult, aValue) { | 514 | deferredResult.addCallback(function(aResult, aValue) { |
512 | aResult['statistics'] = aValue; | 515 | aResult['statistics'] = aValue; |
513 | }, result); | 516 | }, result); |
514 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.encryptedData - 4: " + res); return res;}); | 517 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.encryptedData - 4: " + res); return res;}); |
515 | 518 | ||
516 | deferredResult.addCallback(MochiKit.Base.bind(function(aResult, aValue) { | 519 | deferredResult.addCallback(MochiKit.Base.bind(function(aResult, aValue) { |
517 | aResult['version'] = Clipperz.PM.Crypto.encryptingFunctions.currentVersion; | 520 | aResult['version'] = Clipperz.PM.Crypto.encryptingFunctions.currentVersion; |
518 | aResult['lock'] = this.lock(); | 521 | aResult['lock'] = this.lock(); |
519 | 522 | ||
520 | return aResult; | 523 | return aResult; |
521 | }, this), result); | 524 | }, this), result); |
522 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.encryptedData - 5: " + res); return res;}); | 525 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.encryptedData - 5: " + res); return res;}); |
523 | deferredResult.callback(); | 526 | deferredResult.callback(); |
524 | 527 | ||
525 | return deferredResult; | 528 | return deferredResult; |
526 | }, | 529 | }, |
527 | 530 | ||
528 | //------------------------------------------------------------------------- | 531 | //------------------------------------------------------------------------- |
529 | 532 | ||
530 | 'preferences': function() { | 533 | 'preferences': function() { |
531 | if (this._preferences == null) { | 534 | if (this._preferences == null) { |
532 | this._preferences = new Clipperz.PM.DataModel.UserPreferences({user:this}); | 535 | this._preferences = new Clipperz.PM.DataModel.UserPreferences({user:this}); |
533 | } | 536 | } |
534 | 537 | ||
535 | return this._preferences; | 538 | return this._preferences; |
536 | }, | 539 | }, |
537 | /* | 540 | /* |
538 | 'setPreferences': function(aValue) { | 541 | 'setPreferences': function(aValue) { |
539 | this._preferences = aValue; | 542 | this._preferences = aValue; |
540 | 543 | ||
541 | if (this._preferences.preferredLanguage() != null) { | 544 | if (this._preferences.preferredLanguage() != null) { |
542 | Clipperz.PM.Strings.Languages.setSelectedLanguage(this._preferences.preferredLanguage()); | 545 | Clipperz.PM.Strings.Languages.setSelectedLanguage(this._preferences.preferredLanguage()); |
543 | } else { | 546 | } else { |
544 | //MochiKit.Logging.logDebug("### keepping the browser selected language: " + Clipperz.PM.Strings.selectedLanguage); | 547 | //MochiKit.Logging.logDebug("### keepping the browser selected language: " + Clipperz.PM.Strings.selectedLanguage); |
545 | } | 548 | } |
546 | }, | 549 | }, |
547 | */ | 550 | */ |
548 | //------------------------------------------------------------------------- | 551 | //------------------------------------------------------------------------- |
549 | 552 | ||
550 | 'oneTimePasswordManager': function() { | 553 | 'oneTimePasswordManager': function() { |
551 | if (this._oneTimePasswordManager == null) { | 554 | if (this._oneTimePasswordManager == null) { |
552 | this._oneTimePasswordManager = new Clipperz.PM.DataModel.OneTimePasswordManager(this, null); | 555 | this._oneTimePasswordManager = new Clipperz.PM.DataModel.OneTimePasswordManager(this, null); |
553 | } | 556 | } |
554 | 557 | ||
555 | return this._oneTimePasswordManager; | 558 | return this._oneTimePasswordManager; |
556 | }, | 559 | }, |
557 | 560 | ||
558 | //------------------------------------------------------------------------- | 561 | //------------------------------------------------------------------------- |
559 | 562 | ||
560 | 'directLoginReferences': function() { | 563 | 'directLoginReferences': function() { |
561 | return this._directLoginReferences; | 564 | return this._directLoginReferences; |
562 | }, | 565 | }, |
563 | 566 | ||
564 | 'addDirectLoginReference': function(aDirectLoginReference, isBatchUpdate) { | 567 | 'addDirectLoginReference': function(aDirectLoginReference, isBatchUpdate) { |
565 | //MochiKit.Logging.logDebug(">>> User.addDirectLoginReference"); | 568 | //MochiKit.Logging.logDebug(">>> User.addDirectLoginReference"); |
566 | this.directLoginReferences()[aDirectLoginReference.reference()] = aDirectLoginReference; | 569 | this.directLoginReferences()[aDirectLoginReference.reference()] = aDirectLoginReference; |
567 | 570 | ||
568 | if (isBatchUpdate != true) { | 571 | if (isBatchUpdate != true) { |
569 | Clipperz.NotificationCenter.notify(aDirectLoginReference, 'directLoginAdded'); | 572 | Clipperz.NotificationCenter.notify(aDirectLoginReference, 'directLoginAdded'); |
570 | Clipperz.NotificationCenter.notify(this, 'updatedSection', 'directLogins', true); | 573 | Clipperz.NotificationCenter.notify(this, 'updatedSection', 'directLogins', true); |
571 | } | 574 | } |
572 | }, | 575 | }, |
573 | 576 | ||
574 | 'removeDirectLoginReference': function(aDirectLoginReference) { | 577 | 'removeDirectLoginReference': function(aDirectLoginReference) { |
575 | delete this.directLoginReferences()[aDirectLoginReference.reference()]; | 578 | delete this.directLoginReferences()[aDirectLoginReference.reference()]; |
576 | Clipperz.NotificationCenter.notify(aDirectLoginReference, 'directLoginRemoved'); | 579 | Clipperz.NotificationCenter.notify(aDirectLoginReference, 'directLoginRemoved'); |
577 | Clipperz.NotificationCenter.notify(this, 'updatedSection', 'directLogins', true); | 580 | Clipperz.NotificationCenter.notify(this, 'updatedSection', 'directLogins', true); |
578 | }, | 581 | }, |
579 | 582 | ||
580 | //......................................................................... | 583 | //......................................................................... |
581 | 584 | ||
582 | 'addDirectLogin': function(aDirectLogin) { | 585 | 'addDirectLogin': function(aDirectLogin) { |
583 | varnewDirectLoginReference; | 586 | varnewDirectLoginReference; |
584 | 587 | ||
585 | newDirectLoginReference = new Clipperz.PM.DataModel.DirectLoginReference({user:this, directLogin:aDirectLogin}) | 588 | newDirectLoginReference = new Clipperz.PM.DataModel.DirectLoginReference({user:this, directLogin:aDirectLogin}) |
586 | this.addDirectLoginReference(newDirectLoginReference); | 589 | this.addDirectLoginReference(newDirectLoginReference); |
587 | }, | 590 | }, |
588 | 591 | ||
589 | 'synchronizeDirectLogin': function(aDirectLogin) { | 592 | 'synchronizeDirectLogin': function(aDirectLogin) { |
590 | var directLoginReference; | 593 | var directLoginReference; |
591 | 594 | ||
592 | directLoginReference = this.directLoginReferences()[aDirectLogin.reference()]; | 595 | directLoginReference = this.directLoginReferences()[aDirectLogin.reference()]; |
593 | if (typeof(directLoginReference) != 'undefined') { | 596 | if (typeof(directLoginReference) != 'undefined') { |
594 | directLoginReference.synchronizeValues(aDirectLogin); | 597 | directLoginReference.synchronizeValues(aDirectLogin); |
595 | } else { | 598 | } else { |
596 | this.addDirectLogin(aDirectLogin); | 599 | this.addDirectLogin(aDirectLogin); |
597 | } | 600 | } |
598 | }, | 601 | }, |
599 | 602 | ||
600 | 'removeDirectLogin': function(aDirectLogin) { | 603 | 'removeDirectLogin': function(aDirectLogin) { |
601 | this.removeDirectLoginReference(aDirectLogin); | 604 | this.removeDirectLoginReference(aDirectLogin); |
602 | }, | 605 | }, |
603 | 606 | ||
604 | //------------------------------------------------------------------------- | 607 | //------------------------------------------------------------------------- |
605 | 608 | ||
606 | 'changeCredentials': function(aUsername, aPassphrase) { | 609 | 'changeCredentials': function(aUsername, aPassphrase) { |
607 | vardeferredResult; | 610 | vardeferredResult; |
608 | var result; | 611 | var result; |
609 | 612 | ||
610 | result = {}; | 613 | result = {}; |
611 | 614 | ||
612 | deferredResult = new MochiKit.Async.Deferred(); | 615 | deferredResult = new MochiKit.Async.Deferred(); |
613 | 616 | ||
614 | deferredResult.addCallback(MochiKit.Base.method(this.header(), 'loadAllSections')); | 617 | deferredResult.addCallback(MochiKit.Base.method(this.header(), 'loadAllSections')); |
615 | deferredResult.addCallback(MochiKit.Base.method(this.header(), 'updateAllSections')); | 618 | deferredResult.addCallback(MochiKit.Base.method(this.header(), 'updateAllSections')); |
616 | 619 | ||
617 | deferredResult.addCallback(MochiKit.Base.bind(function(aUsername, aPssphrase) { | 620 | deferredResult.addCallback(MochiKit.Base.bind(function(aUsername, aPssphrase) { |
618 | this.setUsername(aUsername); | 621 | this.setUsername(aUsername); |
619 | this.setPassphrase(aPassphrase); | 622 | this.setPassphrase(aPassphrase); |
620 | }, this), aUsername, aPassphrase) | 623 | }, this), aUsername, aPassphrase) |
621 | 624 | ||
622 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.changeCredentials - 1: " + res); return res;}); | 625 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.changeCredentials - 1: " + res); return res;}); |
623 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'changeCredentials_encryptingData'); | 626 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'changeCredentials_encryptingData'); |
624 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.changeCredentials - 2: " + res); return res;}); | 627 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.changeCredentials - 2: " + res); return res;}); |
625 | deferredResult.addCallback(MochiKit.Base.method(this, 'encryptedData')); | 628 | deferredResult.addCallback(MochiKit.Base.method(this, 'encryptedData')); |
626 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.changeCredentials - 3: " + res); return res;}); | 629 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.changeCredentials - 3: " + res); return res;}); |
627 | deferredResult.addCallback(function(aResult, anEncryptedData) { | 630 | deferredResult.addCallback(function(aResult, anEncryptedData) { |
628 | aResult['user'] = anEncryptedData; | 631 | aResult['user'] = anEncryptedData; |
629 | 632 | ||
630 | return aResult; | 633 | return aResult; |
631 | }, result); | 634 | }, result); |
632 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.changeCredentials - 4: " + res); return res;}); | 635 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.changeCredentials - 4: " + res); return res;}); |
633 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'changeCredentials_creatingNewCredentials'); | 636 | deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'changeCredentials_creatingNewCredentials'); |
634 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.changeCredentials - 5: " + res); return res;}); | 637 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.changeCredentials - 5: " + res); return res;}); |
635 | deferredResult.addCallback(function(aResult, anUser) { | 638 | deferredResult.addCallback(function(aResult, anUser) { |
636 | varnewConnection; | 639 | varnewConnection; |
637 | 640 | ||
638 | newConnection = new Clipperz.PM.Crypto.communicationProtocol.versions[Clipperz.PM.Crypto.communicationProtocol.currentVersion]({user:anUser}) | 641 | newConnection = new Clipperz.PM.Crypto.communicationProtocol.versions[Clipperz.PM.Crypto.communicationProtocol.currentVersion]({user:anUser}) |
639 | aResult['credentials'] = newConnection.serverSideUserCredentials(); | 642 | aResult['credentials'] = newConnection.serverSideUserCredentials(); |
640 | 643 | ||
641 | return aResult; | 644 | return aResult; |
642 | }, result, this); | 645 | }, result, this); |
643 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.changeCredentials - 6: " + res); return res;}); | 646 | //deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("User.changeCredentials - 6: " + res); return res;}); |