85 lines
1.5 KiB
Go
85 lines
1.5 KiB
Go
package templates
|
|
|
|
import (
|
|
"encoding/json"
|
|
"strconv"
|
|
"strings"
|
|
|
|
"git.bronku.xyz/bronku/cake-order-tracker/models"
|
|
)
|
|
|
|
func CakeTitle(cake models.Cake) string {
|
|
if cake.ID != 0 {
|
|
return "Ciasto #" + strconv.Itoa(cake.ID)
|
|
}
|
|
return "Ciasto nowe"
|
|
}
|
|
|
|
func OrderTitle(order models.Order) string {
|
|
if order.ID != 0 {
|
|
return "Edytuj zamówienie #" + strconv.Itoa(order.ID)
|
|
}
|
|
return "Nowe zamówienie"
|
|
}
|
|
|
|
func specialCakeDetail(sc models.SpecialCake) string {
|
|
return sc.Detail()
|
|
}
|
|
|
|
func cakeItemsDesc(cakes []models.Cake) string {
|
|
desc := ""
|
|
for i, c := range cakes {
|
|
if i > 0 {
|
|
desc += ", "
|
|
}
|
|
desc += c.Name + " (x" + strconv.Itoa(c.Amount) + ")"
|
|
}
|
|
return desc
|
|
}
|
|
|
|
func cakeHasTag(tags []models.Tag, id int) bool {
|
|
for _, t := range tags {
|
|
if t.ID == id {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|
|
|
|
func tagIDsComma(tags []models.Tag) string {
|
|
ids := make([]string, len(tags))
|
|
for i, t := range tags {
|
|
ids[i] = strconv.Itoa(t.ID)
|
|
}
|
|
return strings.Join(ids, ",")
|
|
}
|
|
|
|
func tagNames(tags []models.Tag) string {
|
|
names := make([]string, len(tags))
|
|
for i, t := range tags {
|
|
names[i] = t.Name
|
|
}
|
|
return strings.Join(names, ",")
|
|
}
|
|
|
|
func orderItemsDesc(order models.Order) string {
|
|
desc := cakeItemsDesc(order.Cakes)
|
|
for _, s := range order.SpecialCakes {
|
|
if desc != "" {
|
|
desc += ", "
|
|
}
|
|
desc += s.Name + " *"
|
|
}
|
|
return desc
|
|
}
|
|
|
|
func blockedDatesJSON(dates []models.BlockedDate) string {
|
|
names := make([]string, len(dates))
|
|
for i, d := range dates {
|
|
names[i] = d.Date
|
|
}
|
|
b, _ := json.Marshal(names)
|
|
return string(b)
|
|
}
|
|
|
|
|