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);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue