diff --git a/lib/WebGUI/Crud.pm b/lib/WebGUI/Crud.pm index d7fd95778..3b8832ed1 100644 --- a/lib/WebGUI/Crud.pm +++ b/lib/WebGUI/Crud.pm @@ -42,6 +42,11 @@ has dateCreated => ( builder => '_now', ); +has sequenceNumber => ( + is => 'rw', + default => 1, +); + sub _now { my $self = shift; return WebGUI::DateTime->new($self->session)->toDatabase; @@ -973,9 +978,10 @@ sub write { $data->{$property_name} = $value; } my $tableKey = $self->meta->tableKey; - $data->{$tableKey} = $self->$tableKey; - $data->{lastUpdated} = $self->lastUpdated; - $data->{dateCreated} = $self->dateCreated; + $data->{$tableKey} = $self->$tableKey; + $data->{lastUpdated} = $self->lastUpdated; + $data->{dateCreated} = $self->dateCreated; + $data->{sequenceNumber} = $self->sequenceNumber; if (my $sequenceKey = $self->meta->sequenceKey) { $data->{$sequenceKey} = $self->$sequenceKey; } diff --git a/t/Crud.t b/t/Crud.t index 699e1b30e..30f3a04f9 100644 --- a/t/Crud.t +++ b/t/Crud.t @@ -69,6 +69,7 @@ $sth->finish; # check data my $record1 = WebGUI::Cruddy->new($session); +$record1->write; can_ok($record1, 'id'); isa_ok($record1, "WebGUI::Crud", "isa WebGUI::Crud"); like($record1->dateCreated, qr/\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}/, "dateCreated looks like a date"); @@ -159,6 +160,6 @@ while (my $object = $iterator->()) { is(ref WebGUI::Cruddy->crud_getProperties($session), 'HASH', 'properties work'); is(WebGUI::Cruddy->crud_getTableKey($session), 'id', 'default key is id'); is(WebGUI::Cruddy->crud_getTableName($session), 'some_crud_table', 'default table is some_crud_table'); -is(WebGUI::Cruddy->crud_getSequenceKey($session), '', 'default sequence key is blank'); +is(WebGUI::Cruddy->crud_getSequenceKey($session), undef, 'default sequence key is blank'); #vim:ft=perl