diff options
| author | jan <jan@ruken.pw> | 2015-12-29 18:52:53 (UTC) |
|---|---|---|
| committer | jan <jan@ruken.pw> | 2015-12-29 18:52:53 (UTC) |
| commit | b46c72a602cc9b3780c6f01f4275703e6b3e5b2e (patch) | |
| tree | 0da2055df7165ec06d55b0b70ba3c5ed4fc648e7 | |
| parent | 0921b37a8b3f7f97128ae447b75cffeb1d4d22dc (diff) | |
wip: richtige liste für grils
| -rw-r--r-- | modules/lists/lists.go | 19 | ||||
| -rw-r--r-- | views/list.html | 71 | ||||
| -rw-r--r-- | views/navbar.html | 2 |
3 files changed, 69 insertions, 23 deletions
diff --git a/modules/lists/lists.go b/modules/lists/lists.go index dcc7046..94d4030 100644 --- a/modules/lists/lists.go +++ b/modules/lists/lists.go | |||
| @@ -34,8 +34,9 @@ type List struct { | |||
| 34 | 34 | ||
| 35 | // ListGril ist ein geranktes Gril | 35 | // ListGril ist ein geranktes Gril |
| 36 | type ListGril struct { | 36 | type ListGril struct { |
| 37 | Gril *grils.Gril | 37 | Gril *grils.Gril |
| 38 | Order int | 38 | Order int |
| 39 | ImagePath string | ||
| 39 | } | 40 | } |
| 40 | 41 | ||
| 41 | // Name gibt den Namen des Moduls zurück | 42 | // Name gibt den Namen des Moduls zurück |
| @@ -91,7 +92,7 @@ func (m *Module) getListGrils(list *List) error { | |||
| 91 | func (m *Module) getLists(whereClause string, params ...interface{}) ([]*List, error) { | 92 | func (m *Module) getLists(whereClause string, params ...interface{}) ([]*List, error) { |
| 92 | var lists []*List | 93 | var lists []*List |
| 93 | 94 | ||
| 94 | rows, err := m.g.DB.Query(fmt.Sprintf(`SELECT id, name, description, fork_of, updated_at FROM grilist.lists WHERE %s`, whereClause), params...) | 95 | rows, err := m.g.DB.Query(fmt.Sprintf(`SELECT id, name, description, fork_of, updated_at, user_id FROM grilist.lists WHERE %s`, whereClause), params...) |
| 95 | if err != nil { | 96 | if err != nil { |
| 96 | return nil, err | 97 | return nil, err |
| 97 | } | 98 | } |
| @@ -99,8 +100,8 @@ func (m *Module) getLists(whereClause string, params ...interface{}) ([]*List, e | |||
| 99 | defer rows.Close() | 100 | defer rows.Close() |
| 100 | for rows.Next() { | 101 | for rows.Next() { |
| 101 | list := &List{} | 102 | list := &List{} |
| 102 | 103 | var ownerID int | |
| 103 | if err := rows.Scan(&list.ID, &list.Name, &list.Description, &list.ForkOf, &list.UpdatedAt); err != nil { | 104 | if err := rows.Scan(&list.ID, &list.Name, &list.Description, &list.ForkOf, &list.UpdatedAt, &ownerID); err != nil { |
| 104 | log.Println("error scanning row in getLists:", err) | 105 | log.Println("error scanning row in getLists:", err) |
| 105 | continue | 106 | continue |
| 106 | } | 107 | } |
| @@ -110,6 +111,14 @@ func (m *Module) getLists(whereClause string, params ...interface{}) ([]*List, e | |||
| 110 | continue | 111 | continue |
| 111 | } | 112 | } |
| 112 | 113 | ||
| 114 | // Owner kriegn | ||
| 115 | owner, err := m.g.Charakterin.GetUserByID(ownerID) | ||
| 116 | if err != nil { | ||
| 117 | log.Println("error retreiving owner of list", err) | ||
| 118 | continue | ||
| 119 | } | ||
| 120 | list.Owner = owner | ||
| 121 | |||
| 113 | lists = append(lists, list) | 122 | lists = append(lists, list) |
| 114 | } | 123 | } |
| 115 | 124 | ||
diff --git a/views/list.html b/views/list.html index fb5f7a3..8fc7694 100644 --- a/views/list.html +++ b/views/list.html | |||
| @@ -1,22 +1,59 @@ | |||
| 1 | {{ define "list" }} | 1 | {{ define "list" }} |
| 2 | {{ $list := .list }} | 2 | {{ $list := .list }} |
| 3 | <html> | 3 | <html> |
| 4 | <head> | 4 | <head> |
| 5 | {{ template "materialize" }} | 5 | {{ template "materialize" }} |
| 6 | <title>grilist</title> | 6 | <title>grilist</title> |
| 7 | <link rel="stylesheet" href="/assets/css/gril.css" /> | 7 | <link rel="stylesheet" href="/assets/css/list.css" /> |
| 8 | <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> | 8 | <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> |
| 9 | </head> | 9 | <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> |
| 10 | <body> | 10 | </head> |
| 11 | {{ template "navbar" . }} | 11 | <body> |
| 12 | <div class="container"> | 12 | {{ template "navbar" . }} |
| 13 | <h1>{{ $list.Name }}<small>von xyz</small></h1><br /> | 13 | <div class="container"> |
| 14 | <ul> | 14 | <h1>{{ $list.Name }}<small>von {{ $list.Owner.GetName }}</small></h1><br /> |
| 15 | {{ range $lg := $list.Grils }} | 15 | <ul class="gril-list"> |
| 16 | <li><a href="/gril/{{ $lg.Gril.ID }}">{{ $lg.Gril.RomajiName }}</a></li> | 16 | {{ range $index, $lg := $list.Grils }} |
| 17 | {{ end }} | 17 | <li id="{{ $index }}" class="col s12 m8 offset-m2 l6 offset-l3"> |
| 18 | </ul> | 18 | <div class="card-panel hoverable list-entry"> |
| 19 | </div> | 19 | <div class="row valign-wrapper"> |
| 20 | </body> | 20 | <div class="col s1 rank-text"> |
| 21 | {{ $index }} | ||
| 22 | </div> | ||
| 23 | <div class="col s3 m2"> | ||
| 24 | <img src="{{ $lg.Image }}" alt="" class="circle list-img" /> | ||
| 25 | </div> | ||
| 26 | <div class="col s6 m6"> | ||
| 27 | <span><a href="/gril/{{ $lg.Gril.ID }}">{{ $lg.Gril.RomajiName }}</a><br /> | ||
| 28 | <span class="jap-name">{{ $lg.Gril.KanjiName }}</span> | ||
| 29 | </span> | ||
| 30 | </div> | ||
| 31 | <div class="col s2 m3"> | ||
| 32 | <div class="hide-on-med-and-up"> | ||
| 33 | <div class="row list-controls valign-wrapper"> | ||
| 34 | <div class="col s6 left-align"> | ||
| 35 | <i class="material-icons" onClick="">keyboard_arrow_up</i> | ||
| 36 | <i class="material-icons" onClick="">keyboard_arrow_down</i> | ||
| 37 | </div> | ||
| 38 | <div class="col s4 left-align"> | ||
| 39 | <i class="hide-on-med-and-up material-icons delete-icon" onClick="">delete</i> | ||
| 40 | </div> | ||
| 41 | </div> | ||
| 42 | </div> | ||
| 43 | <div class="hide-on-small-only"> | ||
| 44 | <div class="valign-wrapper"> | ||
| 45 | <i class="medium material-icons" onClick="">keyboard_arrow_up</i> | ||
| 46 | <i class="medium material-icons" onClick="">keyboard_arrow_down</i> | ||
| 47 | <i class="material-icons" onClick="">delete</i> | ||
| 48 | </div> | ||
| 49 | </div> | ||
| 50 | </div> | ||
| 51 | </div> | ||
| 52 | </div> | ||
| 53 | </li> | ||
| 54 | {{ end }} | ||
| 55 | </ul> | ||
| 56 | </div> | ||
| 57 | </body> | ||
| 21 | </html> | 58 | </html> |
| 22 | {{ end }} \ No newline at end of file | 59 | {{ end }} \ No newline at end of file |
diff --git a/views/navbar.html b/views/navbar.html index 70911e4..8905a1d 100644 --- a/views/navbar.html +++ b/views/navbar.html | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | <a href="/" class="brand-logo center">grilist</a> | 4 | <a href="/" class="brand-logo center">grilist</a> |
| 5 | <ul id="nav-mobile" class="right hide-on-med-and-down"> | 5 | <ul id="nav-mobile" class="right hide-on-med-and-down"> |
| 6 | {{ if .user }} | 6 | {{ if .user }} |
| 7 | <li><a href="/">{{ .user.Name }}</a></li> | 7 | <li><a href="/">{{ .user.GetName }}</a></li> |
| 8 | <li><a href="/logout">Ausloggen</a></li> | 8 | <li><a href="/logout">Ausloggen</a></li> |
| 9 | {{ else }} | 9 | {{ else }} |
| 10 | <li><a href="/login">Einloggen</a></li> | 10 | <li><a href="/login">Einloggen</a></li> |
