Index: trunk/LATMOS-Accounts-Web/MANIFEST
===================================================================
--- trunk/LATMOS-Accounts-Web/MANIFEST	(revision 1106)
+++ trunk/LATMOS-Accounts-Web/MANIFEST	(revision 1107)
@@ -55,4 +55,5 @@
 root/html/ajax/set_attrs.tt
 root/html/ajax/user_to_group_form.tt
+root/html/ajax/select_objects_list.tt
 root/html/aliases/default.tt
 root/html/aliases/index.tt
@@ -75,4 +76,5 @@
 root/html/includes/obj_prev_next.tt
 root/html/includes/sidebar.tt
+root/html/includes/select_objects_list.tt
 root/html/login.tt
 root/html/logout.tt
Index: trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Ajax.pm
===================================================================
--- trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Ajax.pm	(revision 1106)
+++ trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Ajax.pm	(revision 1107)
@@ -185,4 +185,9 @@
 }
 
+sub select_objects_list : Local {
+    my ($self, $c, $otype) = @_;
+    $c->stash->{ofilter} = $c->model('AttrFilter', $otype);
+}
+
 sub end : Private {
     my ( $self, $c ) = @_;
Index: trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Request.pm
===================================================================
--- trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Request.pm	(revision 1106)
+++ trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Request.pm	(revision 1107)
@@ -42,4 +42,5 @@
     if ($accreq->get_attributes('requireObject')) {
         if (!$obj) {
+            $c->stash->{ofilter} = $c->model('AttrFilter', $otype);
             $c->stash->{select_object} = 1;
             return;
Index: trunk/LATMOS-Accounts-Web/root/html/ajax/select_objects_list.tt
===================================================================
--- trunk/LATMOS-Accounts-Web/root/html/ajax/select_objects_list.tt	(revision 1107)
+++ trunk/LATMOS-Accounts-Web/root/html/ajax/select_objects_list.tt	(revision 1107)
@@ -0,0 +1,3 @@
+<!-- $Id$ -->
+
+[% INCLUDE 'includes/select_objects_list.tt' %]
Index: trunk/LATMOS-Accounts-Web/root/html/includes/select_objects_list.tt
===================================================================
--- trunk/LATMOS-Accounts-Web/root/html/includes/select_objects_list.tt	(revision 1107)
+++ trunk/LATMOS-Accounts-Web/root/html/includes/select_objects_list.tt	(revision 1107)
@@ -0,0 +1,17 @@
+<select name="obj" id="obj">
+<option value="">--</option>
+
+[% FOREACH name = objectslist %]
+
+[% IF objectslist.size < 20 %]
+[% object = db.get_object(ofilter.otype, name) %]
+<option value="[% name | html %]">[% name | html %] ([%
+object.get_attributes('displayName') | html %])</option>
+[% ELSE %]
+<option value="[% name | html %]">[% name | html %]</option>
+[% END %]
+
+[% END %]
+
+</select>
+
Index: trunk/LATMOS-Accounts-Web/root/html/request/default.tt
===================================================================
--- trunk/LATMOS-Accounts-Web/root/html/request/default.tt	(revision 1106)
+++ trunk/LATMOS-Accounts-Web/root/html/request/default.tt	(revision 1107)
@@ -5,10 +5,19 @@
 [% IF select_object %]
 <form action="[% c.uri_for('/request', accreq.id) %]">
-<select name="obj" id="obj">
-<option value="">--</option>
-[% FOREACH objname = c.model('accounts').db.list_objects(accreq.get_attributes('oType')) %]
-<option value="[% objname | html %]">[% objname | html %]</option>
-[% END %]
-</select>
+<input name=q value="[% c.req.param('q') | html %]" id="q"><br>
+
+<span style="display:none" id="list_objects_ind">Searching...</span>
+[% c.prototype.observe_field('q', {
+    url => c.uri_for('/ajax', 'select_objects_list', ofilter.otype),
+    with   => "'q='+value",
+    update => 'list_objects',
+    frequency => 1,
+    before => "document.getElementById('list_objects_ind').style.display='block';",
+    loaded => "document.getElementById('list_objects_ind').style.display='none';",
+}) %]
+
+<div id="list_objects">
+[% INCLUDE 'includes/select_objects_list.tt' %]
+</div>
 
 [% c.prototype.observe_field( 'obj',
