Esempio n. 1
0
def get_user_profile(user):
    """ Returns user profile. Creates one if needed """
    if not (user and user.is_authenticated()):
        return None
    pr = cache.get("users_profile:auth_user=%s" % user.id, None)
    if pr:
        return pr
    pr = get_profile_by_email_or_phone(user.username)
    if not pr:
        pr = Profile.objects.filter(user=user).order_by("id")[:2]
        if len(pr) > 1:
            fb_log.info("Multiple profiles for user: %s" % user.username)
        if pr:
            pr = pr[0]
        if not pr:
            pr = Profile(user=user)
            pr.created_on = datetime.now()
            pr.save()
            if is_valid_email(user.username):
                try:
                    email = Email(email=user.username, user=pr, type="primary")
                    email.save()
                except:
                    pass
            if is_valid_mobile(user.username):
                try:
                    phone = Phone(phone - user.username, user=pr, type="primary")
                    phone.save()
                except:
                    pass
    cache.set("users_profile:auth_user=%s" % user.id, pr)
    return pr
Esempio n. 2
0
def get_user_profile(user):
    ''' Returns user profile. Creates one if needed '''
    if not (user and user.is_authenticated()):
        return None
    pr = cache.get('users_profile:auth_user=%s' % user.id, None)
    if pr:
        return pr
    pr = get_profile_by_email_or_phone(user.username)
    if not pr:
        pr = Profile.objects.filter(user=user).order_by('id')[:2]
        if len(pr) > 1:
            fb_log.info('Multiple profiles for user: %s' % user.username)
        if pr:
            pr = pr[0]
        if not pr:
            pr = Profile(user=user)
            pr.created_on = datetime.now()
            pr.save()
            if is_valid_email(user.username):
                try:
                    email = Email(email=user.username, user=pr, type='primary')
                    email.save()
                except:
                    pass
            if is_valid_mobile(user.username):
                try:
                    phone = Phone(phone - user.username,
                                  user=pr,
                                  type='primary')
                    phone.save()
                except:
                    pass
    cache.set('users_profile:auth_user=%s' % user.id, pr)
    return pr
Esempio n. 3
0
def add_user(doc):
    if doc['mobile'] in sellers: return

    u = User()
    try:
        u = User.objects.get(username=doc['mobile'])
    except User.DoesNotExist:
        pass
    u.username = doc['mobile']
    if 'timestamp' in doc:
        u.timestamp = doc['timestamp'].strftime('%Y-%m-%d %H:%M:%S')
    else:
        if 'modificationTime' in doc:
            u.timestamp = doc['modificationTime'].strftime('%Y-%m-%d %H:%M:%S')
    u.save()

    p = Profile()
    try:
        p = Profile.objects.get(primary_phone=doc['mobile'])
        if p.id != doc['id']:
            record_duplicate(p.id, doc['id'])
            return
    except Profile.DoesNotExist:
        pass

    p.id = doc['id']
    p.user = u
    p.full_name = doc.get('name','')
    p.gender = doc.get('gender','').lower()
    if len(p.gender) > 1:
        p.gender = p.gender[0]
    if doc.get('dateOfBirth',None):
        p.date_of_birth = doc['dateOfBirth'].strftime('%Y-%m-%d')

    p.primary_phone = doc['mobile']
    p.secondary_phone = doc.get('mobile2','')

    p.primary_email = doc.get('email','').split(',')[0]
    p.secondary_email = doc.get('email2','').split(',')[0]

    p.buyer_or_seller = 'buyer'
    p.type = doc.get('type','individual')

    p.marketing_alerts = doc.get('dealAlerts','neutral')

    p.salt = doc.get('salt','')
    p.passcode = doc.get('passcode','')


    p.created_on = u.timestamp
    p.save()
