예제 #1
0
    def post(self, request):
        try:
            username = bleach.clean(request.data.get('username'))
            password = bleach.clean(request.data.get('password'))
            firstname = bleach.clean(request.data.get('firstname'))
            lastname = bleach.clean(request.data.get('lastname'))
            email = bleach.clean(request.data.get('email'))
            location = bleach.clean(request.data.get('location'))

            #GetCoordinates returns the coordinates based on the users input location - provided by gooogle api
            coordinates = getCoordinates(location)
            user = User.objects.create_user(username=username,
                                            password=password)
            user.save()
            profile = Profile(user=user,
                              FirstName=firstname,
                              LastName=lastname,
                              EmailAddress=email,
                              Location=location,
                              coordinates=coordinates)
            profile.save()
            serializer = ProfileSerializer(profile)
            return Response({
                'user': serializer.data,
                "token": AuthToken.objects.create(user)
            })
        except:
            return HttpResponseBadRequest()
예제 #2
0
def register(request):
	username = request.POST.get('username')
	password = request.POST.get('password')
	email = request.POST.get('email')
	phone_number = request.POST.get('phone_number')
	city = request.POST.get('city')
	type_account = request.POST.get('type_account')

	try:
		user = User(username = username, password=password, email=email)
		user.set_password(password)
		user.save()
		print('----> save user')

		# create token
		token = jwt.encode({'some': username}, 'secret', algorithm='HS256')
		print(token)

		account = Profile(user=user, phone=phone_number, city=city, token=token, type_account = type_account, updated_by = user, created_by=user)
		account.save()
		print('-------> save account')

		# timezone.now()

		response = {
			'result' : user.id
		}
	except:
		response = {
			'result' : -999
		}

	return JsonResponse(response)
예제 #3
0
 def create(self, validated_data):
     user = User(**validated_data)
     user.set_password(validated_data['password'])
     user.save()
     profile = Profile(user=user)
     profile.save()
     return user
예제 #4
0
    def post(self, request, *args, **kwargs):
        """
        Create a new user and a basic profile for the user.
        Return the user profile id and user data.

        :param request:
        :param args:
        :param kwargs:
        :return:
        """
        user_serializer = UserSerializer(data=request.data)

        # If the data isn't valid we return the error messages
        if not user_serializer.is_valid():
            return Response(user_serializer.errors, status=400)

        # Otherwise we save the user and create a profile for the user
        user_serializer.save()
        user_profile = Profile(
            user=user_serializer.instance
        )
        user_profile.save()

        ret = user_serializer.to_representation(user_serializer.instance)
        ret['profile_id'] = user_profile.id
        return Response(ret, status=201)
예제 #5
0
 def profile(self,user):
     profile = Profile(
         user = user
     )
     profile.save()
     profile.countries.set(self.countries.all())
     return profile
예제 #6
0
def register_user(request):
    """Use this method to register user."""
    register_data = decode_json(request)
    user = User.objects.create_user(**register_data)
    user.save()
    profile = Profile(user=user, is_investor=False)
    profile.save()
    return JsonResponse(StatusCode.SUCCESS)
예제 #7
0
    def post(self, request, format=None):
        access_key_check(request)
        country_code = request.data['country_code']
        number = request.data['number']
        first_name = request.data['first_name']
        last_name = request.data['last_name']
        email = request.data['email']
        if 'photo' in request.FILES:
            photo = request.data['photo']
        else:
            photo = ''
        udid = request.data['udid']

        phone = Phone.objects.get(
            Q(country_code=country_code) & Q(number=number))
        sms_code_udid = SmsCode.objects.get(phone=phone).udid

        if udid == '':
            raise AccessDenied("Нет udid")
        if udid != sms_code_udid:
            raise AccessDenied("udids не совпадают")

        if Profile.objects.filter(phone=phone).count() > 0:
            raise ProfileEngaged(
                "Аккаунт с указанным номером телефона уже существует")

        profile = Profile()
        profile.phone = phone
        profile.first_name = first_name
        profile.last_name = last_name
        profile.email = email
        if photo:
            profile.photo = upload_photo(photo, phone)
        else:
            profile.photo = ''
        host = request.META['HTTP_HOST']
        if host.startswith('www.'):
            host = host[4:]
        profile.payment_url = host + "/" + str(profile.external_id)
        try:
            qr = requests.get('https://api.scanova.io/v2/qrcode/url' +
                              '?url=' + profile.payment_url + '&apikey=' +
                              settings.SCANOVA_API_KEY)
            profile.qr = upload_qr(qr.content, phone)
        except:
            profile.qr = ''
        profile.save()

        token = Token.objects.create(profile=profile)

        result = {'token': token.token}
        return Response(result, status=status.HTTP_201_CREATED)
