Clean up a bit the add book to list interface
This commit is contained in:
parent
11195e258b
commit
a40b5ac534
2 changed files with 17 additions and 6 deletions
|
@ -106,25 +106,26 @@ func (db *pgDB) GetListsByBook(bookID string) ([]BookList, error) {
|
||||||
var bookListEntries []BookListEntry
|
var bookListEntries []BookListEntry
|
||||||
|
|
||||||
err := db.sql.Model(&bookListEntries).
|
err := db.sql.Model(&bookListEntries).
|
||||||
|
Column("BookList").
|
||||||
Where("book_id = ?", bookID).
|
Where("book_id = ?", bookID).
|
||||||
Select()
|
Select()
|
||||||
if err != nil || len(bookListEntries) == 0 {
|
if err != nil || len(bookListEntries) == 0 {
|
||||||
return bookLists, err
|
return bookLists, err
|
||||||
}
|
}
|
||||||
|
|
||||||
whereQuery := "id IN ("
|
whereQuery := `list_id IN (`
|
||||||
listIDs := make([]interface{}, len(bookListEntries))
|
listIDs := make([]interface{}, len(bookListEntries))
|
||||||
for i, entry := range bookListEntries {
|
for i, entry := range bookListEntries {
|
||||||
whereQuery += "?"
|
whereQuery += "?"
|
||||||
if i < len(bookListEntries)-1 {
|
if i < len(bookListEntries)-1 {
|
||||||
whereQuery += ", "
|
whereQuery += ", "
|
||||||
}
|
}
|
||||||
listIDs[i] = entry.ID
|
listIDs[i] = entry.BookList.ListID
|
||||||
}
|
}
|
||||||
whereQuery += ")"
|
whereQuery += ")"
|
||||||
|
|
||||||
err = db.sql.Model(&bookLists).
|
err = db.sql.Model(&bookLists).
|
||||||
Column("Books").
|
Column("Books", "User").
|
||||||
Where(whereQuery, listIDs...).
|
Where(whereQuery, listIDs...).
|
||||||
Select()
|
Select()
|
||||||
return bookLists, err
|
return bookLists, err
|
||||||
|
|
|
@ -78,23 +78,33 @@ function delBook(){
|
||||||
|
|
||||||
{{if .Lists}}
|
{{if .Lists}}
|
||||||
<br />
|
<br />
|
||||||
|
<div class="row">
|
||||||
<div class="span10 offset1">
|
<div class="span10 offset1">
|
||||||
<h4>Book in lists:</h4>
|
<h4>Book in lists:</h4>
|
||||||
<ul class="nav nav-tabs nav-stacked">
|
<ul class="nav nav-tabs nav-stacked">
|
||||||
{{range .Lists}}
|
{{range .Lists}}
|
||||||
<li><a href="/list/{{.ListID}}">{{.Title}} ({{len .Books}})</a></li>
|
<li><a href="/list/{{.ListID}}">{{.Title}} ({{len .Books}})
|
||||||
|
<span class="pull-right">By {{.User.Username}}</span></a>
|
||||||
|
</li>
|
||||||
{{end}}
|
{{end}}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
{{else}}
|
||||||
|
<br />
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if .S.User}}
|
{{if .S.User}}
|
||||||
<br />
|
<div class="row">
|
||||||
<form class="span6 offset3 form-inline" method="POST" action="/list/">
|
<h5 class="offset1 span2">Add book to a list:</h5>
|
||||||
|
<form class="form-inline" method="POST" action="/list/">
|
||||||
<input type="hidden" id="book_id" name="book_id" value="{{.Book.ID}}">
|
<input type="hidden" id="book_id" name="book_id" value="{{.Book.ID}}">
|
||||||
|
<div class="input-append">
|
||||||
<input type="text" data-provide="typeahead" id="list" name="list">
|
<input type="text" data-provide="typeahead" id="list" name="list">
|
||||||
<button type="submit" class="btn btn-primary">Add to list</button>
|
<button type="submit" class="btn btn-primary">Add to list</button>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(window).load(function() {
|
$(window).load(function() {
|
||||||
|
|
Reference in a new issue