EduploneTest/types EduploneFillGap.py,1.9,1.10 EduploneFreeText.py,1.4,1.5 EduploneFreeTextAnswer.py,1.5,1.6 EduploneMatching.py,1.3,1.4 EduploneMatchingAnswer.py,1.5,1.6 EduploneMultiChoice.py,1.4,1.5 EduploneMultiChoiceAnswer.py,1.5,1.6 EduploneSingleChoice.py,1.4,1.5 EduploneSingleChoiceAnswer.py,1.5,1.6 EduploneTestMember.py,1.7,1.8 EduploneTestMemberFolder.py,1.6,1.7 EduploneTextTask.py,1.3,1.4 EduploneTrueFalse.py,1.3,1.4 EduploneTrueFalseAnswer.py,1.4,1.5

"Fabian K." <[email protected]>
Newsgroups gmane.comp.web.zope.eduplone.cvs
Message-ID <[email protected]>
Update of /cvsroot/eduplone/EduploneTest/types
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32451

Modified Files:
	EduploneFillGap.py EduploneFreeText.py 
	EduploneFreeTextAnswer.py EduploneMatching.py 
	EduploneMatchingAnswer.py EduploneMultiChoice.py 
	EduploneMultiChoiceAnswer.py EduploneSingleChoice.py 
	EduploneSingleChoiceAnswer.py EduploneTestMember.py 
	EduploneTestMemberFolder.py EduploneTextTask.py 
	EduploneTrueFalse.py EduploneTrueFalseAnswer.py 
Log Message:
Added some spaces to increase readability

Index: EduploneMatchingAnswer.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneMatchingAnswer.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** EduploneMatchingAnswer.py	13 Oct 2004 20:17:04 -0000	1.5
--- EduploneMatchingAnswer.py	3 Jan 2005 14:46:06 -0000	1.6
***************
*** 62,67 ****
      factory_type_information = {
          #'content_icon':'canvasqti_icon.gif',
!         'global_allow':0,
!         'filter_content_types':1,
      }
  
--- 62,67 ----
      factory_type_information = {
          #'content_icon':'canvasqti_icon.gif',
!         'global_allow': 0,
!         'filter_content_types': 1,
      }
  

Index: EduploneTrueFalse.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneTrueFalse.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** EduploneTrueFalse.py	7 Oct 2004 16:50:40 -0000	1.3
--- EduploneTrueFalse.py	3 Jan 2005 14:46:07 -0000	1.4
***************
*** 33,37 ****
  #        MediatypeField('document')
          ),
!     marshall=PrimaryFieldMarshaller(),
  )
  
--- 33,37 ----
  #        MediatypeField('document')
          ),
!     marshall = PrimaryFieldMarshaller(),
  )
  
***************
*** 53,69 ****
      schema = PARENT.schema + schema
      
!     portal_type = meta_type = "eduplone " +'TrueFalse' #+PARENT.meta_type
      ##archetype_name = PARENT.archetype_name[2:]+" (++eduplone)"
!     archetype_name ="TrueFalse (ep task)"
!     actions=actions
!     allowed_content_types   = ('eduplone TrueFalseAnswer',)
      content_icon = 'questionmark.gif'
      filter_content_types  = 1
      global_allow = 0
  
!     oldInvokeFactory=PARENT.invokeFactory
      def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
          """ set a default title"""
! 	defTitle='Answer' + str(len(self.objectValues())+1) #let's not start counting at zero for user-view...
  	return self.oldInvokeFactory(type_name, id, RESPONSE, title=defTitle, *args, **kw)
              
--- 53,69 ----
      schema = PARENT.schema + schema
      
!     portal_type = meta_type = "eduplone TrueFalse"
      ##archetype_name = PARENT.archetype_name[2:]+" (++eduplone)"
!     archetype_name = "TrueFalse (ep task)"
!     actions = actions
!     allowed_content_types = ('eduplone TrueFalseAnswer',)
      content_icon = 'questionmark.gif'
      filter_content_types  = 1
      global_allow = 0
  
