EduploneTest/types EduploneTestMember.py,1.6,1.7 EduploneTestMemberFolder.py,1.4,1.5 EduploneTestingEnvironment.py,1.20,1.21

Nils Haagen <[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-serv19531/types

Modified Files:
	EduploneTestMember.py EduploneTestMemberFolder.py 
	EduploneTestingEnvironment.py 
Log Message:
fixes in results for single choice, minor cleanups

Index: EduploneTestMember.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneTestMember.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** EduploneTestMember.py	8 Nov 2004 11:29:21 -0000	1.6
--- EduploneTestMember.py	8 Nov 2004 16:34:17 -0000	1.7
***************
*** 12,15 ****
--- 12,18 ----
  
  from Products.EduploneTest.config import *
+ from Products.EduploneTest import Permissions as eXamPermissions
+ from AccessControl import ClassSecurityInfo
+ 
  
  if HAS_LINGUA_PLONE:
***************
*** 24,41 ****
             {'id': 'view',
              'name': 'Results',
!             'action': 'string:${object_url}/eduplone_userResults',
              'permissions': (CMFCorePermissions.View,)
              },
!                        ##should import from TestingEnvironment....
!                    {'id': 'students',
! 	            'name': 'Students',
! 	            'action': 'string:${object_url}/users/eduplone_students',
! 	            'permissions': (CMFCorePermissions.View,)
! 	            },
! #	           {'id': 'testingResults',
! #	            'name': 'Auswertung',
! #	            'action': 'string:${object_url}/eduplone_testingResults',
! #	            'permissions': (CMFCorePermissions.View,)
! #            },
            )
  
--- 27,38 ----
             {'id': 'view',
              'name': 'Results',
!             'action': 'string:${object_url}/eduplone_testingResults_global',
              'permissions': (CMFCorePermissions.View,)
              },
!            {'id': 'students',
! 	    'name': 'Students',
! 	    'action': 'string:${object_url}/users/eduplone_students',
! 	    'permissions': (eXamPermissions.manageStudents,)
! 	   },
            )
  
***************
*** 51,55 ****
  
  class EduploneTestMember(BaseContent):
!     """ An answer for eduplone """
  
      schema          = BaseContent.schema + schema
--- 48,52 ----
  
  class EduploneTestMember(BaseContent):
!     """ eXam-Member Object """
  
      schema          = BaseContent.schema + schema
***************
*** 60,63 ****
--- 57,62 ----
      global_allow    = 0
      
+     security = ClassSecurityInfo()
+ 
      def initializeArchetype(self, **kwargs):
          BaseContent.initializeArchetype(self, **kwargs)
***************
*** 79,82 ****
--- 78,82 ----
          self.answers = self.answers
  
+     security.declareProtected(eXamPermissions.scoreOverride, 'setOverride')
      def setOverride(self, qId, score):
          """ """
***************
*** 94,97 ****
--- 94,98 ----
          return self.testMemberState
  
+     #security.declareProtected(eXamPermissions.manageStudents, 'setTestMemberState')
      def setTestMemberState(self, testMemberState):
          """ """

Index: EduploneTestingEnvironment.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneTestingEnvironment.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** EduploneTestingEnvironment.py	8 Nov 2004 13:01:55 -0000	1.20
--- EduploneTestingEnvironment.py	8 Nov 2004 16:34:17 -0000	1.21
***************
*** 262,271 ****
              testmembers = self['users'].objectIds()
              questionid = REQUEST.form['qId']
!             # delete 'qID' so only the actual answers will be saved
!             # in the dictionary (in function _saveQuestionAnswers)
              del REQUEST.form['qId']
              if user in self['users'].objectIds():  # diese abfrage ueber vorhandene Funktionen loesen! ist die berhaupt noetig?
                  self.users[user]._saveQuestionAnswers(user, questionid, REQUEST.form)
-             #return self.view()
  
      security.declareProtected(eXamPermissions.saveAnswers, 'answerAndForward')
--- 262,269 ----
              testmembers = self['users'].objectIds()
              questionid = REQUEST.form['qId']
!             # delete 'qID' so only the actual answers will be saved in the dictionary (in _saveQuestionAnswers)
              del REQUEST.form['qId']
              if user in self['users'].objectIds():  # diese abfrage ueber vorhandene Funktionen loesen! ist die berhaupt noetig?
                  self.users[user]._saveQuestionAnswers(user, questionid, REQUEST.form)
  
      security.declareProtected(eXamPermissions.saveAnswers, 'answerAndForward')
***************
*** 279,290 ****
          else:
              if nextId == -1:
-                 #if self.show_results.....
-                 #return self.users[self.eduplone_userResults(getCurrentUser.getId())
                  return self.REQUEST.response.redirect(self.absolute_url() + '/test_environment_feedback')
              return self.sequence_getNext(questionid)
  
  
