sent in the
following hack:
Here is an ActionHandler I created for populating a drop list from a database table. I have others
that are more complex.
The user needs to pass the table being call by the following
my @CLIENT_DATASOURCE_FIELD_NAMES = qw(
category
record_id
fname
lname
phone
email
comments
address1
address2
city
prov
zip
country
fax
mobile
url
company_code
company_name
title
department
username_of_poster
group_of_poster
date_time_posted
);
my @CLIENT_DATASOURCE_CONFIG_PARAMS = (
-TYPE => 'DBI',
-DBI_DSN => 'mysql:host=localhost;database=NameOfDatabase',
-TABLE => 'client_tb',
-USERNAME => 'Database User name',
-PASSWORD => 'Password',
-FIELD_NAMES => \@CLIENT_DATASOURCE_FIELD_NAMES,
-KEY_FIELDS => ['username'],
-FIELD_TYPES => {
record_id => 'Autoincrement'
},
);
my @DATASOURCE_CONFIG_PARAMS = (
-BASIC_DATASOURCE_CONFIG_PARAMS => \@BASIC_DATASOURCE_CONFIG_PARAMS,
-CLIENT_DATASOURCE_CONFIG_PARAMS => \@CLIENT_DATASOURCE_CONFIG_PARAMS,
-AUTH_USER_DATASOURCE_CONFIG_PARAMS => \@AUTH_USER_DATASOURCE_PARAMS
);
You will have to add the name of the ActionHandler to the ActionHandler list.
my @ACTION_HANDLER_LIST =
qw(
CSC::PopulateInputWidgetDefinitionListWithClientWidgetAction
Hope this will be of use.
Here's the whole file