migrate IOB selectDelegates to FormBuilder

This commit is contained in:
Doug Bell 2011-02-02 16:50:45 -06:00
parent ed718c1891
commit 603ad39e3b
2 changed files with 44 additions and 19 deletions

View file

@ -352,26 +352,24 @@ sub www_selectDelegates {
$self->session->db->quote($self->session->user->userId), $self->session->db->quote($self->getId);
my $delegates = $self->session->db->buildArrayRef($sql);
my $i18n = WebGUI::International->new($self->session,"Asset_InOutBoard");
my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl);
$f->hidden(
-name => "func",
-value => "selectDelegatesEditSave"
my $f = WebGUI::FormBuilder->new($self->session,action=>$self->getUrl);
$f->addField( "hidden",
name => "func",
value => "selectDelegatesEditSave"
);
$f->selectList(
-name => "delegates",
-label => $i18n->get('in/out status delegates'),
-hoverHelp => $i18n->get('in/out status delegates description','Asset_InOutBoard'),
-options => \%userNames,
-multiple => 1, ##Multiple select
-size => 10, ##Multiple select
-sortByValue => 1,
-value => $delegates, ##My current delegates, if any
-subtext => $i18n->get('in/out status delegates subtext'),
$f->addField( "selectList",
name => "delegates",
label => $i18n->get('in/out status delegates'),
hoverHelp => $i18n->get('in/out status delegates description','Asset_InOutBoard'),
options => \%userNames,
multiple => 1, ##Multiple select
size => 10, ##Multiple select
sortByValue => 1,
value => $delegates, ##My current delegates, if any
subtext => $i18n->get('in/out status delegates subtext'),
);
$f->submit;
my $ac = $self->getAdminConsole;
return $ac->render($f->print,
$i18n->get('select delegate'));
$f->addField( "submit", name => "submit" );
return '<h1>' . $i18n->get('select delegate') . '</h1> ' . $f->toHtml;
}
#-------------------------------------------------------------------

View file

@ -18,7 +18,7 @@ use WebGUI::Test;
use WebGUI::Test::MockAsset;
use WebGUI::Test::Mechanize;
use WebGUI::Session;
use Test::More tests => 15; # increment this value for each test you create
use Test::More tests => 19; # increment this value for each test you create
use Test::Deep;
use Data::Dumper;
@ -172,3 +172,30 @@ $count = $session->db->quickScalar('select count(*) from InOutBoard_status where
is ($count, 0, 'purge: cleans up status table');
$count = $session->db->quickScalar('select count(*) from InOutBoard_statusLog where assetId=?',[$boardId]);
is ($count, 0, '... cleans up statusLog table');
#----------------------------------------------------------------------------
# selectDelegates
$board = WebGUI::Test->asset(
className => 'WebGUI::Asset::Wobject::InOutBoard',
inOutGroup => '7', # everyone
);
my $mech = WebGUI::Test::Mechanize->new( config => WebGUI::Test->file );
$mech->get_ok( '/' );
$mech->session->user({ user => $users[0] });
$mech->get_ok( $board->getUrl( 'func=selectDelegates' ) );
$mech->submit_form_ok({
fields => {
delegates => $users[1]->getId,
},
}, "add a delegate" );
my $hasDelegate = $session->db->quickScalar(
"SELECT COUNT(*) FROM InOutBoard_delegates WHERE userId=? AND
delegateUserId=? AND assetId=?",
[ $users[0]->getId, $users[1]->getId, $board->getId ],
);
ok( $hasDelegate, "delegate saved in db" );