Show
Ignore:
Timestamp:
06/13/06 13:14:18 (2 years ago)
Author:
sambloomquist
Message:

BasicFieldValidationPatch:

fixes #438

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • basicfieldvalidationpatch/trac/ticket/api.py

    r856 r857  
    9797            fields.append(field) 
    9898 
     99        # required fields 
     100        for field in fields: 
     101            field['required'] = self.config.getbool('ticket', field['name'] + '.required', False) 
     102 
    99103        for field in self.get_custom_fields(): 
    100104            if field['name'] in [f['name'] for f in fields]: 
     
    122126                'label': self.config.get('ticket-custom', name + '.label') \ 
    123127                         or name.capitalize(), 
    124                 'value': self.config.get('ticket-custom', name + '.value', '') 
     128                'value': self.config.get('ticket-custom', name + '.value', ''), 
     129                'required':self.config.getbool('ticket-custom', name + '.required', False) 
    125130            } 
    126131            if field['type'] == 'select' or field['type'] == 'radio': 
  • basicfieldvalidationpatch/trac/ticket/model.py

    r856 r857  
    276276        return log 
    277277 
     278    def validate_required_fields(self, args): 
     279        #Check for required fields 
     280        for field in self.fields: 
     281            if field['required'] and not args.get(field['name']): 
     282                raise TracError(field['name'] + ' is a required field.') 
     283 
    278284 
    279285class AbstractEnum(object): 
  • basicfieldvalidationpatch/trac/ticket/web_ui.py

    r856 r857  
    136136        ticket.values.setdefault('reporter', util.get_reporter_id(req)) 
    137137        ticket.populate(req.args) 
     138         
     139        #Check for required fields 
     140        ticket.validate_required_fields(req.args) 
     141         
    138142        ticket.insert(db=db) 
    139143        db.commit() 
     
    316320        else: 
    317321            req.perm.assert_permission('TICKET_APPEND') 
     322             
     323        #Check for required fields 
     324        ticket.validate_required_fields(req.args) 
    318325 
    319326        # Mid air collision?