1174 |
1174 |
formdef.workflow = wf
|
1175 |
1175 |
formdef.store()
|
1176 |
1176 |
data_class = lazy_formdata._formdef.data_class()
|
1177 |
|
for _ in range(6):
|
|
1177 |
for i in range(6):
|
1178 |
1178 |
formdata = data_class()
|
1179 |
1179 |
formdata.data = {'0': 'bar', '1': True, 'bo1': 'plop1', '10': '3'}
|
|
1180 |
if i == 5:
|
|
1181 |
formdata.data['3'] = datetime.date(2018, 8, 31).timetuple()
|
1180 |
1182 |
formdata.just_created()
|
1181 |
1183 |
formdata.store()
|
1182 |
1184 |
for _ in range(4):
|
... | ... | |
1237 |
1239 |
logged_error = pub.loggederror_class.select()[1]
|
1238 |
1240 |
assert logged_error.summary == 'Invalid value "not a date" for filter "datefield"'
|
1239 |
1241 |
|
|
1242 |
queryset = lazy_formdata.objects.filter_by('datefield').apply_exclude_value(
|
|
1243 |
datetime.date(2018, 7, 31).timetuple()
|
|
1244 |
)
|
|
1245 |
assert queryset.count == 6
|
|
1246 |
queryset = lazy_formdata.objects.filter_by('datefield').apply_exclude_value(datetime.date(2018, 7, 31))
|
|
1247 |
assert queryset.count == 6
|
|
1248 |
queryset = lazy_formdata.objects.filter_by('datefield').apply_exclude_value(
|
|
1249 |
datetime.datetime(2018, 7, 31)
|
|
1250 |
)
|
|
1251 |
assert queryset.count == 6
|
|
1252 |
queryset = lazy_formdata.objects.filter_by('datefield').apply_exclude_value('2018-07-31')
|
|
1253 |
assert queryset.count == 6
|
|
1254 |
queryset = lazy_formdata.objects.filter_by('datefield').apply_exclude_value('still not a date')
|
|
1255 |
assert queryset.count == 0
|
|
1256 |
if pub.is_using_postgresql():
|
|
1257 |
assert pub.loggederror_class.count() == 3
|
|
1258 |
logged_error = pub.loggederror_class.select()[2]
|
|
1259 |
assert logged_error.summary == 'Invalid value "still not a date" for filter "datefield"'
|
|
1260 |
|
1240 |
1261 |
queryset = lazy_formdata.objects.filter_by('boolfield').apply_filter_value(True)
|
1241 |
1262 |
assert queryset.count == 6
|
1242 |
1263 |
queryset = lazy_formdata.objects.filter_by('boolfield').apply_filter_value(1)
|
... | ... | |
1247 |
1268 |
assert queryset.count == 5
|
1248 |
1269 |
queryset = lazy_formdata.objects.filter_by('boolfield').apply_filter_value(0)
|
1249 |
1270 |
assert queryset.count == 5
|
|
1271 |
queryset = lazy_formdata.objects.filter_by('boolfield').apply_exclude_value(0)
|
|
1272 |
assert queryset.count == 6
|
1250 |
1273 |
|
1251 |
1274 |
queryset = lazy_formdata.objects.filter_by('term1').apply_filter_value('3')
|
1252 |
1275 |
assert queryset.count == 7
|
... | ... | |
1254 |
1277 |
assert queryset.count == 7
|
1255 |
1278 |
queryset = lazy_formdata.objects.filter_by('term1').apply_filter_value('foobar')
|
1256 |
1279 |
assert queryset.count == 0
|
|
1280 |
queryset = lazy_formdata.objects.filter_by('term1').apply_exclude_value('3')
|
|
1281 |
assert queryset.count == 4
|
|
1282 |
queryset = lazy_formdata.objects.filter_by('term1').apply_exclude_value('foobar')
|
|
1283 |
assert queryset.count == 11
|
1257 |
1284 |
|
1258 |
1285 |
queryset = lazy_formdata.objects.filter_by('email').apply_filter_value('bar')
|
1259 |
1286 |
assert queryset.count == 0
|
... | ... | |
1310 |
1337 |
assert tmpl.render(context) == '7'
|
1311 |
1338 |
tmpl = Template('{{form_objects|filter_by:"foo_foo"|filter_value:"bar"|length}}')
|
1312 |
1339 |
assert tmpl.render(context) == '7'
|
|
1340 |
tmpl = Template('{{form_objects|filter_by:"foo_foo"|exclude_value:"bar"|count}}')
|
|
1341 |
assert tmpl.render(context) == '4'
|
|
1342 |
tmpl = Template('{{form_objects|filter_by:"foo_foo"|exclude_value:"bar"|length}}')
|
|
1343 |
assert tmpl.render(context) == '4'
|
1313 |
1344 |
|
1314 |
1345 |
pub.substitutions.feed(formdata)
|
1315 |
1346 |
tmpl = Template('{{form_objects|filter_by:"foo_foo"|filter_value:form_var_foo_foo|count}}')
|
... | ... | |
1320 |
1351 |
assert tmpl.render(context) == '5'
|
1321 |
1352 |
tmpl = Template('{{form_objects|filter_by:"term1"|filter_value:form_var_term1|count}}')
|
1322 |
1353 |
assert tmpl.render(context) == '7'
|
|
1354 |
tmpl = Template('{{form_objects|filter_by:"foo_foo"|exclude_value:form_var_foo_foo|count}}')
|
|
1355 |
assert tmpl.render(context) == '4'
|
|
1356 |
tmpl = Template('{{form_objects|filter_by:"datefield"|exclude_value:form_var_datefield|count}}')
|
|
1357 |
assert tmpl.render(context) == '6'
|
|
1358 |
tmpl = Template('{{form_objects|filter_by:"boolfield"|exclude_value:form_var_boolfield|count}}')
|
|
1359 |
assert tmpl.render(context) == '6'
|
|
1360 |
tmpl = Template('{{form_objects|filter_by:"term1"|exclude_value:form_var_term1|count}}')
|
|
1361 |
assert tmpl.render(context) == '4'
|
1323 |
1362 |
|
1324 |
1363 |
tmpl = Template('{{form.objects|exclude_self|filter_by:"foo_foo"|filter_value:form_var_foo_foo|count}}')
|
1325 |
1364 |
assert tmpl.render(context) == '6'
|
... | ... | |
1402 |
1441 |
tmpl = Template('{% for v in form_objects|order_by:"id"|getlist:"foo_foo" %}{{ v }},{% endfor %}')
|
1403 |
1442 |
assert tmpl.render(context) == 'bar,bar,bar,bar,bar,bar,bar,foo,foo,foo,foo,'
|
1404 |
1443 |
tmpl = Template('{% for v in form_objects|order_by:"id"|getlist:"datefield" %}{{ v|date }},{% endfor %}')
|
1405 |
|
assert tmpl.render(context) == '2018-07-31,,,,,,,2018-07-31,2018-07-31,2018-07-31,2018-07-31,'
|
|
1444 |
assert tmpl.render(context) == '2018-07-31,,,,,,2018-08-31,2018-07-31,2018-07-31,2018-07-31,2018-07-31,'
|
1406 |
1445 |
tmpl = Template('{% if "foo" in form_objects|getlist:"foo_foo" %}OK{% else %}KO{% endif%}')
|
1407 |
1446 |
assert tmpl.render(context) == 'OK'
|
1408 |
1447 |
tmpl = Template('{% if "fooooooooooooooo" in form_objects|getlist:"foo_foo" %}OK{% else %}KO{% endif%}')
|