Beispiel #1
0
def getNewsList(request):
    # depend on the friends depart
    num = request.GET['num']
    allFriends = Account.objects(pk__in=request.user.friends).all()
    number = News.objects(author__in=allFriends).count()
    if int(num)*15>number:
        result=[]
        return HttpResponse(dumps(result))
    result = News.objects(author__in=allFriends)[int(num)*15:int(num)*15 + 15].order_by("-time").as_pymongo()
    result = list(result)
    for news in result:
        del(news['_types'])
        del(news['_cls'])
        news['picture'] = endpoint + "news/getPicture?id=" + str(news['_id'])
        news['voice'] = endpoint + "news/getVoice?id=" + str(news['_id'])
        uid = news['author']
        user = News.objects(author=uid).first().author
        gid = news['good']
        good = News.objects(good=gid).first().good
        news['good'] = endpoint + "goods/getGoods?id=" + str(good.pk)
        news['author'] = {"portrait": endpoint + "users/getPortrait?id=" + str(user.pk), "name": user.username}
        news['comments'] = endpoint + "news/getComments?id=" + str(news['_id'])
#        news['_id'] = endpoint + "news/getNewsDetail?id=" + str(news['_id'])
        del(news['_id'])
        news['time']=str(news['time'])
    result = dumps(result)
    return HttpResponse(result)
    def handle(self, *args, **options):

        URL = 'https://www.whattoexpect.com/baby-names/list/top-baby-names-for-boys/'
        page = requests.get(URL)
        soup = BeautifulSoup(page.content, 'html.parser')

        results = soup.select('ol > li')
        names = []

        for item in results:
            names.append(item.text)

        accounts_array = []
        array = []

        for accounts in range(options['a']):
            accounts_array.append(Account(email=(random.choice(names) + '.' + random.choice(names) + '@gmail.com'), date_of_birth='1994-01-26'))

        Account.objects.bulk_create(accounts_array)

        for objects in Account.objects.all():
            array.append(objects)

        for staff in range(options['s']):
            account = random.choice(array)
            Staff.objects.bulk_create([Staff(user=account)])
            array.remove(account)

        staff_objects = Staff.objects.all()

        for customers in range(options['c']):
            account = random.choice(array)
            Customer.objects.bulk_create([Customer(user=account, staff=random.choice(staff_objects))])
            array.remove(account)
Beispiel #3
0
def register_view(request):
    # Authentication check. Users logged in cannot view this page.
    if request.user.is_authenticated:
        return HttpResponseRedirect('/profile/')
    # Get the template data from the session
    template_data = parse_session(request, {'form_button': "Register"})
    # Proceed with the rest of the view
    if request.method == 'POST':
        form = AccountRegisterForm(request.POST)
        if form.is_valid():
            user = User.objects.create_user(
                form.cleaned_data['email'].lower(
                ),  # Username, make sure it's lowercase
                form.cleaned_data['email'],  # Email
                form.cleaned_data['password_first']  # Password
            )
            profile = Profile(
                firstname=form.cleaned_data['firstname'],
                lastname=form.cleaned_data['lastname'],
                insurance=form.cleaned_data['insurance'],
            )
            profile.save()
            account = Account(role=Account.ACCOUNT_PATIENT,
                              profile=profile,
                              user=user)
            account.save()
            medicalinfo = MedicalInfo(patient=account.user,
                                      alzheimer=False,
                                      asthma=False,
                                      diabetes=False,
                                      stroke=False)
            medicalinfo.save()
            user = authenticate(
                username=form.cleaned_data['email'].lower(
                ),  # Make sure it's lowercase
                password=form.cleaned_data['password_first'])
            logger.log(Action.ACTION_ACCOUNT, "Account registered", user)
            logger.log(Action.ACTION_ACCOUNT, "Account login", user)
            login(request, user)
            request.session[
                'alert_success'] = "Successfully registered with OTS"
            return HttpResponseRedirect('/profile/')
    else:
        form = AccountRegisterForm()
    template_data['form'] = form
    return render(request, 'page/register.html', template_data)
