udata 9.2.2__py2.py3-none-any.whl → 9.2.2.dev31569__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.

Files changed (48) hide show
  1. udata/__init__.py +1 -1
  2. udata/core/contact_point/api.py +1 -6
  3. udata/core/contact_point/forms.py +1 -4
  4. udata/core/contact_point/models.py +1 -10
  5. udata/core/dataservices/models.py +4 -1
  6. udata/core/dataset/csv.py +16 -4
  7. udata/core/discussions/api.py +1 -24
  8. udata/static/chunks/{11.16618d9eedd3f6a7a3c2.js → 11.18f1cc16362b76373c40.js} +3 -3
  9. udata/static/chunks/{11.16618d9eedd3f6a7a3c2.js.map → 11.18f1cc16362b76373c40.js.map} +1 -1
  10. udata/static/chunks/{13.7c17956e2fcfafcab22f.js → 13.066b4d36814efa6c485f.js} +2 -2
  11. udata/static/chunks/{13.7c17956e2fcfafcab22f.js.map → 13.066b4d36814efa6c485f.js.map} +1 -1
  12. udata/static/chunks/{16.b4cda3ca8dc053495fbd.js → 16.cddb601c07a2df6564b2.js} +2 -2
  13. udata/static/chunks/{16.b4cda3ca8dc053495fbd.js.map → 16.cddb601c07a2df6564b2.js.map} +1 -1
  14. udata/static/chunks/{19.f1ff6cd5816f2d9debc4.js → 19.2061dca8438f415029a3.js} +3 -3
  15. udata/static/chunks/{19.f1ff6cd5816f2d9debc4.js.map → 19.2061dca8438f415029a3.js.map} +1 -1
  16. udata/static/chunks/{5.ba3e2202db0e1d78cebf.js → 5.4e4ddeee32090f1f2af6.js} +3 -3
  17. udata/static/chunks/{5.ba3e2202db0e1d78cebf.js.map → 5.4e4ddeee32090f1f2af6.js.map} +1 -1
  18. udata/static/chunks/{6.2938efcf4f38dfccab9e.js → 6.41b17f3ca439d5ec2b1e.js} +3 -3
  19. udata/static/chunks/{6.2938efcf4f38dfccab9e.js.map → 6.41b17f3ca439d5ec2b1e.js.map} +1 -1
  20. udata/static/chunks/{8.b50a30118e9e2e1ab436.js → 8.292c6a157d71f0b21b6f.js} +2 -2
  21. udata/static/chunks/{8.b50a30118e9e2e1ab436.js.map → 8.292c6a157d71f0b21b6f.js.map} +1 -1
  22. udata/static/common.js +1 -1
  23. udata/static/common.js.map +1 -1
  24. udata/tests/api/test_contact_points.py +1 -40
  25. udata/tests/dataset/test_csv_adapter.py +2 -9
  26. udata/tests/test_discussions.py +0 -61
  27. udata/translations/ar/LC_MESSAGES/udata.mo +0 -0
  28. udata/translations/ar/LC_MESSAGES/udata.po +92 -88
  29. udata/translations/de/LC_MESSAGES/udata.mo +0 -0
  30. udata/translations/de/LC_MESSAGES/udata.po +92 -88
  31. udata/translations/es/LC_MESSAGES/udata.mo +0 -0
  32. udata/translations/es/LC_MESSAGES/udata.po +92 -88
  33. udata/translations/fr/LC_MESSAGES/udata.mo +0 -0
  34. udata/translations/fr/LC_MESSAGES/udata.po +92 -88
  35. udata/translations/it/LC_MESSAGES/udata.mo +0 -0
  36. udata/translations/it/LC_MESSAGES/udata.po +92 -88
  37. udata/translations/pt/LC_MESSAGES/udata.mo +0 -0
  38. udata/translations/pt/LC_MESSAGES/udata.po +92 -88
  39. udata/translations/sr/LC_MESSAGES/udata.mo +0 -0
  40. udata/translations/sr/LC_MESSAGES/udata.po +92 -88
  41. udata/translations/udata.pot +93 -89
  42. {udata-9.2.2.dist-info → udata-9.2.2.dev31569.dist-info}/METADATA +3 -7
  43. {udata-9.2.2.dist-info → udata-9.2.2.dev31569.dist-info}/RECORD +47 -48
  44. udata/core/discussions/csv.py +0 -22
  45. {udata-9.2.2.dist-info → udata-9.2.2.dev31569.dist-info}/LICENSE +0 -0
  46. {udata-9.2.2.dist-info → udata-9.2.2.dev31569.dist-info}/WHEEL +0 -0
  47. {udata-9.2.2.dist-info → udata-9.2.2.dev31569.dist-info}/entry_points.txt +0 -0
  48. {udata-9.2.2.dist-info → udata-9.2.2.dev31569.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(r,b){for(var t,d,_=0,n=[];_<r.length;_++)d=r[_],f[d]&&n.push.apply(n,f[d]),f[d]=0;for(t in b){var i=b[t];switch(typeof i){case"object":e[t]=function(a){var c=a.slice(1),f=a[0];return function(a,r,b){e[f].apply(this,[a,r,b].concat(c))}}(i);break;case"function":e[t]=i;break;default:e[t]=e[i]}}for(a&&a(r,b);n.length;)n.shift().call(null,__webpack_require__);if(b[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],r=document.createElement("script");r.type="text/javascript",r.charset="utf-8",r.async=!0,r.src=__webpack_require__.p+"chunks/"+e+"."+{0:"285786eca84d7b7471ac",1:"765e28a442160395e71a",2:"f6372652ce6895fe1fad",3:"31f4515503a814e0e3a3",4:"ef9b48820b09477986b5",5:"ba3e2202db0e1d78cebf",6:"2938efcf4f38dfccab9e",7:"b2e2b3f88a04f6b296dd",8:"b50a30118e9e2e1ab436",9:"8ad948dd393d38f07a7a",10:"c1c9496ebfc8949f3de2",11:"16618d9eedd3f6a7a3c2",12:"f6b6e770dfe4a5949444",13:"7c17956e2fcfafcab22f",14:"72a6fc22c9b0cc8bcd14",15:"7de380008f4ec6ea4b5b",16:"b4cda3ca8dc053495fbd",17:"26a29ec18e773c2be9b2",18:"b7098bfe5401f75973fa",19:"f1ff6cd5816f2d9debc4",20:"17e9e766625991aa0a7b",21:"2b48c7e5fe59775d5eb3",22:"2a919b7f6014457264e8",23:"18bb4231e440e17f29a2",24:"bb29ce250a1b77491420",25:"6cb865e768a122d52b4d",26:"2bd61452982a0d4de0a3",27:"1872ae081edb64216589",28:"1e240391cc0358805408",29:"556152a9334761b0d972",30:"a2eb870c6d29644ed9b5",32:"92a026dcad120ccdf15f",33:"6636c1fd8aec6fc072b8"}[e]+".js",c.appendChild(r)}},__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,r){f.apply(this,[e,a,r].concat(c))}}(e[a]);break;default:e[a]=e[e[a]]}return e}([]));
1
+ !function(e){function __webpack_require__(a){if(c[a])return c[a].exports;var r=c[a]={exports:{},id:a,loaded:!1};return e[a].call(r.exports,r,r.exports,__webpack_require__),r.loaded=!0,r.exports}var a=window.webpackJsonp;window.webpackJsonp=function(b,f){for(var t,d,_=0,n=[];_<b.length;_++)d=b[_],r[d]&&n.push.apply(n,r[d]),r[d]=0;for(t in f){var i=f[t];switch(typeof i){case"object":e[t]=function(a){var c=a.slice(1),r=a[0];return function(a,b,f){e[r].apply(this,[a,b,f].concat(c))}}(i);break;case"function":e[t]=i;break;default:e[t]=e[i]}}for(a&&a(b,f);n.length;)n.shift().call(null,__webpack_require__);if(f[0])return c[0]=0,__webpack_require__(0)};var c={},r={31:0};__webpack_require__.e=function(e,a){if(0===r[e])return a.call(null,__webpack_require__);if(void 0!==r[e])r[e].push(a);else{r[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:"285786eca84d7b7471ac",1:"765e28a442160395e71a",2:"f6372652ce6895fe1fad",3:"31f4515503a814e0e3a3",4:"ef9b48820b09477986b5",5:"4e4ddeee32090f1f2af6",6:"41b17f3ca439d5ec2b1e",7:"b2e2b3f88a04f6b296dd",8:"292c6a157d71f0b21b6f",9:"8ad948dd393d38f07a7a",10:"c1c9496ebfc8949f3de2",11:"18f1cc16362b76373c40",12:"f6b6e770dfe4a5949444",13:"066b4d36814efa6c485f",14:"72a6fc22c9b0cc8bcd14",15:"7de380008f4ec6ea4b5b",16:"cddb601c07a2df6564b2",17:"26a29ec18e773c2be9b2",18:"b7098bfe5401f75973fa",19:"2061dca8438f415029a3",20:"17e9e766625991aa0a7b",21:"2b48c7e5fe59775d5eb3",22:"2a919b7f6014457264e8",23:"18bb4231e440e17f29a2",24:"bb29ce250a1b77491420",25:"6cb865e768a122d52b4d",26:"2bd61452982a0d4de0a3",27:"1872ae081edb64216589",28:"1e240391cc0358805408",29:"556152a9334761b0d972",30:"a2eb870c6d29644ed9b5",32:"92a026dcad120ccdf15f",33:"6636c1fd8aec6fc072b8"}[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),r=e[a[0]];return function(e,a,b){r.apply(this,[e,a,b].concat(c))}}(e[a]);break;default:e[a]=e[e[a]]}return e}([]));
2
2
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap ba7c50be81f4b4a321b8"],"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\":\"285786eca84d7b7471ac\",\"1\":\"765e28a442160395e71a\",\"2\":\"f6372652ce6895fe1fad\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"ef9b48820b09477986b5\",\"5\":\"ba3e2202db0e1d78cebf\",\"6\":\"2938efcf4f38dfccab9e\",\"7\":\"b2e2b3f88a04f6b296dd\",\"8\":\"b50a30118e9e2e1ab436\",\"9\":\"8ad948dd393d38f07a7a\",\"10\":\"c1c9496ebfc8949f3de2\",\"11\":\"16618d9eedd3f6a7a3c2\",\"12\":\"f6b6e770dfe4a5949444\",\"13\":\"7c17956e2fcfafcab22f\",\"14\":\"72a6fc22c9b0cc8bcd14\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"b4cda3ca8dc053495fbd\",\"17\":\"26a29ec18e773c2be9b2\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"f1ff6cd5816f2d9debc4\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"18bb4231e440e17f29a2\",\"24\":\"bb29ce250a1b77491420\",\"25\":\"6cb865e768a122d52b4d\",\"26\":\"2bd61452982a0d4de0a3\",\"27\":\"1872ae081edb64216589\",\"28\":\"1e240391cc0358805408\",\"29\":\"556152a9334761b0d972\",\"30\":\"a2eb870c6d29644ed9b5\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"6636c1fd8aec6fc072b8\"}[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\":\"285786eca84d7b7471ac\",\"1\":\"765e28a442160395e71a\",\"2\":\"f6372652ce6895fe1fad\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"ef9b48820b09477986b5\",\"5\":\"ba3e2202db0e1d78cebf\",\"6\":\"2938efcf4f38dfccab9e\",\"7\":\"b2e2b3f88a04f6b296dd\",\"8\":\"b50a30118e9e2e1ab436\",\"9\":\"8ad948dd393d38f07a7a\",\"10\":\"c1c9496ebfc8949f3de2\",\"11\":\"16618d9eedd3f6a7a3c2\",\"12\":\"f6b6e770dfe4a5949444\",\"13\":\"7c17956e2fcfafcab22f\",\"14\":\"72a6fc22c9b0cc8bcd14\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"b4cda3ca8dc053495fbd\",\"17\":\"26a29ec18e773c2be9b2\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"f1ff6cd5816f2d9debc4\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"18bb4231e440e17f29a2\",\"24\":\"bb29ce250a1b77491420\",\"25\":\"6cb865e768a122d52b4d\",\"26\":\"2bd61452982a0d4de0a3\",\"27\":\"1872ae081edb64216589\",\"28\":\"1e240391cc0358805408\",\"29\":\"556152a9334761b0d972\",\"30\":\"a2eb870c6d29644ed9b5\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"6636c1fd8aec6fc072b8\"}[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 ba7c50be81f4b4a321b8\n **/"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap f1a1880f61aa4ce771e2"],"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\":\"285786eca84d7b7471ac\",\"1\":\"765e28a442160395e71a\",\"2\":\"f6372652ce6895fe1fad\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"ef9b48820b09477986b5\",\"5\":\"4e4ddeee32090f1f2af6\",\"6\":\"41b17f3ca439d5ec2b1e\",\"7\":\"b2e2b3f88a04f6b296dd\",\"8\":\"292c6a157d71f0b21b6f\",\"9\":\"8ad948dd393d38f07a7a\",\"10\":\"c1c9496ebfc8949f3de2\",\"11\":\"18f1cc16362b76373c40\",\"12\":\"f6b6e770dfe4a5949444\",\"13\":\"066b4d36814efa6c485f\",\"14\":\"72a6fc22c9b0cc8bcd14\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"cddb601c07a2df6564b2\",\"17\":\"26a29ec18e773c2be9b2\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"2061dca8438f415029a3\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"18bb4231e440e17f29a2\",\"24\":\"bb29ce250a1b77491420\",\"25\":\"6cb865e768a122d52b4d\",\"26\":\"2bd61452982a0d4de0a3\",\"27\":\"1872ae081edb64216589\",\"28\":\"1e240391cc0358805408\",\"29\":\"556152a9334761b0d972\",\"30\":\"a2eb870c6d29644ed9b5\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"6636c1fd8aec6fc072b8\"}[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\":\"285786eca84d7b7471ac\",\"1\":\"765e28a442160395e71a\",\"2\":\"f6372652ce6895fe1fad\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"ef9b48820b09477986b5\",\"5\":\"4e4ddeee32090f1f2af6\",\"6\":\"41b17f3ca439d5ec2b1e\",\"7\":\"b2e2b3f88a04f6b296dd\",\"8\":\"292c6a157d71f0b21b6f\",\"9\":\"8ad948dd393d38f07a7a\",\"10\":\"c1c9496ebfc8949f3de2\",\"11\":\"18f1cc16362b76373c40\",\"12\":\"f6b6e770dfe4a5949444\",\"13\":\"066b4d36814efa6c485f\",\"14\":\"72a6fc22c9b0cc8bcd14\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"cddb601c07a2df6564b2\",\"17\":\"26a29ec18e773c2be9b2\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"2061dca8438f415029a3\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"18bb4231e440e17f29a2\",\"24\":\"bb29ce250a1b77491420\",\"25\":\"6cb865e768a122d52b4d\",\"26\":\"2bd61452982a0d4de0a3\",\"27\":\"1872ae081edb64216589\",\"28\":\"1e240391cc0358805408\",\"29\":\"556152a9334761b0d972\",\"30\":\"a2eb870c6d29644ed9b5\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"6636c1fd8aec6fc072b8\"}[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 f1a1880f61aa4ce771e2\n **/"],"sourceRoot":""}
@@ -2,10 +2,8 @@ import pytest
2
2
  from flask import url_for
