예제 #1
0
 def registerUser(self, request):
     p_key = ndb.Key(UserDetails, request.phoneNumber)
     succ = 1
     user = UserDetails(
         key=p_key,
         displayName=request.displayName,
         mainEmail=request.mainEmail,
         balance=0,
         phoneNumber=request.phoneNumber,
         pin=request.pin,
         uri=request.uri,
     )
     try:
         user.put()
     except datastore_errors.DuplicatePropertyError:
         succ = 0
     prof = ProfileForm()
     if succ == 1:
         prof.displayName = user.displayName
         prof.uri = user.uri
         prof.mainEmail = user.mainEmail
         prof.balance = user.balance
         prof.phoneNumber = user.phoneNumber
     prof.success = succ
     return prof
예제 #2
0
def get_mobile_brands_counts(request, age_range, family_monthly_income):
    print "in get mobile brands counts %s,%s" % (age_range,
                                                 family_monthly_income)
    mobile_brand_list = []
    samsung_count, nokia_count, micromax_count, lava_count = get_mobile_brands_count_model(
        age_range, family_monthly_income)
    mobile_brand_count_dict = {
        'samsung': samsung_count,
        'nokia': nokia_count,
        'micromax': micromax_count,
        'lava': lava_count
    }

    sorted_count_list = sorted(mobile_brand_count_dict.items(),
                               key=lambda x: x[1],
                               reverse=True)
    mobile_brand_count_dict = OrderedDict()
    for i in sorted_count_list:
        mobile_brand_count_dict[i[0]] = i[1]
    result = get_mobile_brands_model(age_range, family_monthly_income)
    for data in result:
        mobile_brand = UserDetails(data['_id'], data['mobile_brand'],
                                   data['name'])
        mobile_brand_list.append(mobile_brand)
    return Response(mobile_brand_count_dict)
예제 #3
0
def insertDetails(request):
    if request.method == "POST":
        uid = request.session['uID']
        name = request.POST['uname']
        add = request.POST['add']
        cty = request.POST['city']
        stat = request.POST['state']
        cntry = request.POST.get('country', False)
        pinno = request.POST['pin']
        contno = request.POST['contactno']
        res = Login.objects.get(id=uid)
        res.username = name
        res.save()
        request.session['uName'] = name
        try:
            ins = UserDetails.objects.get(uId_id=uid)
            ins.address = add
            ins.city = cty
            ins.state = stat
            ins.country = cntry
            ins.pin = pinno
            ins.contactno = contno
            ins.save()
            return render(
                request, 'loggedin.html', {
                    "username": name,
                    "add": add,
                    "city": cty,
                    "state": stat,
                    "country": cntry,
                    "pin": pinno,
                    "contno": contno,
                    "status": "Modify",
                    "msg": "Data Saved Successfully..."
                })
        except:
            ins = UserDetails(uId_id=uid,
                              address=add,
                              city=cty,
                              state=stat,
                              country=cntry,
                              pin=pinno,
                              contactno=contno)
            ins.save()
            return render(
                request, 'loggedin.html', {
                    "username": name,
                    "add": add,
                    "city": cty,
                    "state": stat,
                    "country": cntry,
                    "pin": pinno,
                    "contno": contno,
                    "status": "Modify",
                    "msg": "Data Saved Successfully..."
                })
    else:
        return viewDetails(request)
예제 #4
0
def get_mobile_brands(request, age_range, family_monthly_income):
    print "in get mobile brands %s,%s" % (age_range, family_monthly_income)
    mobile_brand_list = []
    result = get_mobile_brands_model(age_range, family_monthly_income)
    for data in result:
        mobile_brand = UserDetails(data['_id'], data['mobile_brand'],
                                   data['name'])
        print mobile_brand
        mobile_brand_list.append(mobile_brand)
    print mobile_brand_list

    serialized = UserSerializer(mobile_brand_list, many=True)
    print serialized.data
    return Response(serialized.data)
예제 #5
0
 def restore_object(self, attrs, instance=None):
     if instance:
         instance.id = attrs.get('id', instance.id)
         instance.state = attrs.get('state', instance.state)
         instance.city = attrs.get('city', instance.city)
         instance.geography = attrs.get('geography', instance.geography)
         instance.name = attrs.get('name', instance.name)
         instance.address = attrs.get('address', instance.address)
         instance.phone_no = attrs.get('phone_no', instance.phone_no)
         instance.family_members_count = attrs.get(
             'family_members_count', instance.family_members_count)
         instance.age_range = attrs.get('age_range', instance.age_range)
         instance.gender = attrs.get('gender', instance.gender)
         instance.family_income_range = attrs.get(
             'family_income_range', instance.family_income_range)
         instance.caste = attrs.get('caste', instance, caste)
         instance.occupation = attrs.get('occupation', instance.occupation)
         instance.monthly_recharge = attrs.get('monthly_recharge',
                                               instance.monthly_recharge)
         instance.data_usage = attrs.get('data_usage', instance.data_usage)
         instance.hospital = attrs.get('hospital', instance.hospital)
         instance.laptop = attrs.get('laptop', instance.laptop)
         instance.school = attrs.get('school', instance.school)
         instance.fb_account = attrs.get('fb_account', instance.fb_account)
         instance.whatsapp_account = attrs.get('whatsapp_account',
                                               instance.whatsapp_account)
         instance.email_id = attrs.get('email_id', instance.email_id)
         instance.mobile_brand = attrs.get('mobile_brand',
                                           instance.mobile_brand)
         instance.mobile_network = attrs.get('mobile_network',
                                             instance.mobile_network)
         return instance
     return UserDetails(attrs.get('id'), attrs.get('state'),
                        attrs.get('city'), attrs.get('geography'),
                        attrs.get('name'), attrs.get('address'),
                        attrs.get('phone_no'),
                        attrs.get('family_members_count'),
                        attrs.get('age_range'), attrs.get('gender'),
                        attrs.get('caste'),
                        attrs.get('family_income_range'),
                        attrs.get('occupation'), attrs.get('data_usage'),
                        attrs.get('hospital'), attrs.get('laptop'),
                        attrs.get('school'), attrs.get('fb_account'),
                        attrs.get('whatsapp_account'),
                        attrs.get('email_id'), attrs.get('mobile_brand'),
                        attrs.get('mobile_network'))
예제 #6
0
def index(request):
    if request.method == 'POST':
        # save new post
        username = request.POST['username']
        password = request.POST['password']
        address = request.POST['address']

        post = UserDetails(username=username)
        post.password = password
        post.last_update = datetime.datetime.now()
        post.address = address
        post.save()

    # Get all posts from DB
    posts = UserDetails.objects
    return render_to_response('index.html', {'UserDetails': posts},
                              context_instance=RequestContext(request))
예제 #7
0
def save_profile_to_db(uid, details):
    t0 = time.time()
    print('Saving profile for user: %s' % str(uid))

    try:
        user_details = DBSession.query(UserDetails).filter(
            UserDetails.uid == uid)
        if user_details is not None and user_details.count() == 1:
            print('Profile already exists in DB')
        else:
            name = details.get('UserName', None)
            gender = details.get('Gender', '')
            age = details.get('Age', '')
            religion = details.get('Religion', '')
            marital_status = details.get('Marital Status', '')
            occupation = details.get('Profession', '')
            education = details.get('Education', '')

            user_details = UserDetails(name=name,
                                       gender=gender,
                                       age=age,
                                       religion=religion,
                                       marital_status=marital_status,
                                       occupation=occupation,
                                       education=education,
                                       uid=uid)
            DBSession.add(user_details)
            DBSession.commit()
            # user_id = user_details.id
    except Exception as e:
        print('Exception saving user-profile details: %s. Error: %s' %
              (uid, str(e)))
        DBSession.rollback()

    print("SQLAlchemy ORM: Total time for saving user details for uid: " +
          str(uid) + " = " + str(time.time() - t0) + " secs")