Ejemplo n.º 1
0
    def signup_user(self, validated_data):
        oid = validated_data['oid']
        oid = oid.lower()
        username = validated_data['username']
        access_token = validated_data['access_token']
        try:
            phone = get_phone(access_token)
        except Exception as e:
            raise ValidationError(detail='Invalid phone token!')

        if check_oid_exists(oid):
            raise PermissionDenied(detail='Organization exists!')
        if check_username_exists(oid=oid, username=username):
            raise PermissionDenied(detail='Username exists!')

        org = Organization.objects.create(oid=oid)
        usage = Usage(org=org, exp_date=trial_cycle())
        usage.save()
        subscription = Subscription(org=org,
                                    current_usage=usage,
                                    _is_trial=True)
        subscription.save()

        user = User(
            username=create_username(oid=oid, username=username),
            phone=phone,
            is_active=True,
            role=ROLE_DICT['Organizer'],
            org=org,
        )
        user.set_unusable_password()
        user.save()
        userstate = UserState.objects.create(user=user)
        jwt_token = jwt_encode_handler(jwt_payload_handler(user))
        return user, jwt_token
Ejemplo n.º 2
0
def create_organizer(username, oid='org1'):
    org = create_org(oid)

    organizer = User(
        username=create_username(oid, username), is_active=True,
        role=ROLE_DICT['Organizer'],
        org=org,
        full_name='Organizer',
    )
    organizer.set_unusable_password()
    organizer.save()
    state = UserState.objects.create(user=organizer)
    return organizer
Ejemplo n.º 3
0
def create_agent(username, parent, is_present=True):
    oid = parent.org.oid
    org = parent.org
    agent = User(
        username=create_username(oid, username), is_active=True,
        org=org, role=ROLE_DICT['Employee'], parent=parent,
        is_present=is_present,
        full_name='Agent',
    )
    agent.set_unusable_password()
    agent.save()
    org.subscription.added_agents += 1
    org.subscription.save()
    state = UserState.objects.create(user=agent)
    return agent
Ejemplo n.º 4
0
def create_manager(username, parent, org):
    manager = User(
        username=create_username(org.oid, username), is_active=True,
        role=ROLE_DICT['Manager'],
        org=org,
        parent=parent,
        full_name='Manager',
    )

    manager.set_unusable_password()
    manager.save()
    manager.org.subscription.added_agents += 1
    manager.org.subscription.save()
    state = UserState.objects.create(user=manager)
    return manager