--- MPIWGWeb/MPIWGStaff.py 2007/04/26 17:02:09 1.10.2.35 +++ MPIWGWeb/MPIWGStaff.py 2008/08/20 06:26:27 1.10.2.42 @@ -8,6 +8,8 @@ from Products.ZSQLExtend.ZSQLExtend impo from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.PageTemplates.PageTemplate import PageTemplate from Products.ZCatalog.CatalogPathAwareness import CatalogAware +from Products.versionedFile.extVersionedFile import extVersionedFileFolder + import os import logging import bibliography @@ -64,7 +66,7 @@ def createNewDBEntry(self,publish_the_da queryStr="INSERT INTO personal_www (%s) VALUES (%s)"%(columnlist,insertStr) self.ZSQLQuery("SET DATESTYLE TO 'German'") self.ZSQLQuery(queryStr) - logging.error("QQQQ %s:"%queryStr) + logging.info("QQQQ %s:"%queryStr) #currentwork if not (current_work==""): queryStr="INSERT INTO current_work (key_main,current,publish) VALUES ('%s',%s,'%s')"%(key,self.ZSQLQuote(current_work),"yes") @@ -109,7 +111,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend def updateDBEntry(self,publish_the_data,date_from,date_to,DBid=None,stay_at_mpiwg="",position="",abteilung=""): """zpddatedb""" if not DBid: - DBid=self.getDBId() + DBid=self.getDBId() self.ZSQLQuery("SET DATESTYLE TO 'German'") @@ -138,7 +140,70 @@ class MPIWGStaff(CatalogAware,ZSQLExtend if RESPONSE: RESPONSE.redirect("editPublications") + + def downloadCV(self,RESPONSE): + """download cv file""" + ob=self._getOb("downloadableFiles")._getOb("cv.pdf") + + RESPONSE.redirect(ob.absolute_url()+"/download") + + def getLastUpdateCV(self): + """getDate of Last Update""" + try: + ob=self._getOb("downloadableFiles")._getOb("cv.pdf") + return ob.getLastChangeDate() + except: + return "No file yet!" + def getLastUpdatePublications(self): + """getDate of Last Update""" + try: + ob=self._getOb("downloadableFiles")._getOb("publications.pdf") + return ob.getLastChangeDate() + except: + return "No file yet!" + def downloadPublications(self,RESPONSE): + """download publications""" + ob=self._getOb("downloadableFiles")._getOb("publications.pdf") + + RESPONSE.redirect(ob.absolute_url()+"/download") + + def changeDownloads(self,cv_pdf=None,cv_publish=None,publications_pdf=None,publications_publish=None,RESPONSE=None): + """"change the downloadable files""" + + if not hasattr(self,'downloadableFiles'): + + extFolder = extVersionedFileFolder() + extFolder.id = "downloadableFiles" + self._setObject(extFolder.id,extFolder) + + ob = self._getOb("downloadableFiles") + + if cv_publish: + self.cv_publish=cv_publish + + if publications_publish: + self.publications_publish=publications_publish + + if cv_pdf: + if not hasattr(ob,"cv.pdf"): + ob.addFile("",cv_pdf,newName="cv.pdf") + + else: + cvFile = getattr(ob,"cv.pdf") + cvFile.addContentObject("","",file=cv_pdf) + + if publications_pdf: + if not hasattr(ob,"publications.pdf"): + ob.addFile("",cv_pdf,newName="publications.pdf") + else: + cvFile = getattr(ob,"publications.pdf") + cvFile.addContentObject("","",file=publications_pdf) + + if RESPONSE: + RESPONSE.redirect(self.REQUEST['HTTP_REFERER']) + + def getPublishImage(self): """publish the image??, default no""" return getattr(self,'publishImage','no') @@ -148,17 +213,18 @@ class MPIWGStaff(CatalogAware,ZSQLExtend if file and not(file.filename==""): if self.getImageObj(): - self.getImageObj().updateImage(file,_rename=None,RESPONSE=None) + self.getImageObj().updateImage(file,_rename=None,RESPONSE=None) else: - # create new image object - xp = file.filename.rfind('.') - if xp > 0: - ext = file.filename[xp:] - fn = self.getId()+ext - logger("MPWIG STAFF", logging.INFO, "new filename: %s"%fn) - self.getImageFolder().addImage2(file,fileName=fn) - else: - logger("MPWIG STAFF", logging.ERROR, "uploaded filename %s has no extension!"%file.filename) + # create new image object + xp = file.filename.rfind('.') + if xp > 0: + ext = file.filename[xp:] + #fn = self.getId()+ext + fn = self.getId() + logger("MPWIG STAFF", logging.INFO, "new filename: %s"%fn) + self.getImageFolder().addImage2(file,fileName=fn) + else: + logger("MPWIG STAFF", logging.ERROR, "uploaded filename %s has no extension!"%file.filename) self.publishImage=publishImage @@ -172,7 +238,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend try: return self.getPhysicalRoot().www_neu.images.staff_images except: - logger("MPWIG STAFF", logging.ERROR, "image folder not found:"," has to be add /www_neu/staff_images") + logger("MPWIG STAFF", logging.ERROR, "image folder not found: has to be add /www_neu/staff_images") return None def getImageObj(self): @@ -215,6 +281,12 @@ class MPIWGStaff(CatalogAware,ZSQLExtend self.lastName=lastName self.firstName=firstName self.key=key + + def getPersonID(self): + """gibt den ID fuer die Person zurueck" + im Moment ist personID = id, i.e. e-mail + """ + return self.id def harvest_page(self): """geharvestete seite = verschlankte version von members_main""" @@ -266,11 +338,13 @@ class MPIWGStaff(CatalogAware,ZSQLExtend return pt() security.declareProtected('View management screens','changeMPIWGStaff') - def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None): + def changeMPIWGStaff(self,lastName,firstName,key=None,RESPONSE=None): """change it""" self.title="%s, %s"%(lastName,firstName) self.lastName=lastName self.firstName=firstName + if key: + self.key = key if RESPONSE is not None: RESPONSE.redirect('manage_main') @@ -297,6 +371,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend else: return style + security.declareProtected('View management screens','changeResearch') def changeResearch(self,noredirect=None): """change the research entries""" @@ -364,6 +439,13 @@ class MPIWGStaff(CatalogAware,ZSQLExtend if RESPONSE: RESPONSE.redirect("editCV") + security.declareProtected('View management screens','editDownloads') + def editDownloads(self): + """editiere die Downloads von der Webseite""" + + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editDownloads.zpt')).__of__(self) + return pt() + security.declareProtected('View management screens','editAwards') def editAwards(self,awards=None,oid=None,RESPONSE=None): """edit a awards""" @@ -435,7 +517,8 @@ class MPIWGStaff(CatalogAware,ZSQLExtend bookId="b%06i" % newId self.ZSQLAdd(argv,_table="bibliography",reference_type=_docType,id=bookId) - self.ZSQLAdd(_table="publications",id_gen_bib=bookId,key_main=self.getDBId(),publish='yes') + + self.ZSQLAdd(_useRequest=False,_table="publications",id_gen_bib=bookId,key_main=self.getDBId(),publish='yes') self.updatePublicationDB(personId=self.getDBId()) @@ -515,7 +598,8 @@ class MPIWGStaff(CatalogAware,ZSQLExtend entries = REQUEST.form.get('addEntries',None) if not (type(entries) is ListType): entries=[entries] - + + for bibId in entries: query="INSERT INTO %s " % "publications" query+="(key_main,id_institutsbibliographie,publish) "