1 function openerp_pos_membership_db(instance
, module
){
2 module
.PosLS
= module
.PosLS
.extend({
3 init: function(options
){
4 //console.log("[pos_membership] [PosLS] [init]: options=", options, "this=", this);
5 this._super(this, options
);
6 this.partner_search_string
= '';
7 this.partner_by_id
= {};
8 this.partner_list
= [];
10 _partner_search_string: function(partner
){
11 var str
= '' + partner
.id
+ ':' + partner
.name
;
14 add_partners: function(partners
){
15 if(!partners
instanceof Array
){
16 partners
= [partners
];
18 //console.log("[pos_membership] [add_partners] :", partners);
19 for(var i
= 0, len
= partners
.length
; i
< len
; i
++){
20 var partner
= partners
[i
];
21 //console.log("[db] [add_partners] partner.name:",partner.name);
22 this.partner_by_id
[partner
.id
] = partner
;
23 this.partner_list
.push(partner
);
24 this.partner_search_string
+= this._partner_search_string(partner
);
26 //console.log("[db] [add_partners] partner_search_string:", this.partner_search_string);
28 get_partner_by_id: function(id
){
29 return this.partner_by_id
[id
];
31 search_partner: function(query
){
32 var re
= RegExp("([0-9]+):.*?"+query
,"gi");
34 //console.log("[db] [search_partner] query:",query);
35 for(var i
= 0; i
< this.limit
; i
++){
36 r
= re
.exec(this.partner_search_string
);
38 var id
= Number(r
[1]);
39 //console.log("[db] [search_partner] id:",id);
40 results
.push(this.get_partner_by_id(id
));
48 get_partner_list: function(){
49 return this.partner_list
;
51 add_partner: function(partner
){
52 //console.log("[pos_membership] [PosLS] [add_partner] partner=", partner.name);
53 var last_id
= this.load('last_partner_id',0);
54 var partners
= this.load('partners',[]);
55 partners
.push({id
: last_id
+ 1, data
: partner
});
56 this.save('last_partner_id',last_id
+1);
57 this.save('partners',partners
);
59 remove_partner: function(partner_id
){
60 var partners
= this.load('partners',[]);
61 partners
= _
.filter(partners
, function(partner
){
62 return partner
.id
!== partner_id
;
64 this.save('partners',partners
);
66 get_partners: function(){
67 return this.load('partners',[]);