예제 #8
0
파일: views.py 프로젝트: P-bibs/MixCapsule
    def post(self, request):
        code = request.data["code"]

        CLIENT_ID = settings.SPOTIFY_CLIENT_ID
        CLIENT_SECRET = settings.SPOTIFY_CLIENT_SECRET
        REDIRECT_URI = settings.REDIRECT_URI

        auth_info = spotify_wrapper.exchange_code(CLIENT_ID, CLIENT_SECRET,
                                                  REDIRECT_URI, code)
        access_token = auth_info["access_token"]

        spotify = tk.Spotify(access_token)
        user_info = spotify.current_user()

        user_id = user_info.id
        user_email = user_info.email

        user = User.objects.filter(username=user_id)

        # If this is a new user, create an entry for them
        if len(user) == 0:
            new_user = User.objects.create_user(
                user_id, user_email, "", first_name=user_info.display_name)
            new_user.set_unusable_password()
            new_user.save()

            new_user_profile = Profile(user=new_user)
            new_user_profile.save()

            new_user_data = SpotifyApiData(
                user=new_user,
                access_token=auth_info["access_token"],
                refresh_token=auth_info["refresh_token"],
                access_expires_at=timezone.now() +
                datetime.timedelta(seconds=auth_info["expires_in"]),
            )
            new_user_data.save()

            new_user_options = PlaylistOptions(user=new_user)
            new_user_options.save()

            user = new_user
        else:
            user = user[0]

        refresh = RefreshToken.for_user(user)
        return Response({
            "refresh": str(refresh),
            "access": str(refresh.access_token),
        })
예제 #9
0
def apiProfile(request):
    print request.body
    error = 'bad Json: '

    try:
        if request.method == 'GET':
            answer = toJson(Profile.objects.all())
            return HttpResponse(answer)

        data = request.body
        data = json.loads(data)
        if request.method == 'POST':
            query = data['query']
            email = data['email']
            try:
                if query == 'select':
                    p = Profile.objects.filter(email=email)
                    return HttpResponse(toJson(p))
            except:
                error = 'Profile ' + email + ' dose not exist.'

        if request.method == 'PUT':
            try:
                email = data['email']
                surname = data['surname']
                name = data['name']
                passowrd = data['password']
                age = data['age']

                p = Profile(email=email,
                            surname=surname,
                            name=name,
                            password=passowrd,
                            age=age)
                p.save()
                return HttpResponse('created/updated ' + email)
            except:
                error = 'missing informations'
        if request.method == 'DELETE':
            email = data['email']
            try:
                p = Profile.objects.filter(email=email)[0].delete()
            except:
                error = 'Profile ' + email + ' dose not exist.'
            return HttpResponse('deleted ' + email)
    except:
        return HttpResponse('Bad Json')
예제 #10
0
def profile_edit(request):

    token = request.POST.get('token')
    first_name = request.POST.get('first_name')
    last_name = request.POST.get('last_name')
    info = request.POST.get('info')
    email = request.POST.get('email')
    file = request.FILES.get('file')
    roles = request.POST.get('roles')

    try:
        obj_token = Token.objects.get(token=token)
        try:
            user = User.objects.get(username=obj_token.user.username)

            # save profile
            try:
                profile = Profile.objects.get(user__username=user.username)
                url_image = str(profile.image)
                if os.path.exists(url_image):
                    os.remove(url_image)
            except Profile.DoesNotExist:
                profile = Profile(user=user)
            profile.info = info
            if file != None:
                profile.image = file
            profile.save()

            # save user
            user.first_name = first_name
            user.last_name = last_name
            user.email = email

            try:
                user.save()
                user.groups.clear()
                group = Group.objects.get(name=roles)
                group.user_set.add(user)
                response = {'result': 1, 'message': 'Save success'}
            except Group.DoesNotExist:
                group = None
                response = {'result': 0, 'message': 'Can not add group'}
        except User.DoesNotExist:
            response = {'result': 0, 'message': 'Error User'}
    except Token.DoesNotExist:
        response = {'result': 0, 'message': 'Error Token'}
    return JsonResponse(response)
