TGPriFlash

TGPriFlash is a TurboGears flash implementation that supports multiple priority levels.

Out of the box, 3 levels are defined (FLASH_INFO, FLASH_WARNING, FLASH_ALERT) but you can ignore these and use any integer values you like as the flash priority levels.

Install

Install with setuptools:

$ easy_install TGPriFlash

or download from http://pypi.python.org/pypi/TGPriFlash

Usage

To "magically" replace (aka monkey patch) turbogears.flash() with this one, just add this import to your start-project.py:

import tg_pri_flash.flash

Within your project you can import turbogears.flash as normal:

from turbogears import flash

You'll want to replace the tg_flash line in your master template:

<div py:if="tg_flash" class="flash" py:content="tg_flash"></div>

with something like this:

<div py:if="tg_flash and tg_flash[1]==0" class="flash_ok" py:content="tg_flash[0]"></div>
<div py:if="tg_flash and tg_flash[1]==1" class="flash_warning" py:content="tg_flash[0]"></div>
<div py:if="tg_flash and tg_flash[1]==2" class="flash_alert" py:content="tg_flash[0]"></div>

You would then define CSS definitions for each of the classes.

In your controller you can call flash() with a second argument, a positive integer:

flash( _(u"There was an error"), 2 )

or, using the built-in constants:

from tg_pri_flash.flash import FLASH_ALERT
flash( _(u"There was an error"), FLASH_ALERT )