Beispiel #1
0
 def manageEvaluations(self, obj, request=None):
     retList = []
     if hasattr(obj, "getEvaluationsDone"):
         evals = obj.getEvaluationsDone()
         if len(evals) > 0:
             eval_name = _("Evaluation")
             eval_evaluator = _("Evaluator")
             longest_eval_name = len(eval_name)
             longest_eval_evaluator = len(eval_evaluator)
             for eval in evals:
                 if longest_eval_name < len(str(eval.ikName)):
                     longest_eval_name = len(str(eval.ikName))
                 if longest_eval_evaluator < len(str(eval.evaluator.title)):
                     longest_eval_evaluator = len(str(eval.evaluator.title))
             for i in range(0, longest_eval_name - len(eval_name)):
                 eval_name += " "
             for i in range(0,
                            longest_eval_evaluator - len(eval_evaluator)):
                 eval_evaluator += " "
             name_str = "<html>%s\t%s\t%s\n" % (eval_name, eval_evaluator,
                                                _("Value"))
             for eval in evals:
                 eval_name = str(eval.ikName)
                 eval_evaluator = str(eval.evaluator.title)
                 for i in range(0, longest_eval_name - len(eval.ikName)):
                     eval_name += " "
                 for i in range(
                         0, longest_eval_evaluator - len(eval_evaluator)):
                     eval_evaluator += " "
                 if str(eval.value) == "Pass":
                     eval_value = str(eval.value) + "\t v"
                 elif str(eval.value) == "Fail":
                     eval_value = str(eval.value) + "\t X"
                 name_str += '%s\t%s\t%s\n' % (eval_name, eval_evaluator,
                                               eval_value)
             name_str += "</html>"
             name_str = name_str.replace("\t", "&#x9;").replace(
                 "\n", "&#xa;").replace(" ", "&#32;").replace(
                     "<", "&lt;").replace(">",
                                          "&gt;").replace('"', "&quot;")
             node = MMNode("tmp%s" % generateOid(), name_str,
                           {"node_type": "bubble"})
             retList.append(node)
     if hasattr(obj, "getEvaluationsTodo"):
         reqs = obj.getEvaluationsTodo()
         if len(reqs) > 0:
             name_str = _("Evaluations Todo") + u"\n"
             for req in reqs:
                 name_str += str(req.title) + "\n"
             name_str = name_str.replace("\t", "&#x9;").replace(
                 "\n", "&#xa;").replace(" ", "&#32;")
             node = MMNode("tmp%s" % generateOid(), name_str,
                           {"node_type": "bubble"})
             node.append_builtin_icon("messagebox_warning")
             retList.append(node)
     return retList
Beispiel #2
0
 def chooseName(self, name=None, arg_object=None):
     """
     return a good name for the generation of the object
     """
     if name:
         self.checkName(name, arg_object)
         return name
     try:
         retVal = arg_object.getObjectId()
         if not retVal:
             retVal = unicode(generateOid(self, name, arg_object))
     except Exception, err:
         retVal = unicode(generateOid(self, name, arg_object))
Beispiel #3
0
 def __init__(self, **data):
     """
     constructor of Superclass
     """
     Persistent.__init__(self)
     ISuperclass['objectID'].readonly = False
     self.objectID = generateOid(self)
     self.ikName = self.objectID
     for (name, value) in data.items():
         if name in ISuperclass.names():
             setattr(self, name, value)
     ISuperclass['objectID'].readonly = True
     self.ikAuthor = u""
     self.dbgLevel = NOTSET
     self.history = RingBuffer(20)
     self.inpEQueue = Queue()
     self.outEQueue = Queue()
     self.outEReceiver = None
     self.workflows = {}
     self.wf_worklist = []
     interaction = queryInteraction()
     if interaction is not None:
         for participation in interaction.participations:
             #principalid = participation.principal.id
             principal_title = participation.principal.title
             self.ikAuthor += unicode(principal_title)
     self.myFactory = str(self.__class__).split("'")[1]
     self.ikRevision = __version__
