Subversion Repositories SmartDukaan

Rev

Rev 5326 | Rev 5407 | 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 getCurrentCart(self, userId):
262
        """
263
        Parameters:
130 ashish 264
         - userId
265
        """
766 rajveer 266
        try:
267
            cart = get_cart(userId)
268
            if cart:
269
                return to_t_cart(cart)
270
            else:
271
                raise ShoppingCartException(101, "not cart attached to this user")
272
        finally:
4323 mandeep.dh 273
            self.closeSession()
766 rajveer 274
 
557 chandransh 275
    def getCart(self, cartId):
276
        """
277
        Parameters:
278
         - cartId
279
        """
766 rajveer 280
        try:
281
            cart = get_cart_by_id(cartId)
282
            if cart:
283
                return to_t_cart(cart)
284
            else:
285
                raise ShoppingCartException(101, "not cart attached to this id")
286
        finally:
4323 mandeep.dh 287
            self.closeSession()
766 rajveer 288
 
557 chandransh 289
    def getCartsByTime(self, from_time, to_time, status):
130 ashish 290
        """
291
        Parameters:
557 chandransh 292
         - from_time
293
         - to_time
294
         - status
130 ashish 295
        """
766 rajveer 296
        try:
297
            carts = get_carts_between(from_time, to_time, status)
298
            t_carts = []
299
            if carts:
300
                for cart in carts:
301
                    t_carts.append(to_t_cart(cart))
302
            return t_carts
303
        finally:
4323 mandeep.dh 304
            self.closeSession()
766 rajveer 305
 
3557 rajveer 306
    def addItemToCart(self, cartId, itemId, quantity, sourceId):
130 ashish 307
        """
308
        Parameters:
557 chandransh 309
         - cartId
310
         - itemId
311
         - quantity
130 ashish 312
        """
766 rajveer 313
        try:
3557 rajveer 314
            return add_item_to_cart(cartId, itemId, quantity, sourceId)
766 rajveer 315
        finally:
4323 mandeep.dh 316
            self.closeSession()
766 rajveer 317
 
557 chandransh 318
    def deleteItemFromCart(self, cartId, itemId):
130 ashish 319
        """
320
        Parameters:
557 chandransh 321
         - cartId
322
         - itemId
130 ashish 323
        """
766 rajveer 324
        try:
325
            delete_item_from_cart(cartId, itemId)
326
        finally:
4323 mandeep.dh 327
            self.closeSession()
766 rajveer 328
 
557 chandransh 329
    def addAddressToCart(self, cartId, addressId):
330
        """
331
        Parameters:
332
         - cartId
130 ashish 333
         - addressId
334
        """
766 rajveer 335
        try:
336
            return add_address_to_cart(cartId, addressId)
337
        finally:
4323 mandeep.dh 338
            self.closeSession()
1976 varun.gupt 339
 
340
    def applyCouponToCart(self, cartId, couponCode, totalPrice, discountedPrice):
341
        '''
342
        Parameters:
343
        - cartId
344
        - couponCode
345
        - totalPrice
346
        - discountedPrice
347
        '''
348
        try:
349
            apply_coupon_to_cart(cartId, couponCode, totalPrice, discountedPrice)
350
        finally:
4323 mandeep.dh 351
            self.closeSession()
1976 varun.gupt 352
 
353
    def removeCoupon(self, cartId):
354
        '''
355
        Parameters:
356
        - cartId
357
        '''
358
        try:
359
            remove_coupon(cartId)
360
        finally:
4323 mandeep.dh 361
            self.closeSession()
1976 varun.gupt 362
 
5326 rajveer 363
    def createOrders(self, cartId, sessionSource, sessionTime, firstSource, firstSourceTime, userId):
130 ashish 364
        """
365
        Parameters:
557 chandransh 366
         - cartId
2815 vikas 367
         - sessionSource
130 ashish 368
        """
766 rajveer 369
        try:
5326 rajveer 370
            return commit_cart(cartId, sessionSource, sessionTime, firstSource, firstSourceTime, userId)
766 rajveer 371
        finally:
4323 mandeep.dh 372
            self.closeSession()
1466 ankur.sing 373
 
3557 rajveer 374
    def validateCart(self, cartId, sourceId):
130 ashish 375
        """
1466 ankur.sing 376
        Validates that:
377
        1. The checkout timestamp is greater than the updatedOn timestamp.
378
        2. All of the lines in the cart are active items.
379
        3. The estimate for any of the lines in cart doesn't change.
1976 varun.gupt 380
        4. If a Coupon Code is attached, it gets applied and discounted price is computed
381
        If first three are true, returns empty string; else returns appropriate message.
1466 ankur.sing 382
 
130 ashish 383
        Parameters:
557 chandransh 384
         - cartId
130 ashish 385
        """
766 rajveer 386
        try:
3557 rajveer 387
            return validate_cart(cartId, sourceId)
766 rajveer 388
        finally:
4323 mandeep.dh 389
            self.closeSession()
766 rajveer 390
 
557 chandransh 391
    def mergeCart(self, fromCartId, toCartId):
513 rajveer 392
        """
393
        Parameters:
557 chandransh 394
         - fromCartId
395
         - toCartId
513 rajveer 396
        """
766 rajveer 397
        try:
398
            merge_cart(fromCartId, toCartId)
399
        finally:
4323 mandeep.dh 400
            self.closeSession()
766 rajveer 401
 
691 chandransh 402
    def checkOut(self, cartId):
403
        """
404
        Sets the checkedOutOn timestamp of the cart. Raises an exception if the specified cart can't be found.
405
 
406
        Parameters:
407
         - cartId
408
        """
766 rajveer 409
        try:
410
            return check_out(cartId)
411
        finally:
4323 mandeep.dh 412
            self.closeSession()
766 rajveer 413
 
691 chandransh 414
    def resetCart(self, cartId, items):
415
        """
416
        The second parameter is a map of item ids and their quantities which have been successfully processed.
417
        This methods removes the specified quantiry of the specified item from the cart.
418
 
419
        Parameters:
420
         - cartId
421
         - items
422
        """
766 rajveer 423
        try:
424
            return reset_cart(cartId, items)
425
        finally:
4323 mandeep.dh 426
            self.closeSession()
772 rajveer 427
 
428
    #Widget related methods
429
    def updateMyResearch(self, userId, itemId):
430
        """
431
        Parameters:
432
         - user_id
433
         - item_id
434
        """
435
        try:
436
            return update_my_research(userId, itemId)
437
        finally:
4323 mandeep.dh 438
            self.closeSession()
772 rajveer 439
 
440
    def deleteItemFromMyResearch(self, userId, itemId):
441
        """
442
        Parameters:
443
         - user_id
444
         - item_id
445
        """
446
        try:
447
            return delete_item_from_my_research(userId, itemId)
448
        finally:
4323 mandeep.dh 449
            self.closeSession()
766 rajveer 450
 
772 rajveer 451
    def updateBrowseHistory(self, userId, itemId):
452
        """
453
        Parameters: 
454
        - user_id
455
        - item_id
456
        """
457
        try:
458
            update_browse_history(userId, itemId)
459
        finally:
4323 mandeep.dh 460
            self.closeSession()
772 rajveer 461
 
462
    def mergeBrowseHistory(self, fromUserId, toUserId):
463
        """
464
        Parameters:
465
         - user_id
466
        """
2981 rajveer 467
        pass
772 rajveer 468
 
1273 varun.gupt 469
    def saveUserCommunication(self, userId, email, communicationType, orderId, awb, product, subject, message):
470
        """
471
        Parameters:
472
         - userId
473
         - email
474
         - communicationType
475
         - orderId
476
         - awb
477
         - product
478
         - subject
479
         - message
480
        """
481
        try:
482
            return create_user_communication(userId, email, communicationType, orderId, awb, product, subject, message)
