Skip to content

Commit

Permalink
[#2797] Update documentation for autoform macro
Browse files Browse the repository at this point in the history
Also renamed plain_textarea to just textarea.
  • Loading branch information
aron committed Aug 6, 2012
1 parent ab6b938 commit f927598
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 6 deletions.
2 changes: 1 addition & 1 deletion ckan/controllers/admin.py
Expand Up @@ -46,7 +46,7 @@ def config(self):
{'name': 'ckan.site_logo', 'control': 'input', 'label': _('Site Tag Logo'), 'placeholder': _('')},
{'name': 'ckan.site_about', 'control': 'markdown', 'label': _('About'), 'placeholder': _('About page text')},
{'name': 'ckan.site_intro_text', 'control': 'markdown', 'label': _('Intro Text'), 'placeholder': _('Text on home page')},
{'name': 'ckan.site_custom_css', 'control': 'plain_textarea', 'label': _('Custom CSS'), 'placeholder': _('Customisable css inserted into the page header')},
{'name': 'ckan.site_custom_css', 'control': 'textarea', 'label': _('Custom CSS'), 'placeholder': _('Customisable css inserted into the page header')},
]

data = request.POST
Expand Down
33 changes: 28 additions & 5 deletions ckan/templates/macros/form.html
Expand Up @@ -133,14 +133,14 @@
Examples:

{% import 'macros/form.html' as form %}
{{ form.plain_textarea('desc', id='field-description', label=_('Description'), value=data.desc, error=errors.desc) }}
{{ form.textarea('desc', id='field-description', label=_('Description'), value=data.desc, error=errors.desc) }}

#}
{% macro plain_textarea(name, id='', label='', value='', placeholder='', error="", classes=[], attrs={}) %}
{% macro textarea(name, id='', label='', value='', placeholder='', error="", classes=[], attrs={}) %}
{% set classes = (classes|list) %}
{% do classes.append('control-full') %}

{% call input_block(id or name, label or name, error, classes, control_classes=["editor"]) %}
{% call input_block(id or name, label or name, error, classes) %}
<textarea id="{{ id or name }}" name="{{ name }}" cols="20" rows="5" placeholder="{{ placeholder }}" {{ attributes(attrs) }}>{{ value | empty_and_escape }}</textarea>
{% endcall %}
{% endmacro %}
Expand Down Expand Up @@ -297,6 +297,29 @@
{%- endfor -%}
{%- endmacro -%}

{#
Builds a form from the supplied form_info list/tuple.

form_info - A list of dicts describing the form field to build.
data - The form data object.
errors - The form errors object.

Example

{% set form_info = [
{'name': 'ckan.site_title', 'control': 'input', 'label': _('Site Title'), 'placeholder': _('')},
{'name': 'ckan.main_css', 'control': 'select', 'options': styles, 'label': _('Style'), 'placeholder': _('')},
{'name': 'ckan.site_description', 'control': 'input', 'label': _('Site Tag Line'), 'placeholder': _('')},
{'name': 'ckan.site_logo', 'control': 'input', 'label': _('Site Tag Logo'), 'placeholder': _('')},
{'name': 'ckan.site_about', 'control': 'markdown', 'label': _('About'), 'placeholder': _('About page text')},
{'name': 'ckan.site_intro_text', 'control': 'markdown', 'label': _('Intro Text'), 'placeholder': _('Text on home page')},
{'name': 'ckan.site_custom_css', 'control': 'textarea', 'label': _('Custom CSS'), 'placeholder': _('Customisable css inserted into the page header')},
] %}

{% import 'macros/form.html' as form %}
{{ form.autoform(form_info, data, errors) }}

#}
{%- macro autoform(form_info=[], data={}, errors={}) -%}
{% for item in form_info %}
{% set name = item.name %}
Expand All @@ -323,9 +346,9 @@

{{ markdown(name, id=id, label=label, placeholder=placeholder, value=value, error=error) }}

{% elif control == 'plain_textarea' %}
{% elif control == 'textarea' %}

{{ plain_textarea(name, id=id, label=label, placeholder=placeholder, value=value, error=error) }}
{{ textarea(name, id=id, label=label, placeholder=placeholder, value=value, error=error) }}

{% endif %}

Expand Down

0 comments on commit f927598

Please sign in to comment.