Annotation of ZSQLExtend/ZSQLExtend.pyc, revision 1.3

1.1       dwinter     1: ;ò
1.3     ! dwinter     2: :g*@c@sÂdkl&Z&&d&klZ&dklZ&dklZ&dkZdkZdk   Z  dk
1.1       dwinter     3: lZ&dkl
Z
&dkZd„Zdeee&fd    „ƒYZed
                      4: eƒƒZddded
„ZdS((&sFolder(&s
1.3     ! dwinter     5: Persistent(&sImplicit(&sDTMLFileN(&slibpq(&sgetSecurityManagerc&&&Cs|SdS(&N(&sname(&sname((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysquoteStringssZSQLExtendFoldercBsF&tZ&dZd&Zdd„&Zd„Zed„&Zd„Zd„Z  d„Z
        !             6: dd  „&Zed
        !             7: „&Zd„Z
d„Zd
„Zd„Zdded„Zd„Zdded„Zed„&Zed„&Zed„&Zdeeed„Zd„Zd„Zdd„&Zdd„&Zdd„&Zdd„&Zd „Zd!„ZRS("sFoldersZSQLExtendFolderscCs0d&G|&GHy|t|&|ƒSWn&&&dSn&XdS(sget Attribute or emptystringsobjsN(sobjsprefsgetattrsatribute(sselfsobjsatributespref((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
getSAttributes&   &&&&c&Cs|&o&|&Sn&d&SdS(smake none to empty stringsN(&sstr(sselfsstr((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysgetSs&&&cCs…|i&d&djo&|i&d}n&|i&d&}|&o&d||i&dSn1&|i&|&idƒ&}||d<ti|dƒSdS(   spathsHTTP_X_FORWARDED_SERVERss  HTTP_HOSTshttp://sPATH_TRANSLATEDs&/iN(sselfsREQUESTshostsurlssplitstempsstringsjoin(sselfsurlshoststemp((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
        !             8: actualPath%s&&
&&&
1.1       dwinter     9: &c&&&Cs|i&Sd&S(srequestN(sselfsREQUEST(&sself((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
1.3     ! dwinter    10: getRequest3s&&cCsti&i|&ƒ&d&dSdS(soinly for demois.jpgN(sosspathssplitext(sselfspath((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pyslowerEnd7s&&cCs-|&o&d&Sn&&|&djo&d&Sn&&dSdS(sTeste ob Treffer leeri&siN(&sfield(sselfsfield((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLisEmpty;s&&&
&&cCsd&|&}|SdS(s(return HTML Fragment with search optionssX&<select name="-op_%s">
1.1       dwinter    11:    <option value="bw">begins with</option>             <!-- begins with / beginnt mit, "Wort*" -->
                     12:    <option value="ew">ends with</option>
                     13:        <option value="ct" selected>contains</option>               <!-- contains / enthaellt, "Wort" -->
                     14:     <option value="eq">equals</option>                 <!-- equals / ist, =Wort -->
1.3     ! dwinter    15: </select>N(s   fieldnamesret(sselfs fieldnamesret((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLsearchOptionsDs&
1.1       dwinter    16: cKs|g}|&o&n&d&}&x<|iƒD].}|i|dtit||ƒ&ƒ&ƒ&&q$W|i
                     17: ti|dƒdd|&ƒ&SdS(sinlinesearchs
1.3     ! dwinter    18: foundCounts&=s&,s&_s   storenameN(
sqss  storenamesargvskeyss&asappendsurllibsquotesstrsselfsparseQueryStringsstringsjoin(sselfs   storenamesargvs&asqs((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLInlineSearchOs&&&&
&,cCsg}|id&|&ƒ&SdS(sinlinesearchsvarN(sqssselfssearchsquery(sselfsquerysqs((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLInlineSearch2_s&&c&CsÂ&|i&d&}h}
xü|idƒ&D]ë}tidd|idƒ&diƒƒ}|idƒ&d}tidd|ƒ}ti|ƒ&}|d jo&ti|ƒ&}
1.1       dwinter    19: q#&|d
                     20: jo&ti|ƒ&}q#&|ddjo&t|ƒ&djo &ti|ƒ&|
ti|ƒ&<q#&q#Wg}g}    xC|
iƒD]5}&|id|&dƒ&&|  iti|
|&ƒ&ƒ&&q+&Wti|d
ƒ}ti|   d
ƒ}d|
1.3     ! dwinter    21: ||f}|id|ƒ&&|i&ii|ƒ&SdS(s
Neuer EintragsQUERY_STRINGs&&sr'+'s& s&=ii&s\+s-tables-formats&-s&"s&,sINSERT INTO %s (%s) VALUES (%s)svarN(sselfsREQUESTsqssaddListssplits&qsressubslowersnamesvaluesurllibsunquotestablesformatslenskeyLists  valueListskeyss&xsappendslibpqs
PgQuoteStringsstringsjoins keyStringsvalueStringsqueryStringssearchsRESPONSEsredirect(sselfs&xsqssnamesformats   keyStringsqueryStringsvalues&qs   valueListstableskeyListsvalueStringsaddList((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLAddis4&&
&&&(&&&&
&&
&&&&$&&
&&&&&c&Ksg}    xH|iiiƒD]4}| i|d&tit  |ii|ƒ&ƒ&ƒ&&qWt
1.1       dwinter    22: i|  dƒ}g}xe&|idƒ&D]T&}titidd|id&ƒ&diƒƒƒ&}
|id&ƒ&d}tidd|ƒ}ti|ƒ&}|
djo&ti|ƒ&}qy&|
d  joD&ti|ƒ&}
                     23: |
                     24: id&ƒ&dd&ti|
                     25: id&ƒ&dƒ&}
                     26: qy&|
d
                     27: jo&ti|ƒ&}qy&|
ddjo&t|ƒ&djo/&|id|
d
titi|ƒ&ƒ&ƒ&&qy&qyWt
                     28: i|dƒ}d|||
                     29: f}|id|ƒ&&|iii |ƒ&SdS(sÄndern von Einträgens&=s&&sr'+'s& ii&s\+s-tables  -identifys-formats&-s&"s"=s&,sUPDATE %s SET %s WHERE %ssvarN(!sqs_tempsselfsREQUESTsformskeyss&asappendsurllibsquotesstrsstringsjoinsqss
                     30: changeListssplits&qsunquotesressubslowersnamesvaluestablesidentifyslibpqs
PgQuoteStringsformatslenschangeStringsqueryStringssearchsRESPONSEsredirect(sselfsargvs&asvaluesqssformatschangeStringsqueryStrings&qsqs_tempsidentifystables
                     31: changeListsname((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
1.3     ! dwinter    32: ZSQLChange†s4&&2&&1&&&&
&&
&&5&
&&&&3&&&&c&CsÇ&|i&d&}&g}xe&|&idƒ&D]T&}titi    dd|idƒ&di
1.1       dwinter    33: ƒƒƒ&}|idƒ&d} ti   dd|    ƒ}   ti|    ƒ&}   |d   jo&ti| ƒ&}
                     34: q#&|d
                     35: joD&ti|    ƒ&}|idƒ&ddti|idƒ&dƒ&}q#&|djo&ti|    ƒ&}q#&|ddjo&t|   ƒ&djo/&|id
|dtiti|   ƒ&ƒ&ƒ&&q#&q#Wti|dƒ}d|
                     36: ||f}|id|ƒ&&|i&ii|ƒ&SdS(sÄndern von EinträgensQUERY_STRINGs&&sr'+'s& s&=ii&s\+s-tables   -identifys-formats&-s&"s"=s&,sUPDATE %s SET %s WHERE %ssvarN(sselfsREQUESTsqss
                     37: changeListssplits&qsurllibsunquotesressubslowersnamesvaluestablesidentifyslibpqs
PgQuoteStringsformatslensappendsstringsjoinschangeStringsqueryStringssearchsRESPONSEsredirect(sselfsqssnamesformats
1.3     ! dwinter    38: changeListschangeStringsqueryStrings&qsidentifysvaluestable((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLChange_old¨s,&&
&&1&&&&
&&
&&5&
&&&&3&&&&soid,*c    CsÈ|&d&joN&|ido,&|id}&ti|&idƒ&dƒ}&qv&|iid}&n&ti|&idƒ&dƒ}&tidd|&ƒ}&|o&n&d}|i
1.1       dwinter    39: |&d  d
                     40: |ddd
|ƒ}|SdS(sFindssQUERY_STRINGs&&s&,squerys\+s& s
1.3     ! dwinter    41: foundCounts&-sselectsstoremaxsyess   storenameN(
sqssselfsREQUESTsstringsjoinssplitsSESSIONsressubs    storenamesparseQueryStringsselectsret(sselfsqssselects   storenamesret((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLFindÁs&
&&
&$cCst|&ƒ&SdS(&N(slensvar(sselfsvar((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLFoundCountLenÞs&s&*cCs'|o&n&d&}|ii|dSdS(Ns
        !            42: foundCountscount(s  storenamesselfsREQUESTsSESSION(sselfsqssselects  storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLFoundCountás&cCs'|&o&n&d&}&|ii|&dSdS(Ns
1.1       dwinter    43: foundCounts
1.3     ! dwinter    44: rangeStart(s    storenamesselfsREQUESTsSESSION(sselfs    storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLRangeStartøs&cCs'|&o&n&d&}&|ii|&dSdS(Ns
        !            45: foundCounts rangeSize(s  storenamesselfsREQUESTsSESSION(sselfs    storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
ZSQLRangeSize&&s&cCs'|&o&n&d&}&|ii|&dSdS(Ns
        !            46: foundCountsrangeEnd(s   storenamesselfsREQUESTsSESSION(sselfs    storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLRangeEnd
        !            47: &s&snocCsSd&}d}d}g}d}d}h}d}d}
d}h}|o
1.2       dwinter    48: &d}n&&|&i
dƒ&}xˆ|D]€}tidd |i
d
                     49: ƒ&diƒƒ}ti|i
d
                     50: ƒ&dƒ&}|dd!|d
jo&|}|d}|||<qj&qjWxC|&i
dƒ&D]2}tidd   |i
d
                     51: ƒ&diƒƒ}ti|i
d
                     52: ƒ&dƒ&}||djo
                     53: &|}qþ&||djo
                     54: &|}
                     55: qþ&||djo
                     56: &|}qþ&||djo &dt|ƒ&}t|ƒ&}qþ&||djo &dt|ƒ&}t|ƒ&}
qþ&||djo&|i|ƒ&&qþ&||djo&d|}qþ&||djo&&|djo&||iid<q0&qþ&||d
jo
                     57: &|}qþ&|d|jo&t |ƒ&djo|&&|iƒ}|||<|i!|ƒ&o&||}n&d}d|d}|djo*&|i|dt"i#d|dƒ&ƒ&&nô&|d jo"&|i|d!t"i#|ƒ&ƒ&&nÅ&|d"jo"&|i|d#t"i#|ƒ&ƒ&&n–&|d$jo"&|i|d
                     58: t"i#|ƒ&ƒ&&ng&|djo&&|i|dt"i#|dƒ&ƒ&&n4&|d%jo&&|i|dt"i#d|ƒ&ƒ&&n&&d}qþ&qþWt |ƒ&djo"&d&t$i%|d    |d  ƒ}n&d}d'||
                     59: ||||f} |djo&||iid(<n&&|o†&&d)|
1.3     ! dwinter    60: |f}|iii!|ƒ&o&h|ii|<n&&|ii|i!d*ƒ&o_&|ii|d*|jo?&||ii|d*<|i*d+|ƒ&di+|ii|d,<q£&n<&||ii|d*<|i*d+|ƒ&di+|ii|d,<|
|ii|d-<|d.jo&&|ii|d,|ii|d/<n%&t,|
ƒ&t,|ƒ&|ii|d/<||ii|d0<||ii|d1<n&&| GH|i*d+|   ƒ&Sd2S(3sanalysieren den QueryStringsANDsALLssbwisoid,*s&,sr'+'s& s&=i&isopislopstablesselectsmaxsLIMIT sskipsOFFSET sjoinssorts  ORDER BY stokensyessctsLOWER(s&)s LIKE s&%sgts&>slts&<seqsewsWHERE sSELECT %s FROM %s %s %s %s %ssqssSELECT count(*) FROM %s %ssqueryString2svarscounts
1.2       dwinter    61: rangeStartsallsrangeEnds    rangeSizessearchFieldsN(-slopsmaxsmaxstrs whereListssortsopsopfieldssskips
                     62: rangeStartslimitssearchFieldssselectsqsssplitssplitteds&qsressubslowersnamesurllibsunquotesvaluesiCTsfieldstablesstrsappendsnostoresselfsREQUESTsSESSIONslenshas_keyslibpqs
PgQuoteStringsstringsjoinswheresquerys    storenamesquery2ssearchscountsint(sselfsqssiCTsstoremaxsselectsnostores  storenamesskipsopfieldssquerystablesfieldsmaxstrs
1.3     ! dwinter    63: rangeStartslopssearchFieldsssorts   whereListsmaxsquery2snamesvalues&qslimitssplittedswheresop((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysparseQueryString&s¸&&&&&&&&&&&&
1.1       dwinter    64: (&&&
                     65: &(&&
                     66: &&
                     67: &&
                     68: &&&&&&&&&&&&&&
1.2       dwinter    69: &
1.3     ! dwinter    70: &&&
&*&
&"&
&"&
&"&
&&&
&&&&"&&&&&/&'&
&&$&&&c&Cs»|i&d&}|idƒ&}&xP|&D]H}|idƒ&}y)|diƒdjo&|d}n&&Wq#&&&q#Xq#Wt    i
1.1       dwinter    71: |i&d&idƒ&dƒ|i&id<|i&ii
ti|ƒ&ƒ&Sd   S(
                     72: s
                     73: To be donesQUERY_STRINGs&&s&=is-formati&s&,squeryN(sselfsREQUESTsrqssplitsqueryss   querytempsqueryslowers
                     74: formatfilesstringsjoinsSESSIONsRESPONSEsredirectsurllibsunquote(sselfsqueryssrqs
                     75: formatfilesquerys   querytemp((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
1.3     ! dwinter    76: ZSQLSearch¡&s&&
&&&&&&&,&cCs yt|&ƒ&SWn&&&d&Sn&XdS(Ni(sintsstring(sselfsstring((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLint³&s&&&s
        !            77: foundCountcCs5|i&i|&d&iƒGH|i&i|&d&iƒSdS(sget searchfieldListssearchFieldsN(sselfsREQUESTsSESSIONs storenameskeys(sselfs    storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysgetZSQLSearchFieldsListº&s&&&cCs-d&G|i&i|&dGH|i&i|&dSdS(sget searchfieldsSFssearchFieldsN(sselfsREQUESTsSESSIONs  storename(sselfs storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysgetZSQLSearchFields¿&s&&&cCs¹&y<|i&i|d&}t|i&i|dƒ&t|ƒ&}
1.1       dwinter    78: Wn&&&d}d}
                     79: n&X|
                     80: |i&i|djo&|i&i|dd}
                     81: n&&|i&ddjo&&|i&id}ti  |d   ƒ}n &|i&d}ti    |d
                     82: ƒ}g}d}  xn|D]f}|ddjo&d|d<n&&|i   d
ƒ&diƒdjo&d} d|
                     83: }n&&|i|ƒ&&qõW|    djo&d|
                     84: }|i|ƒ&&n&&ti|d
                     85: ƒ}d|iƒd||&fSdS(snextLinks rangeSizes
                     86: rangeStartiscounti
                     87: sQUERY_STRINGssquerys&,s&&s&_s&-s&=s-skipi&s-skip=%is<a href='%s'>%s</a>s&?N(sselfsREQUESTsSESSIONs    storenameslimitsints
newRangeStartsqssstringssplitsqueriessnewquerys  skipFoundsqueryslowersappendsjoinsnewquerystrings
1.3     ! dwinter    88: actualPathshtml(sselfshtmls storenamesqssnewquerystringslimitsnewquerysqueriessquerys    skipFounds
newRangeStart((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysnextLinkÅ&s:&&&&(&&&
1.1       dwinter    89: &&
& &&&
&
                     90: &cCs™&y<|i&i|d&}t|i&i|dƒ&t|ƒ&}
                     91: Wn&&&d}d}
                     92: n&X|
                     93: djo
                     94: &d}
                     95: n&&|i&ddjo&&|i&id}ti  |dƒ}n &|i&d}ti  |dƒ}g}d} xn|D]f}|dd  jo&d
                     96: |d<n&&|i   dƒ&diƒdjo&d