483
        finally:
4323 mandeep.dh 484
            self.closeSession()
1273 varun.gupt 485
 
1583 varun.gupt 486
    def getUserCommunicationById(self, id):
487
        """
488
        Parameters:
489
         - id
490
        """
491
        try:
492
            return to_t_user_communication(get_user_communication_by_id(id))
493
        finally:
4323 mandeep.dh 494
            self.closeSession()
1583 varun.gupt 495
 
496
    def getUserCommunicationByUser(self, userId):
497
        """
498
        Parameters:
499
         - userId
500
        """
501
        try:
502
            return [to_t_user_communication(user_communication) for user_communication in get_user_communication_by_user(userId)]
503
        finally:
4323 mandeep.dh 504
            self.closeSession()
1583 varun.gupt 505
 
506
    def getAllUserCommunications(self):
507
        try:
508
            return [to_t_user_communication(user_communication) for user_communication in get_all_user_communications()]
509
        finally:
4323 mandeep.dh 510
            self.closeSession()
1596 ankur.sing 511
 
1859 vikas 512
    def createMasterAffiliate(self, name, addedOn):
1845 vikas 513
        """
514
        Parameters
515
         - name
1859 vikas 516
         - addedOn
1845 vikas 517
        """
518
        try:
1859 vikas 519
            return to_t_master_affiliate(create_master_affiliate(name, addedOn))
1845 vikas 520
        finally:
4323 mandeep.dh 521
            self.closeSession()
1845 vikas 522
 
1899 vikas 523
    def getAllMasterAffiliates(self):
524
        try:
525
            return [to_t_master_affiliate(masterAffiliate) for masterAffiliate in get_all_master_affiliates()]
526
        finally:
4323 mandeep.dh 527
            self.closeSession()
1899 vikas 528
 
1845 vikas 529
    def getMasterAffiliateById(self, id):
530
        """
531
        Parameters
532
         - id
533
        """
534
        try:
535
            return to_t_master_affiliate(get_master_affiliate_by_id(id))
536
        finally:
4323 mandeep.dh 537
            self.closeSession()
1845 vikas 538
 
539
    def getMasterAffiliateByName(self, name):
540
        """
541
        Parameters
542
         - id
543
        """
544
        try:
545
            return to_t_master_affiliate(get_master_affiliate_by_name(name))
546
        finally:
4323 mandeep.dh 547
            self.closeSession()
1845 vikas 548
 
1859 vikas 549
    def createAffiliate(self, name, url, masterAffiliateId, addedOn):
1845 vikas 550
        """
551
        Parameters
552
         - name
553
         - url
1859 vikas 554
         - masterAffiliateId
555
         - addedOn
1845 vikas 556
        """
557
        try:
1859 vikas 558
            return to_t_affiliate(create_affiliate(name, url, masterAffiliateId, addedOn))
1845 vikas 559
        finally:
4323 mandeep.dh 560
            self.closeSession()
1845 vikas 561
 
562
    def getAffiliateById(self, id):
563
        """
564
        Parameters
565
         - id
566
        """
567
        try:
568
            return to_t_affiliate(get_affiliate_by_id(id))
569
        finally:
4323 mandeep.dh 570
            self.closeSession()
1845 vikas 571
 
572
    def getAffiliateByName(self, name):
573
        """
574
        Parameters
575
         - name
576
        """
577
        try:
578
            return to_t_affiliate(get_affiliate_by_name(name))
579
        finally:
4323 mandeep.dh 580
            self.closeSession()
1845 vikas 581
 
1996 vikas 582
    def getAffiliatesByMasterAffiliate(self, masterAffiliateId):
1845 vikas 583
        """
584
        Parameters
585
         - master_id
586
        """
587
        try:
1996 vikas 588
            return [to_t_affiliate(affiliate) for affiliate in get_affiliates_by_master_affiliate(masterAffiliateId)]
1845 vikas 589
        finally:
4323 mandeep.dh 590
            self.closeSession()
1845 vikas 591
 
1996 vikas 592
    def getTrackerById(self, trackerId):
1845 vikas 593
        """
594
        Parameters
1996 vikas 595
         - trackerId
1845 vikas 596
        """
597
        try:
1996 vikas 598
            return to_t_tracker(get_tracker_by_id(trackerId))
1845 vikas 599
        finally:
4323 mandeep.dh 600
            self.closeSession()
1996 vikas 601
 
602
    def addTrackLog(self, affiliateId, userId, event, url, data, addedOn):
1845 vikas 603
        """
1996 vikas 604
        Parameter
1845 vikas 605
         - affiliateId
606
         - userId
607
         - event
608
         - url
609
         - data
1859 vikas 610
         - addedOn
1845 vikas 611
        """
612
        try:
1996 vikas 613
            return add_track_log(affiliateId, userId, event, url, data, addedOn)
1845 vikas 614
        finally:
4323 mandeep.dh 615
            self.closeSession()
1845 vikas 616
 
617
    def getTrackLogById(self, id):
618
        """
619
        Parameter
620
         - id
621
        """
622
        try:
623
            return to_t_track_log(get_track_log_by_id(id))
624
        finally:
4323 mandeep.dh 625
            self.closeSession()
1845 vikas 626
 
3293 vikas 627
    def getTrackLogsByAffiliate(self, affiliateId, startDate, endDate):
1845 vikas 628
        """
629
        Parameter
1996 vikas 630
         - affiliate_id
1845 vikas 631
        """
632
        try:
3293 vikas 633
            return [to_t_track_log(track_log) for track_log in get_track_logs_by_affiliate(affiliateId, startDate, endDate)]
1845 vikas 634
        finally:
4323 mandeep.dh 635
            self.closeSession()
1845 vikas 636
 
637
    def getTrackLogsByUser(self, user_id):
638
        """
639
        Parameter
640
         - user_id
641
        """
642
        try:
643
            return [to_t_track_log(track_log) for track_log in get_track_logs_by_user(user_id)]
644
        finally:
4323 mandeep.dh 645
            self.closeSession()
1845 vikas 646
 
1996 vikas 647
    def getTrackLogs(self, affiliateId, userId, event, url):
1845 vikas 648
        """
649
        Parameter
1996 vikas 650
         - affiliateId
651
         - userId
652
         - event
653
         - url
1845 vikas 654
        """
655
        try:
1996 vikas 656
            return [to_t_track_log(track_log) for track_log in get_track_logs(affiliateId, userId, event, url)]
1845 vikas 657
        finally:
4323 mandeep.dh 658
            self.closeSession()
1845 vikas 659
 
1596 ankur.sing 660
    def getUserCount(self, userType):
661
        """
662
        Returns number of registered users.
1612 ankur.sing 663
        If userType = null, then it returns count of all users, including anonymous
664
        If userType = UserType.ANONYMOUS, then it returns count of anonymous users only
665
        If userType = UserType.USER, then it returns count of non-anonymous users only
1596 ankur.sing 666
 
667
        Parameters:
1612 ankur.sing 668
         - userType
1596 ankur.sing 669
        """
1673 ankur.sing 670
        try:
671
            return UserDataAccessors.get_user_count(userType)
672
        finally:
4323 mandeep.dh 673
            self.closeSession()
1673 ankur.sing 674
 
1891 ankur.sing 675
    def getAllUsers(self, userType, startDate, endDate):
1673 ankur.sing 676
        """
677
        Returns list of users of type userType. If userType is null, then returns all the users.
678
 
679
        Parameters:
680
         - userType
681
        """
682
        try:
1891 ankur.sing 683
            users = UserDataAccessors.get_users(userType, startDate, endDate)
1673 ankur.sing 684
            t_users = list()
685
            for user in users:
686
                t_users.append(to_t_user(user))
687
            return t_users
688
        finally:
