[html-formfu] Correction regarding the column inflator
Octavian Rasnita
orasnita at gmail.com
Sat Sep 25 06:04:54 GMT 2010
Hi Carl,
In the edit action should appear the column name "fil" and not file, to match the column name of the file in the database and form:
if ($form->submitted_and_valid) {
#Set a hashref for the empty file field because otherwise FileUpload inflator ignores it
unless ($form->param('fil')) {
$c->req->params->{fil} = {};
$form->process;
}
$form->model->update($anunt);
$c->flash(message => "The data was updated successfully.");
$c->res->redirect($c->uri_for_action("/admin/anunturi/list"));
}
else {
$form->model->default_values($anunt);
my ($filename, $filename_label, $anunt_id);
if ($anunt->fil) {
$anunt_id = $anunt->id;
$filename = $anunt->fil->{filename};
$filename_label = encode_entities($filename);
}
$form->get_element({name => 'existing_file'})->content_xml(qq~<a href="~ . $c->uri_for($c->config->{anunturi_url}, $anunt_id, $filename)->path . qq~">$filename_label</a>~);
#Close the file handle because it doesn't get out of scope here
#And as a clarification, this is needed because otherwise the file on the disk can't be moved/deleted (under Windows)
#after this code was executed and more and more files remain "opened"
undef $anunt->fil->{handle} if ref($anunt->fil) eq 'HASH';
}
Octavian
More information about the HTML-FormFu
mailing list