amuse.git

commit 32a3f6535e3b5941826286f018fc5f7864b921e4

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">&#xe044;</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">&#xe044;</span></button>
 									</form>
 									{{end}}