Name

Bric::App::Callback - The Bricolage callback base class

Synopsis

use Bric::App::Callback::Foo;
use Bric::App::Callback::Bar;

Description

This is the base class from which all Bricolage callback classes inherit. Callback classes are created by simply subclassing Bric::App::Callback, registering themselves, and then creating callback methods using the Callback attribute on methods:

sub save : Callback {
    my $cb = shift;
    # ...do the saving.
}

See the subclasses for examples.

Class Interface

Class Methods

lang

my $lang = Bric::App::Callback->lang;
$lang = $cb->lang;

Returns the currently active Bric::Util::Language localization object. Can also be used as an instance method.

cache

my $cache = Bric::App::Callback->cache;
$cache = $cb->cache;

Returns the currently active Bric::App::Cache object. Can also be used as an instance method.

Instance Methods

set_redirect

$cb->set_redirect($url);

Sets the URL to redirect to after all callbacks have finished executing, but before the request is turned over to Mason for processing.

add_message

$cb->add_message( 'Template "[_1]" deployed.', $template->get_uri );

Add a status message to be displayed to the user. Pass in a list of values suitable for passing through $lang->maketext.

raise_status

$cb->raise_status( HTTP_FORBIDDEN, 'Ya canna do that, captain!' );

In a non-Ajax request, this method simply passes the error message on to Bric::App::Util::add_msg(). In an Ajax request, however, it rolls back the current transaction sends the error message to the browser, along with the status, and aborts the request. This is useful for situations where a requested action cannot be carried out for one reason or another, such as the user not having the appropriate permission.

raise_conflict

$cb->raise_conflict( q{You cannot move a story from a desk it's not on.} );

A shortcut for calling raise_status() and passing HTTP_CONFLICT as the furst argument.

raise_forbidden

$cb->raise_forbidden( q{I can't let you do that, Dave.} );

A shortcut for calling raise_status() and passing HTTP_FORBIDDEN as the furst argument.

Author

Scott Lanning <lannings@who.int>

See Also

Params::CallbackRequest

This module provides a generalized parameter triggering callback architecture. Bric::App::Callback inherits from its Params::Callback class.

MasonX::Interp::WithCallbacks

This module provides the interface for adding callback processing to Mason requests.

Bricolage::App::Handler

This module handles all Bricolage Apache requests, and loads all of the callback modules.

Copyright and License

Copyright (c) 2003-2004 World Health Organization and Kineticode, Inc. See Bric::License for complete license terms and conditions.