mò .á¸Ec@sídZdkZdkZdkZdkZdklZdklZl Z dk l Z l Z dk lZlZdkZdkZdkZdkZdklZdklZdklZd klZd klZd klZd klZlZlZd k l!Z!dk"l#Z#dk$l%Z%l&Z&dk'l(Z(dk)l*Z*dk+l,Z,dk-l.Z.dk/l0Z0dk/l1Z1dk2l3Z3dk2l4Z4dk5Z6dk7l8Z8dk7l9Z9dZ:ei;dƒZ<gZ=dei>fd„ƒYZ?ee?ƒdei>fd„ƒYZ@ee@ƒd „ZAd!„ZBd"„ZCd#„ZDd$„ZEeiFd%d&d'd(d)d*d+ƒZGe!d*d,d-d.d(d)ƒZHe!d*d/d-d0d(d)ƒZIe!d*d1d-d2d(d)ƒZJeGd*d3d-d4d(d)ƒZKe!d*d5d-d6d(d)ƒZLdS(7sJCopy interface $Id: CopySupport.py 67823 2006-05-02 09:55:17Z philikon $ N(sescape(sloadssdumps(squotesunquote(scompresss decompress(sInitializeClass(sClassSecurityInfo(sgetSecurityManager(sview_management_screens(s copy_or_move(sdelete_objects(saq_basesaq_inners aq_parent(s MessageDialog(sResourceLockedError(s Unauthorizeds BadRequest(s ConflictError(s implements(snotify(sObjectCopiedEvent(sObjectMovedEvent(snotifyContainerModified(sObjectWillBeMovedEvent(sObjectClonedEvent(sICopyContainer(s ICopySources Copy Errors^copy([0-9]*)_of_(.*)t CopyContainercBsZtZdZeeƒeƒZd„Zd„Ze d„Z d„Z d„Z ei edƒeed„Zei edƒeeed „Zd „Zei ed ƒeed „Zei ed ƒeideƒƒZei edƒgged„Zei edƒed„Zeidƒed„Zd„Zd„ZeZdd„Z RS(s=Interface for containerish objects which allow cut/copy/pastecCst|||ƒdS(N(tsetattrtselftidtobject(RRR((t./data/zmath/zope/lib/python/OFS/CopySupport.pyt_setObDscCst||ƒdS(N(tdelattrRR(RR((Rt_delObGscCsEtt|ƒ|ƒot||ƒSn|tjo t|‚n|S(N(thasattrtaq_baseRRtgetattrtdefaultt_markertAttributeError(RRR ((Rt_getObJs   cCs|i|ddƒS(Ntidsi(RRtREQUEST(RR((Rtmanage_CopyContainerFirstItemQscCst|d„t|dƒƒS(NcCs |i|ƒS(N(tsRti(RR((RtUsR(tmapRttupleR(RR((Rtmanage_CopyContainerAllItemsTstmanage_cutObjectsc Csc|d jo|d j otSn|d jo td‚nt|ƒtdƒjo |g}ng}x‡|D]}|i |ƒ}|i ƒot d|i ƒ‚n|iƒpttt|ƒ‚nti|ƒ}|i|iƒƒqoWd|f}t|ƒ}|d j oH|d}|id|ddt|ƒƒ||d<|i||ƒSn|S( s=Put a reference to the objects named in ids in the clip boardsids must be specifiedts Object "%s" is locked via WebDAVitRESPONSEt__cptpaths%sN(RtNoneRteNoItemsSpecifiedt ValueErrorttypetoblistRRRtobt wl_isLockedtResourceLockedErrortgetIdt cb_isMoveablet CopyErrort eNotSupportedtescapetMonikertmtappendtdumptcpt _cb_encodetrespt setCookiet cookie_patht manage_main( RRRR#RR,R"R1R/((RRXs2           tmanage_copyObjectsc Cs?|djo|dj otSn|djo td‚nt|ƒtdƒjo |g}ng}xc|D][}|i |ƒ}|i ƒpt t t|ƒ‚nti|ƒ}|i|iƒƒqoWd|f} t| ƒ} |dj oH|d}|id| ddt|ƒƒ| |d<|i||ƒSn| S( s=Put a reference to the objects named in ids in the clip boardsids must be specifiedRiRRRs%sN(RRRRR R!R"RRRR#t cb_isCopyableR(R)R*R+R,R-R.R/R0R1R2R3R4( RRRRR#R1R,R"RR/((RR5vs.          cCsªti|ƒ}|o/t|idƒpdƒ}|idƒ}n d}|}xR|i|dƒdjo|Snd|o |dpd|f}|d}qTWdS(Nit1iis copy%s_of_%sR( tcopy_retmatchRtinttgrouptntorig_idRRR(RRR=R<R9((Rt_get_ids"tmanage_pasteObjectsc Cs×|dj o |}n2|dj o|idƒo|d}nd}|djo tt‚nyt|ƒ\}} Wntt ‚nXg}|i ƒ}x|| D]t}ti|ƒ} y| i|ƒ} Wn%tj o ‚ntt‚nX|i| d|dƒ|i| ƒq¤Wg}|djo•xa|D]Y} | iƒ}| iƒpttt|ƒ‚ny| i|ddƒWnDtj o ‚n0tt dddt!i"ƒdd d ƒ‚nX|i#|ƒ}|ihd |<d |<ƒ| } | i&|ƒ} | i'|ƒt(t)| | ƒƒ|i*|| ƒ|i+|ƒ} | i,ƒ| i-|ddƒt.i/i0d | | ƒt(t1| ƒƒq6W|dj o |i2||ddddƒSqÓn|djoxš|D]’} | iƒ}| i3ƒpttt|ƒ‚ny| i|ddƒWnDtj o ‚n0tt dddt!i"ƒdd d ƒ‚nXt4|| ƒp td‚nt5t6| ƒƒ} t8| ƒt8|ƒjo |}n|i#|ƒ}|ihd |<d |<ƒt(t9| | |||ƒƒ| i:ddƒy| i;|dt<ƒWn:t=j o.| i;|ƒt>i?d| i@iAtBƒnXt8| ƒ} | i'|ƒy |i*|| dddt<ƒWnCt=j o7|i*|| ddƒt>i?d|i@iAtBƒnX|i+|ƒ} t(tC| | |||ƒƒtD| ƒt8| ƒt8|ƒj otD|ƒn| i-|ddƒ| i:ddƒqØW|dj oT|diEddddtF|ƒddƒd|d<|i2||ddddƒSqÓn|S(shPaste previously copied objects into the current object. If calling manage_pasteObjects from python code, pass the result of a previous call to manage_cutObjects or manage_copyObjects as the first argument. Also sends IObjectCopiedEvent and IObjectClonedEvent or IObjectWillBeMovedEvent and IObjectMovedEvent. Rt validate_srciitopttitles Copy ErrortmessagetactionR4Rtnew_idtmanage_afterClonet update_menut cb_dataValids Move Errors(This object cannot be pasted into itselftexplicittsuppress_eventssU%s._delObject without suppress_events is deprecated and will be removed in Zope 2.11.t set_ownersU%s._setObject without suppress_events is deprecated and will be removed in Zope 2.11.RtdeletedRs%stexpiressWed, 31-Dec-97 23:59:59 GMTN(Gt cb_copy_dataRR/Rthas_keyR(teNoDatat _cb_decodeRAtmdatasteInvalidR"RtgetPhysicalRoottapptmdataR+t loadMonikerR,tbindR#t ConflictErrort eNotFoundt_verifyObjectPasteR-tresultR&R=R6R)R*t_notifyOfCopyTot MessageDialogtsystexc_infoR>Rtorig_obt_getCopyt_setIdtnotifytObjectCopiedEventt _setObjectRt wl_clearLockst _postCopytOFSt subscriberstcompatibilityCalltObjectClonedEventR4R't sanity_checkt aq_parenttaq_innertorig_containerR tObjectWillBeMovedEventtmanage_changeOwnershipTypet _delObjecttTruet TypeErrortwarningstwarnt __class__t__name__tDeprecationWarningtObjectMovedEventtnotifyContainerModifiedR2R3(RRNRRUR\R/RRVR=RRRaR,R#RpR"RA((RR?¡sØ                                tmanage_renameFormsdtml/renameFormtmanage_renameObjectscCs¢t|ƒt|ƒjo td‚nxNtt|ƒƒD]:}||||jo|i|||||ƒq9q9W|dj o|i ||ddƒSndS(sRename several sub-objectss!Please rename each listed object.RGiN( tlenRtnew_idst BadRequesttrangeRRtmanage_renameObjectRRR4(RRR€RR((RR~>s # RƒcCsgy|i|ƒWn/ttdddtiƒdddƒ‚nX|i|ƒ}|i ƒot d|i ƒ‚n|i ƒpttt|ƒ‚n|i|ƒy|i|ddƒWnDtj o ‚n0ttdd dtiƒdddƒ‚nXtt|||||ƒƒy|i|d tƒWn:tj o.|i|ƒtid |iitƒnXt|ƒ}|i|ƒy |i||d d d tƒWnCtj o7|i||d d ƒtid|iitƒnX|i|ƒ}tt |||||ƒƒt!|ƒ|i"|ddƒ|dj o|i%||ddƒSndS(s(Rename a particular sub-object. RBs Invalid IdRCiRDR4s Object "%s" is locked via WebDAVRAs Rename ErrorRJsU%s._delObject without suppress_events is deprecated and will be removed in Zope 2.11.RKisU%s._setObject without suppress_events is deprecated and will be removed in Zope 2.11.RGN(&Rt_checkIdRER(R^R_R`RRR#R$R%R&R'R)R*R[R]RYRdRqRsRtRuRvRwRxRyRzR RcRfR{R|RhRRR4(RRRERR#((RRƒJsV             t manage_clonecCsi|iƒpttt|iƒƒ‚ny|i|ƒWn/tt dddt i ƒdddƒ‚nX|i |ƒy|i |ddƒWnDtj o ‚n0tt dd dt i ƒdddƒ‚nX|}|i|ƒ}|i|ƒtt||ƒƒ|i||ƒ|i|ƒ}|i|ddƒtiid ||ƒtt|ƒƒ|S( sBClone an object, creating a new object with the given id. RBs Invalid IdRCiRDR4RAis Clone ErrorRFN(R#R6R(R)R*R&RR„RR^R_R`R[R]RYRaRbRcRdReRfRRhRiRjRkRl(RR#RRRa((RR…’s8     cCs)yt|idƒ}Wn dSnXdS(NRii(RQRRR/(RR/((RRH»s cCsuyt|idƒ}Wn gSnXg}|iƒ}x7|dD]+}ti |ƒ}|i |i |ƒƒqBW|S(NRi( RQRRR/R"RTRURVR+RWR,R-RX(RRVRUR,R"R/((Rt cb_dataItemsÁs  ic Csôt|dƒp5ttddddtt|iƒƒddƒ‚nt|dƒp"ttdddd ddƒ‚nd}d}t|i ƒ}x@|D]8}|d |ijo|d}|id ƒ}Pq™q™W|dj oÝtƒ}|i||ƒo›|oytt|ƒƒ}Wn d}nX|id|d|ƒptt|iƒƒ‚n|d jo'|it|ƒptd ƒ‚q‘q•q»qðttdddd|ddƒ‚n2ttddddtt|iƒƒddƒ‚dS(Nt meta_typeRBs Not SupportedRCs6The object %s does not support this operationRDR4tall_meta_typessCannot paste into this object.tnamet permissionisDelete not allowed.sInsufficient Privilegess‘You do not possess the %s permission in the context of the container into which you are pasting, thus you are not able to perform this operation.s7The object %s does not support this operation.(R RR(R^R*tabsattrRRRt method_namet mt_permissionRˆt meta_typestdR‡tgettgetSecurityManagertsmtcheckPermissionR@RnRotparenttvalidatet Unauthorizedtdelete_objects( RRR@RŽRR”R’RŒR((RR[ÏsH           (!Ryt __module__t__doc__t implementstICopyContainertClassSecurityInfotsecurityRRR RRRtdeclareProtectedR—RRtview_management_screensR5R>R?tGlobalstDTMLFiletglobalsR}R~Rƒt declarePublicR…RHR†t validClipDataR[(((RR:s6         ™  G  )  t CopySourcecBs‚tZdZeeƒeƒZeied ƒdd„Z dd„Z d„Z dd„Z d„Z d „Zd „Zd „ZRS( s:Interface for objects which allow themselves to be copied.t AnonymoustManagericCsdS(shCalled to make sure this object is copyable. The op var is 0 for a copy, 1 for a move. iN((RRA((Rt_canCopy$scCsdS(s¨Overide this to be pickly about where you go! If you dont want to go there, raise an exception. The op variable is 0 for a copy, 1 for a move. N((Rt containerRA((RR]+scCs£tidtƒ|idjotd| ‚n|idjotd| ‚nti ƒ}|ii |i |ƒ|i dƒ|ii|ƒ}|iƒ|S(Nt optimistics4Object "%s" needs to be in the database to be copieds*Container "%s" needs to be in the databasei(t transactiont savepointRtRt_p_jarRR(R©ttempfilet TemporaryFiletft exportFilet_p_oidtseekt importFileR#tclose(RR©R°R#((RRb3s   cCsdS(N((RR©RA((RRhKscCs ||_dS(N(RR(RR((RRcPscCsAt|dƒo |idƒpdSn|iƒpdSndS(NR¨ii(R RR¨tcb_userHasCopyOrMovePermission(R((RR6Ts   cCs°t|dƒo |idƒpdSnt|dƒo|idjodSnytt|ƒƒi}Wn f}nXt |i ƒ|jodSn|i ƒpdSndS(NR¨iiR­( R RR¨R­RRnRot_reserved_namesR<R‹RR¶(RR<((RR'\s    cCs"tƒit|ƒodSndS(Ni(R‘R“t copy_or_moveR(R((RR¶js(R¦R§(RyR˜R™Ršt ICopySourceRœRtsetPermissionDefaultR¸R¨R]RbRhRcR6R'R¶(((RR¥s          cCsft|ƒ}xSt|ƒ|jodSnt|ƒ}t|ƒdjodSnt|ƒ}qWdS(Nii(R R#tcRotinnerRnR(R»R#R¼((RRmqs  cCst|ƒo |ƒSn|S(N(tcallabletattr(R¾((RR‹~s cCsttt|ƒdƒƒS(Ni (tquotetcompresstdumpsR(R((RR0‚scCsttt|ƒƒƒS(N(tloadst decompresstunquoteR(R((RRQ…scCs|dpdS(Nt BASEPATH1t/(trequest(RÇ((RR3ˆssA &dtml-title;
TARGET="&dtml-target;">

