--- a/OSSEval/methodology/models.py
+++ b/OSSEval/methodology/models.py
@@ -11,7 +11,7 @@
# The entity type the methodology helps you assess
entity = models.ForeignKey(Entity)
- def __unicode__(self):
+ def __str__(self):
return self.name
def from_xml(self, xmldoc, insert = True):
@@ -40,7 +40,7 @@
current = models.BooleanField(default=False)
methodology = models.ForeignKey(Methodology)
- def __unicode__(self):
+ def __str__(self):
return self.methodology.name + " - " + str(self.number) + (" (Active version)" if self.current else "")
def from_xml(self, xmldoc, insert = True):
@@ -90,7 +90,13 @@
parent = models.ForeignKey('self',null=True,blank=True)
methodology_version = models.ForeignKey(MethodologyVersion,null=True,blank=True)
- def __unicode__(self):
+ def questions(self):
+ q = list(self.question_set.all())
+ for p in self.page_set.all():
+ q += p.questions()
+ return q
+
+ def __str__(self):
return self.name
def from_xml(self, xmldoc, methodology_version, parent_page, insert = True):
@@ -158,7 +164,7 @@
eval_value = models.TextField(null=True,blank=True)
question_type = models.ForeignKey(QuestionType)
- def __unicode__(self):
+ def __str__(self):
return self.page.name + " - " + self.text
def from_xml(self, xmldoc, page, insert = True):
@@ -170,6 +176,8 @@
qt = QuestionType.objects.get(pk=1)
self.page = page
self.question_type = qt
+ self.eval_description = xmlMinidom.getString(xmldoc, 'EvalDescription')
+ self.eval_value = xmlMinidom.getString(xmldoc, 'EvalValue')
self.save()
# Queries
xml_queries = xmldoc.getElementsByTagName('Query')
@@ -181,12 +189,10 @@
for xml_choice in xml_choices:
c = Choice()
c.from_xml(xml_choice, self, insert)
- self.eval_description = xmlMinidom.getString(xmldoc, 'EvalDescription')
- self.eval_value = xmlMinidom.getString(xmldoc, 'EvalValue')
-
- def to_xml(self):
- str_xml = "<EvalDescription>" + ("" if self.eval_description is None else self.eval_description) + "</EvalDescription>"
- str_xml += "<EvalValue>" + ("" if self.eval_value is None else self.eval_value) + "</EvalValue>"
+
+ def to_xml(self):
+ str_xml = "<EvalDescription><![CDATA[" + ("" if self.eval_description is None else self.eval_description) + "]]></EvalDescription>"
+ str_xml += "<EvalValue><![CDATA[" + ("" if self.eval_value is None else self.eval_value) + "]]></EvalValue>"
# We do not use question_type at the moment as we have just one type
# str_xml += self.question_type.to_xml()
str_xml += "<Queries>"
@@ -217,13 +223,12 @@
self.question = question
self.eval_text = xmlMinidom.getString(xmldoc, 'EvalText')
self.eval_site = xmlMinidom.getString(xmldoc, 'EvalSite')
- self.eval_site_exclude = xmlMinidom.getString(xmldoc, 'EvalSiteExclude')
- self.save()
-
- def to_xml(self):
- str_xml = "<EvalText>" + self.eval_text + "</EvalText>"
- str_xml += "<EvalSite>" + self.eval_site + "</EvalSite>"
- str_xml += "<EvalSiteExclude>" + self.eval_site_exclude + "</EvalSiteExclude>"
+ self.eval_site_exclude = ""
+ self.save()
+
+ def to_xml(self):
+ str_xml = "<EvalText><![CDATA[" + self.eval_text + "]]></EvalText>"
+ str_xml += "<EvalSite><![CDATA[" + self.eval_site + "]]></EvalSite>"
return '<Query Id="' + str(self.id) + '">' + str_xml + '</Query>'
class Choice(models.Model):
@@ -265,6 +270,9 @@
str_xml += weight.to_xml()
str_xml += "</Weights>"
return '<WeightScenario Id="' + str(self.id) + '" Name="' + self.name + '" Active="' + str(self.active) + '">' + str_xml + '</WeightScenario>'
+
+ def __str__(self):
+ return self.name
class Weight(models.Model):
question = models.ForeignKey(Question)