Make a write method, similar to Asset's.
This commit is contained in:
parent
23e8631de9
commit
fd98f4acc4
1 changed files with 24 additions and 0 deletions
|
|
@ -952,5 +952,29 @@ sub updateFromFormPost {
|
||||||
return $self->update(\%data);
|
return $self->update(\%data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
=head2 write ( )
|
||||||
|
|
||||||
|
Serializes the object's data to the database. Automatically handles deserializing property values to javascript,
|
||||||
|
if necessary.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
|
||||||
|
sub write {
|
||||||
|
my $self = shift;
|
||||||
|
my $session = $self->session;
|
||||||
|
my $data = {};
|
||||||
|
PROPERTY: foreach my $property_name ($self->meta->get_all_property_list) {
|
||||||
|
my $property = $self->meta->find_attribute_by_name($property_name);
|
||||||
|
my $value = $self->$property_name;
|
||||||
|
if ($property->does('WebGUI::Definition::Meta::Property::Serialize')) {
|
||||||
|
$value = eval { JSON::to_json($value); } || '';
|
||||||
|
}
|
||||||
|
$data->{$property_name} = $value;
|
||||||
|
}
|
||||||
|
$session->db->setRow($self->tableName, $self->tableKey, $data);
|
||||||
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue