CVS: Products/ExternalEditor - ExternalEditor.py:1.27.2.1

Zachery Bir <[email protected]>
Newsgroups gmane.comp.web.zope.public-cvs
Message-ID <[email protected]>
Update of /cvs-repository/Products/ExternalEditor
In directory cvs.zope.org:/tmp/cvs-serv10484

Modified Files:
      Tag: ExternalEditor-zbir-extra-methods-branch
	ExternalEditor.py 
Log Message:
Provide a new method that only hands back the actual link. EditLink
will use it to form the anchor tag, but this way we can use it for CMF
actions.


=== Products/ExternalEditor/ExternalEditor.py 1.27 => 1.27.2.1 ===
--- Products/ExternalEditor/ExternalEditor.py:1.27	Thu Dec  9 18:24:05 2004
+++ Products/ExternalEditor/ExternalEditor.py	Wed Aug 17 16:40:49 2005
@@ -182,8 +182,8 @@
 
 is_mac_user_agent = re.compile('.*Mac OS X.*|.*Mac_PowerPC.*').match
 
-def EditLink(self, object, borrow_lock=0):
-    """Insert the external editor link to an object if appropriate"""
+def EditURL(self, object, borrow_lock=0):
+    """Return the URL to externally edit an object if appropriate"""
     base = Acquisition.aq_base(object)
     user = getSecurityManager().getUser()
     editable = (hasattr(base, 'manage_FTPget')
@@ -203,17 +203,23 @@
             ext = ''
         if borrow_lock:
             query['borrow_lock'] = 1
-        url = "%s/externalEdit_/%s%s%s" % (object.aq_parent.absolute_url(), 
+
+        return "%s/externalEdit_/%s%s%s" % (object.aq_parent.absolute_url(), 
                                            urllib.quote(object.getId()), 
                                            ext, querystr(query))
+    return ''
+
+def EditLink(self, object, borrow_lock=0):
+    """Insert the external editor link to an object if appropriate"""
+    url = EditURL(self, object, borrow_lock)
+    if url:
         return ('<a href="%s" '
                 'title="Edit using external editor">'
                 '<img src="%s/misc_/ExternalEditor/edit_icon" '
                 'align="middle" hspace="2" border="0" alt="External Editor" />'
                 '</a>' % (url, object.REQUEST.BASEPATH1)
                )
-    else:
-        return ''
+    return ''
 
 def querystr(d):
     """Create a query string from a dict"""

_______________________________________________
Zope-CVS maillist  -  [email protected]
http://mail.zope.org/mailman/listinfo/zope-cvs

Zope CVS instructions: http://dev.zope.org/CVS
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.