Changeset 847
- Timestamp:
- 02/03/11 17:16:48 (2 years ago)
- Location:
- trunk/opentrials
- Files:
-
- 10 added
- 11 modified
-
custom/ecgovbr/static/css/style.css (modified) (1 diff)
-
custom/ecgovbr/static/js/submission.utils.js (modified) (9 diffs)
-
decsclient/templates/decsclient (added)
-
decsclient/templates/decsclient/test_search.html (added)
-
decsclient/tests.py (modified) (2 diffs)
-
decsclient/views.py (modified) (3 diffs)
-
icd10client (added)
-
icd10client/__init__.py (added)
-
icd10client/templates (added)
-
icd10client/templates/icd10client (added)
-
icd10client/templates/icd10client/test_search.html (added)
-
icd10client/tests.py (added)
-
icd10client/urls.py (added)
-
icd10client/views.py (added)
-
repository/choices.py (modified) (1 diff)
-
repository/templates/repository/step_3.html (modified) (1 diff)
-
repository/templates/repository/step_4.html (modified) (1 diff)
-
settings.py (modified) (1 diff)
-
static/css/style.css (modified) (1 diff)
-
static/js/submission.utils.js (modified) (9 diffs)
-
urls.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/opentrials/custom/ecgovbr/static/css/style.css
r777 r847 856 856 display: block; 857 857 } 858 859 /* AJAX ICD10 Tools */ 860 td div.icd10tool { 861 display: none; 862 } 863 864 /*td select,*/ 865 td div.icd10tool input { 866 width: 46%; 867 } 868 869 td.showicd10 div.icd10tool { 870 display: block; 871 } 872 858 873 859 874 .issue{ -
trunk/opentrials/custom/ecgovbr/static/js/submission.utils.js
r596 r847 61 61 window.decsdata = {}; 62 62 } 63 63 if( window.icd10data == undefined ){ 64 window.icd10data = {}; 65 } 64 66 /** 65 67 * A utility to name and create form elements … … 83 85 return function(data){ 84 86 var lang = decs.lang.substring(0,2); 85 for(var i=0; i <data.length;i++){87 for(var i=0; i < data.length; i++){ 86 88 var option = $("<option>").attr("value",data[i].fields.label) 87 89 .html(data[i].fields.description[lang]) … … 95 97 .attr("value",this.value) 96 98 .attr("readonly","readonly"); 97 $("input[name="+decs.set+"-text]") 98 .attr("value",window.decsdata[this.value].en) 99 .attr("readonly","readonly"); 100 $("input[name="+decs.set+"-text|es]") 101 .attr("value",window.decsdata[this.value].es) 102 .attr("readonly","readonly"); 103 $("input[name="+decs.set+"-text|pt-br]") 104 .attr("value",window.decsdata[this.value].pt) 105 .attr("readonly","readonly"); 99 if (typeof window.decsdata[this.value] != "undefined"){ 100 $("input[name="+decs.set+"-text]") 101 .attr("value",window.decsdata[this.value].en) 102 .attr("readonly","readonly"); 103 $("input[name="+decs.set+"-text|es]") 104 .attr("value",window.decsdata[this.value].es) 105 .attr("readonly","readonly"); 106 $("input[name="+decs.set+"-text|pt-br]") 107 .attr("value",window.decsdata[this.value].pt) 108 .attr("readonly","readonly"); 109 } 106 110 }); 107 111 … … 122 126 123 127 /** 124 * Extend the django form and insert decselements125 */ 126 function getterm_event( decsclient_url,lang) {128 * Extend the django form to insert decs and icd10 elements 129 */ 130 function getterm_event(clients,lang) { 127 131 return function(){ 128 132 this.parentNode.className = ""; 129 if(this.value === 'DeCS'){ 133 if (this.value === 'DeCS') { 134 client_url = clients['decs_url']; 130 135 this.parentNode.className = "showdecs"; 131 136 var decs = make_decs_for(this,lang); 132 137 $(this).parents('table').find(":input[type=text]").attr("readonly","readonly"); 133 if ($('#'+decs.id('select')).length === 0){138 if ($('#'+decs.id('select')).length === 0) { 134 139 decs.create('div') 135 140 .attr('class','decstool') … … 137 142 .append(decs.create('select')); 138 143 139 $.get( decsclient_url,'',144 $.get(client_url,'', 140 145 make_decstool_callback(decs),"json"); 141 146 } 142 147 $(this.parentNode).find('.decstool :input[type=text]').removeAttr("readonly"); 143 }else{ 148 149 } else if (this.value === 'ICD-10') { 150 client_url = clients['icd10_url']; 151 this.parentNode.className = "showicd10"; 152 var icd10 = make_icd10_for(this,lang); 153 $(this).parents('table').find(":input[type=text]").attr("readonly","readonly"); 154 if ($('#'+icd10.id('select')).length === 0) { 155 icd10.create('div') 156 .attr('class','icd10tool') 157 .appendTo(this.parentNode) 158 .append(icd10.create('select')); 159 160 $.get(client_url,'', 161 make_icd10tool_callback(icd10),"json"); 162 } 163 $(this.parentNode).find('.icd10tool :input[type=text]').removeAttr("readonly"); 164 165 } else { 144 166 $(this).parents('table').find(":input[type=text]").removeAttr("readonly"); 145 167 } … … 148 170 149 171 /** 150 * Extend the django form and insert decselements151 */ 152 function search_event( decsclient_url,label,lang) {172 * Extend the django form to insert decs and icd10 elements 173 */ 174 function search_event(clients,label,lang) { 153 175 return function(){ 154 176 this.parentNode.className = ""; 155 177 if(this.value === 'DeCS'){ 178 client_url = clients['decs_url']; 179 client_decs_url = clients['decs_url']; 180 client_icd10_url = clients['icd10_url']; 181 156 182 this.parentNode.className = "showdecs"; 157 183 var decs = make_decs_for(this,lang); … … 180 206 $('#'+decs.id('select')).html(''); 181 207 182 $.get(decsclient_url+$('#'+decs.id('input')).val(),'', 208 if($(this).parent().siblings().val() === 'DeCS'){ 209 client_url = client_decs_url; 210 } else if($(this).parent().siblings().val() === 'ICD-10'){ 211 client_url = client_icd10_url; 212 } 213 $.get(client_url+$('#'+decs.id('input')).val(),'', 183 214 make_decstool_callback(decs), 184 215 'json'); … … 187 218 } 188 219 $(this.parentNode).find('.decstool :input[type=text]').removeAttr("readonly"); 220 } 221 else if(this.value === 'ICD-10'){ 222 client_url = clients['icd10_url']; 223 client_icd10_url = clients['icd10_url']; 224 client_decs_url = clients['decs_url']; 225 226 this.parentNode.className = "showicd10"; 227 var icd10 = make_icd10_for(this, lang); 228 229 $(this).parents('table').find(":input[type=text]").attr("readonly","readonly"); 230 231 if($(this.parentNode).find('.icd10tool').length === 0){ 232 icd10.create('div') 233 .attr('class','icd10tool') 234 .appendTo(this.parentNode) 235 .append(icd10.create('input').bind("keypress", function(e) { 236 if(e.keyCode === 13){ 237 $('#'+icd10.id('button')).click(); 238 return false; 239 } 240 })) 241 .append(icd10.create('button').html(label)); 242 243 $('#'+icd10.id('button')) 244 .click(function(evt){ 245 var icd10 = make_icd10_for(evt.target,lang); 246 if($('#'+icd10.id('select')).length === 0){ 247 icd10.create('select') 248 .insertAfter(this); 249 } 250 $('#'+icd10.id('select')).html(''); 251 252 if($(this).parent().siblings().val() === 'DeCS'){ 253 client_url = client_decs_url; 254 } else if($(this).parent().siblings().val() === 'ICD-10'){ 255 client_url = client_icd10_url; 256 } 257 258 $.get(client_url+$('#'+icd10.id('input')).val(),'', 259 make_icd10tool_callback(icd10), 260 'json'); 261 return false; 262 }); 263 } 264 $(this.parentNode).find('.icd10tool :input[type=text]').removeAttr("readonly"); 265 189 266 }else{ 190 267 $(this).parents('table').find(":input[type=text]").removeAttr("readonly"); … … 206 283 } 207 284 }); 208 } 209 285 }; 286 287 288 /** 289 * This is the callback for icd10client app 290 */ 291 function make_icd10tool_callback(icd10){ 292 return function(data) { 293 var lang = icd10.lang.substring(0,2); 294 for (var i=0; i < data.length; i++) { 295 var option = $("<option>").attr("value", data[i].fields.label) 296 .html(data[i].fields.description[lang]) 297 .appendTo('#'+icd10.id('select')); 298 window.icd10data[ data[i].fields.label ] = data[i].fields.description; 299 } 300 301 $('#'+icd10.id('select')).change(function(evt) { 302 icd10 = make_icd10_for(evt.target, icd10.lang); 303 $("input#id_"+icd10.set+"-code") 304 .attr("value",this.value) 305 .attr("readonly","readonly"); 306 if (typeof window.icd10data[this.value] != "undefined"){ 307 if (typeof window.icd10data[this.value].en != "undefined") { 308 $("input[name="+icd10.set+"-text]") 309 .attr("value",window.icd10data[this.value].en) 310 .attr("readonly","readonly"); 311 } else { 312 $("input[name="+icd10.set+"-text]") 313 .attr("value", '') 314 .removeAttr("readonly"); 315 } 316 if (typeof window.icd10data[this.value].es != "undefined") { 317 $("input[name="+icd10.set+"-text|es]") 318 .attr("value",window.icd10data[this.value].es) 319 .attr("readonly","readonly"); 320 } else { 321 $("input[name="+icd10.set+"-text|es]") 322 .attr("value", '') 323 .removeAttr("readonly"); 324 } 325 if (typeof window.icd10data[this.value].pt != "undefined") { 326 $("input[name="+icd10.set+"-text|pt-br]") 327 .attr("value",window.icd10data[this.value].pt) 328 .attr("readonly","readonly"); 329 } else { 330 $("input[name="+icd10.set+"-text|pt-br]") 331 .attr("value", '') 332 .removeAttr("readonly"); 333 } 334 } 335 }); 336 337 if( data.length === 1){ 338 $('#'+icd10.id('select') + " option").attr("selected", "selected"); 339 } 340 341 if($("input#id_"+icd10.set+"-code").val()){ 342 var code=$("input#id_"+icd10.set+"-code").val(); 343 $('#'+icd10.id('select')) 344 .find('option[value='+code+']') 345 .attr('selected', 'selected'); 346 } else { 347 $('#'+icd10.id('select')).change(); 348 } 349 } 350 } 351 352 /** 353 * A utility to name and create form elements (ICD10) 354 */ 355 function make_icd10_for(node, lang){ 356 var set = node.id.match(/[a-z]+-\d+/)[0]; // get django formset prefix 357 return {'lang':lang, 358 'select':set+"-comboicd10", 359 'div':set+'-icd10tools', 360 'input':set+'-icd10searchfield', 361 'button':set+'-icd10searchbutton', 362 'id':function(e){return 'id_'+ this[e];}, 363 'create':function(e){return $('<'+e+'>').attr('id',this.id(e)).attr('name',this[e]);}, 364 'set':set}; 365 } 366 -
trunk/opentrials/decsclient/tests.py
r623 r847 23 23 "The dict above is also a dict with 'description' key") 24 24 25 self.assertTrue('en' and 'es' and 'pt' in json[0]['fields']['description'], 26 "The dict contains labels in 3 languages") 25 self.assertTrue('en' in json[0]['fields']['description'], 26 "The dict must contain a label in the language en") 27 28 self.assertTrue('es' in json[0]['fields']['description'], 29 "The dict must contain a label in the language es") 30 31 self.assertTrue('pt' in json[0]['fields']['description'], 32 "The dict must contain a label in the language pt") 27 33 28 34 def test_search(self): … … 40 46 "The dict above is also a dict with 'description' key") 41 47 42 self.assertTrue('en' and 'es' and 'pt' in json[0]['fields']['description'], 43 "The dict contains labels in 3 languages") 48 self.assertTrue('en' in json[0]['fields']['description'], 49 "The dict must contain a label in the language en") 50 51 self.assertTrue('es' in json[0]['fields']['description'], 52 "The dict must contain a label in the language es") 53 54 self.assertTrue('pt' in json[0]['fields']['description'], 55 "The dict must contain a label in the language pt") 44 56 45 57 self.assertTrue('Q50.040.020' in (f['fields']['label'] for f in json ), -
trunk/opentrials/decsclient/views.py
r494 r847 36 36 params = {} 37 37 results = {} 38 39 language = request.LANGUAGE_CODE.lower() 40 if language == 'pt-br': 41 language = 'pt' 38 42 39 43 for lang in DECS_LANGS: … … 57 61 json = '[%s]' % ','.join((JSON_MULTILINGUAL_TERM % (id,desc) for desc,id in results.items())) 58 62 json_response = json_loads(json) 59 json_response.sort(key=lambda x: x['fields']['description'][lang ])63 json_response.sort(key=lambda x: x['fields']['description'][language]) 60 64 61 65 return HttpResponse(json_dumps(json_response), mimetype='application/json') … … 100 104 101 105 def test_search(request): 102 return render_to_response(" test_search.html", request)106 return render_to_response("decsclient/test_search.html", request) -
trunk/opentrials/repository/choices.py
r464 r847 65 65 ('DeCS', _('DeCS: Health Sciences Descriptors')), 66 66 ('ICD-10', _('ICD-10: International Classification of Diseases (10th. rev.)')), 67 ('CAS', _('Chemical Abstracts Service')),67 #('CAS', _('Chemical Abstracts Service')), 68 68 ] -
trunk/opentrials/repository/templates/repository/step_3.html
r819 r847 7 7 $(document).ready(function() { 8 8 $("div.g select") 9 .change(getterm_event('{% url decs.getdescendants code="C" %}','{{LANGUAGE_CODE}}')) 9 .change(getterm_event( 10 {'decs_url': '{% url decs.getdescendants code="C" %}', 11 'icd10_url': '{% url icd10.get_chapters %}'}, 12 '{{ LANGUAGE_CODE }}')) 10 13 .each(function(){$(this).change();}); 11 14 12 15 $("div.s select") 13 16 .change(search_event( 14 '{% url decs.search lang=LANGUAGE_CODE,term="" %}', 17 {'decs_url': '{% url decs.search lang=LANGUAGE_CODE, term="" %}', 18 'icd10_url': '{% url icd10.search lang=LANGUAGE_CODE, term="" %}'}, 15 19 '{% trans "Search terms" %}', 16 '{{ LANGUAGE_CODE}}'))20 '{{ LANGUAGE_CODE }}')) 17 21 .each(function(){$(this).change();}); 18 22 }); -
trunk/opentrials/repository/templates/repository/step_4.html
r819 r847 8 8 $("div.form select") 9 9 .change(search_event( 10 '{% url decs.search lang=LANGUAGE_CODE,term="" %}', 10 {'decs_url': '{% url decs.search lang=LANGUAGE_CODE, term="" %}', 11 'icd10_url': '{% url icd10.search lang=LANGUAGE_CODE, term="" %}'}, 11 12 '{% trans "Search terms" %}', 12 '{{ LANGUAGE_CODE}}'))13 '{{ LANGUAGE_CODE }}')) 13 14 .each(function(){$(this).change();}); 14 15 }); -
trunk/opentrials/settings.py
r844 r847 122 122 'assistance', 123 123 'decsclient', 124 #'icd10client',124 'icd10client', 125 125 'diagnostic', 126 126 'polyglot', -
trunk/opentrials/static/css/style.css
r774 r847 787 787 788 788 td.showdecs div.decstool { 789 display: block; 790 } 791 792 /* AJAX ICD10 Tools */ 793 td div.icd10tool { 794 display: none; 795 } 796 797 /*td select,*/ 798 td div.icd10tool input { 799 width: 46%; 800 } 801 802 td.showicd10 div.icd10tool { 789 803 display: block; 790 804 } -
trunk/opentrials/static/js/submission.utils.js
r596 r847 61 61 window.decsdata = {}; 62 62 } 63 63 if( window.icd10data == undefined ){ 64 window.icd10data = {}; 65 } 64 66 /** 65 67 * A utility to name and create form elements … … 83 85 return function(data){ 84 86 var lang = decs.lang.substring(0,2); 85 for(var i=0; i <data.length;i++){87 for(var i=0; i < data.length; i++){ 86 88 var option = $("<option>").attr("value",data[i].fields.label) 87 89 .html(data[i].fields.description[lang]) … … 95 97 .attr("value",this.value) 96 98 .attr("readonly","readonly"); 97 $("input[name="+decs.set+"-text]") 98 .attr("value",window.decsdata[this.value].en) 99 .attr("readonly","readonly"); 100 $("input[name="+decs.set+"-text|es]") 101 .attr("value",window.decsdata[this.value].es) 102 .attr("readonly","readonly"); 103 $("input[name="+decs.set+"-text|pt-br]") 104 .attr("value",window.decsdata[this.value].pt) 105 .attr("readonly","readonly"); 99 if (typeof window.decsdata[this.value] != "undefined"){ 100 $("input[name="+decs.set+"-text]") 101 .attr("value",window.decsdata[this.value].en) 102 .attr("readonly","readonly"); 103 $("input[name="+decs.set+"-text|es]") 104 .attr("value",window.decsdata[this.value].es) 105 .attr("readonly","readonly"); 106 $("input[name="+decs.set+"-text|pt-br]") 107 .attr("value",window.decsdata[this.value].pt) 108 .attr("readonly","readonly"); 109 } 106 110 }); 107 111 … … 122 126 123 127 /** 124 * Extend the django form and insert decselements125 */ 126 function getterm_event( decsclient_url,lang) {128 * Extend the django form to insert decs and icd10 elements 129 */ 130 function getterm_event(clients,lang) { 127 131 return function(){ 128 132 this.parentNode.className = ""; 129 if(this.value === 'DeCS'){ 133 if (this.value === 'DeCS') { 134 client_url = clients['decs_url']; 130 135 this.parentNode.className = "showdecs"; 131 136 var decs = make_decs_for(this,lang); 132 137 $(this).parents('table').find(":input[type=text]").attr("readonly","readonly"); 133 if ($('#'+decs.id('select')).length === 0){138 if ($('#'+decs.id('select')).length === 0) { 134 139 decs.create('div') 135 140 .attr('class','decstool') … … 137 142 .append(decs.create('select')); 138 143 139 $.get( decsclient_url,'',144 $.get(client_url,'', 140 145 make_decstool_callback(decs),"json"); 141 146 } 142 147 $(this.parentNode).find('.decstool :input[type=text]').removeAttr("readonly"); 143 }else{ 148 149 } else if (this.value === 'ICD-10') { 150 client_url = clients['icd10_url']; 151 this.parentNode.className = "showicd10"; 152 var icd10 = make_icd10_for(this,lang); 153 $(this).parents('table').find(":input[type=text]").attr("readonly","readonly"); 154 if ($('#'+icd10.id('select')).length === 0) { 155 icd10.create('div') 156 .attr('class','icd10tool') 157 .appendTo(this.parentNode) 158 .append(icd10.create('select')); 159 160 $.get(client_url,'', 161 make_icd10tool_callback(icd10),"json"); 162 } 163 $(this.parentNode).find('.icd10tool :input[type=text]').removeAttr("readonly"); 164 165 } else { 144 166 $(this).parents('table').find(":input[type=text]").removeAttr("readonly"); 145 167 } … … 148 170 149 171 /** 150 * Extend the django form and insert decselements151 */ 152 function search_event( decsclient_url,label,lang) {172 * Extend the django form to insert decs and icd10 elements 173 */ 174 function search_event(clients,label,lang) { 153 175 return function(){ 154 176 this.parentNode.className = ""; 155 177 if(this.value === 'DeCS'){ 178 client_url = clients['decs_url']; 179 client_decs_url = clients['decs_url']; 180 client_icd10_url = clients['icd10_url']; 181 156 182 this.parentNode.className = "showdecs"; 157 183 var decs = make_decs_for(this,lang); … … 180 206 $('#'+decs.id('select')).html(''); 181 207 182 $.get(decsclient_url+$('#'+decs.id('input')).val(),'', 208 if($(this).parent().siblings().val() === 'DeCS'){ 209 client_url = client_decs_url; 210 } else if($(this).parent().siblings().val() === 'ICD-10'){ 211 client_url = client_icd10_url; 212 } 213 $.get(client_url+$('#'+decs.id('input')).val(),'', 183 214 make_decstool_callback(decs), 184 215 'json'); … … 187 218 } 188 219 $(this.parentNode).find('.decstool :input[type=text]').removeAttr("readonly"); 220 } 221 else if(this.value === 'ICD-10'){ 222 client_url = clients['icd10_url']; 223 client_icd10_url = clients['icd10_url']; 224 client_decs_url = clients['decs_url']; 225 226 this.parentNode.className = "showicd10"; 227 var icd10 = make_icd10_for(this, lang); 228 229 $(this).parents('table').find(":input[type=text]").attr("readonly","readonly"); 230 231 if($(this.parentNode).find('.icd10tool').length === 0){ 232 icd10.create('div') 233 .attr('class','icd10tool') 234 .appendTo(this.parentNode) 235 .append(icd10.create('input').bind("keypress", function(e) { 236 if(e.keyCode === 13){ 237 $('#'+icd10.id('button')).click(); 238 return false; 239 } 240 })) 241 .append(icd10.create('button').html(label)); 242 243 $('#'+icd10.id('button')) 244 .click(function(evt){ 245 var icd10 = make_icd10_for(evt.target,lang); 246 if($('#'+icd10.id('select')).length === 0){ 247 icd10.create('select') 248 .insertAfter(this); 249 } 250 $('#'+icd10.id('select')).html(''); 251 252 if($(this).parent().siblings().val() === 'DeCS'){ 253 client_url = client_decs_url; 254 } else if($(this).parent().siblings().val() === 'ICD-10'){ 255 client_url = client_icd10_url; 256 } 257 258 $.get(client_url+$('#'+icd10.id('input')).val(),'', 259 make_icd10tool_callback(icd10), 260 'json'); 261 return false; 262 }); 263 } 264 $(this.parentNode).find('.icd10tool :input[type=text]').removeAttr("readonly"); 265 189 266 }else{ 190 267 $(this).parents('table').find(":input[type=text]").removeAttr("readonly"); … … 206 283 } 207 284 }); 208 } 209 285 }; 286 287 288 /** 289 * This is the callback for icd10client app 290 */ 291 function make_icd10tool_callback(icd10){ 292 return function(data) { 293 var lang = icd10.lang.substring(0,2); 294 for (var i=0; i < data.length; i++) { 295 var option = $("<option>").attr("value", data[i].fields.label) 296 .html(data[i].fields.description[lang]) 297 .appendTo('#'+icd10.id('select')); 298 window.icd10data[ data[i].fields.label ] = data[i].fields.description; 299 } 300 301 $('#'+icd10.id('select')).change(function(evt) { 302 icd10 = make_icd10_for(evt.target, icd10.lang); 303 $("input#id_"+icd10.set+"-code") 304 .attr("value",this.value) 305 .attr("readonly","readonly"); 306 if (typeof window.icd10data[this.value] != "undefined"){ 307 if (typeof window.icd10data[this.value].en != "undefined") { 308 $("input[name="+icd10.set+"-text]") 309 .attr("value",window.icd10data[this.value].en) 310 .attr("readonly","readonly"); 311 } else { 312 $("input[name="+icd10.set+"-text]") 313 .attr("value", '') 314 .removeAttr("readonly"); 315 } 316 if (typeof window.icd10data[this.value].es != "undefined") { 317 $("input[name="+icd10.set+"-text|es]") 318 .attr("value",window.icd10data[this.value].es) 319 .attr("readonly","readonly"); 320 } else { 321 $("input[name="+icd10.set+"-text|es]") 322 .attr("value", '') 323 .removeAttr("readonly"); 324 } 325 if (typeof window.icd10data[this.value].pt != "undefined") { 326 $("input[name="+icd10.set+"-text|pt-br]") 327 .attr("value",window.icd10data[this.value].pt) 328 .attr("readonly","readonly"); 329 } else { 330 $("input[name="+icd10.set+"-text|pt-br]") 331 .attr("value", '') 332 .removeAttr("readonly"); 333 } 334 } 335 }); 336 337 if( data.length === 1){ 338 $('#'+icd10.id('select') + " option").attr("selected", "selected"); 339 } 340 341 if($("input#id_"+icd10.set+"-code").val()){ 342 var code=$("input#id_"+icd10.set+"-code").val(); 343 $('#'+icd10.id('select')) 344 .find('option[value='+code+']') 345 .attr('selected', 'selected'); 346 } else { 347 $('#'+icd10.id('select')).change(); 348 } 349 } 350 } 351 352 /** 353 * A utility to name and create form elements (ICD10) 354 */ 355 function make_icd10_for(node, lang){ 356 var set = node.id.match(/[a-z]+-\d+/)[0]; // get django formset prefix 357 return {'lang':lang, 358 'select':set+"-comboicd10", 359 'div':set+'-icd10tools', 360 'input':set+'-icd10searchfield', 361 'button':set+'-icd10searchbutton', 362 'id':function(e){return 'id_'+ this[e];}, 363 'create':function(e){return $('<'+e+'>').attr('id',this.id(e)).attr('name',this[e]);}, 364 'set':set}; 365 } 366 -
trunk/opentrials/urls.py
r829 r847 46 46 url(r'^decs/', include('opentrials.decsclient.urls')), 47 47 48 url(r'^icd10/', include('opentrials.icd10client.urls')), 49 48 50 # setting django-registration to use unique email form 49 51 url(r'^accounts/register/$', 'registration.views.register',