4323 mandeep.dh 689
            self.closeSession()
1583 varun.gupt 690
 
2717 varun.gupt 691
    def putUserNote(self, userId, entityId, slide, note):
2641 varun.gupt 692
        """
693
        Saves user's note for a particular slide of an entity
694
 
695
        Parameters:
696
        - userId
697
        - entityId
2717 varun.gupt 698
        - slide
2641 varun.gupt 699
        - note
700
        """
701
        try:
2717 varun.gupt 702
            put_user_note(userId, entityId, slide, note)
2641 varun.gupt 703
        finally:
4323 mandeep.dh 704
            self.closeSession()
2641 varun.gupt 705
 
706
    def getUserNotes(self, userId, entityId):
707
        """
708
        Retrieves user's notes associated with an entity
709
 
710
        Parameters:
711
        - userId
712
        - entityId
713
        """
714
        try:
715
            return [to_t_user_note(user_note) for user_note in get_user_notes(userId, entityId)]
716
        finally:
4323 mandeep.dh 717
            self.closeSession()
2641 varun.gupt 718
 
1596 ankur.sing 719
 
2981 rajveer 720
    def getMyResearchItems(self, userId):
130 ashish 721
        """
722
        Parameters:
2981 rajveer 723
         - userId
130 ashish 724
        """
766 rajveer 725
        try:
2981 rajveer 726
            return get_my_research_items(userId)
766 rajveer 727
        finally:
4323 mandeep.dh 728
            self.closeSession()
2981 rajveer 729
 
730
    def getBrowseHistoryItems(self, userId):
130 ashish 731
        """
732
        Parameters:
557 chandransh 733
         - userId
130 ashish 734
        """
766 rajveer 735
        try:
2981 rajveer 736
            return get_browse_history_items(userId)
766 rajveer 737
        finally:
4323 mandeep.dh 738
            self.closeSession()
2981 rajveer 739
 
3386 varun.gupt 740
    def getCartsWithCouponCount(self, couponCode):
741
        '''
742
        Parameters:
743
         - couponCode
744
        '''
745
        try:
746
            return get_carts_with_coupon_count(couponCode)
747
        finally:
4323 mandeep.dh 748
            self.closeSession()
3499 mandeep.dh 749
 
750
    def increaseTrustLevel(self, userId, trustLevelDelta):
751
        """
752
        Parameters:
753
         - userId
754
         - trustLevelDelta
755
        """
756
        try:
757
            return increase_trust_level(userId, trustLevelDelta)
758
        finally:
4323 mandeep.dh 759
            self.closeSession()
3554 varun.gupt 760
 
761
    def deleteDiscountsFromCart(self, cartId):
762
        '''
763
        Parameters:
764
         - cartId
765
        '''
766
        try:
767
            return delete_discounts_from_cart(cart_id = cartId)
768
        finally:
4323 mandeep.dh 769
            self.closeSession()
3554 varun.gupt 770
 
771
    def saveDiscounts(self, discounts):
772
        '''
773
        Parameters:
774
         - discounts
775
        '''
776
        try:
777
            return save_discounts(discounts)
778
        finally:
4323 mandeep.dh 779
            self.closeSession()
3499 mandeep.dh 780
 
4668 varun.gupt 781
    def showCODOption(self, cartId, sourceId, pincode):
782
        '''
783
        Parameters:
784
         - cartId
785
         - pincode
786
        '''
787
        try:
788
            return show_cod_option(cartId, sourceId, pincode)
789
        finally:
790
            self.closeSession()
791
 
2981 rajveer 792
    def closeSession(self, ):
793
        CartDataAccessors.close_session()
794
        UserDataAccessors.close_session()
3376 rajveer 795
 
796
    def isAlive(self, ):
797
        """
798
        For checking weather service is active alive or not. It also checks connectivity with database
799
        """
800
        try:
801
            return is_alive()
802
        finally:
4323 mandeep.dh 803
            self.closeSession()
772 rajveer 804