zope.app.rotterdam-3.5.3/0000775000177100020040000000000011707310033016377 5ustar menesismenesis00000000000000zope.app.rotterdam-3.5.3/setup.py0000664000177100020040000000603711707307726020136 0ustar menesismenesis00000000000000############################################################################## # # Copyright (c) 2006 Zope Foundation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## # This package is developed by the Zope Toolkit project, documented here: # http://docs.zope.org/zopetoolkit # When developing and releasing this package, please follow the documented # Zope Toolkit policies as described by this documentation. ############################################################################## """Setup for zope.app.rotterdam package $Id: setup.py 124142 2012-01-23 16:49:45Z menesis $ """ import os from setuptools import setup, find_packages def read(*rnames): return open(os.path.join(os.path.dirname(__file__), *rnames)).read() setup(name='zope.app.rotterdam', version='3.5.3', author='Zope Corporation and Contributors', author_email='zope-dev@zope.org', description='Rotterdam -- A Zope 3 ZMI Skin', long_description=( read('README.txt') + '\n\n' + read('CHANGES.txt') ), keywords = "zope3 zmi skin rotterdam", classifiers = [ 'Development Status :: 5 - Production/Stable', 'Environment :: Web Environment', 'Intended Audience :: Developers', 'License :: OSI Approved :: Zope Public License', 'Programming Language :: Python', 'Natural Language :: English', 'Operating System :: OS Independent', 'Topic :: Internet :: WWW/HTTP', 'Framework :: Zope3'], url='http://pypi.python.org/pypi/zope.app.rotterdam', license='ZPL 2.1', packages=find_packages('src'), package_dir = {'': 'src'}, namespace_packages=['zope', 'zope.app'], extras_require = dict(test=[ 'zope.app.component', 'zope.app.testing', 'zope.app.zcmlfiles', 'zope.login', 'zope.password', 'zope.securitypolicy', 'zope.site', ]), install_requires=['setuptools', 'zope.app.basicskin', 'zope.app.form', 'zope.app.pagetemplate', 'zope.component', 'zope.container', 'zope.i18n', 'zope.i18nmessageid', 'zope.interface', 'zope.proxy', 'zope.publisher >= 3.12', 'zope.security', 'zope.traversing', ], include_package_data = True, zip_safe = False, ) zope.app.rotterdam-3.5.3/CHANGES.txt0000664000177100020040000000161311707307726020230 0ustar menesismenesis00000000000000======= CHANGES ======= 3.5.3 (2012-01-23) ------------------ - Replaced an undeclared test dependency on ``zope.app.authentication`` with ``zope.password``. - Replaced an undeclared test dependency on ``zope.app.folder`` with ``zope.site``. 3.5.2 (2010-09-14) ------------------ - Removed not needed test dependency on ``zope.app.zptpage``. - Replaced test dependency on ``zope.app.securitypolicy`` by ``zope.securitypolicy``. - Using Python's ``doctest`` instead of deprecated ``zope.testing.doctest``. 3.5.1 (2010-01-08) ------------------ - Fix tests using a newer zope.publisher that requires zope.login. 3.5.0 (2009-02-01) ------------------ - Use zope.container instead of zope.app.container. 3.4.1 (2007-10-31) ------------------ - Resolve ``ZopeSecurityPolicy`` deprecation warning. 3.4.0 (2007-10-27) ------------------ - Initial release independent of the main Zope tree. zope.app.rotterdam-3.5.3/PKG-INFO0000664000177100020040000000403311707310033017474 0ustar menesismenesis00000000000000Metadata-Version: 1.1 Name: zope.app.rotterdam Version: 3.5.3 Summary: Rotterdam -- A Zope 3 ZMI Skin Home-page: http://pypi.python.org/pypi/zope.app.rotterdam Author: Zope Corporation and Contributors Author-email: zope-dev@zope.org License: ZPL 2.1 Description: This package provides an advanced skin for the Zope 3 ZMI. ======= CHANGES ======= 3.5.3 (2012-01-23) ------------------ - Replaced an undeclared test dependency on ``zope.app.authentication`` with ``zope.password``. - Replaced an undeclared test dependency on ``zope.app.folder`` with ``zope.site``. 3.5.2 (2010-09-14) ------------------ - Removed not needed test dependency on ``zope.app.zptpage``. - Replaced test dependency on ``zope.app.securitypolicy`` by ``zope.securitypolicy``. - Using Python's ``doctest`` instead of deprecated ``zope.testing.doctest``. 3.5.1 (2010-01-08) ------------------ - Fix tests using a newer zope.publisher that requires zope.login. 3.5.0 (2009-02-01) ------------------ - Use zope.container instead of zope.app.container. 3.4.1 (2007-10-31) ------------------ - Resolve ``ZopeSecurityPolicy`` deprecation warning. 3.4.0 (2007-10-27) ------------------ - Initial release independent of the main Zope tree. Keywords: zope3 zmi skin rotterdam Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Web Environment Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: Zope Public License Classifier: Programming Language :: Python Classifier: Natural Language :: English Classifier: Operating System :: OS Independent Classifier: Topic :: Internet :: WWW/HTTP Classifier: Framework :: Zope3 zope.app.rotterdam-3.5.3/bootstrap.py0000664000177100020040000000337311707307726021013 0ustar menesismenesis00000000000000############################################################################## # # Copyright (c) 2006 Zope Foundation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Bootstrap a buildout-based project Simply run this script in a directory containing a buildout.cfg. The script accepts buildout command-line options, so you can use the -c option to specify an alternate configuration file. $Id: bootstrap.py 124139 2012-01-23 16:28:53Z menesis $ """ import os, shutil, sys, tempfile, urllib2 tmpeggs = tempfile.mkdtemp() ez = {} exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py' ).read() in ez ez['use_setuptools'](to_dir=tmpeggs, download_delay=0) import pkg_resources cmd = 'from setuptools.command.easy_install import main; main()' if sys.platform == 'win32': cmd = '"%s"' % cmd # work around spawn lamosity on windows ws = pkg_resources.working_set assert os.spawnle( os.P_WAIT, sys.executable, sys.executable, '-c', cmd, '-mqNxd', tmpeggs, 'zc.buildout', dict(os.environ, PYTHONPATH= ws.find(pkg_resources.Requirement.parse('setuptools')).location ), ) == 0 ws.add_entry(tmpeggs) ws.require('zc.buildout') import zc.buildout.buildout zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap']) shutil.rmtree(tmpeggs) zope.app.rotterdam-3.5.3/COPYRIGHT.txt0000664000177100020040000000004011707307726020521 0ustar menesismenesis00000000000000Zope Foundation and Contributorszope.app.rotterdam-3.5.3/src/0000775000177100020040000000000011707310033017166 5ustar menesismenesis00000000000000zope.app.rotterdam-3.5.3/src/zope.app.rotterdam.egg-info/0000775000177100020040000000000011707310033024414 5ustar menesismenesis00000000000000zope.app.rotterdam-3.5.3/src/zope.app.rotterdam.egg-info/PKG-INFO0000664000177100020040000000403311707310025025512 0ustar menesismenesis00000000000000Metadata-Version: 1.1 Name: zope.app.rotterdam Version: 3.5.3 Summary: Rotterdam -- A Zope 3 ZMI Skin Home-page: http://pypi.python.org/pypi/zope.app.rotterdam Author: Zope Corporation and Contributors Author-email: zope-dev@zope.org License: ZPL 2.1 Description: This package provides an advanced skin for the Zope 3 ZMI. ======= CHANGES ======= 3.5.3 (2012-01-23) ------------------ - Replaced an undeclared test dependency on ``zope.app.authentication`` with ``zope.password``. - Replaced an undeclared test dependency on ``zope.app.folder`` with ``zope.site``. 3.5.2 (2010-09-14) ------------------ - Removed not needed test dependency on ``zope.app.zptpage``. - Replaced test dependency on ``zope.app.securitypolicy`` by ``zope.securitypolicy``. - Using Python's ``doctest`` instead of deprecated ``zope.testing.doctest``. 3.5.1 (2010-01-08) ------------------ - Fix tests using a newer zope.publisher that requires zope.login. 3.5.0 (2009-02-01) ------------------ - Use zope.container instead of zope.app.container. 3.4.1 (2007-10-31) ------------------ - Resolve ``ZopeSecurityPolicy`` deprecation warning. 3.4.0 (2007-10-27) ------------------ - Initial release independent of the main Zope tree. Keywords: zope3 zmi skin rotterdam Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Web Environment Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: Zope Public License Classifier: Programming Language :: Python Classifier: Natural Language :: English Classifier: Operating System :: OS Independent Classifier: Topic :: Internet :: WWW/HTTP Classifier: Framework :: Zope3 zope.app.rotterdam-3.5.3/src/zope.app.rotterdam.egg-info/dependency_links.txt0000664000177100020040000000000111707310025030463 0ustar menesismenesis00000000000000 zope.app.rotterdam-3.5.3/src/zope.app.rotterdam.egg-info/namespace_packages.txt0000664000177100020040000000001611707310025030745 0ustar menesismenesis00000000000000zope zope.app zope.app.rotterdam-3.5.3/src/zope.app.rotterdam.egg-info/not-zip-safe0000664000177100020040000000000111707307727026662 0ustar menesismenesis00000000000000 zope.app.rotterdam-3.5.3/src/zope.app.rotterdam.egg-info/top_level.txt0000664000177100020040000000000511707310025027142 0ustar menesismenesis00000000000000zope zope.app.rotterdam-3.5.3/src/zope.app.rotterdam.egg-info/requires.txt0000664000177100020040000000050111707310025027011 0ustar menesismenesis00000000000000setuptools zope.app.basicskin zope.app.form zope.app.pagetemplate zope.component zope.container zope.i18n zope.i18nmessageid zope.interface zope.proxy zope.publisher >= 3.12 zope.security zope.traversing [test] zope.app.component zope.app.testing zope.app.zcmlfiles zope.login zope.password zope.securitypolicy zope.sitezope.app.rotterdam-3.5.3/src/zope.app.rotterdam.egg-info/SOURCES.txt0000664000177100020040000000412211707310025026300 0ustar menesismenesis00000000000000CHANGES.txt COPYRIGHT.txt LICENSE.txt README.txt bootstrap.py buildout.cfg setup.py src/zope/__init__.py src/zope.app.rotterdam.egg-info/PKG-INFO src/zope.app.rotterdam.egg-info/SOURCES.txt src/zope.app.rotterdam.egg-info/dependency_links.txt src/zope.app.rotterdam.egg-info/namespace_packages.txt src/zope.app.rotterdam.egg-info/not-zip-safe src/zope.app.rotterdam.egg-info/requires.txt src/zope.app.rotterdam.egg-info/top_level.txt src/zope/app/__init__.py src/zope/app/rotterdam/__init__.py src/zope/app/rotterdam/configure.zcml src/zope/app/rotterdam/dialog_macros.pt src/zope/app/rotterdam/editingwidgets.py src/zope/app/rotterdam/favicon.png src/zope/app/rotterdam/ftesting.zcml src/zope/app/rotterdam/i18n.py src/zope/app/rotterdam/logo.gif src/zope/app/rotterdam/mi.gif src/zope/app/rotterdam/navigation_macros.pt src/zope/app/rotterdam/onlinehelp.js src/zope/app/rotterdam/pl.gif src/zope/app/rotterdam/popup_macros.pt src/zope/app/rotterdam/simpleeditingrow.pt src/zope/app/rotterdam/simpleeditingrowfragment.pt src/zope/app/rotterdam/site_management.css src/zope/app/rotterdam/site_management_tablelayout.css src/zope/app/rotterdam/standardmacros.py src/zope/app/rotterdam/template.pt src/zope/app/rotterdam/template_tablelayout.pt src/zope/app/rotterdam/testing.py src/zope/app/rotterdam/view_macros.pt src/zope/app/rotterdam/xmlobject.py src/zope/app/rotterdam/xmltree.js src/zope/app/rotterdam/zope3.css src/zope/app/rotterdam/zope3.js src/zope/app/rotterdam/zope3_tablelayout.css src/zope/app/rotterdam/zope3logo.gif src/zope/app/rotterdam/tests/__init__.py src/zope/app/rotterdam/tests/test_editingwidgets.py src/zope/app/rotterdam/tests/test_navtree.py src/zope/app/rotterdam/tests/test_xmlnavigationviews.py src/zope/app/rotterdam/tests/util.py src/zope/app/rotterdam/tests/output/test1.xml src/zope/app/rotterdam/tests/output/test2.xml src/zope/app/rotterdam/tests/output/test3.xml src/zope/app/rotterdam/tests/output/test4.xml src/zope/app/rotterdam/tests/output/test5.xml src/zope/app/rotterdam/tests/output/test6.xml src/zope/app/rotterdam/tests/output/test7.xml src/zope/app/rotterdam/tests/output/test8.xmlzope.app.rotterdam-3.5.3/src/zope/0000775000177100020040000000000011707310033020143 5ustar menesismenesis00000000000000zope.app.rotterdam-3.5.3/src/zope/__init__.py0000664000177100020040000000031011707307726022265 0ustar menesismenesis00000000000000# this is a namespace package try: import pkg_resources pkg_resources.declare_namespace(__name__) except ImportError: import pkgutil __path__ = pkgutil.extend_path(__path__, __name__) zope.app.rotterdam-3.5.3/src/zope/app/0000775000177100020040000000000011707310033020723 5ustar menesismenesis00000000000000zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/0000775000177100020040000000000011707310033022724 5ustar menesismenesis00000000000000zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/simpleeditingrow.pt0000664000177100020040000000146311707307726026701 0ustar menesismenesis00000000000000 Extended Editor
zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/pl.gif0000664000177100020040000000155011707307726024046 0ustar menesismenesis00000000000000GIF89aPPP@@@@@!,@EH H`A2tŋ.LH`D 19pɓ'~ 0aqJ(I|;zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/dialog_macros.pt0000664000177100020040000000665311707307726026125 0ustar menesismenesis00000000000000 Z3 UI
User: User
 
