Subversion Repositories SmartDukaan

Rev

Rev 5407 | Rev 5623 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
130 ashish 1
'''
2
Created on 28-Apr-2010
3
 
4
@author: ashish
5
'''
2981 rajveer 6
from shop2020.utils.Utils import log_entry
1491 vikas 7
from shop2020.model.v1.user.impl.UserDataAccessors import create_user, update_user, get_user_by_id, get_user_by_email, update_password,\
557 chandransh 8
    set_user_as_logged_out, set_user_as_logged_in, remove_address_for_user,\
5326 rajveer 9
    add_address_for_user, authenticate_user, user_exists, initialize, set_default_address,\
1894 vikas 10
    create_anonymous_user, forgot_password, get_all_addresses_for_user, get_address, get_default_address_id, get_default_pincode,\
1845 vikas 11
    create_user_communication, get_user_communication_by_id, get_user_communication_by_user, get_all_user_communications,\
1996 vikas 12
    create_affiliate, get_affiliate_by_id, get_affiliate_by_name, get_tracker_by_id, add_track_log, get_track_log_by_id, get_track_logs_by_affiliate,\
13
    get_track_logs_by_user, get_track_logs, create_master_affiliate,\
2641 varun.gupt 14
    get_master_affiliate_by_id, get_master_affiliate_by_name, get_affiliates_by_master_affiliate, get_all_master_affiliates,\
2981 rajveer 15
    get_user_notes, put_user_note, get_my_research_items,\
16
    get_browse_history_items, update_my_research, delete_item_from_my_research,\
5326 rajveer 17
    update_browse_history, get_user_by_mobile_number, is_alive, increase_trust_level,\
5407 amar.kumar 18
    get_user_by_cart_id, get_trust_level, remove_user_communication
3032 mandeep.dh 19
 
557 chandransh 20
from shop2020.model.v1.user.impl.CartDataAccessors import create_cart, get_cart,\
5326 rajveer 21
    get_cart_by_id, get_carts_between, add_item_to_cart,\
22
    add_address_to_cart, commit_cart,\
1976 varun.gupt 23
    validate_cart, merge_cart, delete_item_from_cart, check_out, reset_cart,\
3554 varun.gupt 24
    apply_coupon_to_cart, remove_coupon, get_carts_with_coupon_count,\
5555 rajveer 25
    delete_discounts_from_cart, save_discounts, show_cod_option,\
26
    add_store_to_cart
5326 rajveer 27
from shop2020.model.v1.user.impl.Converters import to_t_user, to_t_cart, to_t_address, to_t_user_communication,\
2641 varun.gupt 28
     to_t_master_affiliate, to_t_affiliate, to_t_tracker, to_t_track_log,\
29
    to_t_user_note
576 chandransh 30
 
557 chandransh 31
from shop2020.thriftpy.model.v1.user.ttypes import ShoppingCartException
130 ashish 32
 
2981 rajveer 33
from shop2020.model.v1.user.impl import UserDataAccessors, CartDataAccessors
557 chandransh 34
 
130 ashish 35
class UserContextServiceHandler:
36
 
404 rajveer 37
 
3187 rajveer 38
    def __init__(self, dbname='user', db_hostname='localhost'):
39
        initialize(dbname, db_hostname)
557 chandransh 40
 
130 ashish 41
    """
557 chandransh 42
    service
130 ashish 43
    """
557 chandransh 44
    def createAnonymousUser(self, jsessionId):
766 rajveer 45
        try:
5326 rajveer 46
            return to_t_user(create_anonymous_user(jsessionId))
766 rajveer 47
        finally:
4323 mandeep.dh 48
            self.closeSession()
4211 mandeep.dh 49
 
557 chandransh 50
    def getUserById(self, userId):
130 ashish 51
        """
52
        Parameters:
557 chandransh 53
        - userId
130 ashish 54
        """
766 rajveer 55
        try:
56
            return to_t_user(get_user_by_id(userId))
57
        finally:
4323 mandeep.dh 58
            self.closeSession()
1491 vikas 59
 
5326 rajveer 60
    def getUserByCartId(self, cartId):
61
        """
62
        Parameters:
63
        - cartId
64
        """
65
        try:
66
            return to_t_user(get_user_by_cart_id(cartId))
67
        finally:
68
            self.closeSession()
69
 
3032 mandeep.dh 70
    def getUserByMobileNumber(self, mobileNumber):
71
        """
72
        Parameters:
73
        - mobileNumber
74
        """
75
        try:
76
            return to_t_user(get_user_by_mobile_number(mobileNumber))
77
        finally:
4323 mandeep.dh 78
            self.closeSession()
3032 mandeep.dh 79
 
1491 vikas 80
    def getUserByEmail(self, email):
81
        """
82
        Parameters:
83
         - email
84
        """
85
        try:
86
            return to_t_user(get_user_by_email(email))
87
        finally:
4323 mandeep.dh 88
            self.closeSession()
1491 vikas 89
 
557 chandransh 90
    def createUser(self, user):
130 ashish 91
        """
92
        Parameters:
557 chandransh 93
        - user
130 ashish 94
        """
766 rajveer 95
        try:
5326 rajveer 96
            return to_t_user(create_user(user))
766 rajveer 97
        finally:
4323 mandeep.dh 98
            self.closeSession()
99
 
557 chandransh 100
    def updateUser(self, user):
130 ashish 101
        """
102
        Parameters:
557 chandransh 103
        - user
130 ashish 104
        """
766 rajveer 105
        try:
106
            return to_t_user(update_user(user))
107
        finally:
4323 mandeep.dh 108
            self.closeSession()
766 rajveer 109
 
557 chandransh 110
    def authenticateUser(self, email, password):
130 ashish 111
        """
112
        Parameters:
557 chandransh 113
        - email
114
        - password
115
        """
116
        log_entry(self, "authenticate user")
766 rajveer 117
        try:
118
            return to_t_user(authenticate_user(email, password))
119
        finally:
4323 mandeep.dh 120
            self.closeSession()
766 rajveer 121
 
557 chandransh 122
    def userExists(self, email):
123
        """
124
        Parameters:
125
        - email
126
        """
127
        log_entry(self, "user exists")
766 rajveer 128
        try:
129
            return user_exists(email)
130
        finally:
4323 mandeep.dh 131
            self.closeSession()
766 rajveer 132
 
567 rajveer 133
    def addAddressForUser(self, userId, address, setDefault):
557 chandransh 134
        """
135
        Parameters:
136
        - userId
137
        - address
138
        - setDefault
139
        """
140
        log_entry(self, "add address for user")
766 rajveer 141
        try:
142
            return add_address_for_user(address, userId, setDefault)
143
        finally:
4323 mandeep.dh 144
            self.closeSession()
766 rajveer 145
 
557 chandransh 146
    def removeAddressForUser(self, userid, addressId):
147
        """
148
        Parameters:
149
        - userid
150
        - addressId
151
        """
152
        log_entry(self, "removing address")
766 rajveer 153
        try:
154
            return remove_address_for_user(userid, addressId)
155
        finally:
4323 mandeep.dh 156
            self.closeSession()
766 rajveer 157
 
557 chandransh 158
    def setUserAsLoggedIn(self, userId, timestamp):
159
        """
160
        Parameters:
161
        - userId
162
        - timestamp
163
        """
164
        log_entry(self, "set_user_as_logged_in")
766 rajveer 165
        try:
166
            return set_user_as_logged_in(userId, timestamp)
167
        finally:
4323 mandeep.dh 168
            self.closeSession()
766 rajveer 169
 
557 chandransh 170
    def setUserAsLoggedOut(self, userId, timestamp):
