Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
353 ashish 1
'''
2
Created on 14-Jul-2010
3
 
4
@author: ashish
5
'''
6
from shop2020.helpers.impl import DataAccessor
7
from shop2020.helpers.impl.DataAccessor import getSubstitutedMessage, getMessage,\
494 rajveer 8
    updateMessage, addMessage, add_user, authenticate_user, delete_user, update_password,\
1422 varun.gupt 9
    save_user_email_for_sending, get_emails_to_be_sent, mark_email_as_sent , initialize, close_session
759 chandransh 10
from shop2020.helpers.impl.DataService import LogisticsUser
11
from shop2020.thriftpy.utils.ttypes import HelperServiceException
1422 varun.gupt 12
from shop2020.helpers.impl.Converters import to_t_luser, to_t_useremail
900 rajveer 13
from shop2020.config.client.ConfigClient import ConfigClient
353 ashish 14
 
900 rajveer 15
 
353 ashish 16
class HelperServiceHandler():
17
 
18
 
1248 chandransh 19
    def __init__(self, dbname='helper'):
20
        initialize(dbname)
900 rajveer 21
 
22
        '''
23
        try:
24
            config_client = ConfigClient()
25
            self.customer_care_mail = config_client.get_property('saholic_customer_care_mail')
26
        except:    
27
            self.customer_care_mail = "help@saholic.com"
28
        ''' 
353 ashish 29
 
1395 varun.gupt 30
    def saveUserEmailForSending(self, emailTo, emailFrom, subject, body, source, emailType):
31
        try:
32
            save_user_email_for_sending(emailTo, emailFrom, subject, body, source, emailType)
33
        finally:
34
            close_session()
35
 
1422 varun.gupt 36
    def getEmailsToBeSent(self, emailType):
37
        try:
38
            return [to_t_useremail(user_email) for user_email in get_emails_to_be_sent(emailType)]
39
        finally:
40
            close_session()
41
 
42
    def markEmailAsSent(self, emailId):
43
        try:
44
            mark_email_as_sent(emailId)
45
        finally:
46
            close_session()
47
 
353 ashish 48
    def sendMail(self, mail):
766 rajveer 49
        try:
50
            DataAccessor.sendMail(mail)
51
        finally:
52
            close_session()
53
 
353 ashish 54
    def sendText(self, message):
55
        """
56
        Parameters:
57
         - message
58
        """
766 rajveer 59
        try:
60
            DataAccessor.sendText(message)
61
        finally:
62
            close_session()
63
 
353 ashish 64
    def addMessage(self, message):
65
        """
66
        Parameters:
67
         - message
68
        """
766 rajveer 69
        try:
70
            addMessage(message)
71
        finally:
72
            close_session()
73
 
353 ashish 74
    def updateMessage(self, id, message):
75
        """
76
        Parameters:
77
         - id
78
         - message
79
        """
766 rajveer 80
        try:
81
            return updateMessage(id, message)
82
        finally:
83
            close_session()
84
 
353 ashish 85
    def getMessage(self, id):
86
        """
87
        Parameters:
88
         - id
89
        """
766 rajveer 90
        try:
91
            return getMessage(id)
92
        finally:
93
            close_session()
94
 
353 ashish 95
    def getSubstitutedMessage(self, id, params):
96
        """
97
        Parameters:
98
         - id
99
         - params
100
        """
766 rajveer 101
        try:
102
            return getSubstitutedMessage(id, params)
103
        finally:
104
            close_session()
105
 
494 rajveer 106
    def addUser(self, username, password, warehouseId):
107
        """
108
        Parameters:
109
         - username
110
         - password
111
         - warehouseId
112
        """
766 rajveer 113
        try:
114
            return add_user(username, password, warehouseId)
115
        finally:
116
            close_session()
494 rajveer 117
 
118
    def deleteUser(self, username):
119
        """
120
        Parameters:
121
         - username
122
        """
766 rajveer 123
        try:
124
            return delete_user(username)
125
        finally:
126
            close_session()
127
 
494 rajveer 128
    def authenticateUser(self, username, password):
129
        """
130
        Parameters:
131
         - username
132
         - password
133
        """
766 rajveer 134
        try:
135
            return authenticate_user(username, password)
136
        finally:
137
            close_session()
138
 
494 rajveer 139
 
140
    def updatePassword(self, username, oldPassword, newPassword):
141
        """
142
        Parameters:
143
         - username
144
         - oldPassword
145
         - newPassword
146
        """
766 rajveer 147
        try:
148
            update_password(username, oldPassword, newPassword)
149
        finally:
150
            close_session()
759 chandransh 151
 
152
    def authenticateLogisticsUser(self, username, password):
153
        """
154
        Returns the LogisticsUser struct associated with the given username and password if they match.
155
        Throws an exception otherwise.
156
 
157
        Parameters:
158
         - username
159
         - password
160
        """
161
        try:
162
            luser = LogisticsUser.get_by(username=username, password=password)
163
            return to_t_luser(luser)
164
        except:
766 rajveer 165
            raise HelperServiceException(101, "No such user")
166
        finally:
167
            close_session()
168
 
169
    def closeSession(self, ):
170
        close_session()