Annotation of MPIWGWeb/MPIWGProjects.pyc, revision 1.5

1.1       dwinter     1: ;
1.5     ! dwinter     2: E@c@s &dZd&k&lZ&dklZ&dklZ&dkZdkZdk  Z  dk
        !             3: TdkZdkl
Z
&dklZ&dd  d
        !             4: ddd
dddddddddddgZd g&ZdZdZdef&dYZdZed&Zdef&d YZd!Zed"&ZdS(#s,This files contains the class MPIWG Projects(&sPageTemplateFile(&sPageTemplate(&sZopePageTemplateN(&s&*(&s
        !             5: SimpleItem(&sFolders WEB_titlesxdata_01sxdata_02sxdata_03sxdata_04sxdata_05sxdata_06sxdata_07sxdata_08sxdata_09sxdata_10sxdata_11sxdata_12sxdata_13sWEB_project_headersWEB_project_descriptionsWEB_related_pubcCst|d&|&d&SdS(Ni&(scmps&xs&y(s&xs&y((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pyssortFscCs|d&i&d&}|&d&i&d&}d}d}yx|td&D]n}y|dt   ||&}Wn&&&|dd}n&Xy|dt ||&}WqB&&&|dd}qBXqBWt
        !             6: t |&t    |&SWn&&&t
        !             7: |d&|&d&Sn&XdS(Ni&s&.sis%04ii(s&xssplitsxsplits&ysysplitsxretsyretsranges&isintscmp(s&xs&ys&isxretsyretsysplitsxsplit((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pyssortIs$&&&&&&
&&&&&&&&&s MPIWGRootcBstZ&dZd&dgZdZdZeedZdZe  i
        !             8: hdd<d    d
        !             9: <f&Z
        !            10: dZed&Zd
Z
dZdZed&Zed&ZdZdZdZdZdZdZdZRS(sStammordner fr den Web-ServersMPIWGProjectsFolders    MPIWGRootcCs|&|_||_d&S(sinitN(sidsselfstitle(sselfsidstitle((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pys__init__4s&& &cCs"&g}|o
        !            11: &|}n&&x|iD]}t||}t|d&o&|idjoc&|&djo0&t
        !            12: |id&&djo
        !            13: &d}q&d}n&|&}|i
||i|&f&&n&&|i|ijo&||i|&|7}q&q"&q"W|djo&|it&&n&|it&&|SdS(  sgetListofFieldNamess    meta_typesMPIWGProjectsWEB_title_or_shortsxdata_07is WEB_titlesintN(sretsfoldersselfs__dict__sobjectsgetattrsobjshasattrs meta_types   fieldNameslens
        !            14: getContentsfieldNameTmpsappendsfolderssgetProjectFieldsssortssortIssortF(sselfs fieldNamesfolderssortsobjsobjectsretsfieldNameTmp((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysgetProjectFields9s*&&&
1.1       dwinter    15: &
1.5     ! dwinter    16: &&
&
        !            17: 
        !            18:  "
&
c&CsQg}x@|id&&D]/}&|&diddjo&|i|&&&q&qW|SdS(NsWEB_title_or_shortis(sprojectssselfsgetProjectFieldssobjssxdata_05sappend(sselfsobjssprojects((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysshowNewProjects\s&&&slabelsImport PersonssactionsimportNamesFormc&Cs td&&i&|&}&|&SdS(sForms(Products/MPIWGWeb/zpt/MPIWGNamesForm.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysimportNamesFormjs&&&cCst||}x|&iD]{}|id&&}|ddjoT&t   i  |d|d|d}y|i|d|&Wq&&&dG|dGHqXq&qW|t
j  o&|id&&n&&dS( s.import komma-sep list email,lastName,firstNames&,isi&is   not done:smanage_mainN(sgetattrsselfs
1.1       dwinter    19: folderNamesprojects
                     20: fileuploads readlinesslinessplitssplitteds
                     21: MPIWGStaffsnewObjs
                     22: _setObjectsRESPONSEsNonesredirect(sselfs
                     23: fileuploads
1.5     ! dwinter    24: folderNamesRESPONSEsprojectssplittedslinesnewObj((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysimportNamesos&&
&&!&&&&&
&c&CsEg}x*|iid&&D]}&|i|&i&&qW|i&|SdS(sgive list of all memberss
        !            25: MPIWGStaffN(sretsselfsmemberssobjectValuess&xsappendstitlessort(sselfs&xsret((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pys
getAllMemberss&&
        !            26: &cCs&t|&&tjo&|&g&Sn&|&Sd&S(s.makes a list out of one entry or repeat a listN(stypesentrys
        !            27: StringType(sselfsentry((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysmakeLists&&&c&Csg}x|id&dd&&D]}xx|did&D]c}|djoO&|id&}t|&}|}|di
        !            28: }&|i|||&|df&&q6&q6WqW|Sd S(
        !            29: sgenerate Tree from project listsxdata_05ssortsinti&s&;ss&.iN(
s
        !            30: returnListsselfsgetProjectFieldssprojectssplitsidNrs
        !            31: splittedIdslensdepthsnrs    WEB_titlestitlesappend(sselfstitles
        !            32: splittedIdsidNrsprojectsdepthsnrs
        !            33: returnList((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysgetTrees&&&&&&&&&
&)c
        !            34: Cs&g}   |id&&}x|D]}ti|&d|did&d}|o&t
        !            35: |id&id&&t
        !            36: |&id&&djod&yI|    it
|id&id&t
        !            37: |id&id&&d&&&Wq&&&|  id&&qXq&q&qW|    i&t
|    t
        !            38: | &d&}|i}xF|i|&D]5}|d7}|&dt|&|t
|&d_q4&W|tj o&|id&&n&&d S(
        !            39: sChange Postion Entrysxdata_05s\.(.*)i&s&;is&.i
        !            40: sshowTreeN(snumberssselfsgetProjectFieldssprojectssprojectsresmatchstreeIdssplitsfoundsslensgroupsappendsintssortshighestsshowNewProjectssmakeListsselects&isstrsxdata_05sRESPONSEsNonesredirect(
        !            41: sselfstreeIdsselectsRESPONSEsfoundss&isprojectshighestsprojectssnumbers((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pyschangePositions*&&&'&8&&I&&&
        !            42: &&&&
        !            43: &)
&cCsr|i&i}h}|i}x/|iD]!}|||t|&d&_  q+W|&tj    o&|&id&&n&&dS(schange the complete treeisshowTreeN(
sselfsREQUESTsformshashListsgetTreesfieldsskeyssidNrsintsxdata_05sRESPONSEsNonesredirect(sselfsRESPONSEshashListsformsfieldssidNr((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pys
        !            44: changeTrees&&&&
&
&cCsE|i&d&&}x+|D]#}|d|&jo&|dSq&qWtSdS(Nsxdata_05i&i(sselfsgetProjectFieldssfieldssfieldsidsNone(sselfsidsfieldssfield((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysgetProjectWithIds&&&&cCsK&g}|&id&&}x&|D]&}|id&}  t|   &djo&|id&} n&&gi}|    D]}
1.3       dwinter    45: |t  i
                     46: dd|
1.4       dwinter    47: &&qe~}|ddjo&|d=n&&ti
|d    }|djo0&y|ihd
1.5     ! dwinter    48: |<&}Wq&&&t}qXn&&|o"&|id|di|f&&q&|id|&&qWti
|d&Sd
S(sget urls to person lists&;s&,i&s& s\s(.*)s$1iss AND stitles<a href=%s >%s</a>s%sN(sretslistssplitspersonsspersonssplittedslensappends_[1]sressubssplittedNewsstringsjoinssearchsselfsMembersCatalogsprojsNonesabsolute_url(sselfslistssearchspersonssplittedNewsrets_[1]spersonssprojssplittedssplit((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysgetUrlFromPersons*&&&&&&&6&&&&&&&&"&c&Cs|g}&|i}x_|D]W}|id&&}|ihdti |d<&}|o&|&i||f&&q&qW|&SdS(sgive tuple member /projectss&,sxdata_01s ANDN(sretsselfs
getAllMemberssmemberss&xssplitssplittedsProjectCatalogsstringsjoinsprojsappend(sselfsretsprojsmembersssplitteds&x((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysgetProjectsOfMemberss&&&&&$&&&c Cs&|&i&d&&}t|&djo&|&i&d&}n&&gi}|D]}|tidd|&&qC~}|ddjo&|d=n&&t    i
1.3       dwinter    49: |d}|djo&|i
hd |<&}n&&|o5&gi}|D]}||i|ig&&q~Sn&gStSd
1.5     ! dwinter    50: S(sDcheck if person is in personfolder and return list of person objectss&,i&s& s\s(.*)s$1iss AND stitleN(snamessplitssplittedslensappends_[1]sressubssplittedNewsstringsjoinssearchsselfsMembersCatalogsprojs&xslastNames firstNamesobjs(  sselfsnamessearchssplittedNews_[1]sprojssplitssplitteds&x((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysgivePersonLists&&&&6&&&&&&5cCsa|&i&d&&}h}xA|D]9}|djo%&y|i|&||<WqU&&&qUXq&qW|SdS(sall persons for lists&;sN(snamesssplitssplittedsretsnamesselfsgivePersonList(sselfsnamessnamesretssplitted((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pyspersonCheck(&s&&&&&&&cCs1|d&jo &|i|&i|&&}|Sn&&dS(sreturn checklistsxdata_01N(s   fieldnamesselfspersonCheckspersons
        !            51: getContents&x(sselfspersons  fieldnames&x((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pys
giveCheckList7&s&
&cCs|&t&jSd&S(sreturn chechfieldN(s fieldnamescheckFields(sselfs fieldname((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysisCheckField@&s&(s__name__s
        !            52: __module__s__doc__sfolderss meta_types__init__sNonesgetProjectFieldssshowNewProjectssFoldersmanage_optionssimportNamesFormsimportNamess
getAllMemberssmakeListsgetTreeschangePositions
        !            53: changeTreesgetProjectWithIdsgetUrlFromPersonsgetProjectsOfMemberssgivePersonListspersonChecks
giveCheckListsisCheckField(((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pys   MPIWGRoot.s*&&   # 
        !            54: "           
         +          c&Cs td&&i&|&}&|&SdS(sform for adding the roots*Products/MPIWGWeb/zpt/addMPIWGRootForm.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysmanage_addMPIWGRootFormH&s&&&cCsAt|&|}|i|&|&|tj   o&|id&&&n&&dS(sadd a root foldersmanage_mainN( s    MPIWGRootsidstitlesnewObjsselfs
        !            55: _setObjectsRESPONSEsNonesredirect(sselfsidstitlesRESPONSEsnewObj((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysmanage_addMPIWGRootM&s
        !            56: &&&
&sMPIWGProjectcBstZ&dZd&ZdZed&Zed&Zei    hdd<dd<hdd  <dd
1.3       dwinter    57: <hdd<dd<hdd
<dd<fZ dZ
                     58: dZdZdZ
dZdZdZdZed&ZdZed&ZRS(sClass for ProjectssMPIWGProjectc&Cs|i&d&i}&g}x||&D]t}yW|ihd|<&}t|&djo&|id||f&&n&|i|&&Wq &&&|i|&&q Xq Wt    i
1.5     ! dwinter    59: |&SdS(sexperimental crosslinkerisfulltexti&s<a href=%s>%s</a>N(sselfsWEB_project_descriptionssplitssplittedsnewsDescriptionCatalogsfoundslensappendsstringsjoin(sselfssplittedssplitsnewsfound((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pyscrossLinker[&s&&&&&&&&&cCsnd&}|}|id&&o&|id&&&n&&t|d}|i||&|&t  j  o&|&i
1.1       dwinter    60: d&&n&&dS(s,Erzeuge Template fr defined fields not_useds
                     61: index_htmlsTEXTsmanage_mainN(sidstitlesselfs_getObs
                     62: _delObjectsZopePageTemplatesnewObjs
1.5     ! dwinter    63: _setObjectsRESPONSEsNonesredirect(sselfsRESPONSEstitlesnewObjsid((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysgenerateTemplateo&s&&&&&
&cCsg|&|_|&|_|o)&xGtD]}t||||&q Wn"&xtD]}t||d&&qIWdS(sinitieriere classesN(sidsselfstitlesargvs
definedFieldssargssetattr(sselfsidsargvsarg((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pys__init__~&s&   &   &&&&slabels
Load New FilesactionsloadNewFileFormsEdit ProjectInfoseditMPIWGProjectFormsEdit BasisInfoseditMPIWGBasisFormsEdit Publicationss editMPIWGRelatedPublicationsFormc&Cs9g}x(t&d&dD]}&|id|&&&qW|SdS(sgiveListofDatafieldsi&is
        !            64: xdata_%02iN(sretsranges&xsappend(sselfs&xsret((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pys
getDataFields&s&&&&&c&&&CstSd&S(sshow all defined fieldsN(&s
definedFields(&sself((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysgetDefinedFields&s&cCst||&Sd&S(s
get attrbiuteN(sgetattrsselfsfield(sselfsfield((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysgetAttribute&s&&cCsZd&}xIt&||&D]8}y||7}Wq&&&y
1.1       dwinter    65: |}WqN&&&d}qNXqXqW|SdS(sInhalt des FeldesusERRORN(stextsgetattrsselfsfields&x(sselfsfields&xstext((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pys
1.5     ! dwinter    66: getContent&s&&&&&
        !            67: &&c&Cs td&&i&|&}&|&SdS(ssimple indexs,Products/MPIWGWeb/zpt/MPIWGProject_index.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pys show_html&s&&c&Cs td&&i&|&}&|&SdS(seditforms+Products/MPIWGWeb/zpt/edit_MPIWGProject.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pyseditMPIWGProjectForm&s&&&c&Cs td&&i&|&}&|&SdS(seditforms)Products/MPIWGWeb/zpt/edit_MPIWGBasis.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pyseditMPIWGBasisForm&s&&&c&Cs td&&i&|&}&|&SdS(sEdit related Publicationss7Products/MPIWGWeb/zpt/edit_MPIWGRelatedPublications.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pys editMPIWGRelatedPublicationsForm&s&&&cCsdx?tD]7}|ii|&o&t|||i|g&&q&qW|&tj    o&|&id&&&n&&dS(sedit the projectsmanage_mainN(  s
definedFieldss&xsselfsREQUESTshas_keyssetattrsRESPONSEsNonesredirect(sselfsRESPONSEs&x((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pyseditMPIWGProject&s&&"
&c&Cs td&&i&|&}&|&SdS(sNeues XML-File einlesens.Products/MPIWGWeb/zpt/MPIWGProject_newfile.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysloadNewFileForm&s&&&cCs|i&d&}|oe&|i}|i}ti|&}x>t
1.1       dwinter    68: D]2}y"||d}t
|||&Wq?&&&q?Xq?Wn&&|&tj    o&|&id&&n&&dS(seinlesen des neuen filess
                     69: fileuploadismanage_mainN(sselfsREQUESTs
                     70: fileuploadsfilenames    file_namesreadsfiledatas xmlhelpers   proj2hashsargvs
definedFieldssargstempssetattrsRESPONSEsNonesredirect(sselfsRESPONSEs
1.5     ! dwinter    71: fileuploadstemps    file_namesargvsargsfiledata((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysloadNewFile&s&&
&& &&&
&(s__name__s
1.3       dwinter    72: __module__s__doc__s meta_typescrossLinkersNonesgenerateTemplates__init__sFoldersmanage_optionss
getDataFieldssgetDefinedFieldssgetAttributes
1.5     ! dwinter    73: getContents show_htmlseditMPIWGProjectFormseditMPIWGBasisForms editMPIWGRelatedPublicationsFormseditMPIWGProjectsloadNewFileFormsloadNewFile(((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysMPIWGProjectV&s"& a                      
 c&Cs td&&i&|&}&|&SdS(sform for adding the projects-Products/MPIWGWeb/zpt/addMPIWGProjectForm.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysmanage_addMPIWGProjectForm&s&&&cCs|i&id&&oO&|i&d&}|o(&|i}|i}ti   |&}n&&t|&|}n
&t|&&}|i|&|&|tj    o&|id&&n&&dS(smethod to add a projects
        !            74: fileuploadsmanage_mainN(sselfsREQUESTshas_keys
1.1       dwinter    75: fileuploadsfilenames    file_namesreadsfiledatas xmlhelpers   proj2hashsargvsMPIWGProjectsidsnewObjs
                     76: _setObjectsRESPONSEsNonesredirect(sselfsidsRESPONSEs
1.5     ! dwinter    77: fileuploads file_namesargvsfiledatasnewObj((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pysmanage_addMPIWGProject&s&&
&& &
&(s__doc__s'Products.PageTemplates.PageTemplateFilesPageTemplateFiles#Products.PageTemplates.PageTemplatesPageTemplates'Products.PageTemplates.ZopePageTemplatesZopePageTemplates
        !            78: MPIWGStaffsstringsrestypess xmlhelpersOFS.SimpleItems
1.1       dwinter    79: SimpleItems
1.5     ! dwinter    80: OFS.FoldersFolders
definedFieldsscheckFieldsssortFssortIs    MPIWGRootsmanage_addMPIWGRootFormsNonesmanage_addMPIWGRootsMPIWGProjectsmanage_addMPIWGProjectFormsmanage_addMPIWGProject(ssortIs
definedFieldss  MPIWGRootsstrings
1.1       dwinter    81: SimpleItemsmanage_addMPIWGProjects
1.5     ! dwinter    82: MPIWGStaffscheckFieldsssortFsZopePageTemplatesmanage_addMPIWGProjectFormsresPageTemplateFilesmanage_addMPIWGRootFormsFoldersPageTemplates   xmlhelpersmanage_addMPIWGRootsMPIWGProject((sQ/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/MPIWGWeb/MPIWGProjects.pys&?&s*&
&
&
    &   &   & &
&
9              

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>