171
        """
172
        Parameters:
173
        - userId
174
        - timestamp
175
        """
176
        log_entry(self, "set user as logged out")
766 rajveer 177
        try:
178
            return set_user_as_logged_out(userId, timestamp)
179
        finally:
4323 mandeep.dh 180
            self.closeSession()
766 rajveer 181
 
557 chandransh 182
    def setDefaultAddress(self, userId, addressId):
183
        """
184
        Parameters:
185
        - userId
186
        - addressId
187
        """
766 rajveer 188
        try:
189
            return set_default_address(userId, addressId)
190
        finally:
4323 mandeep.dh 191
            self.closeSession()
766 rajveer 192
 
594 rajveer 193
    def updatePassword(self, userid, oldPassword, newPassword):
557 chandransh 194
        """
195
        Parameters:
594 rajveer 196
         - userid
197
         - oldPassword
198
         - newPassword
557 chandransh 199
        """
200
        log_entry(self, "updating password")
766 rajveer 201
        try:
202
            return update_password(userid, oldPassword, newPassword)
203
        finally:
4323 mandeep.dh 204
            self.closeSession()
766 rajveer 205
 
884 rajveer 206
    def forgotPassword(self, email, password):
581 rajveer 207
        """
208
        Parameters:
209
         - email
210
        """
211
        log_entry(self, "forgot password")
766 rajveer 212
        try:
884 rajveer 213
            return forgot_password(email, password)
766 rajveer 214
        finally:
4323 mandeep.dh 215
            self.closeSession()
216
 
594 rajveer 217
    def getAllAddressesForUser(self, userId):
218
        """
219
        Parameters:
220
         - userId
221
        """
766 rajveer 222
        try:
223
            addresses = get_all_addresses_for_user(userId)
224
 
225
            t_addresses = list()
226
            for address in addresses:
227
                t_addresses.append(to_t_address(address))
228
            return t_addresses
229
        finally:
4323 mandeep.dh 230
            self.closeSession()
594 rajveer 231
 
1894 vikas 232
    def getAddressById(self, addressId):
233
        """
234
        Parameters:
235
         - addressId
236
        """
237
        try:
238
            return to_t_address(get_address(addressId))
239
        finally:
4323 mandeep.dh 240
            self.closeSession()
1894 vikas 241
 
594 rajveer 242
    def getDefaultAddressId(self, userId):
243
        """
244
        Parameters:
245
         - userId
246
        """
766 rajveer 247
        try:
785 rajveer 248
            return get_default_address_id(userId)
766 rajveer 249
        finally:
4323 mandeep.dh 250
            self.closeSession()
785 rajveer 251
 
252
    def getDefaultPincode(self, userId):
253
        """
254
        Parameters:
255
         - userId
256
        """
257
        try:
258
            return get_default_pincode(userId)
259
        finally:
4323 mandeep.dh 260
            self.closeSession()
785 rajveer 261
 
557 chandransh 262
    def getCurrentCart(self, userId):
263
        """
264
        Parameters:
130 ashish 265
         - userId
266
        """
766 rajveer 267
        try:
268
            cart = get_cart(userId)
269
            if cart:
270
                return to_t_cart(cart)
271
            else:
272
                raise ShoppingCartException(101, "not cart attached to this user")
273
        finally:
4323 mandeep.dh 274
            self.closeSession()
766 rajveer 275
 
557 chandransh 276
    def getCart(self, cartId):
277
        """
278
        Parameters:
279
         - cartId
280
        """
766 rajveer 281
        try:
282
            cart = get_cart_by_id(cartId)
283
            if cart:
284
                return to_t_cart(cart)
285
            else:
286
                raise ShoppingCartException(101, "not cart attached to this id")
287
        finally:
4323 mandeep.dh 288
            self.closeSession()
766 rajveer 289
 
557 chandransh 290
    def getCartsByTime(self, from_time, to_time, status):
