Subversion Repositories SmartDukaan

Rev

Rev 18656 | Rev 18740 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 18656 Rev 18735
Line 6... Line 6...
6
from elixir import session
6
from elixir import session
7
from shop2020.model.v1.user.impl import Dataservice
7
from shop2020.model.v1.user.impl import Dataservice
8
from shop2020.model.v1.user.impl.CartDataAccessors import create_cart
8
from shop2020.model.v1.user.impl.CartDataAccessors import create_cart
9
from shop2020.model.v1.user.impl.Dataservice import User, UserCommunication, \
9
from shop2020.model.v1.user.impl.Dataservice import User, UserCommunication, \
10
    Address, Affiliate, Tracker, TrackLog, MasterAffiliate, UserWidgetItem, \
10
    Address, Affiliate, Tracker, TrackLog, MasterAffiliate, UserWidgetItem, \
11
    FacebookUser, UserSource, PrivateDealUser, Counter, AccessTokenizer
11
    FacebookUser, UserSource, PrivateDealUser, Counter, AccessTokenizer, PrivateDealUserAddressMapping
12
from shop2020.thriftpy.model.v1.user.ttypes import UserContextException, \
12
from shop2020.thriftpy.model.v1.user.ttypes import UserContextException, \
13
    AuthenticationException, Sex, WidgetType as WType
13
    AuthenticationException, Sex, WidgetType as WType
14
from shop2020.utils.Utils import log_entry, to_py_date
14
from shop2020.utils.Utils import log_entry, to_py_date
15
from sqlalchemy import desc, select
15
from sqlalchemy import desc, select
16
from sqlalchemy.sql import and_
16
from sqlalchemy.sql import and_
Line 396... Line 396...
396
    return query.all()
396
    return query.all()
397
 
397
 
398
 
398
 
399
def get_address(address_id):
399
def get_address(address_id):
400
    address = Address.get_by(id=address_id)
400
    address = Address.get_by(id=address_id)
-
 
401
    addressMapping = PrivateDealUserAddressMapping.query.filter_by(user_id = address.user_id,address_id=address_id).first()
-
 
402
    if addressMapping is None:
401
    return address
403
        return address, {}, {}
-
 
404
    else:
-
 
405
        return address, {address_id:addressMapping.taxInvoiceAvailable}, {address_id:addressMapping.creditOptionAvailable}
402
 
406
 
403
def forgot_password(email, password):
407
def forgot_password(email, password):
404
    try:
408
    try:
405
        user = User.get_by(email=email)
409
        user = User.get_by(email=email)
406
        if user:
410
        if user:
Line 411... Line 415...
411
            return False
415
            return False
412
    except:
416
    except:
413
        return False
417
        return False
414
 
418
 
415
def get_all_addresses_for_user(userId):
419
def get_all_addresses_for_user(userId):
-
 
420
    addresses = Address.query.filter_by(user_id = userId, enabled=True).all()
-
 
421
    privateDealUser = get_private_deal_user(userId)
-
 
422
    taxInvoiceMap = {}
-
 
423
    creditOptionMap = {}
-
 
424
    if privateDealUser is None:
-
 
425
        return addresses, taxInvoiceMap, creditOptionMap
-
 
426
    else:
-
 
427
        addressMappings = PrivateDealUserAddressMapping.query.filter_by(user_id = userId).all()
-
 
428
        for mapping in addressMappings:
-
 
429
            taxInvoiceMap[mapping.address_id] = mapping.taxInvoiceAvailable
-
 
430
            creditOptionMap[mapping.address_id] = mapping.creditOptionAvailable
-
 
431
        for address in addresses:
-
 
432
            if not taxInvoiceMap.has_key(address.id):
-
 
433
                taxInvoiceMap[address.id] = False
-
 
434
            if not creditOptionMap.has_key(address.id):
-
 
435
                creditOptionMap[address.id] = False 
-
 
436
        return addresses, taxInvoiceMap, creditOptionMap
-
 
