Author: eallen
Date: 2008-09-03 15:06:59 -0400 (Wed, 03 Sep 2008)
New Revision: 2394
Modified:
mgmt/trunk/cumin/python/cumin/brokerlink.py
Log:
Fix error handling so multiple browsers don't share error info.
Modified: mgmt/trunk/cumin/python/cumin/brokerlink.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/brokerlink.py 2008-09-03 18:37:39 UTC (rev 2393)
+++ mgmt/trunk/cumin/python/cumin/brokerlink.py 2008-09-03 19:06:59 UTC (rev 2394)
@@ -503,7 +503,8 @@
self.durable = SavedField(app, "saved", self)
self.add_field(self.durable)
- self.errors = dict()
+ self.errors = self.Errors(self, "errors")
+ self.add_attribute(self.errors)
def render_title(self, session, *args):
reg = self.frame.get_object(session)
@@ -542,14 +543,16 @@
return host["password"]
def render_broker_name_error(self, session, *args):
- if "name" in self.errors:
+ errors = self.errors.get(session)
+ if "name" in errors:
return "<ul class=\"errors\"
style=\"float:left;\"><li>%s</li></ul>" % \
- self.errors["name"]
+ errors["name"]
def render_broker_port_error(self, session, *args):
- if "port" in self.errors:
+ errors = self.errors.get(session)
+ if "port" in errors:
return "<ul class=\"errors\"
style=\"float:left;\"><li>%s</li></ul>" % \
- self.errors["port"]
+ errors["port"]
def render_optional_prompt(self, session, *args):
return "Optional"
@@ -561,21 +564,24 @@
self.page.set_redirect_url(session, branch.marshal())
def validate(self, session):
- self.errors = dict()
+ errors = self.errors.get(session)
host = self.host.get(session)
if not "name" in host:
- self.errors["name"] = "Host name is required"
+ errors["name"] = "Host name is required"
if "port" in host:
port = host["port"]
try:
# ensure a number and remove surrounding spaces
port = str(int(port))
except:
- self.errors["port"] = "Port must be a number"
+ errors["port"] = "Port must be a number"
- return not len(self.errors)
+ return not len(errors)
+ def post_process(self, session):
+ self.host.clear()
+
def process_submit(self, session):
super_error = super(BrokerLinkAdd, self).validate(session)
@@ -613,6 +619,10 @@
# navigate back to main queue frame
self.process_cancel(session)
+ class Errors(Attribute):
+ def get_default(self, session):
+ return dict()
+
class BrokerSetClose(CuminBulkActionForm):
def process_return(self, session):
branch = session.branch()
Show replies by date