From a18463a32a505ca9abd7c91b50c5fd6a03bb4434 Mon Sep 17 00:00:00 2001 From: Doug Bell Date: Tue, 31 Aug 2010 16:06:27 -0500 Subject: [PATCH] add helpers in the config file --- lib/WebGUI/Asset.pm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index dcdbc047f..66fac0278 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -1131,6 +1131,8 @@ Get the AssetHelpers for this asset. sub getHelpers { my ( $self ) = @_; + my $session = $self->session; + my ( $conf ) = $session->quick(qw{ config }); my $default = [ { @@ -1171,6 +1173,20 @@ sub getHelpers { }, ]; + + # Get additional helpers for this class from config + my $confHelpers = $conf->get('assets/' . $self->className . '/helpers'); + # Merge on label + for my $helper ( @$confHelpers ) { + WebGUI::Macro::process( \$helper->{label} ); + if ( my $replace = first { $_->{label} eq $helper->{label} } @$default ) { + $replace = $helper; # replace in the default arrayref + } + else { + push @$default, $helper; + } + } + return $default; }