mirror of
https://github.com/writefreely/writefreely
synced 2024-11-10 11:24:13 +00:00
Merge branch 'develop' into chorus
This commit is contained in:
commit
40ffb3a5f9
3 changed files with 14 additions and 8 deletions
|
@ -775,7 +775,8 @@ func handleViewCollection(app *App, w http.ResponseWriter, r *http.Request) erro
|
|||
displayPage.Collections = pubColls
|
||||
}
|
||||
}
|
||||
if owner == nil {
|
||||
isOwner := owner != nil
|
||||
if !isOwner {
|
||||
// Current user doesn't own collection; retrieve owner information
|
||||
owner, err = app.db.GetUserByID(coll.OwnerID)
|
||||
if err != nil {
|
||||
|
@ -788,7 +789,7 @@ func handleViewCollection(app *App, w http.ResponseWriter, r *http.Request) erro
|
|||
|
||||
// Add more data
|
||||
// TODO: fix this mess of collections inside collections
|
||||
displayPage.PinnedPosts, _ = app.db.GetPinnedPosts(coll.CollectionObj)
|
||||
displayPage.PinnedPosts, _ = app.db.GetPinnedPosts(coll.CollectionObj, isOwner)
|
||||
|
||||
collTmpl := "collection"
|
||||
if app.cfg.App.Chorus {
|
||||
|
@ -876,7 +877,8 @@ func handleViewCollectionTag(app *App, w http.ResponseWriter, r *http.Request) e
|
|||
displayPage.Collections = pubColls
|
||||
}
|
||||
}
|
||||
if owner == nil {
|
||||
isOwner := owner != nil
|
||||
if !isOwner {
|
||||
// Current user doesn't own collection; retrieve owner information
|
||||
owner, err = app.db.GetUserByID(coll.OwnerID)
|
||||
if err != nil {
|
||||
|
@ -888,7 +890,7 @@ func handleViewCollectionTag(app *App, w http.ResponseWriter, r *http.Request) e
|
|||
coll.Owner = displayPage.Owner
|
||||
// Add more data
|
||||
// TODO: fix this mess of collections inside collections
|
||||
displayPage.PinnedPosts, _ = app.db.GetPinnedPosts(coll.CollectionObj)
|
||||
displayPage.PinnedPosts, _ = app.db.GetPinnedPosts(coll.CollectionObj, isOwner)
|
||||
|
||||
err = templates["collection-tags"].ExecuteTemplate(w, "collection-tags", displayPage)
|
||||
if err != nil {
|
||||
|
|
10
database.go
10
database.go
|
@ -94,7 +94,7 @@ type writestore interface {
|
|||
|
||||
UpdatePostPinState(pinned bool, postID string, collID, ownerID, pos int64) error
|
||||
GetLastPinnedPostPos(collID int64) int64
|
||||
GetPinnedPosts(coll *CollectionObj) (*[]PublicPost, error)
|
||||
GetPinnedPosts(coll *CollectionObj, includeFuture bool) (*[]PublicPost, error)
|
||||
RemoveCollectionRedirect(t *sql.Tx, alias string) error
|
||||
GetCollectionRedirect(alias string) (new string)
|
||||
IsCollectionAttributeOn(id int64, attr string) bool
|
||||
|
@ -1533,9 +1533,13 @@ func (db *datastore) GetLastPinnedPostPos(collID int64) int64 {
|
|||
return lastPos.Int64
|
||||
}
|
||||
|
||||
func (db *datastore) GetPinnedPosts(coll *CollectionObj) (*[]PublicPost, error) {
|
||||
func (db *datastore) GetPinnedPosts(coll *CollectionObj, includeFuture bool) (*[]PublicPost, error) {
|
||||
// FIXME: sqlite-backed instances don't include ellipsis on truncated titles
|
||||
rows, err := db.Query("SELECT id, slug, title, "+db.clip("content", 80)+", pinned_position FROM posts WHERE collection_id = ? AND pinned_position IS NOT NULL ORDER BY pinned_position ASC", coll.ID)
|
||||
timeCondition := ""
|
||||
if !includeFuture {
|
||||
timeCondition = "AND created <= " + db.now()
|
||||
}
|
||||
rows, err := db.Query("SELECT id, slug, title, "+db.clip("content", 80)+", pinned_position FROM posts WHERE collection_id = ? AND pinned_position IS NOT NULL "+timeCondition+" ORDER BY pinned_position ASC", coll.ID)
|
||||
if err != nil {
|
||||
log.Error("Failed selecting pinned posts: %v", err)
|
||||
return nil, impart.HTTPError{http.StatusInternalServerError, "Couldn't retrieve pinned posts."}
|
||||
|
|
2
posts.go
2
posts.go
|
@ -1389,7 +1389,7 @@ Are you sure it was ever here?`,
|
|||
}
|
||||
tp.IsAdmin = u != nil && u.IsAdmin()
|
||||
tp.CanInvite = canUserInvite(app.cfg, tp.IsAdmin)
|
||||
tp.PinnedPosts, _ = app.db.GetPinnedPosts(coll)
|
||||
tp.PinnedPosts, _ = app.db.GetPinnedPosts(coll, p.IsOwner)
|
||||
tp.IsPinned = len(*tp.PinnedPosts) > 0 && PostsContains(tp.PinnedPosts, p)
|
||||
|
||||
if !postFound {
|
||||
|
|
Loading…
Reference in a new issue