Esempio n. 4
0
def add_user(doc):
    if doc['mobile'] in sellers: return

    u = User()
    try:
        u = User.objects.get(username=doc['mobile'])
    except User.DoesNotExist:
        pass
    u.username = doc['mobile']
    if 'timestamp' in doc:
        u.timestamp = doc['timestamp'].strftime('%Y-%m-%d %H:%M:%S')
    else:
        if 'modificationTime' in doc:
            u.timestamp = doc['modificationTime'].strftime('%Y-%m-%d %H:%M:%S')
    u.save()

    p = Profile()
    try:
        p = Profile.objects.get(primary_phone=doc['mobile'])
        if p.id != doc['id']:
            record_duplicate(p.id, doc['id'])
            return
    except Profile.DoesNotExist:
        pass

    p.id = doc['id']
    p.user = u
    p.full_name = doc.get('name', '')
    p.gender = doc.get('gender', '').lower()
    if len(p.gender) > 1:
        p.gender = p.gender[0]
    if doc.get('dateOfBirth', None):
        p.date_of_birth = doc['dateOfBirth'].strftime('%Y-%m-%d')

    p.primary_phone = doc['mobile']
    p.secondary_phone = doc.get('mobile2', '')

    p.primary_email = doc.get('email', '').split(',')[0]
    p.secondary_email = doc.get('email2', '').split(',')[0]

    p.buyer_or_seller = 'buyer'
    p.type = doc.get('type', 'individual')

    p.marketing_alerts = doc.get('dealAlerts', 'neutral')

    p.salt = doc.get('salt', '')
    p.passcode = doc.get('passcode', '')

    p.created_on = u.timestamp
    p.save()
Esempio n. 5
0
 def get_agent(self, agent_name):
     try:
         usr = User.objects.get(username=agent_name)
         p = usr.get_profile()
         return p
     except User.DoesNotExist:
         try:
             usr = User.objects.create_user(agent_name, '*****@*****.**' % agent_name)
             usr.save()
             p = Profile(user=usr, primary_phone=agent_name)
             p.created_on = datetime.datetime.now()
             p.save()
             return p
         except Exception, e:
             log.error('Error creating agent %s' % repr(e))
             return None
Esempio n. 6
0
 def get_agent(self, agent_name):
     try:
         usr = User.objects.get(username=agent_name)
         p = usr.get_profile()
         return p
     except User.DoesNotExist:
         try:
             usr = User.objects.create_user(agent_name,
                                            '*****@*****.**' % agent_name)
             usr.save()
             p = Profile(user=usr, primary_phone=agent_name)
             p.created_on = datetime.datetime.now()
             p.save()
             return p
         except Exception, e:
             log.error('Error creating agent %s' % repr(e))
             return None
Esempio n. 7
0
            p = usr.get_profile()
            return p
        except User.DoesNotExist:
            try:
                usr = User.objects.create_user(agent_name, '*****@*****.**' % agent_name)
                usr.save()
                p = Profile(user=usr, primary_phone=agent_name)
                p.created_on = datetime.datetime.now()
                p.save()
                return p
            except Exception, e:
                log.error('Error creating agent %s' % repr(e))
                return None
        except Profile.DoesNotExist:
            p = Profile(user=usr, primary_phone=agent_name, )
            p.created_on = datetime.datetime.now()
            p.save()
            return p


    def create_order(self, profile, old_order):
        order = Order()
        try:
            order.id = old_order.id
            order.state = old_order.state
            order.user = profile
            order.reference_order_id = old_order.friendlyorderid

            if old_order.paymentmode:
                order.payment_mode = self.get_related_payment_mode(old_order.paymentmode)
            if old_order.paymentrealizedmode:
Esempio n. 8
0
                usr = User.objects.create_user(agent_name,
                                               '*****@*****.**' % agent_name)
                usr.save()
                p = Profile(user=usr, primary_phone=agent_name)
                p.created_on = datetime.datetime.now()
                p.save()
                return p
            except Exception, e:
                log.error('Error creating agent %s' % repr(e))
                return None
        except Profile.DoesNotExist:
            p = Profile(
                user=usr,
                primary_phone=agent_name,
            )
            p.created_on = datetime.datetime.now()
            p.save()
            return p

    def create_order(self, profile, old_order):
        order = Order()
        try:
            order.id = old_order.id
            order.state = old_order.state
            order.user = profile
            order.reference_order_id = old_order.friendlyorderid

            if old_order.paymentmode:
                order.payment_mode = self.get_related_payment_mode(
                    old_order.paymentmode)
            if old_order.paymentrealizedmode: