[wellwell-devel] [SCM] Interchange wellwell catalog branch, master, updated. 9a2f8b72e242f9980cb8a06ec796a4be8670a3b9
Stefan Hornburg
racke at rt.icdevgroup.org
Fri Feb 19 12:29:28 UTC 2010
via 9a2f8b72e242f9980cb8a06ec796a4be8670a3b9 (commit)
from 32f341029e4e5bfd83a3f4b9bd17d28c646a6070 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9a2f8b72e242f9980cb8a06ec796a4be8670a3b9
Author: Stefan Hornburg (Racke) <racke at linuxia.de>
Date: Fri Feb 19 13:28:12 2010 +0100
added ref attribute to [menu-display] for passing menus as Perl structure
-----------------------------------------------------------------------
Summary of changes and diff:
lib/WellWell/Menu.pm | 32 ++++++++++++++++++++++----------
1 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/lib/WellWell/Menu.pm b/lib/WellWell/Menu.pm
index 01a0eed..652e1fc 100644
--- a/lib/WellWell/Menu.pm
+++ b/lib/WellWell/Menu.pm
@@ -35,16 +35,21 @@ sub display {
my ($set, @entries, $name_qtd, @fields, $fstr, $base_url, $selected);
my ($db_menus);
- $db_menus = database_exists_ref('menus');
+ if ($opt->{ref}) {
+ $set = $opt->{ref};
+ }
+ else {
+ $db_menus = database_exists_ref('menus');
- $name_qtd = $db_menus->quote($name);
+ $name_qtd = $db_menus->quote($name);
- @fields = qw/code name url parent permission/;
+ @fields = qw/code name url parent permission/;
- $fstr = join(',', @fields);
-
- $set = $db_menus->query({sql => qq{select $fstr from menus where menu_name = $name_qtd order by parent asc, weight desc, code}, hashref => 1});
-
+ $fstr = join(',', @fields);
+
+ $set = $db_menus->query({sql => qq{select $fstr from menus where menu_name = $name_qtd order by parent asc, weight desc, code}, hashref => 1});
+ }
+
for (@$set) {
next unless Vend::Tags->acl('check', $_->{permission});
@@ -65,7 +70,7 @@ sub display {
sub build_entries {
my ($entries_ref, $opt) = @_;
- my (@out, $ref, $base_url, $uri, $selected);
+ my (@out, $ref, $base_url, $uri, $form, $selected);
if ($opt->{selected}) {
$base_url = $Vend::Session->{last_url};
@@ -83,8 +88,15 @@ sub build_entries {
$selected = '';
}
}
-
- $uri = Vend::Tags->area($ref->{url});
+
+ if (ref($ref->{form}) eq 'HASH') {
+ $form = join("\n", map {"$_=$ref->{form}->{$_}"} keys(%{$ref->{form}}));
+ }
+ else {
+ $form = '';
+ }
+
+ $uri = Vend::Tags->area({href => $ref->{url}, form => $form});
$out[$i] = qq{<li$selected><a href="$uri">$ref->{name}</a></li>};
}
else {
hooks/post-receive
--
Interchange wellwell catalog
More information about the wellwell-devel
mailing list