Beispiel #4
0
def init_db():
    acc1 = Account.objects.create(account_email="*****@*****.**",account_name="chris_whu",account_phone="15927432501", \
    **Account.new_account_hostname())
    acc2 = Account.objects.create(account_email="*****@*****.**",account_name="xiong_whu",account_phone="13979233017", \
    **Account.new_account_hostname())

    app1 = Application.objects.create(name='chris_sdk1',account=acc1,**Application.new_app(acc1.api_hostname))
    app2 = Application.objects.create(name='chris_sdk2',account=acc1,**Application.new_app(acc1.api_hostname))
    app3 = Application.objects.create(name='xiong_sdk1',account=acc2,**Application.new_app(acc2.api_hostname))
    app4 = Application.objects.create(name='xiong_sdk2',account=acc2,**Application.new_app(acc2.api_hostname))

    user1 = User.objects.create(user_name="xrb",user_phone="15927432501",account=acc1)
    user2 = User.objects.create(user_name="xrb",user_phone="15927432501",account=acc2)
    user3 = User.objects.create(user_name="xrb_2",user_phone="15927432501",account=acc1)

    device_user1_1 = Device.objects.create(user=user1,account=acc1,**Device.new_device(acc1.api_hostname))
    device_user1_2 = Device.objects.create(user=user1,account=acc1,**Device.new_device(acc1.api_hostname))
    device_user2 = Device.objects.create(user=user2,account=acc2,**Device.new_device(acc2.api_hostname))
Beispiel #5
0
 def save(self):
     account = Account(
         email=self.validated_data['email'],
         username=self.validated_data['username'],
     )
     password = self.validated_data['password']
     account.address = self.validated_data['address']
     account.name = self.validated_data['name']
     account.set_password(password)
     account.save()
     return account
Beispiel #6
0
 def get_account(self, validated_data):
     validated_data['address_id'] = Address.objects.create(
         pincode_id=validated_data['pincode']).id
     acc = Account.get_account(validated_data['phone_no'],
                               validated_data['first_name'],
                               validated_data['last_name'])
     for field_name in Constants.ACCOUNT_CREATION_FIELDS:
         setattr(acc, field_name, validated_data.get(field_name))
     acc.save()
     return acc
def index(request):
  account_list = Account.query().order(Account.nickname).fetch(5)
  # template = loader.get_template('users/index.html')
  # context = RequestContext(request, {
  #   'account_list': account_list,
  # })
  # return HttpResponse(template.render(context))
  
  context = {'account_list': account_list}
  return render(request, 'users/index.html', context)
