Subversion Repositories SmartDukaan

Rev

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