Fix Match sync config

sync_v2
Laurent 6 months ago
parent 94580cdf73
commit 21d0c85d27
  1. 3
      padelclub_backend/settings_app.py
  2. 6
      sync/models/base.py
  3. 10
      sync/views.py

@ -42,10 +42,9 @@ SYNC_APPS = {
} }
SYNC_MODEL_CHILDREN_SHARING = { SYNC_MODEL_CHILDREN_SHARING = {
'Match': {'team_scores', 'team_registration', 'player_registrations'} 'Match': ['team_scores', 'team_registration', 'player_registrations']
} }
STRIPE_CURRENCY = 'eur' STRIPE_CURRENCY = 'eur'
# Add managers who should receive internal emails # Add managers who should receive internal emails
SHOP_MANAGERS = [ SHOP_MANAGERS = [

@ -35,7 +35,7 @@ class BaseModel(models.Model):
for child in children: for child in children:
if (child.one_to_many or child.one_to_one) and child.auto_created: if (child.one_to_many or child.one_to_one) and child.auto_created:
model_name = child.related_model.__name__ model_name = child.related_model.__name__
print(f'>>> add children for {model_name}') # print(f'>>> add children for {model_name}')
related_objects[model_name] = getattr(self, child.name).all() related_objects[model_name] = getattr(self, child.name).all()
return related_objects return related_objects
@ -58,7 +58,7 @@ class BaseModel(models.Model):
# Get the parent instance using the related name # Get the parent instance using the related name
parent_instance = getattr(self, field.get_accessor_name()) parent_instance = getattr(self, field.get_accessor_name())
if parent_instance: if parent_instance:
print(f'>>> add parent for OneToOneRel : {model_name}') # print(f'>>> add parent for OneToOneRel : {model_name}')
parents[model_name] = parent_instance parents[model_name] = parent_instance
# Also check for direct foreign key relationships that might represent parent relationships # Also check for direct foreign key relationships that might represent parent relationships
@ -66,7 +66,7 @@ class BaseModel(models.Model):
model_name = field.related_model.__name__ model_name = field.related_model.__name__
parent_instance = getattr(self, field.name) parent_instance = getattr(self, field.name)
if parent_instance: if parent_instance:
print(f'>>> add parent for ForeignKey : {model_name}') # print(f'>>> add parent for ForeignKey : {model_name}')
parents[model_name] = parent_instance parents[model_name] = parent_instance
return parents return parents

@ -31,10 +31,10 @@ def add_children_hierarchy(instance, models_dict):
relationships = sync_models[instance.__class__.__name__] relationships = sync_models[instance.__class__.__name__]
# 'Match': {'team_scores', 'team_registration', 'player_registrations'} # 'Match': {'team_scores', 'team_registration', 'player_registrations'}
# print(f'relationships = {relationships}') print(f'relationships = {relationships}')
current = [instance] current = [instance]
for relationship in relationships: for relationship in relationships:
# print(f'relationship = {relationship}') print(f'> relationship = {relationship}')
values = [] values = []
for item in current: for item in current:
value = getattr(item, relationship) value = getattr(item, relationship)
@ -353,20 +353,20 @@ class LogProcessingResult:
revocations = defaultdict(list) revocations = defaultdict(list)
revocations_parents_organizer = HierarchyOrganizer() revocations_parents_organizer = HierarchyOrganizer()
print(f'*** process_revocations: {len(self.revoke_info)}') # print(f'*** process_revocations: {len(self.revoke_info)}')
# First, collect all revocations # First, collect all revocations
for model_name, items in self.revoke_info.items(): for model_name, items in self.revoke_info.items():
revocations[model_name].extend(items) revocations[model_name].extend(items)
print(f'*** process_revocations for {model_name}') # print(f'*** process_revocations for {model_name}')
# Process parent hierarchies for each revoked item # Process parent hierarchies for each revoked item
model = model_registry.get_model(model_name) model = model_registry.get_model(model_name)
for item in items: for item in items:
try: try:
instance = model.objects.get(id=item['model_id']) instance = model.objects.get(id=item['model_id'])
print(f'*** process revoked item parents of {model_name} : {item['model_id']}') # print(f'*** process revoked item parents of {model_name} : {item['model_id']}')
add_parents_with_hierarchy_organizer(instance, revocations_parents_organizer) add_parents_with_hierarchy_organizer(instance, revocations_parents_organizer)
except model.DoesNotExist: except model.DoesNotExist:
pass pass

Loading…
Cancel
Save