Diffstat (limited to 'frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.js') (more/less context) (ignore whitespace changes)
-rw-r--r-- | frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.js | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.js b/frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.js index dd35fc9..87b319c 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.js | |||
@@ -1,333 +1,328 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2013 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz Community Edition. | 5 | This file is part of Clipperz, the online password manager. |
6 | Clipperz Community Edition is an online password manager. | ||
7 | For further information about its features and functionalities please | 6 | For further information about its features and functionalities please |
8 | refer to http://www.clipperz.com. | 7 | refer to http://www.clipperz.com. |
9 | 8 | ||
10 | * Clipperz Community Edition is free software: you can redistribute | 9 | * Clipperz is free software: you can redistribute it and/or modify it |
11 | it and/or modify it under the terms of the GNU Affero General Public | 10 | under the terms of the GNU Affero General Public License as published |
12 | License as published by the Free Software Foundation, either version | 11 | by the Free Software Foundation, either version 3 of the License, or |
13 | 3 of the License, or (at your option) any later version. | 12 | (at your option) any later version. |
14 | 13 | ||
15 | * Clipperz Community Edition is distributed in the hope that it will | 14 | * Clipperz is distributed in the hope that it will be useful, but |
16 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
18 | See the GNU Affero General Public License for more details. | 17 | See the GNU Affero General Public License for more details. |
19 | 18 | ||
20 | * You should have received a copy of the GNU Affero General Public | 19 | * You should have received a copy of the GNU Affero General Public |
21 | License along with Clipperz Community Edition. If not, see | 20 | License along with Clipperz. If not, see http://www.gnu.org/licenses/. |
22 | <http://www.gnu.org/licenses/>. | ||
23 | 21 | ||
24 | */ | 22 | */ |
25 | 23 | ||
26 | try { if (typeof(Clipperz.PM.DataModel.Record) == 'undefined') { throw ""; }} catch (e) { | 24 | try { if (typeof(Clipperz.PM.DataModel.Record) == 'undefined') { throw ""; }} catch (e) { |
27 | throw "Clipperz.PM.DataModel.Record.Version depends on Clipperz.PM.DataModel.Record!"; | 25 | throw "Clipperz.PM.DataModel.Record.Version depends on Clipperz.PM.DataModel.Record!"; |
28 | } | 26 | } |
29 | 27 | ||
30 | Clipperz.PM.DataModel.Record.Version = function(args) { | 28 | Clipperz.PM.DataModel.Record.Version = function(args) { |
31 | //console.log(">>> Record.new"); | ||
32 | Clipperz.PM.DataModel.Record.Version.superclass.constructor.apply(this, arguments); | 29 | Clipperz.PM.DataModel.Record.Version.superclass.constructor.apply(this, arguments); |
33 | 30 | ||
34 | this._getVersionFunction = args.getVersion|| Clipperz.Base.exception.raise('MandatoryParameter'); | 31 | this._getVersionFunction = args.getVersion|| Clipperz.Base.exception.raise('MandatoryParameter'); |
35 | this._fields = null; | 32 | this._fields = null; |
36 | 33 | ||
37 | return this; | 34 | return this; |
38 | } | 35 | } |
39 | 36 | ||
40 | 37 | ||
41 | Clipperz.Base.extend(Clipperz.PM.DataModel.Record.Version, Clipperz.PM.DataModel.EncryptedRemoteObject, { | 38 | Clipperz.Base.extend(Clipperz.PM.DataModel.Record.Version, Clipperz.PM.DataModel.EncryptedRemoteObject, { |
42 | 39 | ||
43 | 'toString': function() { | 40 | 'toString': function() { |
44 | return "Record.Version (" + this.reference() + ")"; | 41 | return "Record.Version (" + this.reference() + ")"; |
45 | }, | 42 | }, |
46 | 43 | ||
47 | //------------------------------------------------------------------------- | 44 | //------------------------------------------------------------------------- |
48 | 45 | ||
49 | 'reference': function () { | 46 | 'reference': function () { |
50 | return this._reference; | 47 | return this._reference; |
51 | }, | 48 | }, |
52 | 49 | ||
53 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
54 | /* | 51 | /* |
55 | 'hasPendingChanges': function () { | 52 | 'hasPendingChanges': function () { |
56 | var deferredResult; | 53 | var deferredResult; |
57 | 54 | ||
58 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.hasPendingChanges", {trace:false}); | 55 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.hasPendingChanges", {trace:false}); |
59 | deferredResult.addCallback(MochiKit.Base.bind(Clipperz.PM.DataModel.Record.Version.superclass.hasPendingChanges, this)); | 56 | deferredResult.addCallback(MochiKit.Base.bind(Clipperz.PM.DataModel.Record.Version.superclass.hasPendingChanges, this)); |
60 | deferredResult.callback(); | 57 | deferredResult.callback(); |
61 | 58 | ||
62 | return deferredResult; | 59 | return deferredResult; |
63 | }, | 60 | }, |
64 | */ | 61 | */ |
65 | //------------------------------------------------------------------------- | 62 | //------------------------------------------------------------------------- |
66 | 63 | ||
67 | 64 | ||
68 | 'hasPendingChangesWhenBrandNew': function () { | 65 | 'hasPendingChangesWhenBrandNew': function () { |
69 | var deferredResult; | 66 | var deferredResult; |
70 | 67 | ||
71 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.hasPendingChangesWhenBrandNew", {trace:false}); | 68 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.hasPendingChangesWhenBrandNew", {trace:false}); |
72 | deferredResult.addMethod(this, 'fields'); | 69 | deferredResult.addMethod(this, 'fields'); |
73 | deferredResult.addCallback(MochiKit.Base.values); | 70 | deferredResult.addCallback(MochiKit.Base.values); |
74 | deferredResult.addCallback(MochiKit.Base.map, MochiKit.Base.methodcaller('isEmpty')) | 71 | deferredResult.addCallback(MochiKit.Base.map, MochiKit.Base.methodcaller('isEmpty')) |
75 | deferredResult.addCallback(Clipperz.Async.collectAll); | 72 | deferredResult.addCallback(Clipperz.Async.collectAll); |
76 | deferredResult.addCallback(function(someValues) { | 73 | deferredResult.addCallback(function(someValues) { |
77 | return MochiKit.Iter.every(someValues, MochiKit.Base.operator.identity); | 74 | return MochiKit.Iter.every(someValues, MochiKit.Base.operator.identity); |
78 | }); | 75 | }); |
79 | deferredResult.addCallback(MochiKit.Base.operator.lognot) | 76 | deferredResult.addCallback(MochiKit.Base.operator.lognot) |
80 | deferredResult.callback(); | 77 | deferredResult.callback(); |
81 | 78 | ||
82 | return deferredResult; | 79 | return deferredResult; |
83 | }, | 80 | }, |
84 | 81 | ||
85 | //========================================================================= | 82 | //========================================================================= |
86 | 83 | ||
87 | 'commitTransientState': function () { | 84 | 'commitTransientState': function () { |
88 | var deferredResult; | 85 | var deferredResult; |
89 | 86 | ||
90 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.commitTransientState", {trace:false}); | 87 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.commitTransientState", {trace:false}); |
91 | deferredResult.addCallback(MochiKit.Base.bind(Clipperz.PM.DataModel.Record.Version.superclass.commitTransientState, this)); | 88 | deferredResult.addCallback(MochiKit.Base.bind(Clipperz.PM.DataModel.Record.Version.superclass.commitTransientState, this)); |
92 | deferredResult.callback(); | 89 | deferredResult.callback(); |
93 | 90 | ||
94 | return deferredResult; | 91 | return deferredResult; |
95 | }, | 92 | }, |
96 | 93 | ||
97 | //========================================================================= | 94 | //========================================================================= |
98 | 95 | ||
99 | 'unpackData': function (someData) { //++ | 96 | 'unpackData': function (someData) { //++ |
100 | varresult; | 97 | varresult; |
101 | 98 | ||
102 | //console.log("Record.Version - UNPACK DATA", this, someData); | ||
103 | result = someData; | 99 | result = someData; |
104 | if ((someData['fields'] != null) && (someData['fields'] instanceof Array)) { | 100 | if ((someData['fields'] != null) && (someData['fields'] instanceof Array)) { |
105 | varfields; | 101 | varfields; |
106 | var i,c; | 102 | var i,c; |
107 | 103 | ||
108 | fields = someData['fields']; | 104 | fields = someData['fields']; |
109 | delete someData['fields']; | 105 | delete someData['fields']; |
110 | 106 | ||
111 | someData['fields'] = {}; | 107 | someData['fields'] = {}; |
112 | c = fields.length; | 108 | c = fields.length; |
113 | for (i=0; i<c; i++) { | 109 | for (i=0; i<c; i++) { |
114 | someData['fields'][i] = fields[i]; | 110 | someData['fields'][i] = fields[i]; |
115 | } | 111 | } |
116 | } | 112 | } |
117 | 113 | ||
118 | 114 | ||
119 | 115 | ||
120 | return result; | 116 | return result; |
121 | }, | 117 | }, |
122 | 118 | ||
123 | //========================================================================= | 119 | //========================================================================= |
124 | 120 | ||
125 | 'fields': function () { | 121 | 'fields': function () { |
126 | vardeferredResult; | 122 | vardeferredResult; |
127 | var deferredLock; | 123 | var deferredLock; |
128 | 124 | ||
129 | deferredLock = this.getDeferredLockForKey('fields'); | 125 | deferredLock = this.getDeferredLockForKey('fields'); |
130 | 126 | ||
131 | deferredResult = new Clipperz.Async.Deferred("Record.Version.fields", {trace:false}); | 127 | deferredResult = new Clipperz.Async.Deferred("Record.Version.fields", {trace:false}); |
132 | deferredResult.acquireLock(deferredLock); | 128 | deferredResult.acquireLock(deferredLock); |
133 | deferredResult.addCallback(MochiKit.Base.bind(function () { | 129 | deferredResult.addCallback(MochiKit.Base.bind(function () { |
134 | var innerDeferredResult; | 130 | var innerDeferredResult; |
135 | 131 | ||
136 | if (this._fields == null) { | 132 | if (this._fields == null) { |
137 | innerDeferredResult = new Clipperz.Async.Deferred("Record.Version.fields <inner deferred>", {trace:false}); | 133 | innerDeferredResult = new Clipperz.Async.Deferred("Record.Version.fields <inner deferred>", {trace:false}); |
138 | innerDeferredResult.addMethod(this, 'getValue', 'fields'); | 134 | innerDeferredResult.addMethod(this, 'getValue', 'fields'); |
139 | innerDeferredResult.addCallback(MochiKit.Base.bind(function (someObjectData) { | 135 | innerDeferredResult.addCallback(MochiKit.Base.bind(function (someObjectData) { |
140 | var reference; | 136 | var reference; |
141 | 137 | ||
142 | this._fields = {}; | 138 | this._fields = {}; |
143 | 139 | ||
144 | for (reference in someObjectData) { | 140 | for (reference in someObjectData) { |
145 | varrecordVersionField; | 141 | varrecordVersionField; |
146 | 142 | ||
147 | recordVersionField = new Clipperz.PM.DataModel.Record.Version.Field({ | 143 | recordVersionField = new Clipperz.PM.DataModel.Record.Version.Field({ |
148 | 'recordVersion':this, | 144 | 'recordVersion':this, |
149 | 'reference': reference | 145 | 'reference': reference |
150 | }); | 146 | }); |
151 | 147 | ||
152 | this._fields[reference] = recordVersionField; | 148 | this._fields[reference] = recordVersionField; |
153 | } | 149 | } |
154 | 150 | ||
155 | return this._fields; | 151 | return this._fields; |
156 | }, this)); | 152 | }, this)); |
157 | innerDeferredResult.callback(); | 153 | innerDeferredResult.callback(); |
158 | } else { | 154 | } else { |
159 | innerDeferredResult = MochiKit.Async.succeed(this._fields); | 155 | innerDeferredResult = MochiKit.Async.succeed(this._fields); |
160 | } | 156 | } |
161 | 157 | ||
162 | return innerDeferredResult; | 158 | return innerDeferredResult; |
163 | }, this)); | 159 | }, this)); |
164 | deferredResult.releaseLock(deferredLock); | 160 | deferredResult.releaseLock(deferredLock); |
165 | deferredResult.callback(); | 161 | deferredResult.callback(); |
166 | 162 | ||
167 | return deferredResult; | 163 | return deferredResult; |
168 | }, | 164 | }, |
169 | 165 | ||
170 | //------------------------------------------------------------------------- | 166 | //------------------------------------------------------------------------- |
171 | 167 | ||
172 | 'getFieldsValues': function () { | 168 | 'getFieldsValues': function () { |
173 | return this.getValue('fields'); | 169 | return this.getValue('fields'); |
174 | }, | 170 | }, |
175 | 171 | ||
176 | //------------------------------------------------------------------------- | 172 | //------------------------------------------------------------------------- |
177 | 173 | ||
178 | 'addField': function (someParameters) { | 174 | 'addField': function (someParameters) { |
179 | varnewField; | 175 | varnewField; |
180 | 176 | ||
181 | newField = new Clipperz.PM.DataModel.Record.Version.Field({recordVersion:this}); | 177 | newField = new Clipperz.PM.DataModel.Record.Version.Field({recordVersion:this}); |
182 | 178 | ||
183 | return Clipperz.Async.callbacks("Record.Version.addField", [ | 179 | return Clipperz.Async.callbacks("Record.Version.addField", [ |
184 | MochiKit.Base.method(this, 'fields'), | 180 | MochiKit.Base.method(this, 'fields'), |
185 | 181 | ||
186 | MochiKit.Base.method(this, '_getObjectDataStore'), | 182 | MochiKit.Base.method(this, '_getObjectDataStore'), |
187 | MochiKit.Base.methodcaller('values'), | 183 | MochiKit.Base.methodcaller('values'), |
188 | Clipperz.Base.serializeJSON, | 184 | Clipperz.Base.serializeJSON, |
189 | 185 | ||
190 | MochiKit.Base.bind(function () { this._fields[newField.reference()] = newField; }, this), | 186 | MochiKit.Base.bind(function () { this._fields[newField.reference()] = newField; }, this), |
191 | MochiKit.Base.method(newField, 'setLabel', someParameters['label']), | 187 | MochiKit.Base.method(newField, 'setLabel', someParameters['label']), |
192 | MochiKit.Base.method(newField, 'setValue', someParameters['value']), | 188 | MochiKit.Base.method(newField, 'setValue', someParameters['value']), |
193 | MochiKit.Base.method(newField, 'setIsHidden',someParameters['isHidden']), | 189 | MochiKit.Base.method(newField, 'setIsHidden',someParameters['isHidden']), |
194 | 190 | ||
195 | MochiKit.Base.method(this, '_getObjectDataStore'), | 191 | MochiKit.Base.method(this, '_getObjectDataStore'), |
196 | MochiKit.Base.methodcaller('values'), | 192 | MochiKit.Base.methodcaller('values'), |
197 | Clipperz.Base.serializeJSON, | 193 | Clipperz.Base.serializeJSON, |
198 | 194 | ||
199 | MochiKit.Base.partial(MochiKit.Async.succeed, newField) | 195 | MochiKit.Base.partial(MochiKit.Async.succeed, newField) |
200 | ], {trace:false}); | 196 | ], {trace:false}); |
201 | }, | 197 | }, |
202 | 198 | ||
203 | //------------------------------------------------------------------------- | 199 | //------------------------------------------------------------------------- |
204 | 200 | ||
205 | 'removeField': function (aField) { | 201 | 'removeField': function (aField) { |
206 | return Clipperz.Async.callbacks("Record.Version.removeField", [ | 202 | return Clipperz.Async.callbacks("Record.Version.removeField", [ |
207 | MochiKit.Base.method(this, 'fields'), | 203 | MochiKit.Base.method(this, 'fields'), |
208 | MochiKit.Base.bind(function () { delete this._fields[aField.reference()]; }, this), | 204 | MochiKit.Base.bind(function () { delete this._fields[aField.reference()]; }, this), |
209 | MochiKit.Base.method(this, 'removeValue', 'fields' + '.' + aField.reference()) | 205 | MochiKit.Base.method(this, 'removeValue', 'fields' + '.' + aField.reference()) |
210 | ], {trace:false}); | 206 | ], {trace:false}); |
211 | }, | 207 | }, |
212 | 208 | ||
213 | //------------------------------------------------------------------------- | 209 | //------------------------------------------------------------------------- |
214 | /* | 210 | /* |
215 | 'sortFieldReference': function (someSortedFieldReferences) { | 211 | 'sortFieldReference': function (someSortedFieldReferences) { |
216 | 212 | ||
217 | 213 | ||
218 | 214 | ||
219 | }, | 215 | }, |
220 | */ | 216 | */ |
221 | //========================================================================= | 217 | //========================================================================= |
222 | /* | 218 | /* |
223 | 'directLogins': function () { | 219 | 'directLogins': function () { |
224 | return MochiKit.Base.values(this._directLogins); | 220 | return MochiKit.Base.values(this._directLogins); |
225 | }, | 221 | }, |
226 | 222 | ||
227 | 'addDirectLogin': function (aDirectLogin) { | 223 | 'addDirectLogin': function (aDirectLogin) { |
228 | this._directLogins[aDirectLogin.reference()] = aDirectLogin; | 224 | this._directLogins[aDirectLogin.reference()] = aDirectLogin; |
229 | }, | 225 | }, |
230 | */ | 226 | */ |
231 | 227 | ||
232 | //========================================================================= | 228 | //========================================================================= |
233 | /* | 229 | /* |
234 | 'updateValues': function (anotherVersion) { | 230 | 'updateValues': function (anotherVersion) { |
235 | return Clipperz.Async.callbacks("Record.Version.updateValue", [ | 231 | return Clipperz.Async.callbacks("Record.Version.updateValue", [ |
236 | MochiKit.Base.partial(MochiKit.Async.succeed, this) | 232 | MochiKit.Base.partial(MochiKit.Async.succeed, this) |
237 | ], {trace:false}); | 233 | ], {trace:false}); |
238 | }, | 234 | }, |
239 | */ | 235 | */ |
240 | //========================================================================= | 236 | //========================================================================= |
241 | 237 | ||
242 | 'setRemoteData': function (aValue) { | 238 | 'setRemoteData': function (aValue) { |
243 | this._remoteData = aValue; | 239 | this._remoteData = aValue; |
244 | 240 | ||
245 | return aValue; | 241 | return aValue; |
246 | }, | 242 | }, |
247 | 243 | ||
248 | //========================================================================= | 244 | //========================================================================= |
249 | 245 | ||
250 | 'getVersionFunction': function () { | 246 | 'getVersionFunction': function () { |
251 | return this._getVersionFunction; | 247 | return this._getVersionFunction; |
252 | }, | 248 | }, |
253 | 249 | ||
254 | 'previousVersion': function () { | 250 | 'previousVersion': function () { |
255 | return Clipperz.Async.callbacks("Record.Versions.previousVersion", [ | 251 | return Clipperz.Async.callbacks("Record.Versions.previousVersion", [ |
256 | MochiKit.Base.method(this, 'previousVersionReference'), | 252 | MochiKit.Base.method(this, 'previousVersionReference'), |
257 | this.getVersionFunction() | 253 | this.getVersionFunction() |
258 | ], {trace:false}); | 254 | ], {trace:false}); |
259 | }, | 255 | }, |
260 | 256 | ||
261 | 'previousVersionReference': function () { | 257 | 'previousVersionReference': function () { |
262 | return this.getValue('previousVersionReference'); | 258 | return this.getValue('previousVersionReference'); |
263 | }, | 259 | }, |
264 | 260 | ||
265 | 'previousVersionKey': function () { | 261 | 'previousVersionKey': function () { |
266 | //TODO: this value i encrypted on its own. So it can not be saved in the main objectStore!!! | 262 | //TODO: this value i encrypted on its own. So it can not be saved in the main objectStore!!! |
267 | return this.getValue('previousVersionKey'); | 263 | return this.getValue('previousVersionKey'); |
268 | }, | 264 | }, |
269 | 265 | ||
270 | //------------------------------------------------------------------------- | 266 | //------------------------------------------------------------------------- |
271 | 267 | ||
272 | 'setPreviousVersionReferenceAndKey': function (aVersionObjectAndKey) { | 268 | 'setPreviousVersionReferenceAndKey': function (aVersionObjectAndKey) { |
273 | // this._previousVersion = anotherVersion; | 269 | // this._previousVersion = anotherVersion; |
274 | return Clipperz.Async.callbacks("Record.Version.setPreviousVersion", [ | 270 | return Clipperz.Async.callbacks("Record.Version.setPreviousVersion", [ |
275 | MochiKit.Base.method(this, 'setValue', 'previousVersionReference',aVersionObjectAndKey['reference']), | 271 | MochiKit.Base.method(this, 'setValue', 'previousVersionReference',aVersionObjectAndKey['reference']), |
276 | MochiKit.Base.method(this, 'setValue', 'previousVersionKey', aVersionObjectAndKey['key']) | 272 | MochiKit.Base.method(this, 'setValue', 'previousVersionKey', aVersionObjectAndKey['key']) |
277 | ], {trace:false}); | 273 | ], {trace:false}); |
278 | }, | 274 | }, |
279 | 275 | ||
280 | //========================================================================= | 276 | //========================================================================= |
281 | 277 | ||
282 | 'revertChanges': function () { | 278 | 'revertChanges': function () { |
283 | this.setReference(this.transientState()['originalReference']); | 279 | this.setReference(this.transientState()['originalReference']); |
284 | Clipperz.PM.DataModel.Record.Version.superclass.revertChanges.apply(this, arguments); | 280 | Clipperz.PM.DataModel.Record.Version.superclass.revertChanges.apply(this, arguments); |
285 | }, | 281 | }, |
286 | 282 | ||
287 | //------------------------------------------------------------------------- | 283 | //------------------------------------------------------------------------- |
288 | 284 | ||
289 | 'prepareRemoteDataWithKey': function (aKey) { | 285 | 'prepareRemoteDataWithKey': function (aKey) { |
290 | var deferredResult; | 286 | var deferredResult; |
291 | var result; | 287 | var result; |
292 | 288 | ||
293 | result = {}; | 289 | result = {}; |
294 | 290 | ||
295 | //console.log("prepareRemoteDataWithKey", aKey); | ||
296 | deferredResult = new Clipperz.Async.Deferred("Record.Version.prepareRemoteDataWithKey", {trace:false}); | 291 | deferredResult = new Clipperz.Async.Deferred("Record.Version.prepareRemoteDataWithKey", {trace:false}); |
297 | if (this.isBrandNew() == false) { | 292 | if (this.isBrandNew() == false) { |
298 | this.transientState()['originalReference'] = this.reference(); | 293 | this.transientState()['originalReference'] = this.reference(); |
299 | 294 | ||
300 | deferredResult.collectResults({ | 295 | deferredResult.collectResults({ |
301 | 'key':MochiKit.Base.partial(MochiKit.Async.succeed, aKey), | 296 | 'key':MochiKit.Base.partial(MochiKit.Async.succeed, aKey), |
302 | 'value': MochiKit.Base.method(this, 'getKey'), | 297 | 'value': MochiKit.Base.method(this, 'getKey'), |
303 | 'version': MochiKit.Base.partial(MochiKit.Async.succeed, Clipperz.PM.Crypto.encryptingFunctions.currentVersion) | 298 | 'version': MochiKit.Base.partial(MochiKit.Async.succeed, Clipperz.PM.Crypto.encryptingFunctions.currentVersion) |
304 | }); | 299 | }); |
305 | deferredResult.addCallback(Clipperz.PM.Crypto.deferredEncrypt); | 300 | deferredResult.addCallback(Clipperz.PM.Crypto.deferredEncrypt); |
306 | deferredResult.addCallback(Clipperz.Async.setItem, result, 'previousVersionKey'); | 301 | deferredResult.addCallback(Clipperz.Async.setItem, result, 'previousVersionKey'); |
307 | } else { | 302 | } else { |
308 | deferredResult.addCallback(Clipperz.Async.setItem, result, 'previousVersionKey', Clipperz.PM.Crypto.nullValue); | 303 | deferredResult.addCallback(Clipperz.Async.setItem, result, 'previousVersionKey', Clipperz.PM.Crypto.nullValue); |
309 | } | 304 | } |
310 | deferredResult.addCallback(MochiKit.Base.bind(Clipperz.PM.DataModel.Record.superclass.prepareRemoteDataWithKey, this, aKey)); | 305 | deferredResult.addCallback(MochiKit.Base.bind(Clipperz.PM.DataModel.Record.superclass.prepareRemoteDataWithKey, this, aKey)); |
311 | deferredResult.addCallback(MochiKit.Base.update, result); | 306 | deferredResult.addCallback(MochiKit.Base.update, result); |
312 | deferredResult.addMethod(this, 'setRemoteData'); | 307 | deferredResult.addMethod(this, 'setRemoteData'); |
313 | 308 | ||
314 | deferredResult.callback(); | 309 | deferredResult.callback(); |
315 | 310 | ||
316 | return deferredResult; | 311 | return deferredResult; |
317 | }, | 312 | }, |
318 | 313 | ||
319 | //========================================================================= | 314 | //========================================================================= |
320 | /* | 315 | /* |
321 | 'deleteAllCleanTextData': function () { | 316 | 'deleteAllCleanTextData': function () { |
322 | return Clipperz.PM.DataModel.Record.Version.superclass.deleteAllCleanTextData.apply(this, arguments); | 317 | return Clipperz.PM.DataModel.Record.Version.superclass.deleteAllCleanTextData.apply(this, arguments); |
323 | }, | 318 | }, |
324 | 319 | ||
325 | 'hasAnyCleanTextData': function () { | 320 | 'hasAnyCleanTextData': function () { |
326 | return Clipperz.PM.DataModel.Record.Version.superclass.hasAnyCleanTextData.apply(this, arguments); | 321 | return Clipperz.PM.DataModel.Record.Version.superclass.hasAnyCleanTextData.apply(this, arguments); |
327 | }, | 322 | }, |
328 | */ | 323 | */ |
329 | //========================================================================= | 324 | //========================================================================= |
330 | __syntaxFix__: "syntax fix" | 325 | __syntaxFix__: "syntax fix" |
331 | }); | 326 | }); |
332 | 327 | ||
333 | 328 | ||