|
                     97: }d}  n&&|i|ƒ&&qÕW| djo&d
|
                     98: }|i|ƒ&&n&&ti|dƒ}d|iƒd||&fSdS(s prev links   rangeSizes
                     99: rangeStartisQUERY_STRINGssquerys&,s&&s&_s&-s&=s-skips-skip=%ii&s<a href='%s'>%s</a>s&?N(sselfsREQUESTsSESSIONs storenameslimitsints
newRangeStartsqssstringssplitsqueriessnewquerys  skipFoundsqueryslowersappendsjoinsnewquerystrings
1.3     ! dwinter   100: actualPathshtml(sselfshtmls storenamesqssnewquerystringslimitsnewquerysqueriessquerys    skipFounds
newRangeStart((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysprevLinkö&s:&&&&(&&&
1.1       dwinter   101: 
&
                    102: &
& 
                    103: &
                    104: &
&
                    105: &c
                    106: Csb&|i&d&djo&|i&id}n&|i&d&}tid|iƒƒ}tid|iƒƒ}|o
                    107: &d}n(&t
                    108: |ƒ&|}|djo
                    109: &d}n&&ti|dƒ}g} |ob&x‚|D]S}|idƒ&diƒd    jo&d
                    110: |}n&&|  i|ƒ&&ti|  dƒ}qÄWn$&|id
                    111: |ƒ&&ti|dƒ}d|iƒd