130 ashish 291
        """
292
        Parameters:
557 chandransh 293
         - from_time
294
         - to_time
295
         - status
130 ashish 296
        """
766 rajveer 297
        try:
298
            carts = get_carts_between(from_time, to_time, status)
299
            t_carts = []
300
            if carts:
301
                for cart in carts:
302
                    t_carts.append(to_t_cart(cart))
303
            return t_carts
304
        finally:
4323 mandeep.dh 305
            self.closeSession()
766 rajveer 306
 
3557 rajveer 307
    def addItemToCart(self, cartId, itemId, quantity, sourceId):
130 ashish 308
        """
309
        Parameters:
557 chandransh 310
         - cartId
311
         - itemId
312
         - quantity
130 ashish 313
        """
766 rajveer 314
        try:
3557 rajveer 315
            return add_item_to_cart(cartId, itemId, quantity, sourceId)
766 rajveer 316
        finally:
4323 mandeep.dh 317
            self.closeSession()
766 rajveer 318
 
557 chandransh 319
    def deleteItemFromCart(self, cartId, itemId):
130 ashish 320
        """
321
        Parameters:
557 chandransh 322
         - cartId
323
         - itemId
130 ashish 324
        """
766 rajveer 325
        try:
326
            delete_item_from_cart(cartId, itemId)
327
        finally:
4323 mandeep.dh 328
            self.closeSession()
766 rajveer 329
 
557 chandransh 330
    def addAddressToCart(self, cartId, addressId):
331
        """
332
        Parameters:
333
         - cartId
130 ashish 334
         - addressId
335
        """
766 rajveer 336
        try:
337
            return add_address_to_cart(cartId, addressId)
338
        finally:
4323 mandeep.dh 339
            self.closeSession()
1976 varun.gupt 340
 
341
    def applyCouponToCart(self, cartId, couponCode, totalPrice, discountedPrice):
342
        '''
343
        Parameters:
344
        - cartId
345
        - couponCode
346
        - totalPrice
347
        - discountedPrice
348
        '''
349
        try:
350
            apply_coupon_to_cart(cartId, couponCode, totalPrice, discountedPrice)
351
        finally:
4323 mandeep.dh 352
            self.closeSession()
1976 varun.gupt 353
 
354
    def removeCoupon(self, cartId):
355
        '''
356
        Parameters:
357
        - cartId
358
        '''
359
        try:
360
            remove_coupon(cartId)
361
        finally:
4323 mandeep.dh 362
            self.closeSession()
1976 varun.gupt 363
 
5326 rajveer 364
    def createOrders(self, cartId, sessionSource, sessionTime, firstSource, firstSourceTime, userId):
130 ashish 365
        """
366
        Parameters:
557 chandransh 367
         - cartId
2815 vikas 368
         - sessionSource
130 ashish 369
        """
766 rajveer 370
        try:
5326 rajveer 371
            return commit_cart(cartId, sessionSource, sessionTime, firstSource, firstSourceTime, userId)
766 rajveer 372
        finally:
4323 mandeep.dh 373
            self.closeSession()
1466 ankur.sing 374
 
3557 rajveer 375
    def validateCart(self, cartId, sourceId):
130 ashish 376
        """
1466 ankur.sing 377
        Validates that:
378
        1. The checkout timestamp is greater than the updatedOn timestamp.
379
        2. All of the lines in the cart are active items.
380
        3. The estimate for any of the lines in cart doesn't change.
1976 varun.gupt 381
        4. If a Coupon Code is attached, it gets applied and discounted price is computed
382
        If first three are true, returns empty string; else returns appropriate message.
1466 ankur.sing 383
 
130 ashish 384
        Parameters:
557 chandransh 385
         - cartId
130 ashish 386
        """
766 rajveer 387
        try:
3557 rajveer 388
            return validate_cart(cartId, sourceId)
766 rajveer 389
        finally:
