# HG changeset patch # User casties # Date 1368700470 -7200 # Node ID 7aaed5218d55e0f84d0bf88a4ce6e1df199ef471 # Parent 48e88706cfc3a4ac78ca692c9df126fa3a3eb8e4 added staffdb_key to departments. getDepartment also gets by id. diff -r 48e88706cfc3 -r 7aaed5218d55 MPIWGDepartment.py --- a/MPIWGDepartment.py Thu May 16 10:51:51 2013 +0200 +++ b/MPIWGDepartment.py Thu May 16 12:34:30 2013 +0200 @@ -25,7 +25,7 @@ changeForm = PageTemplateFile('zpt/department/manage_config', globals()) def __init__(self, id, title=None, weight=0, project_id=0, director='', director_id='', - type_en=None, type_de=None, title_en=None, title_de=None): + type_en=None, type_de=None, title_en=None, title_de=None, staffdb_key=None): self.id = str(id) self.weight = weight self.project_id = project_id @@ -36,6 +36,8 @@ self.director = director self.director_id = director_id + + self.staffdb_key = staffdb_key # add language folders and sample templates mainid = 'main.pt' @@ -99,6 +101,10 @@ """return the project number""" return self.project_id + def getStaffDbKey(self): + """Return the key for this department in the staff db (personalwww).""" + return getattr(self, 'staffdb_key', None) + def getUrl(self, baseUrl=None): """returns URL to this Department""" if baseUrl is None: @@ -170,8 +176,9 @@ if RESPONSE is not None: RESPONSE.redirect('manage_main') + def changeMPIWGDepartment(self, title=None, weight=None, project_id=None, director=None, director_id=None, - type_en=None, type_de=None, title_en=None, title_de=None, RESPONSE=None): + type_en=None, type_de=None, title_en=None, title_de=None, staffdb_key=None, RESPONSE=None): """change everything""" if title is not None: self.title = title @@ -183,6 +190,8 @@ self.director = director if director_id is not None: self.director_id = director_id + if staffdb_key is not None: + self.staffdb_key = staffdb_key folder_en = self.get('en', None) if folder_en is not None: if type_en is not None: @@ -201,6 +210,7 @@ if RESPONSE is not None: RESPONSE.redirect('manage_main') + def getBreadcrumbs(self): """return list of breadcrumbs from here to the root""" crumbs = [(self.getFullTitle(), self.absolute_url(), self)] @@ -220,14 +230,16 @@ def manage_addMPIWGDepartmentForm(self): - """Form for adding""" + """Form for adding a MPIWGDepartment""" pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/department/manage_add_MPIWGDepartment.zpt')).__of__(self) return pt() + def manage_addMPIWGDepartment(self, id, title=None, weight=0, project_id=0, director=None, director_id=None, - type_en=None, type_de=None, title_en=None, title_de=None, RESPONSE=None): - "Add a MPIWG Department object" - newObj=MPIWGDepartment(id,title,weight,project_id,director,director_id,type_en,type_de,title_en,title_de) + type_en=None, type_de=None, title_en=None, title_de=None, staffdb_key=None, RESPONSE=None): + """Add a MPIWGDepartment object""" + newObj = MPIWGDepartment(id, title, weight, project_id, director, director_id, type_en, type_de, title_en, title_de, staffdb_key) self.Destination()._setObject(id,newObj) if RESPONSE is not None: RESPONSE.redirect('manage_main') + diff -r 48e88706cfc3 -r 7aaed5218d55 MPIWGRoot.py --- a/MPIWGRoot.py Thu May 16 10:51:51 2013 +0200 +++ b/MPIWGRoot.py Thu May 16 12:34:30 2013 +0200 @@ -207,12 +207,15 @@ return items - def getDepartment(self, projectNumber=None): + def getDepartment(self, id=None, projectNumber=None): """returns a Department object""" dir = getattr(self, 'departments', None) if dir is None: return None + if id is not None: + return dir.get(id, None) + if projectNumber is not None: for dep in dir.objectValues(spec='MPIWGDepartment'): if dep.getProjectNumber() == projectNumber: diff -r 48e88706cfc3 -r 7aaed5218d55 zpt/department/manage_add_MPIWGDepartment.zpt --- a/zpt/department/manage_add_MPIWGDepartment.zpt Thu May 16 10:51:51 2013 +0200 +++ b/zpt/department/manage_add_MPIWGDepartment.zpt Thu May 16 12:34:30 2013 +0200 @@ -17,6 +17,10 @@