#encoding utf-8
#import cgi
+#from m_librarian.translations import translations
#extends views.layout
#attr $title = 'Список книг'
#def body
<h1>$title</h1>
+<script type="text/javascript" language="Javascript">
+<!--
+function toggleBooks(selector, value) {
+ cboxes = document.querySelectorAll(selector);
+ for (var i = 0; i < cboxes.length; i++) {
+ cboxes[i].checked = value;
+ }
+}
+
+function toggleAll(value) {
+ toggleBooks('input[type=checkbox]', value);
+}
+
+function toggleAuthor(name, value) {
+ toggleBooks('input[type=checkbox][name^=' + name + ']', value);
+}
+
+function toggleSeries(name, value) {
+ toggleBooks('input[type=checkbox][name^=' + name + '_book]', value);
+}
+// -->
+</script>
+
#if $books_by_author
<form action="/download/" method="POST" style="height: 80%">
- <div style="width: 100%; height: 90%">
- <select multiple name="books" style="height: 100%">
- #set $series = None
- #for $author in $sorted($books_by_author)
+ <table style="width: 100%; height: 90%">
+ <tr>
+ <td><input type=checkbox name="_toggleAll"
+ onClick="toggleAll(this.checked)"></td>
+ #set $_ = $getattr($translations, 'ugettext', None) or $translations.gettext
+ #for $column in $columns
+ <td style="text-align: center">$cgi.escape($_($column))</td>
+ #end for
+ </tr>
+ #set $columns1 = $len($columns)+1
+ #for $anum, $author in $enumerate($sorted($books_by_author))
+ #set $series = None
+ #set $snum = 0
#set $books = $books_by_author[$author]
+ <tr>
+ <td><input type=checkbox name="a${anum+1}_"
+ onClick="toggleAuthor(this.name, this.checked)"></td>
+ <td colspan="${columns1-1}"><b>$author</b></td>
+ </tr>
#for $book in $books
#if $book.series != $series
- #if $series is not None
- </optgroup>
- #end if
#set $series = $book.series
- <optgroup label="#slurp
-$author — #slurp
- #if $book.series
+ #set $snum += 1
+ <tr>
+ <td><input type=checkbox name="a${anum+1}_s${snum}"
+ onClick="toggleSeries(this.name, this.checked)"></td>
+ <td colspan="${columns1-1}"><b>
+ $author — <i>
+ #if $book.series
$cgi.escape($series, 1)#slurp
- #else
+ #else
Вне серий#slurp
+ #end if
+ </i></b></td>
+ </tr>
#end if
-">
- #end if
- <option value="$book.id">$book.ser_no $cgi.escape($book.title)</option>
+ <tr>
+ <td><input type=checkbox name="a${anum+1}_s${snum}_books" value="$book.id"></td>
+ #for $column in $columns
+ #if $column in ('ser_no', 'size')
+ #set $style = ' style="text-align: right; width: 5ex"'
+ #else
+ #set $style = ''
+ #end if
+ <td$style>$cgi.escape(unicode($getattr($book, $column) or ''))</td>
+ #end for
+ </tr>
#end for
#end for
- </optgroup>
- </select>
- </div>
- <div style="width: 100%; text-align: center">
- <input type="submit" value="Скачать">
- </div>
+ <tr>
+ <td colspan="$columns1" style="text-align: center"><input type="submit" value="Скачать"></td>
+ </tr>
+ </table>
</form>
#else
<p>Не найдено ни одной книги!</p>