3
3
 
4
4
  from udata.core.contact_point.factories import ContactPointFactory
5
- from udata.i18n import gettext as _
6
5
  from udata.models import ContactPoint
7
- from udata.tests.helpers import assert200, assert201, assert204, assert400
8
- from udata.utils import faker
6
+ from udata.tests.helpers import assert200, assert204
9
7
 
10
8
  pytestmark = [
11
9
  pytest.mark.usefixtures("clean_db"),
@@ -15,43 +13,6 @@ pytestmark = [
15
13
  class ContactPointAPITest:
16
14
  modules = []
17
15
 
18
- def test_contact_point_api_create(self, api):
19
- api.login()
20
- data = {"name": faker.word(), "email": faker.email(), "contact_form": faker.url()}
21
- response = api.post(url_for("api.contact_points"), data=data)
22
- assert201(response)
23
- assert ContactPoint.objects.count() == 1
24
-
25
- def test_contact_point_api_create_email_or_contact_form(self, api):
26
- api.login()
27
- data = {"name": faker.word(), "contact_form": faker.url()}
28
- response = api.post(url_for("api.contact_points"), data=data)
29
- assert201(response)
30
- assert ContactPoint.objects.count() == 1
31
-
32
- data = {"name": faker.word(), "email": faker.email()}
33
- response = api.post(url_for("api.contact_points"), data=data)
34
- assert201(response)
35
- assert ContactPoint.objects.count() == 2
36
-
37
- def test_contact_point_api_invalid_email(self, api):
38
- api.login()
39
- data = {"name": faker.word(), "email": faker.word()}
40
- response = api.post(url_for("api.contact_points"), data=data)
41
- assert400(response)
42
- assert "email" in response.json["errors"]
43
- assert ContactPoint.objects.count() == 0
44
-
45
- def test_contact_point_missing_contact_information(self, api):
46
- api.login()
47
- data = {"name": faker.word()}
48
- response = api.post(url_for("api.contact_points"), data=data)
49
- assert400(response)
50
- assert response.json["message"] == _(
51
- "At least an email or a contact form is required for a contact point"
52
- )
53
- assert ContactPoint.objects.count() == 0
54
-
55
16
  def test_contact_point_api_update(self, api):
56
17
  api.login()
57
18
  contact_point = ContactPointFactory()
@@ -51,7 +51,6 @@ class DatasetCSVAdapterTest:
51
51
  "backend": "dummy_backend",
52
52
  "modified_at": date_modified,
53
53
  "created_at": date_created,
54
- "remote_url": "https://www.example.com/",
55
54
  },
56
55
  )
