# HG changeset patch # User casties # Date 1362417508 -3600 # Node ID 325e7c33881535918cb3467526f73e429ebc3e8f # Parent 400da3ba5fa039f652449e8224ef8ac5633bb6b2 research websites page. better department editing. diff -r 400da3ba5fa0 -r 325e7c338815 MPIWGDepartment.py --- a/MPIWGDepartment.py Fri Mar 01 17:57:36 2013 +0100 +++ b/MPIWGDepartment.py Mon Mar 04 18:18:28 2013 +0100 @@ -60,10 +60,12 @@ """default index page""" return self.getMain() - def getType(self): + def getType(self, lang=None): """returns the type of department (from /en/ folder)""" - # get Language from MPIWGRoot - lang = self.getLang() + if lang is None: + # get Language from MPIWGRoot + lang = self.getLang() + dir = getattr(self, lang, self.en) t = dir.title if not t: @@ -71,10 +73,12 @@ return t - def getTitle(self): + def getTitle(self, lang=None): """returns the title of the department (from main.pt)""" - # get Language from MPIWGRoot - lang = self.getLang() + if lang is None: + # get Language from MPIWGRoot + lang = self.getLang() + dir = getattr(self, lang, self.en) pt = getattr(dir, 'main.pt') t = pt.title @@ -141,7 +145,8 @@ if RESPONSE is not None: RESPONSE.redirect('manage_main') - def changeMPIWGDepartment(self, title=None, weight=None, project_id=None, director=None, director_id=None, RESPONSE=None): + 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): """change everything""" if title is not None: self.title = title @@ -153,6 +158,21 @@ self.director = director if director_id is not None: self.director_id = director_id + folder_en = self.get('en', None) + if folder_en is not None: + if type_en is not None: + folder_en.title = type_en + main_en = folder_en.get('main.pt', None) + if main_en is not None and title_en is not None: + main_en.title = title_en + folder_de = self.get('de', None) + if folder_de is not None: + if type_de is not None: + folder_de.title = type_de + main_de = folder_de.get('main.pt', None) + if main_de is not None and title_de is not None: + main_de.title = title_de + if RESPONSE is not None: RESPONSE.redirect('manage_main') diff -r 400da3ba5fa0 -r 325e7c338815 MPIWGRoot.py --- a/MPIWGRoot.py Fri Mar 01 17:57:36 2013 +0100 +++ b/MPIWGRoot.py Mon Mar 04 18:18:28 2013 +0100 @@ -258,11 +258,9 @@ def getSections(self): """returns a list of all sections i.e. top-level MPIWGFolders""" - secs = self.objectItems(['MPIWGFolder']) - secs.sort(sortWeight) - #logging.debug("root: %s secs: %s"%(repr(self.absolute_url()), repr(secs))) - # return pure list of objects - return [s[1] for s in secs] + items = self.objectValues(spec='MPIWGFolder')[:] + items.sort(key=lambda x:getattr(x, 'weight', '0')) + return items def getSectionStyle(self, name, style=""): """returns a string with the given style + '-sel' if the current section == name""" @@ -273,14 +271,16 @@ def getFeatures(self, num=None): """returns a list of the last num Features""" - dir = getattr(self, 'features') - features = dir.objectItems(['MPIWGFeature']) - features.sort(sortWeight) + dir = getattr(self, 'features', None) + if dir is None: + return [] + + items = dir.objectValues(spec='MPIWGFeature')[:] + items.sort(key=lambda x:getattr(x, 'weight', '0')) if num is not None: # take only the last num elements - features = features[-num:] - # return pure list of objects - return [f[1] for f in features] + items = items[-num:] + return items def getDepartments(self): """returns a list of the Departments""" @@ -288,10 +288,9 @@ if dir is None: return [] - depts = dir.objectItems(['MPIWGDepartment']) - depts.sort(sortWeight) - # return pure list of objects - return [f[1] for f in depts] + items = dir.objectValues(spec='MPIWGDepartment')[:] + items.sort(key=lambda x:getattr(x, 'weight', '0')) + return items def getMPIWGRoot(self): """returns the MPIWG root""" @@ -301,6 +300,7 @@ """returns the URL to the root""" return self.absolute_url() + #WTF? def patchProjects(self,RESPONSE): """patch""" projects=self.ZopeFind(self.projects,obj_metatypes=['MPIWGProject']) diff -r 400da3ba5fa0 -r 325e7c338815 css/mpiwg.css --- a/css/mpiwg.css Fri Mar 01 17:57:36 2013 +0100 +++ b/css/mpiwg.css Mon Mar 04 18:18:28 2013 +0100 @@ -570,6 +570,13 @@ margin-top: 0; } +div.sideblock h3 { + font-size: 12px; + margin-top: 5px; + padding-bottom: 5px; + border-bottom: 1px solid #dccbae; +} + /* * footer */ diff -r 400da3ba5fa0 -r 325e7c338815 zpt/department/manage_add_MPIWGDepartment.zpt --- a/zpt/department/manage_add_MPIWGDepartment.zpt Fri Mar 01 17:57:36 2013 +0100 +++ b/zpt/department/manage_add_MPIWGDepartment.zpt Mon Mar 04 18:18:28 2013 +0100 @@ -2,8 +2,6 @@