Beispiel #8
0
def signup_view(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password1']
        password_verify = request.POST['password2']
        try:
            user = User.objects.get(username=username)
            return JsonResponse(
                {
                    "status": "failure",
                    "message": "username already taken"
                },
                status=409)
        except User.DoesNotExist:
            if password == password_verify:
                user = User.objects.create_user(username=username,
                                                password=password)
                account = Account(user=user, certificate="None")
                if 'email' in request.POST:
                    account.email = request.POST['email']
                account.save()
                login(request, user)
                return JsonResponse(
                    {
                        "status": "success",
                        "message": "account created"
                    },
                    status=201)
            else:
                return JsonResponse(
                    {
                        "status": "failure",
                        "message": "password does not match"
                    },
                    status=406)
    else:
        return render(request, 'users/signupd.html')
Beispiel #9
0
def getComments(request):
    nid=request.GET['id']
    news=News.objects(pk=nid).as_pymongo()
    comments=list(news)[0]["comments"]
    for comment in comments:
        del(comment["_types"])
        del(comment["_cls"])
        uid=comment["author"]
        user = Account.objects(pk=uid.id).first()
        if comment["voice"]!=None:
            comment["voice"]=endpoint + "news/getCommentVoice?vid="+str(comment["voice"])
        else:
            comment["voice"]=""
        comment["username"]=user.username
        comment["portrait"]=endpoint+"users/getPortrait?id="+str(user.pk)
        del(comment["author"])
    return HttpResponse(dumps(comments))
Beispiel #10
0
    def save(self):
        account = Account(
            email=self.validated_data['email'],
            username=self.validated_data['username'],
        )
        password = self.validated_data['password']
        password2 = self.validated_data['password2']

        if password != password2:
            raise serializers.ValidationError(
                {'password': '******'})
        account.set_password(password)
        account.save()
        return account
Beispiel #11
0
    def save(self, *args, **kwargs):
        user = Account(
            email=self.validated_data["email"],
            user_name=self.validated_data["user_name"],
        )

        password = self.validated_data["password"]
        password2 = self.validated_data["password2"]
        if password != password2:
            raise serializers.ValidationError({"password": "******"})

        user.set_password(password)
        user.save()
        return user
Beispiel #12
0
    def save(self, *args, **kwargs):
        email = self.validated_data["email"]
        account = Account(
            username=self.validated_data["username"],
            email=email,
        )
        password = self.validated_data["password"]
        confirm_password = self.validated_data["confirm_password"]

        if password != confirm_password:
            raise serializers.ValidationError({"password": "******"})
        account.set_password(password)
        account.save()
        return account
Beispiel #13
0
    def save(self, request):
        # create and save account
        new_account = Account(
            email=request.data['email'],
            first_name=request.data['first_name'],
            last_name=request.data['last_name'],
            type_user=request.data['type_user'],
        )
        new_account.set_password(request.data['password1'])
        new_account.save()

        # create a new profile
        new_profile = GraduateProfile(
            enrollment=request.data['enrollment'],
            career=request.data['career'],
            gender=request.data['gender'],
        )

        # make a default documents properties
        documents = dict()
        documents["acta"] = self.attrsDocs('Acta de Nacimimento')
        documents["curp"] = self.attrsDocs('C.U.R.P.')
        documents["titulo_bach"] = self.attrsDocs('Título de bachillerato')
        documents["ingles"] = self.attrsDocs('Constancia de inglés')
        documents["cni"] = self.attrsDocs('Constancia de no inconvenientes')

        # save documents and account on new profile
        new_profile.documents = documents
        new_profile.account = new_account
        new_profile.save()

        # adapter = get_adapter()
        # user = adapter.new_user(request)
        # self.cleaned_data = self.get_cleaned_data()
        # adapter.save_user(request, user, self)
        # setup_user_email(request, user, [])
        # #user.save()
        return new_account
Beispiel #14
0
def participate(request, id_account=None):

    if id_account is None:
        account = Account()
        PhotoInlineFormSet = inlineformset_factory(Account,
                                                   Photo,
                                                   form=PhotoCreationForm,
                                                   max_num=5,
                                                   validate_max=True,
                                                   min_num=1,
                                                   validate_min=True,
                                                   extra=5,
                                                   can_delete=False)
    else:
        account = Account.objects.get(pk=id_account)
        PhotoInlineFormSet = inlineformset_factory(Account,
                                                   Photo,
                                                   form=PhotoCreationForm,
                                                   max_num=5,
                                                   validate_max=True,
                                                   min_num=1,
                                                   validate_min=True,
                                                   extra=5,
                                                   can_delete=True)

    all_tags = Tag.objects.all()
    hot_tags = Tag.objects.order_by('-tag_count')[:5]
    recent_tags = Tag.objects.order_by('-update_time')[:5]
    if request.method == "POST":
        form = AccountCreationFrom(request.POST,
                                   request.FILES,
                                   instance=account,
                                   prefix="main")
        formset = PhotoInlineFormSet(request.POST,
                                     request.FILES,
                                     instance=account,
                                     prefix="nested")

        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']

            if formset.is_valid():
                messages.add_message(request, messages.SUCCESS,
                                     'Photos are uploading...')
                form.save()
                photoList = formset.save(commit=False)
                for photo in photoList:
                    photo.rank = len(
                        photo.content) + len(photo.tags.split(' ')) * 5
                    photo.save()
                    #uploadPhoto(photo)

                user = authenticate(email=email, password=password)
                user.updatePhotosRank()
                if user:
                    auth_login(request, user)
                else:
                    print 'login failed'

                return redirect(reverse('users:profile'))
            else:
                messages.add_message(request, messages.ERROR,
                                     'At least upload one photo!')

        return render(
            request, "index/participate.html", {
                "form": form,
                "formset": formset,
                "marker_list": Marker.objects.all(),
                "all_tags": [x.tag_name for x in all_tags],
                "hot_tags": [x.tag_name for x in hot_tags],
                "recent_tags": [x.tag_name for x in recent_tags],
            })
    else:

        form = AccountCreationFrom(instance=account, prefix="main")
        formset = PhotoInlineFormSet(instance=account, prefix="nested")
        return render(
            request, "index/participate.html", {
                "form": form,
                "formset": formset,
                "marker_list": Marker.objects.all(),
                "all_tags": [x.tag_name for x in all_tags],
                "hot_tags": [x.tag_name for x in hot_tags],
                "recent_tags": [x.tag_name for x in recent_tags],
            })
Beispiel #15
0
 def validate_phone_no(self, value):
     if not value.isdigit() or len(value) != 10:
         raise serializers.ValidationError(Constants.INVALID_PHONE_NO)
     Account.send_otp('OTP:%s' % value, value)
     return value
Beispiel #16
0
def getAccountRole(user):
    """
    :param user: The user model
    :return: The string representation of the name for the role
    """
    return Account.toAccount(user.account.role).lower()
Beispiel #17
0
 def send_propser_otp(self):
     from users.models import Account
     Account.send_otp('APP-%s:' % self.reference_no, self.proposer.phone_no)
Beispiel #18
0
 def validate_otp(self, value):
     if not Account.verify_otp(self.initial_data.get('phone_no'), value):
         raise serializers.ValidationError(Constants.OTP_VALIDATION_FAILED)
     return value