From c65c190af209f6dc04a755a41f88cf836c2249df Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 12 Nov 2005 11:13:29 +0000 Subject: corretta la modifica e cancellazione di link, aggiunti un po' di filtri nei template per evitare casini con le entities --- lib/Bookmarks/C/Main.pm | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/Bookmarks/C/Main.pm b/lib/Bookmarks/C/Main.pm index be50a73..d64f2fd 100644 --- a/lib/Bookmarks/C/Main.pm +++ b/lib/Bookmarks/C/Main.pm @@ -88,18 +88,25 @@ sub add : Global { my ( $self, $c ) = @_; my %pre_link=(); - for my $field (qw(url title descr)) { + for my $field (qw(pk url title descr)) { $pre_link{$field}=$c->req->param($field); } my @tags=split /[ +]/,($c->req->param('tag')||''); - my ($dblink)=Bookmarks::M::DB::Links->search({url=>$pre_link{url}}); + + my $dblink; + if ($pre_link{pk}) { + $dblink=Bookmarks::M::DB::Links->retrieve($pre_link{pk}); + } + else { + ($dblink)=Bookmarks::M::DB::Links->search({url=>$pre_link{url}}); + } # GET: prepare the form from the URL params if ($c->req->method eq 'GET') { $c->stash->{link}=\%pre_link; $c->stash->{tags}=\@tags; if (defined $dblink) { - for my $field (qw(url title descr)) { + for my $field (qw(pk url title descr)) { $c->stash->{link}{$field}||=$dblink->$field(); } my @dbtags=map { $_->name() } $dblink->tags(); @@ -126,7 +133,9 @@ sub add : Global { $dblink->access_count(0); } - $dblink->set(%pre_link); + for my $field (qw(url title descr)) { + $dblink->$field($pre_link{$field}); + } my ($icon,$type)=Bookmarks::Utils::get_site_icon($pre_link{url}); $dblink->set_icon($icon); $dblink->icon_type($type); -- cgit v1.2.3