- 
- 
  ##CLEAN THAT UP
  
--- 277,284 ----
***************
*** 295,299 ****
             possible/correct answers"""
  
-         #what about text-task // free-text
          result=[]
          for objAnswer in self[questionId].objectValues():
--- 289,292 ----
***************
*** 314,321 ****
          return result
  
-     #def _getPointsOfQuestion(self,questionId):
-     #    """ naja, kann man sich auch schenken..."""
-     #    return self[questionId].score
- 
  ##CLEAN THAT UP
  
--- 307,310 ----
***************
*** 346,350 ****
  
          if mType in ['eduplone SingleChoice']:
!             cAnswer.append(objA.getId())
  
          if mType in ['eduplone MultiChoice', 'eduplone Matching', 'eduplone TrueFalse']:
--- 335,340 ----
  
          if mType in ['eduplone SingleChoice']:
! 	    if objA.getCorrectAnswer()==True:
!         	cAnswer.append(objA.getId())
  
          if mType in ['eduplone MultiChoice', 'eduplone Matching', 'eduplone TrueFalse']:
***************
*** 374,381 ****
          cAnswer=self._getCorrectAnswer(questionId,answerId)
  	
! 	if self[questionId].meta_type=='eduplone SingleChoice':
! 	    if not self[questionId][answerId].getCorrectAnswer() and not uAnswer in cAnswer: #this answer should not be selected and isn't :
! 		return 1 #- thats right, then...
! 		
  
          if uAnswer in cAnswer:
--- 364,370 ----
          cAnswer=self._getCorrectAnswer(questionId,answerId)
  	
! 	#if self[questionId].meta_type=='eduplone SingleChoice':
! 	#    if self[questionId][answerId].getCorrectAnswer()==False and uAnswer not in cAnswer: #this answer should not be selected and isn't :
! 	#	return 1 
  
          if uAnswer in cAnswer:

Index: EduploneTestMemberFolder.py
===================================================================
RCS file: /cvsroot/eduplone/EduploneTest/types/EduploneTestMemberFolder.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** EduploneTestMemberFolder.py	7 Nov 2004 20:52:22 -0000	1.4
--- EduploneTestMemberFolder.py	8 Nov 2004 16:34:17 -0000	1.5
***************
*** 12,15 ****
--- 12,19 ----
  
  from Products.EduploneTest.config import *
+ from Products.EduploneTest import Permissions as eXamPermissions
+ 
+ from AccessControl import ClassSecurityInfo
+ 
  if HAS_LINGUA_PLONE:
      from Products.LinguaPlone.public import *
***************
*** 43,51 ****
      },
                
!        {'id': 'testingResults',
!         'name': 'Results',
!         'action': 'string:${object_url}/eduplone_testingResults_global',
!         'permissions': (CMFCorePermissions.View,)
!         },
  )
          
--- 47,55 ----
      },
                
!     {'id': 'testingResults',
!      'name': 'Results',
!      'action': 'string:${object_url}/eduplone_testingResults_global',
!      'permissions': (eXamPermissions.viewGlobalResults,)
!     },
  )
          
***************
*** 63,74 ****
      global_allow    = 0
      filter_content_types = 1
  
  
! 
      def manageTestMembers(self, ploneUsers=[], verifiedTestMembers=[], waitingTestMembers=[], \
                            addTestMembers="", delTestMembers="", verifyTestMembers="", \
                            dismissTestMembers="", REQUEST=None):
          """ """
-         #return str(REQUEST)
          if addTestMembers:
              if type(ploneUsers) != type([]):
--- 67,82 ----
      global_allow    = 0
      filter_content_types = 1
+     
+     security = ClassSecurityInfo()
+     
  
+     #probably has to be split up
+     #in order to work with security
  
!     #security.declareProtected(eXamPermissions.manageStudents, 'manageTestMember')
      def manageTestMembers(self, ploneUsers=[], verifiedTestMembers=[], waitingTestMembers=[], \
                            addTestMembers="", delTestMembers="", verifyTestMembers="", \
                            dismissTestMembers="", REQUEST=None):
          """ """
          if addTestMembers:
              if type(ploneUsers) != type([]):
***************
*** 99,104 ****
      
      def _addTestMembers(self, ploneUsers=[], testMemberState=2):
!         """
!             Method used to add plone users to the
              'users' directory
          """
--- 107,111 ----
      
      def _addTestMembers(self, ploneUsers=[], testMemberState=2):
!         """  Method used to add plone users to the
              'users' directory
          """
***************
*** 113,118 ****
  
      def _delTestMembers(self, verifiedTestMembers=[]):
!         """
!             Method used to delete verified plone users
              from the 'users' directory
          """
--- 120,124 ----
  
      def _delTestMembers(self, verifiedTestMembers=[]):
!         """ Method used to delete verified plone users
              from the 'users' directory
          """



-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
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.