def create_org(self, spec, superuser, country, locations): self._log(f"\nCreating org {spec['name']}...\n") org = Org.objects.create( uuid=spec["uuid"], name=spec["name"], timezone=pytz.timezone("America/Los_Angeles"), brand="rapidpro.io", country=country, created_on=timezone.now(), created_by=superuser, modified_by=superuser, ) ContactGroup.create_system_groups(org) ContactField.create_system_fields(org) org.init_topups(100_000) # set our sequences to make ids stable across orgs with connection.cursor() as cursor: for seq_name in RESET_SEQUENCES: cursor.execute( f"ALTER SEQUENCE {seq_name} RESTART WITH {spec['sequence_start']}" ) self.create_users(spec, org) self.create_channels(spec, org, superuser) self.create_fields(spec, org, superuser) self.create_globals(spec, org, superuser) self.create_labels(spec, org, superuser) self.create_groups(spec, org, superuser) self.create_flows(spec, org, superuser) self.create_contacts(spec, org, superuser) self.create_group_contacts(spec, org, superuser) self.create_campaigns(spec, org, superuser) self.create_templates(spec, org, superuser) self.create_classifiers(spec, org, superuser) self.create_ticketers(spec, org, superuser) return org
def create_org(self, spec, superuser, country, locations): self._log(f"\nCreating org {spec['name']}...\n") org = Org.objects.create( uuid=spec["uuid"], name=spec["name"], timezone=pytz.timezone("America/Los_Angeles"), brand="rapidpro.io", country=country, created_on=timezone.now(), created_by=superuser, modified_by=superuser, ) ContactGroup.create_system_groups(org) ContactField.create_system_fields(org) org.create_welcome_topup(100_000) # set our sequences to make ids stable across orgs with connection.cursor() as cursor: cursor.execute( "ALTER SEQUENCE contacts_contact_id_seq RESTART WITH %s", [spec["sequence_start"]]) cursor.execute( "ALTER SEQUENCE contacts_contacturn_id_seq RESTART WITH %s", [spec["sequence_start"]]) cursor.execute( "ALTER SEQUENCE contacts_contactgroup_id_seq RESTART WITH %s", [spec["sequence_start"]]) cursor.execute("ALTER SEQUENCE flows_flow_id_seq RESTART WITH %s", [spec["sequence_start"]]) cursor.execute( "ALTER SEQUENCE channels_channel_id_seq RESTART WITH %s", [spec["sequence_start"]]) cursor.execute( "ALTER SEQUENCE campaigns_campaign_id_seq RESTART WITH %s", [spec["sequence_start"]]) cursor.execute( "ALTER SEQUENCE campaigns_campaignevent_id_seq RESTART WITH %s", [spec["sequence_start"]]) cursor.execute("ALTER SEQUENCE msgs_label_id_seq RESTART WITH %s", [spec["sequence_start"]]) cursor.execute( "ALTER SEQUENCE templates_template_id_seq RESTART WITH %s", [spec["sequence_start"]]) cursor.execute( "ALTER SEQUENCE templates_templatetranslation_id_seq RESTART WITH %s", [spec["sequence_start"]]) self.create_channels(spec, org, superuser) self.create_fields(spec, org, superuser) self.create_globals(spec, org, superuser) self.create_labels(spec, org, superuser) self.create_groups(spec, org, superuser) self.create_flows(spec, org, superuser) self.create_contacts(spec, org, superuser) self.create_group_contacts(spec, org, superuser) self.create_campaigns(spec, org, superuser) self.create_templates(spec, org, superuser) self.create_classifiers(spec, org, superuser) self.create_ticketers(spec, org, superuser) return org