예제 #11
0
	def profile_register(user, profile_data):

		try:
			return profile.objects.get(pk=user.id)
		except ObjectDoesNotExist:
			try:
				profile_data['user']=user
				profile=Profile(**profile_data)
				profile.save()

				group=Group.objects.get(name=profile_data['role']+'_basic')

				group.user_set.add(user)
				return profile
			except:
				pass
		return None
예제 #12
0
	def register(user_data, profile_data, group):
		"""
		Register user:
			user_data = {'username', 'email', 'password'}
			profile_data = {'role', 'position'}
		"""

		user_data['email'] = user_data['email']
		user_data['username'] = user_data['username']

		try:
			#Determine if email already exists.
			user_exists = User.objects.filter(email=user_data['email'])
			if user_exists:
				return {
					'user': user_exists[0],
					'is_new': False
				}

			#Determine if username already exists.
			username_exists = User.objects.filter(username=user_data['username'])
			if username_exists:
				return {
					'user': username_exists[0],
					'is_new': False
				}

			user = User.objects.create_user(**user_data)

			profile_data['user'] = user
			profile = Profile(**profile_data)
			profile.save()

			group = Group.objects.get(name=group)
			group.user_set.add(user)

			return {
				'user': user,
				'is_new': True
			}
		except e:
			print (str(e))
			#raise Exception(e.message)

		return None
예제 #13
0
    def register(user_data, profile_data, group):
        # user_data = {'username', 'email', 'password'}
        # profile_data = {'role', 'position'}
        first_name = user_data['first_name']
        last_name = user_data['last_name']
        username = user_data['username']
        email = user_data['email']
        password = user_data['password']
        profile_data = {}

        try:
            # check if email already exists
            email_exists = User.objects.filter(email=user_data['email'])
            if email_exists:
                return {'email': email_exists[0], 'is_new': False}

            # check if username already exists
            username_exists = User.objects.filter(
                username=user_data['username'])
            if username_exists:
                return {'user': username_exists[0], 'is_new': False}

            user = User.objects.create_user(username,
                                            email,
                                            password,
                                            first_name=first_name,
                                            last_name=last_name)

            profile_data['owner'] = user
            profile = Profile(**profile_data)
            profile.save()

            # group is for different user levels (admin or non-admin)
            group = Group.objects.get(name=group)
            group.user_set.add(user)

            # return a dict
            return {'user': user, 'is_new': True}

        except Exception as e:
            print(str(e))
            raise Exception(e)

        return None
예제 #14
0
def apiProfile(request):
    error = 'bad Json: '

    try:
        if request.method == 'GET':
            answer = toJson(Profile.objects.all())
            return HttpResponse(answer)

        data = request.body 
        data = json.loads(data)
        if request.method == 'POST':
            query = data['query']
            email = data['email']
            try:
                if query == 'select':
                    p = Profile.objects.filter(email=email)

                    return HttpResponse(toJson(p))
            except: 
                error = 'Profile ' + email + ' dose not exist.'

        if request.method == 'PUT':
            try:
                email = data['email']
                surname = data['surname']
                name = data['name']
                passowrd = data['password']
                age = data['age']

                p = Profile(email=email,surname=surname,name=name,password=passowrd,age=age)
                p.save()
                return HttpResponse('created/updated ' + email)
            except:
                error = 'missing informations'
        if request.method == 'DELETE':
            email = data['email']
            try:
                p = Profile.objects.filter(email=email)[0].delete()
            except: 
                error = 'Profile ' + email + ' dose not exist.'
            return HttpResponse('deleted ' + email)
    except: 
        return HttpResponse('Bad Json')
예제 #15
0
 def create(self, validated_data):
     """ Create for custom profile serializer. """
     profile = Profile()
     username = validated_data.get('username')
     email = validated_data.get('email')
     password = validated_data.get('password')
     skills = validated_data.get('skill_list')
     # projects = validated_data.get('project_list')
     profile.user = User.objects.create_user(
         username=username, email=email, password=password)
     profile.save()
     # Todo: Remove the next statement once refactored
     self.update(profile, validated_data)
     if skills:
         for skill in skills:
             profile.skills.create(**skill)
     # if projects:
     #     for project in projects:
     #         profile.projects.create(**project)
     profile.save()
     return profile
예제 #16
0
def fill_social(profile: models.Profile):
    social_account = SocialAccount.objects.filter(user=profile.user).first()
    if social_account:
        data = social_account.extra_data
        if social_account.provider == 'vk':
            profile.social_vk = f'https://vk.com/id{data["id"]}'
            profile.name = f"{data.get('first_name', '')} {data.get('last_name', '')}"
            profile.city = data['city'].get('title',
                                            '') if data.get('city') else ''
            if data.get('bdate'):
                profile.birthday = datetime.strptime(data.get('bdate'),
                                                     '%d.%m.%Y').date()
            if data.get('email'):
                profile.social_email = data['email']
            if data.get('photo_max_orig'):
                save_image(profile, data['photo_max_orig'],
                           social_account.provider)
        elif social_account.provider == 'odnoklassniki':
            profile.social_ok = f'https://ok.ru/profile/{data["uid"]}'
            profile.name = data.get('name', '')
            profile.city = data['location'].get(
                'city', '') if data.get('location') else ''
            if data.get('birthday'):
                profile.birthday = datetime.strptime(data.get('birthday'),
                                                     '%Y-%m-%d').date()
            if data.get('pic1024x768'):
                save_image(profile, data['pic1024x768'],
                           social_account.provider)
        elif social_account.provider == 'google':
            profile.name = data.get('name', '')
            if data.get('picture'):
                save_image(profile, data['picture'], social_account.provider)
            if data.get('email'):
                profile.social_email = data['email']
        elif social_account.provider == 'facebook':
            profile.social_fb = f'https://www.facebook.com/profile.php?id={data["uid"]}'
            profile.name = data.get('name', '')
            if data.get('email'):
                profile.social_email = data['email']
        profile.save()
예제 #17
0
def create_account(request):
    stripe.api_key = settings.STRIPE_KEY

    email = request.data.get("email", "")
    password = request.data.get("password", "")

    if not email:
        return Response({'error': 'The email field is missing.'},
                        status=status.HTTP_200_OK)
    if not password:
        return Response({'error': 'The password field is missing.'},
                        status=status.HTTP_200_OK)

    user = User.objects.filter(username=email)
    if user.exists():
        return Response({'error': 'The profile already exists.'},
                        status=status.HTTP_200_OK)

    account = stripe.Account.create(
        type='standard',
        email=email,
        business_type='individual',
    )

    user = User.objects.create_user(username=email, password=password)

    profile = Profile()
    profile.user = user
    profile.stripe_id = account.id
    profile.save()

    account_links = stripe.AccountLink.create(
        account=account.id,
        refresh_url=settings.BASE_URL + "login/" + email + "/",
        return_url=settings.BASE_URL + "login/" + email + "/",
        type='account_onboarding',
    )

    return Response({'url': account_links.url}, status=status.HTTP_200_OK)
예제 #18
0
    def post(self, request):

        print(request.data.get("username"))

        username = request.data.get("username")
        password = request.data.get("password")

        if User.objects.filter(username=username).exists():
            content = {'message': 'User already exists', 'success': False}
            return Response(content)

        else:
            user, created = User.objects.get_or_create(username=username)
            user.set_password(password)
            user.first_name = request.data.get("first_name")
            user.last_name = request.data.get("last_name")
            user.is_staff = request.data.get("is_staff")
            user.save()
            profile = Profile(user=user,phone_number='')
            profile.save()
            content = {'message': 'Registered ok!', 'success': True}
            return Response(content)
예제 #19
0
    "furui",
    "たかぽん",
    "マルコ",
    "エネル",
    "ひとみちゃん",
    "ヤッホー",
    "さわお",
    "よーへい",
    "ユキタ",
    "ガウディ",
    "サモトラケのニケ",
    "クロネッカー",
    "座敷わらしポンタ",
    "うさかめ",
    "やまねこ",
]

for i, name in enumerate(userNames):
    user = User(
        email=f"vl2id0aow1qkrt{i+1}@nfakdls.com",
        fund=random.randint(1000000, 30000000),
    )
    user.set_password("dammy")
    user.save()

    profile = Profile(
        name=name,
        user=user,
    )
    profile.save()
예제 #20
0
import pandas as pd

from pandas import ExcelFile

df = pd.read_excel('G:/Dropbox/Poker/Poker.xlsx', sheet_name='Placings Data')
print(df.columns[7:-3])

for player in df.columns[7:-3]:
    try:
        u = Profile.objects.get(nickname=player)
    except:
        print("Create profile %s" % player)
        u = User(username=player)
        u.save()
        p = Profile(nickname=player, user=u)
        p.save()

league = League.objects.all()[0]
i = 0
for game in df[df.columns[0]]:
    print(game)
    host = df[df.columns[5]][i]
    timestamp = df[df.columns[6]][i]
    date = timestamp.to_pydatetime()
    stake = df[df.columns[1]][i]
    first = df[df.columns[2]][i]
    second = df[df.columns[3]][i]
    third = df[df.columns[4]][i]
    print(host)

    if host:
예제 #21
0
 def setUp(self):
     User.objects.create_superuser("jblouse", "*****@*****.**", "password")
     user = User.objects.get(username="******")
     profile = Profile()
     profile.user = user
     profile.save()
     tag = Tag()
     tag.name = "TEST TAG"
     tag.save()
     tag2 = Tag()
     tag2.name = "TEST TAG2"
     tag2.save()
     self.client.force_authenticate(user=user)
     self.user = user
     profile_fk_url = "/profiles/{0}/".format(self.user.profile.id)
     tag_fk_url = "/tags/{0}/".format(tag.id)
     tag2_fk_url = "/tags/{0}/".format(tag2.id)
     self.email_url = reverse("email-list")
     self.email_data = {"user": self.user.pk, "email_address": "*****@*****.**", "email_profile": profile_fk_url}
     self.tag_url = reverse("tag-list")
     self.tag_data = {"user": self.user.pk, "name": "code-tag"}
     self.project_url = reverse("project-list")
     self.project_data = {"description": "test description", "tag": tag_fk_url, "project_profile": profile_fk_url}
     self.certification_url = reverse("certification-list")
     self.cert_data = {"name": "certified", "date_earned": "2014-05-01", "certification_profile": profile_fk_url}
     self.address_url = reverse("address-list")
     self.address_data = {
         "name": "address",
         "street": "123 street",
         "line_2": "Suite 1",
         "city": "Austin",
         "state": "TX",
         "zip_code": "78686",
         "address_profile": profile_fk_url,
     }
     self.address_short_data = {
         "name": "address",
         "city": "Austin",
         "state": "TX",
         "address_profile": profile_fk_url,
     }
     self.profile_url = "/profiles/"
     self.profile_small_data = {
         "username": "******",
         "password": "******",
         "home_phone": "123-456-7890",
         "email": "*****@*****.**",
         "skill_list": [{"name": "test skill"}, {"name": "skill 2"}],
     }
     self.company_url = reverse("employment-list")
     self.company_data = {"company": "Corpseware", "tag": tag2_fk_url, "employment_profile": profile_fk_url}
     self.school_url = reverse("education-list")
     self.school_data = {"school": "Corpseware", "education_profile": profile_fk_url}
     self.headline_url = reverse("headline-list")
     self.headline_data = {"description": "Experienced python developer.", "headline_profile": profile_fk_url}
     self.hobby_url = reverse("hobby-list")
     self.hobby_data = {"description": "Karate", "hobby_profile": profile_fk_url}
     self.reference_url = reverse("reference-list")
     self.reference_data = {"name": "James Smith", "reference_profile": profile_fk_url}
     self.skill_url = reverse("skill-list")
     self.skill_data = {"name": "python", "level": 9, "years_experience": 7, "skill_profile": profile_fk_url}
     self.skill_small_data = {"name": "ruby", "skill_profile": profile_fk_url}
예제 #22
0
def save_profile():
    """ Save profile data. """
    user = User.objects.create_superuser("jblouse", "*****@*****.**", "password", first_name="Jared", last_name="Blouse")
    profile = Profile(user=user)
    profile.save()
    return profile, user