4323 mandeep.dh 390
            self.closeSession()
766 rajveer 391
 
557 chandransh 392
    def mergeCart(self, fromCartId, toCartId):
513 rajveer 393
        """
394
        Parameters:
557 chandransh 395
         - fromCartId
396
         - toCartId
513 rajveer 397
        """
766 rajveer 398
        try:
399
            merge_cart(fromCartId, toCartId)
400
        finally:
4323 mandeep.dh 401
            self.closeSession()
766 rajveer 402
 
691 chandransh 403
    def checkOut(self, cartId):
404
        """
405
        Sets the checkedOutOn timestamp of the cart. Raises an exception if the specified cart can't be found.
406
 
407
        Parameters:
408
         - cartId
409
        """
766 rajveer 410
        try:
411
            return check_out(cartId)
412
        finally:
4323 mandeep.dh 413
            self.closeSession()
766 rajveer 414
 
691 chandransh 415
    def resetCart(self, cartId, items):
416
        """
417
        The second parameter is a map of item ids and their quantities which have been successfully processed.
418
        This methods removes the specified quantiry of the specified item from the cart.
419
 
420
        Parameters:
421
         - cartId
422
         - items
423
        """
766 rajveer 424
        try:
425
            return reset_cart(cartId, items)
426
        finally:
4323 mandeep.dh 427
            self.closeSession()
772 rajveer 428
 
429
    #Widget related methods
430
    def updateMyResearch(self, userId, itemId):
431
        """
432
        Parameters:
433
         - user_id
434
         - item_id
435
        """
436
        try:
437
            return update_my_research(userId, itemId)
438
        finally:
4323 mandeep.dh 439
            self.closeSession()
772 rajveer 440
 
441
    def deleteItemFromMyResearch(self, userId, itemId):
442
        """
443
        Parameters:
444
         - user_id
445
         - item_id
446
        """
447
        try:
448
            return delete_item_from_my_research(userId, itemId)
449
        finally:
4323 mandeep.dh 450
            self.closeSession()
766 rajveer 451
 
772 rajveer 452
    def updateBrowseHistory(self, userId, itemId):
453
        """
454
        Parameters: 
455
        - user_id
456
        - item_id
457
        """
458
        try:
459
            update_browse_history(userId, itemId)
460
        finally:
4323 mandeep.dh 461
            self.closeSession()
772 rajveer 462
 
463
    def mergeBrowseHistory(self, fromUserId, toUserId):
464
        """
465
        Parameters:
466
         - user_id
467
        """
2981 rajveer 468
        pass
772 rajveer 469
 
1273 varun.gupt 470
    def saveUserCommunication(self, userId, email, communicationType, orderId, awb, product, subject, message):
471
        """
472
        Parameters:
473
         - userId
474
         - email
475
         - communicationType
476
         - orderId
477
         - awb
478
         - product
479
         - subject
480
         - message
481
        """
482
        try:
483
            return create_user_communication(userId, email, communicationType, orderId, awb, product, subject, message)
484
        finally:
4323 mandeep.dh 485
            self.closeSession()
1273 varun.gupt 486
 
1583 varun.gupt 487
    def getUserCommunicationById(self, id):
488
        """
489
        Parameters:
490
         - id
491
        """
492
        try:
493
            return to_t_user_communication(get_user_communication_by_id(id))
494
        finally:
4323 mandeep.dh 495
            self.closeSession()
1583 varun.gupt 496
 
497
    def getUserCommunicationByUser(self, userId):
498
        """
499
        Parameters:
500
         - userId
501
        """
502
        try:
503
            return [to_t_user_communication(user_communication) for user_communication in get_user_communication_by_user(userId)]
504
        finally:
4323 mandeep.dh 505
            self.closeSession()
1583 varun.gupt 506
 
507
    def getAllUserCommunications(self):
508
        try:
509
            return [to_t_user_communication(user_communication) for user_communication in get_all_user_communications()]
510
        finally:
4323 mandeep.dh 511
            self.closeSession()
5407 amar.kumar 512
 
513
    def removeUserCommunication(self, id):
514
        try:
515
            remove_user_communication(id)
516
        finally:
517
            self.closeSession()
1596 ankur.sing 518
 
1859 vikas 519
    def createMasterAffiliate(self, name, addedOn):
1845 vikas 520
        """
521
        Parameters
522
         - name
1859 vikas 523
         - addedOn
1845 vikas 524
        """
525
        try:
1859 vikas 526
            return to_t_master_affiliate(create_master_affiliate(name, addedOn))
1845 vikas 527
        finally:
4323 mandeep.dh 528
            self.closeSession()
1845 vikas 529
 
1899 vikas 530
    def getAllMasterAffiliates(self):
531
        try:
532
            return [to_t_master_affiliate(masterAffiliate) for masterAffiliate in get_all_master_affiliates()]
533
        finally:
4323 mandeep.dh 534
            self.closeSession()
1899 vikas 535
 
1845 vikas 536
    def getMasterAffiliateById(self, id):
537
        """
538
        Parameters
539
         - id
540
        """
541
        try:
542
            return to_t_master_affiliate(get_master_affiliate_by_id(id))
543
        finally:
4323 mandeep.dh 544
            self.closeSession()
1845 vikas 545
 
546
    def getMasterAffiliateByName(self, name):
547
        """
548
        Parameters
549
         - id
550
        """
551
        try:
552
            return to_t_master_affiliate(get_master_affiliate_by_name(name))
553
        finally:
4323 mandeep.dh 554
            self.closeSession()
1845 vikas 555
 
1859 vikas 556
    def createAffiliate(self, name, url, masterAffiliateId, addedOn):
1845 vikas 557
        """
558
        Parameters
559
         - name
560
         - url
1859 vikas 561
         - masterAffiliateId
562
         - addedOn
1845 vikas 563
        """
564
        try:
1859 vikas 565
            return to_t_affiliate(create_affiliate(name, url, masterAffiliateId, addedOn))
1845 vikas 566
        finally:
4323 mandeep.dh 567
            self.closeSession()
1845 vikas 568
 
569
    def getAffiliateById(self, id):
570
        """
571
        Parameters
572
         - id
573
        """
574
        try:
575
            return to_t_affiliate(get_affiliate_by_id(id))
576
        finally:
4323 mandeep.dh 577
            self.closeSession()
1845 vikas 578
 
579
    def getAffiliateByName(self, name):
580
        """
581
        Parameters
582
         - name
583
        """
584
        try:
585
            return to_t_affiliate(get_affiliate_by_name(name))
586
        finally:
4323 mandeep.dh 587
            self.closeSession()
1845 vikas 588
 
1996 vikas 589
    def getAffiliatesByMasterAffiliate(self, masterAffiliateId):
1845 vikas 590
        """
591
        Parameters
592
         - master_id
593
        """
594
        try:
1996 vikas 595
            return [to_t_affiliate(affiliate) for affiliate in get_affiliates_by_master_affiliate(masterAffiliateId)]
1845 vikas 596
        finally:
4323 mandeep.dh 597
            self.closeSession()
1845 vikas 598
 
1996 vikas 599
    def getTrackerById(self, trackerId):
1845 vikas 600
        """
601
        Parameters
1996 vikas 602
         - trackerId
1845 vikas 603
        """
604
        try:
1996 vikas 605
            return to_t_tracker(get_tracker_by_id(trackerId))
1845 vikas 606
        finally:
4323 mandeep.dh 607
            self.closeSession()
1996 vikas 608
 
609
    def addTrackLog(self, affiliateId, userId, event, url, data, addedOn):