57
56
  resources_dataset = DatasetFactory(
@@ -59,15 +58,12 @@ class DatasetCSVAdapterTest:
59
58
  ResourceFactory(
60
59
  metrics={
61
60
  "views": 42,
62
- },
63
- format="csv",
64
- type="main",
61
+ }
65
62
  ),
66
63
  ResourceFactory(
67
64
  metrics={
68
65
  "views": 1337,
69
- },
70
- format="json",
66
+ }
71
67
  ),
72
68
  ResourceFactory(),
73
69
  ]
@@ -85,12 +81,9 @@ class DatasetCSVAdapterTest:
85
81
  assert harvest_dataset_values["harvest.modified_at"] == date_modified.isoformat()
86
82
  assert harvest_dataset_values["harvest.backend"] == "dummy_backend"
87
83
  assert harvest_dataset_values["harvest.domain"] == "example.com"
88
- assert harvest_dataset_values["harvest.remote_url"] == "https://www.example.com/"
89
84
  assert harvest_dataset_values["resources_count"] == 0
90
85
  assert harvest_dataset_values["downloads"] == 0
91
86
 
92
87
  resources_dataset_values = csv[str(resources_dataset.id)]
93
88
  assert resources_dataset_values["resources_count"] == 3
94
- assert resources_dataset_values["main_resources_count"] == 1
95
- assert set(resources_dataset_values["resources_formats"].split(",")) == set(["csv", "json"])
96
89
  assert resources_dataset_values["downloads"] == 1337 + 42
