diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/grils/gril.go | 25 | ||||
-rw-r--r-- | modules/grils/grils.go | 4 | ||||
-rw-r--r-- | modules/lists/lists.go | 25 |
3 files changed, 39 insertions, 15 deletions
diff --git a/modules/grils/gril.go b/modules/grils/gril.go index c8c6538..89dd7c4 100644 --- a/modules/grils/gril.go +++ b/modules/grils/gril.go | |||
@@ -3,6 +3,7 @@ package grils | |||
3 | import ( | 3 | import ( |
4 | "database/sql" | 4 | "database/sql" |
5 | "fmt" | 5 | "fmt" |
6 | "os" | ||
6 | "strconv" | 7 | "strconv" |
7 | "strings" | 8 | "strings" |
8 | "time" | 9 | "time" |
@@ -39,3 +40,27 @@ func (g *Gril) Slug() string { | |||
39 | g.ID, | 40 | g.ID, |
40 | strings.Replace(g.RomajiName, " ", "", -1)) | 41 | strings.Replace(g.RomajiName, " ", "", -1)) |
41 | } | 42 | } |
43 | |||
44 | func (g *Gril) ImagePath(prioritizeThumbnail bool) string { | ||
45 | var big string | ||
46 | exts := []string{"png", "jpg", "gif", "jpeg"} | ||
47 | for _, ext := range exts { | ||
48 | path := fmt.Sprintf("assets/img/gril/%d/0.%s", g.ID, ext) | ||
49 | if _, err := os.Stat(path); err == nil { | ||
50 | if prioritizeThumbnail { | ||
51 | big = path | ||
52 | } else { | ||
53 | return path | ||
54 | } | ||
55 | } | ||
56 | } | ||
57 | |||
58 | for _, ext := range exts { | ||
59 | path := fmt.Sprintf("assets/img/gril/%d/1.%s", g.ID, ext) | ||
60 | if _, err := os.Stat(path); err == nil { | ||
61 | return path | ||
62 | } | ||
63 | } | ||
64 | |||
65 | return big | ||
66 | } | ||
diff --git a/modules/grils/grils.go b/modules/grils/grils.go index 46d0fb3..0df93a0 100644 --- a/modules/grils/grils.go +++ b/modules/grils/grils.go | |||
@@ -44,10 +44,6 @@ func (m *GrilsModule) Init(g *grilist.Grilist) { | |||
44 | m.g.Router.GET("/gril/:id/*rest", m.viewGril) | 44 | m.g.Router.GET("/gril/:id/*rest", m.viewGril) |
45 | } | 45 | } |
46 | 46 | ||
47 | func (m *GrilsModule) Interface() interface{} { | ||
48 | return m | ||
49 | } | ||
50 | |||
51 | func (m *GrilsModule) getGrils(whereClause string, params ...interface{}) ([]*Gril, error) { | 47 | func (m *GrilsModule) getGrils(whereClause string, params ...interface{}) ([]*Gril, error) { |
52 | var grils []*Gril | 48 | var grils []*Gril |
53 | 49 | ||
diff --git a/modules/lists/lists.go b/modules/lists/lists.go index 47501c2..4c4288f 100644 --- a/modules/lists/lists.go +++ b/modules/lists/lists.go | |||
@@ -52,7 +52,7 @@ func (m *Module) Init(g *grilist.Grilist) { | |||
52 | log.Fatal("lists: grils module not found") | 52 | log.Fatal("lists: grils module not found") |
53 | } | 53 | } |
54 | 54 | ||
55 | grilsModule, ok := gm.Interface().(*grils.GrilsModule) | 55 | grilsModule, ok := gm.(*grils.GrilsModule) |
56 | if !ok { | 56 | if !ok { |
57 | log.Fatal("lists: error with grils module") | 57 | log.Fatal("lists: error with grils module") |
58 | } | 58 | } |
@@ -60,11 +60,6 @@ func (m *Module) Init(g *grilist.Grilist) { | |||
60 | m.g.Router.GET("/list/:id", m.viewList) | 60 | m.g.Router.GET("/list/:id", m.viewList) |
61 | } | 61 | } |
62 | 62 | ||
63 | // Interface gibt das Modul zurück | ||
64 | func (m *Module) Interface() interface{} { | ||
65 | return m | ||
66 | } | ||
67 | |||
68 | func (m *Module) getListGrils(list *List) error { | 63 | func (m *Module) getListGrils(list *List) error { |
69 | rows, err := m.g.DB.Query(`SELECT gril_id, "order" FROM grilist.lists_grils WHERE list_id = $1`, list.ID) | 64 | rows, err := m.g.DB.Query(`SELECT gril_id, "order" FROM grilist.lists_grils WHERE list_id = $1`, list.ID) |
70 | if err != nil { | 65 | if err != nil { |
@@ -96,7 +91,7 @@ func (m *Module) getListGrils(list *List) error { | |||
96 | func (m *Module) getLists(whereClause string, params ...interface{}) ([]*List, error) { | 91 | func (m *Module) getLists(whereClause string, params ...interface{}) ([]*List, error) { |
97 | var lists []*List | 92 | var lists []*List |
98 | 93 | ||
99 | rows, err := m.g.DB.Query(fmt.Sprintf(`SELECT id, name, description, fork_of, updated_at FROM grilist.lists WHERE %s`, whereClause), params...) | 94 | 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...) |
100 | if err != nil { | 95 | if err != nil { |
101 | return nil, err | 96 | return nil, err |
102 | } | 97 | } |
@@ -104,8 +99,8 @@ func (m *Module) getLists(whereClause string, params ...interface{}) ([]*List, e | |||
104 | defer rows.Close() | 99 | defer rows.Close() |
105 | for rows.Next() { | 100 | for rows.Next() { |
106 | list := &List{} | 101 | list := &List{} |
107 | 102 | var ownerID int | |
108 | if err := rows.Scan(&list.ID, &list.Name, &list.Description, &list.ForkOf, &list.UpdatedAt); err != nil { | 103 | if err := rows.Scan(&list.ID, &list.Name, &list.Description, &list.ForkOf, &list.UpdatedAt, &ownerID); err != nil { |
109 | log.Println("error scanning row in getLists:", err) | 104 | log.Println("error scanning row in getLists:", err) |
110 | continue | 105 | continue |
111 | } | 106 | } |
@@ -115,6 +110,14 @@ func (m *Module) getLists(whereClause string, params ...interface{}) ([]*List, e | |||
115 | continue | 110 | continue |
116 | } | 111 | } |
117 | 112 | ||
113 | // Owner kriegn | ||
114 | owner, err := m.g.Charakterin.GetUserByID(ownerID) | ||
115 | if err != nil { | ||
116 | log.Println("error retreiving owner of list", err) | ||
117 | continue | ||
118 | } | ||
119 | list.Owner = owner | ||
120 | |||
118 | lists = append(lists, list) | 121 | lists = append(lists, list) |
119 | } | 122 | } |
120 | 123 | ||
@@ -161,8 +164,8 @@ func listsToCards(lists []*List) []frontend.Card { | |||
161 | Link: fmt.Sprintf("/list/%d", list.ID), | 164 | Link: fmt.Sprintf("/list/%d", list.ID), |
162 | }, | 165 | }, |
163 | frontend.Action{ | 166 | frontend.Action{ |
164 | Name: fmt.Sprintf(`<span class="chip">%d gril%s</span>`, len(list.Grils), s), | 167 | Name: fmt.Sprintf(`<span class="chip">%d gril%s</span>`, len(list.Grils), s), |
165 | Link: "#", | 168 | Link: "#", |
166 | Disabled: true, | 169 | Disabled: true, |
167 | }, | 170 | }, |
168 | }, | 171 | }, |