437
    '''
416
    privateDealUser = get_private_deal_user(userId)
438
    privateDealUser = get_private_deal_user(userId)
417
    if privateDealUser is None:
439
    if privateDealUser is None:
418
        return Address.query.filter_by(user_id = userId, enabled=True).all()
440
        return Address.query.filter_by(user_id = userId, enabled=True).all()
419
    else:
441
    else:
420
        if privateDealUser.counter:
442
        if privateDealUser.counter:
421
            if privateDealUser.counter.documentVerified:
443
            if privateDealUser.counter.documentVerified:
422
                return Address.query.filter_by(user_id = userId, enabled=True).all()
444
                return Address.query.filter_by(user_id = userId, enabled=True).all()
423
            else:
445
            else:
424
                return Address.query.filter_by(id=privateDealUser.counter.addressId).all()
446
                return Address.query.filter_by(id=privateDealUser.counter.addressId).all()
425
    return Address.query.filter_by(user_id = userId, enabled=True).all()
447
    return Address.query.filter_by(user_id = userId, enabled=True).all()
-
 
448
    '''
426
    
449
    
427
def get_default_address_id(userId):
450
def get_default_address_id(userId):
428
    user = get_user_by_id(userId)
451
    user = get_user_by_id(userId)
-
 
452
    if user is None:
-
 
453
        return 0
-
 
454
    if user.default_address_id is None:
-
 
455
        return 0
-
 
456
    return user.default_address_id
-
 
457
    '''
429
    privateDealUser = get_private_deal_user(userId)
458
    privateDealUser = get_private_deal_user(userId)
430
    if privateDealUser is None:
459
    if privateDealUser is None:
431
        if user.default_address_id is None:
460
        if user.default_address_id is None:
432
            return 0
461
            return 0
433
    else:
462
    else:
Line 435... Line 464...
435
            return privateDealUser.counter.addressId
464
            return privateDealUser.counter.addressId
436
        else:
465
        else:
437
            if user.default_address_id is None:
466
            if user.default_address_id is None:
438
                return 0
467
                return 0
439
    return user.default_address_id
468
    return user.default_address_id
-
 
469
    '''
440
 
470
 
441
def get_default_pincode(user_id):
471
def get_default_pincode(user_id):
442
    default_address_id = get_default_address_id(user_id)
472
    default_address_id = get_default_address_id(user_id)
443
    if default_address_id:
473
    if default_address_id:
444
        address = Address.get_by(id=default_address_id)
474
        address = Address.get_by(id=default_address_id)
Line 580... Line 610...
580
            pd.id = userId
610
            pd.id = userId
581
            pd.created_on = datetime.datetime.now()
611
            pd.created_on = datetime.datetime.now()
582
            pd.isActive = True
612
            pd.isActive = True
583
            pd.bulkShipmentAmountLimit=50000
613
            pd.bulkShipmentAmountLimit=50000
584
            pd.creditorAssigned = False
614
            pd.creditorAssigned = False
-
 
615
            pd.tinVerified = False
585
            session.commit()
616
            session.commit()
586
            return True
617
            return True
587
        except Exception as e:
618
        except Exception as e:
588
            print "Unable to add user to private deals",e
619
            print "Unable to add user to private deals",e
589
            return False
620
            return False
Line 717... Line 748...
717
            return True
748
            return True
718
        else:
749
        else:
719
            return False
750
            return False
720
    except:
751
    except:
721
        return False
752
        return False
-
 
753
    
-
 
754
def is_tax_invoice_enabled_user(userId):
-
 
755
    try:
-
 
756
        privateDealUser = get_private_deal_user(userId)
-
 
757
        if privateDealUser.tin and privateDealUser.tinVerified:
-
 
758
            return True
-
 
759
        else:
-
 
760
            return False
-
 
761
    except:
-
 
762
        return False
722
    
763
    
723
def close_session():
764
def close_session():
724
    if session.is_active:
765
    if session.is_active:
725
        print "session is active. closing it."
766
        print "session is active. closing it."
726
        session.close()
767
        session.close()