[zopeorg-checkins] CVS: Products/ZopeOrg-NV/skins/nzo - arrowDown.gif:1.1 arrowUp.gif:1.1 getObjSize.py:1.1 isExpired.py:1.1 nzoBasic.css.dtml:1.1 nzoStructure.css.dtml:1.1 nzoWidgets.css.dtml:1.1 stylesheet_properties.props:1.1 toPortalTime.py:1.1 folder_contents.html:1.2 main_template.html:1.9
Sidnei da Silva
sidnei at x3ng.com.br
Mon Jun 10 21:32:48 EDT 2002
Update of /cvs-zopeorg/Products/ZopeOrg-NV/skins/nzo
In directory cvs.zope.org:/tmp/cvs-serv20814/skins/nzo
Modified Files:
folder_contents.html main_template.html
Added Files:
arrowDown.gif arrowUp.gif getObjSize.py isExpired.py
nzoBasic.css.dtml nzoStructure.css.dtml nzoWidgets.css.dtml
stylesheet_properties.props toPortalTime.py
Log Message:
=== Added File Products/ZopeOrg-NV/skins/nzo/arrowDown.gif ===
<Binary-ish file>
=== Added File Products/ZopeOrg-NV/skins/nzo/arrowUp.gif ===
<Binary-ish file>
=== Added File Products/ZopeOrg-NV/skins/nzo/getObjSize.py ===
## Script (Python) "getObjSize"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=obj
##title=
##
size=''
try:
if hasattr(obj, 'get_size'):
size=obj.get_size()
if size:
if size<1024:
return '1 K'
elif size>1048576:
return '%.02f M' % float(size/1048576.0)
else:
return str(int(size)/1024)+' K'
except:
return size
return size
=== Added File Products/ZopeOrg-NV/skins/nzo/isExpired.py ===
## Script (Python) "isExpired"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=obj
##title=
##
#only if an expirationDate is explicitly Past will this return true
from DateTime import DateTime
try:
if DateTime(obj.ExpirationDate()).isPast():
return 1
except: pass
return 0
=== Added File Products/ZopeOrg-NV/skins/nzo/nzoBasic.css.dtml ===
<dtml-let last_modified="_.DateTime()-14"
expires="_.DateTime()+7" >
<dtml-call "REQUEST.RESPONSE.setHeader( 'content/type', 'text/css' )">
<dtml-call "REQUEST.RESPONSE.setHeader( 'Last-Modified', last_modified.strftime('%a, %d %b %Y %H:%M:%S') )">
<dtml-call "REQUEST.RESPONSE.setHeader( 'Cache-Control', 'max-age=36000, must-revalidate' )">
<dtml-call "REQUEST.RESPONSE.setHeader( 'Expires', expires.strftime('%a, %d %b %Y %H:%M:%S') )" >
</dtml-let>
<dtml-with stylesheet_properties>
/*
* Plone Basic CSS v1
*
* Zope CMF style sheet by Alexander Limi (http://limi.net)
*
* Special thanks to Geir Bækholt (http://elvix.com) and
* Stian Søiland (http://stain.portveien.to) for invaluable
* input and code examples. You guys rock! :)
*
* I've tried to comment everything as concisely as possible. If there's anything
* that you find confusing or just plain wrong, contact me and I'll fix it before the
* next release.
*
*/
body {
font: &dtml-mainFont;;
background: &dtml-mainBackground;;
color: &dtml-mainFontColor;;
margin: 0;
padding: 0;
scrollbar-base-color: &dtml-mainTabBackground;;
scrollbar-highlight-color: &dtml-mainTabBackground;;
scrollbar-track-color: &dtml-evenRowBackground;;
scrollbar-darkshadow-color: &dtml-evenRowBackground;;
scrollbar-3dlight-color: &dtml-mainTabBorderColorSelected;;
scrollbar-shadow-color: &dtml-mainTabBorderColorSelected;;
scrollbar-arrow-color: &dtml-mainTabFontColorSelected;;
}
a {
text-decoration: none;
color: &dtml-mainLinkColor;;
background-color: transparent;
}
table {
font: &dtml-mainFont;;
}
img {
/* turn off image borders. */
border: none;
}
p {
/* Default paragraph style*/
font: &dtml-contentFont;;
margin: 1em 0em;
text-align: justify;
}
p a {
text-decoration: underline;
}
p a:visited {
color: &dtml-contentLinkVisitedColor;;
background-color: transparent;
}
p a:active {
color: &dtml-contentLinkActiveColor;;
background-color: transparent;
}
p img {
border: &dtml-contentImageBorder;;
margin: 1em;
}
hr {
clear: both;
height: 1px;
color: &dtml-mainTabBorderColorSelected;;
background-color: transparent;
}
h1, h2, h3, h4, h5, h6 { /* Style for the headlines */
color: &dtml-headingFontColor;;
font: &dtml-headingFont;;
margin-top: 0;
}
h1 {
font-size: &dtml-headingSize1;;
}
h2 {
font-size: &dtml-headingSize2;;
}
h3 {
font-size: &dtml-headingSize3;;
}
h4 {
font-size: &dtml-headingSize4;;
}
h5 {
font-size: &dtml-headingSize5;;
}
h6 {
font-size: &dtml-headingSize6;;
}
ul {
list-style-image: url("bullet.gif");
margin-top: 1em;
margin-bottom: 1em;
margin-left: 2em;
padding:0;
}
/* we advise you to use the div.group and span.legend elements instead of these,
as the only browser showing legends correctly is IE. They are just included here
for completeness */
fieldset {
border: &dtml-groupBorder;;
margin: 2em 0em 1em 0em;
padding: 1em 0em;
}
legend {
background: &dtml-mainBackground;;
padding: 0.5em;
}
form {
border: none;
}
textarea {
/* Small cosmetic hack which makes textarea gadgets look nicer.*/
font: &dtml-inputFont;;
border: &dtml-inputBorder;;
width: 100%;
color: &dtml-mainFontColor;;
background-color: white;
}
input {
/* Small cosmetic fix which makes input gadgets look nicer. */
font: &dtml-inputFont;;
border: &dtml-inputBorder;;
color: &dtml-mainFontColor;;
background-color: white;
margin: 0em 0em 1em 0em;
}
select {
font: &dtml-inputFont;;
border: &dtml-inputBorder;;
margin: 0em 0em 1em 0em;
}
abbr, acronym, .explain {
/* Help classes */
border-bottom: 1px dotted &dtml-mainFontColor;;
color: &dtml-mainFontColor;;
background-color: transparent;
cursor: help;
}
code {
font-size: 120%;
color: &dtml-mainFontColor;;
background-color: &dtml-preBackground;;
}
pre {
font-size: 120%;
padding: 1em;
border: &dtml-preBorder;;
color: &dtml-mainFontColor;;
background-color: &dtml-preBackground;;
}
.netscape4 {
/* This hides elements necessary for getting Netscape 4.x to look better. Mostly strategically placed hr tags and ·'s */
display: none;
}
</dtml-with>
=== Added File Products/ZopeOrg-NV/skins/nzo/nzoStructure.css.dtml ===
<dtml-let last_modified="_.DateTime()-14"
expires="_.DateTime()+7" >
<dtml-call "REQUEST.RESPONSE.setHeader( 'content/type', 'text/css' )">
<dtml-call "REQUEST.RESPONSE.setHeader( 'Last-Modified', last_modified.strftime('%a, %d %b %Y %H:%M:%S') )">
<dtml-call "REQUEST.RESPONSE.setHeader( 'Cache-Control', 'max-age=36000, must-revalidate' )">
<dtml-call "REQUEST.RESPONSE.setHeader( 'Expires', expires.strftime('%a, %d %b %Y %H:%M:%S') )" >
</dtml-let>
<dtml-with stylesheet_properties>
/*
* Plone Structure CSS v1
*
* The Structure CSS contains elements that make up the structure of Plone,
* generally stuff that is used once on a page - general layout, opposed to the Widgets, that are
* used several times in a page.
*
* Zope CMF style sheet by Alexander Limi (http://limi.net)
*
* Special thanks to Geir Bækholt (http://elvix.com) and
* Stian Søiland (http://stain.portveien.to) for invaluable
* input and code examples. You guys rock! :)
*
* I've tried to comment everything as concisely as possible. If there's anything
* that you find confusing or just plain wrong, contact me and I'll fix it before the
* next release.
*
* KNOWN BUG: The selected tab cannot have image backdrop. FIXME
*
*/
div.top {
/* Top section */
background: &dtml-topBackground;;
margin: &dtml-topMargin;;
padding: &dtml-topPadding;;
width: 100%;
}
.logo {
/* Logo properties */
margin: &dtml-logoMargin;;
padding: &dtml-logoPadding;;
}
div.searchBox {
/*searchbox style and positioning */
background-color: transparent;
color: &dtml-searchFontColor;;
float: right;
margin: &dtml-searchMargin;;
padding: &dtml-searchPadding;;
text-align: right;
text-transform: &dtml-textTransform;;
}
input.searchGadget {
}
div.tabs {
/* Navigational Plone Tabs(tm), implemented by customizing the a tag - they are surprisingly elegant. The power of CSS runs strong in these :) */
background: &dtml-mainTabBackdrop;;
border-collapse: collapse;
border-bottom-color: &dtml-mainTabBorderColorSelected;;
border-bottom-style: solid;
border-bottom-width: 1px;
padding: 0.5em 0em 0em 2em;
white-space: nowrap;
}
div.tabs a {
/* The normal, unselected tabs. They are all links */
background: &dtml-mainTabBackgroundNotSelected;;
border-color: &dtml-mainTabBorderColor;;
border-width: 1px;
border-style: solid solid none solid;
color: &dtml-mainTabFontColor;;
font-weight: &dtml-mainTabFontWeight;;
margin-right: 0.5em;
padding: 0em 2em;
text-transform: &dtml-textTransform;;
}
div.tabs a.selected {
/* The selected tab. There's only one of this */
background: &dtml-mainTabBackground;;
border: 1px solid &dtml-mainTabBorderColorSelected;;
border-bottom: &dtml-mainTabBackground; 1px solid;
color: &dtml-mainTabFontColorSelected;;
font-weight: &dtml-mainTabFontWeight;;
}
div.tabs a:hover {
background: &dtml-mainTabBackground;;
border-color: &dtml-mainTabBorderColorSelected;;
border-bottom-color: &dtml-mainTabBackground;;
color: &dtml-mainTabFontColorSelected;;
}
div.personalBar {
/* Bar with personalized menu (user preferences, favorites etc) */
background: &dtml-mainTabBackground;;
border-bottom-color: &dtml-mainTabBorderColorSelected;;
border-bottom-style: solid;
border-bottom-width: 1px;
color: &dtml-mainFontColor;;
padding-right: 3em;
text-align: right;
text-transform: &dtml-textTransform;;
}
div.personalBar a{
background-color: transparent;
color: &dtml-mainTabFontColorSelected;;
font-weight: &dtml-mainTabFontWeight;;
}
div.pathBar {
/* The path bar, including breadcrumbs and add to favorites */
border-bottom-color: &dtml-mainTabBorderColorSelected;;
border-bottom-style: solid;
border-bottom-width: 1px;
padding-left: 2em;
padding-right: 2em;
text-transform: &dtml-textTransform;;
}
.breadcrumbs {
float: left;
text-transform: &dtml-textTransform;;
}
.addFavorite {
vertical-align: bottom;
}
.clock {
/* The portal time indicator */
float: right;
text-transform: &dtml-textTransform;;
white-space: nowrap;
}
table.columns {
width: 100%;
}
table.columns td.left {
vertical-align: top;
width: &dtml-leftColumnWidth;;
padding: 2em 1em 1em 2em;
}
table.columns td.main {
vertical-align: top;
padding: 2em 2em 1em 1em;
margin: 0;
}
table.columns td.right {
vertical-align: top;
width: &dtml-rightColumnWidth;;
padding: 2em 2em 1em 0em;
}
div.contentTabs {
/* Local Plone Tabs(tm), used in the content display */
background: &dtml-contentTabBackdrop;;
border-collapse: collapse;
border-bottom: &dtml-contentTabBorder;;
padding-left: 1em;
white-space: nowrap;
}
div.contentTabs a {
/* The normal, unselected tabs. They are all links */
background: &dtml-contentTabBackgroundNotSelected;;
border: &dtml-contentTabBorder;;
color: &dtml-contentTabFontColor;;
font-weight: &dtml-contentTabFontWeight;;
margin-right: 0.5em;
padding: 0em 2em;
text-transform: &dtml-textTransform;;
}
div.contentTabs a.selected {
/* The selected tab. There's only one of this */
background: &dtml-contentTabBackground;;
border-bottom: &dtml-contentTabBackground; 1px solid;
color: &dtml-contentTabFontColorSelected;;
font-weight: &dtml-contentTabFontWeight;;
}
div.contentTabs a:hover {
background-color: &dtml-contentTabBackground;;
color: &dtml-contentTabFontColor;;
}
div.contentBar {
background: &dtml-contentTabBackground;;
border-left: &dtml-contentTabBorder;;
border-right: &dtml-contentTabBorder;;
color: &dtml-contentTabFontColor;;
text-align: right;
text-transform: &dtml-textTransform;;
}
div.document {
/* The document class encloses the object content when editing is not permitted */
background: &dtml-contentBackground;;
padding: 0;
margin: 0em 0em 2em 0em;
}
div.editableDocument {
/* The class surrounding content when editing is permitted */
background: &dtml-contentBackground;;
border: &dtml-contentTabBorder;;
margin: 0em 0em 2em 0em;
padding: 2em;
}
div.message {
/* The portal messages for cut/paste operations etc */
background: &dtml-messageBackground;;
border: &dtml-messageBorder;;
color: &dtml-mainFontColor;;
font: &dtml-messageFont;;
margin: 0em 0em 1em 0em;
padding: 0.5em 1em;
vertical-align: middle;
}
div.message a {
color: &dtml-mainFontColor;;
text-decoration: underline;
}
.description {
/* The summary text describing the document */
font: &dtml-descriptionFont;;
display: block;
margin-bottom: 1em;
}
.footer {
background: &dtml-footerBackground;;
border-top: &dtml-footerBorder;;
border-bottom: &dtml-footerBorder;;
color: &dtml-mainFontColor;;
clear: both;
float: none;
margin: 2em 0em;
padding: 0.5em 0em 1em 0em;
text-align: center;
}
</dtml-with>
=== Added File Products/ZopeOrg-NV/skins/nzo/nzoWidgets.css.dtml ===
<dtml-let last_modified="_.DateTime()-14"
expires="_.DateTime()+7" >
<dtml-call "REQUEST.RESPONSE.setHeader( 'content/type', 'text/css' )">
<dtml-call "REQUEST.RESPONSE.setHeader( 'Last-Modified', last_modified.strftime('%a, %d %b %Y %H:%M:%S') )">
<dtml-call "REQUEST.RESPONSE.setHeader( 'Cache-Control', 'max-age=36000, must-revalidate' )">
<dtml-call "REQUEST.RESPONSE.setHeader( 'Expires', expires.strftime('%a, %d %b %Y %H:%M:%S') )" >
</dtml-let>
<dtml-with stylesheet_properties>
/*
* Plone Widgets CSS v1
*
* Zope CMF style sheet by Alexander Limi (http://limi.net)
*
* Special thanks to Geir Bækholt (http://elvix.com) and
* Stian Søiland (http://stain.portveien.to) for invaluable
* input and code examples. You guys rock! :)
*
* I've tried to comment everything as concisely as possible. If there's anything
* that you find confusing or just plain wrong, contact me and I'll fix it before the
* next release.
*
* TODO: table.listing,
* table.box
*
*/
input.standalone {
background: &dtml-standaloneButtonBackground;;
color: &dtml-standaloneButtonFontColor;;
cursor: pointer;
font-weight: &dtml-buttonWeight;;
padding: &dtml-standaloneButtonPadding;;
text-transform: &dtml-textTransform;;
}
input.context {
background: &dtml-contextButtonBackground;;
color: &dtml-contextButtonFontColor;;
cursor: pointer;
font-weight: &dtml-buttonWeight;;
padding: &dtml-contextButtonPadding;;
text-transform: &dtml-textTransform;;
}
input.noborder {
/* radiobuttons and checkmarks, different behaviour in Moz and IE.
Border necessary in Moz, not in IE */
border: &dtml-noBorder;;
margin: 0;
background-color: transparent;
}
div.row {
clear: both;
min-height: 4em;
margin-top: 1em;
}
.group {
border: &dtml-groupBorder;;
margin: 2em 0em 1em 0em;
width: 94%;
padding: 1em 0em;
}
.legend {
position : relative;
top: -1.8em;
left: 1em;
background: &dtml-mainBackground;;
padding: 0.5em;
}
span.label {
float: left;
font-weight: bold;
text-align: right;
width: 15%;
position : relative;
left: -1em;
}
span.field {
float: left;
text-align: left;
width: 55%;
}
span.info {
background-color: transparent;
float: right;
text-align: left;
width: 28%;
}
.error {
/* Class for error indication in forms */
background: &dtml-messageBackground;;
border: &dtml-messageBorder;;
margin: 1em;
}
.required {
/* Used in addition to class "label" on required elements */
background: &dtml-requiredField;;
}
span.card {
background: &dtml-mainTabBackground;;
border-color: &dtml-mainTabBorderColor;;
border-width: 1px;
border-style: solid;
float: left;
margin: 1em;
padding: 1em;
text-align: center;
width: 15%;
}
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: &dtml-listingBorder;;
border-bottom: &dtml-listingBorder;;
margin: 1em 0em 1em 0em;
}
table.listing th {
background: &dtml-listingHeaderBackground;;
border-top: &dtml-listingBorder;;
border-bottom: &dtml-listingBorder;;
border-right: &dtml-listingBorder;;
color: &dtml-listingHeaderFontColor;;
font-weight: normal;
padding: 0em 1em 0em 1em;
text-transform: &dtml-textTransform;;
}
table.listing tr.odd {
/*every second line should be shaded */
background: &dtml-listingOddBackground;;
}
table.listing tr.even {
background: &dtml-listingEvenBackground;;
}
table.listing td {
border-right: &dtml-listingBorder;;
padding: 0em 1em;
}
table.listing a:hover {
text-decoration: &dtml-listingLinkHover;;
}
table.listing img{
vertical-align: middle;
}
table.box {
/* The Plone Box(tm) (Navigation, Related etc) */
background: transparent;
border-collapse: collapse;
border-bottom: &dtml-boxBorder;;
border-left: &dtml-boxBorder;;
margin: 0;
margin-bottom: 2em;
}
table.box th {
background: &dtml-boxHeaderBackground;;
border-top: &dtml-boxBorder;;
border-bottom: &dtml-boxBorder;;
border-right: &dtml-boxBorder;;
color: &dtml-boxHeaderFontColor;;
font-weight: normal;
padding: 0em 1em;
text-align: left;
text-transform: &dtml-textTransform;;
}
table.box th.empty {
background-color: transparent;
border: none;
border-bottom: &dtml-boxBorder;;
}
table.box tr.odd {
/*every second line should be shaded */
background: &dtml-boxOddBackground;;
}
table.box tr.even {
background-color: &dtml-boxEvenBackground;;
}
table.box td {
border-right: &dtml-boxBorder;;
padding: 1em;
}
table.box img{
vertical-align: middle;
}
div.boxDetails {
/*the line that contains the date for news and other info */
text-align: right;
}
table.box a {
}
table.box a.comment {
/* special link for comments - default behavior is to display the discussion icon next to the link */
background-image: url(<dtml-var "portal_url() + '/'+ portal_types.getTypeInfo('Discussion Item').getIcon()">);
background-repeat: no-repeat;
background-position: 0px -2px;
padding: 0em 0em 0.5em 2em;
margin: 0;
display: block;
}
table.box a.marker {
/* special format for links inside boxes - adds link image and displays the link as a block (which in this case means the text will not float under the link image, plus the whole thing is clickable) */
background: &dtml-boxLinkBackground;;
display: block;
padding: 0em 0em 0em 1.5em;
vertical-align: top;
}
span.folderName {
/* The folder name in folder_contents */
font-size: 150%;
font-weight: bold;
}
div.category {
float: left;
margin-right: 1em;
margin-bottom: 2em;
width: 20em;
}
div.category a.heading {
display: block;
padding: 0em 0em 0.5em 0em;
font-size: &dtml-headingSize1;;
text-decoration: underline;
}
div.category a {
text-decoration: underline;
}
div.box {
float: left;
margin-right: 1em;
margin-bottom: 2em;
width: 20em;
background: transparent;
border-collapse: collapse;
border: &dtml-boxBorder;;
}
div.box div.heading {
background: &dtml-boxHeaderBackground;;
border-bottom: &dtml-boxBorder;;
color: &dtml-boxHeaderFontColor;;
font-weight: normal;
padding: 0em 0em 0em 1em;
text-align: left;
text-transform: &dtml-textTransform;;
}
div.box a.close {
float: right;
text-transform: none;
border-left: &dtml-boxBorder;;
padding: 0em 0.2em;
}
div.box div.odd {
background: &dtml-boxOddBackground;;
padding: 1em;
}
div.box div.even {
background-color: &dtml-boxEvenBackground;;
padding: 1em;
}
div.spacer {
margin: 3em;
}
.private {
color: Black;
}
.published {
color: #74AE0B;
}
.pending {
color: #FFA500;
}
.syndicated {
color: #008000;
}
.expired {
color: Red;
}
div.listingBar {
background: &dtml-mainTabBackground;;
border-color: &dtml-mainTabBorderColorSelected;;
border-style: solid;
border-width: 1px;
padding: 0em 1em;
text-align: right;
text-transform: &dtml-textTransform;;
height: 1em;
clear: both;
}
div.listingBar span.previous {
text-align: left;
float: left;
}
div.listingBar span.next {
text-align: right;
float: right;
}
div.workspace {
}
div.workspace span.small {
float: left;
height: 30em;
width: 20em;
margin-right: 1em;
margin-bottom: 1em;
}
div.workspace span.big {
float: left;
height: 40em;
width: 40em;
margin-right: 1em;
margin-bottom: 1em;
}
</dtml-with>
=== Added File Products/ZopeOrg-NV/skins/nzo/stylesheet_properties.props ===
plone_skin:string=Plone Default
mainFont:string=1em Tahoma, Helvetica, Arial, sans-serif
mainBackground:string=White
mainFontColor:string=Black
mainLinkColor:string=#436976
mainTabBorderColor:string=#8CACBB
mainTabBorderColorSelected:string=#8CACBB
mainTabBackground:string=#DEE7EC
mainTabBackgroundNotSelected:string=transparent
mainTabBackdrop:string=transparent
mainTabFontWeight:string=normal
mainTabFontColor:string=#436976
mainTabFontColorSelected:string=#436976
headingFont:string=1em Tahoma, Helvetica, Arial, sans-serif
headingFontColor:string=Black
headingSize1:string=1.1em
headingSize2:string=1em
headingSize3:string=0.95em
headingSize4:string=0.9em
headingSize5:string=0.85em
headingSize6:string=0.80em
descriptionFont:string=bold 1em Tahoma, Helvetica, Arial, sans-serif
contentFont:string=1em Verdana, Helvetica, Arial, sans-serif
contentBackground:string=transparent
contentImageBorder:string=1px solid Black
contentLinkActiveColor:string=Red
contentLinkVisitedColor:string=Purple
contentTabBorder:string=1px solid #74AE0B
contentTabBackground:string=#CDE2A7
contentTabBackgroundNotSelected:string=transparent
contentTabBackdrop:string=transparent
contentTabFontWeight:string=normal
contentTabFontColor:string=#578308
contentTabFontColorSelected:string=#578308
preBorder:string=1px solid #8cacbb
preBackground:string=#dee7ec
messageFont:string=bold 100% Tahoma, Helvetica, Arial, sans-serif
messageBackground:string=#FFCE7B
messageBorder:string=1px solid #FFA500
textTransform:string=lowercase
noBorder:string=none
evenRowBackground:string=#F7F9FA
oddRowBackground:string=transparent
groupBorder:string=1px solid #8cacbb
requiredField:string=url(required.gif) 2em no-repeat
inputFont:string=bold 0.8em Tahoma, Helvetica, Arial, sans-serif
inputBorder:string=1px solid #8cacbb
contextButtonBackground:string=White url(linkTransparent.gif) left no-repeat
contextButtonPadding:string=1px 1px 1px 15px
contextButtonFontColor:string=Black
standaloneButtonBackground:string=#DEE7EC url(linkOpaque.gif) left no-repeat
standaloneButtonPadding:string=1px 1px 1px 15px
standaloneButtonFontColor:string=Black
buttonWeight:string=normal
boxBorder:string=1px solid #8CACBB
boxHeaderBackground:string=#DEE7EC
boxHeaderFontColor:string=Black
boxLinkBackground:string=url(linkTransparent.gif) -0.5em 0px no-repeat
boxLinkColor:string=#436976
boxEvenBackground:string=#F7F9FA
boxOddBackground:string=transparent
boxHighlight:string=2px solid #FFA500
listingBorder:string=1px solid #8CACBB
listingHeaderBackground:string=#DEE7EC
listingHeaderFontColor:string=Black
listingLinkHover:string=underline
listingEvenBackground:string=#F7F9FA
listingOddBackground:string=transparent
topBackground:string=transparent
topMargin:string=0
topPadding:string=0
logoMargin:string=1em 0em 1em 2em
logoPadding:string=0
searchMargin:string=3em 0em 0em 0em
searchPadding:string=0em 2em 0em 0em
searchFontColor:string=Black
footerBackground:string=#DEE7EC
footerBorder:string=1px solid #8CACBB
leftColumnWidth:string=15%
rightColumnWidth:string=15%
deprecated_properties:string=Below -- taken from Nouvelle
alink_color:string=#FF0000
base_font_color:string=#000000
base_font_size:string=8pt
bg_color:string=#FFFFFF
guest_actions_color:string=#FFEEEE
guest_actions_link_color:string=#660000
highlight_color:string=#888888
highlight_font_color:string=#000000
hover_color:string=#FF0000
link_color:string=#c4bd58
primary_accent_alink_color:string=#FF0000
primary_accent_color:string=#000000
primary_accent_font_color:string=#A28144
primary_accent_link_color:string=#A28144
primary_accent_text_color:string=#A28144
primary_accent_vlink_color:string=#A28144
primary_font_family:string=Tahoma, Arial, Helvetica, sans-serif
secondary_accent_alink_color:string=#FF0000
secondary_accent_color:string=#A28144
secondary_accent_font_color:string=#000000
secondary_accent_link_color:string=#FFFFFF
secondary_accent_vlink_color:string=#FFFFFF
secondary_font_family:string=Tahoma, Arial, Helvetica, sans-serif
select_stylesheet_id:string=nouvelle_stylesheet
title:string=New Style
vlink_color:string=#c4bd58
=== Added File Products/ZopeOrg-NV/skins/nzo/toPortalTime.py ===
## Script (Python) "toPortalTime"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=time=None
##title=
##
#given a time string convert it into a DateTime and then format it appropariately
from DateTime import DateTime
if hasattr(context.portal_properties, 'localTimeFormat'):
format=context.portal_properties.localTimeFormat
else:
format="%Y-%m-%d %H:%M:%S"
portal_time=None
if time is None:
time=DateTime()
try:
portal_time=DateTime(str(time)).strftime(format)
except:
portal_time=time
return portal_time
=== Products/ZopeOrg-NV/skins/nzo/folder_contents.html 1.1 => 1.2 ===
-<body metal:fill-slot="main">
+<body metal:fill-slot="main"
+ tal:define="dummy here/filterCookie;
+ folderfilter python:request.get('folderfilter', '');
+ global decodedFilter python:here.decodeFolderFilter(folderfilter);
+ global filterValues decodedFilter;
+ global filter decodedFilter;
+ global portal_url here/portal_url">
<div tal:condition="python: not(here.portal_membership.checkPermission('List folder contents', here))">
<span tal:define="redirect python: request.RESPONSE.redirect(here.absolute_url())">
</span>
</div>
+ <form name="folderContentsForm"
+ method="post"
+ action="folder_object"
+ tal:attributes="action here/absolute_url"
+ tal:define="global folder_contents python:here.listFolderContents( contentFilter=filter );
+ b_start python:request.get('b_start', 0);
+ results folder_contents;
+ global DateTime python:modules['DateTime'].DateTime;
+ Batch python:modules['ZTUtils'].Batch;
+ global batch python:Batch(results, 5000, int(b_start), orphan=0);">
+
+ <input type="hidden" name="filter_state" value="set_view_filter" />
+
+ <metal:block tal:condition="folder_contents">
+
+ <table id="sortable"
+ class="listing"
+ summary="Content listing"
+ cellpadding="0" cellspacing="0"
+ metal:define-macro="folder_listing">
+
+ <thead>
+ <tr>
+ <th> </th>
+ <th>Title <img src="arrowUp.gif" alt="Sort" height="6" width="9" /></th>
+ <th>Type</th>
+ <th>Size</th>
+ <th>Modified</th>
+ <th>Status</th>
+ </tr>
+ </thead>
+
+ <tbody>
+ <metal:block tal:repeat="item batch">
+ <tr tal:define="oddrow repeat/item/odd"
+ tal:attributes="class python:test(oddrow, 'even', 'odd')" >
+
+ <td>
+ <input type="checkbox" class="noborder" name="ids:list" id="#"
+ value="#"
+ tal:attributes="value item/getId;
+ id python: 'cb_'+item.getId();
+ checked request/ids_checked|nothing;"/>
+ </td>
+
+ <td tal:define="action python:item.getTypeInfo().getActionById('view');
+ url python:test(action, item.absolute_url()+'/'+action, item.absolute_url()+'/folder_contents');">
+
+ <a href="#" tal:attributes="href url">
+ <img src="" alt="Folder" border="0"
+ height="16"
+ width="16"
+ tal:attributes="src string:$portal_url/${item/getIcon};
+ alt item/Type;"
+ /> <span tal:replace="item/title_or_id">Title</span>
+ </a>
+
+ <span class="expired"
+ tal:condition="python:container.isExpired(item)">expired</span>
+ </td>
+
+ <td tal:content="item/Type">
+ folder
+ </td>
+
+ <td tal:define="size python:here.getObjSize(item)"
+ tal:content="structure python:test(size, size, ' ')">
+ size
+ </td>
+
+ <td tal:content="python:here.toPortalTime(item.ModificationDate())">
+ 08/19/2001 03:01 AM
+ </td>
+
+ <td class="private"
+ tal:define="review_state python:container.portal_workflow.getInfoFor(item, 'review_state', '')"
+ tal:content="structure python:test(review_state, review_state, ' ')"
+ tal:attributes="class python:test(review_state, review_state, 'private')">
+ </td>
+ </tr>
+ </metal:block>
+ </tbody>
+ </table>
+
+ </metal:block>
- <form action="" method="POST"
- tal:attributes="action here/absolute_url">
- <table width="100%" id="FolderContents"
- cellpadding="2" cellspacing="0"
- tal:define="b_start string:0;b_start request/b_start | b_start; filterString python: request.get('folderfilter', ''); filter python: here.decodeFolderFilter(filterString); items python: here.listFolderContents(contentFilter=filter); Batch python:modules['ZTUtils'].Batch; global batch python:Batch(items, 30, int(b_start), orphan=0)">
-
-<thead>
+<table border="0" cellspacing="0" cellpadding=2>
<tr>
- <td colspan="3">
- <div style="padding-top: 12px"
- tal:condition="python: here.portal_membership.checkPermission('List folder contents', here, 'aq_parent')"
- tal:define="upNav python: hasattr(here.aq_parent, 'portal_url'); upID python: here.aq_parent.getId()">
- <span tal:condition="upNav|nothing">
- <a href="../folder_contents">
- <img tal:attributes="src python: here.portal_url() + '/UpFolder_icon.gif'"
- src="" alt="[Link]" border="0" /></a>
- </span>
-
-
- <span tal:condition="upNav">Up to
- <a href="../folder_contents" tal:content="upID">Up ID</a>
- </span>
-
- <span tal:condition="python: not(upNav)">Root</span>
- </div>
-
- </td>
-</tr>
-
-<tr style="background-color: #CCCCCC">
- <td style="background-color: #CCCCCC"> </td>
- <td style="background-color: #CCCCCC"><strong>Type</strong> </td>
- <td style="background-color: #CCCCCC"><strong>Id (Title)</strong></td>
- <td style="background-color: #CCCCCC"><strong>Size</strong></td>
- <td style="background-color: #CCCCCC"><strong>Last Modified</strong></td>
-</tr>
-</thead>
-
-<tbody>
-<tr align="top" tal:repeat="item batch">
- <td align="left" width="5" nowrap="NOWRAP"
- tal:define="folderish item/isPrincipiaFolderish; portalish item/isPortalContent|nothing; global methodID python: folderish and 'folder_contents' or (portalish and 'view' or ''); global icon item/getIcon|item/icon|nothing">
-
- <input type="checkbox" name="ids:list" value="" id=""
- tal:attributes="value item/getId; id python: 'cb_' + item.getId()" />
- </td>
-
- <td align="center">
- <span tal:condition="icon">
- <a href=""
- tal:attributes="href python: item.getId() + '/' + methodID">
- <img src="" alt="" border="0"
- tal:attributes="src python: here.portal_url() + '/' + icon; alt item/Type|nothing" /></a>
+ <td align="left" valign="top" width="16"></td>
+ <td align="left" valign="top">
+ <span tal:condition="python: here.portal_membership.checkPermission('Add portal content', here)">
+ <input type="submit" name="folder_factories:method" value="New...">
+ </span>
+ <span tal:condition="python: here.portal_membership.checkPermission('View management screens', here)">
+ <input type="submit" name="folder_rename_form:method" value="Rename">
+ <input type="submit" name="folder_cut:method" value="Cut">
+ <input type="submit" name="folder_copy:method" value="Copy">
+ <span tal:condition="here/cb_dataValid">
+ <input type="submit" name="folder_paste:method" value="Paste">
</span>
+ </span>
+ <span tal:condition="python: here.portal_membership.checkPermission('Delete objects', here)">
+ <input type="submit" name="folder_delete:method" value="Delete">
+ </span>
</td>
- <td>
- <a href=""
- tal:attributes="href python: item.getId() + '/' + methodID">
- <span tal:replace="item/getId">ID</span>
- <span tal:condition="item/Title"
- tal:replace="python: '(' + item.Title() + ')'">(Title)</span></a>
- </td>
-
- <td tal:content="string: ${item/get_size} bytes"
- tal:on-error="python: None">7,000 bytes</td>
-
- <td tal:content="item/Date">2001-12-01 01:23:44</td>
-
</tr>
-</tbody>
</table>
+
</form>
<div>
@@ -95,6 +137,7 @@
</span>
</div>
+<span tal:replace="structure here/folder_filter_form">Filter Form Here</span>
</body>
</html>
=== Products/ZopeOrg-NV/skins/nzo/main_template.html 1.8 => 1.9 ===
<link href="css_default.css" rel="stylesheet" type="text/css"
- tal:attributes="href here/css_default/absolute_url" />
+ tal:attributes="href here/css_default.css/absolute_url" />
- <link href="sitefonts.css" rel="stylesheet" type="text/css"
- tal:attributes="href here/sitefonts/absolute_url" />
- <style type="text/css" media="all"
- tal:content="here/sitefonts/absolute_url">
- at import "sitefonts.css";
+ <link href="nzoWidgets.css" rel="stylesheet" type="text/css"
+ tal:attributes="href here/nzoWidgets.css/absolute_url" />
+
+ <link href="nzoBasic.css" rel="stylesheet" type="text/css"
+ tal:attributes="href here/nzoBasic.css/absolute_url" />
+
+ <link href="nzoStructure.css" rel="stylesheet" type="text/css"
+ tal:attributes="href here/nzoStructure.css/absolute_url" />
+
+ <style type="text/css" media="all">
+ @import "nzoWidgets.css";
+ @import "nzoBasic.css";
+ @import "nzoStructure.css";
+ @import "css_default.css";
</style>
</head>
More information about the zopeorg-checkins
mailing list