470 | | fields = { self.info["userrdn"] : user.Name, |
471 | | "objectClass" : ["pykotaObject", "pykotaAccount", "pykotaAccountBalance"], |
472 | | "cn" : user.Name, |
473 | | "pykotaUserName" : user.Name, |
474 | | "pykotaLimitBY" : (user.LimitBy or "quota"), |
475 | | "pykotaBalance" : str(user.AccountBalance or 0.0), |
476 | | "pykotaLifeTimePaid" : str(user.LifeTimePaid or 0.0), |
477 | | } |
478 | | dn = "%s=%s,%s" % (self.info["userrdn"], user.Name, self.info["userbase"]) |
479 | | self.doAdd(dn, fields) |
| 474 | newfields = { |
| 475 | "pykotaUserName" : user.Name, |
| 476 | "pykotaLimitBY" : (user.LimitBy or "quota"), |
| 477 | "pykotaBalance" : str(user.AccountBalance or 0.0), |
| 478 | "pykotaLifeTimePaid" : str(user.LifeTimePaid or 0.0), |
| 479 | } |
| 480 | mustadd = 1 |
| 481 | if self.info["newuser"].lower() != 'below' : |
| 482 | result = self.doSearch("(&(objectClass=%s)(%s=%s))" % (self.info["newuser"], self.info["userrdn"], user.Name), None, base=self.info["userbase"]) |
| 483 | if result : |
| 484 | (dn, fields) = result[0] |
| 485 | fields["objectClass"].extend(["pykotaAccount", "pykotaAccountBalance"]) |
| 486 | fields.update(newfields) |
| 487 | self.doModify(dn, fields) |
| 488 | mustadd = 0 |
| 489 | |
| 490 | if mustadd : |
| 491 | fields = { self.info["userrdn"] : user.Name, |
| 492 | "objectClass" : ["pykotaObject", "pykotaAccount", "pykotaAccountBalance"], |
| 493 | "cn" : user.Name, |
| 494 | } |
| 495 | fields.update(newfields) |
| 496 | dn = "%s=%s,%s" % (self.info["userrdn"], user.Name, self.info["userbase"]) |
| 497 | self.doAdd(dn, fields) |
484 | | fields = { self.info["grouprdn"] : group.Name, |
485 | | "objectClass" : ["pykotaObject", "pykotaGroup"], |
486 | | "cn" : group.Name, |
487 | | "pykotaGroupName" : group.Name, |
488 | | "pykotaLimitBY" : (group.LimitBy or "quota"), |
489 | | } |
490 | | dn = "%s=%s,%s" % (self.info["grouprdn"], group.Name, self.info["groupbase"]) |
491 | | self.doAdd(dn, fields) |
| 502 | newfields = { |
| 503 | "pykotaGroupName" : group.Name, |
| 504 | "pykotaLimitBY" : (group.LimitBy or "quota"), |
| 505 | } |
| 506 | mustadd = 1 |
| 507 | if self.info["newgroup"].lower() != 'below' : |
| 508 | result = self.doSearch("(&(objectClass=%s)(%s=%s))" % (self.info["newgroup"], self.info["grouprdn"], group.Name), None, base=self.info["groupbase"]) |
| 509 | if result : |
| 510 | (dn, fields) = result[0] |
| 511 | fields["objectClass"].extend(["pykotaGroup"]) |
| 512 | fields.update(newfields) |
| 513 | self.doModify(dn, fields) |
| 514 | mustadd = 0 |
| 515 | |
| 516 | if mustadd : |
| 517 | fields = { self.info["grouprdn"] : group.Name, |
| 518 | "objectClass" : ["pykotaObject", "pykotaGroup"], |
| 519 | "cn" : group.Name, |
| 520 | } |
| 521 | fields.update(newfields) |
| 522 | dn = "%s=%s,%s" % (self.info["grouprdn"], group.Name, self.info["groupbase"]) |
| 523 | self.doAdd(dn, fields) |