Author: eallen
Date: 2008-09-04 11:42:56 -0400 (Thu, 04 Sep 2008)
New Revision: 2410
Modified:
mgmt/trunk/cumin/python/cumin/model.py
Log:
Fix escaping of links in properties
Modified: mgmt/trunk/cumin/python/cumin/model.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/model.py 2008-09-04 15:31:36 UTC (rev 2409)
+++ mgmt/trunk/cumin/python/cumin/model.py 2008-09-04 15:42:56 UTC (rev 2410)
@@ -1,6 +1,7 @@
from mint.schema import *
from wooly import *
from wooly.parameters import *
+from wooly.widgets import *
from time import *
from datetime import datetime, timedelta
from types import *
@@ -122,6 +123,7 @@
self.title = None
self.category = "general"
self.summary = False
+ self.escape = True
self.cumin_class.add_property(self)
@@ -1467,6 +1469,9 @@
prop = AdProperty(self, "CondorVersion")
prop.writable = False
+ prop = AdProperty(self, "CondorPlatform")
+ prop.writable = False
+
prop = AdProperty(self, "Owner")
prop.writable = False
@@ -1481,9 +1486,10 @@
prop.renderer = prop.render_status
prop.description = "The current job status"
- #prop = self.SchedulerProperty(self, "Scheduler")
- #prop.title = "Scheduler"
- #prop.summary = True
+ prop = self.SchedulerProperty(self, "scheduler")
+ prop.title = "Scheduler"
+ prop.summary = True
+ prop.escape = False
#prop = self.SubmitterProperty(self, "Owner")
#prop.title = "Submitter"
@@ -1553,32 +1559,38 @@
return str(job.idOriginal)
def show_object(self, session, job):
- return self.cumin_model.show_main(session).show_job(session, job)
+ frame = self.get_pool_frame(session)
+ return frame.show_job(session, job)
+
+ def get_pool_frame(self, session):
+#TODO: # XXX temporary solution
+ for pool in Pool.selectBy(name="main"):
+ break
+
+ frame = self.cumin_model.show_main(session)
+ return frame.show_pool(session, pool)
+
class JobStatusProperty(AdProperty):
def render_status(self, session, status):
return JobStatusInfo.get_status_string(status)
class SubmitterProperty(CuminProperty):
def value(self, session, job):
- value = super(CuminJob.SubmitterProperty, self).value(session, job)
-#TODO: get a Submitter .
- submitter = None
+ submitter = super(CuminJob.SubmitterProperty, self).value(session, job)
branch = session.branch()
- frame = self.cumin_class.show_object(branch, job)
+ frame = self.cumin_class.get_pool_frame(branch)
frame.show_submitter(branch, submitter)
- return value and fmt_olink(branch, job, name=value) or fmt_none()
+ return submitter and escape_amp(fmt_olink(branch, submitter,
name=submitter.Name))
class SchedulerProperty(CuminProperty):
def value(self, session, job):
- value = super(CuminJob.SchedulerProperty, self).value(session, job)
-#TODO: get a Scheduler .
- scheduler = None
+ scheduler = job.scheduler
branch = session.branch()
- frame = self.cumin_class.show_object(branch, job)
+ frame = self.cumin_class.get_pool_frame(branch)
frame.show_scheduler(branch, scheduler)
- return value and fmt_olink(branch, job, name=value) or fmt_none()
-
+ return scheduler and escape_amp(fmt_olink(branch, scheduler,
name=scheduler.Name))
+
class Hold(CuminAction):
def show(self, session, job):
frame = self.cumin_class.show_object(session, job)