fields: add anonymise option to date fields (#69694)
gitea/wcs/pipeline/head This commit looks good Details

This commit is contained in:
Frédéric Péters 2023-03-28 11:49:37 +02:00
parent e5fcbde037
commit 60b2ec98ef
2 changed files with 23 additions and 0 deletions

View File

@ -1,6 +1,7 @@
import json
import os
import re
import time
import pytest
import responses
@ -770,6 +771,27 @@ def test_date():
assert fields.DateField().convert_value_from_str('not a date') is None
def test_date_anonymise(pub):
formdef = FormDef()
formdef.name = 'title'
formdef.fields = [fields.DateField(id='0', label='date', type='date')]
formdef.store()
formdata = formdef.data_class()()
formdata.just_created()
formdata.data = {'0': time.strptime('2023-03-28', '%Y-%m-%d')}
formdata.anonymise()
assert not formdata.data.get('0')
formdef.fields[0].anonymise = False
formdef.store()
formdata = formdef.data_class()()
formdata.just_created()
formdata.data = {'0': time.strptime('2023-03-28', '%Y-%m-%d')}
formdata.anonymise()
assert formdata.data.get('0') == time.strptime('2023-03-28', '%Y-%m-%d')
def test_file_convert_from_anything():
assert fields.FileField().convert_value_from_anything(None) is None

View File

@ -1912,6 +1912,7 @@ class DateField(WidgetField):
'maximum_date',
'date_in_the_past',
'date_can_be_today',
'anonymise',
]
@classmethod