annotate website/issues/html/issue.item.html @ 6454:83b67f65b8ff

Implement file upload by drag and drop and paste. Table formatting Move file description from below the file upload into the table on same line as file upload. Implement https://wiki.roundup-tracker.org/FileUploadViaDragDropAndPaste for table structure. Added creation of description field along with file input field. On tables align header fields that do not span rows (i.e. column headers) on the left. Table titles/grouping span multiple columns. Also do not align column headers left on the index page which uses the .list class. Also add some padding to th to increase space and improve readability. For message and files tables make them 95% of the width of their container. It makes the headers for messages and files more readable by adding space.
author John Rouillard <rouilj@ieee.org>
date Mon, 05 Jul 2021 01:24:37 -0400
parents 6ad3b2d46852
children a2c340261290
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
1 <tal:block metal:use-macro="templates/page/macros/icing">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
2 <title metal:fill-slot="head_title">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
3 <tal:block condition="context/id" i18n:translate=""
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
4 >Issue <span tal:replace="context/id" i18n:name="id"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
5 />: <span tal:replace="context/title" i18n:name="title"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
6 /> - <span tal:replace="config/TRACKER_NAME" i18n:name="tracker"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
7 /></tal:block>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
8 <tal:block condition="not:context/id" i18n:translate=""
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
9 >New Issue - <span tal:replace="config/TRACKER_NAME" i18n:name="tracker"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
10 /></tal:block>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
11 </title>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
12 <tal:block metal:fill-slot="body_title">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
13 <span tal:condition="python: not (context.id or context.is_edit_ok())"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
14 tal:omit-tag="python:1" i18n:translate="">New Issue</span>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
15 <span tal:condition="python: not context.id and context.is_edit_ok()"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
16 tal:omit-tag="python:1" i18n:translate="">New Issue Editing</span>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
17 <span tal:condition="python: context.id and not context.is_edit_ok()"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
18 tal:omit-tag="python:1" i18n:translate="">Issue <tal:x
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
19 replace="context/id" i18n:name="id" /></span>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
20 <span tal:condition="python: context.id and context.is_edit_ok()"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
21 tal:omit-tag="python:1" i18n:translate="">Issue<tal:x
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
22 replace="context/id" i18n:name="id" /> Editing</span>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
23 </tal:block>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
24
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
25 <td class="content" metal:fill-slot="content">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
26
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
27 <p tal:condition="python:not (context.is_view_ok()
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
28 or request.user.hasRole('Anonymous'))" i18n:translate="">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
29 You are not allowed to view this page.</p>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
30
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
31 <p tal:condition="python:not context.is_view_ok()
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
32 and request.user.hasRole('Anonymous')" i18n:translate="">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
33 Please login with your username and password.</p>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
34
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
35 <div tal:condition="context/is_view_ok">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
36
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
37 <form method="POST" name="itemSynopsis"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
38 onSubmit="return submit_once()" enctype="multipart/form-data"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
39 tal:attributes="action context/designator">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
40
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
41 <fieldset><legend>classification</legend>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
42 <table class="form">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
43 <tr>
6306
871dc7904d7a Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents: 4644
diff changeset
44 <th class="required"><label for="title" i18n:translate="">Title:</label></th>
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
45 <td colspan="3" tal:condition="context/title/is_edit_ok"
6307
6ad3b2d46852 more lighthouse fixes
John Rouillard <rouilj@ieee.org>
parents: 6306
diff changeset
46 tal:content="structure python:context.title.field(id='title', size=60)">title</td>
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
47 <td colspan="3" tal:condition="not:context/title/is_edit_ok">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
48 <span tal:content="structure context/title/plain"/>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
49 <input type="hidden" name="title" tal:attributes="value context/title">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
50 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
51 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
52
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
53 <tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
54 <th class="required" i18n:translate="">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
55 <span tal:replace="structure python:db.issue_type.classhelp('id,name,description',label='Type')" />:
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
56 </th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
57 <td tal:content="structure context/type/menu">type</td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
58 <th i18n:translate="">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
59 <span tal:replace="structure python:db.severity.classhelp('id,name,description',label='Severity')" />:
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
60 </th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
61 <td tal:content="structure context/severity/menu">components</td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
62 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
63
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
64 <tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
65 <th i18n:translate="">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
66 <span tal:replace="structure python:db.component.classhelp('id,name,description',label='Components')" />:
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
67 </th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
68 <td tal:content="structure context/components/menu">components</td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
69 <th i18n:translate="">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
70 <span tal:replace="structure python:db.version.classhelp('id,name,description',label='Versions')" />:
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
71 </th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
72 <td tal:content="structure context/versions/menu">versions</td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
73 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
74 </table>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
75 </fieldset>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
76
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
77 <fieldset><legend>process</legend>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
78 <table class="form">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
79 <tr tal:condition="context/id">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
80 <th i18n:translate="">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
81 <span tal:replace="structure python:db.status.classhelp('id,name,description',label='Status')" />:
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
82 </th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
83 <td tal:content="structure context/status/menu">status</td>
6306
871dc7904d7a Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents: 4644
diff changeset
84 <th><label for="resolution" i18n:translate="">Resolution:</label></th>
6307
6ad3b2d46852 more lighthouse fixes
John Rouillard <rouilj@ieee.org>
parents: 6306
diff changeset
85 <td tal:content="structure python:context.resolution.menu(html_kwargs={'id':'resolution'})">resolution</td>
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
86 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
87
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
88 <tr tal:condition="context/id">
6306
871dc7904d7a Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents: 4644
diff changeset
89 <th> <label for="dependencies" i18n:translate="">Dependencies</label>
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
90 <span tal:condition="context/dependencies/is_edit_ok"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
91 tal:replace="structure python:db.issue.classhelp('id,title', filter='status=0,1', property='dependencies')" />
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
92 </th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
93 <td>
6307
6ad3b2d46852 more lighthouse fixes
John Rouillard <rouilj@ieee.org>
parents: 6306
diff changeset
94 <span tal:replace="structure python:context.dependencies.field(id='dependencies',showid=1,size=20)" />
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
95 <span tal:condition="context/dependencies" tal:repeat="d python:context.dependencies.sorted('creation')">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
96 <br/>View: <a tal:attributes="href string:issue${d/id}" tal:content="d/id"></a>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
97 </span>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
98 </td>
6306
871dc7904d7a Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents: 4644
diff changeset
99 <th>
871dc7904d7a Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents: 4644
diff changeset
100 <tal:block><label for="superseder" i18n:translate="">Superseder</label></tal:block>:
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
101 <span tal:condition="context/superseder/is_edit_ok"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
102 tal:replace="structure python:db.issue.classhelp('id,title', filter='status=0,1', property='superseder')" />
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
103 </th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
104 <td>
6307
6ad3b2d46852 more lighthouse fixes
John Rouillard <rouilj@ieee.org>
parents: 6306
diff changeset
105 <span tal:replace="structure python:context.superseder.field(id='superseder', showid=1, size=20)" />
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
106 <span tal:condition="context/superseder">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
107 <!-- <br><span i18n:translate="">View</span>:
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
108 <a tal:repeat="sup context/superseder"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
109 tal:content="python:sup['id'] + ', '*(not repeat['sup'].end)"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
110 tal:attributes="href string:issue${sup/id}; title sup/title;"></a> -->
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
111 <br><span i18n:translate="">View</span>:
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
112 <a tal:content="context/superseder/id"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
113 tal:attributes="href string:issue${context/superseder/id}; title context/superseder/title;"></a>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
114 </span>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
115 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
116 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
117 <tr>
6306
871dc7904d7a Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents: 4644
diff changeset
118 <th><label for="assignee" i18n:translate="">Assigned To</label>:</th>
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
119 <td tal:condition="context/status/is_edit_ok">
6307
6ad3b2d46852 more lighthouse fixes
John Rouillard <rouilj@ieee.org>
parents: 6306
diff changeset
120 <select id="assignee" name="assignee">
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
121 <option value="-1">nobody</option>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
122 <tal:block tal:repeat="userdata python:db._db.user.filter_sql('select id,_username from _user where _roles like \'%Developer%\' order by _username')">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
123 <option tal:attributes="value python:userdata[0];
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
124 selected python:str(userdata[0]) == context.assignee._value"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
125 tal:content="python:userdata[1]"></option>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
126 </tal:block>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
127 </select>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
128 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
129 <td tal:condition="not:context/assignee/is_edit_ok">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
130 <span tal:replace="structure context/assignee/plain" />
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
131 </td>
6306
871dc7904d7a Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents: 4644
diff changeset
132 <th><label for="nosy" i18n:translate="">Nosy List</label>:
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
133 <span tal:condition="context/nosy/is_edit_ok"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
134 tal:replace="structure python:db.user.classhelp('username,realname,address', property='nosy')" />
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
135 </th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
136 <td>
6307
6ad3b2d46852 more lighthouse fixes
John Rouillard <rouilj@ieee.org>
parents: 6306
diff changeset
137 <span tal:replace="structure python:context.nosy.field(id='nosy')" />
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
138 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
139 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
140 <tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
141 <th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
142 <span tal:replace="structure python:db.priority.classhelp('id,name,description',label='Priority')" />:
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
143 </th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
144 <td tal:content="structure context/priority/menu">priority</td>
6307
6ad3b2d46852 more lighthouse fixes
John Rouillard <rouilj@ieee.org>
parents: 6306
diff changeset
145 <th><label for="keywords" i18n:translate="">Keywords</label>:</th>
6ad3b2d46852 more lighthouse fixes
John Rouillard <rouilj@ieee.org>
parents: 6306
diff changeset
146 <td tal:content="structure python:context['keywords'].menu(height=5,html_kwargs={'id': 'keywords'})">keywords</td>
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
147
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
148
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
149 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
150 <tr tal:condition="context/is_edit_ok">
6306
871dc7904d7a Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents: 4644
diff changeset
151 <th><label for="@note" i18n:translate="">Comment</label>:</th>
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
152 <td colspan="3">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
153 <textarea tal:content="request/form/@note/value | default"
6307
6ad3b2d46852 more lighthouse fixes
John Rouillard <rouilj@ieee.org>
parents: 6306
diff changeset
154 id="@note" name="@note" wrap="hard" rows="10" cols="72"></textarea>
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
155 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
156 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
157
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
158 <tr tal:condition="context/is_edit_ok">
6306
871dc7904d7a Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents: 4644
diff changeset
159 <th><label for="file-1@content" i18n:translate="">File</label>:</th>
6454
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
160 <td>
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
161 <input type="hidden" name="@link@files" value="file-1">
6307
6ad3b2d46852 more lighthouse fixes
John Rouillard <rouilj@ieee.org>
parents: 6306
diff changeset
162 <input type="file" id="file-1@content" name="file-1@content" size="40">
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
163 </td>
6454
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
164 <th><label for="file-1@description" i18n:translate="">File Description</label>:</th>
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
165 <td colspan=3><input type="edit" id="file-1@description" name="file-1@description" size="40"></td>
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
166 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
167 <tr tal:condition="context/is_edit_ok">
6454
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
168 <td colspan=4>
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
169 <textarea readonly id="DropZone">
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
170 paste images or drag and drop files here....
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
171 </textarea>
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
172 </td>
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
173 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
174 </table>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
175 </fieldset>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
176 <table class="form">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
177 <tr tal:condition="context/is_edit_ok">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
178 <td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
179 &nbsp;
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
180 <input type="hidden" name="@template" value="item">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
181 <input type="hidden" name="@required" value="title">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
182 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
183 <td colspan=3>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
184 <span tal:replace="structure context/submit">submit button</span>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
185 <a tal:condition="context/id" tal:attributes="href context/copy_url"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
186 i18n:translate="">Make a copy</a>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
187 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
188 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
189 </table>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
190 </form>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
191
6454
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
192 <!-- drag and drop code -->
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
193 <script tal:attributes="nonce request/client/client_nonce">
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
194 /* multiple file drops cause issues with redefined
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
195 file-X@content issues. input multiple assumes
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
196 it can start numbering from 1 for each of the
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
197 multiple files. However numbering here does the
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
198 same leading to duplicate file-2@content.
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
199
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
200 layout needs some work, alignnment of new file
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
201 input's isn't great.
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
202
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
203 Need a way to delete or reset file inputs so file
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
204 assigned to them isn't uploaded. Clicking on button
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
205 in chrome and then canceling unsets the file. But this
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
206 sequence does nothing in firefox.
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
207
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
208 Pasting always uses image.<type> can't name file.
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
209 Need to query user during paste for name/description.
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
210 */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
211
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
212 let newInput=null;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
213 let NextInputNum = 100; /* file input 1 is hardcoded in form.
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
214 It is a multiple file input control. To
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
215 prevent collision, we start dynamic file controls at
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
216 file-100@content. 100 is larger than we expect
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
217 the number of files uploaded using file input 1.*/
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
218
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
219 let target = document.getElementById('DropZone');
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
220 target.style.display = "block";
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
221 let body = document.body;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
222 let fileInput = document.getElementById('file-1@content');
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
223 let fileDesc = document.getElementById('file-1@description');
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
224
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
225 function add_file_input () {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
226
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
227 // Only allow one change listener on newest input.
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
228 fileInput.removeEventListener('change',
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
229 add_file_input,
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
230 false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
231
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
232 /* create new file input to get next dragged file */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
233 /* <input type="file" name="file-2@content"> for 2,
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
234 3, 4, ... */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
235 newInput=document.createElement('input');
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
236 newInput.type="file";
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
237 newInput.id="file-" + NextInputNum +"@content";
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
238 newInput.name=newInput.id;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
239 fileInput = fileInput.insertAdjacentElement('afterend',
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
240 newInput);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
241 // add change hander to newest file input
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
242 fileInput.addEventListener('change',
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
243 add_file_input, // create new input for more files
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
244 false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
245
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
246 /* link file-N to list of files on issue.
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
247 also link to msg-1 */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
248 addLink=document.createElement('input');
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
249 addLink.type="hidden";
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
250 addLink.id="@link@file=file-" + NextInputNum;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
251 addLink.name="@link@files"
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
252 addLink.value="file-" + NextInputNum;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
253 fileInput.insertAdjacentElement('afterend', addLink);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
254
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
255 addLink=document.createElement('input');
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
256 addLink.type="hidden";
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
257 addLink.id="msg-1@link@files=file-" + NextInputNum;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
258 addLink.name="msg-1@link@files"
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
259 addLink.value="file-" + NextInputNum
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
260 fileInput.insertAdjacentElement('afterend', addLink);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
261
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
262 addLink=document.createElement('input');
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
263 addLink.type="edit";
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
264 addLink.id="file-" + NextInputNum + "@description";
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
265 addLink.name=addLink.id
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
266 addLink.size = 40
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
267 fileDesc=fileDesc.insertAdjacentElement('afterend', addLink);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
268
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
269 NextInputNum = NextInputNum+1;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
270
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
271 }
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
272
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
273 function MarkDropZone(e, active) {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
274 active == true ? e.style.backgroundColor = "goldenrod" :
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
275 e.style.backgroundColor = "";
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
276 }
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
277 fileInput.addEventListener('change',
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
278 add_file_input, // create new input for more files
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
279 false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
280
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
281 target.addEventListener('dragover', (e) => {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
282 e.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
283 body.classList.add('dragging');
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
284 });
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
285
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
286 target.addEventListener('dragenter', (e) => {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
287 e.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
288 MarkDropZone(target, true);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
289 });
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
290
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
291
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
292 target.addEventListener('dragleave', (e) => {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
293 e.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
294 MarkDropZone(target, false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
295 });
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
296
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
297 target.addEventListener('dragleave', () => {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
298 body.classList.remove('dragging');
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
299 });
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
300
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
301 target.addEventListener('drop', (e) => {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
302 body.classList.remove('dragging');
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
303 MarkDropZone(target, false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
304
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
305 // Only allow single file drop unless
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
306 // fileInput name is @file that can support
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
307 // multiple file drop and file drop is multiple.
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
308 if (( fileInput.name != "@file" ||
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
309 ! fileInput.hasAttribute('multiple')) &&
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
310 e.dataTransfer.files.length != 1 ) {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
311 alert("File input can only accept one file.")
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
312 e.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
313 return
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
314 }
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
315 // set file input files to the dragged files
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
316 fileInput.files = e.dataTransfer.files;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
317
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
318 add_file_input(); // create new input for more files
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
319 // run last otherwise firefox empties e.dataTransfer
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
320 e.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
321 });
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
322
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
323 target.addEventListener('mouseover', (e) => {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
324 e.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
325 MarkDropZone(target, true);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
326 });
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
327
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
328 target.addEventListener('mouseout', (e) => {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
329 e.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
330 MarkDropZone(target, false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
331 });
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
332
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
333 target.addEventListener('paste', (event) => {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
334 // https://mobiarch.wordpress.com/2013/09/25/upload-image-by-copy-and-paste/
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
335 // add paste event listener to the page
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
336
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
337 // https://stackoverflow.com/questions/50427513/
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
338 // html-paste-clipboard-image-to-file-input
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
339 if ( event.clipboardData.files.length == 0) {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
340 // if not file data alert
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
341 alert("No image found for pasting");
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
342 event.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
343 return;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
344 }
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
345 fileInput.files = event.clipboardData.files;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
346
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
347 /* Possible enhancement if file check fails.
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
348 iterate over all items 0 ...:
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
349 event.clipboardData.items.length
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
350 look at all items[i].kind for 'string' and
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
351 items[i].type looking for a text/plain item. If
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
352 found,
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
353 event.clipboardData.items[1].getAsString(
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
354 callback_fcn(s))
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
355
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
356 where callback function that creates a new
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
357 dataTransfer object with a file and insert the
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
358 content s and assigns it to the input.
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
359
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
360 https://gist.github.com/guest271314/7eac2c21911f5e40f489\33ac78e518bd
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
361 */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
362 add_file_input(); // create new input for more files
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
363 // do not paste contents to dropzone
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
364 event.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
365 }, false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
366 </script>
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
367 <style tal:attributes="nonce request/client/client_nonce">
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
368 #FileArea input[type=file] ~ input[type=file] {display:block;}
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
369 #DropZone { /* don't display dropzone by default.
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
370 Displayed as block by javascript. */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
371 display:none;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
372 width: 100%;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
373 /* override textarea inset */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
374 border-style: dashed;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
375 padding: 3ex 0; /* larger dropzone */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
376 /* add space below inputs */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
377 margin-block-start: 1em;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
378 /* lighter color */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
379 background: rgba(255,255,255,0.4);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
380 }
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
381 </style>
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
382
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
383 <p tal:condition="context/id" i18n:translate="">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
384 Created on <b><tal:x replace="python:context.creation.pretty('%Y-%m-%d %H:%M')" i18n:name="creation" /></b>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
385 by <b><tal:x replace="context/creator" i18n:name="creator" /></b>,
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
386 last changed <b><tal:x replace="python:context.activity.pretty('%Y-%m-%d %H:%M')" i18n:name="activity" /></b>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
387 by <b><tal:x replace="context/actor" i18n:name="actor" /></b>.
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
388 </p>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
389
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
390 <table class="files" tal:condition="context/files">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
391 <tr><th colspan="5" class="header" i18n:translate="">Files</th></tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
392 <tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
393 <th i18n:translate="">File name</th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
394 <th i18n:translate="">Uploaded</th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
395 <th i18n:translate="">Description</th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
396 <th i18n:translate="">Edit</th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
397 <th i18n:translate="">Remove</th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
398 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
399 <tr tal:repeat="file python:context.files.sorted('creation')">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
400 <td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
401 <a tal:attributes="href file/download_url"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
402 tal:content="file/name">dld link</a>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
403 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
404 <td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
405 <span tal:content="file/creator">creator's name</span>,
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
406 <span tal:content="python:file.creation.pretty('%Y-%m-%d %H:%M')">creation date</span>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
407 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
408 <td tal:content="file/description" />
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
409 <td><a tal:condition="file/is_edit_ok"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
410 tal:attributes="href string:file${file/id}">edit</a>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
411 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
412 <td>
4644
20e0e5ce217f Tracker: Following upgrading docs for the "retire" and "remove" buttons.
Bernhard Reiter <bernhard@intevation.de>
parents: 4024
diff changeset
413 <form style="padding:0" method="POST" tal:condition="file/is_edit_ok"
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
414 tal:attributes="action string:issue${context/id}">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
415 <input type="hidden" name="@remove@files" tal:attributes="value file/id">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
416 <input type="hidden" name="@action" value="edit">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
417 <input type="submit" value="remove" i18n:attributes="value">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
418 </form>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
419 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
420 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
421 </table>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
422
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
423 <table class="messages" tal:condition="context/messages">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
424 <tr><th colspan="4" class="header" i18n:translate="">Messages</th></tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
425 <tal:block tal:repeat="msg context/messages">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
426 <tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
427 <th><a tal:attributes="href string:msg${msg/id}"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
428 i18n:translate="">msg<tal:x replace="msg/id" i18n:name="id" /></a></th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
429 <th i18n:translate="">Author: <tal:x replace="python:msg.author.realname.plain()"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
430 i18n:name="author" /> (<tal:x replace="msg/author"/>)</th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
431 <th i18n:translate="">Date: <tal:x replace="python:msg.date.pretty('%Y-%m-%d %H:%M')"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
432 i18n:name="date" /></th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
433 <th>
4644
20e0e5ce217f Tracker: Following upgrading docs for the "retire" and "remove" buttons.
Bernhard Reiter <bernhard@intevation.de>
parents: 4024
diff changeset
434 <form style="padding:0" method="POST" tal:condition="msg/is_edit_ok"
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
435 tal:attributes="action string:issue${context/id}">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
436 <input type="hidden" name="@remove@messages" tal:attributes="value msg/id">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
437 <input type="hidden" name="@action" value="edit">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
438 <input type="submit" value="remove" i18n:attributes="value">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
439 </form>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
440 </th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
441 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
442 <tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
443 <td colspan="4" class="content">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
444 <pre tal:condition="python:msg.content.is_view_ok()"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
445 tal:content="structure python:utils.localReplace(msg.content.hyperlinked())">content</pre>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
446 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
447 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
448 </tal:block>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
449 </table>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
450
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
451 <tal:block tal:condition="context/id" tal:replace="structure context/history" />
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
452
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
453 </div>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
454
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
455 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
456
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
457 </tal:block>
6454
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
458 <!-- SHA: ad841842c0da5f9d1a7f69a1e0c847a549b75bf2 -->

Roundup Issue Tracker: http://roundup-tracker.org/