def create_group_contacts(self, spec, org, user): self._log(f"Generating group contacts...") for g in spec["groups"]: size = int(g.get("size", 0)) if size > 0: group = ContactGroup.user_groups.get(org=org, name=g["name"]) contacts = [] for i in range(size): urn = f"tel:+250788{i:06}" contact = ContactURN.lookup(org, urn) if not contact: contact = Contact.create(org, user, name="", language="", urns=[urn], fields={}, groups=[]) contacts.append(contact) Contact.bulk_change_group(user, contacts, group, add=True) self._log(self.style.SUCCESS("OK") + "\n")
def create_contacts(self, spec, org, user): self._log(f"Creating {len(spec['contacts'])} contacts... ") fields_by_key = {f.key: f for f in ContactField.user_fields.all()} for c in spec["contacts"]: values = { fields_by_key[key]: val for key, val in c.get("fields", {}).items() } groups = list( ContactGroup.user_groups.filter(org=org, name__in=c.get("groups", []))) contact = Contact.create(org, user, c["name"], language="", urns=c["urns"], fields=values, groups=groups) contact.uuid = c["uuid"] contact.created_on = c["created_on"] contact.save(update_fields=("uuid", "created_on")) self._log(self.style.SUCCESS("OK") + "\n")