Subversion Repositories SmartDukaan

Rev

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