Example #1
0
 def load_for(self, values):
     self.models.lock_signal = True
     for value in values:
         newmod = ModelRecord(self.resource, value['id'], parent=self.parent, group=self)
         newmod.set(value)
         self.models.append(newmod)
         newmod.signal_connect(self, 'record-changed', self._record_changed)
     self.models.lock_signal = False
     self.signal('record-cleared')
Example #2
0
 def model_new(self, default=True, domain=[], context={}):
     newmod = ModelRecord(self.resource, None, group=self,
             parent=self.parent, new=True)
     newmod.signal_connect(self, 'record-changed', self._record_changed)
     if default:
         ctx=context.copy()
         ctx.update(self.context)
         newmod.default_get(domain, ctx)
     self.signal('model-changed', newmod)
     return newmod
Example #3
0
 def writen(self, edited_id):
     if not self.on_write:
         return
     new_ids = getattr(self.rpc, self.on_write)(edited_id, self.context)
     model_idx = self.models.index(self[edited_id])
     result = False
     for id in new_ids:
         cont = False
         for m in self.models:
             if m.id == id:
                 cont = True
                 m.reload()
         if cont:
             continue
         newmod = ModelRecord(self.resource, id, parent=self.parent, group=self)
         newmod.reload()
         if not result:
             result = newmod
         new_index = min(model_idx, len(self.models)-1)
         self.model_add(newmod, new_index)
     return result
Example #4
0
 def writen(self, edited_id):
     if not self.on_write:
         return
     new_ids = getattr(self.rpc, self.on_write)(edited_id, self.context)
     model_idx = self.models.index(self[edited_id])
     result = False
     for id in new_ids:
         cont = False
         for m in self.models:
             if m.id == id:
                 cont = True
                 m.reload()
         if cont:
             continue
         newmod = ModelRecord(self.resource, id, parent=self.parent, group=self)
         newmod.reload()
         if not result:
             result = newmod
         new_index = min(model_idx, len(self.models)-1)
         self.model_add(newmod, new_index)
     return result
Example #5
0
 def model_new(self, default=True, domain=[], context={}):
     newmod = ModelRecord(self.resource,
                          None,
                          group=self,
                          parent=self.parent,
                          new=True)
     newmod.signal_connect(self, 'record-changed', self._record_changed)
     if default:
         ctx = context.copy()
         ctx.update(self.context)
         newmod.default_get(domain, ctx)
     self.signal('model-changed', newmod)
     newmod.list_parent = self.list_parent
     newmod.list_group = self.list_group
     return newmod
Example #6
0
 def pre_load(self, ids, display=True):
     if not ids:
         return True
     if len(ids)>10:
         self.models.lock_signal = True
     for id in ids:
         newmod = ModelRecord(self.resource, id, parent=self.parent, group=self)
         self.model_add(newmod)
         if display:
             self.signal('model-changed', newmod)
     if len(ids)>10:
         self.models.lock_signal = False
         self.signal('record-cleared')
     return True
Example #7
0
 def load_for(self, values):
     if len(values)>10:
         self.models.lock_signal = True
     for value in values:
         newmod = ModelRecord(self.resource, value['id'], parent=self.parent, group=self)
         newmod.set(value)
         self.models.append(newmod)
         newmod.signal_connect(self, 'record-changed', self._record_changed)
     if len(values)>10:
         self.models.lock_signal = False
         self.signal('record-cleared')