Changeset 1787 for pykota/trunk
- Timestamp:
- 10/07/04 11:37:53 (20 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/pykota/storages/sql.py
r1778 r1787 22 22 # 23 23 # $Log$ 24 # Revision 1.55 2004/10/07 09:37:53 jalet 25 # Fixes recently introduced bug wrt users groups (was it three days ago ?) 26 # 24 27 # Revision 1.54 2004/10/05 10:05:04 jalet 25 28 # UnicodeEncodeError isn't defined in Python2.1 … … 197 200 """Extracts group information given its name.""" 198 201 group = StorageGroup(self, groupname) 199 result = self.doSearch("SELECT groups.*,sum(balance) AS balance, sum(lifetimepaid) AS lifetimepaid FROM groups,users WHERE groupname=%s AND users.id IN (SELECT userid FROM groupsmembers WHERE groupid=groups.id) GROUP BY groups.id,groups.groupname,groups.limitbyLIMIT 1" % self.doQuote(groupname))202 result = self.doSearch("SELECT * FROM groups WHERE groupname=%s LIMIT 1" % self.doQuote(groupname)) 200 203 if result : 201 204 fields = result[0] … … 203 206 group.Name = fields.get("groupname", groupname) 204 207 group.LimitBy = fields.get("limitby") 205 group.AccountBalance = fields.get("balance") 206 group.LifeTimePaid = fields.get("lifetimepaid") 208 result = self.doSearch("SELECT SUM(balance) AS balance, SUM(lifetimepaid) AS lifetimepaid FROM users WHERE id IN (SELECT userid FROM groupsmembers WHERE groupid=%s)" % self.doQuote(group.ident)) 209 if result : 210 fields = result[0] 211 group.AccountBalance = fields.get("balance") or 0.0 212 group.LifeTimePaid = fields.get("lifetimepaid") or 0.0 207 213 group.Exists = 1 208 214 return group … … 242 248 grouppquota = StorageGroupPQuota(self, group, printer) 243 249 if group.Exists : 244 result = self.doSearch("SELECT grouppquota.*,sum(pagecounter) AS pagecounter,sum(lifepagecounter) AS lifepagecounter FROM grouppquota,userpquota WHERE groupid=%s AND grouppquota.printerid=%s AND userpquota.printerid=%s AND userid IN (SELECT userid FROM groupsmembers WHERE groupsmembers.groupid=grouppquota.groupid) GROUP BY grouppquota.id,grouppquota.groupid,grouppquota.printerid,grouppquota.softlimit,grouppquota.hardlimit,grouppquota.datelimit" % (self.doQuote(group.ident), self.doQuote(printer.ident), self.doQuote(printer.ident)))250 result = self.doSearch("SELECT id, softlimit, hardlimit, datelimit FROM grouppquota WHERE groupid=%s AND printerid=%s" % (self.doQuote(group.ident), self.doQuote(printer.ident))) 245 251 if result : 246 252 fields = result[0] … … 249 255 grouppquota.HardLimit = fields.get("hardlimit") 250 256 grouppquota.DateLimit = fields.get("datelimit") 251 grouppquota.PageCounter = fields.get("pagecounter") 252 grouppquota.LifePageCounter = fields.get("lifepagecounter") 257 result = self.doSearch("SELECT SUM(lifepagecounter) AS lifepagecounter, SUM(pagecounter) AS pagecounter FROM userpquota WHERE printerid=%s AND userid IN (SELECT userid FROM groupsmembers WHERE groupid=%s)" % (self.doQuote(printer.ident), self.doQuote(group.ident))) 258 if result : 259 fields = result[0] 260 grouppquota.PageCounter = fields.get("pagecounter") or 0 261 grouppquota.LifePageCounter = fields.get("lifepagecounter") or 0 253 262 grouppquota.Exists = 1 254 263 return grouppquota