r732 - / zope-ofolder zope-ofolder/branches zope-ofolder/branches/upstream zope-ofolder/branches/upstream/current zope-ofolder/branches/upstream/current/dtml zope-ofolder/branches/upstream/current/www

Bernd Zeimetz bzed-guest at alioth.debian.org
Tue Apr 3 23:03:36 UTC 2007


Author: bzed-guest
Date: 2007-04-03 23:03:35 +0000 (Tue, 03 Apr 2007)
New Revision: 732

Added:
   zope-ofolder/
   zope-ofolder/branches/
   zope-ofolder/branches/upstream/
   zope-ofolder/branches/upstream/current/
   zope-ofolder/branches/upstream/current/OFolder.py
   zope-ofolder/branches/upstream/current/README.txt
   zope-ofolder/branches/upstream/current/__init__.py
   zope-ofolder/branches/upstream/current/dtml/
   zope-ofolder/branches/upstream/current/dtml/main.dtml
   zope-ofolder/branches/upstream/current/dtml/ofolderAdd.dtml
   zope-ofolder/branches/upstream/current/version.txt
   zope-ofolder/branches/upstream/current/www/
   zope-ofolder/branches/upstream/current/www/Folder_icon.gif
   zope-ofolder/tags/
Log:
[svn-inject] Installing original source of zope-ofolder

Added: zope-ofolder/branches/upstream/current/OFolder.py
===================================================================
--- zope-ofolder/branches/upstream/current/OFolder.py	2007-04-02 06:58:56 UTC (rev 731)
+++ zope-ofolder/branches/upstream/current/OFolder.py	2007-04-03 23:03:35 UTC (rev 732)
@@ -0,0 +1,48 @@
+'''OFolder, a folder with explicit control over the order of elements.'''
+
+from Globals import InitializeClass, DTMLFile
+from AccessControl import ClassSecurityInfo
+from OFS.Folder import Folder
+
+class OFolder(Folder):
+  '''OFolder contain an ordered sequence of objects. Otherwise, they behave like folders.'''
+  meta_type= 'OFolder'
+
+  security= ClassSecurityInfo()
+
+  security.declareProtected('OFolder: reorder',
+                            'manage_reorder',
+                            )
+
+  def manage_reorder(self,order, REQUEST=None, cmp= lambda x,y: cmp(x.order,y.order)):
+    '''reorder the folders children according to *order*.'''
+    order.sort(cmp)
+    d= _dictify(self._objects); l= []
+    for x in order: l.append(d[x.id])
+    self._objects= tuple(l)
+    if REQUEST is not None:
+      return self.manage_main(self,REQUEST,
+                              manage_tabs_message='reordered')
+
+  manage_main= DTMLFile('dtml/main', globals())
+
+InitializeClass(OFolder)
+
+
+manage_addOFolderForm= DTMLFile('dtml/ofolderAdd',globals())
+def manage_addOFolder(self,id, title='', REQUEST=None):
+  '''add an OFolder.'''
+  ob= OFolder()
+  ob.id= id; ob.title= title
+  self._setObject(id,ob)
+
+  if REQUEST is not None:
+    du= getattr(self,'DestinationURL',self.absolute_url)
+    du= du()
+    REQUEST.RESPONSE.redirect('%s/manage_main?manage_tabs_message=OFolder+created&update_menu:int=1' % du)
+    
+
+def _dictify(t):
+  d= {}
+  for r in t: d[r['id']]= r
+  return d

Added: zope-ofolder/branches/upstream/current/README.txt
===================================================================
--- zope-ofolder/branches/upstream/current/README.txt	2007-04-02 06:58:56 UTC (rev 731)
+++ zope-ofolder/branches/upstream/current/README.txt	2007-04-03 23:03:35 UTC (rev 732)
@@ -0,0 +1,8 @@
+OFolder
+
+  An OFolder contains an ordered sequence of objects.
+
+  Besides the ordering, it behaves identical to a Folder.
+
+  You can reorder the objects by assigning new order numbers (these
+  are float values) and then press 'reorder'.

Added: zope-ofolder/branches/upstream/current/__init__.py
===================================================================
--- zope-ofolder/branches/upstream/current/__init__.py	2007-04-02 06:58:56 UTC (rev 731)
+++ zope-ofolder/branches/upstream/current/__init__.py	2007-04-03 23:03:35 UTC (rev 732)
@@ -0,0 +1,13 @@
+import OFolder
+
+
+def initialize(context):
+
+    context.registerClass(
+        OFolder.OFolder,
+        constructors=(OFolder.manage_addOFolderForm,
+                      OFolder.manage_addOFolder),
+        icon='www/Folder_icon.gif'
+        )
+    
+    context.registerBaseClass(OFolder.OFolder)

Added: zope-ofolder/branches/upstream/current/dtml/main.dtml
===================================================================
--- zope-ofolder/branches/upstream/current/dtml/main.dtml	2007-04-02 06:58:56 UTC (rev 731)
+++ zope-ofolder/branches/upstream/current/dtml/main.dtml	2007-04-03 23:03:35 UTC (rev 732)
@@ -0,0 +1,258 @@
+<dtml-var manage_page_header>
+<dtml-var manage_tabs>
+
+<script type="text/javascript">
+<!-- 
+
+isSelected = false;
+
+function toggleSelect() {
+  if (isSelected == false) {
+    for (i = 0; i < document.objectItems.length; i++)
+      document.objectItems.elements[i].checked = true ;
+      isSelected = true;
+      document.objectItems.selectButton.value = "Deselect All";
+      return isSelected;
+  }
+  else {
+    for (i = 0; i < document.objectItems.length; i++)
+      document.objectItems.elements[i].checked = false ;
+      isSelected = false;
+      document.objectItems.selectButton.value = "Select All";
+      return isSelected;       
+  }
+}
+
+//-->
+</script>
+
+<!-- Add object widget -->
+<br />
+<dtml-if filtered_meta_types>
+  <table width="100%" cellspacing="0" cellpadding="0" border="0">
+  <tr>
+  <td align="left" valign="top">&nbsp;</td>
+  <td align="right" valign="top">
+  <div class="form-element">
+  <form action="&dtml-URL1;/" method="get">
+  <dtml-if "_.len(filtered_meta_types) > 1">
+    <select class="form-element" name=":action" 
+     onChange="location.href='&dtml-URL1;/'+this.options[this.selectedIndex].value">
+    <option value="manage_workspace" disabled>Select type to add...</option>
+    <dtml-in filtered_meta_types mapping sort=name>
+    <dtml-comment>
+      DM: url_quoting breaks CMF which includes a query string in "action":<option value="&dtml.url_quote-action;">&dtml-name;</option>
+    </dtml-comment>
+    <option value="&dtml.-action;">&dtml-name;</option>
+    </dtml-in>
+    </select>
+    <input class="form-element" type="submit" name="submit" value=" Add " />
+  <dtml-else>
+    <dtml-in filtered_meta_types mapping sort=name>
+    <input type="hidden" name=":method" value="&dtml.url_quote-action;" />
+    <input class="form-element" type="submit" name="submit" value=" Add &dtml-name;" />
+    </dtml-in>
+  </dtml-if>
+  </form>
+  </div>
+  </td>
+  </tr>
+  </table>
+</dtml-if>
+
+<form action="&dtml-URL1;/" name="objectItems" method="post">
+<dtml-if objectItems>
+<table width="100%" cellspacing="0" cellpadding="2" border="0">
+<tr class="list-header">
+  <td width="5%">&nbsp;</td>
+  <td width="10%" align="left"><div
+   class="list-item"><strong>Order</strong></div>
+  </td>
+  <td width="5%" align="right"><div 
+   class="list-item"><strong>Type</strong></div>
+  </td>
+  <td width="50%" align="left"><div
+   class="list-item"><strong>Name</strong></div>
+  </td>
+  <td width="50%" align="left"><div
+   class="list-item"><strong>Size</strong></div>
+  </td>
+  <td width="50%" align="left"><div
+   class="list-item"><strong>Last Modified</strong></div>
+  </td>
+</tr>
+<dtml-in objectItems>
+<dtml-if sequence-odd>
+<tr class="row-normal">
+<dtml-else>
+<tr class="row-hilite">
+</dtml-if>
+  <td align="left" valign="top" width="16">
+  <input type="checkbox" name="ids:list" value="&dtml-sequence-key;" />
+  </td>
+  <td align="right">
+    <input type="hidden" name="order.id:records" value="&dtml-sequence-key;">
+    <input name="order.order:float:records" value="&dtml-sequence-number;" size=4>
+  </td>
+  <td align="left" valign="top" nowrap="1">
+
+  <dtml-if om_icons>
+  <a href="&dtml.url_quote-sequence-key;/manage_workspace">
+  <dtml-in om_icons mapping>
+  <img src="&dtml-BASEPATH1;/&dtml.url_quote-path;" alt="&dtml.missing-alt;" 
+   title="&dtml.missing-title;" border="0" /></dtml-in></a>
+  <dtml-else>
+
+  <dtml-if icon>
+  <a href="&dtml.url_quote-sequence-key;/manage_workspace">
+  <img src="&dtml-BASEPATH1;/&dtml-icon;" alt="&dtml-meta_type;" 
+   title="&dtml-meta_type;" border="0" /></a>
+  <dtml-else>
+  &nbsp;
+  </dtml-if>
+
+  </dtml-if>
+
+  </td>
+  <td align="left" valign="top">
+  <div class="list-item">
+  <a href="&dtml.url_quote-sequence-key;/manage_workspace">
+  &dtml-sequence-key; <dtml-if title>(&dtml-title;)</dtml-if>
+  </a>
+  <dtml-if locked_in_version>
+    <dtml-if modified_in_version>
+      <img src="&dtml-BASEPATH1;/p_/locked"
+       alt="This item has been modified in this version" />
+    <dtml-else>
+      <img src="&dtml-BASEPATH1;/p_/lockedo"
+       alt="This item has been modified in another version" />
+       (<em>&dtml-locked_in_version;</em>)
+    </dtml-if>
+  </dtml-if>
+  </div>
+  </td>
+
+  <dtml-with sequence-key>
+  <td>
+  <div class="list-item">
+  <dtml-try>
+  <dtml-if get_size>
+  <dtml-let ob_size=get_size>
+  <dtml-if "ob_size < 1024">
+  1 Kb
+  <dtml-elif "ob_size > 1048576">
+  <dtml-var "ob_size / 1048576.0" fmt="%0.02f"> Mb
+  <dtml-else>
+  <dtml-var "_.int(ob_size / 1024)"> Kb
+  </dtml-if>
+  </dtml-let>
+  <dtml-else>
+  &nbsp;
+  </dtml-if>
+  <dtml-except>
+  &nbsp;
+  </dtml-try>
+  </div>
+  </td>
+
+  <td>
+  <div class="list-item">
+  <dtml-var bobobase_modification_time fmt="%Y-%m-%d %H:%M">
+  </div>
+  </td>
+  </dtml-with>
+</tr>
+</dtml-in>
+</table>
+
+<table cellspacing="0" cellpadding="2" border="0">
+<tr>
+  <td align="left" valign="top" width="16"></td>
+  <td align="left" valign="top">
+  <div class="form-element">
+  <dtml-unless dontAllowCopyAndPaste>
+  <input class="form-element" type="submit" name="manage_renameForm:method" 
+   value="Rename" />
+  <input class="form-element" type="submit" name="manage_cutObjects:method" 
+   value="Cut" /> 
+  <input class="form-element" type="submit" name="manage_copyObjects:method" 
+   value="Copy" />
+  <dtml-if cb_dataValid>
+  <input class="form-element" type="submit" name="manage_pasteObjects:method" 
+   value="Paste" />
+  </dtml-if>
+  </dtml-unless>
+  <dtml-if "_.SecurityCheckPermission('Delete objects',this())">
+  <input class="form-element" type="submit" name="manage_delObjects:method" 
+   value="Delete" />
+  </dtml-if>
+  <dtml-if "_.SecurityCheckPermission('Import/Export objects', this())">
+  <input class="form-element" type="submit" 
+   name="manage_importExportForm:method" 
+   value="Import/Export" />
+  </dtml-if>
+  <dtml-if "_.SecurityCheckPermission('OFolder: reorder', this())">
+  <input class="form-element" type="submit" 
+   name="manage_reorder:method" 
+   value="Reorder" />
+  </dtml-if>
+<script type="text/javascript">
+<!-- 
+if (document.forms[0]) {
+  document.write('<input class="form-element" type="submit" name="selectButton" value="Select All" onClick="toggleSelect(); return false">')
+  }
+//-->
+</script>
+  </div>
+  </td>
+</tr>
+</table>
+
+<dtml-else>
+<table cellspacing="0" cellpadding="2" border="0">
+<tr>
+<td>
+<div class="std-text">
+There are currently no items in <em>&dtml-title_or_id;</em>
+<br /><br />
+</div>
+<dtml-unless dontAllowCopyAndPaste>
+<dtml-if cb_dataValid>
+<div class="form-element">
+<input class="form-element" type="submit" name="manage_pasteObjects:method" 
+ value="Paste" />
+</div>
+</dtml-if>
+</dtml-unless>
+<dtml-if "_.SecurityCheckPermission('Import/Export objects', this())">
+<input class="form-element" type="submit"
+  name="manage_importExportForm:method" value="Import/Export" />
+</dtml-if>
+</td>
+</tr>
+</table>
+</dtml-if>
+</form>
+
+<dtml-if update_menu>
+<script type="text/javascript">
+<!--
+window.parent.update_menu();
+//-->
+</script>
+</dtml-if>
+
+<dtml-var manage_page_footer>
+
+
+
+
+
+
+
+
+
+
+
+
+

