Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A country widget for Archetypes

Project Description

A country widget for Archetypes

Adds a new tool, portal_countryutil to the Plone root, which lets you manage a list of areas which may contain several countries from the official ISO-country list via the ZMI. A complete list of areas and their countries is being created at install time.

Provides three widgets which you can use in your own Archetype:

CountryWidget
the areas and countries defined in the country tool are then rendered as a dropdown (with <optgroup>).
AreaWidget
provides a dropdown with all areas you have defined.
MultiCountryWidget
for use with LinesField, lets you select multiple countries

Examples

Here is some code that demonstrates how to use those widgets:

---- YourArcheType.py ----

# Import the widget/s:
from Products.ATCountryWidget.Widget import CountryWidget, AreaWidget

# Define the field/s in your schema:
[...]

 StringField(
    'country',
    validators=('isValidISOCountry',),
    widget=CountryWidget(label='Country',
                         provideNullValue=1,   # this is default
                         nullValueTitle='-',   # this is default
                         omitCountries=None,   # this is default, can be a
                                               # list of country codes which
                                               # are not displayed
                         description='Select a country')
 ),

[... and/or ...]

 StringField(
    'area',
    widget=AreaWidget(label='Area',
                      provideNullValue=1,      # this is default
                      nullValueTitle='-',      # this is default
                      description='Select an area')
 ),

[... and/or ...]

 LinesField(
    'countries',
    widget=MultiCountryWidget(label='Countries',
                         omitCountries=None,   # this is default, can be a
                                               # list of country codes which
                                               # are not displayed
                         description='Select countries')
 ),

[...]

Use without Archetypes

To use your countrylist in a custom page template outside of an Archetype (e.g. in a search form) you can directly use the API the country tool provides:

<select tal:define="countrytool here/portal_countryutils">
  <option>Choose...</option>
  <optgroup
      label="Western Europe"
      tal:repeat="area countrytool/listAreas"
      tal:attributes="label area/name">
    <option
      value="DE"
      tal:repeat="country area/countries"
      tal:content="country/name"
      tal:attributes="value country/isocc">Germany
    </option>
  </optgroup>
</select>

For more details on how to customize content-types, add custom fields to content-types, see Martin’s tutorial: http://plone.org/documentation/kb/richdocument/extending-atct

Changelog

2011-04-11
  • Release Plone 4 compat version
2009-02-21
  • Released as egg.
2006-04-19
  • Added patch from Norman H. Voss (missing country/rearranged default areas)
  • Updated README to cover MultiCountryWidget
2006-03-14
  • Added multiselect widget (MultiCountryWidget)
2005-09-02
  • Compatibility with Plone 2.1 (RC3)
2005-06-29
  • Added parameter ‘omitCountries’ to CountryWidget. Country ISO codes in this list are omitted from display in selection.
2005-02-20
  • added listing of languages and their two letter ISO codes
2004-08-30
  • release 0.2
  • added area-widget
  • provideNullValue & nullValue properties for widgets
  • creation of complete area-country structure in installer
  • migrated to AT 1.3 beta
2004-07-05
  • release 0.1.1
  • added validator
2004-06-29
  • initial release 0.1

Authors

Christian Zagrodnick (cz@gocept.com) Michael Howitz (mh@gocept.com) Daniel Havlik (dh@gocept.com)

Additional credits:

  • Norman H. Voss for a patch (04/2006)
  • Alex Clark for releasing Plone 4 compat version (from gocept trunk moved to the collective, 04/2011)
Release History

Release History

This version
History Node

0.2.6

History Node

0.2.5

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
Products.ATCountryWidget-0.2.6.zip (46.6 kB) Copy SHA256 Checksum SHA256 Source Apr 12, 2011

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting