29 |
29 |
30 class User: |
30 class User: |
31 ''' |
31 ''' |
32 class for a xmlrpc user |
32 class for a xmlrpc user |
33 ''' |
33 ''' |
34 def __init__(self,jobqueue): |
34 def __init__(self, name, jobqueue): |
35 self.jobqueue=jobqueue |
35 self.jobqueue=jobqueue |
36 self.jobs={} |
36 self.jobs={} |
|
37 self.name=name |
37 self.features=["mail", "sms", "fax", ] |
38 self.features=["mail", "sms", "fax", ] |
38 |
39 |
39 def status(self,id=None,detailed=False): |
40 def status(self,id=None,detailed=False): |
40 ''' |
41 ''' |
41 gets the status for a job |
42 gets the status for a job |
80 ''' |
81 ''' |
81 starts the SMS with message to recipients |
82 starts the SMS with message to recipients |
82 ''' |
83 ''' |
83 if not "sms" in self.features: |
84 if not "sms" in self.features: |
84 raise NotSupportedFeature("sms") |
85 raise NotSupportedFeature("sms") |
85 id = self.jobqueue.newSMS(message,recipients,provider) |
86 id = self.jobqueue.newSMS(message,recipients,provider,user=self) |
86 self.jobs[id]=self.jobqueue[id] |
87 self.jobs[id]=self.jobqueue[id] |
87 return id |
88 return id |
88 |
89 |
89 |
90 |
90 def startFAX(self, subject, fax, recipients, provider="default"): |
91 def startFAX(self, subject, fax, recipients, provider="default"): |
97 |
98 |
98 if type(fax) != list: |
99 if type(fax) != list: |
99 fax=[fax] |
100 fax=[fax] |
100 f=[i.data for i in fax] |
101 f=[i.data for i in fax] |
101 |
102 |
102 id = self.jobqueue.newFAX(subject, f,recipients,provider) |
103 id = self.jobqueue.newFAX(subject, f,recipients,provider,user=self) |
103 self.jobs[id]=self.jobqueue[id] |
104 self.jobs[id]=self.jobqueue[id] |
104 return id |
105 return id |
105 |
106 |
106 def startMail(self, subject, body, recipients, frm, provider="default"): |
107 def startMail(self, subject, body, recipients, frm, provider="default"): |
107 if not "mail" in self.features: |
108 if not "mail" in self.features: |
108 raise NotSupportedFeature("mail") |
109 raise NotSupportedFeature("mail") |
109 logger.debug("startMail(%s,%s,%s,%s,%s)"%(subject, body, recipients, frm, provider)) |
110 logger.debug("startMail(%s,%s,%s,%s,%s)"%(subject, body, recipients, frm, provider)) |
110 id = self.jobqueue.newMail(subject, body, recipients, frm, provider) |
111 id = self.jobqueue.newMail(subject, body, recipients, frm, provider,user=self) |
111 self.jobs[id]=self.jobqueue[id] |
112 self.jobs[id]=self.jobqueue[id] |
112 return id |
113 return id |
113 |
114 |
114 def getProvider(self, name): |
115 def getProvider(self, name): |
115 if not name in self.features: |
116 if not name in self.features: |
122 raise NotSupportedFeature(name) |
123 raise NotSupportedFeature(name) |
123 |
124 |
124 return self.jobqueue.providerlist.getDefault(name)["name"] |
125 return self.jobqueue.providerlist.getDefault(name)["name"] |
125 |
126 |
126 class Admin(User): |
127 class Admin(User): |
127 def __init__(self,jobqueue): |
128 def __init__(self, name, jobqueue): |
128 User.__init__(self, jobqueue) |
129 User.__init__(self, name, jobqueue) |
129 self.jobs=jobqueue.jobs |
130 self.jobs=jobqueue.jobs |