[3] | 1 | from mako import runtime, filters, cache |
---|
| 2 | UNDEFINED = runtime.UNDEFINED |
---|
| 3 | __M_dict_builtin = dict |
---|
| 4 | __M_locals_builtin = locals |
---|
| 5 | _magic_number = 5 |
---|
| 6 | _modified_time = 1287725781.101141 |
---|
| 7 | _template_filename='templates/tool_form.mako' |
---|
| 8 | _template_uri='tool_form.mako' |
---|
| 9 | _template_cache=cache.Cache(__name__, _modified_time) |
---|
| 10 | _source_encoding=None |
---|
| 11 | _exports = ['do_inputs', 'row_for_param'] |
---|
| 12 | |
---|
| 13 | |
---|
| 14 | def render_body(context,**pageargs): |
---|
| 15 | context.caller_stack._push_frame() |
---|
| 16 | try: |
---|
| 17 | __M_locals = __M_dict_builtin(pageargs=pageargs) |
---|
| 18 | add_frame = context.get('add_frame', UNDEFINED) |
---|
| 19 | errors = context.get('errors', UNDEFINED) |
---|
| 20 | h = context.get('h', UNDEFINED) |
---|
| 21 | tool = context.get('tool', UNDEFINED) |
---|
| 22 | def do_inputs(inputs,tool_state,errors,prefix,other_values=None): |
---|
| 23 | return render_do_inputs(context.locals_(__M_locals),inputs,tool_state,errors,prefix,other_values) |
---|
| 24 | len = context.get('len', UNDEFINED) |
---|
| 25 | util = context.get('util', UNDEFINED) |
---|
| 26 | unicode = context.get('unicode', UNDEFINED) |
---|
| 27 | type = context.get('type', UNDEFINED) |
---|
| 28 | tool_state = context.get('tool_state', UNDEFINED) |
---|
| 29 | trans = context.get('trans', UNDEFINED) |
---|
| 30 | AttributeError = context.get('AttributeError', UNDEFINED) |
---|
| 31 | app = context.get('app', UNDEFINED) |
---|
| 32 | __M_writer = context.writer() |
---|
| 33 | # SOURCE LINE 1 |
---|
| 34 | __M_writer(u'<!-- -->\n<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\n\n') |
---|
| 35 | # SOURCE LINE 4 |
---|
| 36 | |
---|
| 37 | from galaxy.util.expressions import ExpressionContext |
---|
| 38 | |
---|
| 39 | |
---|
| 40 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin()[__M_key]) for __M_key in ['ExpressionContext'] if __M_key in __M_locals_builtin()])) |
---|
| 41 | # SOURCE LINE 6 |
---|
| 42 | __M_writer(u'\n\n<html>\n\n<head>\n<title>Galaxy</title>\n<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n') |
---|
| 43 | # SOURCE LINE 13 |
---|
| 44 | __M_writer(unicode(h.css( "base", "autocomplete_tagging" ))) |
---|
| 45 | __M_writer(u'\n') |
---|
| 46 | # SOURCE LINE 14 |
---|
| 47 | __M_writer(unicode(h.js( "jquery", "galaxy.base", "jquery.autocomplete" ))) |
---|
| 48 | __M_writer(u'\n<script type="text/javascript">\n$(function() {\n $(window).bind("refresh_on_change", function() {\n $(\':file\').each( function() {\n var file = $(this);\n var file_value = file.val();\n if (file_value) {\n // disable file input, since we don\'t want to upload the file on refresh\n var file_name = $(this).attr("name");\n file.attr( { name: \'replaced_file_input_\' + file_name, disabled: true } );\n // create a new hidden field which stores the filename and has the original name of the file input\n var new_file_input = $(document.createElement(\'input\'));\n new_file_input.attr( { "type", "hidden", "value": file_value, "name": file_name } );\n file.after(new_file_input);\n }\n });\n });\n});\n\n') |
---|
| 49 | # SOURCE LINE 34 |
---|
| 50 | if not add_frame.debug: |
---|
| 51 | # SOURCE LINE 35 |
---|
| 52 | __M_writer(u' if( window.name != "galaxy_main" ) {\n location.replace( \'') |
---|
| 53 | # SOURCE LINE 36 |
---|
| 54 | __M_writer(unicode(h.url_for( controller='root', action='index', tool_id=tool.id ))) |
---|
| 55 | __M_writer(u"' );\n }\n") |
---|
| 56 | # SOURCE LINE 39 |
---|
| 57 | __M_writer(u'function checkUncheckAll( name, check )\n{\n if ( check == 0 )\n {\n $("input[name=" + name + "][type=\'checkbox\']").attr(\'checked\', false);\n }\n else\n {\n $("input[name=" + name + "][type=\'checkbox\']").attr(\'checked\', true );\n }\n}\n\n</script>\n</head>\n\n<body>\n ') |
---|
| 58 | # SOURCE LINE 128 |
---|
| 59 | __M_writer(u'\n \n ') |
---|
| 60 | # SOURCE LINE 169 |
---|
| 61 | __M_writer(u'\n \n') |
---|
| 62 | # SOURCE LINE 171 |
---|
| 63 | if add_frame.from_noframe: |
---|
| 64 | # SOURCE LINE 172 |
---|
| 65 | __M_writer(u' <div class="warningmessage">\n <strong>Welcome to Galaxy</strong>\n <hr/>\n It appears that you found this tool from a link outside of Galaxy.\n If you\'re not familiar with Galaxy, please consider visiting the\n <a href="') |
---|
| 66 | # SOURCE LINE 177 |
---|
| 67 | __M_writer(unicode(h.url_for( controller='root' ))) |
---|
| 68 | __M_writer(u'" target="_top">welcome page</a>.\n To learn more about what Galaxy is and what it can do for you, please visit\n the <a href="$add_frame.wiki_url" target="_top">Galaxy wiki</a>.\n </div>\n <br/>\n') |
---|
| 69 | # SOURCE LINE 183 |
---|
| 70 | __M_writer(u' \n') |
---|
| 71 | # SOURCE LINE 186 |
---|
| 72 | __M_writer(u' ') |
---|
| 73 | |
---|
| 74 | try: |
---|
| 75 | tool_url = h.url_for(tool.action) |
---|
| 76 | except AttributeError: |
---|
| 77 | assert len(tool.action) == 2 |
---|
| 78 | tool_url = tool.action[0] + h.url_for(tool.action[1]) |
---|
| 79 | |
---|
| 80 | |
---|
| 81 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin()[__M_key]) for __M_key in ['tool_url'] if __M_key in __M_locals_builtin()])) |
---|
| 82 | # SOURCE LINE 192 |
---|
| 83 | __M_writer(u'<div class="toolForm" id="') |
---|
| 84 | __M_writer(unicode(tool.id)) |
---|
| 85 | __M_writer(u'">\n') |
---|
| 86 | # SOURCE LINE 193 |
---|
| 87 | if tool.has_multiple_pages: |
---|
| 88 | # SOURCE LINE 194 |
---|
| 89 | __M_writer(u' <div class="toolFormTitle">') |
---|
| 90 | __M_writer(unicode(tool.name)) |
---|
| 91 | __M_writer(u' (step ') |
---|
| 92 | __M_writer(unicode(tool_state.page+1)) |
---|
| 93 | __M_writer(u' of ') |
---|
| 94 | __M_writer(unicode(tool.npages)) |
---|
| 95 | __M_writer(u')</div>\n') |
---|
| 96 | # SOURCE LINE 195 |
---|
| 97 | else: |
---|
| 98 | # SOURCE LINE 196 |
---|
| 99 | __M_writer(u' <div class="toolFormTitle">') |
---|
| 100 | __M_writer(unicode(tool.name)) |
---|
| 101 | __M_writer(u'</div>\n') |
---|
| 102 | # SOURCE LINE 198 |
---|
| 103 | __M_writer(u' <div class="toolFormBody">\n <form id="tool_form" name="tool_form" action="') |
---|
| 104 | # SOURCE LINE 199 |
---|
| 105 | __M_writer(unicode(tool_url)) |
---|
| 106 | __M_writer(u'" enctype="') |
---|
| 107 | __M_writer(unicode(tool.enctype)) |
---|
| 108 | __M_writer(u'" target="') |
---|
| 109 | __M_writer(unicode(tool.target)) |
---|
| 110 | __M_writer(u'" method="') |
---|
| 111 | __M_writer(unicode(tool.method)) |
---|
| 112 | __M_writer(u'">\n <input type="hidden" name="tool_id" value="') |
---|
| 113 | # SOURCE LINE 200 |
---|
| 114 | __M_writer(unicode(tool.id)) |
---|
| 115 | __M_writer(u'">\n <input type="hidden" name="tool_state" value="') |
---|
| 116 | # SOURCE LINE 201 |
---|
| 117 | __M_writer(unicode(util.object_to_string( tool_state.encode( tool, app ) ))) |
---|
| 118 | __M_writer(u'">\n') |
---|
| 119 | # SOURCE LINE 202 |
---|
| 120 | if tool.display_by_page[tool_state.page]: |
---|
| 121 | # SOURCE LINE 203 |
---|
| 122 | __M_writer(u' ') |
---|
| 123 | __M_writer(unicode(trans.fill_template_string( tool.display_by_page[tool_state.page], context=tool.get_param_html_map( trans, tool_state.page, tool_state.inputs ) ))) |
---|
| 124 | __M_writer(u'\n <input type="submit" class="primary-button" name="runtool_btn" value="Execute">\n') |
---|
| 125 | # SOURCE LINE 205 |
---|
| 126 | else: |
---|
| 127 | # SOURCE LINE 206 |
---|
| 128 | __M_writer(u' ') |
---|
| 129 | __M_writer(unicode(do_inputs( tool.inputs_by_page[ tool_state.page ], tool_state.inputs, errors, "" ))) |
---|
| 130 | __M_writer(u'\n <div class="form-row">\n') |
---|
| 131 | # SOURCE LINE 208 |
---|
| 132 | if tool_state.page == tool.last_page: |
---|
| 133 | # SOURCE LINE 209 |
---|
| 134 | __M_writer(u' <input type="submit" class="primary-button" name="runtool_btn" value="Execute">\n') |
---|
| 135 | # SOURCE LINE 210 |
---|
| 136 | else: |
---|
| 137 | # SOURCE LINE 211 |
---|
| 138 | __M_writer(u' <input type="submit" class="primary-button" name="runtool_btn" value="Next step">\n') |
---|
| 139 | # SOURCE LINE 213 |
---|
| 140 | __M_writer(u' </div>\n') |
---|
| 141 | # SOURCE LINE 215 |
---|
| 142 | __M_writer(u' </form>\n </div>\n </div>\n') |
---|
| 143 | # SOURCE LINE 218 |
---|
| 144 | if tool.help: |
---|
| 145 | # SOURCE LINE 219 |
---|
| 146 | __M_writer(u' <div class="toolHelp">\n <div class="toolHelpBody">\n ') |
---|
| 147 | # SOURCE LINE 221 |
---|
| 148 | |
---|
| 149 | if tool.has_multiple_pages: |
---|
| 150 | tool_help = tool.help_by_page[tool_state.page] |
---|
| 151 | else: |
---|
| 152 | tool_help = tool.help |
---|
| 153 | |
---|
| 154 | # Convert to unicode to display non-ascii characters. |
---|
| 155 | if type( tool_help ) is not unicode: |
---|
| 156 | tool_help = unicode( tool_help, 'utf-8') |
---|
| 157 | |
---|
| 158 | |
---|
| 159 | __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin()[__M_key]) for __M_key in ['tool_help'] if __M_key in __M_locals_builtin()])) |
---|
| 160 | # SOURCE LINE 230 |
---|
| 161 | __M_writer(u'\n ') |
---|
| 162 | # SOURCE LINE 231 |
---|
| 163 | __M_writer(unicode(tool_help)) |
---|
| 164 | __M_writer(u'\n </div> \n </div>\n') |
---|
| 165 | # SOURCE LINE 235 |
---|
| 166 | __M_writer(u'</body>\n\n<script type="text/javascript">\n') |
---|
| 167 | # SOURCE LINE 239 |
---|
| 168 | __M_writer(u" $( function() {\n $( 'li > ul' ).each( function( i ) {\n if ( $( this )[0].className == 'toolParameterExpandableCollapsable' )\n {\n var parent_li = $( this ).parent( 'li' );\n var sub_ul = $( this ).remove();\n parent_li.find( 'span' ).wrapInner( '<a/>' ).find( 'a' ).click( function() {\n sub_ul.toggle();\n $( this )[0].innerHTML = ( sub_ul[0].style.display=='none' ) ? '[+]' : '[-]';\n });\n parent_li.append( sub_ul );\n }\n });\n $( 'ul ul' ).each( function(i) {\n if ( $( this )[0].className == 'toolParameterExpandableCollapsable' && this.attributes.getNamedItem( 'default_state' ).value == 'collapsed' )\n {\n $( this ).hide();\n }\n });\n });\n\n") |
---|
| 169 | # SOURCE LINE 261 |
---|
| 170 | __M_writer(u'$( function() {\n $("div.checkUncheckAllPlaceholder").each( function( i ) {\n $( this )[0].innerHTML = \'<a class="action-button" onclick="checkUncheckAll( \\\'\' + this.attributes.getNamedItem( \'checkbox_name\' ).value + \'\\\', 1 );"><span>Select All</span></a> <a class="action-button" onclick="checkUncheckAll( \\\'\' + this.attributes.getNamedItem( \'checkbox_name\' ).value + \'\\\', 0 );"><span>Unselect All</span></a>\';\n });\n});\n\n</script>\n\n</html>\n') |
---|
| 171 | return '' |
---|
| 172 | finally: |
---|
| 173 | context.caller_stack._pop_frame() |
---|
| 174 | |
---|
| 175 | |
---|
| 176 | def render_do_inputs(context,inputs,tool_state,errors,prefix,other_values=None): |
---|
| 177 | context.caller_stack._push_frame() |
---|
| 178 | try: |
---|
| 179 | def row_for_param(prefix,param,parent_state,parent_errors,other_values): |
---|
| 180 | return render_row_for_param(context,prefix,param,parent_state,parent_errors,other_values) |
---|
| 181 | h = context.get('h', UNDEFINED) |
---|
| 182 | def do_inputs(inputs,tool_state,errors,prefix,other_values=None): |
---|
| 183 | return render_do_inputs(context,inputs,tool_state,errors,prefix,other_values) |
---|
| 184 | len = context.get('len', UNDEFINED) |
---|
| 185 | range = context.get('range', UNDEFINED) |
---|
| 186 | dict = context.get('dict', UNDEFINED) |
---|
| 187 | str = context.get('str', UNDEFINED) |
---|
| 188 | enumerate = context.get('enumerate', UNDEFINED) |
---|
| 189 | trans = context.get('trans', UNDEFINED) |
---|
| 190 | ExpressionContext = context.get('ExpressionContext', UNDEFINED) |
---|
| 191 | __M_writer = context.writer() |
---|
| 192 | # SOURCE LINE 55 |
---|
| 193 | __M_writer(u'\n ') |
---|
| 194 | # SOURCE LINE 56 |
---|
| 195 | other_values = ExpressionContext( tool_state, other_values ) |
---|
| 196 | |
---|
| 197 | __M_writer(u'\n') |
---|
| 198 | # SOURCE LINE 57 |
---|
| 199 | for input_index, input in enumerate( inputs.itervalues() ): |
---|
| 200 | # SOURCE LINE 58 |
---|
| 201 | if input.type == "repeat": |
---|
| 202 | # SOURCE LINE 59 |
---|
| 203 | __M_writer(u' <div class="repeat-group">\n <div class="form-title-row"><b>') |
---|
| 204 | # SOURCE LINE 60 |
---|
| 205 | __M_writer(unicode(input.title_plural)) |
---|
| 206 | __M_writer(u'</b></div>\n ') |
---|
| 207 | # SOURCE LINE 61 |
---|
| 208 | repeat_state = tool_state[input.name] |
---|
| 209 | |
---|
| 210 | __M_writer(u'\n') |
---|
| 211 | # SOURCE LINE 62 |
---|
| 212 | for i in range( len( repeat_state ) ): |
---|
| 213 | # SOURCE LINE 63 |
---|
| 214 | __M_writer(u' <div class="repeat-group-item">\n ') |
---|
| 215 | # SOURCE LINE 64 |
---|
| 216 | |
---|
| 217 | if input.name in errors: |
---|
| 218 | rep_errors = errors[input.name][i] |
---|
| 219 | else: |
---|
| 220 | rep_errors = dict() |
---|
| 221 | index = repeat_state[i]['__index__'] |
---|
| 222 | |
---|
| 223 | |
---|
| 224 | # SOURCE LINE 70 |
---|
| 225 | __M_writer(u'\n <div class="form-title-row"><b>') |
---|
| 226 | # SOURCE LINE 71 |
---|
| 227 | __M_writer(unicode(input.title)) |
---|
| 228 | __M_writer(u' ') |
---|
| 229 | __M_writer(unicode(i + 1)) |
---|
| 230 | __M_writer(u'</b></div>\n ') |
---|
| 231 | # SOURCE LINE 72 |
---|
| 232 | __M_writer(unicode(do_inputs( input.inputs, repeat_state[i], rep_errors, prefix + input.name + "_" + str(index) + "|", other_values ))) |
---|
| 233 | __M_writer(u'\n <div class="form-row"><input type="submit" name="') |
---|
| 234 | # SOURCE LINE 73 |
---|
| 235 | __M_writer(unicode(prefix)) |
---|
| 236 | __M_writer(unicode(input.name)) |
---|
| 237 | __M_writer(u'_') |
---|
| 238 | __M_writer(unicode(index)) |
---|
| 239 | __M_writer(u'_remove" value="Remove ') |
---|
| 240 | __M_writer(unicode(input.title)) |
---|
| 241 | __M_writer(u' ') |
---|
| 242 | __M_writer(unicode(i+1)) |
---|
| 243 | __M_writer(u'"></div>\n </div>\n') |
---|
| 244 | # SOURCE LINE 75 |
---|
| 245 | if rep_errors.has_key( '__index__' ): |
---|
| 246 | # SOURCE LINE 76 |
---|
| 247 | __M_writer(u' <div><img style="vertical-align: middle;" src="') |
---|
| 248 | __M_writer(unicode(h.url_for('/static/style/error_small.png'))) |
---|
| 249 | __M_writer(u'"> <span style="vertical-align: middle;">') |
---|
| 250 | __M_writer(unicode(rep_errors['__index__'])) |
---|
| 251 | __M_writer(u'</span></div>\n') |
---|
| 252 | # SOURCE LINE 79 |
---|
| 253 | __M_writer(u' <div class="form-row"><input type="submit" name="') |
---|
| 254 | __M_writer(unicode(prefix)) |
---|
| 255 | __M_writer(unicode(input.name)) |
---|
| 256 | __M_writer(u'_add" value="Add new ') |
---|
| 257 | __M_writer(unicode(input.title)) |
---|
| 258 | __M_writer(u'"></div>\n </div>\n') |
---|
| 259 | # SOURCE LINE 81 |
---|
| 260 | elif input.type == "conditional": |
---|
| 261 | # SOURCE LINE 82 |
---|
| 262 | __M_writer(u' ') |
---|
| 263 | |
---|
| 264 | group_state = tool_state[input.name] |
---|
| 265 | group_errors = errors.get( input.name, {} ) |
---|
| 266 | current_case = group_state['__current_case__'] |
---|
| 267 | group_prefix = prefix + input.name + "|" |
---|
| 268 | |
---|
| 269 | |
---|
| 270 | # SOURCE LINE 87 |
---|
| 271 | __M_writer(u'\n') |
---|
| 272 | # SOURCE LINE 88 |
---|
| 273 | if input.value_ref_in_group: |
---|
| 274 | # SOURCE LINE 89 |
---|
| 275 | __M_writer(u' ') |
---|
| 276 | __M_writer(unicode(row_for_param( group_prefix, input.test_param, group_state, group_errors, other_values ))) |
---|
| 277 | __M_writer(u'\n') |
---|
| 278 | # SOURCE LINE 91 |
---|
| 279 | __M_writer(u' ') |
---|
| 280 | __M_writer(unicode(do_inputs( input.cases[current_case].inputs, group_state, group_errors, group_prefix, other_values ))) |
---|
| 281 | __M_writer(u'\n') |
---|
| 282 | # SOURCE LINE 92 |
---|
| 283 | elif input.type == "upload_dataset": |
---|
| 284 | # SOURCE LINE 93 |
---|
| 285 | if input.get_datatype( trans, other_values ).composite_type is None: #have non-composite upload appear as before |
---|
| 286 | # SOURCE LINE 94 |
---|
| 287 | __M_writer(u' ') |
---|
| 288 | |
---|
| 289 | if input.name in errors: |
---|
| 290 | rep_errors = errors[input.name][0] |
---|
| 291 | else: |
---|
| 292 | rep_errors = dict() |
---|
| 293 | |
---|
| 294 | |
---|
| 295 | # SOURCE LINE 99 |
---|
| 296 | __M_writer(u'\n ') |
---|
| 297 | # SOURCE LINE 100 |
---|
| 298 | __M_writer(unicode(do_inputs( input.inputs, tool_state[input.name][0], rep_errors, prefix + input.name + "_" + str( 0 ) + "|", other_values ))) |
---|
| 299 | __M_writer(u'\n') |
---|
| 300 | # SOURCE LINE 101 |
---|
| 301 | else: |
---|
| 302 | # SOURCE LINE 102 |
---|
| 303 | __M_writer(u' <div class="repeat-group">\n <div class="form-title-row"><b>') |
---|
| 304 | # SOURCE LINE 103 |
---|
| 305 | __M_writer(unicode(input.group_title( other_values ))) |
---|
| 306 | __M_writer(u'</b></div>\n ') |
---|
| 307 | # SOURCE LINE 104 |
---|
| 308 | |
---|
| 309 | repeat_state = tool_state[input.name] |
---|
| 310 | |
---|
| 311 | |
---|
| 312 | # SOURCE LINE 106 |
---|
| 313 | __M_writer(u'\n') |
---|
| 314 | # SOURCE LINE 107 |
---|
| 315 | for i in range( len( repeat_state ) ): |
---|
| 316 | # SOURCE LINE 108 |
---|
| 317 | __M_writer(u' <div class="repeat-group-item">\n ') |
---|
| 318 | # SOURCE LINE 109 |
---|
| 319 | |
---|
| 320 | if input.name in errors: |
---|
| 321 | rep_errors = errors[input.name][i] |
---|
| 322 | else: |
---|
| 323 | rep_errors = dict() |
---|
| 324 | index = repeat_state[i]['__index__'] |
---|
| 325 | |
---|
| 326 | |
---|
| 327 | # SOURCE LINE 115 |
---|
| 328 | __M_writer(u'\n <div class="form-title-row"><b>File Contents for ') |
---|
| 329 | # SOURCE LINE 116 |
---|
| 330 | __M_writer(unicode(input.title_by_index( trans, i, other_values ))) |
---|
| 331 | __M_writer(u'</b></div>\n ') |
---|
| 332 | # SOURCE LINE 117 |
---|
| 333 | __M_writer(unicode(do_inputs( input.inputs, repeat_state[i], rep_errors, prefix + input.name + "_" + str(index) + "|", other_values ))) |
---|
| 334 | __M_writer(u'\n') |
---|
| 335 | # SOURCE LINE 119 |
---|
| 336 | __M_writer(u' </div>\n') |
---|
| 337 | # SOURCE LINE 122 |
---|
| 338 | __M_writer(u' </div>\n') |
---|
| 339 | # SOURCE LINE 124 |
---|
| 340 | else: |
---|
| 341 | # SOURCE LINE 125 |
---|
| 342 | __M_writer(u' ') |
---|
| 343 | __M_writer(unicode(row_for_param( prefix, input, tool_state, errors, other_values ))) |
---|
| 344 | __M_writer(u'\n') |
---|
| 345 | # SOURCE LINE 128 |
---|
| 346 | __M_writer(u' ') |
---|
| 347 | return '' |
---|
| 348 | finally: |
---|
| 349 | context.caller_stack._pop_frame() |
---|
| 350 | |
---|
| 351 | |
---|
| 352 | def render_row_for_param(context,prefix,param,parent_state,parent_errors,other_values): |
---|
| 353 | context.caller_stack._push_frame() |
---|
| 354 | try: |
---|
| 355 | h = context.get('h', UNDEFINED) |
---|
| 356 | trans = context.get('trans', UNDEFINED) |
---|
| 357 | type = context.get('type', UNDEFINED) |
---|
| 358 | unicode = context.get('unicode', UNDEFINED) |
---|
| 359 | __M_writer = context.writer() |
---|
| 360 | # SOURCE LINE 130 |
---|
| 361 | __M_writer(u'\n ') |
---|
| 362 | # SOURCE LINE 131 |
---|
| 363 | |
---|
| 364 | if parent_errors.has_key( param.name ): |
---|
| 365 | cls = "form-row form-row-error" |
---|
| 366 | else: |
---|
| 367 | cls = "form-row" |
---|
| 368 | |
---|
| 369 | |
---|
| 370 | # SOURCE LINE 136 |
---|
| 371 | __M_writer(u'\n <div class="') |
---|
| 372 | # SOURCE LINE 137 |
---|
| 373 | __M_writer(unicode(cls)) |
---|
| 374 | __M_writer(u'">\n ') |
---|
| 375 | # SOURCE LINE 138 |
---|
| 376 | label = param.get_label() |
---|
| 377 | |
---|
| 378 | __M_writer(u'\n') |
---|
| 379 | # SOURCE LINE 139 |
---|
| 380 | if label: |
---|
| 381 | # SOURCE LINE 140 |
---|
| 382 | __M_writer(u' <label>\n ') |
---|
| 383 | # SOURCE LINE 141 |
---|
| 384 | __M_writer(unicode(label)) |
---|
| 385 | __M_writer(u':\n </label>\n') |
---|
| 386 | # SOURCE LINE 144 |
---|
| 387 | __M_writer(u' ') |
---|
| 388 | |
---|
| 389 | field = param.get_html_field( trans, parent_state[ param.name ], other_values ) |
---|
| 390 | field.refresh_on_change = param.refresh_on_change |
---|
| 391 | |
---|
| 392 | # Field may contain characters submitted by user and these characters may be unicode; handle non-ascii characters gracefully. |
---|
| 393 | field_html = field.get_html( prefix ) |
---|
| 394 | if type( field_html ) is not unicode: |
---|
| 395 | field_html = unicode( field_html, 'utf-8' ) |
---|
| 396 | |
---|
| 397 | |
---|
| 398 | # SOURCE LINE 152 |
---|
| 399 | __M_writer(u'\n <div class="form-row-input">') |
---|
| 400 | # SOURCE LINE 153 |
---|
| 401 | __M_writer(unicode(field_html)) |
---|
| 402 | __M_writer(u'</div>\n') |
---|
| 403 | # SOURCE LINE 154 |
---|
| 404 | if parent_errors.has_key( param.name ): |
---|
| 405 | # SOURCE LINE 155 |
---|
| 406 | __M_writer(u' <div class="form-row-error-message">\n <div><img style="vertical-align: middle;" src="') |
---|
| 407 | # SOURCE LINE 156 |
---|
| 408 | __M_writer(unicode(h.url_for('/static/style/error_small.png'))) |
---|
| 409 | __M_writer(u'"> <span style="vertical-align: middle;">') |
---|
| 410 | __M_writer(unicode(parent_errors[param.name])) |
---|
| 411 | __M_writer(u'</span></div>\n </div>\n') |
---|
| 412 | # SOURCE LINE 159 |
---|
| 413 | __M_writer(u' \n') |
---|
| 414 | # SOURCE LINE 160 |
---|
| 415 | if param.help: |
---|
| 416 | # SOURCE LINE 161 |
---|
| 417 | __M_writer(u' <div class="toolParamHelp" style="clear: both;">\n ') |
---|
| 418 | # SOURCE LINE 162 |
---|
| 419 | __M_writer(unicode(param.help)) |
---|
| 420 | __M_writer(u'\n </div>\n') |
---|
| 421 | # SOURCE LINE 165 |
---|
| 422 | __M_writer(u' \n <div style="clear: both"></div>\n \n </div>\n ') |
---|
| 423 | return '' |
---|
| 424 | finally: |
---|
| 425 | context.caller_stack._pop_frame() |
---|
| 426 | |
---|
| 427 | |
---|