diff --git a/lib/WebGUI/User/SpecialState.pm b/lib/WebGUI/User/SpecialState.pm index 21dbdbf..82b3673 100644 --- a/lib/WebGUI/User/SpecialState.pm +++ b/lib/WebGUI/User/SpecialState.pm @@ -22,6 +22,17 @@ sub addSpecialState { my $self = shift; my $state = shift || croak 'state is required'; my $id = shift; + my $db = $self->session->db; + + $db->write( 'delete from users_specialState where userId=? and specialState=?', [ + $self->getId, + $state, + ] ); + + $db->write( 'insert into users_specialState (userId, specialState) values (?,?)', [ + $self->getId, + $state, + ] ); return; } @@ -40,7 +51,13 @@ sub removeSpecialState { my $self = shift; my $state = shift || croak 'state is required'; my $id = shift; + my $db = $self->session->db; + $db->write( 'delete from users_specialState where userId=? and specialState=?', [ + $self->getId, + $state, + ] ); + return; } diff --git a/sbin/install_newsletter.pl b/sbin/install_newsletter.pl index cf9ec95..5a75065 100644 --- a/sbin/install_newsletter.pl +++ b/sbin/install_newsletter.pl @@ -31,6 +31,7 @@ addPluginsToConfigFile( $session ); addTemplateColumnToNewsletterCollection( $session ); addRecentColumnToNewsletterCollection( $session ); renamespaceTemplates( $session ); +addSpecialStateTable( $session ); finish($session); @@ -255,6 +256,23 @@ sub renamespaceTemplates { print "Done.\n"; } +#---------------------------------------------------------------------------- +sub addSpecialStateTable { + my $session = shift; + + print "\tAdding special state table..."; + + $session->db->write( <