migrate EMS www_editBadgeGroup to FormBuilder

This commit is contained in:
Doug Bell 2011-01-27 15:50:10 -06:00
parent 0591c69594
commit 4d30821231
2 changed files with 53 additions and 8 deletions

View file

@ -200,7 +200,7 @@ use WebGUI::Asset::Sku::EMSRibbon;
use WebGUI::Asset::Sku::EMSToken;
use WebGUI::Exception;
use WebGUI::FormValidator;
use WebGUI::HTMLForm;
use WebGUI::FormBuilder;
use WebGUI::International;
use WebGUI::Workflow::Instance;
use Data::Dumper;
@ -995,20 +995,20 @@ sub www_editBadgeGroup {
my $self = shift;
return $self->session->privilege->insufficient() unless $self->canEdit;
my ($form, $db) = $self->session->quick(qw(form db));
my $f = WebGUI::HTMLForm->new($self->session, action=>$self->getUrl);
my $f = WebGUI::FormBuilder->new($self->session, action=>$self->getUrl);
my $badgeGroup = $db->getRow("EMSBadgeGroup","badgeGroupId",$form->get('badgeGroupId'));
$badgeGroup->{badgeList} = ($badgeGroup->{badgeList} ne "") ? JSON::from_json($badgeGroup->{badgeList}) : [];
my $i18n = WebGUI::International->new($self->session, "Asset_EventManagementSystem");
$f->hidden(name=>'func', value=>'editBadgeGroupSave');
$f->hidden(name=>'badgeGroupId', value=>$form->get('badgeGroupId'));
$f->text(
$f->addField( "hidden", name=>'func', value=>'editBadgeGroupSave');
$f->addField( "hidden", name=>'badgeGroupId', value=>$form->get('badgeGroupId'));
$f->addField( "text",
name => 'name',
value => $badgeGroup->{name},
label => $i18n->get('badge group name'),
hoverHelp => $i18n->get('badge group name help'),
);
$f->submit;
return $self->processStyle('<h1>'.$i18n->get('badge groups').'</h1>'.$f->print);
$f->addField( "submit", name => "submit" );
return $self->processStyle('<h1>'.$i18n->get('badge groups').'</h1>'.$f->toHtml);
}

View file

@ -16,6 +16,7 @@
use strict;
use Test::More;
use WebGUI::Test; # Must use this before any other WebGUI modules
use WebGUI::Test::Mechanize;
use WebGUI::Test::MockAsset;
use WebGUI::Session;
use WebGUI::User;
@ -49,7 +50,7 @@ my %tag = ( tagId => $versionTag->getId, status => "pending" );
#----------------------------------------------------------------------------
# Tests
plan tests => 41; # Increment this number for each test you create
plan tests => 51; # Increment this number for each test you create
#----------------------------------------------------------------------------
@ -630,3 +631,47 @@ cmp_deeply( JSON::from_json($data), {
'Location page #2 looks good'
);
#----------------------------------------------------------------------------
# www_editBadgeGroup
$ems = WebGUI::Test->asset(
className => 'WebGUI::Asset::Wobject::EventManagementSystem',
groupIdEdit => '3',
);
my $mech = WebGUI::Test::Mechanize->new( config => WebGUI::Test->file );
$mech->get_ok('/');
$mech->session->user({ userId => 3 });
# Create a new one
$mech->get_ok( $ems->getUrl( 'func=editBadgeGroup;badgeGroupId=new' ), "Get form to create a new badge group" );
$mech->submit_form_ok( {
fields => {
name => 'Inmate Training',
},
}, "create a new badge group" );
my $bgroup = $session->db->quickHashRef(
"SELECT * FROM EMSBadgeGroup WHERE name=?",
[ "Inmate Training" ],
);
ok( $bgroup, "Badge group exists" );
is( $bgroup->{emsAssetId}, $ems->getId, 'ems asset id set correctly' );
# Edit existing one
$mech->get_ok(
$ems->getUrl( 'func=editBadgeGroup;badgeGroupId=' . $bgroup->{badgeGroupId} ),
"Get form to edit our badge group",
);
$mech->submit_form_ok( {
fields => {
name => 'Inmate Beating',
},
}, "Edit an existing badge group" );
$bgroup = $session->db->quickHashRef(
"SELECT * FROM EMSBadgeGroup WHERE badgeGroupId=?",
[ $bgroup->{badgeGroupId} ],
);
ok( $bgroup, "Badge group exists" );
is( $bgroup->{emsAssetId}, $ems->getId, 'ems asset id set correctly' );
is( $bgroup->{name}, "Inmate Beating", 'badge name set correctly' );