adding overview acounting
authorSandro Knauß <knauss@netzguerilla.net>
Fri, 18 Nov 2011 22:32:57 +0100
changeset 67 d1912509f375
parent 66 eabb8ead183d
child 69 67ecea2d9b67
adding overview acounting
iro/acounting.py
iro/iro.py
iro/joblist.py
iro/user.py
iro/xmlrpc/SecureUserdbXMLRPCServer.py
--- a/iro/acounting.py	Sat Oct 08 12:32:58 2011 +0200
+++ b/iro/acounting.py	Fri Nov 18 22:32:57 2011 +0100
@@ -9,8 +9,13 @@
         Database.__init__(self,connection)
         self.id=id
 
-    def setId(self,id):
+    def setId(self,id, user):
         self.id=id
+        if user:
+            self.connect()
+            self.cursor.execute ("INSERT INTO %s (id,user) VALUES ('%s','%s')" % (self.connection['overview'], self.id,user.name))
+            self.disconnect()
+
 
     def getStatus(self):
         self.connect()
--- a/iro/iro.py	Sat Oct 08 12:32:58 2011 +0200
+++ b/iro/iro.py	Fri Nov 18 22:32:57 2011 +0100
@@ -34,7 +34,7 @@
         UserDB.__init__(self, None,userlist,jobqueue)
         
     def createUser(self, user):
-        self.userlist[self.createHash(user)]=user["class"](self.jobqueue)
+        self.userlist[self.createHash(user)]=user["class"](user["name"],self.jobqueue)
 
 
  
--- a/iro/joblist.py	Sat Oct 08 12:32:58 2011 +0200
+++ b/iro/joblist.py	Fri Nov 18 22:32:57 2011 +0100
@@ -31,35 +31,35 @@
     def __getitem__(self,key):
         return self.jobs[key]
 
-    def __registerJob__(self, job):
+    def __registerJob__(self, job, user):
         id = self._createID()
         if self.dbconn:
             job.setAcounting(self.manager.Acounting(id,self.dbconn))
-        job.setId(id)
+        job.setId(id, user)
         self.jobs[id]=job
         self.queue.put(job)
         return id
 
-    def newSMS(self, message, recipients, provider="default"):
+    def newSMS(self, message, recipients, provider="default", user=None):
         '''
         creates a new SMS
         '''
         job=self.manager.SMSJob(self.providerlist, provider,message, content.SMS(message),recipients)
-        return self.__registerJob__(job)
+        return self.__registerJob__(job,user)
 
-    def newFAX(self,subject, fax,recipients,provider="default"):
+    def newFAX(self,subject, fax,recipients,provider="default",user=None):
         '''
         creates a new Fax
         '''
         job=self.manager.FaxJob(self.providerlist, provider,subject, content.FAX(subject,'' ,fax),recipients)
-        return self.__registerJob__(job)
+        return self.__registerJob__(job,user)
 
-    def newMail(self, subject, body, recipients, frm, provider="default"):
+    def newMail(self, subject, body, recipients, frm, provider="default",user=None):
         '''
         creates a new Mail
         '''
         job=self.manager.MailJob(self.providerlist, provider,subject, content.Mail(subject, body, frm),recipients)
-        return self.__registerJob__(job) 
+        return self.__registerJob__(job,user) 
 
     def _createID(self):
         '''
--- a/iro/user.py	Sat Oct 08 12:32:58 2011 +0200
+++ b/iro/user.py	Fri Nov 18 22:32:57 2011 +0100
@@ -31,9 +31,10 @@
     '''
     class for a xmlrpc user
     '''
-    def __init__(self,jobqueue):
+    def __init__(self, name, jobqueue):
         self.jobqueue=jobqueue
         self.jobs={}
+        self.name=name
         self.features=["mail", "sms", "fax", ]
 
     def status(self,id=None,detailed=False):
@@ -82,7 +83,7 @@
         '''
         if not "sms" in self.features:
             raise NotSupportedFeature("sms")
-        id = self.jobqueue.newSMS(message,recipients,provider)
+        id = self.jobqueue.newSMS(message,recipients,provider,user=self)
         self.jobs[id]=self.jobqueue[id]
         return id
     
@@ -99,7 +100,7 @@
             fax=[fax]
         f=[i.data for i in fax]
 
-        id = self.jobqueue.newFAX(subject, f,recipients,provider)
+        id = self.jobqueue.newFAX(subject, f,recipients,provider,user=self)
         self.jobs[id]=self.jobqueue[id]
         return id
 
@@ -107,7 +108,7 @@
         if not "mail" in self.features:
             raise NotSupportedFeature("mail")
         logger.debug("startMail(%s,%s,%s,%s,%s)"%(subject, body, recipients, frm, provider))
-        id = self.jobqueue.newMail(subject, body, recipients, frm,  provider)
+        id = self.jobqueue.newMail(subject, body, recipients, frm,  provider,user=self)
         self.jobs[id]=self.jobqueue[id]
         return id    
        
@@ -124,6 +125,6 @@
         return self.jobqueue.providerlist.getDefault(name)["name"]
         
 class Admin(User):
-    def __init__(self,jobqueue):
-        User.__init__(self, jobqueue)
+    def __init__(self, name, jobqueue):
+        User.__init__(self, name, jobqueue)
         self.jobs=jobqueue.jobs
--- a/iro/xmlrpc/SecureUserdbXMLRPCServer.py	Sat Oct 08 12:32:58 2011 +0200
+++ b/iro/xmlrpc/SecureUserdbXMLRPCServer.py	Fri Nov 18 22:32:57 2011 +0100
@@ -27,7 +27,7 @@
         return m.hexdigest()
 
     def createUser(self,user):
-        self.userlist[self.createHash(user)]=self.userClass(self.jobqueue)
+        self.userlist[self.createHash(user)]=self.userClass(user["name"],self.jobqueue)
 
     def __getitem__(self,key):
         return self.userlist[key]