Esempio n. 1
0
    def create_orgs(self, superuser, country, num_total):
        """
        Creates and initializes the orgs
        """
        self._log("Creating %d orgs... " % num_total)

        org_names = ['%s %s' % (o1, o2) for o2 in ORG_NAMES[1] for o1 in ORG_NAMES[0]]
        self.random.shuffle(org_names)

        orgs = []
        for o in range(num_total):
            orgs.append(Org(name=org_names[o % len(org_names)], timezone=self.random.choice(pytz.all_timezones),
                            brand='rapidpro.io', country=country,
                            created_on=self.db_begins_on, created_by=superuser, modified_by=superuser))
        Org.objects.bulk_create(orgs)
        orgs = list(Org.objects.order_by('id'))

        self._log(self.style.SUCCESS("OK") + "\nInitializing orgs... ")

        for o, org in enumerate(orgs):
            org.initialize(topup_size=max((1000 - o), 1) * 1000)

            # we'll cache some metadata on each org as it's created to save re-fetching things
            org.cache = {
                'users': [],
                'fields': {},
                'groups': [],
                'system_groups': {g.group_type: g for g in ContactGroup.system_groups.filter(org=org)},
            }

        self._log(self.style.SUCCESS("OK") + '\n')
        return orgs
Esempio n. 2
0
def get_or_create_api_token(user):
    """
    Gets or creates an API token for this user. If user doen't have access to the API, this returns None.
    """
    org = user.get_org()
    if not org:
        org = Org.get_org(user)

    if org:
        try:
            token = APIToken.get_or_create(org, user)
            return token.key
        except ValueError:
            pass

    return None
Esempio n. 3
0
def get_or_create_api_token(user):
    """
    Gets or creates an API token for this user. If user doen't have access to the API, this returns None.
    """
    org = user.get_org()
    if not org:
        org = Org.get_org(user)

    if org:
        try:
            token = APIToken.get_or_create(org, user)
            return token.key
        except ValueError:
            pass

    return None
Esempio n. 4
0
def api_token(obj):
    if not obj.is_authenticated():
        return None

    org = obj.get_org()
    if not org:
        org = Org.get_org(obj)

    if org:
        tokens = APIToken.objects.filter(user=obj, org=org)

        if tokens:
            return str(tokens[0])
        else:
            token = APIToken.objects.create(user=obj, org=org)
            return str(token)
    else:
        return None
Esempio n. 5
0
def api_token(obj):
    if not obj.is_authenticated():
        return None

    org = obj.get_org()
    if not org:
        org = Org.get_org(obj)

    if org:
        tokens = APIToken.objects.filter(user=obj, org=org)

        if tokens:
            return str(tokens[0])
        else:
            token = APIToken.objects.create(user=obj, org=org)
            return str(token)
    else:
        return None
Esempio n. 6
0
def get_or_create_api_token(user):
    """
    Gets or (lazily creates) an API token for this user
    """
    if not user.is_authenticated():
        return None

    org = user.get_org()
    if not org:
        org = Org.get_org(user)

    if org:
        tokens = APIToken.objects.filter(user=user, org=org)

        if tokens:
            return str(tokens[0])
        else:
            token = APIToken.objects.create(user=user, org=org)
            return str(token)
    else:
        return None
Esempio n. 7
0
def get_or_create_api_token(user):
    """
    Gets or (lazily creates) an API token for this user
    """
    if not user.is_authenticated():
        return None

    org = user.get_org()
    if not org:
        org = Org.get_org(user)

    if org:
        tokens = APIToken.objects.filter(user=user, org=org)

        if tokens:
            return str(tokens[0])
        else:
            token = APIToken.objects.create(user=user, org=org)
            return str(token)
    else:
        return None
Esempio n. 8
0
    def pre_destroy(self, org: Org, user: User):
        if user.id and user.id > 0 and hasattr(org, "modified_by_id"):
            org.modified_by = user

            # Interim fix, remove after implementation in the model.
            org.save(update_fields=["modified_by"])