예제 #23
0
파일: profiles.py 프로젝트: 3taps/Anoni-API
def POST_profiles(request, format):
    """ Respond to the "POST profiles" request.

        We create a new profile for the currently logged-in user.
    """
    # Get the request parameters.

    params = apiHelper.get_params(request, resource_name="profile")

    error = apiHelper.check_params(params,
                                   required_params=["token"],
                                   optional_params=["alias",  "avatar",
                                                    "image1", "image2",
                                                    "image3", "image4",
                                                    "url",    "email",
                                                    "location", "bio"])
    if error != None: return error

    token    = params['token']
    alias    = params.get("alias")
    avatar   = params.get("avatar")
    image1   = params.get("image1")
    image2   = params.get("image2")
    image3   = params.get("image3")
    image4   = params.get("image4")
    url      = params.get("url")
    email    = params.get("email")
    location = params.get("location")
    bio      = params.get("bio")

    # Check that the login token is still valid.

    if not session.validate(token):
        return HttpResponseBadRequest("Invalid token")

    user = session.get_user(token)

    # Create a Profile object with the supplied parameters.

    profile = Profile()
    profile.user     = user
    profile.alias    = alias
    profile.url      = url
    profile.email    = email
    profile.location = location
    profile.bio      = bio
    profile.created_at = datetime.datetime.now()
    profile.updated_at = datetime.datetime.now()
    profile.save()

    if avatar != None:
        profile.avatar_orig.save(avatar.name, avatar)
    if image1 != None:
        profile.image1_orig.save(image1.name, image1)
    if image2 != None:
        profile.image2_orig.save(image2.name, image2)
    if image3 != None:
        profile.image3_orig.save(image3.name, image3)
    if image4 != None:
        profile.image4_orig.save(image4.name, image4)

    # Finally, return the newly-created profile back to the caller.

    return apiHelper.response({'profile' : profile.own_to_dict()},
                              format=format, status=HTTP_RESPONSE_POST_OK)
예제 #24
0
    def handle(self, *args, **options):
        # Admin
        a = Employee().create(username="******",
                              password="******",
                              charge="secretary",
                              first_name="Administrador",
                              last_name="de Aesculapius")
        a.user.is_superuser = True
        a.user.is_staff = True
        a.save()
        a.user.save()

        # Employees
        s = Employee().create(username="******",
                              password="******",
                              charge="secretary",
                              first_name="Secretaria Marta",
                              last_name="Mocha",
                              email=None)
        s1 = Employee().create(username="******",
                               password="******",
                               charge="secretary",
                               first_name="Secretaria Olga",
                               last_name="Mora",
                               email=None)

        d = Employee().create(username="******",
                              password="******",
                              charge="doctor",
                              first_name="Medica Romina",
                              last_name="Valestrini",
                              email=None)
        d1 = Employee().create(username="******",
                               password="******",
                               charge="doctor",
                               first_name="Medico Ricardo",
                               last_name="Morales",
                               email=None)
        d5 = Employee().create(username="******",
                               password="******",
                               charge="doctor",
                               first_name="Medico Ricardao",
                               last_name="Moraleas",
                               email=None)

        d5.save()
        s.save()
        s1.save()
        d.save()
        d1.save()

        s.set_assist_ed(d)
        d1.set_assist_ed(s1)

        # Patients
        p = Profile(first_name="Diego", last_name="Velinsky")
        p1 = Profile(first_name="Maria", last_name="de la Fuente")
        p2 = Profile(first_name="Pedro", last_name="Pitaria")
        p.save()
        p1.save()
        p2.save()

        # Visits
        v = Visit(doctor=d,
                  patient=p,
                  detail="Tenia gripe y le di antibiotico")
        v1 = Visit(doctor=d,
                   patient=p1,
                   detail="Tenia fiebre y lo deje en cuarentena")
        v2 = Visit(doctor=d,
                   patient=p2,
                   detail="Le dolia la cabeza y le di bayaspirina")
        v3 = Visit(doctor=d1,
                   patient=p,
                   detail="Seguia con gripe y le di mas antibiotico")
        v4 = Visit(doctor=d1,
                   patient=p,
                   detail="La gripe no ceso y lo mande al hospital")
        v5 = Visit(doctor=d1,
                   patient=p1,
                   detail="Luego de la cuarentena murio")
        v.save()
        v1.save()
        v2.save()
        v3.save()
        v4.save()
        v5.save()