!     oldInvokeFactory = PARENT.invokeFactory
      def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
          """ set a default title"""
! 	defTitle = 'Answer' + str(len(self.objectValues()) + 1) #let's not start counting at zero for user-view...
  	return self.oldInvokeFactory(type_name, id, RESPONSE, title=defTitle, *args, **kw)
              

Index: EduploneFreeText.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneFreeText.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** EduploneFreeText.py	7 Oct 2004 16:50:40 -0000	1.4
--- EduploneFreeText.py	3 Jan 2005 14:46:06 -0000	1.5
***************
*** 33,37 ****
  #        MediatypeField('document')
          ),
!     marshall=PrimaryFieldMarshaller(),
  )
  
--- 33,37 ----
  #        MediatypeField('document')
          ),
!     marshall = PrimaryFieldMarshaller(),
  )
  
***************
*** 64,68 ****
      def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
  	""" set a default title"""
! 	defTitle='Answer' + str(len(self.objectValues())+1) #let's not start counting at zero for user-view...
  	return self.oldInvokeFactory(type_name, id, RESPONSE, title=defTitle, *args, **kw)
      
--- 64,68 ----
      def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
  	""" set a default title"""
! 	defTitle = 'Answer' + str(len(self.objectValues()) + 1) #let's not start counting at zero for user-view...
  	return self.oldInvokeFactory(type_name, id, RESPONSE, title=defTitle, *args, **kw)
      

Index: EduploneTestMember.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneTestMember.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** EduploneTestMember.py	8 Nov 2004 16:34:17 -0000	1.7
--- EduploneTestMember.py	3 Jan 2005 14:46:07 -0000	1.8
***************
*** 52,57 ****
      schema          = BaseContent.schema + schema
      portal_type     = meta_type = "eduplone TestMember"
!     archetype_name  = "Member (ep Test)"
!     
      actions         = actions
      global_allow    = 0
--- 52,56 ----
      schema          = BaseContent.schema + schema
      portal_type     = meta_type = "eduplone TestMember"
!     archetype_name  = "Member (ep Test)"    
      actions         = actions
      global_allow    = 0
***************
*** 81,86 ****
      def setOverride(self, qId, score):
          """ """
! 	self._scoreOverride={}
!         self._scoreOverride[qId]=float(score)
          return
  	
--- 80,85 ----
      def setOverride(self, qId, score):
          """ """
! 	self._scoreOverride = {}
!         self._scoreOverride[qId] = float(score)
          return
  	

Index: EduploneSingleChoiceAnswer.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneSingleChoiceAnswer.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** EduploneSingleChoiceAnswer.py	24 Oct 2004 15:46:06 -0000	1.5
--- EduploneSingleChoiceAnswer.py	3 Jan 2005 14:46:06 -0000	1.6
***************
*** 44,48 ****
  #    ),
      ),
!     marshall=PrimaryFieldMarshaller(),
  )
  
--- 44,48 ----
  #    ),
      ),
!     marshall = PrimaryFieldMarshaller(),
  )
  
***************
*** 59,64 ****
      factory_type_information = {
          #'content_icon':'canvasqti_icon.gif',
!         'global_allow':0,
!         'filter_content_types':1,
      }
  
--- 59,64 ----
      factory_type_information = {
          #'content_icon':'canvasqti_icon.gif',
!         'global_allow': 0,
!         'filter_content_types': 1,
      }
  

Index: EduploneMultiChoiceAnswer.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneMultiChoiceAnswer.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** EduploneMultiChoiceAnswer.py	12 Oct 2004 21:17:46 -0000	1.5
--- EduploneMultiChoiceAnswer.py	3 Jan 2005 14:46:06 -0000	1.6
***************
*** 39,49 ****
      
  #    ImageField('Illustrating image',
! #        widget=ImageWidget(description = "Select the image to be added by clicking the 'Browse' button.",
  #        description_msgid = "help_image",
! #        label= "Image",
  #        label_msgid = "label_image")
  #    ),
      ),        
