From 96f5680e6de7bf84a490d1550383983310947885 Mon Sep 17 00:00:00 2001 From: chbaeh <chbaeh@gmail.com> Date: Thu, 4 Apr 2019 16:15:52 +0200 Subject: [PATCH] ODPSH-368: fix validation --- ckanext/odsh/helpers.py | 4 +-- .../odsh/i18n/de/LC_MESSAGES/ckanext-odsh.mo | Bin 7280 -> 7431 bytes .../odsh/i18n/de/LC_MESSAGES/ckanext-odsh.po | 4 +-- .../snippets/package_basic_fields.html | 2 +- ckanext/odsh/validation.py | 32 ++---------------- 5 files changed, 7 insertions(+), 35 deletions(-) diff --git a/ckanext/odsh/helpers.py b/ckanext/odsh/helpers.py index fc8a8300..0b7eec7b 100644 --- a/ckanext/odsh/helpers.py +++ b/ckanext/odsh/helpers.py @@ -162,11 +162,9 @@ def odsh_extract_error(key, errors, field='extras'): if 'key' in item: for error in item['key']: if error.startswith(key): - return error.replace(key+':', '') + return error def odsh_extract_error_new(key, errors): - print('ERRORS') - print(errors) if not errors or not ('__extras' in errors): return None error = errors['__extras'][0].get(key,None) diff --git a/ckanext/odsh/i18n/de/LC_MESSAGES/ckanext-odsh.mo b/ckanext/odsh/i18n/de/LC_MESSAGES/ckanext-odsh.mo index 15559973318ab1ec1d1fd1212ddb1080d91b222e..3b5f6c5cb8bf495518677cd9f7a31b01781e1e9f 100644 GIT binary patch delta 2130 zcmexh(QZ|LPl#nI0|Ns?2?GOz3<Cqh9%c{^fn(Si7(ha?P&yGxr?N9JurM$%WJ39Q z><kP-3=9lK><kRt3=9md>=5%NvNJHSGB7Z#V`pGsXJBC10+rvx&cMLWz);U{f}MeZ zi-CdR20H_TAOi!#V|E4x1qKF&uj~vAk_-$CVjK{00}hBfCk}`Oz8nyPBRL=z$8#_+ zuz?)F!N9=Dz`#(+!N4HFz`)Q96`#Ywz#zcDz_1u<-WCo91~G<u28LrC5SQJBTJRKV z@CT^IZyXE^d<+Z>e>oT!L>U+ucsLmtR2di;lsFj}co`TNJUAH`R2Uc-!Z;ZiL>L$t zsyP`LWEmJ3CP3xaaY8(@hZADXHBN}bpMv=H3=9mfp&Ea2LR`+z1)(LmAU;**0tXd? zJ{JRnH3I{KJr@Im6v!ejNEA%tVqoB5U|^Wd1+icS7XyPX0|Uc$E{KDlazQNo&BegL z!N9=4$PEc8E^Y>fdXUcqxgin?+zbrj3=9mK+z<;Lxgiz=azhLbgNmneLmXHN)mP6A ziJA_my2(&|i?|sW6d4#8mUBZw_#{;QMJRoXo1q?@C>}#y^qLzIq@TDUaR>4iC^1R$ zFfeE{Ffgd{Ktdpp2a+gzc_3+HA`ip^i+LapUc<w{Ak4tPu#pE60!Miu9=pv0Nn4+J zAW<m7ThG9t$-uy1#S0Ng;e{yZ;$>ivV_;xd4dtKWg~aJ=UPxSW@-Z;TGcYhH^FjE| ze2_#K%Lma{zz6X_KU91LAH+esq4MYXAP##63V%>)XW@qgsVYAM0}}%SgFZjRU?YA8 z25ANc1|NO~20aD_h75iN1}_E%hUxqa3>FLw43GF37$z_>Fh~nPLT-&9B<gkvLZa*x zl)fnlNlPyTA?m&eLL6AnBn0ufv=BtXQ3#Tl{GoJ=5X7aKLZIxzz)%n6PZMHbP-9?V zSR(`piOW#^pP}-M!Vm|D3q#^wO&F5>^n@9}+0<SboM!47+=L-P7YGqxND*dWP-b9Y z$QNc{P-0+Um@Etl(rr+USE2MBVMwZe4CTKRhGf4F!jKSS6@jD~MG=TYd_^GU#E3u& zrfLz8!|NFsW{5z7W`_tQj*o~y64fISNTT^70to>gQ3zj26yg&rQAmh+i$bC<QWO$p z$)XGlAq)%*wW5%;bqT8Ok0>M!aEU?8lM`cLFaqU&6EOyGVoDc-_^4eBVqmWrB&eoC z`SZjese6SOB<R<QL415g3=+gI#UKv<C<bvLvpB>Y5hyJu4so!CI7FS9I0HjHsBHHT zXJF7_U|{eOhh(ElsD>se-2<hki9-_C0&z$Ivq7AJ!JL7C;hs3eLNN(Q5UWc-604g8 z#6zVL5DTj%AW_{b0rA)Z35I%bnY>(rfkA_TfnkRP#NdY#5QF(8AqKijLJUlkge2Cf zl8~s{Ey=)O#K6FCQxXy)JW>$-#!`^DPn2R{Fl1n0=#_#5`F<&gL$69PFlaF_Fg%k= zhm=r)(h!#!OG6BBlZH5;L>gki8fi$ub59x)LQ*o20!Uc~QWUGpKoXUc3<HBD0|P_6 z3<HBR0|UcM8AuwqyV;Zd6_dG=YO#_+ZfS9eLQ<+iVopIuVqR%(YEfpgLUKl8QDSmQ zYEiL5evv|PWo}Y_PO+7OZoHnAhUR8Ht}^Dya(tYV-}6>*6(p8qCg#MK7G+NU$SopK zjNn@-lon+wl;&mU<(KDePUXAC77~(}UaSDI_VAwK;?z8a#L{B0)p@14Agha$Gg9*u zqEa)#bbd-|kwQvlDo9~4*b%9D3Q4KOC8-&yd2r`giDs}&-YTUxSyrlka+8SI<V}+1 Ko99SfVFUoq1@xu> delta 1986 zcmZp-`e0FiPl#nI0|Ns?F#`jG3<Cqh7G@9+fqmE+7(hb4P&yDwhq5y;urM$%L_+y- z><kP-3=9lO><kRt3=9mV>=5%B*%=sE85kJmu`@8RGcYhLfy%F8XJFuGV5n!<!Op<I z#lXODf}Mdukb!~WGCKo<0s{lXQ+5UhNd^W6HV%lm0tZB$5eLKqTMmf9o*WR1{W%yI z*gy{8U|`^6U|`7PU|^5{c?>Gv!@<BHz`(#T8EW1V4h9A>hI$5uZ5$AnorPL(6>9JU zsK#d;3=Dh>3=D5M7#Ktu7#RL=FfgbxFfa&lGBEHmFfdqfGBBtxFfh1rGBAiRFfe3u zGBC(8FfcSg<>zriJhFxpV$Ly6h{Laf`1K4747Z^gUvWZQ{vS$nazT75%mofA26-+9 z1}O#x27N9_(0g$)Fz_%iF!*yp436PqV9*6QfD7W#nOqQy)^jm1a4;}1Y~_N4&_1a8 zqg)IO^&p8WTnr523=9l+p%#6GTENN;F_?=R;s8l*hyyjbAqE<AL!!h6s?MDo;;=Ao z1_nh228L*ENXXVg)we?FKB)L~ZiaeroXzKk1m!YrNStlqhWPv}Hv@w<0|UcNZUzQx z1_lOJ9!O$z<bk9KS00E%!g(MTC-5*Z2s1D+r1C&QpppmTv3?#%np(~SiMkU!3=EnK z3=Hph>LCIWybuL;ybKI-3=9nMP<|aRBo)u+g~ah5UP#<N<b}lPe_jR#c?JdsNj?bQ zk`Iy?gQ0X9AH+eGd=PVc`5+Ek!w0eNP(2?cNFVbtFff4<8PuQ;d<+cI3=9lh{0t0w z3=9lv{0t0U3=9mR{0s~h3=9kl_!$@`FfuUQ<cEY@mLMdGDg+@>)&Zrb3qnG2nIJ^n zCP7FD9}t9iy#6Ls;=dpyG4TpPXel9xOVx!y*@S_?7RnD1Vqj2XU|`4+g7|!*5X9h( zQ2G5r5C>cpg2eq3AxO4+BLqo&e}y1vhD8`0QuPe{!Vm!^VFm_e1_lOQVFm^z1_p*e zVMvgb2tzbZhSIZyA*p&Hl)qdUlI_+BLqhDZFeJ^~7lt^5TLfZ`ln5j$Ekz&>4-)}} zOg#fbnFu6Kn?xXqYJmtO(QFcdgup2%|A7d^CqG0WKIRmKM4h-OB<>YOA&JUb6e6E0 z3W@t-QHVM1q6`d13=9l&MIjEjAj-hN3d;W<pay*th4_>~3}P_57$j8-ia~;0Obp^v zTQNw`28lr&93=*ESPoQQEtGB-gE(X&RNZ_rNbcDv#=xM%z`(Fo44VHRK{dRF(qEzU ze=$g+;uMDzERy034CV|B4DR9(3+u%pK|4Vll1SH!L!#!MIK*L3#KCdQ@J$@zF-{4H zJ^={^1`P%V21N;mdT@#5B>^$GLIPso1__9P=OrMi^q&MIic};aLFgn236WAs1_mt# z28KD3kOJqpB*dXFB_U}*T#A9gkb!~0Sqc&brBV<FbW1@THb*KPqG7!h!~u7q8bqZb z1&+Hkq=0Fbh6G)YG^7ZgAPq@OtECwjEJ2l*Gy{V(0|Nt-3?vP>ZH{Dr#k9GetB~2C zxFE44GchN=v?wz^wWuh+C_X1KDK&>7KczS$9$B(9FFP;4Ja6(n-pQL+@?Bxud`UE& jWpcWdz~nzt=94dp3QhhX&N4YhT5fW>RQ+aS=_`x?fC$PR diff --git a/ckanext/odsh/i18n/de/LC_MESSAGES/ckanext-odsh.po b/ckanext/odsh/i18n/de/LC_MESSAGES/ckanext-odsh.po index 409f3d35..f680c17b 100644 --- a/ckanext/odsh/i18n/de/LC_MESSAGES/ckanext-odsh.po +++ b/ckanext/odsh/i18n/de/LC_MESSAGES/ckanext-odsh.po @@ -171,10 +171,10 @@ msgstr "Dateien" msgid "Spatial uri" msgstr "Raumbezug" -msgid "odsh_spatial_uri_unknown_error_label" +msgid "spatial_uri: uri unknown" msgstr "Der räumliche Bezug is ungültig" -msgid "odsh_spatial_uri_error_label" +msgid "spatial_uri: empty not allowed" msgstr "Bitte geben Sie einen räumlichen Bezug an" msgid "odsh_temporal_start_error_label" diff --git a/ckanext/odsh/templates/package/snippets/package_basic_fields.html b/ckanext/odsh/templates/package/snippets/package_basic_fields.html index 342bebc8..4e585fe7 100644 --- a/ckanext/odsh/templates/package/snippets/package_basic_fields.html +++ b/ckanext/odsh/templates/package/snippets/package_basic_fields.html @@ -59,7 +59,7 @@ is_required=true,placeholder=_('Enter title')) }} <!-- field license --> - {% set error_missing_attr = h.odsh_extract_error_new('licenseAttributionByText', errors) %} + {% set error_missing_attr = h.odsh_extract_error('licenseAttributionByText', errors) %} <label class="control-label" for="field-license"> {{ _("License") }}: <span title="{{ _("This field is required") }}" class="control-required">*</span> diff --git a/ckanext/odsh/validation.py b/ckanext/odsh/validation.py index 13c38a24..e90bd870 100644 --- a/ckanext/odsh/validation.py +++ b/ckanext/odsh/validation.py @@ -95,30 +95,6 @@ def validate_extra_date_new(key, field, data, optional, errors): pass errors[field] = 'not a valid date' -def validate_extra_date(key, field, data, optional=False): - value = _extract_value(data, field) - - if not value: - if optional: - return - # Statistikamt Nord does not always provide temporal_start/end, - # but their datasets have to be accepted as they are. - if not ('id',) in data or data[('id',)][:7] != 'StaNord': - raise toolkit.Invalid(field+':odsh_'+field+'_error_label') - else: - if re.match(r'\d\d\d\d-\d\d-\d\d', value): - try: - dt=parse(value) - _set_value(data, field, dt.isoformat()) - return - except ValueError: - pass - raise toolkit.Invalid(field+':odsh_'+field+'_not_date_error_label') - - -def validate_extra_date_factory(field, optional=False): - return lambda key, data, errors, context: validate_extra_date(key, field, data, optional) - def validate_licenseAttributionByText(key, data, errors,context): register = model.Package.get_license_register() isByLicense=False @@ -148,11 +124,9 @@ def validate_licenseAttributionByText(key, data, errors,context): if isByLicense and not hasAttribution: raise toolkit.Invalid( - 'licenseAttributionByText:licenseAttributionByText: empty not allowed') + 'licenseAttributionByText: empty not allowed') -# errors['licenseAttributionByText'] = 'empty not allowed' if not isByLicense and hasAttribution: - #errors['licenseAttributionByText'] = 'text not allowed for this license' raise toolkit.Invalid( 'licenseAttributionByText: text not allowed for this license') @@ -164,7 +138,7 @@ def known_spatial_uri(key, data, errors, context): # some harvesters might import a polygon directly... poly = _extract_value(data, 'spatial') if not poly: - raise toolkit.Invalid('spatial_uri:odsh_spatial_uri_error_label') + raise toolkit.Invalid('spatial_uri: empty not allowed') else: return @@ -187,7 +161,7 @@ def known_spatial_uri(key, data, errors, context): break if not_found: raise toolkit.Invalid( - 'spatial_uri:odsh_spatial_uri_unknown_error_label') + 'spatial_uri: uri unknown') # Get the current extras index current_indexes = [k[1] for k in data.keys() -- GitLab