ZEXP:(cOFS.Folder Folder q)tq.}q(U contributeursq)U config_okqU;qQUskinqU1Unew_okqUq:QU_ownerq;(]q<(Uzwook_active_kz1_0_rc1q=U acl_usersq>eUphilq?tq@Uzone_principaleqAU1U _propertiesqB(}qC(UtypeqDUstringqEUidqFUtitleqGUmodeqHUwu}qI(UtypeqJUstringqKUidqLU experimentalqMu}qN(UtypeqOUintqPUidqQUnoteqRu}qS(hOUstringqThQUversionqUu}qV(hOhThQUdevqWu}qX(hOhThQU certifdevqYu}qZ(hOhThQU certifwebq[u}q\(hOhThQU moderateurq]u}q^(Utypeq_Ulinesq`UidqaU descriptionqbu}qc(UtypeqdUlinesqeUidqfU contributeursqgu}qh(UtypeqiUlinesqjUidqkU changelogqlu}qm(UtypeqnUstringqoUidqphu}qq(hnhohphAutqrh$U?qsQU__ac_local_roles__qt}quU zwo_new_htmlqvU@qwQU experimentalqxUu.; (cProducts.PythonScripts.PythonScript PythonScript q)tq.}q(U Python_magicqUm qU _proxy_rolesq(UManagerqtqUwarningsq )U Script_magicq KU_bodyq T0error_message = """ %s Redirection automatique dans 2 secondes. Si la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuelle """ % (instid,'%s',instid) def url_relative_from_obj(obj): return obj.absolute_url().split(mem['racine_url']+'/')[1] # RECUPERATION DES PARAMETRES mem=context.zwo_lib.mem_mod_data() if type_rep=="skin": skin=context.zwo_info.skins[nom_rep] obj=skin[instid] else: dossier=mem['rep_obj'] obj=dossier[instid] if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' obj.manage_changeProperties(url=url) context.REQUEST.RESPONSE.redirect('../../') return q U _filepathq U@Script (Python):/kzexp_zwook/zwo_modules/exemplemodule/config_okqU_codeqTc@s dZdS(Nc sd|d|f}d}tttdd|djo4ttttdd|} t| |} ntd } t| |} td d jod Snt| d d|ttttdddddSdS(Ns% %s Redirection automatique dans 2 secondes. Si la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuelle s%scs9ttt|ddtdddSdS(Nt absolute_urltsplitt racine_urlt/i(t _getitem_t _getattr_tobjtmem(RRRR(R(sScript (Python)surl_relative_from_objstzwo_libt mem_mod_datatskintzwo_infotskinstrep_objtdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !tmanage_changePropertiesturltREQUESTtRESPONSEtredirects../../( tinstidt error_messageturl_relative_from_objRtcontextRttype_repRtnom_repR RtdossierR( RRRRRRRRRRR RR((RsScript (Python)s config_oks  !%(t config_ok(R((sScript (Python)stqU func_defaultsqNUerrorsq)U _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerq usbU_dav_writelocksq!UAq"QU__ac_local_roles__q#}q$Uxavq%]q&UOwnerq'asUidq(U config_okq)U_paramsq*Uinstid, nom_rep,type_rep,urlq+U func_codeq,(cShared.DC.Scripts.Signature FuncCode q-oq.}q/(U co_argcountq0KU co_varnamesq1(Uinstidq2Unom_repq3Utype_repq4Uurlq5U error_messageq6Umemq7Uurl_relative_from_objq8U _getattr_q9Ucontextq:U _getitem_q;Uskinqtq?ubu.<7(cProducts.PythonScripts.PythonScript PythonScript q)tq.}q(U Python_magicqUm qU _proxy_rolesq(UManagerqtqUwarningsq )U Script_magicq KU_bodyq Terror_message = """ %s Redirection automatique dans 2 secondes. Si la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuelle """ def url_relative_from_obj(obj): return obj.absolute_url().split(mem['racine_url']+'/')[1] # RECUPERATION DES PARAMETRES mem=context.zwo_lib.mem_mod_data() if type=="skin": skin=context.zwo_info.skins[nom] lieu=skin else: dossier=mem['rep_obj'] lieu=dossier url_lieu=lieu.absolute_url() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' idobj=context.zwo_lib.mix_id_zope(titre) # REDIRECTION SI IDENTIFIANT MAL CHOISI if idobj in lieu.objectIds(): msg= """

Cet identifiant %s est dja pris
Veuillez en choisir un autre
""" % idobj return error_message % msg # CREATION INSTANCE MODULE (dossier, image, DTML Document ou Fichier selon Besoin. Folder conseill en cas de doute) lieu.manage_addFolder(idobj,titre) obj=lieu[idobj] # AJOUT DES PROPRIETES OBLIGATOIRE DU MODULES obj.manage_addProperty('type_zwook','element','string') obj.manage_addProperty('element',container.getId(),'string') obj.manage_addProperty('url',url,'string') context.REQUEST.RESPONSE.redirect('../../place?nom='+nom+'&obj='+idobj) return q Uidq Unew_okqU_codeqTc@s dZdS(Ncsd}d}tttdd|djo+ttttdd|} | } ntd} | } t| d } td d jod Sntttdd |}|t| djod|}||Snt| d||t| |}t|ddddt|ddttddt|dd|dttttdddd|d|dSdS(Ns9 %s Redirection automatique dans 2 secondes.

Si la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuelle cs9ttt|ddtdddSdS(Nt absolute_urltsplitt racine_urlt/i(t _getitem_t _getattr_tobjtmem(RRRR(R(sScript (Python)surl_relative_from_obj stzwo_libt mem_mod_datatskintzwo_infotskinstrep_objRtdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !t mix_id_zopet objectIdsso

Cet identifiant %s est dja pris
Veuillez en choisir un autre
tmanage_addFoldertmanage_addPropertyt type_zwooktelementtstringtgetIdturltREQUESTtRESPONSEtredirects../../place?nom=s&obj=(t error_messageturl_relative_from_objRtcontextRttypeRtnomR tlieutdossierturl_lieuttitretidobjtmsgRt containerR(R#RRRRRRRRRR R R!R"R$R%RR&((RsScript (Python)snew_oks,  !  %1(tnew_ok(R'((sScript (Python)stqU func_defaultsqNUerrorsq)U _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerq usbU func_codeq!(cShared.DC.Scripts.Signature FuncCode q"oq#}q$(U co_argcountq%KU co_varnamesq&(Utitreq'Utypeq(Unomq)Uurlq*U error_messageq+Umemq,Uurl_relative_from_objq-U _getattr_q.Ucontextq/U _getitem_q0Uskinq1Ulieuq2Udossierq3Uurl_lieuq4Uidobjq5Umsgq6Uobjq7U containerq8tq9ubU__ac_local_roles__q:}q;Ugregq<]q=UOwnerq>asU _filepathq?U=Script (Python):/kzexp_zwook/zwo_modules/exemplemodule/new_okq@U_paramsqAUtitre, type, nom, urlqBU_dav_writelocksqCUBqDQu.= (cProducts.PythonScripts.PythonScript PythonScript q)tq.}q(U Python_magicqUm qUerrorsq)Uwarningsq)U Script_magicqKU_bodyq T# typemod est l'id du module et namemod est son title typemod='link_redirect' namemod='link_redirect' # EXEMPLE FORMULAIRE EDITION print '
' # Personalisation Formulaire print """

Url de redirection (laisser vide et le module redirigera sur le premier des rpertoires fils):

""" % (instance.url) print '' print '' print '' print '' print '
' return printed q Uidq Uzwo_config_htmlq U_codeq Tc@s dZdS(NcCst}d}d}|d|dIJ|dt|dIJ|dIJ|dt|dd IJ|d t|d d IJ|d t|d d IJ|d IJ|SdS(Nt link_redirects(
s

Url de redirection (laisser vide et le module redirigera sur le premier des rpertoires fils):

turls(s,s+ (cProducts.PythonScripts.PythonScript PythonScript q)tq.}q(U Python_magicqUm qUerrorsq)Uwarningsq)U Script_magicqKU_bodyq T#context.REQUEST.RESPONSE.redirect(instance.url) def listrepinrep(rep): if rep.zwo_dossier.hasProperty('ordre'): ordre=rep.zwo_dossier.ordre lordre=string.split(ordre,'&') else: lordre=[] listrep=[] for r in rep.objectValues('Folder'): if r.hasProperty('type_zwook'): if r.type_zwook=="dossier": listrep.append(r.getId()) listpage=[] for i in lordre: if i in listrep: if not i in listpage: listpage.append(i) for i in listrep: if not i in listpage: listpage.append(i) return [root[id] for id in listpage] url = '.' if instance.url != "": url = instance.url else: root = mem['rep_obj'] # sub_folder = [obj for obj in root.objectValues('Folder') if \ # (obj.hasProperty('type_zwook') and obj.type_zwook == 'dossier')] sub_folder = listrepinrep(root) if len(sub_folder) != 0: url = sub_folder[0].absolute_url() context.REQUEST.RESPONSE.redirect(url) return '' q U _filepathq UJScript (Python):/kzexp_stable_1.0/zwo_modules/example_module/zwo_view_htmlq U_codeq T(c@s dZdS(Nc sd}d}t|ddjot|d}nNt|d|}t|djott|dd}ntttt dd d |dSdS( Ncstt|dddo4tt|dd}ttd|d}ng}g}xvtt|ddD]Y}t|ddo=t|dd jo#t|d t|d nnq{Wg}xJt|D]<} | |jo)| |j ot|d | nnqWx9t|D]+} | |j ot|d | nq8Wgi } t|D]} | t | q{~ SdS( Nt zwo_dossiert hasPropertytordretsplitt&t objectValuestFoldert type_zwooktdossiertappendtgetId(t _getattr_trepRtstringtlordretlistrept _getiter_trtlistpagetiR t$append0tidt _getitem_troot(R R RR RRRRRRR RRRR(R(sScript (Python)s listrepinreps,+   t.turlttrep_objit absolute_urltREQUESTtRESPONSEtredirect( t listrepinrepRR tinstanceRtmemRt sub_foldertlentcontext( R"R!RR RR RR#R$R%((RsScript (Python)s zwo_view_htmls  %(t zwo_view_html(R&((sScript (Python)sRqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksqUDqQU__ac_local_roles__q }q!Uxavq"]q#UOwnerq$asUidq%U zwo_view_htmlq&U_paramsq'U mem,instanceq(U func_codeq)(cShared.DC.Scripts.Signature FuncCode q*oq+}q,(U co_argcountq-KU co_varnamesq.(Umemq/Uinstanceq0Urootq1U listrepinrepq2Uurlq3U _getattr_q4U _getitem_q5U sub_folderq6Ulenq7Ucontextq8tq9ubu.?(cOFS.Image Image q)tq.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUjamesq]q UOwnerq asUheightq KUwidthq KU content_typeq U image/pngqU__name__qU icone.pngqU_EtagSupport__etagqU ts56834943.11qUdataqTPNG  IHDRFtEXtSoftwareAdobe ImageReadyqe<5IDATxb?Û L ă?@\:?)3XHv*33"0"Yq&A>AC]8uPÝ"-?×~ +s'j1h[ ϳx"~Sf?1"+G kq*>0_;?;`[Q4}")~0}C#Ȱ` 2y3]pq0|?|Ǒ C-c P,$@ "K ;Qb/tֈIENDB`qUsizeqMu.@ (cProducts.PythonScripts.PythonScript PythonScript q)tq.}q(U Python_magicqUm qUerrorsq)Uwarningsq)U Script_magicqKU_bodyq TE# typemod est l'id du module et namemod est son title typemod='link_redirect' namemod='link_redirect' # proposition de nom pour l'element exemple_titre_base='link external ' exemple_titre=exemple_titre_base indice=0 while exemple_titre in dossier.objectIds(): indice=indice+1 exemple_titre=exemple_titre_base+str(indice) # debut formulaire HTML simple de cration d'element print '' print '' print '

Identifiant:

' print '

url de redirection (laisser vide et le module redirigera sur le premier des rpertoires fils) :

' # suite standard print '

' if dossier.type_zwook=="skin": print '' else: print '' print '' print '
' return printed q Uidq U zwo_new_htmlq U_codeq T`c@s dZdS(Nc Cst}d}d}d}|}d}x8|t|djo|d}|t |}q*W|d|dIJ|dIJ|d |d IJ|d IJ|d IJt|d djo|dIJn |dIJ|dt|ddIJ|dIJ|SdS(Nt link_redirectslink external it objectIdsis(
ssA

Identifiant:

s

url de redirection (laisser vide et le module redirigera sur le premier des rpertoires fils) :

s;

t type_zwooktskins.s1s's
( t_print_t_printttypemodtnamemodtexemple_titre_baset exemple_titretindicet _getattr_tdossiertstr( tmemR RRRRR R R R R((sScript (Python)s zwo_new_htmls(       (t zwo_new_html(R((sScript (Python)stqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode qoq }q!(U co_argcountq"KU co_varnamesq#(Umemq$Udossierq%U_print_q&U_printq'Utypemodq(Unamemodq)Uexemple_titre_baseq*U exemple_titreq+Uindiceq,U _getattr_q-Ustrq.tq/ubU__ac_local_roles__q0}q1Uxavq2]q3UOwnerq4asU _filepathq5UIScript (Python):/kzexp_stable_1.0/zwo_modules/example_module/zwo_new_htmlq6U_paramsq7U mem,dossierq8U_dav_writelocksq9UEq:Qu.A?(cPersistence.mapping PersistentMapping q)tq.}qUdataq}qs.BB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.CB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.DB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.EB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.