Added: zope-ofolder/branches/upstream/current/dtml/ofolderAdd.dtml
===================================================================
--- zope-ofolder/branches/upstream/current/dtml/ofolderAdd.dtml	2007-04-02 06:58:56 UTC (rev 731)
+++ zope-ofolder/branches/upstream/current/dtml/ofolderAdd.dtml	2007-04-03 23:03:35 UTC (rev 732)
@@ -0,0 +1,48 @@
+<dtml-var manage_page_header>
+
+<dtml-var "manage_form_title(this(), _,
+           form_title='Add OFolder',
+	   )">
+<p class="form-help">
+An OFolder contains an ordered sequence of objects.
+</p>
+
+<FORM ACTION="manage_addOFolder" METHOD="POST">
+
+<table cellspacing="0" cellpadding="2" border="0">
+  <tr>
+    <td align="left" valign="top">
+    <div class="form-label">
+    Id
+    </div>
+    </td>
+    <td align="left" valign="top">
+    <input type="text" name="id" size="40" />
+    </td>
+  </tr>
+
+  <tr>
+    <td align="left" valign="top">
+    <div class="form-optional">
+    Title
+    </div>
+    </td>
+    <td align="left" valign="top">
+    <input type="text" name="title" size="40" />
+    </td>
+  </tr>
+
+  <tr>
+    <td align="left" valign="top">
+    </td>
+    <td align="left" valign="top">
+    <div class="form-element">
+    <input class="form-element" type="submit" name="submit" 
+     value="Add" /> 
+    </div>
+    </td>
+  </tr>
+</table>
+</form>
+
+<dtml-var manage_page_footer>

Added: zope-ofolder/branches/upstream/current/version.txt
===================================================================
--- zope-ofolder/branches/upstream/current/version.txt	2007-04-02 06:58:56 UTC (rev 731)
+++ zope-ofolder/branches/upstream/current/version.txt	2007-04-03 23:03:35 UTC (rev 732)
@@ -0,0 +1 @@
+1.0

Added: zope-ofolder/branches/upstream/current/www/Folder_icon.gif
===================================================================
(Binary files differ)


Property changes on: zope-ofolder/branches/upstream/current/www/Folder_icon.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




More information about the pkg-zope-commits mailing list