[rhmessaging-commits] rhmessaging commits: r3867 - mgmt/trunk/cumin/python/cumin/messaging.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Wed Mar 10 15:21:22 EST 2010


Author: eallen
Date: 2010-03-10 15:21:21 -0500 (Wed, 10 Mar 2010)
New Revision: 3867

Modified:
   mgmt/trunk/cumin/python/cumin/messaging/queue.py
Log:
Switch from radio buttons to incremental search for destination queue on move messages form

Modified: mgmt/trunk/cumin/python/cumin/messaging/queue.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/messaging/queue.py	2010-03-10 20:20:05 UTC (rev 3866)
+++ mgmt/trunk/cumin/python/cumin/messaging/queue.py	2010-03-10 20:21:21 UTC (rev 3867)
@@ -770,12 +770,12 @@
     def __init__(self, app, name, form):
         super(QueueSelectField, self).__init__(app, name)
 
-        self.param = QueueParameter(app, "param")
+        self.queue_set = self.QueueSearchInputSet(app, "queue_set")
+        self.add_child(self.queue_set)
+
+        self.param = self.QueueStringParameter(app, "param", self.queue_set)
         self.add_parameter(self.param)
 
-        self.queue_set = self.QueueInputSet(app, "queue_set", self.param)
-        self.add_child(self.queue_set)
-
     def get(self, session):
         return self.param.get(session)
 
@@ -785,7 +785,7 @@
     def render_inputs(self, session):
         return self.queue_set.render(session)
 
-    class QueueInputSet(RadioInputSet):
+    class QueueSearchInputSet(IncrementalSearchInput):
         def do_get_items(self, session):
             queue = self.form.queue.get(session) # XXX
             queue_list_full = sorted_by(list(queue.vhost.queues))
@@ -797,16 +797,23 @@
                     queue_list.append(_queue)
             return queue_list
 
-        def render_item_value(self, session, queue):
-            return queue.id
-
         def render_item_content(self, session, queue):
             return queue.name or "<em>Default</em>"
 
-        def render_item_checked_attr(self, session, queue):
-            return queue is self.param.get(session) \
-                and "checked=\"checked\"" or None
+    class QueueStringParameter(Parameter):
+        def __init__(self, app, name, queue_string):
+            super(QueueSelectField.QueueStringParameter, self).__init__(app, name)
 
+            self.queue_string = queue_string
+
+        def get(self, session):
+            queue_string = self.queue_string.get(session)
+            queue_where = "name = '%s'" % queue_string
+            try:
+                return Queue.select(queue_where)[0]
+            except IndexError:
+                return None
+
 class MoveMessagesForm(FieldSubmitForm):
     def __init__(self, app, name, task):
         super(MoveMessagesForm, self).__init__(app, name)
@@ -835,7 +842,7 @@
             elif scount == "top":
                 count = 1
             elif scount == "N":
-                count = self.move_qty.top_n.get_n_value(session)
+                count = self.count.top_n.get_n_value(session)
             else:
                 raise Exception("Wrong Value")
 



More information about the rhmessaging-commits mailing list