| 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 | |
|---|