Subversion Repositories SmartDukaan

Rev

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