~odossmann/unifield-wm/UFTP_376_sync

« back to all changes in this revision

Viewing changes to sync_remote_warehouse/entity.py

  • Committer: jf
  • Date: 2014-11-07 16:34:04 UTC
  • mfrom: (500.2.3 ts)
  • Revision ID: jfb@tempo-consulting.fr-20141107163404-vvmqaacy885i7tjq
UF-2483 [FIX] RW: Only RW sync objects created after the creation of RW instance
lp:~unifield-team/unifield-wm/sync-duy-uf-2483

Show diffs side-by-side

added added

removed removed

Lines of Context:
465
465
        
466
466
        # return number of messages to send
467
467
        return len(message_pool.search(cr, uid, [('sent','=',False)], context=context))
 
468
 
 
469
    # UF-2483: Run the initial push messages to create all RW messages, put them into the sent box, to avoid sending them on the first RW sync 
 
470
    def usb_push_create_message_initial(self, cr, uid):
 
471
        context = {}
 
472
        message_pool = self.pool.get('sync_remote_warehouse.message_to_send')
 
473
        rule_pool = self.pool.get("sync.client.message_rule")
 
474
        entity = self.get_entity(cr, uid, context)
 
475
 
 
476
        messages_count = 0
 
477
        message_direction = entity.usb_instance_type == 'central_platform' and \
 
478
            ['|', ('direction_usb', '=', 'cp_to_rw'), ('direction_usb', '=', 'bidirectional')] or \
 
479
            ['|', ('direction_usb', '=', 'rw_to_cp'), ('direction_usb', '=', 'bidirectional')]
 
480
        rule_ids = rule_pool.search(cr, uid, [('type','=','USB')] + message_direction, order='sequence_number',  context=context)
 
481
        if rule_ids:
 
482
            for rule in rule_pool.browse(cr, uid, rule_ids, context=context):
 
483
                messages_count += message_pool.create_from_rule(cr, uid, rule, "id asc", True, context=context)
 
484
        
 
485
            if messages_count:
 
486
                cr.commit()
468
487
    
469
488
    def usb_push_validate(self, cr, uid, ids, context=None):
470
489
        """