Author: eallen
Date: 2009-11-19 16:27:02 -0500 (Thu, 19 Nov 2009)
New Revision: 3719
Modified:
mgmt/trunk/cumin/python/cumin/grid/main.py
mgmt/trunk/cumin/python/cumin/grid/pool.py
mgmt/trunk/cumin/python/cumin/messaging/main.py
mgmt/trunk/cumin/python/cumin/widgets.py
Log:
More general implementation of sticky views.
Modified: mgmt/trunk/cumin/python/cumin/grid/main.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/grid/main.py 2009-11-19 17:49:57 UTC (rev 3718)
+++ mgmt/trunk/cumin/python/cumin/grid/main.py 2009-11-19 21:27:02 UTC (rev 3719)
@@ -75,6 +75,7 @@
self.pool = PoolFrame(app, "pool")
self.add_mode(self.pool)
+ self.sticky = self.pool.view
def render_title(self, session):
return "Grid"
Modified: mgmt/trunk/cumin/python/cumin/grid/pool.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/grid/pool.py 2009-11-19 17:49:57 UTC (rev 3718)
+++ mgmt/trunk/cumin/python/cumin/grid/pool.py 2009-11-19 21:27:02 UTC (rev 3719)
@@ -139,9 +139,6 @@
def do_process(self, session):
self.limits.limit_count.process(session)
- sticky = self.pool.get(session)
- session.client_session.attributes["sticky_pool"] = sticky
-
super(PoolView, self).do_process(session)
class PoolSubmissionSet(SubmissionSet):
Modified: mgmt/trunk/cumin/python/cumin/messaging/main.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/messaging/main.py 2009-11-19 17:49:57 UTC (rev 3718)
+++ mgmt/trunk/cumin/python/cumin/messaging/main.py 2009-11-19 21:27:02 UTC (rev 3719)
@@ -85,6 +85,7 @@
self.broker = BrokerFrame(app, "broker")
self.add_mode(self.broker)
+ self.sticky = self.broker.view
self.broker_group = BrokerGroupFrame(app, "group")
self.add_mode(self.broker_group)
Modified: mgmt/trunk/cumin/python/cumin/widgets.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/widgets.py 2009-11-19 17:49:57 UTC (rev 3718)
+++ mgmt/trunk/cumin/python/cumin/widgets.py 2009-11-19 21:27:02 UTC (rev 3719)
@@ -73,10 +73,10 @@
return lsess.marshal()
def render_tab_href(self, session, tab):
- if tab.name == "grid":
+ if tab.sticky:
try:
- pool = session.client_session.attributes["sticky_pool"]
- return self.page.main.grid.pool.get_href(session, pool)
+ obj = session.client_session.attributes["sticky_%s" %
tab.name]
+ return tab.sticky.frame.get_href(session, obj)
except KeyError:
pass
@@ -135,6 +135,7 @@
def __init__(self, app, name):
super(CuminFrame, self).__init__(app, name)
+ self.sticky = None
self.object = None
self.__view = None
self.__add = None
@@ -227,6 +228,17 @@
return html
+ def do_process(self, session):
+ for frame in self.ancestors:
+ try:
+ if frame.sticky == self:
+ session.client_session.attributes["sticky_%s" % \
+ frame.name] = self.frame.object.get(session)
+ except AttributeError:
+ pass
+
+ super(CuminView, self).do_process(session)
+
class BackgroundInclude(Widget):
def __init__(self, app, name):
super(BackgroundInclude, self).__init__(app, name)
Show replies by date