# HG changeset patch # User casties # Date 1367003881 -7200 # Node ID fd8e78bbc5ed36c201863fbef6e37adecb15f62e # Parent bbad6a0928610c56bd1755ab3afb2407e12dcb79 more work on projects. new member template uses new getProjectsOfMember. new isActiveMember in MPIWGStaffFolder. diff -r bbad6a092861 -r fd8e78bbc5ed MPIWGProjects.py --- a/MPIWGProjects.py Fri Apr 26 20:31:21 2013 +0200 +++ b/MPIWGProjects.py Fri Apr 26 21:18:01 2013 +0200 @@ -1759,9 +1759,9 @@ username = None if key: # get username from db - member = self.executeZSQL("select * from personal_www where lower(key) = %s", [key.lower()]) - if len(member) > 0: - username = re.sub('@mpiwg-berlin\.mpg\.de', '', member[0].e_mail) + member = self.getMPIWGRoot().getStaffFolder().getMember(key=key) + if member is not None: + username = member.getUsername() # schreibe keys und namen in die Liste checkedScientists[names[nr]] = {'name' : name, 'key' : key, 'username' : username} @@ -2016,6 +2016,7 @@ return "updated %s projects!" % cnt + security.declareProtected('View management screens', 'updateAllProjects') def updateAllProjects(self, updateResponsibleScientistsList=False): """patches all current projects for old problems""" @@ -2046,9 +2047,9 @@ key = key[0] # get username from db - member = self.executeZSQL("select * from personal_www where lower(key) = %s", [key.lower()]) - if len(member) > 0: - username = re.sub('@mpiwg-berlin\.mpg\.de', '', member[0].e_mail) + member = self.getMPIWGRoot().getStaffFolder().getMember(key=key) + if member is not None: + username = member.getUsername() newScientists[name] = {'name': name, 'key' : key, 'username' : username} diff -r bbad6a092861 -r fd8e78bbc5ed MPIWGRoot.py --- a/MPIWGRoot.py Fri Apr 26 20:31:21 2013 +0200 +++ b/MPIWGRoot.py Fri Apr 26 21:18:01 2013 +0200 @@ -286,27 +286,28 @@ return None + def getProjectFolder(self): """returns the MPIWGProjectFolder""" dir = getattr(self, 'projects', None) return dir + + def getStaffFolder(self): + """returns the MPIWGStaffFolder""" + dir = getattr(self, 'members_test', None) # TODO: fix the test + return dir + + def getMPIWGRoot(self): """returns the MPIWG root""" return self + def MPIWGrootURL(self): """returns the URL to the root""" return self.absolute_url() - - #WTF? - def patchProjects(self,RESPONSE): - """patch""" - projects=self.ZopeFind(self.projects,obj_metatypes=['MPIWGProject']) - for project in projects: - tmp=project[1].WEB_project_description[0].replace("/CD/projects/","")[0:] - setattr(project[1],'WEB_project_description',[tmp[0:]]) - RESPONSE.write("

%s

\n"%project[0]) + def replaceNotEmpty(self,format,field): """replace not empty""" @@ -325,7 +326,7 @@ _op_publish_the_data='eq', publish_the_data='yes'), 0) - logging.info("ACTIVE_MEMBER %s"%ret) + logging.info("MPIWGROOT ACTIVE_MEMBER %s"%ret) if ret: return True else: diff -r bbad6a092861 -r fd8e78bbc5ed MPIWGStaff.py --- a/MPIWGStaff.py Fri Apr 26 20:31:21 2013 +0200 +++ b/MPIWGStaff.py Fri Apr 26 21:18:01 2013 +0200 @@ -1093,13 +1093,20 @@ member = MPIWGStaffMember(self, dbresult=content) elif key is not None: - content = folder.executeZSQL("select * from personal_www where key = %s", [key]) + # TODO: sometimes key is lowercased (e.g. responsibleScientistsList), we should fix the data + content = self.executeZSQL("select * from personal_www where lower(key) = %s", [key.lower()]) if len(content) > 0: member = MPIWGStaffMember(self, dbresult=content) return member + def isActiveMember(self, key): + """returns if member key is active""" + res = self.executeZSQL("select * from personal_www where lower(key) = %s and publish_the_data = 'yes'", [key.lower()]) + return len(res) > 0 + + def sortPriority(self,list): def sort(x,y): try: @@ -1544,7 +1551,7 @@ REQUEST.response.redirect(self.REQUEST['HTTP_REFERER']) - def invalidate_chache(self): + def invalidate_cache(self): #TODO: How to invalidate the varnish cache from the member object pass; diff -r bbad6a092861 -r fd8e78bbc5ed zpt/project/project_template.zpt --- a/zpt/project/project_template.zpt Fri Apr 26 20:31:21 2013 +0200 +++ b/zpt/project/project_template.zpt Fri Apr 26 21:18:01 2013 +0200 @@ -26,7 +26,7 @@

History of Scientific Objectivity, 18th-19th Cs

- Name of responsible person, @@ -68,7 +68,7 @@ tal:define="parents here/getSuperProjects;" tal:condition="parents">

Part of: -
@@ -79,9 +79,8 @@

Related Projects

- +
diff -r bbad6a092861 -r fd8e78bbc5ed zpt/staff/member_index_html.zpt --- a/zpt/staff/member_index_html.zpt Fri Apr 26 20:31:21 2013 +0200 +++ b/zpt/staff/member_index_html.zpt Fri Apr 26 21:18:01 2013 +0200 @@ -138,13 +138,11 @@ -
+

Projects

-