X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=Pman.Lock.js;h=b44696d717e5f89f2c10f4586ba3846ee5859d79;hp=84c42ffa647554c5821a440366e77fca0585ebe0;hb=8cd2a9237c684aa16bc21e3ac6d3793c49c65400;hpb=8ee9e91213d57a9f8bdaa7f843c967d5834760fc
diff --git a/Pman.Lock.js b/Pman.Lock.js
index 84c42ffa..b44696d7 100644
--- a/Pman.Lock.js
+++ b/Pman.Lock.js
@@ -34,73 +34,86 @@
*
*/
Pman.Lock = function (cfg) {
- this.cfg = cfg;
+ this.cfg = cfg;
+ Roo.log('ctor-callLock');
+ this.callLock();
+}
+
+Roo.apply(Pman.Lock.prototype, {
+ cfg : false,
+
+ id : false, // the id of the lock..
+
+ callLock : function(force)
+ {
+ Roo.log('callLock');
+ force = force || 0;
var _t = this;
- Pman.Request({
- url : baseURL + 'Core/Lock/lock',
+ new Pman.Request({
+ url : baseURL + '/Core/Lock/lock',
params : {
- on_table : cfg.table,
- on_id : cfg.id
+ on_table : this.cfg.table,
+ on_id : this.cfg.id,
+ force : force
},
failure : function() {
Roo.MessageBox.alert("Error", "Lock Request failed, please try again");
},
- success : function(data)
+ success : function(res)
{
- Roo.log(data);
-
- if (typeof(data) == 'object') {
- this.confirmBreak();
-
-
-
+ var data = res.data;
+ Roo.log(data);
+ if (!force && typeof(data) == 'object') {
+ _t.confirmBreak(data);
+ return;
}
-
- _t.cfg.success.call(_t,_t);
+ _t.id = data;
+ _t.cfg.success(_t); //dont care about scope..
}
})
-
-
+ },
+ confirmBreak : function (ar)
+ {
+
+ var msg = "This Record is Locked by the following people,
" +
+ "Do you want to continue, this will prevent these people from saving their changes
";
+
+ Roo.each(ar, function(p) {
+ msg += '
' + p.name + ' at ' + p.lock_created ;
+ });
+ var _t = this;
+ Roo.MessageBox.confirm("Confirm breaking locks", msg, function(r) {
+ if (r != 'yes') {
+ return;
+ }
+ _t.callLock(1);
+ });
+
+
+
+
},
- attempt : function()
- {
- var _t = this
- Pman.Request({
- url : baseURL + 'Core/Lock/lock',
+ unlock : function() {
+ new Pman.Request({
+ url : baseURL + '/Core/Lock/unlock',
params : {
- on_table : cfg.table,
- on_id : cfg.id
+ id : this.id
},
failure : function() {
- Roo.MessageBox.alert("Error", "Lock Request failed, please try again");
+ Roo.MessageBox.alert("Error", "UnLock Request failed, you may get a warning when trying to edit again");
},
success : function(data)
{
- Roo.log(data);
-
- if (typeof(data) == 'object') {
- this.confirmBreak();
-
-
-
- }
-
- _t.cfg.success(_t); //dont care about scope..
-
+ // don nothing
}
- })
- }
-
-
- unlock : function() {
-
+ });
}
-}
+});
\ No newline at end of file