iro/model/schema.py
branchdevel
changeset 136 ca926774e16c
parent 135 f8640c663e3e
child 140 75d0eaaa871d
--- a/iro/model/schema.py	Tue Feb 07 01:56:59 2012 +0100
+++ b/iro/model/schema.py	Wed Feb 08 14:19:09 2012 +0100
@@ -40,7 +40,7 @@
         filters = [ Message.isBilled==False,                # only unbilled messages
                    Job.user==self.user,                     # only jobs connected to user
                    Message.offer==self.offer,               # only messages in the right offer
-                   Message.job_hash==Job.hash,              # join Message and Job
+                   Message.job_id==Job.id,                  # join Message and Job
                 ]
         return object_session(self).query(*query).filter(and_(*filters)).group_by(Job.info)
 
@@ -61,7 +61,7 @@
     isBilled = Column(Boolean)
     date = Column(DateTime)
     price = Column(Numeric(8,4))
-    job_hash = Column("job", String(40), ForeignKey('job.hash'))
+    job_id = Column("job", String(40), ForeignKey('job.id'))
     job = relationship("Job", backref=backref('messages'))
     offer_id = Column("offer",String(100), ForeignKey('offer.name'))
     offer = relationship("Offer", backref=backref('messages'))
@@ -70,14 +70,14 @@
 class Job(Base):
     """Ein kompletter Auftrag, der an Iro zum verschicken übergeben wird. Status zeigt den generellen Status des Auftrages an (<em>init</em>, <em>started</em>, <em>sending</em>, <em>sended</em> oder <em>error</em>). <em>info</em> wird verwendet um dem Benutzer eine Möglickeit zu geben verschiede Auftragsgruppen zu erstellen."""
     __tablename__ = "job"
-    hash = Column(String(40), primary_key=True)
+    id = Column(Integer, Sequence('job_id_seq'), primary_key=True)
     info = Column(String(100))
     status = Column(Enum("init","started","sending","sended","error"))
     user_id = Column("user", String(100), ForeignKey('apiuser.name'))
     user = relationship("User", backref=backref('jobs'))
 
     def __repr__(self):
-        return "<Job('%s','%s','%s','%s')>"%(self.hash,self.info, self.status, self.user_id)
+        return "<Job('%s','%s','%s','%s')>"%(self.id,self.info, self.status, self.user_id)
 
 class User(Base):
     """Die Benutzerdatenbank von Iro. <em>ng_kunde</em> ist der verknüpfte netzguerilla.net Benutzer, der die Rechnung zahlt."""
@@ -102,7 +102,7 @@
         return object_session(self).query(Userright.offer_name).join(Offer,User).filter(and_(*filters))
     
     def job(self, id):
-        job = object_session(self).query(Job).join(User).filter(and_(User.name == self.name, Job.hash==id)).first()
+        job = object_session(self).query(Job).join(User).filter(and_(User.name == self.name, Job.id==id)).first()
         if job is None:
             raise JobNotFound()
         return job