svgui/pyjs/jsonrpc/django/jsonrpc.py
changeset 1737 a39c2918c015
parent 1736 7e61baa047f0
child 1740 b789b695b5c6
equal deleted inserted replaced
1736:7e61baa047f0 1737:a39c2918c015
    84  'FloatField': ['max_value', 'min_value'],
    84  'FloatField': ['max_value', 'min_value'],
    85  'DecimalField': ['max_value', 'min_value', 'max_digits', 'decimal_places'],
    85  'DecimalField': ['max_value', 'min_value', 'max_digits', 'decimal_places'],
    86  'DateField': ['input_formats'],
    86  'DateField': ['input_formats'],
    87  'DateTimeField': ['input_formats'],
    87  'DateTimeField': ['input_formats'],
    88  'TimeField': ['input_formats'],
    88  'TimeField': ['input_formats'],
    89  'RegexField': ['max_length', 'min_length'], # sadly we can't get the expr
    89  'RegexField': ['max_length', 'min_length'],  # sadly we can't get the expr
    90  'EmailField': ['max_length', 'min_length'],
    90  'EmailField': ['max_length', 'min_length'],
    91  'URLField': ['max_length', 'min_length', 'verify_exists', 'user_agent'],
    91  'URLField': ['max_length', 'min_length', 'verify_exists', 'user_agent'],
    92  'ChoiceField': ['choices'],
    92  'ChoiceField': ['choices'],
    93  'FilePathField': ['path', 'match', 'recursive', 'choices'],
    93  'FilePathField': ['path', 'match', 'recursive', 'choices'],
    94  'IPAddressField': ['max_length', 'min_length'],
    94  'IPAddressField': ['max_length', 'min_length'],
   152 
   152 
   153     def __process(self, request, params, command=None):
   153     def __process(self, request, params, command=None):
   154 
   154 
   155         f = self.formcls(params)
   155         f = self.formcls(params)
   156 
   156 
   157         if command is None: # just validate
   157         if command is None:  # just validate
   158             if not f.is_valid():
   158             if not f.is_valid():
   159                 return {'success':False, 'errors': builderrors(f)}
   159                 return {'success':False, 'errors': builderrors(f)}
   160             return {'success':True}
   160             return {'success':True}
   161 
   161 
   162         elif command.has_key('describe_errors'):
   162         elif command.has_key('describe_errors'):
   168             return describe_fields(f.fields, field_names)
   168             return describe_fields(f.fields, field_names)
   169 
   169 
   170         elif command.has_key('save'):
   170         elif command.has_key('save'):
   171             if not f.is_valid():
   171             if not f.is_valid():
   172                 return {'success':False, 'errors': builderrors(f)}
   172                 return {'success':False, 'errors': builderrors(f)}
   173             instance = f.save() # XXX: if you want more, over-ride save.
   173             instance = f.save()  # XXX: if you want more, over-ride save.
   174             return {'success': True, 'instance': json_convert(instance) }
   174             return {'success': True, 'instance': json_convert(instance) }
   175 
   175 
   176         elif command.has_key('html'):
   176         elif command.has_key('html'):
   177             return {'success': True, 'html': f.as_table()}
   177             return {'success': True, 'html': f.as_table()}
   178 
   178