add customer details for default if there are more than one incoming lot

This commit is contained in:
Cayo Puigdefabregas 2023-03-10 18:34:09 +01:00
parent 20ccb385d8
commit 1c82fcfa30
2 changed files with 32 additions and 2 deletions

View File

@ -1058,9 +1058,10 @@ class ExportsView(View):
erasures.append(device.privacy)
return erasures
def get_costum_details(self):
def get_costum_details(self, erasures):
my_data = None
customer_details = None
lot = None
if hasattr(g.user, 'sanitization_entity'):
my_data = g.user.sanitization_entity
@ -1071,6 +1072,23 @@ class ExportsView(View):
customer_details = lot.transfer.customer_details
except Exception:
pass
if lot or not erasures:
return my_data, customer_details
init = erasures[0].device.get_set_lots()
for e in erasures:
init = init.intersection(e.device.get_set_lots())
if len(init) != 1:
return my_data, customer_details
lot = init.pop()
try:
customer_details = lot.transfer.customer_details
except Exception:
pass
return my_data, customer_details
def get_server_erasure_hosts(self, erasures):
@ -1093,7 +1111,7 @@ class ExportsView(View):
erasures[0].snapshot.version,
)
my_data, customer_details = self.get_costum_details()
my_data, customer_details = self.get_costum_details(erasures)
a, b = self.get_server_erasure_hosts(erasures)
erasures_host, erasures_on_server = a, b

View File

@ -1021,6 +1021,18 @@ class Device(Thing):
return
def get_set_lots(self):
if self.lots:
return set(self.lots)
if hasattr(self, "parent") and self.parent and self.parent.lots:
return set(self.parent.lots)
if self.binding:
return self.binding.device.get_set_lots()
return set()
def __lt__(self, other):
return self.id < other.id