Changeset 1382 for HelpIM3

Show
Ignore:
Timestamp:
01/21/11 14:53:35 (16 months ago)
Author:
zeank
Message:

code cleanup
fixed validate (more fixes needed)
refs #251

Location:
HelpIM3/branches/chatgroups/HelpIM/questionair/pages
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • HelpIM3/branches/chatgroups/HelpIM/questionair/pages/EditQuestion.py

    r971 r1382  
    44 
    55class Handler(QuestionEditor): 
    6     """Show login panel - (does what it says) 
    7        Offers the user a panel to login to the system 
    8     """ 
    96    def __init__(self, *args, **kwargs): 
    107        QuestionEditor.__init__(self, *args, **kwargs) 
     
    2219                panelDef.append(self.getFixedChoiceAnswerDefTable(self, *pargs, **kwargs)) 
    2320        return panelDef 
    24  
    25  
    26  
    2721     
    2822    def performAction(self, *pargs, **kwargs): 
  • HelpIM3/branches/chatgroups/HelpIM/questionair/pages/QuestionEditor.py

    r971 r1382  
    44 
    55class QuestionEditor(EditPanel): 
    6     """Show login panel - (does what it says) 
    7        Offers the user a panel to login to the system 
    8     """ 
    96    def __init__(self, *pargs, **kwargs): 
    107        EditPanel.__init__(self, *pargs, **kwargs) 
     
    245242     
    246243    def validate(self, *pargs, **kwargs): 
    247         errors = [] 
    248          
    249         if not self.parameters.has_key('question_text') or len(self.parameters['question_text']) == 0: 
    250             self.errors.append({'question_text': 'De vraag is verplicht'}) 
    251          
    252         if not self.parameters.has_key('question_error') or len(self.parameters['question_error']) == 0: 
    253             self.errors.append({'question_error': 'De melding is verplicht'}) 
    254          
    255         if not self.parameters.has_key('question_answerIsMandatory') or len(self.parameters['question_answerIsMandatory']) == 0: 
    256             self.errors.append({'question_answerIsMandatory': 'Het antwoord moet al dan niet verplicht zijn'}) 
    257  
    258         if not self.parameters.has_key('question_type') or len(self.parameters['question_type']) == 0: 
    259             self.errors.append({'question_type': 'De soort vraag is verplicht'}) 
    260          
    261         if self.parameters.has_key('question_type'): 
    262             if (self.parameters['question_type'] == 'OV'):  
    263                 if not self.parameters.has_key('txtAnswerDef_type') or len(self.parameters['txtAnswerDef_type']) == 0: 
    264                     self.errors.append({'txtAnswerDef_type': 'Het soort antwoord is verplicht'}) 
    265                      
    266             if (self.parameters['question_type'] == 'MK'):  
    267                 if not self.parameters.has_key('answer_type') or len(self.parameters['answer_type']) == 0: 
    268                     self.errors.append({'answer_type': 'Het soort antwoord is verplicht'}) 
    269                  
    270                 elif self.parameters['answer_type'] == 'DEF': 
    271                     if not self.parameters.has_key('question_answerPresentationType') or len(self.parameters['question_answerPresentationType']) == 0: 
    272                         self.errors.append({'question_answerPresentationType': 'De wijze van presenteren is verplicht'}) 
    273                  
    274                 elif self.parameters.has_key('question_MultipleAnswersAllowed') and self.parameters.has_key('question_answerPresentationType'): 
    275                     if self.parameters['question_MultipleAnswersAllowed'] == "True" and self.parameters['question_answerPresentationType'] == "RB": 
    276                         self.errors.append({'question_answerPresentationType': 'Radio buttons zijn niet mogelijk als er meerdere antwoorden zijn toegestaan'}) 
    277  
    278  
    279  
    280         if self.parameters.has_key('question_type'): 
    281             if (self.parameters['question_type'] == 'OV'):  
     244 
     245        self.checkNotEmpty('question_text', 'De vraag is verplicht') 
     246 
     247        if self.checkParam('question_answerIsMandatory', 'True'): 
     248            self.checkNotEmpty('question_error', 'De melding is verplicht') 
     249 
     250        if self.checkNotEmpty('question_type', 'De soort vraag is verplicht'): 
     251             
     252            if self.checkParam('question_type', 'OV'): 
     253                self.checkNotEmpty('txtAnswerDef_type', 'Het soort antwoord is verplicht') 
     254 
     255                """ [zeank] unsure what the following lines are good for """ 
    282256                if not self.question: 
    283257                    if self.parameters.has_key('question_id'): 
    284258                        self.question = self.getQuestion(self.parameters['question_id']) 
    285                 if self.question != None and self.question != False and self.question.question_type == 'MK': 
    286                     self.errors.append({'question_type': 'Een, reeds bestaande, meerkeuze-vraag kan niet gewijzigd worden naar een open vraag'}) 
    287  
    288  
    289  
    290         if self.parameters.has_key('__function__'): 
    291             if self.parameters['__function__'] == 'AddAnswerDefinition': 
    292                 if not self.parameters.has_key('fcAnswer_code') or len(self.parameters['fcAnswer_code']) == 0: 
    293                     self.errors.append({'i_fcAnswer_code': 'De code is verplicht'}) 
    294                 if not self.parameters.has_key('fcAnswer_text') or len(self.parameters['fcAnswer_text']) == 0: 
    295                     self.errors.append({'fcAnswer_text': 'De text is verplicht'}) 
    296         return errors 
     259                if self.question != None and \ 
     260                       self.question != False and \ 
     261                       self.question.question_type == 'MK': 
     262                    self.addError('question_type', 
     263                                  'Een, reeds bestaande, meerkeuze-vraag kan niet gewijzigd worden naar een open vraag') 
     264                """ [zeank] end blindly copied code """ 
     265            elif self.checkParam('question_type', 'MK'): 
     266                self.checkNotEmpty('answer_type', 'Het soort antwoord is verplicht') 
     267                if self.checkParam('answer_type', 'DEF'): 
     268                    self.checkNotEmpty('question_answerPresentationType', 
     269                                       'De wijze van presenteren is verplicht') 
     270                elif self.checkParam('question_MultipleAnswersAllowed', 'True') and \ 
     271                         self.checkNotEmpty('question_answerPresentationType', 'RB'): 
     272                    self.addError('question_answerPresentationType', 
     273                                  'Radio buttons zijn niet mogelijk als er meerdere antwoorden zijn toegestaan') 
     274 
     275            else: 
     276                self.addError('question_type', 'question_type %s unknown' % self.getParam('question_type')) 
     277 
     278        """ [zeank] what's that good for? """ 
     279        if self.checkParam('__function__', 'AddAnswerDefinition'): 
     280            self.checkNotEmpty('fcAnswer_code', 'De code is verplicht') 
     281            self.checkNotEmpty('fcAnswer_text', 'De text is verplicht') 
    297282 
    298283    def panelDataToObject(self, *pargs, **kwargs): 
     
    358343        panel_fields.append(self.question_MultipleAnswersAllowed) 
    359344         
    360          
    361          
    362345        "MeerkeuzeVraag.AntwoordType, Class" 
    363346        panel_fields.append(self.answer_type_control) 
     
    381364     
    382365    def getFixedChoiceAnswerDefTable(self, *pargs, **kwargs): 
    383         """ This is the base/default-getPanelDef-method and needs to be overridden  
    384         for useful functionality. 
    385         Its purpose is to return a panel-definition that is displayable in (most probably) a browser. 
    386         """ 
    387         self.log.debug('.getTableDef()') 
    388366        table = {  'table_panel': [ {'dataTable':'Question', 
    389367                                     'dataRecord':'AnswerDefinition', 
     
    447425 
    448426        return table 
    449  
    450427             
    451428    def getPanelData(self, *pargs, **kwargs): 
     
    456433        panelMessage = { 'panelMessage': self.panelMessage} 
    457434        return [panel_data, fieldErrors, panelMessage] 
    458      
    459          
     435 
    460436    def acceptWebPageParameters(self, *pargs, **kwargs): 
    461437        self.log.debug('.acceptWebPageParameters()')