!


ttargetRRDR4RBtChangedsNo DataRCsNo clipboard data found.sClipboard ErrorsˆThe data in the clipboard could not be read, possibly due to cookie data being truncated by your web browser. Try copying fewer objects.sItem Not FoundsOne or more items referred to in the clipboard data was not found. The item may have been moved or deleted after you copied it.s Not Supporteds+The action against the %s object could not be carried out. One of the following constraints caused the problem:

The object does not support this operation.

-- OR --

The currently logged-in user does not have the Copy or Move permission respective to the object.sNo items specifieds<You must select one or more items to perform this operation.(MR™treR_R®RvtcgiR*tmarshalRÂRÁturllibR¿RÄtzlibRÀRÃR R+tExtensionClassR«tInitializeClasst AccessControlRœR‘tAccessControl.PermissionsRŸR¸R—t AcquisitionR RoRnt App.DialogsR^twebdav.LockableR%t zExceptionsR–RtZODB.POSExceptionRYtzope.interfaceRšt zope.eventRdtzope.lifecycleeventRetzope.app.container.containedR{R|t OFS.eventRqRltOFS.subscribersRitOFS.interfacesR›R¹R(tcompileR8R tBaseRR¥RmR‹R0RQR3tHTMLtfMessageDialogRPRSRZR)R(7RÄRâRPR+RqR RYRdR*RnRR¸RZR—R®R¥R%R{RÊR)R‹RlRQR8RoRŸR R–RvR¿RœRÀRÐRÃR_RiR«R^RRmRšRÏR›R‘R(R0RÁR R¹ReRRÂRSR|R3((Rt?st                      ÿÝ U     !#