Ejemplo n.º 1
0
    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")
Ejemplo n.º 2
0
    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")