Author: Adam <git@apiote.tk>
fix regression in marking episodes watched
libamuse/account.go | 22 +++++++++++++++++++--- templates/tvserie.html | 7 +++++--
diff --git a/libamuse/account.go b/libamuse/account.go index 700c77811fcbe5c566aaa7ba6c18fd43270cb37e..993b25212458116f344a6dbbdd390a2a5b4a078d 100644 --- a/libamuse/account.go +++ b/libamuse/account.go @@ -68,13 +68,17 @@ NewResult(gott.Tuple(args)). Bind(getFilm). Bind(getCollection). Finish() - args = arg.(gott.Tuple) + if err == nil { + args = arg.(gott.Tuple) + } case datastructure.ItemTypeTvserie: arg, err = gott. NewResult(gott.Tuple(args)). Bind(getTvSerie). Finish() - args = arg.(gott.Tuple) + if err == nil { + args = arg.(gott.Tuple) + } } return gott.Tuple(args), err } @@ -115,7 +119,10 @@ if datetime == "" { t = time.Now() } else { location, _ := time.LoadLocation(result.user.Timezone) - t, err = time.ParseInLocation("2006-01-02T15:04:05", datetime, location) + t, err = time.Parse("2006-01-02T15:04:05", datetime) + if !t.IsZero() { + t = t.In(location) + } } t = t.In(time.UTC) result.result = t @@ -139,6 +146,11 @@ } err = db.SkipSpecials(result.user.Username, id[0], episodesNumber, datastructure.ItemType(itemType), t) } else { err = db.AddToExperiences(result.user.Username, data.id, datastructure.ItemType(itemType), t) + } + + data.id = id[0] + if len(id) > 1 { + return gott.Tuple(args), errors.New("Skip") } return gott.Tuple(args), err @@ -177,6 +189,10 @@ Bind(cacheItem). Bind(removeFromWantList). Bind(removeCacheItem). Finish() + + if err.Error() == "Skip" { + err = nil + } if emptyErr, ok := err.(db.EmptyError); ok && emptyErr.Error() == "Empty delete" { err = nil diff --git a/templates/tvserie.html b/templates/tvserie.html index 675ac91d79c7468f7a278f6ea500c9923a580ef3..20cdcde5ef0b8482175c9d2f0a0f8e1afba03d50 100644 --- a/templates/tvserie.html +++ b/templates/tvserie.html @@ -179,7 +179,9 @@ {{if eq .Season_number 0}} <form action="/users/{{$.State.User.Username}}/experiences/" method="POST" class="flex flex-centre"> <input type="hidden" name="itemId" value="{{$.Data.Id}}/S00A{{len .Episodes}}" /> <input type="hidden" name="itemType" value="tvserie" /> - <input type="hidden" name="datetime" value="0001-01-01T00:00:00"/> + <input type="hidden" name="watchedDate" value="0001-01-01"/> + <input type="hidden" name="watchedTime" value="00:00"/> + <input type="checkbox" class="display-none" name="isOtherTime" value="true" checked /> <button type="submit" class="border-text hover-bg-grey padding-tb-_25 cursor-hand text-white font-1_5"><span class="padding-lr-_5 material-icon font-1_5"></span><span class="sans padding-lr-_5">Skip all specials</span></button> </form> {{end}} @@ -208,7 +210,8 @@ {{if eq (len .Experiences) 0}} <form action="/users/{{$.State.User.Username}}/experiences/" method="POST"> <input type="hidden" name="itemId" value="{{$.Data.Id}}/{{.Episode_code}}" /> <input type="hidden" name="itemType" value="tvserie" /> - <input type="hidden" name="datetime" value="0001-01-01T00:00:00"/> + <input type="hidden" name="watchedDate" value="0001-01-01"/> + <input type="hidden" name="watchedTime" value="00:00"/> <button type="submit" class="border-text hover-bg-grey cursor-hand text-white font-2"><span class="material-icon font-2"></span></button> </form> {{end}}