Beispiel #4
0
 def manageEvaluations(self, obj, cfgFile, level, request=None):
     if hasattr(obj, "getEvaluationsDone"):
         evals = obj.getEvaluationsDone()
         if len(evals) > 0:
             table_list = [(_("Evaluation"), _("Evaluator"), _("Value"))]
             for eval in evals:
                 #table_list.append((eval.ikName, eval.evaluator.title, eval.value+' <img src="%s/lib/python/org/ict_ok/skin/pics/mini/tick.gif">' % os.getcwd()))
                 table_list.append(
                     (eval.ikName, eval.evaluator.title, eval.value))
             tmpID = "tmp%s" % generateOid()
             dot_str = '%s"%s" [' % ("\t" * level, tmpID)
             dot_str += 'shape="note", '
             dot_str += 'label=<%s>, ' % self.__htmlTable(table_list)
             dot_str += 'fontsize=10.0'
             if request:
                 dot_str += ', \nURL="%s/evaluations_done.html"' % zapi.absoluteURL(
                     obj, request)
             dot_str += '];\n'
             dot_str += '%s"%s" -- "%s";' % ("\t" * level, tmpID,
                                             obj.objectID)
             print >> cfgFile, dot_str
     if hasattr(obj, "getEvaluationsTodo"):
         reqs = obj.getEvaluationsTodo()
         if len(reqs) > 0:
             pass
Beispiel #5
0
 def __init__(self):
     Contained.__init__(self)
     self.objectID = generateOid(self)
     self.name = None
     self.overallStatus = None
     self.localEsxUtil = None
     self.perlEsxObjRef = None
Beispiel #6
0
 def __init__(self):
     Contained.__init__(self)
     self.objectID = generateOid(self)
     self.name = None
Beispiel #7
0
 def recursiveHelper(self, tupleList, contextdepth, request=None, alreadySeenDict={}):
     if contextdepth > 0:
         contextdepth -= 1
         nodelist = []
         my_catalog = zapi.getUtility(ICatalog)
         for (attrName, viewTitle, contextObj) in tupleList:
             if attrName is not None and viewTitle is not None:
                 if type(attrName) is not type("str"):
                     raise TypeError("Nav_tuple_wrong: %s" % type(attrName))
                 objList = getattr(contextObj, attrName)
                 if type(objList) is not list:
                     objList = [objList]
                 for obj in objList:
                     node = None
                     if obj not in alreadySeenDict.keys():
                         if type(obj) is type("str") or type(obj) is type(u'ustr'):
                             continue
                             #try:
                                 #maybe_obj = my_catalog.searchResults(oid_index=obj)
                                 #if len(maybe_obj)>0:
                                     #maybe_obj = iter(maybe_obj).next()
                                     ##hope thats only one ...
                             #except:
                                 #pass
                             #if ischooltool.IRequirement.providedBy(maybe_obj):
                                     ##oh its a requiremnt
                                     ##objList.append(maybe_obj)
                                     
                                     #continue
                         if not hasattr(obj, "objectID"):
                             Oid = "tmp%s" % generateOid()
                             node = MMNode(Oid, obj)
                             alreadySeenDict[obj] = node
                             print "reursiveHelper %s" % obj
                         else:
                             try:
                                 node = MMNode(obj.objectID, obj.ikName, {"link": zapi.absoluteURL(obj, request), "node_type":"bubble"})
                             except:
                                 import pdb
                                 pdb.set_trace()
                             self.style_health(obj, node)
                             alreadySeenDict[obj] = node
                             #print "obj: %s" % obj.ikName
                             itemNav = INavigation(obj)
                             sublist = itemNav.getContextObjList()
                             from copy import copy
                             subnodes = self.recursiveHelper(sublist, copy(contextdepth), request, alreadySeenDict)
                             subnodes.extend(self.manageEvaluations(obj))
                             if len(subnodes) > 0:
                                 if self.cloudDisplay:
                                     node.change_style({"cloud_color":"#EFEFEF"})
                                 node.add_nodes(subnodes)
                     else:
                         #arrorw
                         #if not hasattr(obj, "objectID"):
                             #Oid = "tmp%s" % generateOid()
                             #alreadySeenDict[obj].connect_with_node_id(contextObj.objectID, {"COLOR": "#CBCBCB"})
                         #else:
                         alreadySeenDict[obj].connect_with_node_id(contextObj.objectID, {"COLOR": "#CBCBCB"})
                     if node is not None:
                         nodelist.append(node)
         return nodelist
     else:
         return []