Test Another
content thingy
more data

Tip

A short tip goes here
zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/onlinehelp.js0000664000177100020040000000062411707307726025440 0ustar menesismenesis00000000000000//---------------------------------------------------------------------------- // depricated file use zope3.js instead //---------------------------------------------------------------------------- function popup(page, name, settings) { var message = 'file onlinehelp.js is depricated use Method popup() in zope3.js'; window.alert(message); win = window.open(page, name, settings); win.focus(); }zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/zope3.css0000664000177100020040000002224411707307726024521 0ustar menesismenesis00000000000000/* ** Zope3 style sheet for CSS2-capable browsers. ** */ /* * { border: 1px dotted red } */ /* Basic Elements */ body { font: 85% Helvetica, Arial, sans-serif; background: White; color: Black; margin: 0; padding: 0; /* These work in IE only, changes the look of the scrollbar + textareas */ scrollbar-base-color: White; scrollbar-highlight-color: White; scrollbar-track-color: #F8F8F8; scrollbar-darkshadow-color: #F8F8F8; scrollbar-3dlight-color: #369; scrollbar-shadow-color: #369; scrollbar-arrow-color: Black; } table { font-size: 100%; } a { text-decoration: none; color: #369; background-color: transparent; } a[href]:active { text-decoration: underline; } table { } img { border: none; vertical-align: middle; } p { margin: 0.5em 0em 1em 0em; line-height: 1.5em; } p a:visited { color: Purple; background-color: transparent; } p a:active { color: Red; background-color: transparent; } p img { border: 0; margin: 0; } hr { clear: both; height: 1px; color: #369; background-color: transparent; } h1, h2, h3, h4, h5, h6 { color: Black; clear: left; font: 100% bold Verdana, Helvetica, Arial, sans-serif; margin: 0; padding-top: 0.5em; border-bottom: 1px solid #369; } h1 { font-size: 160%; } h2 { font-size: 150%; } h3 { font-size: 140%; } h4 { font-size: 120%; } h5 { font-size: 100%; } h6 { font-size: 80%; } ul { line-height: 1.5em; /* list-style-image: url("bullet.gif"); */ margin-left: 2em; padding:0; } ol { line-height: 1.5em; margin-left: 2em; padding:0; } dl { } dt { font-weight: bold; } dd { line-height: 1.5em; margin-bottom: 1em; } fieldset { border: 1px solid #A0A0A0; /* margin: 2em 0em 1em 0em; padding: 1em 0em; */ margin: 0em 0em 2em 0em; padding: 0 1em 1em 1em; } legend { background: White; padding: 0.5em; } form { border: none; margin: 0; } textarea { color: Black; width: 88%; padding: 0.1em; } input { font: normal 100% Verdana, Helvetica, Arial, sans-serif; color: Black; vertical-align: middle; margin-bottom: 1px; /* IE bug fix */ padding: 0.1em; } select { font: normal 100% Verdana, Helvetica, Arial, sans-serif; vertical-align: top; } abbr, acronym, .explain { border-bottom: 1px dotted Black; color: Black; background-color: transparent; cursor: help; } q { font-family: Times, "Times New Roman", serif; font-style: italic; font-size: 120%; } blockquote { font-family: Times, "Times New Roman", serif; font-style: italic; font-size: 120%; } code { font-size: 120%; color: Black; background-color: #CCCCCC; } pre { font-size: 120%; padding: 1em; border: 1px solid #A0A0A0; color: Black; background-color: #CCCCCC; } .netscape4 { display: none; } /* Styles for xmltree */ #navtreecontents a { cursor: pointer; height: 20px; } #navtreecontents loading { display: block; padding-left: 31px; height: 18px; } #navtreecontents expand { background-repeat: no-repeat; padding-left: 14px; display: inline; cursor: pointer; } #navtreecontents icon { background-repeat: no-repeat; padding-left: 20px; display: inline; cursor: auto; } #navtreecontents icon.selected { background-color: #ffa; } #navtreecontents collection { display: block; margin-left: 10px; /* border: red solid 1pt; */ height: auto; } /* Structural elements */ #global { border-bottom: 0.1em solid black; } #global #userDetails { float:right; margin-top: 1.2em; padding-right: 0.5em; } #actions { background: #369; border-left: 1px solid #369; border-right: 1px solid #369; padding: 0.3em; color: Black; height: 1.3em; border-collapse: collapse; } #actions a { color: White; float: right; border-left: 1px dashed white; padding: 0 0.5em; } #actions a:hover { color: black; background-color: White; } #breadcrumbs { padding-top: 1px; padding-bottom: 1px; border: 1px solid #369; border-style: none none solid none; margin: 0; } #navigators { float: left; width: 15%; padding: 1em; overflow: hidden; } #workspace { width: 79%; float: left; } #content { float: left; /* width: 75%; */ } #context_information { padding-top: 1em; width: 15%; float: left; padding-left: 0.5em; } #helpers { } #inspectors { } #footer { border-bottom: 1px solid black; float: left; clear: both; } input.textType { width: 88%; /* Same as textarea */ } input.editcheck { float:left; position:relative; top:1em; } div.row { padding-top: 1em; } /* div.label { #clear: both; padding-top: 10px; } */ /* div.row div.field doesn't appear to be selecting. div.row div is a workaround */ /* This seems to work in Firefox 1.0 and IE6. */ div.row div.field { clear: left; padding-top: 1px; } div.row div.label { background: #369; color: #fff; padding: 0.1em 0.5em 0.1em 0.5em; /* Same as .itemViews */ border: 1px solid #369; /* Same as .itemViews */ margin: 0; float: left; clear: both; } div.row span.error { background: red; color: white; padding: 0.1em 0.5em 0.1em 0.5em; /* Same as .itemViews */ border: 1px solid red; /* Same as .itemViews */ margin: 0; float: left; clear: both; } div.box { margin: 0em 0em 2em 0em; padding: 0em; } div.box h4 { background: #CCCCCC; border: 1px solid #CCCCCC; border-style: solid solid none solid; color: #808080; padding: 0.3em 1em; display: block; font-size: 1em; height: 1em; text-align: center; } div.box div.body { background: transparent; border-collapse: collapse; border: 1px solid #CCCCCC; } div.box .content { padding: 0.5em; } div.box h1, div.box h2, div.box h3, div.box h4 { margin: 0; } div.box .even { background-color: #F8F8F8; } div.box .odd { background-color: White; } #metadata .label { font-size: 80%; } .itemViews { background: transparent; border-collapse: collapse; border-bottom: 1px solid #369; padding-top: 1px; padding-bottom: 1px; padding-left: 1em; margin-top: 0.8em; white-space: nowrap; } .itemViews a { background: transparent; border: 1px solid #369; color: Black; font-weight: normal; margin-right: 0.5em; padding: 0.1em 0.5em 0.1em 0.5em; } .itemViews a.selected { background: #369; border-bottom: #369 1px solid; color: White; font-weight: normal; } .itemViews a:hover { background-color: #369; color: White; } #viewspace { border-collapse: collapse; padding: 10px; margin: 0; } table.listingdescription, table.listing { /* The default table for document listings. Contains name, document types, modification times etc in a file-browser-like fashion */ border-collapse: collapse; border-left: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; margin: 1em 0em 1em 0em; /* clear: both; */ } table.listingdescription { width: 100% } table.listingdescription th, table.listing th { background: #CCCCCC; border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; color: #808080; font-weight: normal; padding: 0em 1em 0em 1em; white-space: nowrap; } table.listingdescription td.top, table.listing td.top { border-left: 1px solid White; border-top: 1px solid White ! important; border-right: 1px solid White ! important; text-align: right ! important; padding: 0em 0em 1em 0em; /* insane IE row bug workaround */ position: relative; left: -1px; top: -1px; } table.listingdescription tr.odd, table.listing tr.odd { /*every second line should be shaded */ background: White; } table.listingdescription tr.even, table.listing tr.even { background: #F8F8F8; } table.listing td { border-right: 1px solid #CCCCCC; padding: 0em 1em; text-align: left; } table.listingdescription img, table.listing img { vertical-align: middle; } table.listingdescription td { border-right: 1px solid #CCCCCC; padding: 5px; text-align: left; } /*colorize the matrix table used in grant.html*/ table.matrix td.default { background: green; } table.matrix td.changed { background: red; } div.spacer { clear: both; } .registrationSummary { margin-left: 2em; margin-bottom: 1em; } .registrationSummary .usageSummary { font-weight: bold; } .registrationSummary .modificationLink { display: block; } div.message { background: #FFCE7B; border: 1px solid #FFA500; color: Black; font: bold 80% Verdana, Helvetica, Arial, sans-serif; margin: 2em 0em 1em 0em; padding: 0.5em 1em; vertical-align: middle; } div.message a { color: Black; } /* Style for page error divs. Use this for displaying errors for a page as a whole. */ div.page_error { background: #FFCE7B; font: bold 80% Verdana, Helvetica, Arial, sans-serif; padding: 0.5em 1em; vertical-align: middle; } zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/zope3logo.gif0000664000177100020040000000274211707307726025360 0ustar menesismenesis00000000000000GIF89a*ݥ֕󓱿捭ԞűᠺƵӘ­Ϣ뚶û萯Ϊ㛶???///߯___OOOoooЏܡǧ˜ijҌ!,*pH,Ȥrl:ШtJZجvzx 92%$+srڕ.$rI !F 6&{':8;a v9#66#:G5(ɯB6= 9$ B ; G(>>3Q/*,Y= 8oK8":2VԨG%B @5 %]FFXHAfIPN=9`E:UP =4<0xAPRSq u+awV)E$gWB)z\" px0y = <髮Ƒ:?0Hd6x@ v 40l2&D.8 (qBLj4j4/: fLjR>q0zPsDI"aމ=×=<"FƄMl1vJ\ ,ĈtԳ\Lx9^!ۖKH#Sgmm=H(+1 Mpq2TgC190u}e}ĄT0O^PQ@  srl(BE+0+y'\H,E`a0 =PM4QRV~eˤBCL*DSw0䋞 |k]#FTZ3ڰuu2*^>6) * j:qB2â |s 86p ;zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/site_management.css0000664000177100020040000000150411707307726026615 0ustar menesismenesis00000000000000/* ** Customisations for the Site Management view ** Used when the URL contains ++etc++site */ a { color: #963; } #actions { background: #963; border-left: 1px solid #963; border-right: 1px solid #963; } #actions a { color: White; border-left: 1px dashed white; } #actions a:hover { color: black; background-color: White; } #breadcrumbs { border-bottom: 1px solid #963; } .itemViews { border-bottom: 1px solid #963; } .itemViews a { border: 1px solid #963; } .itemViews a.selected { background: #963; border-bottom: #963 1px solid; } .itemViews a:hover { background-color: #963; color: White; } hr { color: #963; } h1, h2, h3, h4, h5, h6 { border-bottom: 1px solid #963; } div.row div.label { background: #963; border: 1px solid #963; /* Same as .itemViews */ } zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/zope3_tablelayout.css0000664000177100020040000002440011707307726027122 0ustar menesismenesis00000000000000/* ** Zope3 style sheet for CSS2-capable browsers. ** For future skin see zope.app.boston. */ /* * { border: 1px dotted red } */ /* Basic Elements */ body { font: 85% Helvetica, Arial, sans-serif; background: White; color: Black; margin: 0; padding: 0; /* These work in IE only, changes the look of the scrollbar + textareas */ scrollbar-base-color: White; scrollbar-highlight-color: White; scrollbar-track-color: #F8F8F8; scrollbar-darkshadow-color: #F8F8F8; scrollbar-3dlight-color: #369; scrollbar-shadow-color: #369; scrollbar-arrow-color: Black; } table { border-collapse: collapse; font-size: 100%; } a { text-decoration: none; color: #369; background-color: transparent; } a[href]:active { text-decoration: underline; } img { border: none; vertical-align: middle; } p { margin: 0.5em 0em 1em 0em; line-height: 1.5em; } p a:visited { color: Purple; background-color: transparent; } p a:active { color: Red; background-color: transparent; } p img { border: 0; margin: 0; } hr { clear: both; height: 1px; color: #369; background-color: transparent; } h1, h2, h3, h4, h5, h6 { color: Black; clear: left; font: 100% bold Verdana, Helvetica, Arial, sans-serif; margin: 0; padding-top: 0.5em; border-bottom: 1px solid #369; } h1 { font-size: 160%; } h2 { font-size: 150%; } h3 { font-size: 140%; } h4 { font-size: 120%; } h5 { font-size: 100%; } h6 { font-size: 80%; } ul { line-height: 1.5em; /* list-style-image: url("bullet.gif"); */ margin-left: 2em; padding:0; } ol { line-height: 1.5em; margin-left: 2em; padding:0; } dl { } dt { font-weight: bold; } dd { line-height: 1.5em; margin-bottom: 1em; } fieldset { border: 1px solid #A0A0A0; /* margin: 2em 0em 1em 0em; padding: 1em 0em; */ margin: 0em 0em 2em 0em; padding: 0 1em 1em 1em; } legend { background: White; padding: 0.5em; } form { border: none; margin: 0; } textarea { color: Black; width: 88%; padding: 0.1em; } input { font: normal 100% Verdana, Helvetica, Arial, sans-serif; color: Black; vertical-align: middle; margin-bottom: 1px; /* IE bug fix */ padding: 0.1em; } select { font: normal 100% Verdana, Helvetica, Arial, sans-serif; vertical-align: top; } abbr, acronym, .explain { border-bottom: 1px dotted Black; color: Black; background-color: transparent; cursor: help; } q { font-family: Times, "Times New Roman", serif; font-style: italic; font-size: 120%; } blockquote { font-family: Times, "Times New Roman", serif; font-style: italic; font-size: 120%; } code { font-size: 120%; color: Black; background-color: #CCCCCC; } pre { font-size: 120%; padding: 1em; border: 1px solid #A0A0A0; color: Black; background-color: #CCCCCC; } .netscape4 { display: none; } /* layout table */ #layout { width: 100%; table-layout: auto; font-size: 100%; border-collapse: collapse; padding: 0px; margin: 0px; } #layout td { vertical-align: top; } #layout td.global { width: 100%; } #layout td.navigators { width: 200px; } #layout td.workspace { } /* Styles for xmltree */ #navtreecontents { padding-right: 35px; } #navtreecontents a { cursor: pointer; height: 20px; } #navtreecontents loading { display: block; padding-left: 31px; height: 18px; } #navtreecontents expand { background-repeat: no-repeat; padding-left: 14px; display: inline; cursor: pointer; } #navtreecontents icon { background-repeat: no-repeat; padding-left: 20px; display: inline; cursor: auto; } #navtreecontents icon.selected { background-color: #ffa; } #navtreecontents collection { display: block; margin-left: 10px; /* border: red solid 1pt; */ height: auto; } /* Structural elements */ #top { border-bottom: 0.1em solid black; } #top #userDetails { float:right; margin-top: 1.2em; padding-right: 0.5em; } div#action { height: 24px; width: 100%; background-color: #336699; } div#action ul { line-height: 24px; color: #FFF; white-space: nowrap; float: right; margin: 0px; padding: 0px 5px 0px 0px; } div#action li { list-style-type: none; display: inline; } div#action li a { color: #FFF; text-decoration: none; border-left: 1px dashed white; padding: 0px 5px; } div#action li a:link { color: #FFF; } div#action li a:hover { color: black; background-color: white; } #breadcrumbs { margin: 0; padding: 5px 5px 5px 5px; } #navigation { width: 200px; vertical-align: top; padding: 0px; margin: 0px; } #navigators { padding: 10px 20px 0px 5px; } /* slot boxes */ div.box { background: #CCCCCC; border-right: 1px solid #CCCCCC; border-left: 1px solid #CCCCCC; margin-bottom: 10px; padding: 0px; } div.box h4 { background: #CCCCCC; border: 1px solid #CCCCCC; border-style: solid solid none solid; color: #808080; padding: 0px 5px; display: block; height: 22px; } .box div.body { background: white; border-bottom: 1px solid #CCCCCC; } .box div.body div { color: #777777; padding: 2px 0px 5px 5px; margin: 0px; } .box div.treebody { background: white; border-bottom: 1px solid #CCCCCC; } .box div.treebody table { margin: 2px; } .box div.body div.tip { color: #B30000; padding: 2px 0px 5px 5px; } .box div.body div.even { background: #EBEBE2; padding: 4px; } .box div.body div.odd { padding: 4px; } .box div.body a:hover { text-decoration: underline; } .box .content { padding: 0.5em; } .box h1, .box h2, .box h3, .box h4 { margin: 0; } #content { } #context_information { padding-top: 1em; width: 15%; float: left; padding-left: 0.5em; } #workspace { width: 100%; } #helpers { } #inspectors { } #footer { border-bottom: 1px solid black; float: left; clear: both; } input.textType { width: 88%; /* Same as textarea */ } input.editcheck { float:left; position:relative; top:1em; } div.row { padding-top: 1em; } /* div.label { #clear: both; padding-top: 10px; } */ /* div.row div.field doesn't appear to be selecting. div.row div is a workaround */ /* This seems to work in Firefox 1.0 and IE6. */ div.row div.field { clear: left; padding-top: 1px; } div.row div.label { background: #369; color: #fff; padding: 0.1em 0.5em 0.1em 0.5em; /* Same as .itemViews */ border: 1px solid #369; /* Same as .itemViews */ margin: 0; float: left; clear: both; } div.row span.error { background: red; color: white; padding: 0.1em 0.5em 0.1em 0.5em; /* Same as .itemViews */ border: 1px solid red; /* Same as .itemViews */ margin: 0; float: left; clear: both; } #metadata .label { font-size: 80%; } .itemViews { background: transparent; border-collapse: collapse; border-bottom: 1px solid #369; padding-top: 1px; padding-bottom: 1px; padding-left: 1em; margin-top: 0.8em; white-space: nowrap; } .itemViews a { background: transparent; border: 1px solid #369; color: Black; font-weight: normal; margin-right: 0.5em; padding: 0.1em 0.5em 0.1em 0.5em; } .itemViews a.selected { background: #369; border-bottom: #369 1px solid; color: White; font-weight: normal; } .itemViews a:hover { background-color: #369; color: White; } #viewspace { border-collapse: collapse; margin: 0; } table.listingdescription, table.listing { /* The default table for document listings. Contains name, document types, modification times etc in a file-browser-like fashion */ border-collapse: collapse; border-left: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; margin: 1em 0em 1em 0em; /* clear: both; */ } table.listingdescription { width: 100%; } table.listingdescription th, table.listing th { background: #CCCCCC; border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; color: #808080; font-weight: normal; padding: 0em 1em 0em 1em; white-space: nowrap; } table.listingdescription td.top, table.listing td.top { border-left: 1px solid White; border-top: 1px solid White ! important; border-right: 1px solid White ! important; text-align: right ! important; padding: 0em 0em 1em 0em; /* insane IE row bug workaround */ position: relative; left: -1px; top: -1px; } table.listingdescription tr.odd, table.listing tr.odd { /*every second line should be shaded */ background: White; } table.listingdescription tr.even, table.listing tr.even { background: #F8F8F8; } table.listing td { border-right: 1px solid #CCCCCC; padding: 0em 0.3em; text-align: left; white-space: nowrap; } table.listingdescription img, table.listing img { vertical-align: middle; } table.listingdescription td { border-right: 1px solid #CCCCCC; padding: 5px; text-align: left; } /*colorize the matrix table used in grant.html*/ table.matrix td.default { background: green; } table.matrix td.changed { background: red; } div.spacer { clear: both; } .registrationSummary { margin-left: 2em; margin-bottom: 1em; } .registrationSummary .usageSummary { font-weight: bold; } .registrationSummary .modificationLink { display: block; } div.message { background: #FFCE7B; border: 1px solid #FFA500; color: Black; font: bold 80% Verdana, Helvetica, Arial, sans-serif; margin: 2em 0em 1em 0em; padding: 0.5em 1em; vertical-align: middle; } div.message a { color: Black; } /* Style for page error divs. Use this for displaying errors for a page as a whole. */ div.page_error { background: #FFCE7B; font: bold 80% Verdana, Helvetica, Arial, sans-serif; padding: 0.5em 1em; vertical-align: middle; } div.bug { background: #FFCE7B; border: 1px solid #FFA500; color: Black; font: bold 80% Verdana, Helvetica, Arial, sans-serif; margin: 2em 1em 1em 0em; padding: 0.5em 1em; vertical-align: middle; } zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/0000775000177100020040000000000011707310033024066 5ustar menesismenesis00000000000000zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/test_navtree.py0000664000177100020040000000722711707307726027172 0ustar menesismenesis00000000000000############################################################################## # # Copyright (c) 2003 Zope Foundation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Tests for navigation tree """ import unittest from xml.dom import minidom from zope.app.testing.functional import BrowserTestCase from zope.app.rotterdam.testing import RotterdamLayer class TestNavTree(BrowserTestCase): def testnavtree(self): # Add some folders response = self.publish("/+/action.html", basic='mgr:mgrpw', form={'type_name':u'zope.app.content.Folder', 'id':u'First'}) self.assertEqual(response.getStatus(), 302) response = self.publish("/+/action.html", basic='mgr:mgrpw', form={'type_name':u'zope.app.content.Folder', 'id':u'S&econd'}) self.assertEqual(response.getStatus(), 302) response = self.publish("/+/action.html", basic='mgr:mgrpw', form={'type_name':u'zope.app.content.Folder', 'id':u'Third'}) self.assertEqual(response.getStatus(), 302) response = self.publish("/First/+/action.html", basic='mgr:mgrpw', form={'type_name':u'zope.app.content.Folder', 'id':u'Firsts"Folder'}) self.assertEqual(response.getStatus(), 302) response = self.publish("/First/+/action.html", basic='mgr:mgrpw', form={'type_name':u'zope.app.content.Folder', 'id':u'somesite'}) self.assertEqual(response.getStatus(), 302) #add a site manager This will break when site adding is fixed # see above for examples to fix by filling out a form # when further action is required to make a site response = self.publish("/First/somesite/addSiteManager.html", basic='mgr:mgrpw') self.assertEqual(response.getStatus(), 302) # /First/FirstsFolder/@@singleBranchTree.xml # contains those 4 elements above # /@@children.xml # contains First Second and Third response = self.publish( "/First/somesite/++etc++site/@@singleBranchTree.xml", basic='mgr:mgrpw') self.assertEqual(response.getStatus(), 200) tree = minidom.parseString(response.getBody()) response = self.publish("/@@children.xml", basic='mgr:mgrpw') self.assertEqual(response.getStatus(), 200) tree = minidom.parseString(response.getBody()) response = self.publish("/First/+/action.html", basic='mgr:mgrpw', form={'type_name':u'zope.app.content.Folder', 'id':u'Firsts2ndFolder'}) self.assertEqual(response.getStatus(), 302) def test_suite(): suite = unittest.TestSuite() TestNavTree.layer = RotterdamLayer suite.addTest(unittest.makeSuite(TestNavTree)) return suite if __name__=='__main__': unittest.main(defaultTest='test_suite') zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/util.py0000664000177100020040000000213511707307726025435 0ustar menesismenesis00000000000000############################################################################## # # Copyright (c) 2001, 2002 Zope Foundation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Rotterdam utilities tests """ import os import zope.app.rotterdam.tests dir = os.path.dirname(zope.app.rotterdam.tests.__file__) input_dir = os.path.join(dir, 'input') output_dir = os.path.join(dir, 'output') def read_input(filename): filename = os.path.join(input_dir, filename) return open(filename, 'r').read().decode("utf-8") def read_output(filename): filename = os.path.join(output_dir, filename) return open(filename, 'r').read().decode("utf-8") zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/__init__.py0000664000177100020040000000007511707307726026220 0ustar menesismenesis00000000000000# # This file is necessary to make this directory a package. zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/test_editingwidgets.py0000664000177100020040000000142711707307726030534 0ustar menesismenesis00000000000000############################################################################## # # Copyright (c) 2004 Zope Foundation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Tests for zope.app.rotterdam.editingwidgets. """ import doctest def test_suite(): return doctest.DocTestSuite("zope.app.rotterdam.editingwidgets") zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/output/0000775000177100020040000000000011707310033025426 5ustar menesismenesis00000000000000zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/output/test4.xml0000664000177100020040000000040011707307726027224 0ustar menesismenesis00000000000000 zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/output/test5.xml0000664000177100020040000000136311707307726027236 0ustar menesismenesis00000000000000selected zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/output/test3.xml0000664000177100020040000000005411707307726027230 0ustar menesismenesis00000000000000 zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/output/test6.xml0000664000177100020040000000033111707307726027231 0ustar menesismenesis00000000000000selected zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/output/test2.xml0000664000177100020040000000022611707307726027230 0ustar menesismenesis00000000000000 zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/output/test8.xml0000664000177100020040000000076311707307726027244 0ustar menesismenesis00000000000000selected zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/output/test1.xml0000664000177100020040000000066511707307726027236 0ustar menesismenesis00000000000000selected zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/output/test7.xml0000664000177100020040000000061011707307726027232 0ustar menesismenesis00000000000000selected zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/tests/test_xmlnavigationviews.py0000664000177100020040000001072511707307726031461 0ustar menesismenesis00000000000000# -*- coding: utf-8 -*- ############################################################################## # # Copyright (c) 2001, 2002 Zope Foundation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """XML Navigation Tree Tests """ from unittest import TestCase, TestLoader, TextTestRunner from zope.interface import implements from zope.pagetemplate.tests.util import check_xml from zope.publisher.browser import TestRequest from zope.publisher.interfaces.browser import IBrowserPublisher from zope.publisher.interfaces import NotFound from zope.traversing.api import traverse from zope.app.testing import ztapi from zope.container.interfaces import IReadContainer from zope.app.component.site import LocalSiteManager from zope.app.component.testing import PlacefulSetup from zope.site.folder import Folder from zope.app.rotterdam.tests import util from zope.app.rotterdam.xmlobject import ReadContainerXmlObjectView from zope.app.rotterdam.xmlobject import XmlObjectView class File(object): pass class TestXmlObject(PlacefulSetup, TestCase): def setUp(self): PlacefulSetup.setUp(self, site=True) def testXMLTreeViews(self): rcxov = ReadContainerXmlObjectView treeView = rcxov(self.folder1, TestRequest()).singleBranchTree check_xml(treeView(), util.read_output('test1.xml')) treeView = rcxov(self.folder1, TestRequest()).children check_xml(treeView(), util.read_output('test2.xml')) treeView = rcxov(self.folder1_1_1, TestRequest()).children check_xml(treeView(), util.read_output('test3.xml')) treeView = rcxov(self.rootFolder, TestRequest()).children check_xml(treeView(), util.read_output('test4.xml')) file1 = File() self.folder1_1_1["file1"] = file1 self.file1 = traverse(self.rootFolder, '/folder1/folder1_1/folder1_1_1/file1') class ReadContainerView(ReadContainerXmlObjectView): implements(IBrowserPublisher) def browserDefault(self, request): return self, () def publishTraverse(self, request, name): raise NotFound(self, name, request) def __call__(self): return self.singleBranchTree() ztapi.browserView(IReadContainer, 'singleBranchTree.xml', ReadContainerView) treeView = rcxov(self.folder1_1_1, TestRequest()).singleBranchTree check_xml(treeView(), util.read_output('test5.xml')) treeView = XmlObjectView(self.file1, TestRequest()).singleBranchTree check_xml(treeView(), util.read_output('test5.xml')) def test_virtualhost_support(self): # we have to add a virtual host subsite folder1 = self.rootFolder['folder1'] subsite = Folder() sm = LocalSiteManager(folder1) subsite.setSiteManager(sm) folder1['subsite'] = subsite # add some more folder to the subsite subfolder1 = Folder() subsite['subfolder1'] = subfolder1 subfolder2 = Folder() subfolder2_1 = Folder() subfolder2['subfolder2_1'] = subfolder2_1 subsite['subfolder2'] = subfolder2 # set the virtualhost on the request request = TestRequest() request._vh_root = subsite # test virtual host root vh = request.getVirtualHostRoot() self.assertEquals(vh, subsite) rcxov = ReadContainerXmlObjectView treeView = rcxov(subsite, request).singleBranchTree check_xml(treeView(), util.read_output('test6.xml')) rcxov = ReadContainerXmlObjectView treeView = rcxov(subfolder1, request).singleBranchTree check_xml(treeView(), util.read_output('test7.xml')) rcxov = ReadContainerXmlObjectView treeView = rcxov(subfolder2_1, request).singleBranchTree check_xml(treeView(), util.read_output('test8.xml')) def test_suite(): loader = TestLoader() return loader.loadTestsFromTestCase(TestXmlObject) if __name__=='__main__': TextTestRunner().run(test_suite()) zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/template_tablelayout.pt0000664000177100020040000002601411707307726027533 0ustar menesismenesis00000000000000 Z3 UI
User: User
Test Another
content thingy
more data

