[prev] [thread] [next] [lurker] [Date index for 2005/02/18]
Author: simon
Date: 2005-02-18 18:01:02 +0000 (Fri, 18 Feb 2005)
New Revision: 1919
Added:
trunk/buscador/templates/entity/list
Modified:
trunk/buscador/TODO
trunk/buscador/lib/Buscador/Addressing.pm
Log:
Make listing of entities possible
Modified: trunk/buscador/TODO
===================================================================
--- trunk/buscador/TODO 2005-02-18 17:10:49 UTC (rev 1918)
+++ trunk/buscador/TODO 2005-02-18 18:01:02 UTC (rev 1919)
@@ -36,7 +36,7 @@
* Make braindead browsers pick up filename properly - DONE
* have a good long think about HTML mails -
(inline images etc etc)
+* Make listing of entities truly alphabetical -
-
Modified: trunk/buscador/lib/Buscador/Addressing.pm
===================================================================
--- trunk/buscador/lib/Buscador/Addressing.pm 2005-02-18 17:10:49 UTC (rev 1918)
+++ trunk/buscador/lib/Buscador/Addressing.pm 2005-02-18 18:01:02 UTC (rev 1919)
@@ -204,6 +204,14 @@
[$pager->search_entity_sorted($id)];
}
+
+sub list : Exported {
+ my ($class, $r) = @_;
+ my $pager = Email::Store::Entity->do_pager($r);
+ $r->{template_args}{entities} = [ sort { lc($a->most_common_name->name) cmp lc($b->most_common_name->name) } $pager->retrieve_all ];
+}
+
+
sub most_common_name { Email::Store::Entity::Name->search_most_common(shift->id)->first }
sub most_common_address { Email::Store::Entity::Address->search_most_common(shift->id)->first }
Added: trunk/buscador/templates/entity/list
===================================================================
--- trunk/buscador/templates/entity/list 2005-02-18 17:10:49 UTC (rev 1918)
+++ trunk/buscador/templates/entity/list 2005-02-18 18:01:02 UTC (rev 1919)
@@ -0,0 +1,27 @@
+[% INCLUDE header title = "List all entities" %]
+[% PROCESS macros %]
+<h1>All entities</h1>
+
+[% INCLUDE searchbox %]
+
+
+[% FOREACH entity = entities %]
+[% SET names = entity.names.unique %]
+[% IF names.length > 1 %]
+ <div class="entity_name"><a href="<a href="[%base|remove('/$')%]/entity/view/[% entity.id %]">[% entity.most_common_name.name | html %]</a>
+ <div class="aka">
+ <p>Also known as:</p>
+ <ul>
+ [% FOR my_name = names %]
+ <li>[% my_name.name | html %]</li>
+ [% END %]
+ </ul>
+ </div>
+ </div>
+[% ELSE %]
+ <div class="entity_name"><a href="[%base|remove('/$')%]/entity/view/[% entity.id %]">[% names.first.name |html%]</a></div>
+[% END %]
+[% END %]
+
+
+[% INCLUDE footer %]
Generated at 12:00 on 19 Feb 2005 by mariachi 0.52