annotate website/issues/html/issue.item.html @ 6628:2bb6d7baa47d

"Comment" out the meta data - will not process under 1.7.5 sphinx Apparently field names with : fail on 1.7.5 sphinx which is the virtual env version on sourceforge. It works on my 1.6.7 python2 install. Looks like I need to add sphinxext-opengraph to get this to work. However that is python3 only so need to spin up new virtualenv etc. Looks like no python3 on sourceforge which may be an issue. On sourceforge in /home/project-web/roundup/src/docbuilder these packages are used and must be scp'ed as pip has no network access outside of sourceforge: Babel-2.6.0-py2.py3-none-any.whl Jinja2-2.10-py2.py3-none-any.whl MarkupSafe-1.0.tar.gz Pygments-2.2.0-py2.py3-none-any.whl Sphinx-1.7.5 Sphinx-1.7.5-py2.py3-none-any.whl Sphinx-1.7.5.tar.gz alabaster-0.7.11-py2.py3-none-any.whl certifi-2018.4.16-py2.py3-none-any.whl chardet-3.0.4-py2.py3-none-any.whl docutils-0.14-py2-none-any.whl idna-2.7-py2.py3-none-any.whl imagesize-1.0.0-py2.py3-none-any.whl packaging-17.1-py2.py3-none-any.whl pip-10.0.1 pip-10.0.1.tar.gz pyparsing-2.2.0-py2.py3-none-any.whl pytz-2018.5-py2.py3-none-any.whl requests-2.19.1-py2.py3-none-any.whl setuptools-39.2.0-py2.py3-none-any.whl six-1.11.0-py2.py3-none-any.whl snowballstemmer-1.2.1-py2.py3-none-any.whl sphinxcontrib_websupport-1.1.0-py2.py3-none-any.whl typing-3.6.4-py2-none-any.whl urllib3-1.23-py2.py3-none-any.whl
author John Rouillard <rouilj@ieee.org>
date Sun, 27 Mar 2022 13:57:04 -0400
parents bc95f7431efb
children 12c5ddf865b1
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>
6474
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
165 <td colspan=3><input type="edit" class="fileDesc" 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>
6507
bc95f7431efb Remove miscommited issue directory; AboutPage fix; aria for drag/drop
John Rouillard <rouilj@ieee.org>
parents: 6476
diff changeset
169 <textarea readonly id="DropZone" aria-labeledby="DropZone">
6454
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
6474
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
225 function make_clear_fileInput_closure(input) {
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
226 return function(ev) { input.value = "";
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
227 ev.preventDefault();}
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
228 }
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
229
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
230
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
231 function make_new_clear_button() {
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
232 newClearInput=document.createElement('button');
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
233 newClearInput.textContent = "X";
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
234 newClearInput.setAttribute("aria-label",
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
235 "Clear next file input.");
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
236 newClearInput.setAttribute("title",
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
237 "Clear next file input.");
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
238 newClearInput.classList.add("clearButton");
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
239 return newClearInput;
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
240 }
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
241
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
242 function make_new_file_input() {
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
243 newInput=document.createElement('input');
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
244 newInput.type="file";
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
245 newInput.id="file-" + NextInputNum +"@content";
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
246 newInput.name=newInput.id;
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
247 return newInput;
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
248 }
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
249
6454
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
250 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
251 // 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
252 fileInput.removeEventListener('change',
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
253 add_file_input,
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
254 false);
6474
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
255 newClearInput = fileInput.insertAdjacentElement(
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
256 'beforebegin',
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
257 make_new_clear_button());
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
258
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
259 // add change handler to file clear button
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
260 newClearInput.addEventListener('click',
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
261 make_clear_fileInput_closure(fileInput),
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
262 false);
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
263
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
264 /* Insert break so next input is on new line */
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
265 br = fileInput.insertAdjacentElement('afterend',
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
266 document.createElement('br'));
6454
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
267
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
268 /* 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
269 /* <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
270 3, 4, ... */
6474
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
271 fileInput = br.insertAdjacentElement('afterend',
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
272 make_new_file_input());
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
273
6454
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
274 // 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
275 fileInput.addEventListener('change',
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
276 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
277 false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
278
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
279 /* 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
280 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
281 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
282 addLink.type="hidden";
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
283 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
284 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
285 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
286 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
287
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
288 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
289 addLink.type="hidden";
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
290 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
291 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
292 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
293 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
294
6474
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
295 /* break line before description field to prevent
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
296 wrapping multiple descriptions onto one line when
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
297 zoomed out or large display.*/
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
298 br = fileDesc.insertAdjacentElement('afterend',
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
299 document.createElement('br'));
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
300 fileDesc=document.createElement('input');
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
301 fileDesc.type="edit";
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
302 fileDesc.id="file-" + NextInputNum + "@description";
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
303 fileDesc.name=fileDesc.id
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
304 fileDesc.size = 40
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
305 fileDesc.classList.add("fileDesc");
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
306 fileDesc=br.insertAdjacentElement('afterend', fileDesc);
6454
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
307
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
308 NextInputNum = NextInputNum+1;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
309 }
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
310
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
311 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
312 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
313 e.style.backgroundColor = "";
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 fileInput.addEventListener('change',
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
316 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
317 false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
318
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
319 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
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 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
322 });
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
323
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
324 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
325 e.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
326 MarkDropZone(target, true);
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
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
329
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
330 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
331 e.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
332 MarkDropZone(target, false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
333 });
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
334
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
335 target.addEventListener('dragleave', () => {
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
336 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
337 });
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
338
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
339 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
340 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
341 MarkDropZone(target, false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
342
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
343 // 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
344 // 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
345 // 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
346 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
347 ! fileInput.hasAttribute('multiple')) &&
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
348 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
349 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
350 e.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
351 return
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
352 }
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
353 // 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
354 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
355
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
356 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
357 // 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
358 e.preventDefault();
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
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
361 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
362 e.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
363 MarkDropZone(target, true);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
364 });
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
365
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
366 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
367 e.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
368 MarkDropZone(target, false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
369 });
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
370
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
371 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
372 // 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
373 // 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
374
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
375 // 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
376 // 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
377 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
378 // 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
379 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
380 event.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
381 return;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
382 }
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
383 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
384
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
385 /* 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
386 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
387 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
388 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
389 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
390 found,
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
391 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
392 callback_fcn(s))
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
393
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
394 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
395 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
396 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
397
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
398 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
399 */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
400 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
401 // 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
402 event.preventDefault();
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
403 }, false);
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
404 </script>
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
405 <style tal:attributes="nonce request/client/client_nonce">
6474
a2c340261290 Add button to clear file input.
John Rouillard <rouilj@ieee.org>
parents: 6454
diff changeset
406 #FileArea button.clearButton ~ input[type=file] {display:inline-block;}
6454
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
407 #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
408 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
409 display:none;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
410 width: 100%;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
411 /* override textarea inset */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
412 border-style: dashed;
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
413 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
414 /* 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
415 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
416 /* lighter color */
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
417 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
418 }
6476
10a8a6bc4667 Change spacing for file addition; larger comment block; top label
John Rouillard <rouilj@ieee.org>
parents: 6474
diff changeset
419 input[id$=\@content], input.fileDesc {margin-block-end: 0.5em}
6454
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
420 </style>
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
421
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
422 <p tal:condition="context/id" i18n:translate="">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
423 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
424 by <b><tal:x replace="context/creator" i18n:name="creator" /></b>,
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
425 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
426 by <b><tal:x replace="context/actor" i18n:name="actor" /></b>.
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
427 </p>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
428
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
429 <table class="files" tal:condition="context/files">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
430 <tr><th colspan="5" class="header" i18n:translate="">Files</th></tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
431 <tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
432 <th i18n:translate="">File name</th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
433 <th i18n:translate="">Uploaded</th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
434 <th i18n:translate="">Description</th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
435 <th i18n:translate="">Edit</th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
436 <th i18n:translate="">Remove</th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
437 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
438 <tr tal:repeat="file python:context.files.sorted('creation')">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
439 <td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
440 <a tal:attributes="href file/download_url"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
441 tal:content="file/name">dld link</a>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
442 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
443 <td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
444 <span tal:content="file/creator">creator's name</span>,
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
445 <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
446 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
447 <td tal:content="file/description" />
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
448 <td><a tal:condition="file/is_edit_ok"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
449 tal:attributes="href string:file${file/id}">edit</a>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
450 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
451 <td>
4644
20e0e5ce217f Tracker: Following upgrading docs for the "retire" and "remove" buttons.
Bernhard Reiter <bernhard@intevation.de>
parents: 4024
diff changeset
452 <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
453 tal:attributes="action string:issue${context/id}">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
454 <input type="hidden" name="@remove@files" tal:attributes="value file/id">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
455 <input type="hidden" name="@action" value="edit">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
456 <input type="submit" value="remove" i18n:attributes="value">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
457 </form>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
458 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
459 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
460 </table>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
461
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
462 <table class="messages" tal:condition="context/messages">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
463 <tr><th colspan="4" class="header" i18n:translate="">Messages</th></tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
464 <tal:block tal:repeat="msg context/messages">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
465 <tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
466 <th><a tal:attributes="href string:msg${msg/id}"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
467 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
468 <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
469 i18n:name="author" /> (<tal:x replace="msg/author"/>)</th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
470 <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
471 i18n:name="date" /></th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
472 <th>
4644
20e0e5ce217f Tracker: Following upgrading docs for the "retire" and "remove" buttons.
Bernhard Reiter <bernhard@intevation.de>
parents: 4024
diff changeset
473 <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
474 tal:attributes="action string:issue${context/id}">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
475 <input type="hidden" name="@remove@messages" tal:attributes="value msg/id">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
476 <input type="hidden" name="@action" value="edit">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
477 <input type="submit" value="remove" i18n:attributes="value">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
478 </form>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
479 </th>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
480 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
481 <tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
482 <td colspan="4" class="content">
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
483 <pre tal:condition="python:msg.content.is_view_ok()"
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
484 tal:content="structure python:utils.localReplace(msg.content.hyperlinked())">content</pre>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
485 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
486 </tr>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
487 </tal:block>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
488 </table>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
489
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
490 <tal:block tal:condition="context/id" tal:replace="structure context/history" />
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
491
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
492 </div>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
493
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
494 </td>
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
495
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
496 </tal:block>
6454
83b67f65b8ff Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents: 6307
diff changeset
497 <!-- SHA: ad841842c0da5f9d1a7f69a1e0c847a549b75bf2 -->

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