udata 9.0.1.dev29716__py2.py3-none-any.whl → 9.0.1.dev29760__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of udata might be problematic. Click here for more details.
- udata/api/__init__.py +1 -0
- udata/api_fields.py +3 -0
- udata/core/reports/__init__.py +0 -0
- udata/core/reports/api.py +43 -0
- udata/core/reports/constants.py +28 -0
- udata/core/reports/models.py +57 -0
- udata/models/__init__.py +1 -0
- udata/static/chunks/{11.7266fef2dddc1db403d9.js → 11.ae54612e36c6d46f85db.js} +3 -3
- udata/static/chunks/{11.7266fef2dddc1db403d9.js.map → 11.ae54612e36c6d46f85db.js.map} +1 -1
- udata/static/chunks/{13.91b177d7d531fd55cf5d.js → 13.d8ccb992a49875966313.js} +2 -2
- udata/static/chunks/{13.91b177d7d531fd55cf5d.js.map → 13.d8ccb992a49875966313.js.map} +1 -1
- udata/static/chunks/{16.e866757bab9f6b0a3f1b.js → 16.4565605e68bab129a471.js} +2 -2
- udata/static/chunks/{16.e866757bab9f6b0a3f1b.js.map → 16.4565605e68bab129a471.js.map} +1 -1
- udata/static/chunks/{19.619b83ac597516dcd03e.js → 19.f993a75d5bfe2382548d.js} +3 -3
- udata/static/chunks/{19.619b83ac597516dcd03e.js.map → 19.f993a75d5bfe2382548d.js.map} +1 -1
- udata/static/chunks/{5.48417db6b33328fa9d6a.js → 5.cc2e7bf65ef32f9c8604.js} +3 -3
- udata/static/chunks/{5.48417db6b33328fa9d6a.js.map → 5.cc2e7bf65ef32f9c8604.js.map} +1 -1
- udata/static/chunks/{6.f84539bd4c419b36cc19.js → 6.cad898a38692eda28965.js} +3 -3
- udata/static/chunks/{6.f84539bd4c419b36cc19.js.map → 6.cad898a38692eda28965.js.map} +1 -1
- udata/static/chunks/{9.07503e7f7ec02919f696.js → 9.d5b992e9ef51921aeb57.js} +2 -2
- udata/static/chunks/{9.07503e7f7ec02919f696.js.map → 9.d5b992e9ef51921aeb57.js.map} +1 -1
- udata/static/common.js +1 -1
- udata/static/common.js.map +1 -1
- udata/tests/api/test_reports_api.py +88 -0
- udata/translations/ar/LC_MESSAGES/udata.mo +0 -0
- udata/translations/ar/LC_MESSAGES/udata.po +32 -12
- udata/translations/de/LC_MESSAGES/udata.mo +0 -0
- udata/translations/de/LC_MESSAGES/udata.po +32 -12
- udata/translations/es/LC_MESSAGES/udata.mo +0 -0
- udata/translations/es/LC_MESSAGES/udata.po +31 -11
- udata/translations/fr/LC_MESSAGES/udata.mo +0 -0
- udata/translations/fr/LC_MESSAGES/udata.po +32 -12
- udata/translations/it/LC_MESSAGES/udata.mo +0 -0
- udata/translations/it/LC_MESSAGES/udata.po +32 -12
- udata/translations/pt/LC_MESSAGES/udata.mo +0 -0
- udata/translations/pt/LC_MESSAGES/udata.po +32 -12
- udata/translations/sr/LC_MESSAGES/udata.mo +0 -0
- udata/translations/sr/LC_MESSAGES/udata.po +32 -12
- udata/translations/udata.pot +31 -11
- {udata-9.0.1.dev29716.dist-info → udata-9.0.1.dev29760.dist-info}/METADATA +2 -1
- {udata-9.0.1.dev29716.dist-info → udata-9.0.1.dev29760.dist-info}/RECORD +45 -40
- {udata-9.0.1.dev29716.dist-info → udata-9.0.1.dev29760.dist-info}/LICENSE +0 -0
- {udata-9.0.1.dev29716.dist-info → udata-9.0.1.dev29760.dist-info}/WHEEL +0 -0
- {udata-9.0.1.dev29716.dist-info → udata-9.0.1.dev29760.dist-info}/entry_points.txt +0 -0
- {udata-9.0.1.dev29716.dist-info → udata-9.0.1.dev29760.dist-info}/top_level.txt +0 -0
udata/static/common.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e){function __webpack_require__(a){if(c[a])return c[a].exports;var f=c[a]={exports:{},id:a,loaded:!1};return e[a].call(f.exports,f,f.exports,__webpack_require__),f.loaded=!0,f.exports}var a=window.webpackJsonp;window.webpackJsonp=function(b,r){for(var t,
|
|
1
|
+
!function(e){function __webpack_require__(a){if(c[a])return c[a].exports;var f=c[a]={exports:{},id:a,loaded:!1};return e[a].call(f.exports,f,f.exports,__webpack_require__),f.loaded=!0,f.exports}var a=window.webpackJsonp;window.webpackJsonp=function(b,r){for(var t,_,n=0,d=[];n<b.length;n++)_=b[n],f[_]&&d.push.apply(d,f[_]),f[_]=0;for(t in r){var i=r[t];switch(typeof i){case"object":e[t]=function(a){var c=a.slice(1),f=a[0];return function(a,b,r){e[f].apply(this,[a,b,r].concat(c))}}(i);break;case"function":e[t]=i;break;default:e[t]=e[i]}}for(a&&a(b,r);d.length;)d.shift().call(null,__webpack_require__);if(r[0])return c[0]=0,__webpack_require__(0)};var c={},f={31:0};__webpack_require__.e=function(e,a){if(0===f[e])return a.call(null,__webpack_require__);if(void 0!==f[e])f[e].push(a);else{f[e]=[a];var c=document.getElementsByTagName("head")[0],b=document.createElement("script");b.type="text/javascript",b.charset="utf-8",b.async=!0,b.src=__webpack_require__.p+"chunks/"+e+"."+{0:"93c3ae13b5b94753ee80",1:"ff8196d42cab0f031d3f",2:"614b3e73b072982fd9b1",3:"1ca609753b5a02de0ca3",4:"95e6a070a0eb2ed08fdd",5:"cc2e7bf65ef32f9c8604",6:"cad898a38692eda28965",7:"e2106342e94ee09393b1",8:"17d1afb591ad1495bd03",9:"d5b992e9ef51921aeb57",10:"e97ea231893dc435d6b5",11:"ae54612e36c6d46f85db",12:"59f035a9438e2baf5126",13:"d8ccb992a49875966313",14:"e64890872b31c55fcdf7",15:"92b2cef3032ea35da04a",16:"4565605e68bab129a471",17:"15ecbcf8f0b2968689e8",18:"1922fd0b2b7fad122991",19:"f993a75d5bfe2382548d",20:"14a92e5c503f74ff40df",21:"ccbfce6680a2b11a5284",22:"bc79367e5f4c8ad00038",23:"5486b3fc83b194d55191",24:"e905e3f6ba089a34b07c",25:"e20b4daac9fb2bdceee6",26:"c8f33e73b9117b70aef8",27:"6779f92692327013b446",28:"280c392f19bc9e908abf",29:"daadfa33135efe4e5534",30:"b2464d08ccbeb40ec74e",32:"1a2e06fc4fa771fb27be",33:"70f8e7b1964892a24e67"}[e]+".js",c.appendChild(b)}},__webpack_require__.m=e,__webpack_require__.c=c,__webpack_require__.p="/static/"}(function(e){for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a))switch(typeof e[a]){case"function":break;case"object":e[a]=function(a){var c=a.slice(1),f=e[a[0]];return function(e,a,b){f.apply(this,[e,a,b].concat(c))}}(e[a]);break;default:e[a]=e[e[a]]}return e}([]));
|
|
2
2
|
//# sourceMappingURL=common.js.map
|
udata/static/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap e7b65707b95946bef828"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","parentJsonpFunction","window","chunkIds","moreModules","chunkId","i","callbacks","length","installedChunks","push","apply","_m","args","slice","templateId","a","b","c","this","concat","shift","31","e","callback","undefined","head","document","getElementsByTagName","script","createElement","type","charset","async","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","32","33","appendChild","m","Object","prototype","hasOwnProperty","fn"],"mappings":"CAAS,SAAUA,GCwDnB,QAAAC,qBAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,qBAGAI,EAAAE,QAAA,EAGAF,EAAAD,QA3EA,GAAAK,GAAAC,OAAA,YACAA,QAAA,sBAAAC,EAAAC,GAIA,IADA,GAAAV,GAAAW,EAAAC,EAAA,EAAAC,KACQD,EAAAH,EAAAK,OAAoBF,IAC5BD,EAAAF,EAAAG,GACAG,EAAAJ,IACAE,EAAAG,KAAAC,MAAAJ,EAAAE,EAAAJ,IACAI,EAAAJ,GAAA,CAEA,KAAAX,IAAAU,GAAA,CACA,GAAAQ,GAAAR,EAAAV,EAGA,cAAAkB,IACA,aAEApB,EAAAE,GAAA,SAAAkB,GACA,GAAAC,GAAAD,EAAAE,MAAA,GAAAC,EAAAH,EAAA,EACA,iBAAAI,EAAAC,EAAAC,GACA1B,EAAAuB,GAAAJ,MAAAQ,MAAAH,EAAAC,EAAAC,GAAAE,OAAAP,MAEMD,EACN,MACA,gBAEApB,EAAAE,GAAAkB,CACA,MACA,SAEApB,EAAAE,GAAAF,EAAAoB,IAKA,IADAX,KAAAE,EAAAC,GACAG,EAAAC,QACAD,EAAAc,QAAArB,KAAA,KAAAP,oBACA,IAAAW,EAAA,GAEA,MADAT,GAAA,KACAF,oBAAA,GAKA,IAAAE,MAKAc,GACAa,GAAA,EA6BA7B,qBAAA8B,EAAA,SAAAlB,EAAAmB,GAEA,OAAAf,EAAAJ,GACA,MAAAmB,GAAAxB,KAAA,KAAAP,oBAGA,IAAAgC,SAAAhB,EAAAJ,GACAI,EAAAJ,GAAAK,KAAAc,OACI,CAEJf,EAAAJ,IAAAmB,EACA,IAAAE,GAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,SACAD,GAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EAEAJ,EAAAK,IAAAzC,oBAAA0C,EAAA,UAAA9B,EAAA,KAAsE+B,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,wBAAk5B/D,GAAA,MACx9BqB,EAAA2C,YAAAxC,KAKApC,oBAAA6E,EAAA9E,EAGAC,oBAAAyB,EAAAvB,EAGAF,oBAAA0C,EAAA,YDIW,SAAS3C,GAEnB,IAAI,GAAIc,KAAKd,GACZ,GAAG+E,OAAOC,UAAUC,eAAezE,KAAKR,EAASc,GAChD,aAAcd,GAAQc,IACtB,IAAK,WAAY,KACjB,KAAK,SAEJd,EAAQc,GAAM,SAASM,GACtB,GAAIC,GAAOD,EAAGE,MAAM,GAAI4D,EAAKlF,EAAQoB,EAAG,GACxC,OAAO,UAAUI,EAAEC,EAAEC,GACpBwD,EAAG/D,MAAMQ,MAAOH,EAAEC,EAAEC,GAAGE,OAAOP,MAE9BrB,EAAQc,GACV,MACD,SAECd,EAAQc,GAAKd,EAAQA,EAAQc,IAKhC,MAAOd","file":"common.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId])\n/******/ \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tvar _m = moreModules[moduleId];\n/******/\n/******/ \t\t\t// Check if module is deduplicated\n/******/ \t\t\tswitch(typeof _m) {\n/******/ \t\t\tcase \"object\":\n/******/ \t\t\t\t// Module can be created from a template\n/******/ \t\t\t\tmodules[moduleId] = (function(_m) {\n/******/ \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n/******/ \t\t\t\t\treturn function (a,b,c) {\n/******/ \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n/******/ \t\t\t\t\t};\n/******/ \t\t\t\t}(_m));\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tcase \"function\":\n/******/ \t\t\t\t// Normal module\n/******/ \t\t\t\tmodules[moduleId] = _m;\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tdefault:\n/******/ \t\t\t\t// Module is a copy of another module\n/******/ \t\t\t\tmodules[moduleId] = modules[_m];\n/******/ \t\t\t\tbreak;\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n/******/ \t\twhile(callbacks.length)\n/******/ \t\t\tcallbacks.shift().call(null, __webpack_require__);\n/******/ \t\tif(moreModules[0]) {\n/******/ \t\t\tinstalledModules[0] = 0;\n/******/ \t\t\treturn __webpack_require__(0);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// object to store loaded and loading chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \t// Array means \"loading\", array contains callbacks\n/******/ \tvar installedChunks = {\n/******/ \t\t31:0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] === 0)\n/******/ \t\t\treturn callback.call(null, __webpack_require__);\n/******/\n/******/ \t\t// an array means \"currently loading\".\n/******/ \t\tif(installedChunks[chunkId] !== undefined) {\n/******/ \t\t\tinstalledChunks[chunkId].push(callback);\n/******/ \t\t} else {\n/******/ \t\t\t// start chunk loading\n/******/ \t\t\tinstalledChunks[chunkId] = [callback];\n/******/ \t\t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\t\tvar script = document.createElement('script');\n/******/ \t\t\tscript.type = 'text/javascript';\n/******/ \t\t\tscript.charset = 'utf-8';\n/******/ \t\t\tscript.async = true;\n/******/\n/******/ \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"93c3ae13b5b94753ee80\",\"1\":\"ff8196d42cab0f031d3f\",\"2\":\"614b3e73b072982fd9b1\",\"3\":\"1ca609753b5a02de0ca3\",\"4\":\"95e6a070a0eb2ed08fdd\",\"5\":\"48417db6b33328fa9d6a\",\"6\":\"f84539bd4c419b36cc19\",\"7\":\"e2106342e94ee09393b1\",\"8\":\"17d1afb591ad1495bd03\",\"9\":\"07503e7f7ec02919f696\",\"10\":\"e97ea231893dc435d6b5\",\"11\":\"7266fef2dddc1db403d9\",\"12\":\"59f035a9438e2baf5126\",\"13\":\"91b177d7d531fd55cf5d\",\"14\":\"e64890872b31c55fcdf7\",\"15\":\"92b2cef3032ea35da04a\",\"16\":\"e866757bab9f6b0a3f1b\",\"17\":\"15ecbcf8f0b2968689e8\",\"18\":\"1922fd0b2b7fad122991\",\"19\":\"619b83ac597516dcd03e\",\"20\":\"14a92e5c503f74ff40df\",\"21\":\"ccbfce6680a2b11a5284\",\"22\":\"bc79367e5f4c8ad00038\",\"23\":\"5486b3fc83b194d55191\",\"24\":\"e905e3f6ba089a34b07c\",\"25\":\"e20b4daac9fb2bdceee6\",\"26\":\"c8f33e73b9117b70aef8\",\"27\":\"6779f92692327013b446\",\"28\":\"280c392f19bc9e908abf\",\"29\":\"daadfa33135efe4e5534\",\"30\":\"b2464d08ccbeb40ec74e\",\"32\":\"1a2e06fc4fa771fb27be\",\"33\":\"70f8e7b1964892a24e67\"}[chunkId] + \".js\";\n/******/ \t\t\thead.appendChild(script);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/static/\";\n/******/ })\n/************************************************************************/\n/******/ ((function(modules) {\n\t// Check all modules for deduplicated modules\n\tfor(var i in modules) {\n\t\tif(Object.prototype.hasOwnProperty.call(modules, i)) {\n\t\t\tswitch(typeof modules[i]) {\n\t\t\tcase \"function\": break;\n\t\t\tcase \"object\":\n\t\t\t\t// Module can be created from a template\n\t\t\t\tmodules[i] = (function(_m) {\n\t\t\t\t\tvar args = _m.slice(1), fn = modules[_m[0]];\n\t\t\t\t\treturn function (a,b,c) {\n\t\t\t\t\t\tfn.apply(this, [a,b,c].concat(args));\n\t\t\t\t\t};\n\t\t\t\t}(modules[i]));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Module is a copy of another module\n\t\t\t\tmodules[i] = modules[modules[i]];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn modules;\n}([])));\n\n\n/** WEBPACK FOOTER **\n ** common.js\n **/"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tvar _m = moreModules[moduleId];\n\n \t\t\t// Check if module is deduplicated\n \t\t\tswitch(typeof _m) {\n \t\t\tcase \"object\":\n \t\t\t\t// Module can be created from a template\n \t\t\t\tmodules[moduleId] = (function(_m) {\n \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n \t\t\t\t\treturn function (a,b,c) {\n \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n \t\t\t\t\t};\n \t\t\t\t}(_m));\n \t\t\t\tbreak;\n \t\t\tcase \"function\":\n \t\t\t\t// Normal module\n \t\t\t\tmodules[moduleId] = _m;\n \t\t\t\tbreak;\n \t\t\tdefault:\n \t\t\t\t// Module is a copy of another module\n \t\t\t\tmodules[moduleId] = modules[_m];\n \t\t\t\tbreak;\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n \t\twhile(callbacks.length)\n \t\t\tcallbacks.shift().call(null, __webpack_require__);\n \t\tif(moreModules[0]) {\n \t\t\tinstalledModules[0] = 0;\n \t\t\treturn __webpack_require__(0);\n \t\t}\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// \"0\" means \"already loaded\"\n \t// Array means \"loading\", array contains callbacks\n \tvar installedChunks = {\n \t\t31:0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n \t\t// \"0\" is the signal for \"already loaded\"\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn callback.call(null, __webpack_require__);\n\n \t\t// an array means \"currently loading\".\n \t\tif(installedChunks[chunkId] !== undefined) {\n \t\t\tinstalledChunks[chunkId].push(callback);\n \t\t} else {\n \t\t\t// start chunk loading\n \t\t\tinstalledChunks[chunkId] = [callback];\n \t\t\tvar head = document.getElementsByTagName('head')[0];\n \t\t\tvar script = document.createElement('script');\n \t\t\tscript.type = 'text/javascript';\n \t\t\tscript.charset = 'utf-8';\n \t\t\tscript.async = true;\n\n \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"93c3ae13b5b94753ee80\",\"1\":\"ff8196d42cab0f031d3f\",\"2\":\"614b3e73b072982fd9b1\",\"3\":\"1ca609753b5a02de0ca3\",\"4\":\"95e6a070a0eb2ed08fdd\",\"5\":\"48417db6b33328fa9d6a\",\"6\":\"f84539bd4c419b36cc19\",\"7\":\"e2106342e94ee09393b1\",\"8\":\"17d1afb591ad1495bd03\",\"9\":\"07503e7f7ec02919f696\",\"10\":\"e97ea231893dc435d6b5\",\"11\":\"7266fef2dddc1db403d9\",\"12\":\"59f035a9438e2baf5126\",\"13\":\"91b177d7d531fd55cf5d\",\"14\":\"e64890872b31c55fcdf7\",\"15\":\"92b2cef3032ea35da04a\",\"16\":\"e866757bab9f6b0a3f1b\",\"17\":\"15ecbcf8f0b2968689e8\",\"18\":\"1922fd0b2b7fad122991\",\"19\":\"619b83ac597516dcd03e\",\"20\":\"14a92e5c503f74ff40df\",\"21\":\"ccbfce6680a2b11a5284\",\"22\":\"bc79367e5f4c8ad00038\",\"23\":\"5486b3fc83b194d55191\",\"24\":\"e905e3f6ba089a34b07c\",\"25\":\"e20b4daac9fb2bdceee6\",\"26\":\"c8f33e73b9117b70aef8\",\"27\":\"6779f92692327013b446\",\"28\":\"280c392f19bc9e908abf\",\"29\":\"daadfa33135efe4e5534\",\"30\":\"b2464d08ccbeb40ec74e\",\"32\":\"1a2e06fc4fa771fb27be\",\"33\":\"70f8e7b1964892a24e67\"}[chunkId] + \".js\";\n \t\t\thead.appendChild(script);\n \t\t}\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/\";\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap e7b65707b95946bef828\n **/"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap 7ceb0f0554bc8763530d"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","parentJsonpFunction","window","chunkIds","moreModules","chunkId","i","callbacks","length","installedChunks","push","apply","_m","args","slice","templateId","a","b","c","this","concat","shift","31","e","callback","undefined","head","document","getElementsByTagName","script","createElement","type","charset","async","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","32","33","appendChild","m","Object","prototype","hasOwnProperty","fn"],"mappings":"CAAS,SAAUA,GCwDnB,QAAAC,qBAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,qBAGAI,EAAAE,QAAA,EAGAF,EAAAD,QA3EA,GAAAK,GAAAC,OAAA,YACAA,QAAA,sBAAAC,EAAAC,GAIA,IADA,GAAAV,GAAAW,EAAAC,EAAA,EAAAC,KACQD,EAAAH,EAAAK,OAAoBF,IAC5BD,EAAAF,EAAAG,GACAG,EAAAJ,IACAE,EAAAG,KAAAC,MAAAJ,EAAAE,EAAAJ,IACAI,EAAAJ,GAAA,CAEA,KAAAX,IAAAU,GAAA,CACA,GAAAQ,GAAAR,EAAAV,EAGA,cAAAkB,IACA,aAEApB,EAAAE,GAAA,SAAAkB,GACA,GAAAC,GAAAD,EAAAE,MAAA,GAAAC,EAAAH,EAAA,EACA,iBAAAI,EAAAC,EAAAC,GACA1B,EAAAuB,GAAAJ,MAAAQ,MAAAH,EAAAC,EAAAC,GAAAE,OAAAP,MAEMD,EACN,MACA,gBAEApB,EAAAE,GAAAkB,CACA,MACA,SAEApB,EAAAE,GAAAF,EAAAoB,IAKA,IADAX,KAAAE,EAAAC,GACAG,EAAAC,QACAD,EAAAc,QAAArB,KAAA,KAAAP,oBACA,IAAAW,EAAA,GAEA,MADAT,GAAA,KACAF,oBAAA,GAKA,IAAAE,MAKAc,GACAa,GAAA,EA6BA7B,qBAAA8B,EAAA,SAAAlB,EAAAmB,GAEA,OAAAf,EAAAJ,GACA,MAAAmB,GAAAxB,KAAA,KAAAP,oBAGA,IAAAgC,SAAAhB,EAAAJ,GACAI,EAAAJ,GAAAK,KAAAc,OACI,CAEJf,EAAAJ,IAAAmB,EACA,IAAAE,GAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,SACAD,GAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EAEAJ,EAAAK,IAAAzC,oBAAA0C,EAAA,UAAA9B,EAAA,KAAsE+B,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,wBAAk5B/D,GAAA,MACx9BqB,EAAA2C,YAAAxC,KAKApC,oBAAA6E,EAAA9E,EAGAC,oBAAAyB,EAAAvB,EAGAF,oBAAA0C,EAAA,YDIW,SAAS3C,GAEnB,IAAI,GAAIc,KAAKd,GACZ,GAAG+E,OAAOC,UAAUC,eAAezE,KAAKR,EAASc,GAChD,aAAcd,GAAQc,IACtB,IAAK,WAAY,KACjB,KAAK,SAEJd,EAAQc,GAAM,SAASM,GACtB,GAAIC,GAAOD,EAAGE,MAAM,GAAI4D,EAAKlF,EAAQoB,EAAG,GACxC,OAAO,UAAUI,EAAEC,EAAEC,GACpBwD,EAAG/D,MAAMQ,MAAOH,EAAEC,EAAEC,GAAGE,OAAOP,MAE9BrB,EAAQc,GACV,MACD,SAECd,EAAQc,GAAKd,EAAQA,EAAQc,IAKhC,MAAOd","file":"common.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId])\n/******/ \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tvar _m = moreModules[moduleId];\n/******/\n/******/ \t\t\t// Check if module is deduplicated\n/******/ \t\t\tswitch(typeof _m) {\n/******/ \t\t\tcase \"object\":\n/******/ \t\t\t\t// Module can be created from a template\n/******/ \t\t\t\tmodules[moduleId] = (function(_m) {\n/******/ \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n/******/ \t\t\t\t\treturn function (a,b,c) {\n/******/ \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n/******/ \t\t\t\t\t};\n/******/ \t\t\t\t}(_m));\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tcase \"function\":\n/******/ \t\t\t\t// Normal module\n/******/ \t\t\t\tmodules[moduleId] = _m;\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tdefault:\n/******/ \t\t\t\t// Module is a copy of another module\n/******/ \t\t\t\tmodules[moduleId] = modules[_m];\n/******/ \t\t\t\tbreak;\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n/******/ \t\twhile(callbacks.length)\n/******/ \t\t\tcallbacks.shift().call(null, __webpack_require__);\n/******/ \t\tif(moreModules[0]) {\n/******/ \t\t\tinstalledModules[0] = 0;\n/******/ \t\t\treturn __webpack_require__(0);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// object to store loaded and loading chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \t// Array means \"loading\", array contains callbacks\n/******/ \tvar installedChunks = {\n/******/ \t\t31:0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] === 0)\n/******/ \t\t\treturn callback.call(null, __webpack_require__);\n/******/\n/******/ \t\t// an array means \"currently loading\".\n/******/ \t\tif(installedChunks[chunkId] !== undefined) {\n/******/ \t\t\tinstalledChunks[chunkId].push(callback);\n/******/ \t\t} else {\n/******/ \t\t\t// start chunk loading\n/******/ \t\t\tinstalledChunks[chunkId] = [callback];\n/******/ \t\t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\t\tvar script = document.createElement('script');\n/******/ \t\t\tscript.type = 'text/javascript';\n/******/ \t\t\tscript.charset = 'utf-8';\n/******/ \t\t\tscript.async = true;\n/******/\n/******/ \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"93c3ae13b5b94753ee80\",\"1\":\"ff8196d42cab0f031d3f\",\"2\":\"614b3e73b072982fd9b1\",\"3\":\"1ca609753b5a02de0ca3\",\"4\":\"95e6a070a0eb2ed08fdd\",\"5\":\"cc2e7bf65ef32f9c8604\",\"6\":\"cad898a38692eda28965\",\"7\":\"e2106342e94ee09393b1\",\"8\":\"17d1afb591ad1495bd03\",\"9\":\"d5b992e9ef51921aeb57\",\"10\":\"e97ea231893dc435d6b5\",\"11\":\"ae54612e36c6d46f85db\",\"12\":\"59f035a9438e2baf5126\",\"13\":\"d8ccb992a49875966313\",\"14\":\"e64890872b31c55fcdf7\",\"15\":\"92b2cef3032ea35da04a\",\"16\":\"4565605e68bab129a471\",\"17\":\"15ecbcf8f0b2968689e8\",\"18\":\"1922fd0b2b7fad122991\",\"19\":\"f993a75d5bfe2382548d\",\"20\":\"14a92e5c503f74ff40df\",\"21\":\"ccbfce6680a2b11a5284\",\"22\":\"bc79367e5f4c8ad00038\",\"23\":\"5486b3fc83b194d55191\",\"24\":\"e905e3f6ba089a34b07c\",\"25\":\"e20b4daac9fb2bdceee6\",\"26\":\"c8f33e73b9117b70aef8\",\"27\":\"6779f92692327013b446\",\"28\":\"280c392f19bc9e908abf\",\"29\":\"daadfa33135efe4e5534\",\"30\":\"b2464d08ccbeb40ec74e\",\"32\":\"1a2e06fc4fa771fb27be\",\"33\":\"70f8e7b1964892a24e67\"}[chunkId] + \".js\";\n/******/ \t\t\thead.appendChild(script);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/static/\";\n/******/ })\n/************************************************************************/\n/******/ ((function(modules) {\n\t// Check all modules for deduplicated modules\n\tfor(var i in modules) {\n\t\tif(Object.prototype.hasOwnProperty.call(modules, i)) {\n\t\t\tswitch(typeof modules[i]) {\n\t\t\tcase \"function\": break;\n\t\t\tcase \"object\":\n\t\t\t\t// Module can be created from a template\n\t\t\t\tmodules[i] = (function(_m) {\n\t\t\t\t\tvar args = _m.slice(1), fn = modules[_m[0]];\n\t\t\t\t\treturn function (a,b,c) {\n\t\t\t\t\t\tfn.apply(this, [a,b,c].concat(args));\n\t\t\t\t\t};\n\t\t\t\t}(modules[i]));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Module is a copy of another module\n\t\t\t\tmodules[i] = modules[modules[i]];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn modules;\n}([])));\n\n\n/** WEBPACK FOOTER **\n ** common.js\n **/"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tvar _m = moreModules[moduleId];\n\n \t\t\t// Check if module is deduplicated\n \t\t\tswitch(typeof _m) {\n \t\t\tcase \"object\":\n \t\t\t\t// Module can be created from a template\n \t\t\t\tmodules[moduleId] = (function(_m) {\n \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n \t\t\t\t\treturn function (a,b,c) {\n \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n \t\t\t\t\t};\n \t\t\t\t}(_m));\n \t\t\t\tbreak;\n \t\t\tcase \"function\":\n \t\t\t\t// Normal module\n \t\t\t\tmodules[moduleId] = _m;\n \t\t\t\tbreak;\n \t\t\tdefault:\n \t\t\t\t// Module is a copy of another module\n \t\t\t\tmodules[moduleId] = modules[_m];\n \t\t\t\tbreak;\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n \t\twhile(callbacks.length)\n \t\t\tcallbacks.shift().call(null, __webpack_require__);\n \t\tif(moreModules[0]) {\n \t\t\tinstalledModules[0] = 0;\n \t\t\treturn __webpack_require__(0);\n \t\t}\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// \"0\" means \"already loaded\"\n \t// Array means \"loading\", array contains callbacks\n \tvar installedChunks = {\n \t\t31:0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n \t\t// \"0\" is the signal for \"already loaded\"\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn callback.call(null, __webpack_require__);\n\n \t\t// an array means \"currently loading\".\n \t\tif(installedChunks[chunkId] !== undefined) {\n \t\t\tinstalledChunks[chunkId].push(callback);\n \t\t} else {\n \t\t\t// start chunk loading\n \t\t\tinstalledChunks[chunkId] = [callback];\n \t\t\tvar head = document.getElementsByTagName('head')[0];\n \t\t\tvar script = document.createElement('script');\n \t\t\tscript.type = 'text/javascript';\n \t\t\tscript.charset = 'utf-8';\n \t\t\tscript.async = true;\n\n \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"93c3ae13b5b94753ee80\",\"1\":\"ff8196d42cab0f031d3f\",\"2\":\"614b3e73b072982fd9b1\",\"3\":\"1ca609753b5a02de0ca3\",\"4\":\"95e6a070a0eb2ed08fdd\",\"5\":\"cc2e7bf65ef32f9c8604\",\"6\":\"cad898a38692eda28965\",\"7\":\"e2106342e94ee09393b1\",\"8\":\"17d1afb591ad1495bd03\",\"9\":\"d5b992e9ef51921aeb57\",\"10\":\"e97ea231893dc435d6b5\",\"11\":\"ae54612e36c6d46f85db\",\"12\":\"59f035a9438e2baf5126\",\"13\":\"d8ccb992a49875966313\",\"14\":\"e64890872b31c55fcdf7\",\"15\":\"92b2cef3032ea35da04a\",\"16\":\"4565605e68bab129a471\",\"17\":\"15ecbcf8f0b2968689e8\",\"18\":\"1922fd0b2b7fad122991\",\"19\":\"f993a75d5bfe2382548d\",\"20\":\"14a92e5c503f74ff40df\",\"21\":\"ccbfce6680a2b11a5284\",\"22\":\"bc79367e5f4c8ad00038\",\"23\":\"5486b3fc83b194d55191\",\"24\":\"e905e3f6ba089a34b07c\",\"25\":\"e20b4daac9fb2bdceee6\",\"26\":\"c8f33e73b9117b70aef8\",\"27\":\"6779f92692327013b446\",\"28\":\"280c392f19bc9e908abf\",\"29\":\"daadfa33135efe4e5534\",\"30\":\"b2464d08ccbeb40ec74e\",\"32\":\"1a2e06fc4fa771fb27be\",\"33\":\"70f8e7b1964892a24e67\"}[chunkId] + \".js\";\n \t\t\thead.appendChild(script);\n \t\t}\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/\";\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 7ceb0f0554bc8763530d\n **/"],"sourceRoot":""}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from flask import url_for
|
|
3
|
+
|
|
4
|
+
from udata.core.dataset.factories import (DatasetFactory)
|
|
5
|
+
from udata.core.dataset.models import Dataset
|
|
6
|
+
from udata.core.reports.models import Report
|
|
7
|
+
from udata.core.reports.constants import REASON_ILLEGAL_CONTENT, REASON_SPAM, reports_reasons_translations
|
|
8
|
+
from udata.i18n import gettext as _
|
|
9
|
+
|
|
10
|
+
from . import APITestCase
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ReportsReasonsAPITest(APITestCase):
|
|
14
|
+
modules = []
|
|
15
|
+
|
|
16
|
+
def test_reports_reasons_api(self):
|
|
17
|
+
response = self.get(url_for('api.reports_reasons'))
|
|
18
|
+
self.assert200(response)
|
|
19
|
+
self.assertEqual(response.json, reports_reasons_translations())
|
|
20
|
+
|
|
21
|
+
class ReportsAPITest(APITestCase):
|
|
22
|
+
modules = []
|
|
23
|
+
|
|
24
|
+
def test_reports_api_create(self):
|
|
25
|
+
user = self.login()
|
|
26
|
+
illegal_dataset = DatasetFactory.create(owner=user)
|
|
27
|
+
spam_dataset = DatasetFactory.create(owner=user)
|
|
28
|
+
|
|
29
|
+
response = self.post(url_for('api.reports'), {
|
|
30
|
+
'object_type': 'Dataset',
|
|
31
|
+
'object_id': illegal_dataset.id,
|
|
32
|
+
'message': 'This is not appropriate',
|
|
33
|
+
'reason': REASON_ILLEGAL_CONTENT,
|
|
34
|
+
})
|
|
35
|
+
self.assert201(response)
|
|
36
|
+
self.assertEqual(Report.objects.count(), 1)
|
|
37
|
+
|
|
38
|
+
response = self.post(url_for('api.reports'), {
|
|
39
|
+
'object_type': 'Dataset',
|
|
40
|
+
'object_id': spam_dataset.id,
|
|
41
|
+
'message': 'This is spammy',
|
|
42
|
+
'reason': REASON_SPAM,
|
|
43
|
+
})
|
|
44
|
+
self.assert201(response)
|
|
45
|
+
self.assertEqual(Report.objects.count(), 2)
|
|
46
|
+
|
|
47
|
+
reports: List[Report] = list(Report.objects())
|
|
48
|
+
self.assertEqual(Dataset.__name__, reports[0].object_type)
|
|
49
|
+
self.assertEqual(illegal_dataset.id, reports[0].object_id)
|
|
50
|
+
self.assertEqual('This is not appropriate', reports[0].message)
|
|
51
|
+
self.assertEqual(REASON_ILLEGAL_CONTENT, reports[0].reason)
|
|
52
|
+
self.assertEqual(user.id, reports[0].by.id)
|
|
53
|
+
|
|
54
|
+
self.assertEqual(Dataset.__name__, reports[1].object_type)
|
|
55
|
+
self.assertEqual(spam_dataset.id, reports[1].object_id)
|
|
56
|
+
self.assertEqual('This is spammy', reports[1].message)
|
|
57
|
+
self.assertEqual(REASON_SPAM, reports[1].reason)
|
|
58
|
+
self.assertEqual(user.id, reports[1].by.id)
|
|
59
|
+
|
|
60
|
+
response = self.delete(url_for('api.dataset', dataset=illegal_dataset))
|
|
61
|
+
self.assert204(response)
|
|
62
|
+
|
|
63
|
+
reports[0].reload()
|
|
64
|
+
self.assertEqual(Dataset.__name__, reports[0].object_type)
|
|
65
|
+
self.assertEqual(illegal_dataset.id, reports[0].object_id)
|
|
66
|
+
self.assertEqual('This is not appropriate', reports[0].message)
|
|
67
|
+
self.assertEqual(REASON_ILLEGAL_CONTENT, reports[0].reason)
|
|
68
|
+
self.assertEqual(user.id, reports[0].by.id)
|
|
69
|
+
self.assertIsNotNone(reports[0].object_deleted_at)
|
|
70
|
+
|
|
71
|
+
reports[1].reload()
|
|
72
|
+
self.assertEqual(Dataset.__name__, reports[1].object_type)
|
|
73
|
+
self.assertEqual(spam_dataset.id, reports[1].object_id)
|
|
74
|
+
self.assertEqual('This is spammy', reports[1].message)
|
|
75
|
+
self.assertEqual(REASON_SPAM, reports[1].reason)
|
|
76
|
+
self.assertEqual(user.id, reports[1].by.id)
|
|
77
|
+
self.assertIsNone(reports[1].object_deleted_at)
|
|
78
|
+
|
|
79
|
+
# We should take action on manual delete in the database too
|
|
80
|
+
spam_dataset.delete()
|
|
81
|
+
|
|
82
|
+
reports[1].reload()
|
|
83
|
+
self.assertIsNotNone(reports[1].object_deleted_at)
|
|
84
|
+
|
|
85
|
+
response = self.get(url_for('api.reports'))
|
|
86
|
+
self.assert200(response)
|
|
87
|
+
self.assertEqual(len(response.json['data']), 2)
|
|
88
|
+
|
|
Binary file
|
|
@@ -2,8 +2,8 @@ msgid ""
|
|
|
2
2
|
msgstr ""
|
|
3
3
|
"Project-Id-Version: udata\n"
|
|
4
4
|
"Report-Msgid-Bugs-To: i18n@opendata.team\n"
|
|
5
|
-
"POT-Creation-Date: 2024-
|
|
6
|
-
"PO-Revision-Date: 2024-
|
|
5
|
+
"POT-Creation-Date: 2024-07-01 13:45+0200\n"
|
|
6
|
+
"PO-Revision-Date: 2024-07-01 14:35\n"
|
|
7
7
|
"Last-Translator: Open Data Team <i18n@opendata.team>\n"
|
|
8
8
|
"Language: ar\n"
|
|
9
9
|
"Language-Team: Arabic\n"
|
|
@@ -42,7 +42,7 @@ msgstr "تم تغيير كلمة المرور الخاصه بك"
|
|
|
42
42
|
msgid "Password reset instructions"
|
|
43
43
|
msgstr "إرشادات إعادة تعيين كلمة المرور"
|
|
44
44
|
|
|
45
|
-
#: udata/settings.py:
|
|
45
|
+
#: udata/settings.py:435
|
|
46
46
|
msgid "This dataset has been archived"
|
|
47
47
|
msgstr ""
|
|
48
48
|
|
|
@@ -50,7 +50,7 @@ msgstr ""
|
|
|
50
50
|
msgid "Invalid URL \"{url}\": {reason}"
|
|
51
51
|
msgstr ""
|
|
52
52
|
|
|
53
|
-
#: udata/uris.py:54
|
|
53
|
+
#: udata/tests/test_model.py:370 udata/uris.py:54
|
|
54
54
|
msgid "Invalid URL \"{url}\""
|
|
55
55
|
msgstr ""
|
|
56
56
|
|
|
@@ -547,7 +547,7 @@ msgstr ""
|
|
|
547
547
|
msgid "Version \"{version}\" is not an allowed value for the schema \"{name}\". Allowed versions: {values}"
|
|
548
548
|
msgstr ""
|
|
549
549
|
|
|
550
|
-
#: udata/core/dataset/models.py:401 udata/core/dataset/rdf.py:
|
|
550
|
+
#: udata/core/dataset/models.py:401 udata/core/dataset/rdf.py:436
|
|
551
551
|
#: udata/tests/dataset/test_dataset_rdf.py:517
|
|
552
552
|
#: udata/tests/dataset/test_dataset_rdf.py:530
|
|
553
553
|
msgid "Nameless resource"
|
|
@@ -565,7 +565,7 @@ msgstr "بيانات محورية"
|
|
|
565
565
|
msgid "dataset"
|
|
566
566
|
msgstr "مجموعة البيانات"
|
|
567
567
|
|
|
568
|
-
#: udata/core/dataset/rdf.py:
|
|
568
|
+
#: udata/core/dataset/rdf.py:434 udata/tests/dataset/test_dataset_rdf.py:504
|
|
569
569
|
msgid "{format} resource"
|
|
570
570
|
msgstr ""
|
|
571
571
|
|
|
@@ -797,6 +797,30 @@ msgstr ""
|
|
|
797
797
|
msgid "post"
|
|
798
798
|
msgstr ""
|
|
799
799
|
|
|
800
|
+
#: udata/core/reports/constants.py:19
|
|
801
|
+
msgid "Spam"
|
|
802
|
+
msgstr ""
|
|
803
|
+
|
|
804
|
+
#: udata/core/reports/constants.py:20
|
|
805
|
+
msgid "Personal data"
|
|
806
|
+
msgstr ""
|
|
807
|
+
|
|
808
|
+
#: udata/core/reports/constants.py:21
|
|
809
|
+
msgid "Explicit content"
|
|
810
|
+
msgstr ""
|
|
811
|
+
|
|
812
|
+
#: udata/core/reports/constants.py:22
|
|
813
|
+
msgid "Illegal content"
|
|
814
|
+
msgstr ""
|
|
815
|
+
|
|
816
|
+
#: udata/core/reports/constants.py:23
|
|
817
|
+
msgid "Security"
|
|
818
|
+
msgstr ""
|
|
819
|
+
|
|
820
|
+
#: udata/core/reports/constants.py:24 udata/core/reuse/constants.py:29
|
|
821
|
+
msgid "Others"
|
|
822
|
+
msgstr ""
|
|
823
|
+
|
|
800
824
|
#: udata/core/reuse/activities.py:22
|
|
801
825
|
msgid "created a reuse"
|
|
802
826
|
msgstr "قام بإنشاء استخدام"
|
|
@@ -893,10 +917,6 @@ msgstr ""
|
|
|
893
917
|
msgid "Open data tools"
|
|
894
918
|
msgstr ""
|
|
895
919
|
|
|
896
|
-
#: udata/core/reuse/constants.py:29
|
|
897
|
-
msgid "Others"
|
|
898
|
-
msgstr ""
|
|
899
|
-
|
|
900
920
|
#: udata/core/reuse/forms.py:14
|
|
901
921
|
msgid "This URL is already registered"
|
|
902
922
|
msgstr "هذا العنوان الإلكتروني مسجل من قبل"
|
|
@@ -1573,8 +1593,8 @@ msgid "Here"
|
|
|
1573
1593
|
msgstr ""
|
|
1574
1594
|
|
|
1575
1595
|
#: udata/tests/api/test_datasets_api.py:764
|
|
1576
|
-
msgid "Invalid URL"
|
|
1577
|
-
msgstr "
|
|
1596
|
+
msgid "Invalid URL \"test\""
|
|
1597
|
+
msgstr ""
|
|
1578
1598
|
|
|
1579
1599
|
#: udata/tests/forms/test_model_field.py:155
|
|
1580
1600
|
msgid "Expect a \"Target\" class but \"Wrong\" was found"
|
|
Binary file
|
|
@@ -2,8 +2,8 @@ msgid ""
|
|
|
2
2
|
msgstr ""
|
|
3
3
|
"Project-Id-Version: udata\n"
|
|
4
4
|
"Report-Msgid-Bugs-To: i18n@opendata.team\n"
|
|
5
|
-
"POT-Creation-Date: 2024-
|
|
6
|
-
"PO-Revision-Date: 2024-
|
|
5
|
+
"POT-Creation-Date: 2024-07-01 13:45+0200\n"
|
|
6
|
+
"PO-Revision-Date: 2024-07-01 14:36\n"
|
|
7
7
|
"Last-Translator: Open Data Team <i18n@opendata.team>\n"
|
|
8
8
|
"Language: de\n"
|
|
9
9
|
"Language-Team: German\n"
|
|
@@ -42,7 +42,7 @@ msgstr "Das Passwort wurde geändert"
|
|
|
42
42
|
msgid "Password reset instructions"
|
|
43
43
|
msgstr "Anleitung zum Zurücksetzen des Passworts"
|
|
44
44
|
|
|
45
|
-
#: udata/settings.py:
|
|
45
|
+
#: udata/settings.py:435
|
|
46
46
|
msgid "This dataset has been archived"
|
|
47
47
|
msgstr "Dieser Datensatz wurde archiviert"
|
|
48
48
|
|
|
@@ -50,7 +50,7 @@ msgstr "Dieser Datensatz wurde archiviert"
|
|
|
50
50
|
msgid "Invalid URL \"{url}\": {reason}"
|
|
51
51
|
msgstr ""
|
|
52
52
|
|
|
53
|
-
#: udata/uris.py:54
|
|
53
|
+
#: udata/tests/test_model.py:370 udata/uris.py:54
|
|
54
54
|
msgid "Invalid URL \"{url}\""
|
|
55
55
|
msgstr ""
|
|
56
56
|
|
|
@@ -547,7 +547,7 @@ msgstr ""
|
|
|
547
547
|
msgid "Version \"{version}\" is not an allowed value for the schema \"{name}\". Allowed versions: {values}"
|
|
548
548
|
msgstr ""
|
|
549
549
|
|
|
550
|
-
#: udata/core/dataset/models.py:401 udata/core/dataset/rdf.py:
|
|
550
|
+
#: udata/core/dataset/models.py:401 udata/core/dataset/rdf.py:436
|
|
551
551
|
#: udata/tests/dataset/test_dataset_rdf.py:517
|
|
552
552
|
#: udata/tests/dataset/test_dataset_rdf.py:530
|
|
553
553
|
msgid "Nameless resource"
|
|
@@ -565,7 +565,7 @@ msgstr ""
|
|
|
565
565
|
msgid "dataset"
|
|
566
566
|
msgstr "Datensatz"
|
|
567
567
|
|
|
568
|
-
#: udata/core/dataset/rdf.py:
|
|
568
|
+
#: udata/core/dataset/rdf.py:434 udata/tests/dataset/test_dataset_rdf.py:504
|
|
569
569
|
msgid "{format} resource"
|
|
570
570
|
msgstr ""
|
|
571
571
|
|
|
@@ -797,6 +797,30 @@ msgstr ""
|
|
|
797
797
|
msgid "post"
|
|
798
798
|
msgstr ""
|
|
799
799
|
|
|
800
|
+
#: udata/core/reports/constants.py:19
|
|
801
|
+
msgid "Spam"
|
|
802
|
+
msgstr ""
|
|
803
|
+
|
|
804
|
+
#: udata/core/reports/constants.py:20
|
|
805
|
+
msgid "Personal data"
|
|
806
|
+
msgstr ""
|
|
807
|
+
|
|
808
|
+
#: udata/core/reports/constants.py:21
|
|
809
|
+
msgid "Explicit content"
|
|
810
|
+
msgstr ""
|
|
811
|
+
|
|
812
|
+
#: udata/core/reports/constants.py:22
|
|
813
|
+
msgid "Illegal content"
|
|
814
|
+
msgstr ""
|
|
815
|
+
|
|
816
|
+
#: udata/core/reports/constants.py:23
|
|
817
|
+
msgid "Security"
|
|
818
|
+
msgstr ""
|
|
819
|
+
|
|
820
|
+
#: udata/core/reports/constants.py:24 udata/core/reuse/constants.py:29
|
|
821
|
+
msgid "Others"
|
|
822
|
+
msgstr ""
|
|
823
|
+
|
|
800
824
|
#: udata/core/reuse/activities.py:22
|
|
801
825
|
msgid "created a reuse"
|
|
802
826
|
msgstr "Wiederverwendung angelegt"
|
|
@@ -893,10 +917,6 @@ msgstr "Recht und Justiz"
|
|
|
893
917
|
msgid "Open data tools"
|
|
894
918
|
msgstr "Open Data-Werkzeuge"
|
|
895
919
|
|
|
896
|
-
#: udata/core/reuse/constants.py:29
|
|
897
|
-
msgid "Others"
|
|
898
|
-
msgstr ""
|
|
899
|
-
|
|
900
920
|
#: udata/core/reuse/forms.py:14
|
|
901
921
|
msgid "This URL is already registered"
|
|
902
922
|
msgstr "Diese URL ist bereits registriert"
|
|
@@ -1573,8 +1593,8 @@ msgid "Here"
|
|
|
1573
1593
|
msgstr ""
|
|
1574
1594
|
|
|
1575
1595
|
#: udata/tests/api/test_datasets_api.py:764
|
|
1576
|
-
msgid "Invalid URL"
|
|
1577
|
-
msgstr "
|
|
1596
|
+
msgid "Invalid URL \"test\""
|
|
1597
|
+
msgstr ""
|
|
1578
1598
|
|
|
1579
1599
|
#: udata/tests/forms/test_model_field.py:155
|
|
1580
1600
|
msgid "Expect a \"Target\" class but \"Wrong\" was found"
|
|
Binary file
|
|
@@ -2,8 +2,8 @@ msgid ""
|
|
|
2
2
|
msgstr ""
|
|
3
3
|
"Project-Id-Version: udata\n"
|
|
4
4
|
"Report-Msgid-Bugs-To: i18n@opendata.team\n"
|
|
5
|
-
"POT-Creation-Date: 2024-
|
|
6
|
-
"PO-Revision-Date: 2024-
|
|
5
|
+
"POT-Creation-Date: 2024-07-01 13:45+0200\n"
|
|
6
|
+
"PO-Revision-Date: 2024-07-01 14:35\n"
|
|
7
7
|
"Last-Translator: Open Data Team <i18n@opendata.team>\n"
|
|
8
8
|
"Language: es\n"
|
|
9
9
|
"Language-Team: Spanish\n"
|
|
@@ -42,7 +42,7 @@ msgstr ""
|
|
|
42
42
|
msgid "Password reset instructions"
|
|
43
43
|
msgstr ""
|
|
44
44
|
|
|
45
|
-
#: udata/settings.py:
|
|
45
|
+
#: udata/settings.py:435
|
|
46
46
|
msgid "This dataset has been archived"
|
|
47
47
|
msgstr ""
|
|
48
48
|
|
|
@@ -50,7 +50,7 @@ msgstr ""
|
|
|
50
50
|
msgid "Invalid URL \"{url}\": {reason}"
|
|
51
51
|
msgstr ""
|
|
52
52
|
|
|
53
|
-
#: udata/uris.py:54
|
|
53
|
+
#: udata/tests/test_model.py:370 udata/uris.py:54
|
|
54
54
|
msgid "Invalid URL \"{url}\""
|
|
55
55
|
msgstr ""
|
|
56
56
|
|
|
@@ -547,7 +547,7 @@ msgstr ""
|
|
|
547
547
|
msgid "Version \"{version}\" is not an allowed value for the schema \"{name}\". Allowed versions: {values}"
|
|
548
548
|
msgstr ""
|
|
549
549
|
|
|
550
|
-
#: udata/core/dataset/models.py:401 udata/core/dataset/rdf.py:
|
|
550
|
+
#: udata/core/dataset/models.py:401 udata/core/dataset/rdf.py:436
|
|
551
551
|
#: udata/tests/dataset/test_dataset_rdf.py:517
|
|
552
552
|
#: udata/tests/dataset/test_dataset_rdf.py:530
|
|
553
553
|
msgid "Nameless resource"
|
|
@@ -565,7 +565,7 @@ msgstr "Datos centrales"
|
|
|
565
565
|
msgid "dataset"
|
|
566
566
|
msgstr "conjunto de datos"
|
|
567
567
|
|
|
568
|
-
#: udata/core/dataset/rdf.py:
|
|
568
|
+
#: udata/core/dataset/rdf.py:434 udata/tests/dataset/test_dataset_rdf.py:504
|
|
569
569
|
msgid "{format} resource"
|
|
570
570
|
msgstr ""
|
|
571
571
|
|
|
@@ -797,6 +797,30 @@ msgstr ""
|
|
|
797
797
|
msgid "post"
|
|
798
798
|
msgstr ""
|
|
799
799
|
|
|
800
|
+
#: udata/core/reports/constants.py:19
|
|
801
|
+
msgid "Spam"
|
|
802
|
+
msgstr ""
|
|
803
|
+
|
|
804
|
+
#: udata/core/reports/constants.py:20
|
|
805
|
+
msgid "Personal data"
|
|
806
|
+
msgstr ""
|
|
807
|
+
|
|
808
|
+
#: udata/core/reports/constants.py:21
|
|
809
|
+
msgid "Explicit content"
|
|
810
|
+
msgstr ""
|
|
811
|
+
|
|
812
|
+
#: udata/core/reports/constants.py:22
|
|
813
|
+
msgid "Illegal content"
|
|
814
|
+
msgstr ""
|
|
815
|
+
|
|
816
|
+
#: udata/core/reports/constants.py:23
|
|
817
|
+
msgid "Security"
|
|
818
|
+
msgstr ""
|
|
819
|
+
|
|
820
|
+
#: udata/core/reports/constants.py:24 udata/core/reuse/constants.py:29
|
|
821
|
+
msgid "Others"
|
|
822
|
+
msgstr ""
|
|
823
|
+
|
|
800
824
|
#: udata/core/reuse/activities.py:22
|
|
801
825
|
msgid "created a reuse"
|
|
802
826
|
msgstr "ha creado una reutilización"
|
|
@@ -893,10 +917,6 @@ msgstr ""
|
|
|
893
917
|
msgid "Open data tools"
|
|
894
918
|
msgstr ""
|
|
895
919
|
|
|
896
|
-
#: udata/core/reuse/constants.py:29
|
|
897
|
-
msgid "Others"
|
|
898
|
-
msgstr ""
|
|
899
|
-
|
|
900
920
|
#: udata/core/reuse/forms.py:14
|
|
901
921
|
msgid "This URL is already registered"
|
|
902
922
|
msgstr "Esta URL ya está registrada"
|
|
@@ -1573,7 +1593,7 @@ msgid "Here"
|
|
|
1573
1593
|
msgstr ""
|
|
1574
1594
|
|
|
1575
1595
|
#: udata/tests/api/test_datasets_api.py:764
|
|
1576
|
-
msgid "Invalid URL"
|
|
1596
|
+
msgid "Invalid URL \"test\""
|
|
1577
1597
|
msgstr ""
|
|
1578
1598
|
|
|
1579
1599
|
#: udata/tests/forms/test_model_field.py:155
|
|
Binary file
|
|
@@ -2,8 +2,8 @@ msgid ""
|
|
|
2
2
|
msgstr ""
|
|
3
3
|
"Project-Id-Version: udata\n"
|
|
4
4
|
"Report-Msgid-Bugs-To: i18n@opendata.team\n"
|
|
5
|
-
"POT-Creation-Date: 2024-
|
|
6
|
-
"PO-Revision-Date: 2024-
|
|
5
|
+
"POT-Creation-Date: 2024-07-01 13:45+0200\n"
|
|
6
|
+
"PO-Revision-Date: 2024-07-01 14:35\n"
|
|
7
7
|
"Last-Translator: Open Data Team <i18n@opendata.team>\n"
|
|
8
8
|
"Language: fr\n"
|
|
9
9
|
"Language-Team: French\n"
|
|
@@ -42,7 +42,7 @@ msgstr "Votre mot de passe a été modifié"
|
|
|
42
42
|
msgid "Password reset instructions"
|
|
43
43
|
msgstr "Instructions de réinitialisation du mot de passe"
|
|
44
44
|
|
|
45
|
-
#: udata/settings.py:
|
|
45
|
+
#: udata/settings.py:435
|
|
46
46
|
msgid "This dataset has been archived"
|
|
47
47
|
msgstr "Ce jeu de données a été archivé"
|
|
48
48
|
|
|
@@ -50,7 +50,7 @@ msgstr "Ce jeu de données a été archivé"
|
|
|
50
50
|
msgid "Invalid URL \"{url}\": {reason}"
|
|
51
51
|
msgstr ""
|
|
52
52
|
|
|
53
|
-
#: udata/uris.py:54
|
|
53
|
+
#: udata/tests/test_model.py:370 udata/uris.py:54
|
|
54
54
|
msgid "Invalid URL \"{url}\""
|
|
55
55
|
msgstr ""
|
|
56
56
|
|
|
@@ -547,7 +547,7 @@ msgstr "Le nom du schéma \"{schema}\" n'est pas une valeur autorisée. Valeurs
|
|
|
547
547
|
msgid "Version \"{version}\" is not an allowed value for the schema \"{name}\". Allowed versions: {values}"
|
|
548
548
|
msgstr "La version \"{version}\" n'est pas une valeur autorisée pour le schéma \"{name}\". Versions autorisées : {values}"
|
|
549
549
|
|
|
550
|
-
#: udata/core/dataset/models.py:401 udata/core/dataset/rdf.py:
|
|
550
|
+
#: udata/core/dataset/models.py:401 udata/core/dataset/rdf.py:436
|
|
551
551
|
#: udata/tests/dataset/test_dataset_rdf.py:517
|
|
552
552
|
#: udata/tests/dataset/test_dataset_rdf.py:530
|
|
553
553
|
msgid "Nameless resource"
|
|
@@ -565,7 +565,7 @@ msgstr "Données pivot"
|
|
|
565
565
|
msgid "dataset"
|
|
566
566
|
msgstr "jeu de données"
|
|
567
567
|
|
|
568
|
-
#: udata/core/dataset/rdf.py:
|
|
568
|
+
#: udata/core/dataset/rdf.py:434 udata/tests/dataset/test_dataset_rdf.py:504
|
|
569
569
|
msgid "{format} resource"
|
|
570
570
|
msgstr "Ressource {format}"
|
|
571
571
|
|
|
@@ -797,6 +797,30 @@ msgstr "Spécifiez votre type de contenu (HTML ou markdown)"
|
|
|
797
797
|
msgid "post"
|
|
798
798
|
msgstr "article"
|
|
799
799
|
|
|
800
|
+
#: udata/core/reports/constants.py:19
|
|
801
|
+
msgid "Spam"
|
|
802
|
+
msgstr ""
|
|
803
|
+
|
|
804
|
+
#: udata/core/reports/constants.py:20
|
|
805
|
+
msgid "Personal data"
|
|
806
|
+
msgstr ""
|
|
807
|
+
|
|
808
|
+
#: udata/core/reports/constants.py:21
|
|
809
|
+
msgid "Explicit content"
|
|
810
|
+
msgstr ""
|
|
811
|
+
|
|
812
|
+
#: udata/core/reports/constants.py:22
|
|
813
|
+
msgid "Illegal content"
|
|
814
|
+
msgstr ""
|
|
815
|
+
|
|
816
|
+
#: udata/core/reports/constants.py:23
|
|
817
|
+
msgid "Security"
|
|
818
|
+
msgstr ""
|
|
819
|
+
|
|
820
|
+
#: udata/core/reports/constants.py:24 udata/core/reuse/constants.py:29
|
|
821
|
+
msgid "Others"
|
|
822
|
+
msgstr "Autres"
|
|
823
|
+
|
|
800
824
|
#: udata/core/reuse/activities.py:22
|
|
801
825
|
msgid "created a reuse"
|
|
802
826
|
msgstr "a créé une réutilisation"
|
|
@@ -893,10 +917,6 @@ msgstr "Droit et justice"
|
|
|
893
917
|
msgid "Open data tools"
|
|
894
918
|
msgstr "Outils open data"
|
|
895
919
|
|
|
896
|
-
#: udata/core/reuse/constants.py:29
|
|
897
|
-
msgid "Others"
|
|
898
|
-
msgstr "Autres"
|
|
899
|
-
|
|
900
920
|
#: udata/core/reuse/forms.py:14
|
|
901
921
|
msgid "This URL is already registered"
|
|
902
922
|
msgstr "Cette URL est déjà enregistrée"
|
|
@@ -1576,8 +1596,8 @@ msgid "Here"
|
|
|
1576
1596
|
msgstr "Ici"
|
|
1577
1597
|
|
|
1578
1598
|
#: udata/tests/api/test_datasets_api.py:764
|
|
1579
|
-
msgid "Invalid URL"
|
|
1580
|
-
msgstr "
|
|
1599
|
+
msgid "Invalid URL \"test\""
|
|
1600
|
+
msgstr ""
|
|
1581
1601
|
|
|
1582
1602
|
#: udata/tests/forms/test_model_field.py:155
|
|
1583
1603
|
msgid "Expect a \"Target\" class but \"Wrong\" was found"
|
|
Binary file
|