@@ -2,11 +2,8 @@ from datetime import datetime
2
2
 
3
3
  import pytest
4
4
  from flask import url_for
5
- from werkzeug.test import TestResponse
6
5
 
7
- from udata.core.dataservices.factories import DataserviceFactory
8
6
  from udata.core.dataset.factories import DatasetFactory
9
- from udata.core.discussions.factories import DiscussionFactory
10
7
  from udata.core.discussions.metrics import update_discussions_metric # noqa
11
8
  from udata.core.discussions.models import Discussion, Message
12
9
  from udata.core.discussions.notifications import discussions_notifications
@@ -22,11 +19,8 @@ from udata.core.discussions.tasks import (
22
19
  notify_new_discussion_comment,
23
20
  )
24
21
  from udata.core.organization.factories import OrganizationFactory
25
- from udata.core.organization.models import Organization
26
- from udata.core.reuse.factories import ReuseFactory
27
22
  from udata.core.spam.signals import on_new_potential_spam
28
23
  from udata.core.user.factories import AdminFactory, UserFactory
29
- from udata.core.user.models import User
30
24
  from udata.models import Dataset, Member
31
25
  from udata.tests.helpers import capture_mails
32
26
  from udata.utils import faker
@@ -364,61 +358,6 @@ class DiscussionsTest(APITestCase):
364
358
 