||&fSdS(s  prev linksQUERY_STRINGssquerysmax\=(.*)\,soffset\=(.*)\,is&,s&=soffsets
                    112: -offset=%is&&s<a href='%s'>%s</a>s&?N(sselfsREQUESTsSESSIONsqssressearchslowersmaxsoffsets    offsetnewsintsstringssplitsqueriessnewquerysquerysappendsjoinsnewquerystrings
                    113: actualPathshtml(
1.3     ! dwinter   114: sselfshtmlsqssnewquerystrings   offsetnewsmaxsqueriessoffsetsquerysnewquery((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysprevLink_old+s.&&&
&&&&
1.1       dwinter   115: &
&
                    116: &&&&& &&
&&&c
                    117: Csh&|i&d&djo&|i&id}n&|i&d&}tid|iƒƒ}tid|iƒƒ}|o
                    118: &d}n.&t
                    119: |ƒ&t
                    120: |ƒ&}|djo
                    121: &d}n&&ti|dƒ}g} |ob&x‚|D]S}|id    ƒ&diƒd
                    122: jo&d|}n&&|    i|ƒ&&ti|  dƒ}qÊWn$&|id|ƒ&&ti|dƒ}d
|iƒd||&fSdS(s prev linksQUERY_STRINGssquerysmax\=(.*)\,soffset\=(.*)\,i&is&,s&=s-offsets
                    123: -offset=%is&&s<a href='%s'>%s</a>s&?N(sselfsREQUESTsSESSIONsqssressearchslowersmaxsoffsets    offsetnewsintsstringssplitsqueriessnewquerysquerysappendsjoinsnewquerystrings
                    124: actualPathshtml(
1.3     ! dwinter   125: sselfshtmlsqssnewquerystrings   offsetnewsmaxsqueriessoffsetsquerysnewquery((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysnextLink_oldFs.&&&
&&&
1.1       dwinter   126: &
&
1.3     ! dwinter   127: &&&& &&
&&( s__name__s
        !           128: __module__s__doc__s meta_types
getSAttributesgetSsNones
1.1       dwinter   129: actualPaths
                    130: getRequestslowerEndsZSQLisEmptysZSQLsearchOptionssZSQLInlineSearchsZSQLInlineSearch2sZSQLAdds
                    131: ZSQLChangesZSQLChange_oldsZSQLFindsZSQLFoundCountLensZSQLFoundCountsZSQLRangeStarts
ZSQLRangeSizesZSQLRangeEndsparseQueryStrings
1.3     ! dwinter   132: ZSQLSearchsZSQLintsgetZSQLSearchFieldsListsgetZSQLSearchFieldssnextLinksprevLinksprevLink_oldsnextLink_old(((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLExtendFolders:&&                    
1.2       dwinter   133:       "              Ž     15   sZSQLExtendFolderAddsicCsðtƒ}t|&ƒ&|_||_|i|&|ƒ&|i|&ƒ&}tƒi    }|o,&|d&|ƒo
&td‚n&&|iƒ&n&&|o?&|d|ƒo
&td‚n&&|ididddd ƒ&n&&|tj    o&|i||d
1.1       dwinter   134: dƒ&Sn&&dS(
sÜAdd a new Folder object with id *id*.
                    135: 
                    136:     If the 'createPublic' and 'createUserF' parameters are set to any true
                    137:     value, an 'index_html' and a 'UserFolder' objects are created respectively
                    138:     in the new folder.
                    139:     sAdd User Folderss+You are not authorized to add User Folders.sAdd Page Templatess-You are not authorized to add Page Templates.s
PageTemplatessids
                    140: index_htmlstitlessupdate_menui&N(sZSQLExtendFoldersobsstrsidstitlesselfs
1.3     ! dwinter   141: _setObjects_getObsgetSecurityManagerscheckPermissionscreateUserFsUnauthorizedsmanage_addUserFolderscreatePublicsmanage_addProductsmanage_addPageTemplatesREQUESTsNonesmanage_main(sselfsidstitlescreatePublicscreateUserFsREQUESTsobscheckPermission((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysmanage_addZSQLExtendFoldergs"      && &&&&
&&
!
&(s
1.1       dwinter   142: OFS.FoldersFoldersGlobalss
                    143: PersistentsAcquisitionsImplicitsDTMLFilesurllibsresstringspyPgSQLslibpqs
AccessControlsgetSecurityManagersos.pathsossquoteStringsZSQLExtendFoldersglobalssmanage_addZSQLExtendFolderFormsNonesmanage_addZSQLExtendFolder(sZSQLExtendFoldersmanage_addZSQLExtendFoldersstringsmanage_addZSQLExtendFolderFormslibpqsquoteStrings
1.3     ! dwinter   144: PersistentsurllibsDTMLFilesresgetSecurityManagersFoldersossImplicit((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys&?&s
&
&
&
&   &   &   &
&
&      ÿÿV

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