From 40dc219c4525d06b0001ef2501c3ae1d1c5e55d4 Mon Sep 17 00:00:00 2001 From: Meutel Date: Tue, 2 Sep 2014 20:07:44 +0200 Subject: [PATCH] Display book details (publisher) --- locales/dev/translation.json | 7 ++++++- locales/fr/translation.json | 7 ++++++- routes/book.js | 17 +++++++++++++++-- views/book.jade | 18 +++++++++++++++--- 4 files changed, 42 insertions(+), 7 deletions(-) diff --git a/locales/dev/translation.json b/locales/dev/translation.json index de92a6f..e06b547 100644 --- a/locales/dev/translation.json +++ b/locales/dev/translation.json @@ -33,7 +33,12 @@ "serie": "Serie", "language": "Language", "tags": "Tag(s)", - "nocover": "No cover" + "nocover": "No cover", + "details": "Details", + "detail": { + "pubdate": "Publication date", + "pubname": "Publisher" + } }, "author": { "books": "Books", diff --git a/locales/fr/translation.json b/locales/fr/translation.json index e004d3a..c605e88 100644 --- a/locales/fr/translation.json +++ b/locales/fr/translation.json @@ -33,7 +33,12 @@ "serie": "Série", "language": "Langue", "tags": "Tag(s)", - "nocover": "Pas de couverture" + "nocover": "Pas de couverture", + "details": "Détails", + "detail": { + "pubdate": "Date de publication", + "pubname": "Editeur" + } }, "author": { "books": "Livres", diff --git a/routes/book.js b/routes/book.js index bc8cf3c..81f8ec1 100644 --- a/routes/book.js +++ b/routes/book.js @@ -150,12 +150,13 @@ router.post('/', function(req,res) { /* Single book */ router.get('/:id', function(req, res) { - var book, authors, tags; - var queries = 3; + var book, authors, tags, details; + var queries = 4; var callback = function() { if (queries == 0) { book.authors = authors; book.tags = tags; + book.custom = custom; res.format({ html: function(){ res.render('book', book); @@ -207,6 +208,18 @@ router.get('/:id', function(req, res) { callback(); } ); + // details + custom = new Array(); + req.db.each('SELECT publishers.name as pubname FROM publishers, books_publishers_link WHERE books_publishers_link.publisher = publishers.id AND books_publishers_link.book = ?', req.params.id, + function(err, publisher) { + custom.push({name:'pubname',value:publisher.pubname}); + }, + function(err) { + if (err) console.log('ERR tags: '+err); + queries--; + callback(); + } + ); }); diff --git a/views/book.jade b/views/book.jade index 89fbbe5..8259e44 100644 --- a/views/book.jade +++ b/views/book.jade @@ -12,9 +12,10 @@ block content h1 span.glyphicon.glyphicon-book | #{title} - a.btn.btn-success(href='/calibre/'+path+'/'+data_name+'.'+format.toLowerCase()) - span.glyphicon.glyphicon-download-alt - | #{t('bouquins.book.download')} #{format} + if format + a.btn.btn-success(href='/calibre/'+path+'/'+data_name+'.'+format.toLowerCase()) + span.glyphicon.glyphicon-download-alt + | #{t('bouquins.book.download')} #{format} div.row div.col-md-5 h2 @@ -41,6 +42,17 @@ block content each tag in tags span.label.label-info= tag.name | + h2 #{t('bouquins.book.details')} + ul + if pubdate + li + strong #{t('bouquins.book.detail.pubdate')} + | #{new Date(pubdate).getMonth()}-#{new Date(pubdate).getFullYear()} + if custom + each item in custom + li + strong #{t('bouquins.book.detail.'+item.name)} + | #{item.value} div.col-md-7 if has_cover == 1 img.img-rounded.img-responsive(src='/calibre/'+path+'/cover.jpg',alt=t('bouquins.book.nocover'))