mirror of
https://github.com/documize/community.git
synced 2025-07-20 13:49:42 +02:00
Change document activity records after space move
This commit is contained in:
parent
19a916a4b4
commit
5fb41e9fb1
3 changed files with 23 additions and 0 deletions
|
@ -221,6 +221,13 @@ func (h *Handler) Update(w http.ResponseWriter, r *http.Request) {
|
|||
|
||||
if oldDoc.LabelID != d.LabelID {
|
||||
h.Store.Category.RemoveDocumentCategories(ctx, d.RefID)
|
||||
err = h.Store.Document.MoveActivity(ctx, documentID, oldDoc.LabelID, d.LabelID)
|
||||
if err != nil {
|
||||
ctx.Transaction.Rollback()
|
||||
response.WriteServerError(w, method, err)
|
||||
h.Runtime.Log.Error(method, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
err = h.Store.Document.Update(ctx, d)
|
||||
|
|
|
@ -238,6 +238,9 @@ func (s Scope) MoveDocumentSpace(ctx domain.RequestContext, id, move string) (er
|
|||
_, err = ctx.Transaction.Exec("UPDATE document SET labelid=? WHERE orgid=? AND labelid=?",
|
||||
move, ctx.OrgID, id)
|
||||
|
||||
if err == sql.ErrNoRows {
|
||||
err = nil
|
||||
}
|
||||
if err != nil {
|
||||
err = errors.Wrap(err, fmt.Sprintf("execute document space move %s", id))
|
||||
}
|
||||
|
@ -245,6 +248,18 @@ func (s Scope) MoveDocumentSpace(ctx domain.RequestContext, id, move string) (er
|
|||
return
|
||||
}
|
||||
|
||||
// MoveActivity changes the space for all document activity records.
|
||||
func (s Scope) MoveActivity(ctx domain.RequestContext, documentID, oldSpaceID, newSpaceID string) (err error) {
|
||||
_, err = ctx.Transaction.Exec("UPDATE useractivity SET labelid=? WHERE orgid=? AND labelid=? AND documentid=?",
|
||||
newSpaceID, ctx.OrgID, oldSpaceID, documentID)
|
||||
|
||||
if err != nil {
|
||||
err = errors.Wrap(err, fmt.Sprintf("execute document activity move %s", documentID))
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// Delete removes the specified document.
|
||||
// Remove document pages, revisions, attachments, updates the search subsystem.
|
||||
func (s Scope) Delete(ctx domain.RequestContext, documentID string) (rows int64, err error) {
|
||||
|
|
|
@ -180,6 +180,7 @@ type DocumentStorer interface {
|
|||
Delete(ctx RequestContext, documentID string) (rows int64, err error)
|
||||
DeleteBySpace(ctx RequestContext, spaceID string) (rows int64, err error)
|
||||
GetVersions(ctx RequestContext, groupID string) (v []doc.Version, err error)
|
||||
MoveActivity(ctx RequestContext, documentID, oldSpaceID, newSpaceID string) (err error)
|
||||
}
|
||||
|
||||
// SettingStorer defines required methods for persisting global and user level settings
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue