A TurboGears flash implementation that supports multiple priority levels.
Project description
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.
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 )