Subversion Repositories SmartDukaan

Rev

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