!     marshall=PrimaryFieldMarshaller(),
  )
  
--- 39,49 ----
      
  #    ImageField('Illustrating image',
! #        widget =ImageWidget(description = "Select the image to be added by clicking the 'Browse' button.",
  #        description_msgid = "help_image",
! #        label = "Image",
  #        label_msgid = "label_image")
  #    ),
      ),        
!     marshall = PrimaryFieldMarshaller(),
  )
  
***************
*** 56,66 ****
      archetype_name = "Answer (ep MultiChoice)"
      #actions=actions
!     immediate_view='base_edit'
      
      
      factory_type_information = {
          #'content_icon':'canvasqti_icon.gif',
!         'global_allow':0,
!         'filter_content_types':1,
      }
  
--- 56,66 ----
      archetype_name = "Answer (ep MultiChoice)"
      #actions=actions
!     immediate_view ='base_edit'
      
      
      factory_type_information = {
          #'content_icon':'canvasqti_icon.gif',
!         'global_allow': 0,
!         'filter_content_types': 1,
      }
  

Index: EduploneFreeTextAnswer.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneFreeTextAnswer.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** EduploneFreeTextAnswer.py	12 Oct 2004 21:17:46 -0000	1.5
--- EduploneFreeTextAnswer.py	3 Jan 2005 14:46:06 -0000	1.6
***************
*** 38,42 ****
  			   
  		 ),
!     		 marshall=PrimaryFieldMarshaller(),
  		 )
  
--- 38,42 ----
  			   
  		 ),
!     		 marshall = PrimaryFieldMarshaller(),
  		 )
  

Index: EduploneTestMemberFolder.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneTestMemberFolder.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** EduploneTestMemberFolder.py	16 Nov 2004 01:03:16 -0000	1.6
--- EduploneTestMemberFolder.py	3 Jan 2005 14:46:07 -0000	1.7
***************
*** 65,69 ****
      actions = actions
      allowed_content_types = ('eduplone TestMember')
!     global_allow    = 0
      filter_content_types = 1
      
--- 65,69 ----
      actions = actions
      allowed_content_types = ('eduplone TestMember')
!     global_allow = 0
      filter_content_types = 1
      
***************
*** 112,123 ****
          """
          for s in ploneUsers:
! 	    print '==============='
! 	    print self.getCurrentUser().getRoles()
! 	    needRole="eduploneLearner"
! 	    hasRoles=self.getCurrentUser().getRoles()
  	    if needRole not in hasRoles:
! 		roles=[needRole,]
  		for i in hasRoles:
  		    roles.append(i)
  		self.getCurrentUser().changeOrCreateUsers(users = [str(self.getCurrentUser())], roles=roles, default_password='123', REQUEST=self.REQUEST)
  
--- 112,122 ----
          """
          for s in ploneUsers:
! 	    needRole = "eduploneLearner"
! 	    hasRoles = self.getCurrentUser().getRoles()
  	    if needRole not in hasRoles:
! 		roles = [needRole,]
  		for i in hasRoles:
  		    roles.append(i)
+ 		# Default password "123" ?!?
  		self.getCurrentUser().changeOrCreateUsers(users = [str(self.getCurrentUser())], roles=roles, default_password='123', REQUEST=self.REQUEST)
  

Index: EduploneFillGap.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneFillGap.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** EduploneFillGap.py	7 Nov 2004 17:34:02 -0000	1.9
--- EduploneFillGap.py	3 Jan 2005 14:46:06 -0000	1.10
***************
*** 52,56 ****
                ),
  	),      
! 	marshall=PrimaryFieldMarshaller(),
  )
  
--- 52,56 ----
                ),
  	),      
! 	marshall = PrimaryFieldMarshaller(),
  )
  
***************
*** 109,176 ****
  		# because plone does not either.
  		if render_as == "user":
! 			if self.getTask_type() == "Dropdown":
! 				for i, elem in enumerate(self.text_to_render.replace("\n", " \n").split(" ")):
! 					if elem[:5] == "<gap=" and elem[-1] == ">":
! 						gap_id = re.match(r'<gap=(.*)>', elem).group(1)
! 						dropdown_list = []
! 						items_to_render = ""
! 						for s in self[gap_id].getCorrectAnswer():
! 							dropdown_list.append(s)
! 						for s in self[gap_id].getChallenges():
! 							dropdown_list.append(s)
! 						dropdown_list.sort()
! 						for s in dropdown_list:
! 							sel=''
! 							if uAnswer.has_key(gap_id):
! 							    if uAnswer[gap_id]==s:
! 								sel='selected'
! 							items_to_render += "<option %s>%s</option>\n" % (sel, s)
! 						rendered_text += "%s " % dropdown_gap % (gap_id, items_to_render)
! 					else:
! 						rendered_text += "%s " % elem
! 			else:
! 				#rendered_text = re.sub(r"<gap=(?P<foo>\w+)>", textfield_gap_value % (r"\g<foo>", uAnswer[]), self.text_to_render)
! 				rendered_text = re.sub(r"<gap=(?P<foo>\w+)>", textfield_gap % r"\g<foo>", self.text_to_render)
! 				for i in uAnswer.keys():
! 				    rendered_text=rendered_text.replace('name="' + i +'"', 'name="' + i + '" value="' + uAnswer[i] + '"')
  				    				    
  		elif render_as == "tutor":
! 		    for i, elem in enumerate(self.text_to_render.replace("\n", " \n").split(" ")):
! 			if elem[:5] == "<gap=" and elem[-1] == ">":
  			    gap_id = re.match(r'<gap=(.*)>', elem).group(1)
! 			    #return self[gap_id].Title()
! 			    word_to_render = colored_gap % self[gap_id].correctAnswer[0] #Title()
! 			    #rendered_text += hyperlink_delete_gap % (gap_id, word_to_render)
  			    rendered_text += hyperlink_edit_gap % (gap_id, word_to_render)
  			else:
  			    rendered_text += hyperlink_add_gap % (i, elem)
! 			    #rendered_text = re.sub(r"<gap=(?P<foo>\w+)>", colored_gap % r"\g<foo>", rendered_text)
  			    
  		elif render_as =='tutor_noLinks':
! 		    for i, elem in enumerate(self.text_to_render.replace("\n", " \n").split(" ")):
! 			if elem[:5] == "<gap=" and elem[-1] == ">":
  			    gap_id = re.match(r'<gap=(.*)>', elem).group(1)
! 			    #return self[gap_id].Title()
! 			    word_to_render = colored_gap % self[gap_id].correctAnswer[0] #Title()
! 			    #rendered_text += hyperlink_delete_gap % (gap_id, word_to_render)
  			    rendered_text += '%s ' % (word_to_render)
  			else:
  			    rendered_text += '%s ' % (elem)
! 		    
  		    
  		return rendered_text.replace("\n", "<br />")
  
  	def createGap(self, wordNo):
  		""" This function converts a word into a gap, identified by it's position in the text. """
  		rendered_text = ""
! 		for i, elem in enumerate(self.text_to_render.replace("\n", " \n").split(" ")):
! 			if i == int(wordNo):
! 				unique_id = self.generateUniqueId().replace(".", "").replace("-", "")
! 				self.invokeFactory("eduplone FillGapAnswer", id=unique_id, title=elem, correctAnswer=elem)
! 				rendered_text += "<gap=%s> " % unique_id
! 			else:
! 				rendered_text += "%s " % elem
! 		self.setText_to_render(rendered_text)
  		return self.REQUEST.response.redirect(self[unique_id].absolute_url() + "/base_edit")
  
  	def deleteGap(self, gap_id):
--- 109,188 ----
  		# because plone does not either.
  		if render_as == "user":