365
359
  self.assertEqual(len(response.json["data"]), len(discussions))
366
360
 
367
- def assertIdIn(self, json_data: dict, id_: str) -> None:
368
- for item in json_data:
369
- if item["id"] == id_:
370
- return
371
- self.fail(f"id {id_} not in {json_data}")
372
-
373
- def test_list_discussions_org_does_not_exist(self) -> None:
374
- response: TestResponse = self.get(url_for("api.discussions", org="bad org id"))
375
- self.assert404(response)
376
-
377
- def test_list_discussions_org(self) -> None:
378
- organization: Organization = OrganizationFactory()
379
- user: User = UserFactory()
380
- _discussion: Discussion = DiscussionFactory(user=user)
381
- dataset = DatasetFactory(organization=organization)
382
- dataservice = DataserviceFactory(organization=organization)
383
- reuse = ReuseFactory(organization=organization)
384
- discussion_for_dataset: Discussion = DiscussionFactory(subject=dataset, user=user)
385
- discussion_for_dataservice: Discussion = DiscussionFactory(subject=dataservice, user=user)
386
- discussion_for_reuse: Discussion = DiscussionFactory(subject=reuse, user=user)
387
-
388
- response: TestResponse = self.get(url_for("api.discussions", org=organization.id))
389
- self.assert200(response)
390
- self.assertEqual(len(response.json["data"]), 3)
391
- self.assertIdIn(response.json["data"], str(discussion_for_dataset.id))
392
- self.assertIdIn(response.json["data"], str(discussion_for_dataservice.id))
393
- self.assertIdIn(response.json["data"], str(discussion_for_reuse.id))
394
-
395
- def test_list_discussions_sort(self) -> None:
396
- user: User = UserFactory()
397
- sorting_keys_dict: dict = {
398
- "title": ["aaa", "bbb"],
399
- "created": ["2023-12-12", "2024-01-01"],
400
- "closed": ["2023-12-12", "2024-01-01"],
401
- }
402
- for sorting_key, values in sorting_keys_dict.items():
403
- discussion1: Discussion = DiscussionFactory(user=user, **{sorting_key: values[0]})
404
- discussion2: Discussion = DiscussionFactory(user=user, **{sorting_key: values[1]})
405
-
406
- response: TestResponse = self.get(url_for("api.discussions", sort=sorting_key))
407
- self.assert200(response)
408
- self.assertEqual(len(response.json["data"]), 2)
409
- self.assertEqual(response.json["data"][0]["id"], str(discussion1.id))
410
- self.assertEqual(response.json["data"][1]["id"], str(discussion2.id))
411
-
412
- # Reverse sort
413
- response: TestResponse = self.get(url_for("api.discussions", sort="-" + sorting_key))
414
- self.assert200(response)
415
- self.assertEqual(len(response.json["data"]), 2)
416
- self.assertEqual(response.json["data"][0]["id"], str(discussion2.id))
417
- self.assertEqual(response.json["data"][1]["id"], str(discussion1.id))
418
-
419
- # Clean slate
420
- Discussion.objects.delete()
421
-
422
361
  def test_list_discussions_user(self):
423
362
  dataset = DatasetFactory()
424
363
  discussions = []
Binary file