Ejemplo n.º 1
0
 def _do_notify_supplier_position(self, supplier_idurl, supplier_position):
     from p2p import p2p_service
     from raid import eccmap
     from userid import my_id
     p2p_service.SendContacts(
         remote_idurl=supplier_idurl,
         json_payload={
             'space': 'family_member',
             'type': 'supplier_position',
             'customer_idurl': my_id.getLocalIDURL(),
             'customer_ecc_map': eccmap.Current().name,
             'supplier_idurl': supplier_idurl,
             'supplier_position': supplier_position,
         },
     )
Ejemplo n.º 2
0
 def doRequestSuppliersReview(self, *args, **kwargs):
     """
     Action method.
     """
     if not self.transaction:
         self.automat('all-suppliers-agree')
         return
     self.suppliers_requests = []
     for supplier_idurl in self.transaction['suppliers']:
         if not supplier_idurl:
             continue
         if supplier_idurl == my_id.getLocalIDURL():
             continue
         outpacket = p2p_service.SendContacts(
             remote_idurl=supplier_idurl,
             json_payload={
                 'space': 'family_member',
                 'type': 'suppliers_list',
                 'customer_idurl': self.customer_idurl,
                 'customer_ecc_map': self.transaction['ecc_map'],
                 'transaction_revision': self.transaction['revision'],
                 'suppliers_list': self.transaction['suppliers'],
             },
             callbacks={
                 commands.Ack(): self._on_supplier_ack,
                 commands.Fail(): self._on_supplier_fail,
             },
         )
         self.suppliers_requests.append(outpacket.PacketID)
     if not self.suppliers_requests:
         self.automat('all-suppliers-agree')
     else:
         if _Debug:
             lg.out(
                 _DebugLevel,
                 'family_member.doRequestSuppliersReview sent to transaction for review to %d suppliers'
                 % len(self.suppliers_requests))