! 		    if self.getTask_type() == "Dropdown":
! 			for i, elem in enumerate(self.text_to_render.replace("\n", "\n ").split(" ")):
! 			    if elem.strip()[:5] == "<gap=" and elem.strip()[-1] == ">":
! 				gap_id = re.match(r'<gap=(.*)>', elem).group(1)
! 				dropdown_list = []
! 				items_to_render = ""
! 				for s in self[gap_id].getCorrectAnswer():
! 				    dropdown_list.append(s)
! 				for s in self[gap_id].getChallenges():
! 				    dropdown_list.append(s)
! 				dropdown_list.sort()
! 				for s in dropdown_list:
! 				    sel = ""
! 				    if uAnswer.has_key(gap_id):
! 				        if uAnswer[gap_id] == s:
! 					    sel = "selected"
! 				    items_to_render += "<option %s>%s</option>\n" % (sel, s)
! 				rendered_text += "%s " % dropdown_gap % (gap_id, items_to_render)
! 			    else:
! 				rendered_text += "%s " % elem
! 				
! 			    if len(elem) != 0 and elem[-1] == "\n":
! 				rendered_text += "\n"
! 		    else:
! 			rendered_text = re.sub(r"<gap=(?P<foo>\w+)>", textfield_gap % r"\g<foo>", self.text_to_render)
! 			for i in uAnswer.keys():
! 			    rendered_text = rendered_text.replace('name="' + i +'"', 'name="' + i + '" value="' + uAnswer[i] + '"')
! 			
  				    				    
  		elif render_as == "tutor":
! 		    for i, elem in enumerate(self.text_to_render.replace("\n", "\n ").split(" ")):
! 			if elem.strip()[:5] == "<gap=" and elem.strip()[-1] == ">":
  			    gap_id = re.match(r'<gap=(.*)>', elem).group(1)
! 			    word_to_render = colored_gap % self[gap_id].correctAnswer[0] 
  			    rendered_text += hyperlink_edit_gap % (gap_id, word_to_render)
  			else:
  			    rendered_text += hyperlink_add_gap % (i, elem)
! 			    
! 			if len(elem) != 0 and elem[-1] == "\n":
! 			    rendered_text += "\n"
  			    
  		elif render_as =='tutor_noLinks':
! 		    for i, elem in enumerate(self.text_to_render.replace("\n", "\n ").split(" ")):
! 			if elem.strip()[:5] == "<gap=" and elem.strip()[-1] == ">":
  			    gap_id = re.match(r'<gap=(.*)>', elem).group(1)
! 			    word_to_render = colored_gap % self[gap_id].correctAnswer[0]
  			    rendered_text += '%s ' % (word_to_render)
  			else:
  			    rendered_text += '%s ' % (elem)
! 			    
! 			if len(elem) != 0 and elem[-1] == "\n":
! 			    rendered_text += "\n"
  		    
  		return rendered_text.replace("\n", "<br />")
+ 		
+ 		
  
  	def createGap(self, wordNo):
  		""" This function converts a word into a gap, identified by it's position in the text. """
  		rendered_text = ""
! 		for i, elem in enumerate(self.text_to_render.replace("\n", "\n ").split(" ")):
! 		    if i == int(wordNo):
! 			unique_id = self.generateUniqueId().replace(".", "").replace("-", "")
! 			self.invokeFactory("eduplone FillGapAnswer", id=unique_id, title=elem, correctAnswer=elem)
! 			rendered_text += "<gap=%s> " % unique_id
! 		    else:
! 			rendered_text += "%s " % elem.strip()
! 			
! 		    if len(elem) != 0 and elem[-1] == "\n":
! 			rendered_text += "\n"
! 			
! 		self.setText_to_render(self.removeSpaces(rendered_text))
! 		
  		return self.REQUEST.response.redirect(self[unique_id].absolute_url() + "/base_edit")
+ 		
+ 		
  
  	def deleteGap(self, gap_id):
***************
*** 178,189 ****
  		rendered_text = ""
  		gap_tag = "<gap=%s>" % gap_id
! 		for i, elem in enumerate(self.text_to_render.replace("\n", " \n").split(" ")):
! 			if elem == gap_tag:
! 				rendered_text += "%s " % self[gap_id].correctAnswer[0]#Title()
! 			else:
! 				rendered_text += "%s " % elem
  		self.manage_delObjects(gap_id)
! 		self.setText_to_render(rendered_text)
! 		#return rendered_text.replace("\n", "<br />")
  	
  	def removeGaps(self, ids=[]):
--- 190,206 ----
  		rendered_text = ""
  		gap_tag = "<gap=%s>" % gap_id
! 		for i, elem in enumerate(self.text_to_render.replace("\n", "\n ").split(" ")):
! 		    if elem.strip() == gap_tag:
! 			rendered_text += "%s " % self[gap_id].correctAnswer[0].strip()
! 		    else:
! 			rendered_text += "%s " % elem.strip()
! 			
! 		    if len(elem) != 0 and elem[-1] == "\n":
! 			rendered_text += "\n"
! 			
  		self.manage_delObjects(gap_id)
! 		self.setText_to_render(self.removeSpaces(rendered_text))
! 		
! 		
  	
  	def removeGaps(self, ids=[]):
***************
*** 192,195 ****
--- 209,225 ----
  		self.deleteGap(i)
  	    return self.eduplone_fillgap_edit()
+ 	    
+ 	    
+ 	    
+ 	def removeSpaces(self, text):
+ 	    """ Removes unneccessary spaces from text """
+ 	    cleaned_text = ""
+ 	    for s in text.replace("\r", "").split("\n"):
+ 		cleaned_text += "%s\n" % s.strip()
+ 	    return cleaned_text.strip()
+ 	    
+ 	    # I gave up on this part:
+ 	    # return "<br \>\n".join(filter(None, map(str.strip, text.encode("iso-8859-15").splitlines())))
+ 	    # Function works completely, but it'd be cool if someone wants to continue on this line
  	    	
  registerType(EduploneFillGap)

Index: EduploneSingleChoice.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneSingleChoice.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** EduploneSingleChoice.py	24 Oct 2004 15:46:06 -0000	1.4
--- EduploneSingleChoice.py	3 Jan 2005 14:46:06 -0000	1.5
***************
*** 33,37 ****
  #        MediatypeField('document')
          ),
!     marshall=PrimaryFieldMarshaller(),
  )
  
--- 33,37 ----
  #        MediatypeField('document')
          ),
!     marshall = PrimaryFieldMarshaller(),
  )
  
***************
*** 50,66 ****
      schema = PARENT.schema + schema
      
!     portal_type = meta_type = "eduplone " +'SingleChoice' #+PARENT.meta_type
      ##archetype_name = PARENT.archetype_name[2:]+" (++eduplone)"
!     archetype_name ="SingleChoice (ep task)"
!     actions=actions
!     allowed_content_types   = ('eduplone SingleChoiceAnswer','Image',)
      content_icon = 'questionmark.gif'
!     filter_content_types  = 1
      global_allow = 0
  
!     oldInvokeFactory=PARENT.invokeFactory
      def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
          """ set a default title"""
! 	defTitle='Answer' + str(len(self.objectValues())+1) #let's not start counting at zero for user-view...
  	return self.oldInvokeFactory(type_name, id, RESPONSE, title=defTitle, *args, **kw)
  			     
--- 50,66 ----
      schema = PARENT.schema + schema
      
!     portal_type = meta_type = "eduplone SingleChoice" #+PARENT.meta_type
      ##archetype_name = PARENT.archetype_name[2:]+" (++eduplone)"
!     archetype_name = "SingleChoice (ep task)"
!     actions = actions
!     allowed_content_types = ('eduplone SingleChoiceAnswer','Image',)
      content_icon = 'questionmark.gif'
!     filter_content_types = 1
      global_allow = 0
  
!     oldInvokeFactory = PARENT.invokeFactory
      def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
          """ set a default title"""
! 	defTitle = 'Answer' + str(len(self.objectValues()) + 1) #let's not start counting at zero for user-view...
  	return self.oldInvokeFactory(type_name, id, RESPONSE, title=defTitle, *args, **kw)
  			     

Index: EduploneMatching.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneMatching.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** EduploneMatching.py	7 Oct 2004 16:50:40 -0000	1.3
--- EduploneMatching.py	3 Jan 2005 14:46:06 -0000	1.4
***************
*** 35,39 ****
  #        MediatypeField('document')
          ),
!     marshall=PrimaryFieldMarshaller(),
  )
  
--- 35,39 ----
  #        MediatypeField('document')
          ),
!     marshall = PrimaryFieldMarshaller(),
  )
  
***************
*** 54,62 ****
      schema = PARENT.schema + schema
  
!     portal_type = meta_type = "eduplone " +'Matching' #+PARENT.meta_type
      ##archetype_name = PARENT.archetype_name[2:]+" (++eduplone)"
!     archetype_name ="Matching (ep task)"
!     actions=actions
!     allowed_content_types   = ('eduplone MatchingAnswer',)
      content_icon = 'questionmark.gif'
      filter_content_types  = 1
--- 54,62 ----
      schema = PARENT.schema + schema
  
!     portal_type = meta_type = "eduplone Matching"
      ##archetype_name = PARENT.archetype_name[2:]+" (++eduplone)"
!     archetype_name = "Matching (ep task)"
!     actions = actions
!     allowed_content_types = ('eduplone MatchingAnswer',)
      content_icon = 'questionmark.gif'
      filter_content_types  = 1
***************
*** 65,79 ****
      def matchingAnswers(self):
          """ kills doubles from TaskItems list"""
!         result={}
          for i in self.objectValues():
!             result[i.getCorrectAnswer()]=0
!         r=result.keys()
  	r.sort()
  	return r
  
!     oldInvokeFactory=PARENT.invokeFactory
      def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
  	""" set a default title"""
! 	defTitle='Answer' + str(len(self.objectValues())+1) #let's not start counting at zero for user-view...
  	return self.oldInvokeFactory(type_name, id, RESPONSE, title=defTitle, *args, **kw)
  			                 
--- 65,79 ----
      def matchingAnswers(self):
          """ kills doubles from TaskItems list"""
!         result = {}
          for i in self.objectValues():
!             result[i.getCorrectAnswer()] = 0
!         r = result.keys()
  	r.sort()
  	return r
  
!     oldInvokeFactory = PARENT.invokeFactory
      def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
  	""" set a default title"""
! 	defTitle = 'Answer' + str(len(self.objectValues()) + 1) #let's not start counting at zero for user-view...
  	return self.oldInvokeFactory(type_name, id, RESPONSE, title=defTitle, *args, **kw)
  			                 

Index: EduploneMultiChoice.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneMultiChoice.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** EduploneMultiChoice.py	24 Oct 2004 15:46:06 -0000	1.4
--- EduploneMultiChoice.py	3 Jan 2005 14:46:06 -0000	1.5
***************
*** 33,37 ****
  #        MediatypeField('document')
          ),
!     marshall=PrimaryFieldMarshaller(),
      #marshall=RFC822Marshaller() 
      
--- 33,37 ----
  #        MediatypeField('document')
          ),
!     marshall = PrimaryFieldMarshaller(),
      #marshall=RFC822Marshaller() 
      
***************
*** 57,71 ****
      portal_type = meta_type = "eduplone " +'MultiChoice' #+PARENT.meta_type
      ##archetype_name = PARENT.archetype_name[2:]+" (++eduplone)"
!     archetype_name ="MultiChoice (ep task)"
!     actions=actions
!     allowed_content_types   = ('eduplone MultiChoiceAnswer', 'Image')
      content_icon = 'questionmark.gif'
      global_allow = 0    
      filter_content_types = 1
  
!     oldInvokeFactory=PARENT.invokeFactory
      def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
  	""" set a default title"""
! 	defTitle='Answer' + str(len(self.objectValues())+1) #let's not start counting at zero for user-view...
  	return self.oldInvokeFactory(type_name, id, RESPONSE, title=defTitle, *args, **kw)
  			        
--- 57,71 ----
      portal_type = meta_type = "eduplone " +'MultiChoice' #+PARENT.meta_type
      ##archetype_name = PARENT.archetype_name[2:]+" (++eduplone)"
!     archetype_name = "MultiChoice (ep task)"
!     actions = actions
!     allowed_content_types = ('eduplone MultiChoiceAnswer', 'Image')
      content_icon = 'questionmark.gif'
      global_allow = 0    
      filter_content_types = 1
  
!     oldInvokeFactory = PARENT.invokeFactory
      def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
  	""" set a default title"""
! 	defTitle = 'Answer' + str(len(self.objectValues()) + 1) #let's not start counting at zero for user-view...
  	return self.oldInvokeFactory(type_name, id, RESPONSE, title=defTitle, *args, **kw)
  			        

Index: EduploneTrueFalseAnswer.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneTrueFalseAnswer.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** EduploneTrueFalseAnswer.py	12 Oct 2004 21:17:46 -0000	1.4
--- EduploneTrueFalseAnswer.py	3 Jan 2005 14:46:07 -0000	1.5
***************
*** 44,48 ****
  #    ),
      ),
!     marshall=PrimaryFieldMarshaller(),
  )
  
--- 44,48 ----
  #    ),
      ),
!     marshall = PrimaryFieldMarshaller(),
  )
  

Index: EduploneTextTask.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneTextTask.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** EduploneTextTask.py	7 Oct 2004 16:50:40 -0000	1.3
--- EduploneTextTask.py	3 Jan 2005 14:46:07 -0000	1.4
***************
*** 33,37 ****
  #        MediatypeField('document')
          ),
!     marshall=PrimaryFieldMarshaller(),
  )
  
--- 33,37 ----
  #        MediatypeField('document')
          ),
!     marshall = PrimaryFieldMarshaller(),
  )
  
***************
*** 52,70 ****
      schema = PARENT.schema + schema
      
!     portal_type = meta_type = "eduplone " +'TextTask' #+PARENT.meta_type
      ##archetype_name = PARENT.archetype_name[2:]+" (++eduplone)"
!     archetype_name ="TextTask (ep task)"
!     actions=actions
!     allowed_content_types   = ('eduplone TextTaskAnswer',)
      content_icon = 'questionmark.gif'
      filter_content_types  = 1
      global_allow = 0    
          
!     oldInvokeFactory=PARENT.invokeFactory
      def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
  	""" set a default title"""
! 	if len(self.objectValues())>0:
! 	    raise Exception('Not more than one answer in this type!')
! 	defTitle='Answer' + str(len(self.objectValues())+1) #let's not start counting at zero for user-view...
  	return self.oldInvokeFactory(type_name, id, RESPONSE, title=defTitle, *args, **kw)
  			     	
--- 52,70 ----
      schema = PARENT.schema + schema
      
!     portal_type = meta_type = "eduplone TextTask" # <- old version was not true, was it?
      ##archetype_name = PARENT.archetype_name[2:]+" (++eduplone)"
!     archetype_name = "TextTask (ep task)"
!     actions = actions
!     allowed_content_types = ('eduplone TextTaskAnswer',)
      content_icon = 'questionmark.gif'
      filter_content_types  = 1
      global_allow = 0    
          
!     oldInvokeFactory = PARENT.invokeFactory
      def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
  	""" set a default title"""
! 	if len(self.objectValues()) > 0:
! 	    raise Exception("Not more than one answer in this type!")  # <- when raising an exception you should be a little bit more detailed .. what kind of exception? see: http://www.python.org/doc/essays/stdexceptions.html
! 	defTitle = 'Answer' + str(len(self.objectValues()) + 1) #let's not start counting at zero for user-view...
  	return self.oldInvokeFactory(type_name, id, RESPONSE, title=defTitle, *args, **kw)
  			     	



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.