Tip

A short tip goes here
 
zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/configure.zcml0000664000177100020040000000777211707307726025630 0ustar menesismenesis00000000000000 zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/favicon.png0000664000177100020040000000150611707307726025100 0ustar menesismenesis00000000000000PNG  IHDRabKGD pHYs  d_tIME * y|IDATxeMhTgNg2d~c$ֶ hM)1"dj&@1`7)dVE6!UiW :V'8dҙu186/|{lbxm#͙JjѽX+Tto/T`_"/ޘ9nMyn,NKܲi9 Xcڊ/3 tUӿ[q~IW#mvmskte+.ߝgp|d@c[8b)k)Bp4FQZУGe|Ld`G-P~VQ Zg =20X(HV?C0Zwo~.LaŅ6T^hrdGH M=QD"e)2.)0$HDnm"(KGMre^pF 0z֍2v@)Ș G/O5kAH-JW<'KЫJrT'T79k>vwÓJr-h Xalr4*uiW#cjyGƀO|{K ʳoIENDB`zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/simpleeditingrowfragment.pt0000664000177100020040000000007011707307726030416 0ustar menesismenesis00000000000000 zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/xmlobject.py0000664000177100020040000002030211707307726025301 0ustar menesismenesis00000000000000############################################################################## # # Copyright (c) 2002 Zope Foundation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Support classes for XML-based tree """ from rfc822 import formatdate, time from xml.sax.saxutils import quoteattr from zope.component import getMultiAdapter, queryMultiAdapter from zope.interface import Interface from zope.proxy import sameProxiedObjects from zope.security.interfaces import Unauthorized, Forbidden from zope.i18n import translate from zope.traversing.api import getParents, getParent, traverse from zope.publisher.browser import BrowserView from zope.container.interfaces import IReadContainer from zope.app.rotterdam.i18n import ZopeMessageFactory as _ titleTemplate = _('Contains $${num} item(s)') loadingMsg = _('Loading...') def setNoCacheHeaders(response): """Ensure that the tree isn't cached""" response.setHeader('Pragma', 'no-cache') response.setHeader('Cache-Control', 'no-cache') response.setHeader('Expires', formatdate(time.time() - 7 * 86400)) # 7 days ago def xmlEscape(format, *args): quotedArgs = [quoteattr(unicode(arg)) for arg in args] return format % tuple(quotedArgs) def xmlEscapeWithCData(format, *args): cData = args[-1] quotedArgs = [quoteattr(unicode(arg)) for arg in args[:-1]] quotedArgsWithCData = quotedArgs + [cData] return format % tuple(quotedArgsWithCData) def getParentsFromContextToObject(context, obj): """Returns a list starting with the given context's parent followed by each of its parents till we reach the object. """ if sameProxiedObjects(context, obj): return [] parents = [] w = context while 1: w = w.__parent__ if sameProxiedObjects(w, obj): parents.append(w) break if w is None: break parents.append(w) return parents class ReadContainerXmlObjectView(BrowserView): """Provide a xml interface for dynamic navigation tree in UI""" __used_for__ = IReadContainer def getIconUrl(self, item): result = '' icon = queryMultiAdapter((item, self.request), name='zmi_icon') if icon: result = icon.url() return result def getLengthOf(self, item): res = -1 if IReadContainer.providedBy(item): try: res = len(item) except (Unauthorized, Forbidden): pass return res def children_utility(self, container): """Return an XML document that contains the children of an object.""" result = [] keys = list(container.keys()) # include the site manager keys.append(u'++etc++site') # dont get children if we get more than 1000 objects if len(keys)>=1000: keys = [u'++etc++site'] for name in keys: # Only include items we can traverse to item = traverse(container, name, None) if item is None: continue iconUrl = self.getIconUrl(item) item_len = self.getLengthOf(item) if item_len >= 0: result.append(xmlEscape( u'', name, item_len, iconUrl)) else: result.append(xmlEscape( u'', name, iconUrl)) return u' '.join(result) def children(self): """ """ container = self.context self.request.response.setHeader('Content-Type', 'text/xml') setNoCacheHeaders(self.request.response) res = (u' %s ' % self.children_utility(container)) return res def singleBranchTree(self, root=''): """Return an XML document with the siblings and parents of an object. There is only one branch expanded, in other words, the tree is filled with the object, its siblings and its parents with their respective siblings. """ result = 'selected' oldItem = self.context vh = self.request.getVirtualHostRoot() if vh: vhrootView = getMultiAdapter( (vh, self.request), name='absolute_url') baseURL = vhrootView() + '/' try: rootName = '[' + vh.__name__ + ']' except: # we got the containment root itself as the virtual host # and there is no name. rootName = _('[top]') parents = getParentsFromContextToObject(self.context, vh) else: rootName = _('[top]') baseURL = self.request.getApplicationURL() + '/' parents = getParents(self.context) rootName = translate(rootName, context=self.request, default=rootName) for item in parents: # skip skin if present #if item == oldItem: # continue subItems = [] if IReadContainer.providedBy(item): keys = list(item.keys()) if len(keys) >= 1000: keys = [] else: keys = [] # include the site manager keys.append(u'++etc++site') for name in keys: # Only include items we can traverse to subItem = traverse(item, name, None) iconUrl = self.getIconUrl(subItem) subitem_len = self.getLengthOf(subItem) if subitem_len >= 0: # the test below seems to be broken # with the ++etc++site case if subItem == oldItem: subItems.append(xmlEscapeWithCData( u'%s', name, subitem_len, iconUrl, result)) else: subItems.append(xmlEscape( u'', name, subitem_len, iconUrl)) else: subItems.append(xmlEscape( u'', name, iconUrl)) result = u' '.join(subItems) oldItem = item # do not forget root folder iconUrl = self.getIconUrl(oldItem) result = xmlEscapeWithCData( u'%s', rootName, baseURL, len(oldItem), iconUrl, result) self.request.response.setHeader('Content-Type', 'text/xml') setNoCacheHeaders(self.request.response) title = translate(titleTemplate, context=self.request, default=titleTemplate) loading = translate(loadingMsg, context=self.request, default=loadingMsg) return xmlEscapeWithCData( u'' u'%s', title, loading, result) class XmlObjectView(BrowserView): """Provide a xml interface for dynamic navigation tree in UI""" __used_for__ = Interface def singleBranchTree(self, root=''): parent = getParent(self.context) while parent is not None: if IReadContainer.providedBy(parent): view = queryMultiAdapter( (parent, self.request), name='singleBranchTree.xml') return view() else: parent = getParent(parent) zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/zope3.js0000664000177100020040000000613211707307726024343 0ustar menesismenesis00000000000000//---------------------------------------------------------------------------- // Copyright (c) 2005 Zope Foundation and Contributors. // All Rights Reserved. // // This software is subject to the provisions of the Zope Public License, // Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. // THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED // WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS // FOR A PARTICULAR PURPOSE. //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // popup window with settings //---------------------------------------------------------------------------- function popup(page, name, settings) { win = window.open(page, name, settings); win.focus(); } //---------------------------------------------------------------------------- // guess browser version, feel free to enhance it if needed. //---------------------------------------------------------------------------- var ie = document.all != null; var moz = !ie && document.getElementById != null && document.layers == null; //---------------------------------------------------------------------------- // change the status (color) of the matrix table used in grant.html //---------------------------------------------------------------------------- function changeMatrix(e) { var ele = e? e: window.event; var id = ele.getAttribute('id'); var name = ele.getAttribute('name'); if (moz) { var label = ele.parentNode; var center = label.parentNode; var td = center.parentNode; } else { var label = ele.parentElement; var center = label.parentElement; var td = center.parentElement; } resetMatrixCSS(name); if (td.className != "default") { td.className = "changed"; } } function resetMatrixCSS(name) { var inputFields = document.getElementsByTagName('input'); for (var i = 0; i < inputFields.length; i++) { var field = inputFields[i]; if (field.getAttribute('name') == name) { if (moz) { td = field.parentNode.parentNode.parentNode; } else { td = field.parentElement.parentElement.parentElement; } if (td.className != "default") { td.className = ""; } } } } //---------------------------------------------------------------------------- // toggle the status of all checkboxes that have class == "className" //---------------------------------------------------------------------------- function updateCheckboxes(master, className) { newState = master.checked; objects = document.getElementsByTagName("input") count = objects.length; for(x = 0; x < count; x++) { obj = objects[x]; if (obj.type == "checkbox") { var classes = obj.className.split(" "); for (var i = 0; i < classes.length; i++) if (classes[i] == className) { obj.checked = newState; break; } } } } zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/standardmacros.py0000664000177100020040000000157311707307726026330 0ustar menesismenesis00000000000000############################################################################## # # Copyright (c) 2003 Zope Foundation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Rotterdam layer standard macros """ from zope.app.basicskin.standardmacros import StandardMacros as BaseMacros class StandardMacros(BaseMacros): macro_pages = ('skin_macros', 'view_macros', 'dialog_macros', 'navigation_macros') zope.app.rotterdam-3.5.3/src/zope/app/rotterdam/template.pt0000664000177100020040000001770311707307726025133 0ustar menesismenesis00000000000000 Z3 UI
User: User
Test Another
content thingy
more data

Tip

A short tip goes here