Ñò (üûGc @ sX d Z d d k Z d d k Z d d k l Z l Z d d k Z d d k l Z d d k Td d k l Z d „ Z d „ Z d d „ Z d d „ Z d d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d d d d d „ Z d „ Z d „ Z d „ Z d „ Z d d d d d d d d d „ Z d „ Z d d d d d d d d d! d" g Z d S(# s URL HelpersiÿÿÿÿN( t url_fort request_config( t compute_public_path( t *( t html_escapec C s t | ƒ o | ƒ S| Sd S( N( t callable( t url( ( s9 /usr/lib/python2.6/site-packages/webhelpers/rails/urls.pyt get_url s c s" ˆ ‰ ˆ ‰ ‡ ‡ f d † } | S( sÈ Lazily evaluates url_for() arguments. Used instead of url_for() for functions so that the function will be evaluated in a lazy manner rather than at initial function call. c s t ˆ ˆ Ž S( N( R ( ( t argst kargs( s9 /usr/lib/python2.6/site-packages/webhelpers/rails/urls.pyt call s ( ( R R R ( ( R R s9 /usr/lib/python2.6/site-packages/webhelpers/rails/urls.pyR s t c K sj | o t | } t i | } n d } t | ƒ o | ƒ } n t | ƒ } d | | | p | f S( sú Create link tag with text ``name`` and a URL created by the set of ``options``. See the valid options in the documentation for Routes url_for. The html_options has three special features. One for creating javascript confirm alerts where if you pass ``confirm='Are you sure?'``, the link will be guarded with a JS popup asking that question. If the user accepts, the link is processed, otherwise not. Another for creating a popup window, which is done by either passing ``popup`` with True or the options of the window in Javascript form. And a third for making the link do a POST request (instead of the regular GET) through a dynamically added form element that is instantly submitted. Note that if the user has turned off Javascript, the request will fall back on the GET. So its your responsibility to determine what the action should be once it arrives at the controller. The POST form is turned on by passing ``post`` as True. Note, it's not possible to use POST requests and popup targets at the same time (an exception will be thrown). Examples:: >> link_to("Delete this page", url(action="destroy", id=4), confirm="Are you sure?") >> link_to("Help", url(action="help"), popup=True) >> link_to("Busy loop", url(action="busy"), popup=['new_window', 'height=300,width=600']) >> link_to("Destroy account", url(action="destroy"), confirm="Are you sure?", method='delete') R s %s( t convert_options_to_javascriptt tagst tag_optionsR R ( t nameR t html_optionst tag_op( ( s9 /usr/lib/python2.6/site-packages/webhelpers/rails/urls.pyt link_to" s c K s t | | | } d | S( sY Generate a form containing a sole button that submits to ``url``. Use this method instead of ``link_to`` for actions that do not have the safe HTTP GET semantics implied by using a hypertext link. The parameters are the same as for ``link_to``. Any ``html_options`` that you pass will be applied to the inner ``input`` element. In particular, pass disabled = True/False as part of ``html_options`` to control whether the button is disabled. The generated form element is given the class 'button-to', to which you can attach CSS styles for display purposes. The submit button itself will be displayed as an image if you provide both ``type`` and ``src`` as followed: type='image', src='icon_delete.gif' The ``src`` path will be computed as the image_tag() computes its ``source`` argument. Example 1:: # inside of controller for "feeds" >> button_to("Edit", url(action='edit', id=3))
Example 2:: >> button_to("Destroy", url(action='destroy', id=3), confirm="Are you sure?", method='DELETE') Example 3:: # Button as an image. >> button_to("Edit", url(action='edit', id=3), type='image', src='icon_delete.gif') *NOTE*: This method generates HTML code that represents a form. Forms are "block" content, which means that you should not try to insert them into your HTML where only inline content is expected. For example, you can legally insert a form inside of a ``div`` or ``td`` element or in between ``p`` elements, but not in the middle of a run of text, nor can you place a form within another form. (Bottom line: Always validate your HTML before going public.) s %s( t _button_to( R R R t button_html( ( s9 /usr/lib/python2.6/site-packages/webhelpers/rails/urls.pyt button_toL s =c K sÖ | o t | d g ƒ n d } | i d d ƒ } | i ƒ d j o+ t i d d d d d d d d | ƒ} n | i ƒ d j o | p d } | i d ƒ } | o | d =d t | ƒ | d