udata 6.1.7.dev25977__py2.py3-none-any.whl → 6.1.7.dev26008__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/core/discussions/tasks.py +2 -2
- udata/core/organization/forms.py +4 -2
- udata/core/organization/models.py +0 -1
- udata/settings.py +5 -0
- udata/static/admin.js +3 -3
- udata/static/admin.js.map +1 -1
- udata/static/chunks/{1.a89484c2e9e7c887e74b.js → 1.2a80f2805f0ad61574e4.js} +2 -2
- udata/static/chunks/1.2a80f2805f0ad61574e4.js.map +1 -0
- udata/static/chunks/{29.c04d2827d03bf6177396.js → 29.7b551c87d15f96f30b57.js} +2 -2
- udata/static/chunks/29.7b551c87d15f96f30b57.js.map +1 -0
- udata/static/common.js +1 -1
- udata/static/common.js.map +1 -1
- udata/templates/macros/metadata.html +3 -0
- udata/templates/mail/badge_added_certified.html +1 -1
- udata/templates/mail/badge_added_public_service.html +1 -1
- udata/templates/mail/discussion_closed.html +1 -1
- udata/templates/mail/membership_request.html +1 -1
- udata/templates/mail/new_discussion.html +1 -1
- udata/templates/mail/new_discussion_comment.html +1 -1
- udata/templates/mail/user_mail_card.html +1 -1
- udata/tests/test_discussions.py +75 -1
- {udata-6.1.7.dev25977.dist-info → udata-6.1.7.dev26008.dist-info}/METADATA +3 -2
- {udata-6.1.7.dev25977.dist-info → udata-6.1.7.dev26008.dist-info}/RECORD +27 -27
- udata/static/chunks/1.a89484c2e9e7c887e74b.js.map +0 -1
- udata/static/chunks/29.c04d2827d03bf6177396.js.map +0 -1
- {udata-6.1.7.dev25977.dist-info → udata-6.1.7.dev26008.dist-info}/LICENSE +0 -0
- {udata-6.1.7.dev25977.dist-info → udata-6.1.7.dev26008.dist-info}/WHEEL +0 -0
- {udata-6.1.7.dev25977.dist-info → udata-6.1.7.dev26008.dist-info}/entry_points.txt +0 -0
- {udata-6.1.7.dev25977.dist-info → udata-6.1.7.dev26008.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,d){for(var b,t,_=0,n=[];_<r.length;_++)t=r[_],f[t]&&n.push.apply(n,f[t]),f[t]=0;for(b in d){var i=d[b];switch(typeof i){case"object":e[b]=function(a){var c=a.slice(1),f=a[0];return function(a,r,d){e[f].apply(this,[a,r,d].concat(c))}}(i);break;case"function":e[b]=i;break;default:e[b]=e[i]}}for(a&&a(r,d);n.length;)n.shift().call(null,__webpack_require__);if(d[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:"8eba31c7f8a4ba12d4f0",1:"
|
|
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,d){for(var b,t,_=0,n=[];_<r.length;_++)t=r[_],f[t]&&n.push.apply(n,f[t]),f[t]=0;for(b in d){var i=d[b];switch(typeof i){case"object":e[b]=function(a){var c=a.slice(1),f=a[0];return function(a,r,d){e[f].apply(this,[a,r,d].concat(c))}}(i);break;case"function":e[b]=i;break;default:e[b]=e[i]}}for(a&&a(r,d);n.length;)n.shift().call(null,__webpack_require__);if(d[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:"8eba31c7f8a4ba12d4f0",1:"2a80f2805f0ad61574e4",2:"59edbaad3880b6989c03",3:"6b5640aaff12ceffed87",4:"ed0dea34413819390369",5:"39b82edb6afe71dfedda",6:"ac8a1d796320ea629a59",7:"fb1459b24b9370665f21",8:"ec9a022a808be725e418",9:"0ef49ae8d4cf283485fe",10:"f926dfd3ae7bf509ed4d",11:"1bab5dc273b4da2698da",12:"c9594fbeb5ec5f229448",13:"38196494b8fb921ef789",14:"f0598bceb83dddc07533",15:"e0e4d618ade824e9a054",16:"b6fdeda4b76dee9ff900",17:"ce9c798872e477e8d4da",18:"d1b82d6f8b5b291756cd",19:"ef0f0973698915a3b177",20:"23546befdf1e2f39820a",21:"c1564e20eb7fe23c3281",22:"13afd6a9ea6860e80603",23:"0e676fbff05e4c36acfc",24:"2a6267d518280dc5b69c",25:"ae4d92b7f22c0664a733",26:"074d8c1b6c13e9884fd9",27:"67c3fd17c23014c44845",28:"f2744e598de4330d8956",29:"7b551c87d15f96f30b57",30:"e446df9cf9dff85de9b8",32:"4602685332947da48719",33:"b8bc582459a84b047503"}[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}([]));
|
|
2
2
|
//# sourceMappingURL=common.js.map
|
udata/static/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap dbec7e45afa736e719ed"],"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\":\"8eba31c7f8a4ba12d4f0\",\"1\":\"a89484c2e9e7c887e74b\",\"2\":\"59edbaad3880b6989c03\",\"3\":\"6b5640aaff12ceffed87\",\"4\":\"ed0dea34413819390369\",\"5\":\"39b82edb6afe71dfedda\",\"6\":\"ac8a1d796320ea629a59\",\"7\":\"fb1459b24b9370665f21\",\"8\":\"ec9a022a808be725e418\",\"9\":\"0ef49ae8d4cf283485fe\",\"10\":\"f926dfd3ae7bf509ed4d\",\"11\":\"1bab5dc273b4da2698da\",\"12\":\"c9594fbeb5ec5f229448\",\"13\":\"38196494b8fb921ef789\",\"14\":\"f0598bceb83dddc07533\",\"15\":\"e0e4d618ade824e9a054\",\"16\":\"b6fdeda4b76dee9ff900\",\"17\":\"ce9c798872e477e8d4da\",\"18\":\"d1b82d6f8b5b291756cd\",\"19\":\"ef0f0973698915a3b177\",\"20\":\"23546befdf1e2f39820a\",\"21\":\"c1564e20eb7fe23c3281\",\"22\":\"13afd6a9ea6860e80603\",\"23\":\"0e676fbff05e4c36acfc\",\"24\":\"2a6267d518280dc5b69c\",\"25\":\"ae4d92b7f22c0664a733\",\"26\":\"074d8c1b6c13e9884fd9\",\"27\":\"67c3fd17c23014c44845\",\"28\":\"f2744e598de4330d8956\",\"29\":\"c04d2827d03bf6177396\",\"30\":\"e446df9cf9dff85de9b8\",\"32\":\"05d20b5bb3e01a055067\",\"33\":\"b8bc582459a84b047503\"}[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\":\"8eba31c7f8a4ba12d4f0\",\"1\":\"a89484c2e9e7c887e74b\",\"2\":\"59edbaad3880b6989c03\",\"3\":\"6b5640aaff12ceffed87\",\"4\":\"ed0dea34413819390369\",\"5\":\"39b82edb6afe71dfedda\",\"6\":\"ac8a1d796320ea629a59\",\"7\":\"fb1459b24b9370665f21\",\"8\":\"ec9a022a808be725e418\",\"9\":\"0ef49ae8d4cf283485fe\",\"10\":\"f926dfd3ae7bf509ed4d\",\"11\":\"1bab5dc273b4da2698da\",\"12\":\"c9594fbeb5ec5f229448\",\"13\":\"38196494b8fb921ef789\",\"14\":\"f0598bceb83dddc07533\",\"15\":\"e0e4d618ade824e9a054\",\"16\":\"b6fdeda4b76dee9ff900\",\"17\":\"ce9c798872e477e8d4da\",\"18\":\"d1b82d6f8b5b291756cd\",\"19\":\"ef0f0973698915a3b177\",\"20\":\"23546befdf1e2f39820a\",\"21\":\"c1564e20eb7fe23c3281\",\"22\":\"13afd6a9ea6860e80603\",\"23\":\"0e676fbff05e4c36acfc\",\"24\":\"2a6267d518280dc5b69c\",\"25\":\"ae4d92b7f22c0664a733\",\"26\":\"074d8c1b6c13e9884fd9\",\"27\":\"67c3fd17c23014c44845\",\"28\":\"f2744e598de4330d8956\",\"29\":\"c04d2827d03bf6177396\",\"30\":\"e446df9cf9dff85de9b8\",\"32\":\"05d20b5bb3e01a055067\",\"33\":\"b8bc582459a84b047503\"}[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 dbec7e45afa736e719ed\n **/"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap c4bcc3fe1126d2c2064d"],"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\":\"8eba31c7f8a4ba12d4f0\",\"1\":\"2a80f2805f0ad61574e4\",\"2\":\"59edbaad3880b6989c03\",\"3\":\"6b5640aaff12ceffed87\",\"4\":\"ed0dea34413819390369\",\"5\":\"39b82edb6afe71dfedda\",\"6\":\"ac8a1d796320ea629a59\",\"7\":\"fb1459b24b9370665f21\",\"8\":\"ec9a022a808be725e418\",\"9\":\"0ef49ae8d4cf283485fe\",\"10\":\"f926dfd3ae7bf509ed4d\",\"11\":\"1bab5dc273b4da2698da\",\"12\":\"c9594fbeb5ec5f229448\",\"13\":\"38196494b8fb921ef789\",\"14\":\"f0598bceb83dddc07533\",\"15\":\"e0e4d618ade824e9a054\",\"16\":\"b6fdeda4b76dee9ff900\",\"17\":\"ce9c798872e477e8d4da\",\"18\":\"d1b82d6f8b5b291756cd\",\"19\":\"ef0f0973698915a3b177\",\"20\":\"23546befdf1e2f39820a\",\"21\":\"c1564e20eb7fe23c3281\",\"22\":\"13afd6a9ea6860e80603\",\"23\":\"0e676fbff05e4c36acfc\",\"24\":\"2a6267d518280dc5b69c\",\"25\":\"ae4d92b7f22c0664a733\",\"26\":\"074d8c1b6c13e9884fd9\",\"27\":\"67c3fd17c23014c44845\",\"28\":\"f2744e598de4330d8956\",\"29\":\"7b551c87d15f96f30b57\",\"30\":\"e446df9cf9dff85de9b8\",\"32\":\"4602685332947da48719\",\"33\":\"b8bc582459a84b047503\"}[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\":\"8eba31c7f8a4ba12d4f0\",\"1\":\"2a80f2805f0ad61574e4\",\"2\":\"59edbaad3880b6989c03\",\"3\":\"6b5640aaff12ceffed87\",\"4\":\"ed0dea34413819390369\",\"5\":\"39b82edb6afe71dfedda\",\"6\":\"ac8a1d796320ea629a59\",\"7\":\"fb1459b24b9370665f21\",\"8\":\"ec9a022a808be725e418\",\"9\":\"0ef49ae8d4cf283485fe\",\"10\":\"f926dfd3ae7bf509ed4d\",\"11\":\"1bab5dc273b4da2698da\",\"12\":\"c9594fbeb5ec5f229448\",\"13\":\"38196494b8fb921ef789\",\"14\":\"f0598bceb83dddc07533\",\"15\":\"e0e4d618ade824e9a054\",\"16\":\"b6fdeda4b76dee9ff900\",\"17\":\"ce9c798872e477e8d4da\",\"18\":\"d1b82d6f8b5b291756cd\",\"19\":\"ef0f0973698915a3b177\",\"20\":\"23546befdf1e2f39820a\",\"21\":\"c1564e20eb7fe23c3281\",\"22\":\"13afd6a9ea6860e80603\",\"23\":\"0e676fbff05e4c36acfc\",\"24\":\"2a6267d518280dc5b69c\",\"25\":\"ae4d92b7f22c0664a733\",\"26\":\"074d8c1b6c13e9884fd9\",\"27\":\"67c3fd17c23014c44845\",\"28\":\"f2744e598de4330d8956\",\"29\":\"7b551c87d15f96f30b57\",\"30\":\"e446df9cf9dff85de9b8\",\"32\":\"4602685332947da48719\",\"33\":\"b8bc582459a84b047503\"}[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 c4bcc3fe1126d2c2064d\n **/"],"sourceRoot":""}
|
|
@@ -48,6 +48,9 @@
|
|
|
48
48
|
<meta name="search-autocomplete-enabled" content="{{ 'true' if config.SEARCH_AUTOCOMPLETE_ENABLED else 'false' }}">
|
|
49
49
|
<meta name="search-autocomplete-debounce" content="{{ config.SEARCH_AUTOCOMPLETE_DEBOUNCE }}">
|
|
50
50
|
<meta name="dataset-max-resources-uncollapsed" content="{{ config.DATASET_MAX_RESOURCES_UNCOLLAPSED }}">
|
|
51
|
+
{% if config.ORG_BID_FORMAT %}
|
|
52
|
+
<meta name="org-bid-format" content="{{ config.ORG_BID_FORMAT }}">
|
|
53
|
+
{% endif %}
|
|
51
54
|
<meta name="markdown-config" content="{{ {
|
|
52
55
|
'tags': config.MD_ALLOWED_TAGS,
|
|
53
56
|
'attributes': config.MD_ALLOWED_ATTRIBUTES,
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
_('%(user)s has certified your organization "%(name)s"',
|
|
7
7
|
user=(
|
|
8
8
|
'<a href="'|safe
|
|
9
|
-
+ url_for('
|
|
9
|
+
+ url_for('api.user', user=badge.created_by, _external=True)
|
|
10
10
|
+ '">'|safe
|
|
11
11
|
+ badge.created_by.fullname
|
|
12
12
|
+ '</a>'|safe
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
_('%(user)s has identified your organization "%(name)s" as public service',
|
|
7
7
|
user=(
|
|
8
8
|
'<a href="'|safe
|
|
9
|
-
+ url_for('
|
|
9
|
+
+ url_for('api.user', user=badge.created_by, _external=True)
|
|
10
10
|
+ '">'|safe
|
|
11
11
|
+ badge.created_by.fullname
|
|
12
12
|
+ '</a>'|safe
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
{{ _('As an administrator of "%(org)s" you are being informed than a new membership request from %(user)s is pending for validation',
|
|
9
9
|
user=(
|
|
10
10
|
'<a href="'|safe
|
|
11
|
-
+ url_for('
|
|
11
|
+
+ url_for('api.user', user=request.user, _external=True)
|
|
12
12
|
+ '">'|safe
|
|
13
13
|
+ request.user.fullname
|
|
14
14
|
+ '</a>'|safe
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{% macro user_mail_card(user, msg=None) %}
|
|
2
|
-
<a href="{{ url_for('
|
|
2
|
+
<a href="{{ url_for('api.user', user=user.id, _external=True) }}"
|
|
3
3
|
style="margin: 0;padding: 0;width:100%;">
|
|
4
4
|
<table height="60" cellpadding="0" cellspacing="0" style="margin: 0;padding: 0;border:1px solid #eee;width:100%;">
|
|
5
5
|
<tr style="margin: 0;padding: 0;">
|
udata/tests/test_discussions.py
CHANGED
|
@@ -4,7 +4,7 @@ from flask import url_for
|
|
|
4
4
|
|
|
5
5
|
from udata.models import Dataset, Member
|
|
6
6
|
from udata.core.discussions.models import Message, Discussion
|
|
7
|
-
from udata.core.discussions.metrics import update_discussions_metric
|
|
7
|
+
from udata.core.discussions.metrics import update_discussions_metric # noqa
|
|
8
8
|
from udata.core.discussions.notifications import discussions_notifications
|
|
9
9
|
from udata.core.discussions.signals import (
|
|
10
10
|
on_new_discussion, on_new_discussion_comment,
|
|
@@ -17,6 +17,7 @@ from udata.core.discussions.tasks import (
|
|
|
17
17
|
from udata.core.dataset.factories import DatasetFactory
|
|
18
18
|
from udata.core.organization.factories import OrganizationFactory
|
|
19
19
|
from udata.core.user.factories import UserFactory, AdminFactory
|
|
20
|
+
from udata.tests.helpers import capture_mails
|
|
20
21
|
from udata.utils import faker
|
|
21
22
|
|
|
22
23
|
from . import TestCase, DBTestMixin
|
|
@@ -550,3 +551,76 @@ class DiscussionsNotificationsTest(TestCase, DBTestMixin):
|
|
|
550
551
|
self.assertEqual(details['title'], discussion.title)
|
|
551
552
|
self.assertEqual(details['subject']['id'], discussion.subject.id)
|
|
552
553
|
self.assertEqual(details['subject']['type'], 'dataset')
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
class DiscussionsMailsTest(APITestCase):
|
|
557
|
+
modules = []
|
|
558
|
+
|
|
559
|
+
def test_new_discussion_mail(self):
|
|
560
|
+
user = UserFactory()
|
|
561
|
+
owner = UserFactory()
|
|
562
|
+
message = Message(content=faker.sentence(), posted_by=user)
|
|
563
|
+
discussion = Discussion.objects.create(
|
|
564
|
+
subject=DatasetFactory(owner=owner),
|
|
565
|
+
user=user,
|
|
566
|
+
title=faker.sentence(),
|
|
567
|
+
discussion=[message]
|
|
568
|
+
)
|
|
569
|
+
|
|
570
|
+
with capture_mails() as mails:
|
|
571
|
+
notify_new_discussion(discussion.id)
|
|
572
|
+
|
|
573
|
+
# Should have sent one mail to the owner
|
|
574
|
+
self.assertEqual(len(mails), 1)
|
|
575
|
+
self.assertEqual(mails[0].recipients[0], owner.email)
|
|
576
|
+
|
|
577
|
+
def test_new_discussion_comment_mail(self):
|
|
578
|
+
owner = UserFactory()
|
|
579
|
+
poster = UserFactory()
|
|
580
|
+
commenter = UserFactory()
|
|
581
|
+
message = Message(content=faker.sentence(), posted_by=poster)
|
|
582
|
+
second_message = Message(content=faker.sentence(), posted_by=owner)
|
|
583
|
+
new_message = Message(content=faker.sentence(), posted_by=commenter)
|
|
584
|
+
discussion = Discussion.objects.create(
|
|
585
|
+
subject=DatasetFactory(owner=owner),
|
|
586
|
+
user=poster,
|
|
587
|
+
title=faker.sentence(),
|
|
588
|
+
discussion=[message, second_message, new_message]
|
|
589
|
+
)
|
|
590
|
+
|
|
591
|
+
with capture_mails() as mails:
|
|
592
|
+
notify_new_discussion_comment(discussion.id, message=len(discussion.discussion) - 1)
|
|
593
|
+
|
|
594
|
+
# Should have sent one mail to the owner and the other participants
|
|
595
|
+
# and no mail to the commenter. The owner should appear only once in the recipients
|
|
596
|
+
# even if he is in both the discussion and the owner of the dataset.
|
|
597
|
+
expected_recipients = (owner.email, poster.email)
|
|
598
|
+
self.assertEqual(len(mails), len(expected_recipients))
|
|
599
|
+
for mail in mails:
|
|
600
|
+
self.assertIn(mail.recipients[0], expected_recipients)
|
|
601
|
+
self.assertNotIn(commenter.email, mail.recipients)
|
|
602
|
+
|
|
603
|
+
def test_closed_discussion_mail(self):
|
|
604
|
+
owner = UserFactory()
|
|
605
|
+
poster = UserFactory()
|
|
606
|
+
commenter = UserFactory()
|
|
607
|
+
message = Message(content=faker.sentence(), posted_by=poster)
|
|
608
|
+
second_message = Message(content=faker.sentence(), posted_by=commenter)
|
|
609
|
+
closing_message = Message(content=faker.sentence(), posted_by=owner)
|
|
610
|
+
discussion = Discussion.objects.create(
|
|
611
|
+
subject=DatasetFactory(owner=owner),
|
|
612
|
+
user=poster,
|
|
613
|
+
title=faker.sentence(),
|
|
614
|
+
discussion=[message, second_message, closing_message]
|
|
615
|
+
)
|
|
616
|
+
|
|
617
|
+
with capture_mails() as mails:
|
|
618
|
+
notify_discussion_closed(discussion.id, message=len(discussion.discussion) - 1)
|
|
619
|
+
|
|
620
|
+
# Should have sent one mail to each participant
|
|
621
|
+
# and no mail to the closer
|
|
622
|
+
expected_recipients = (poster.email, commenter.email)
|
|
623
|
+
self.assertEqual(len(mails), len(expected_recipients))
|
|
624
|
+
for mail in mails:
|
|
625
|
+
self.assertIn(mail.recipients[0], expected_recipients)
|
|
626
|
+
self.assertNotIn(owner.email, mail.recipients)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: udata
|
|
3
|
-
Version: 6.1.7.
|
|
3
|
+
Version: 6.1.7.dev26008
|
|
4
4
|
Summary: Open data portal
|
|
5
5
|
Home-page: https://github.com/opendatateam/udata
|
|
6
6
|
Author: Opendata Team
|
|
@@ -140,10 +140,11 @@ It is collectively taken care of by members of the
|
|
|
140
140
|
- Add extra field to topic model and add it to the dataset search adapter [#2876](https://github.com/opendatateam/udata/pull/2876)
|
|
141
141
|
- Upgrade pyyaml in develop and doc deps [#2880](https://github.com/opendatateam/udata/pull/2880)
|
|
142
142
|
- Expose dataset's `*_internal` dates in a nested `internal` nested field in api marshalling [#2862](https://github.com/opendatateam/udata/pull/2862)
|
|
143
|
-
- Add `business_number_id` metadata for organizations [#2871](https://github.com/opendatateam/udata/pull/2871)
|
|
143
|
+
- Add `business_number_id` metadata for organizations [#2871](https://github.com/opendatateam/udata/pull/2871) [#2887](https://github.com/opendatateam/udata/pull/2887)
|
|
144
144
|
- Return 403 when posting comment on discussion closed [#2881](https://github.com/opendatateam/udata/pull/2881)
|
|
145
145
|
- Ensure rdf parsed frequency is lowercase [#2883](https://github.com/opendatateam/udata/pull/2883)
|
|
146
146
|
- Add a dict of URIs to replace in a RDF graph at harvest time [#2884](https://github.com/opendatateam/udata/pull/2884)
|
|
147
|
+
- Fix duplicate recipients in new comments mail [#2886](https://github.com/opendatateam/udata/pull/2886)
|
|
147
148
|
|
|
148
149
|
## 6.1.6 (2023-07-19)
|
|
149
150
|
|
|
@@ -11,7 +11,7 @@ udata/mail.py,sha256=dAMcbEtk5e54alpQezvF5adDrRPgdaT36QEdHD_5v50,2145
|
|
|
11
11
|
udata/rdf.py,sha256=Es25HGruqA9Vg7W8B_1SB75lewiUunmsPDsg1yyX8Gw,8324
|
|
12
12
|
udata/routing.py,sha256=9Y7Q-IHx-6CZVGozFrljl05rIjhA3K9SzF5aoEQgGyA,7034
|
|
13
13
|
udata/sentry.py,sha256=KiZz0PpmYpZMvykH9UAbHpF4xBY0Q-8DeiEbXEHDUdw,2683
|
|
14
|
-
udata/settings.py,sha256=
|
|
14
|
+
udata/settings.py,sha256=VS_cMgtsT5UhZl9P_-wEjmE0g6kvhM2Y1NTSBmibiHM,15985
|
|
15
15
|
udata/sitemap.py,sha256=pjtR2lU3gRHvK8l1Lw8B9wrqMMTYC5adUfFh0pUp_Q4,977
|
|
16
16
|
udata/tags.py,sha256=8MvgyjfUz8O71tCV0V1fQV4_0C2P-SLFrm2IA2QfNDs,595
|
|
17
17
|
udata/tasks.py,sha256=WR07NfqRMpEBNOnsXZ9myvDDSVfx4R5VZCi3CgO53A8,4886
|
|
@@ -98,7 +98,7 @@ udata/core/discussions/models.py,sha256=9z7R5TORemkxaiGJOu2RjOah1ffTjjA17UYYKjnE
|
|
|
98
98
|
udata/core/discussions/notifications.py,sha256=1lsu8WyyOL4bdt0lx6IW5wTxmQ5gS_7FoncN53g3ToQ,927
|
|
99
99
|
udata/core/discussions/permissions.py,sha256=q3tXNuNmuXCvZhKyudROcwXF53l-IeDR3pfKSh_hIL0,636
|
|
100
100
|
udata/core/discussions/signals.py,sha256=zjuF-TiFwu9U_RcgZtHB2Z3W4oBx5hVZy6CCAl5Ekug,543
|
|
101
|
-
udata/core/discussions/tasks.py,sha256=
|
|
101
|
+
udata/core/discussions/tasks.py,sha256=yxvxNNLKDD1FM_ItPRArDI2CtJFQSgC69yf__tBQQAo,2840
|
|
102
102
|
udata/core/followers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
103
103
|
udata/core/followers/api.py,sha256=9777c3RQUNOemQgL5SQI_U6ya4-Mwm8T2hXaXm_B_RM,2601
|
|
104
104
|
udata/core/followers/metrics.py,sha256=nKgoiM2Gu-XHrgEf9duW1My66zFSKbmw25BGqo5wWtY,190
|
|
@@ -125,9 +125,9 @@ udata/core/organization/apiv2.py,sha256=9uj9Rx9i1mCIBQjdllm8LPmzj4XxR9rGxGpIYJIQ
|
|
|
125
125
|
udata/core/organization/commands.py,sha256=FaSYxyWfQDR5tWvrAXmwcF2VMREOC13XTK8DD4vp_sY,1623
|
|
126
126
|
udata/core/organization/csv.py,sha256=k62dvI-4bw_y74F3PepdJp-ryBJxLvZWvYyShq2876Y,502
|
|
127
127
|
udata/core/organization/factories.py,sha256=5BABVcDhEChRhJsDfCDm8WyJG4l9j3H1_OFZa3VtlVs,646
|
|
128
|
-
udata/core/organization/forms.py,sha256=
|
|
128
|
+
udata/core/organization/forms.py,sha256=SLREg-Sfza7uQcFEOqfUBhCbP2U8Ek2gWX2xe5EUWpA,3540
|
|
129
129
|
udata/core/organization/metrics.py,sha256=nQiRscXRgpuzpfg5nNE6-kyJqk36KdRXKD_G5MmiJok,750
|
|
130
|
-
udata/core/organization/models.py,sha256=
|
|
130
|
+
udata/core/organization/models.py,sha256=xiMujEdRMS-FVA8anK-Iqu7zzruXdOEf2NmbndVkczo,8173
|
|
131
131
|
udata/core/organization/notifications.py,sha256=j-2LIHZ5y5QuVietWAWOrAqf4v1HMCtSDZ0w7V-z_1c,763
|
|
132
132
|
udata/core/organization/permissions.py,sha256=cNIPiPgXVW2hvKqbuKHA_62tX2xaT8jiVJ3BEfnsHn0,1299
|
|
133
133
|
udata/core/organization/rdf.py,sha256=ZSoxyZDj_5g6hv7lbTIy6bIW3xwvQy27rWNgJwtZ6LE,1762
|
|
@@ -365,10 +365,10 @@ udata/static/SourceSansPro-SemiboldIt.ttf,sha256=EK3ye-6bT-g3T7TSBW-kaoHWkUtlL3o
|
|
|
365
365
|
udata/static/SourceSansPro-SemiboldIt.ttf.woff2,sha256=JBtSfqRaYeoVAVQ3ynlAwX-to2RlkE3yAaVkv6-s-NA,44608
|
|
366
366
|
udata/static/admin.css,sha256=6NjjkctQrJv9lMEiD2WZczfdUwkzZES6tNe-hf-9ws4,185239
|
|
367
367
|
udata/static/admin.css.map,sha256=ugpn6Zy36BWHvHSkOhwa-GNuXNv_bFPL9ukKVcbHgfU,626560
|
|
368
|
-
udata/static/admin.js,sha256=
|
|
369
|
-
udata/static/admin.js.map,sha256=
|
|
370
|
-
udata/static/common.js,sha256=
|
|
371
|
-
udata/static/common.js.map,sha256=
|
|
368
|
+
udata/static/admin.js,sha256=mIW51hKYs1X7U0471BrFX93YhgchFNNYhqdOMHSYq1M,1291948
|
|
369
|
+
udata/static/admin.js.map,sha256=Hxa_VBKK_H-8HEcXJyrsYy8H60k6S_0iZrgY-DnJgUI,8409931
|
|
370
|
+
udata/static/common.js,sha256=vRhkhnnrjdpoKIQfxaq7z4RNyfwEBgVcUc3a4tBIV4A,2252
|
|
371
|
+
udata/static/common.js.map,sha256=uwyl57ahi0YdaoYbEpTpb22kA3-J5l6vB4wK2TTBj6k,14137
|
|
372
372
|
udata/static/fontawesome-webfont.eot,sha256=e_yrbbmdXPvxcFygU23ceFhUMsxfpBu9etDwCQM7KXk,165742
|
|
373
373
|
udata/static/fontawesome-webfont.svg,sha256=rWFXkmwWIrpOHQPUePFUE2hSS_xG9R5C_g2UX37zI-Q,444379
|
|
374
374
|
udata/static/fontawesome-webfont.ttf,sha256=qljzPyOaD7AvXHpsRcBD16msmgkzNYBmlOzW1O3A1qg,165548
|
|
@@ -383,8 +383,8 @@ udata/static/widgets.js,sha256=ZgP0e3ARPy7_PQPNmX_hF8IZaKf9isk5VhWYVJq8KZ0,13705
|
|
|
383
383
|
udata/static/widgets.js.map,sha256=RDaVASJDU9PjwOqGRsvp62qql8OwZ7Ccw5Q1Lo6PZGA,79828
|
|
384
384
|
udata/static/chunks/0.8eba31c7f8a4ba12d4f0.js,sha256=CMepC07qMp7Pldyath70EU2iXCZO9lXIV7aoYFJ86SE,294847
|
|
385
385
|
udata/static/chunks/0.8eba31c7f8a4ba12d4f0.js.map,sha256=qGlGuwUe8EzBvUeQD-2kqPgSwC4oMdUit0mYj7kDfVk,1665260
|
|
386
|
-
udata/static/chunks/1.
|
|
387
|
-
udata/static/chunks/1.
|
|
386
|
+
udata/static/chunks/1.2a80f2805f0ad61574e4.js,sha256=JqFHq3HKv8sNR1QrAEVA0MtceD0cBi2WUiw-MS891P0,303392
|
|
387
|
+
udata/static/chunks/1.2a80f2805f0ad61574e4.js.map,sha256=zf6e05ePksyg9P-iHqrF1TxFjNekWiznrvV8UIET3Og,1737216
|
|
388
388
|
udata/static/chunks/10.f926dfd3ae7bf509ed4d.js,sha256=I79lv8s15w-OnFbbfRozSgSV6ojSZ5Pzuannq_icgT0,416264
|
|
389
389
|
udata/static/chunks/10.f926dfd3ae7bf509ed4d.js.map,sha256=0NIBdV0O_TVjlYEfX9qTi8y0YwmYHPiwQxeD9ahsT74,2742974
|
|
390
390
|
udata/static/chunks/11.1bab5dc273b4da2698da.js,sha256=rziG_BFgXE16fcGu-4VpaAln7Qkh1h8ytPoHyYv3w8Q,395554
|
|
@@ -425,8 +425,8 @@ udata/static/chunks/27.67c3fd17c23014c44845.js,sha256=qUFlUNJFzNYYnGNA9YlL6QnUc9
|
|
|
425
425
|
udata/static/chunks/27.67c3fd17c23014c44845.js.map,sha256=KkzFaZRo6Im5DzfX7x4c40GfZoFVCNE6WRofVE_EMKY,563246
|
|
426
426
|
udata/static/chunks/28.f2744e598de4330d8956.js,sha256=xKO261NbBcSd1FVCXfRuFWnjfxtkzi-V0EzXlPD5vGE,112233
|
|
427
427
|
udata/static/chunks/28.f2744e598de4330d8956.js.map,sha256=ypMNFKEQ3ebykKPBN2Tlo1WFjGRP0w1lEZybM3PONJo,557589
|
|
428
|
-
udata/static/chunks/29.
|
|
429
|
-
udata/static/chunks/29.
|
|
428
|
+
udata/static/chunks/29.7b551c87d15f96f30b57.js,sha256=nRa57yVoVvhIzg9m0q_6zdn4VzbtzISM16ydkm4GE5g,112037
|
|
429
|
+
udata/static/chunks/29.7b551c87d15f96f30b57.js.map,sha256=Ci7X5cleDCW9C7teFybaopUU6DdkxhyVeZJUYksYsfg,556246
|
|
430
430
|
udata/static/chunks/3.6b5640aaff12ceffed87.js,sha256=5sDeAbfZaxCK7PnJ12_Coeunbl2uD30oLyCECV39FEg,6270
|
|
431
431
|
udata/static/chunks/3.6b5640aaff12ceffed87.js.map,sha256=WWnZjH1U-J3vpJKd3Z-IYnHaMSqy9Oy__4TaT1mmXvw,29075
|
|
432
432
|
udata/static/chunks/30.e446df9cf9dff85de9b8.js,sha256=vzZuAhK1JOU2E9x7UYohhgoz2lblRnf79YrCtz6-29Y,104797
|
|
@@ -453,27 +453,27 @@ udata/templates/api/oauth_authorize.html,sha256=PnzKqEJwbP0FK_SNbBpWyC3Jcdt7zS9x
|
|
|
453
453
|
udata/templates/api/oauth_error.html,sha256=q4cbpwnokyd7cGKTESJYVC0eBzujVTD6yUlGGrHgP0c,779
|
|
454
454
|
udata/templates/comments/dataset_archived.txt,sha256=RMa3cHKHfu6KU4kW_qxLdPdgw7MhGR3N2uZWZdM7iHY,325
|
|
455
455
|
udata/templates/macros/forms.html,sha256=Zn8G_pRC9F7HFoA7sXh_P2xFbsXOTBRPbRO-PUYtGyg,2200
|
|
456
|
-
udata/templates/macros/metadata.html,sha256=
|
|
456
|
+
udata/templates/macros/metadata.html,sha256=SoZ1Iq40Vc_rQmaK27v5bPrvQuOCL70yt5k1Na6B_Ys,3497
|
|
457
457
|
udata/templates/mail/account_deleted.html,sha256=7INK4GqaOyqe36pXiT4xU_cAZLuNxOeY3zoy4Yjz1R4,146
|
|
458
458
|
udata/templates/mail/account_deleted.txt,sha256=4EmPnt4QWMWSUkfTaMUga4BCFjGlZGKTgh9JDUzKjDk,110
|
|
459
|
-
udata/templates/mail/badge_added_certified.html,sha256=
|
|
459
|
+
udata/templates/mail/badge_added_certified.html,sha256=4woungIC2SMbAUZJaroxHd2wv8NEG8UdY_Mtjc-O_bo,828
|
|
460
460
|
udata/templates/mail/badge_added_certified.txt,sha256=gD1RnUfOO9AwnCRA2q4-GctkYn1rtxuBweVK8U9VoVs,280
|
|
461
|
-
udata/templates/mail/badge_added_public_service.html,sha256=
|
|
461
|
+
udata/templates/mail/badge_added_public_service.html,sha256=U9VrFB8kVcY0FNugZ14OA3JNBdesAhFrreubQoToMdQ,847
|
|
462
462
|
udata/templates/mail/badge_added_public_service.txt,sha256=mn9sffVPd2Qqz_zQbAUPXmZUfaSqUIeA4C8-_9dZUbU,289
|
|
463
463
|
udata/templates/mail/base.html,sha256=ZhMwp8gSJ7QtBYJXB8CY54wj6nb7lFYq7nASStFBM2s,7064
|
|
464
464
|
udata/templates/mail/base.txt,sha256=epaSraWLlrXYEovdVROhxgOAsJmZI6RXxpNwtOX_UI4,176
|
|
465
465
|
udata/templates/mail/button.html,sha256=FdCKFJYclhjDUh7CddHx8qcQjJF_7mF0s7mG_tb9cL8,417
|
|
466
|
-
udata/templates/mail/discussion_closed.html,sha256=
|
|
466
|
+
udata/templates/mail/discussion_closed.html,sha256=i98g4PPos5GQ_QE6xHma1cchnCWQxHYZPxwiulXIrEg,1153
|
|
467
467
|
udata/templates/mail/discussion_closed.txt,sha256=ZvEnfsVCAHDzYlzHFCas-Grj_oiVZs3A7X7A2u1ngBs,380
|
|
468
468
|
udata/templates/mail/frequency_reminder.html,sha256=McTRYsUfnvSGNIvov9SDryTlS1LTl8TMMQs_k8fAxh8,1182
|
|
469
469
|
udata/templates/mail/frequency_reminder.txt,sha256=3IDPkrZEGmGm_gULSuYdq7VMKsQe0o5CZWNw8fbxpco,724
|
|
470
470
|
udata/templates/mail/membership_refused.html,sha256=0pnX2aqDk3kEQBsBOlIiGwx_vBIQBWOZUQEpFE0VFVk,635
|
|
471
471
|
udata/templates/mail/membership_refused.txt,sha256=rXur42ZD3W65SCblUrZqMK34RHz0oSYL4-rb_kKmE0g,217
|
|
472
|
-
udata/templates/mail/membership_request.html,sha256=
|
|
472
|
+
udata/templates/mail/membership_request.html,sha256=2ygBg1w20jRru5shsu-4FZjzIoschtnP6TUcU0Nc_Q4,1434
|
|
473
473
|
udata/templates/mail/membership_request.txt,sha256=NBxMyNYUayQC9RbeWiws4JEOm4EpagU_GkPQJZcqKps,462
|
|
474
|
-
udata/templates/mail/new_discussion.html,sha256=
|
|
474
|
+
udata/templates/mail/new_discussion.html,sha256=itzbuSg-SUJCDA78fFgeEGB2t1cI5nwhfxzJYT0XLJg,1090
|
|
475
475
|
udata/templates/mail/new_discussion.txt,sha256=J1LJXTePrnZsvCLUcUG505SU5mIz0glmJlwcecujap8,403
|
|
476
|
-
udata/templates/mail/new_discussion_comment.html,sha256=
|
|
476
|
+
udata/templates/mail/new_discussion_comment.html,sha256=BvDL3JV5lOPgPco0n6LTKXFLbYFcRqYFJp_6D_yLmkw,1155
|
|
477
477
|
udata/templates/mail/new_discussion_comment.txt,sha256=gct1ab7BVw2D-FB2D3e1t8oGtKAsvrEcRe36Lm4fr-E,383
|
|
478
478
|
udata/templates/mail/new_member.html,sha256=WrpWcqgbeGGRiL9-2LoE7zWcYheDw1bcT2Qcly_G1kY,794
|
|
479
479
|
udata/templates/mail/new_member.txt,sha256=h2vzrlNXcgPHgKnX3_jBPxvwkXzi0CjvA_VbLfzDdjY,274
|
|
@@ -481,7 +481,7 @@ udata/templates/mail/new_reuse.html,sha256=Yb69cb2bb5d9oEdsKUBWQ0scJ5r_WhECJMSyi
|
|
|
481
481
|
udata/templates/mail/new_reuse.txt,sha256=Uhpcp5JccAbSNgT-keiOtwlVe-NaYJiwh9GOCDaBc_c,447
|
|
482
482
|
udata/templates/mail/test.html,sha256=8oNjUUHmBnPZbrar9Qv3hg8jSesTKOqvXO6xqeO6BT0,232
|
|
483
483
|
udata/templates/mail/test.txt,sha256=BWdNQPvlodCXIhfwk7N21WezrlpUenB0ChZDtsWsDj4,158
|
|
484
|
-
udata/templates/mail/user_mail_card.html,sha256=
|
|
484
|
+
udata/templates/mail/user_mail_card.html,sha256=6w-1yJYNsC8tE3yHcrz_JK7vhtLGE485VqqpaaP7P4o,1631
|
|
485
485
|
udata/templates/mail/layouts/1-column.html,sha256=cGnVjykaMK7CeO3HtSq-aWK8A-KHJ--IVjsdaQfmS_I,524
|
|
486
486
|
udata/templates/mail/layouts/2-columns.html,sha256=TbYO8O0j5w7uLCSVN4liP-Y-xOplCLnDDGMnZIJ_s-c,580
|
|
487
487
|
udata/templates/mail/layouts/center-panel.html,sha256=kULj5NDcuifryn_1wTeKkxaAhdmQhrYL6i7r1YjcCOM,387
|
|
@@ -515,7 +515,7 @@ udata/tests/helpers.py,sha256=r7UOxQxhceVDYRJkAdbD9p082RwqcgjBdzFPZnbbGB4,5764
|
|
|
515
515
|
udata/tests/models.py,sha256=_V0smMb1Z6p3aZv6PorzNN-HiNt_B46Ox1fqXrTJEqk,238
|
|
516
516
|
udata/tests/plugin.py,sha256=hI9Z5SIxUT8UhqZMLcNPzBqdM8-nUgtCW6Pbw2bnNsQ,11045
|
|
517
517
|
udata/tests/test_activity.py,sha256=4ZHRG9GYv5I2gtMYQAnhgONP9YBqwMdKKq9T2vua6-I,2674
|
|
518
|
-
udata/tests/test_discussions.py,sha256=
|
|
518
|
+
udata/tests/test_discussions.py,sha256=PZokVYraNBSss5rcyPTgS4ymbf0beiwh-Wdu-uDSrCc,23958
|
|
519
519
|
udata/tests/test_i18n.py,sha256=T6kFXyJyTao7m19HFlkoTzkHehogF3rnUUor44_uhaU,2935
|
|
520
520
|
udata/tests/test_linkchecker.py,sha256=KxV1-PuuuqogkHf3jP6JhRsc2QG2dFmFB-vSHOiHkuU,10374
|
|
521
521
|
udata/tests/test_mail.py,sha256=LK_fOBbFoqbwdaIEXO9XyGPzxY9nrT9FjyD_dlglUdQ,1643
|
|
@@ -622,9 +622,9 @@ udata/translations/pt/LC_MESSAGES/udata.mo,sha256=QA_9yeYr22WR-o8T-Aix_78FJ0TBab
|
|
|
622
622
|
udata/translations/pt/LC_MESSAGES/udata.po,sha256=VLs_Q8RFHBn6Cw8w9r7BAgop_XBk9QwprZVObuzx1_g,41327
|
|
623
623
|
udata/translations/sr/LC_MESSAGES/udata.mo,sha256=k_WnQxuJkopM1eWzKJFOok_OAWOjZhSLlB3O_ggzv3U,29086
|
|
624
624
|
udata/translations/sr/LC_MESSAGES/udata.po,sha256=xJJpHjSGJbpuKhVO8AhdDdbL6F7ILmWqJkz-6-fCgu4,48168
|
|
625
|
-
udata-6.1.7.
|
|
626
|
-
udata-6.1.7.
|
|
627
|
-
udata-6.1.7.
|
|
628
|
-
udata-6.1.7.
|
|
629
|
-
udata-6.1.7.
|
|
630
|
-
udata-6.1.7.
|
|
625
|
+
udata-6.1.7.dev26008.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
|
|
626
|
+
udata-6.1.7.dev26008.dist-info/METADATA,sha256=GIA8XUx6ujQq_SUDYDd7RShhVcCOk3GrxAJ9JUXlgYA,109495
|
|
627
|
+
udata-6.1.7.dev26008.dist-info/WHEEL,sha256=iYlv5fX357PQyRT2o6tw1bN-YcKFFHKqB_LwHO5wP-g,110
|
|
628
|
+
udata-6.1.7.dev26008.dist-info/entry_points.txt,sha256=XACUgLu26a0tcYEoS6v8Av8yA-LSsH1XwB5AEM4jOPg,330
|
|
629
|
+
udata-6.1.7.dev26008.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
|
|
630
|
+
udata-6.1.7.dev26008.dist-info/RECORD,,
|