1845 vikas 610
        """
1996 vikas 611
        Parameter
1845 vikas 612
         - affiliateId
613
         - userId
614
         - event
615
         - url
616
         - data
1859 vikas 617
         - addedOn
1845 vikas 618
        """
619
        try:
1996 vikas 620
            return add_track_log(affiliateId, userId, event, url, data, addedOn)
1845 vikas 621
        finally:
4323 mandeep.dh 622
            self.closeSession()
1845 vikas 623
 
624
    def getTrackLogById(self, id):
625
        """
626
        Parameter
627
         - id
628
        """
629
        try:
630
            return to_t_track_log(get_track_log_by_id(id))
631
        finally:
4323 mandeep.dh 632
            self.closeSession()
1845 vikas 633
 
3293 vikas 634
    def getTrackLogsByAffiliate(self, affiliateId, startDate, endDate):
1845 vikas 635
        """
636
        Parameter
1996 vikas 637
         - affiliate_id
1845 vikas 638
        """
639
        try:
3293 vikas 640
            return [to_t_track_log(track_log) for track_log in get_track_logs_by_affiliate(affiliateId, startDate, endDate)]
1845 vikas 641
        finally:
4323 mandeep.dh 642
            self.closeSession()
1845 vikas 643
 
644
    def getTrackLogsByUser(self, user_id):
645
        """
646
        Parameter
647
         - user_id
648
        """
649
        try:
650
            return [to_t_track_log(track_log) for track_log in get_track_logs_by_user(user_id)]
651
        finally:
4323 mandeep.dh 652
            self.closeSession()
1845 vikas 653
 
1996 vikas 654
    def getTrackLogs(self, affiliateId, userId, event, url):
1845 vikas 655
        """
656
        Parameter
1996 vikas 657
         - affiliateId
658
         - userId
659
         - event
660
         - url
1845 vikas 661
        """
662
        try:
1996 vikas 663
            return [to_t_track_log(track_log) for track_log in get_track_logs(affiliateId, userId, event, url)]
1845 vikas 664
        finally:
4323 mandeep.dh 665
            self.closeSession()
1845 vikas 666
 
1596 ankur.sing 667
    def getUserCount(self, userType):
668
        """
669
        Returns number of registered users.
1612 ankur.sing 670
        If userType = null, then it returns count of all users, including anonymous
671
        If userType = UserType.ANONYMOUS, then it returns count of anonymous users only
672
        If userType = UserType.USER, then it returns count of non-anonymous users only
1596 ankur.sing 673
 
674
        Parameters:
1612 ankur.sing 675
         - userType
1596 ankur.sing 676
        """
1673 ankur.sing 677
        try:
678
            return UserDataAccessors.get_user_count(userType)
679
        finally:
4323 mandeep.dh 680
            self.closeSession()
1673 ankur.sing 681
 
1891 ankur.sing 682
    def getAllUsers(self, userType, startDate, endDate):
1673 ankur.sing 683
        """
684
        Returns list of users of type userType. If userType is null, then returns all the users.
685
 
686
        Parameters:
687
         - userType
688
        """
689
        try:
1891 ankur.sing 690
            users = UserDataAccessors.get_users(userType, startDate, endDate)
1673 ankur.sing 691
            t_users = list()
692
            for user in users:
693
                t_users.append(to_t_user(user))
694
            return t_users
695
        finally:
4323 mandeep.dh 696
            self.closeSession()
1583 varun.gupt 697
 
2717 varun.gupt 698
    def putUserNote(self, userId, entityId, slide, note):
2641 varun.gupt 699
        """
700
        Saves user's note for a particular slide of an entity
701
 
702
        Parameters:
703
        - userId
704
        - entityId
2717 varun.gupt 705
        - slide
2641 varun.gupt 706
        - note
707
        """
708
        try:
2717 varun.gupt 709
            put_user_note(userId, entityId, slide, note)
2641 varun.gupt 710
        finally:
4323 mandeep.dh 711
            self.closeSession()
2641 varun.gupt 712
 
713
    def getUserNotes(self, userId, entityId):
714
        """
715
        Retrieves user's notes associated with an entity
716
 
717
        Parameters:
718
        - userId
719
        - entityId
720
        """
721
        try:
722
            return [to_t_user_note(user_note) for user_note in get_user_notes(userId, entityId)]
723
        finally:
4323 mandeep.dh 724
            self.closeSession()
2641 varun.gupt 725
 
1596 ankur.sing 726
 
2981 rajveer 727
    def getMyResearchItems(self, userId):
130 ashish 728
        """
729
        Parameters:
2981 rajveer 730
         - userId
130 ashish 731
        """
766 rajveer 732
        try:
2981 rajveer 733
            return get_my_research_items(userId)
766 rajveer 734
        finally:
4323 mandeep.dh 735
            self.closeSession()
2981 rajveer 736
 
737
    def getBrowseHistoryItems(self, userId):
130 ashish 738
        """
739
        Parameters:
557 chandransh 740
         - userId
130 ashish 741
        """
766 rajveer 742
        try:
2981 rajveer 743
            return get_browse_history_items(userId)
766 rajveer 744
        finally:
4323 mandeep.dh 745
            self.closeSession()
2981 rajveer 746
 
3386 varun.gupt 747
    def getCartsWithCouponCount(self, couponCode):
748
        '''
749
        Parameters:
750
         - couponCode
751
        '''
752
        try:
753
            return get_carts_with_coupon_count(couponCode)
754
        finally:
4323 mandeep.dh 755
            self.closeSession()
3499 mandeep.dh 756
 
757
    def increaseTrustLevel(self, userId, trustLevelDelta):
758
        """
759
        Parameters:
760
         - userId
761
         - trustLevelDelta
762
        """
763
        try:
764
            return increase_trust_level(userId, trustLevelDelta)
765
        finally:
4323 mandeep.dh 766
            self.closeSession()
3554 varun.gupt 767
 
5407 amar.kumar 768
    def getTrustLevel(self, userId):
769
        try:
770
            return get_trust_level(userId)
771
        finally:
772
            self.closeSession()
773
 
3554 varun.gupt 774
    def deleteDiscountsFromCart(self, cartId):
775
        '''
776
        Parameters:
777
         - cartId
778
        '''
779
        try:
780
            return delete_discounts_from_cart(cart_id = cartId)
781
        finally:
4323 mandeep.dh 782
            self.closeSession()
3554 varun.gupt 783
 
784
    def saveDiscounts(self, discounts):
785
        '''
786
        Parameters:
787
         - discounts
788
        '''
789
        try:
790
            return save_discounts(discounts)
791
        finally:
4323 mandeep.dh 792
            self.closeSession()
3499 mandeep.dh 793
 
4668 varun.gupt 794
    def showCODOption(self, cartId, sourceId, pincode):
795
        '''
796
        Parameters:
797
         - cartId
798
         - pincode
799
        '''
800
        try:
801
            return show_cod_option(cartId, sourceId, pincode)
802
        finally:
803
            self.closeSession()
5555 rajveer 804
 
805
 
806
    def addStoreToCart(self, cartId, storeId):
807
        """
808
        Parameters:
809
         - cartId
810
         - storeId
811
        """
812
        try:
813
            return add_store_to_cart(cartId, storeId)
814
        finally:
815
            self.closeSession()
816
 
2981 rajveer 817
    def closeSession(self, ):
818
        CartDataAccessors.close_session()
819
        UserDataAccessors.close_session()
3376 rajveer 820
 
821
    def isAlive(self, ):
822
        """
823
        For checking weather service is active alive or not. It also checks connectivity with database
824
        """
825
        try:
826
            return is_alive()
827
        finally:
4323 mandeep.dh 828
            self.closeSession()
772 rajveer 829