source: trunk/skins/lemill/widget_pilot.pt @ 1306

Revision 1306, 31.2 KB checked in by pjotr, 13 years ago (diff)

Fixes #1112, all Delete buttons for all teh widgets behave like that now

Line 
1<html xmlns="http://www.w3.org/1999/xhtml"
2      xmlns:tal="http://xml.zope.org/namespaces/tal"
3      xmlns:metal="http://xml.zope.org/namespaces/metal"
4      xmlns:i18n="http://xml.zope.org/namespaces/i18n"
5      i18n:domain="lemill">
6
7  <head><title></title></head>
8
9  <body>
10
11<!--  Expands from widget_chapter, look there if variable names are confusing  -->
12
13<!-- Here we can have images, audio files, keyword lists and research question lists. Conditioned responses... -->
14    <metal:view_macro define-macro="view" tal:define="value accessor;
15    valid_pilot python:here.buildXML(only_validate=True);
16    is_valid python:valid_pilot[0];
17    images_valid python:valid_pilot[1];
18    audio_valid python:valid_pilot[2];
19    keywords_valid python:valid_pilot[3]">
20        <tal:flash condition="is_valid">
21            <metal:pilotplayer use-macro="here/widget_pilot/macros/pilot_viewer"/>
22        </tal:flash>
23        <tal:not_flash condition="not:is_valid">
24       
25        <label><tal:block i18n:translate="label_errors">Couldn't show movie because these parts are missing</tal:block>:</label>
26        <tal:needs_images condition="python: 'missing' in images_valid">
27            <tal:loop repeat="item images_valid">
28                <p  tal:condition="python:item=='missing'" tal:define="index repeat/item/index"><tal:ts i18n:translate="text_pilot_image_missing">There is no background image for scene <span i18n:name="scene_n" tal:replace="repeat/item/number"/></tal:ts>
29                (<a tal:attributes="href python:'%s/edit_scenes#%s?edit=%s' % (here.absolute_url(), int(index)*3, int(index)*3)" i18n:domain="plone" i18n:translate="label_edit">Edit</a>)
30                </p>
31            </tal:loop>
32        </tal:needs_images>
33        <tal:needs_audio condition="python: 'missing' in audio_valid">
34            <tal:loop repeat="item audio_valid">
35                <p tal:condition="python:item=='missing'" tal:define="index repeat/item/index"><tal:ts i18n:translate="text_pilot_audio_missing">There is no voiceover audio for scene <span i18n:name="scene_n" tal:replace="repeat/item/number"/></tal:ts>
36                (<a tal:attributes="href python:'%s/edit_scenes#%s?edit=%s' % (here.absolute_url(), int(index)*3, int(index)*3)" i18n:domain="plone" i18n:translate="label_edit">Edit</a>)
37                </p>
38            </tal:loop>
39        </tal:needs_audio>
40        <tal:needs_keywords condition="python: '' in keywords_valid">
41            <tal:loop repeat="item keywords_valid">
42                <p tal:condition="python:item==''" tal:define="index repeat/item/index"><tal:ts i18n:translate="text_pilot_keywords_missing">There are no keywords for scene <span i18n:name="scene_n" tal:replace="repeat/item/number"/></tal:ts>
43                (<a tal:attributes="href python:'%s/edit_scenes#%s?edit=%s' % (here.absolute_url(), int(index)*3, int(index)*3)" i18n:domain="plone" i18n:translate="label_edit">Edit</a>)
44                </p>
45            </tal:loop>
46        </tal:needs_keywords>
47
48        <tal:chapters repeat="chapter value">
49            <tal:defs tal:define="UID python:field.isUid(chapter);
50                                  last repeat/chapter/end;
51                                  index repeat/chapter/index">
52                 <tal:scene_begin condition="python: int(index)%3==0">
53                 <label><tal:block i18n:translate="label_scene">Scene</tal:block> <span tal:replace="python: int(index)/3+1"/>:</label>
54                 </tal:scene_begin>             
55                <div tal:condition="not:UID"
56                    tal:define="keywords python:field.isKeywords(chapter) or (field.isQuestions(chapter) and not last);
57                                questions python:field.isQuestions(chapter) and last;">
58                 <tal:iskeywordlist condition="keywords">
59                   <label><tal:block i18n:translate="label_pilot_keywords">Keywords</tal:block>:</label>
60                     <ol>
61                     <span tal:repeat="word python:chapter[:3]" tal:omit-tag="">
62                      <li tal:content="word" />
63                     </span>
64                     </ol>
65                     </tal:iskeywordlist>
66                 <tal:isquestionlist condition="questions">
67                   <label><tal:block i18n:translate="label_pilot_questions">Research questions</tal:block>:</label>
68                   <ol>
69                    <span tal:repeat="question chapter" tal:omit-tag="">
70                     <li tal:content="question" />
71                    </span>
72                   </ol>
73                 </tal:isquestionlist>
74                </div>
75                <div tal:condition="UID" tal:omit-tag="">
76                 <tal:piece define="piece python:field.getObjectByUID(context,UID);">
77                 <tal:haspiece condition="piece">
78                   <label tal:condition="piece/isImage"><tal:block i18n:translate="label_background_image">Background image</tal:block>:</label>
79                    <div tal:condition="piece/isImage" class="piece-edit-box">
80                        <img src="" tal:define="pieceurl piece/image_large/absolute_url"
81                        tal:attributes="src pieceurl" />
82                    </div>
83                    <tal:isaudio condition="piece/isAudio">
84                      <label><tal:block i18n:translate="label_voiceover_audio">Voiceover audio</tal:block>:</label>
85                       <div style="height:20px" class="visualClear">&nbsp;</div>
86                      <metal:audioplayer use-macro="here/macros_audioplayer/macros/audioplayer"/>
87                    </tal:isaudio>
88                    <div class="visualClear" style="height:20px">&nbsp;</div>
89                 </tal:haspiece>
90                 <tal:hasnotpiece condition="not:piece">
91                    <div tal:condition="python:field.isImageUID(chapter)" class="piece-edit-box">
92                        &nbsp;
93                    </div>
94                    <tal:isaudio condition="python:field.isAudioUID(chapter)">
95                        <p i18n:translate="text_no_audio">No audio set</p>
96                    </tal:isaudio>
97                    <div class="visualClear" style="height:20px">&nbsp;</div>
98                 </tal:hasnotpiece>
99                 </tal:piece>
100
101                </div>
102            </tal:defs>
103        </tal:chapters>
104        </tal:not_flash>
105    </metal:view_macro>
106
107    <metal:define define-macro="area_edit">
108      <tal:define
109          define="inputname fieldName;
110                  edit_chapter request/edit | python:0;
111                  edit_chapter python: int(edit_chapter);
112                  translation translation | python:0;
113                  chapter_count python:len(value);
114                  text_edit python:True;
115                  engineer python:request.get('engineer');
116                  ">
117        <input type="hidden" name="chapter_count" id="chapter_count" value="1"
118        tal:attributes="value chapter_count; name python:'%s_count' % fieldName; id python:'%s_count' % fieldName"/>
119        <input type="hidden" name="chapter_edited" id="chapter_edited" value="0"
120         tal:attributes="value edit_chapter; name python:'%s_edited' % fieldName ;id python:'%s_edited' % fieldName "/>
121        <input type="hidden" name="chapter_last_edited" id="chapter_last_edited" value="0"
122         tal:attributes="value edit_chapter; name python:'%s_last_edited' % fieldName ;id python:'%s_last_edited' % fieldName "/>
123        <input type="hidden" name="chapter_deleted" id="chapter_deleted" value="-1"
124         tal:attributes="name python:'%s_deleted' % fieldName;id python:'%s_deleted' % fieldName"/>
125        <input type="hidden" name="chapter_uploaded" id="chapter_uploaded" value="-1"
126         tal:attributes="name python:'%s_uploaded' % fieldName;id python:'%s_uploaded' % fieldName"/>
127        <input type="hidden" name="translation" id="translation" value="0"
128         tal:attributes="value translation"/>
129        <input tal:condition="not:engineer" type="hidden" name="insert_point" id="insert_point" value="-1" />
130
131
132       <tal:chapters repeat="chapter value">
133          <tal:definitions define="index repeat/chapter/index;
134          last repeat/chapter/end;
135          keywords python:field.isKeywords(chapter) and not last;
136          questions last;
137          index python:int(index);
138          UID python:field.isUid(chapter);
139           ">
140
141            <a name="#" tal:attributes="name index"> </a>
142
143            <tal:view-mode condition="python: index&lt;edit_chapter or index&gt;edit_chapter+2">
144
145            <tal:scene_begin condition="python:index%3==0">
146             <span tal:replace="structure string:&lt;fieldset&gt;" />       
147             <legend>
148                 <tal:is_final condition="last">
149                   <span i18n:translate="label_final_scene">Final scene</span>
150                 </tal:is_final>
151                 <tal:is_not_final condition="not:last">                 
152                    <span tal:omit-tag="" i18n:translate="label_scene">Scene</span> <span tal:replace="python:(index+3)/3" />
153                 </tal:is_not_final>
154                <input class="context"
155                    tabindex=""
156                    type="submit"
157                    name="form.button.editScene"
158                    value="Edit" i18n:domain="plone"
159                    i18n:attributes="value label_edit;"
160                    tal:attributes="tabindex tabindex/next;
161                    disabled python:test(isLocked, 'disabled', None);
162                    onClick python:'''javascript:document.getElementById('%s_edited').value=%s''' % (fieldName, index)"                    />
163                <input class="context"
164                    tabindex=""
165                    type="submit"
166                    name="form.button.moveChapterUp"
167                    value="Move up" i18n:domain="lemill"
168                    tal:condition="python: index!=0 and index!=len(value)-3"
169                    i18n:attributes="value label_move_up;"
170                    tal:attributes="tabindex tabindex/next;
171                    disabled python:test(isLocked, 'disabled', None);
172                    onClick python:'''javascript:document.getElementById('%s_deleted').value=%s''' % (fieldName, index)"
173                    />
174                <input class="context"
175                    tabindex=""
176                    type="submit"
177                    name="form.button.moveChapterDown"
178                    value="Move down" i18n:domain="lemill"
179                    tal:condition="python: index!=len(value)-3 and index!=len(value)-6"
180                    i18n:attributes="value label_move_down;"
181                    tal:attributes="tabindex tabindex/next;
182                    disabled python:test(isLocked, 'disabled', None);
183                    onClick python:'''javascript:document.getElementById('%s_deleted').value=%s''' % (fieldName, index)"
184                    />
185
186
187                <input class="context deleteButtonPosition"
188                    tabindex=""
189                    type="submit"
190                    name="form.button.delScene"
191                    value="Delete" i18n:domain="plone"
192                    i18n:attributes="value;"
193                    tal:attributes="tabindex tabindex/next;
194                    disabled python:test(isLocked, 'disabled', None);
195                    onClick python:'''javascript:document.getElementById('%s_deleted').value=%s''' % (fieldName, index)"
196                    tal:condition="python: index!=len(value)-3"
197                    />
198             </legend>
199            </tal:scene_begin>
200
201           
202            <tal:piecechapter condition="UID">
203                <tal:defs define="piece python:field.getObjectByUID(context,UID);
204                    image piece/isImage | python:field.isImageUID(UID);
205                    audio piece/isAudio | python:field.isAudioUID(UID); ">
206
207
208            <tal:image condition="image">
209
210              <label><tal:block i18n:translate="label_background_image">Background image</tal:block>:</label>
211
212                <div class="piece-edit-box">
213                  <tal:have_piece condition="piece">
214                  <img src="" tal:define="pieceurl piece/image_large/absolute_url"
215                              tal:attributes="src pieceurl" />
216                  </tal:have_piece>
217                </div>
218                <div class="visualClear" style="height:20px">&nbsp;</div>
219            </tal:image>
220
221            <tal:audio condition="audio">
222              <label><tal:block i18n:translate="label_voiceover_audio">Voiceover audio</tal:block>:</label>
223              <tal:pieceexists condition="piece">
224              <br/>
225              <metal:audioplayer use-macro="here/macros_audioplayer/macros/audioplayer"/>
226              <br/>
227              </tal:pieceexists>
228              <tal:pieceexists condition="not:piece">
229               <p i18n:translate="text_no_audio">No audio set</p>
230              </tal:pieceexists>
231            </tal:audio>
232                </tal:defs>
233            </tal:piecechapter>
234
235            <tal:keywords condition="keywords">
236             <label><tal:block i18n:translate="label_pilot_keywords">Keywords</tal:block>:</label>
237             <ol>
238             <span tal:repeat="word chapter" tal:omit-tag="">
239               <li tal:content="word"/>
240             </span>
241             </ol>
242             <span tal:replace="structure string:&lt;/fieldset&gt;" />
243            </tal:keywords>
244           
245            <tal:questions condition="questions">
246              <label><tal:block i18n:translate="label_pilot_questions">Research questions</tal:block>:</label>
247              <ol>
248               <span tal:repeat="question chapter" tal:omit-tag="">
249                <li tal:content="question" />
250               </span>
251              </ol>             
252             <span tal:replace="structure string:&lt;/fieldset&gt;" />
253            </tal:questions>
254             <input type="hidden" tal:attributes="id python:'%s_%s' % (fieldName,index);
255                                                   name python:'%s_%s' % (fieldName,index);
256                                                   value python:test(keywords or questions, widget.merge_keywords(chapter), chapter)" />
257            </tal:view-mode>
258           
259
260            <tal:edit-mode condition="python: index&gt;=edit_chapter and index&lt;edit_chapter+3">
261            <tal:piecechapter condition="UID">
262                <tal:defs define="piece python:field.getObjectByUID(context,UID);
263                    image piece/isImage | python:field.isImageUID(UID);
264                    audio piece/isAudio | python:field.isAudioUID(UID); ">
265
266            <tal:image condition="image">
267             <span tal:replace="structure string:&lt;fieldset&gt;" />
268             <legend>
269                 <tal:is_final condition="last">
270                   <span i18n:translate="label_final_scene">Final scene</span>
271                 </tal:is_final>
272                 <tal:is_not_final condition="not:last">                 
273                    <span tal:omit-tag="" i18n:translate="label_scene">Scene</span> <span tal:replace="python:(index+3)/3" />
274                 </tal:is_not_final>
275             </legend>
276             <label><tal:block i18n:translate="label_background_image">Background image</tal:block>:</label>
277             <metal:block metal:use-macro="here/widget_pilot/macros/image_edit" />
278            </tal:image>
279
280            <tal:audio condition="audio">
281             <label><tal:block i18n:translate="label_voiceover_audio">Voiceover audio</tal:block>:</label>
282             <metal:block metal:use-macro="here/widget_pilot/macros/audio_edit" />
283            </tal:audio>
284            </tal:defs>
285
286            </tal:piecechapter>
287
288            <tal:keywords condition="keywords">
289             <label><tal:block i18n:translate="label_pilot_keywords">Keywords</tal:block>:</label>
290             <br/>
291             <ol>
292             <span tal:repeat="word chapter" tal:omit-tag="">
293             <tal:indexdef define="i repeat/word/index">           
294             <li>
295              <input type="text" size="40" maxlength="255"               
296               tal:attributes="value word;
297                   id python:'%s_keyword_%s_%s' % (fieldName,index,i);
298                   name python:'%s_keyword_%s_%s' % (fieldName,index,i);
299                   tabindex tabindex/next;
300                   style python:test(i>2, 'background-color: #ccffcc','');" />
301              </li>
302              </tal:indexdef>
303             </span>
304             </ol>
305             <span tal:replace="structure string:&lt;/fieldset&gt;" />
306            </tal:keywords>
307            <tal:questions condition="questions">
308             <label><tal:block i18n:translate="label_pilot_questions">Research questions</tal:block>:</label>
309             <ol>
310             <span tal:repeat="word chapter" tal:omit-tag="">
311             <li>
312              <input type="text" size="60" maxlength="255"
313               tal:define="i repeat/word/index"
314               tal:attributes="value word;
315                   id python:'%s_keyword_%s_%s' % (fieldName,index,i);
316                   name python:'%s_keyword_%s_%s' % (fieldName,index,i);
317                   tabindex tabindex/next" />
318              </li>
319             </span>
320             </ol>
321             <span tal:replace="structure string:&lt;/fieldset&gt;" />
322            </tal:questions>
323             <input type="hidden" tal:attributes="id python:'%s_%s' % (fieldName,index);
324                                                   name python:'%s_%s' % (fieldName,index);
325                                                   value python:test(keywords or questions, widget.merge_keywords(chapter), chapter)" />
326            </tal:edit-mode>
327      </tal:definitions>
328       </tal:chapters>
329
330<p i18n:translate="text_pilot_add_scenes_guide">Add additional scenes with keywords before the scene with research questions.</p>
331
332
333
334       <tal:buttons condition="not:translation">
335           <input class="context"
336               tabindex=""
337               type="submit"
338               name="form.button.add_scene"
339               value="Add scene"
340               i18n:attributes="value label_add_scene;"
341               tal:attributes="tabindex tabindex/next"
342               />
343
344        <tal:engineer condition="engineer">
345        Insertion point:
346           <input class="context"
347               type="text"
348               size="2"
349               name="insert_point"
350               value="-1"/>
351        </tal:engineer>
352       </tal:buttons>
353
354      </tal:define>
355    </metal:define>
356
357    <metal:define define-macro="area_format">
358      <tal:define
359          define="field_text_format string:${fieldName}_${index}_text_format;
360                  contentType python:request.get(field_text_format, here.getContentType(fieldName));
361                  allowable_ct python:getattr(field, 'allowable_content_types', ());
362                  mimetypes python:[t for t in allowable_ct if t.startswith('text/')];
363                  contenttype python:hasattr(field, 'getContentType') and field.getContentType(here) or ''">
364
365        <tal:condition condition="python:len(mimetypes) &gt; 1">
366        <div style="text-align: right; margin-right: 0.75em;">
367          <label i18n:domain="plone" i18n:translate="label_format">Format</label>
368          <select tal:attributes="id string:${fieldName}_text_format;
369                                  name string:${fieldName}_text_format;
370                                  tabindex tabindex/next">
371            <option selected="selected"
372                    value=""
373                    tal:attributes="value contentType"
374                    tal:condition="python:contenttype not in mimetypes">
375              (no change)
376            </option>
377            <option tal:repeat="item mimetypes"
378                    tal:content="python:here.lookupMime(item)"
379                    tal:attributes="value item;
380                                    selected python:test(here.checkSelected(item, contenttype, contenttypes=1), 'selected', None);"
381                    />
382          </select>
383        </div>
384        </tal:condition>
385       </tal:define>
386    </metal:define>
387
388    <metal:define define-macro="edit">
389       <metal:use use-macro="field_macro | here/field/macros/edit">
390        <metal:fill fill-slot="widget_body">
391          <metal:block use-macro="here/widget_pilot/macros/area_edit" />
392        </metal:fill>
393      </metal:use>
394    </metal:define>
395
396    <metal:define define-macro="search">
397      <metal:use use-macro="here/widgets/field/macros/edit">
398        <metal:fill fill-slot="widget_body">
399
400          <metal:block use-macro="here/widget_pilot/macros/area_edit" />
401
402        </metal:fill>
403      </metal:use>
404    </metal:define>
405
406
407    <metal:define define-macro="pilot_viewer">
408        <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="500" height="415" id="player" align="middle">
409        <param name="allowScriptAccess" value="sameDomain" />
410        <param name="flashvars" tal:attributes="value python:'xml=%s/buildXML' % here_url" value="xml=something" />
411        <param name="movie" value="player.swf" />
412        <param name="quality" value="high" />
413        <param name="bgcolor" value="#666666" />
414        <embed src="player.swf" quality="high" bgcolor="#666666" width="500" height="415" flashvars="xml=something" name="teszt" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" tal:attributes="flashvars python:'xml=%s/buildXML' % here_url" />
415        </object>
416   
417    </metal:define>
418
419
420
421
422    <metal:define define-macro="audio_edit">
423                <tal:if_collection
424                        condition="widget/collections_only"
425                        define="vocab python:field.Vocabulary(here);
426                                    vlen python:len(vocab);
427                                    format python:widget.format">
428
429                    <select tal:attributes="name fieldName;
430                                            id fieldName;
431                                            tabindex tabindex/next;">
432                        <option tal:repeat="item vocab"
433                                tal:attributes="value item;"
434                                                tal:content="python:context.getImageName(vocab.getValue(item))"
435                                />
436                    </select>
437                    <input type="submit" i18n:attributes="value label_add_audio;" name="form.button.addImage" value="Add audio file" />
438
439
440                </tal:if_collection>
441                <tal:if_collection condition="not:widget/collections_only">
442                <table style="width:100%">
443                    <tr>
444                        <td style="width:550px">
445                <div class="one-piece"
446                    tal:define="piece python:field.getObjectByUID(context,UID);
447                                piece_id piece/getId | python:0;
448                                piece_uid UID | python:0;
449                                piece_desc piece/getDescription | string:;
450                                isAudio piece/isAudio | python:0">
451                    <div id="piece-edit-box"
452                    tal:attributes="id python:'piece-edit-box-%s' % index; ">
453
454                        <div style="height:50px" class="visualClear" tal:condition="isAudio">
455                           <metal:block metal:use-macro="here/macros_audioplayer/macros/audioplayer" />
456
457                        </div>
458   
459                        <div>
460                            <span id="pres-text" i18n:translate="label_upload_audio">Upload audio file ...</span>
461                            <input type="hidden"
462                                   value="0"
463                                   name="piece_uid"
464                                   id="piece_uid"
465                                   tal:attributes="value piece_uid | python:0"
466                            />
467                            <input id="material-file"
468                                   type="file"
469                                   value=""
470                                   name="file_box"
471                                   tal:attributes="id string:${fieldName}_file_${index};
472                                                   name string:${fieldName}_file_${index}"
473                            />
474                            <input id="piece-uploadbutton"
475                                   type="submit"
476                                   name="form.button.uploadAudio"
477                                   value="Upload file"
478                                   tal:attributes="onClick python:'''javascript:document.getElementById('%s_uploaded').value=%s''' % (fieldName, index)"
479                                   i18n:attributes="value label_upload_media;"
480                            />
481                        </div>
482                        <div style="height:20px" class="visualClear">&nbsp;</div>
483                        <div>
484                            <span id="pres-text" i18n:translate="label_or_search_from_pieces">... or search from media pieces: </span>
485                            <input id="piece-search-0"
486                                   type="text"
487                                   value=""
488                                   name="search_box"
489                                   tal:attributes="id python:'piece-search-%s' % index"/>
490                            <input id="piece-searchbutton"
491                                   type="button"
492                                   value="Search"
493                                   name="searchButton"
494                                   i18n:attributes="value label_search;" i18n:domain="plone"
495                                   onclick="javascript:search_for_pieces()"
496                                   tal:attributes="onclick python:'''javascript:search_for_pieces(event,%s,'audio=True')''' % index"
497                            />
498                        </div>
499                        <div style="height:20px" class="visualClear">&nbsp;</div>
500
501                        </div>
502   
503                    </div>
504                <div id="insertHere"></div>
505
506            </td>
507            <td style="width:130px">
508                <div id="audio-search-results">
509                    <div id="audio-search-results-body">
510                    &nbsp;
511                    </div>
512                </div>
513            </td>
514            </tr>
515                </table>
516            </tal:if_collection>
517    </metal:define>
518
519
520    <metal:define define-macro="image_edit">
521                <tal:if_collection
522                        condition="widget/collections_only"
523                        define="vocab python:field.Vocabulary(here);
524                                    vlen python:len(vocab);
525                                    format python:widget.format">
526
527                    <select tal:attributes="name fieldName;
528                                            id fieldName;
529                                            tabindex tabindex/next;">
530                        <option tal:repeat="item vocab"
531                                tal:attributes="value item;"
532                                                tal:content="python:context.getImageName(vocab.getValue(item))"
533                                />
534                    </select>
535                    <input type="submit" i18n:attributes="value label_add_image;" name="form.button.addImage" value="Add image" />
536
537
538                </tal:if_collection>
539                <tal:if_collection condition="not:widget/collections_only">
540                <table style="width:100%">
541                    <tr>
542                        <td style="width:550px">
543                <div class="one-piece"
544                    tal:define="piece python:field.getObjectByUID(context,UID);
545                                piece_id piece/getId | python:0;
546                                piece_uid UID | python:0;
547                                piece_desc piece/getDescription | string:">
548                    <div class="piece-edit-box" id="piece-edit-box"
549                        tal:attributes="style python:test(piece_id!=0, 'background-image:url(\''+str(piece_id)+'/image_large\')', '');
550                        id python:'piece-edit-box-%s' % index; ">
551                        <div style="height:20px" class="visualClear">&nbsp;</div>
552   
553                        <div>
554                            <div id="pres-text"><tal:trans i18n:translate="label_upload_image_file">Upload image file</tal:trans>...</div>
555                            <br />
556                            <input type="hidden"
557                                   value="0"
558                                   name="piece_uid"
559                                   id="piece_uid"
560                                   tal:attributes="value piece_uid | python:0;
561                                                   id string:piece_uid_${index};
562                                                   name string:piece_uid_${index}"
563
564                            />
565                            <input id="material-file"
566                                   type="file"
567                                   value=""
568                                   name="file_box"
569                                   tal:attributes="id string:${fieldName}_file_${index};
570                                                   name string:${fieldName}_file_${index}"
571                            />
572                            <input id="piece-uploadbutton"
573                                   type="submit"
574                                   name="form.button.uploadSlide"
575                                   value="Upload file"
576                                   tal:attributes="onClick python:'''javascript:document.getElementById('%s_uploaded').value=%s''' % (fieldName, index)"
577                                   i18n:attributes="value label_upload_file;"
578                            />
579                        </div>
580                        <div style="height:50px" class="visualClear">&nbsp;</div>
581                        <div>
582                            <div id="pres-text" i18n:translate="label_or_search_from_pieces">... or search from media pieces: </div>
583                            <div style="height:5px" class="visualClear">&nbsp;</div>
584                            <br />
585                            <input id="piece-search-0"
586                                   type="text"
587                                   value=""
588                                   name="search_box"
589                                   tal:attributes="id python:'piece-search-%s' % index"/>
590                            <input id="piece-searchbutton"
591                                   type="button"
592                                   value="Search"
593                                   name="searchButton"
594                                   i18n:attributes="value label_search;" i18n:domain="plone"
595                                   onclick="javascript:search_for_pieces()"
596                                   tal:attributes="onclick python:'''javascript:search_for_pieces(event,%s,'audio=False')''' % index"
597                            />
598                        </div>
599                        </div>
600   
601                    </div>
602                <div id="insertHere"></div>
603            </td>
604            <td style="width:130px">
605                <div id="piece-search-results">
606                    <b i18n:domain="plone" i18n:translate="heading_search_results">Search results</b>
607                    <div id="piece-search-results-body">
608                        search results here!
609                    </div>
610                </div>
611            </td>
612            </tr>
613                </table>
614            </tal:if_collection>
615    </metal:define>
616
617
618
619  </body>
620
621</html>
Note: See TracBrowser for help on using the repository browser.