File tree 3 files changed +29
-4
lines changed
3 files changed +29
-4
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ master (unreleased)
9
9
- Add/Confirm support of Django REST Framework 3.11 (#417).
10
10
- Added a thorough documentation for maintainers
11
11
- Pin psycopg2-binary to 2.8 in testing env to fix CI.
12
+ - Allow to create validations `IS_DATE_IN_THE_FUTURE ` by passing a boolean value instead of a string.
12
13
13
14
Release 7.0.0 (2021-03-11)
14
15
==========================
Original file line number Diff line number Diff line change 3
3
from formidable .models import Formidable
4
4
from formidable .serializers .validation import (
5
5
MinLengthSerializer , RegexpSerializer ,
6
- ValidationSerializer
6
+ ValidationSerializer , FutureDateSerializer
7
7
)
8
8
9
9
@@ -58,6 +58,24 @@ def test_invalid_regexp_value(self):
58
58
serializer = RegexpSerializer (data = data )
59
59
self .assertFalse (serializer .is_valid ())
60
60
61
+ def test_valid_bool_future_date_value (self ):
62
+ data = {
63
+ 'field_id' : self .text_field .id ,
64
+ 'type' : 'IS_DATE_IN_THE_FUTURE' ,
65
+ 'value' : True ,
66
+ }
67
+ serializer = FutureDateSerializer (data = data )
68
+ self .assertTrue (serializer .is_valid ())
69
+
70
+ def test_valid_string_future_date_value (self ):
71
+ data = {
72
+ 'field_id' : self .text_field .id ,
73
+ 'type' : 'IS_DATE_IN_THE_FUTURE' ,
74
+ 'value' : 'true' ,
75
+ }
76
+ serializer = FutureDateSerializer (data = data )
77
+ self .assertTrue (serializer .is_valid ())
78
+
61
79
def test_update_validations (self ):
62
80
list_serializer = ValidationSerializer (many = True )
63
81
self .text_field .validations .create (
Original file line number Diff line number Diff line change @@ -128,8 +128,14 @@ class FutureDateSerializer(ValidationSerializer):
128
128
129
129
type_id = 'IS_DATE_IN_THE_FUTURE'
130
130
131
+ def to_internal_value (self , data ):
132
+ if isinstance (data ['value' ], bool ):
133
+ data ['value' ] = str (data ['value' ])
134
+ data = super ().to_internal_value (data )
135
+ return data
136
+
131
137
def validate_value (self , value ):
132
- if value in ['t' , " true" ]:
133
- return " true"
138
+ if value in ['t' , ' true' , 'True' ]:
139
+ return ' true'
134
140
else :
135
- return " false"
141
+ return ' false'
You can’t perform that action at this time.
0 commit comments