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 +++++++++++++---- root/add_form | 9 +++++---- root/links | 50 +++++-------------------------------------------- root/links_list | 41 ++++++++++++++++++++++++++++++++++++++++ root/results | 42 +---------------------------------------- root/search | 2 +- root/tags | 2 +- 7 files changed, 67 insertions(+), 96 deletions(-) create mode 100644 root/links_list 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); diff --git a/root/add_form b/root/add_form index d6a32d6..3c235ba 100644 --- a/root/add_form +++ b/root/add_form @@ -10,17 +10,17 @@

- +

- +

- +

@@ -28,7 +28,7 @@

@@ -37,6 +37,7 @@ [%- END %] + \ No newline at end of file diff --git a/root/links b/root/links index 58a5b83..a59a1aa 100644 --- a/root/links +++ b/root/links @@ -19,11 +19,11 @@ [% FOR tag IN tagset.tags %]
  • - [% tag.name %] + [% tag.name | html %] [% IF tagset.size() > 1 %] - - + - [% END %]
  • @@ -38,10 +38,10 @@ [% FOR rtag IN related %]
  • - [% rtag.name %] + [% rtag.name | html %] - + + +
  • [% END %] @@ -49,46 +49,6 @@ [% INCLUDE search local=1 %] - + [% INCLUDE links_list %] diff --git a/root/links_list b/root/links_list new file mode 100644 index 0000000..feba3e7 --- /dev/null +++ b/root/links_list @@ -0,0 +1,41 @@ + diff --git a/root/results b/root/results index e3cc6d2..e8fdc7d 100644 --- a/root/results +++ b/root/results @@ -9,46 +9,6 @@ [% INCLUDE search %] - + [% INCLUDE links_list class="results" %] diff --git a/root/search b/root/search index 198bc35..c40b78f 100644 --- a/root/search +++ b/root/search @@ -2,7 +2,7 @@

    - +

    diff --git a/root/tags b/root/tags index f742ef8..6cc0b97 100644 --- a/root/tags +++ b/root/tags @@ -10,7 +10,7 @@ [% FOR tag IN tags %]
  • - [% tag.name %] + [% tag.name | html %] [% tag.how_many() %]
  • -- cgit v1.2.3