1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-24 07:39:43 +02:00

Set document lifecycle defaults

This commit is contained in:
Harvey Kandola 2018-03-20 14:17:11 +00:00
parent d9a2b16c2a
commit 297ce94546
4 changed files with 22 additions and 3 deletions

View file

@ -19,6 +19,8 @@ import (
"net/http" "net/http"
"strings" "strings"
"github.com/documize/community/model/workflow"
"github.com/documize/community/core/env" "github.com/documize/community/core/env"
api "github.com/documize/community/core/convapi" api "github.com/documize/community/core/convapi"
@ -164,6 +166,7 @@ func processDocument(ctx domain.RequestContext, r *env.Runtime, store *domain.St
document.UserID = ctx.UserID document.UserID = ctx.UserID
documentID := uniqueid.Generate() documentID := uniqueid.Generate()
document.RefID = documentID document.RefID = documentID
document.Lifecycle = workflow.LifecycleLive
err = store.Document.Add(ctx, document) err = store.Document.Add(ctx, document)
if err != nil { if err != nil {

View file

@ -137,7 +137,7 @@ func (s Scope) TemplatesBySpace(ctx domain.RequestContext, spaceID string) (docu
`SELECT id, refid, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, `SELECT id, refid, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template,
protection, approval, lifecycle, versioned, versionid, versionorder, groupid, created, revised protection, approval, lifecycle, versioned, versionid, versionorder, groupid, created, revised
FROM document FROM document
WHERE orgid=? AND labelid=? AND template=1 ANd lifecycle=1 WHERE orgid=? AND labelid=? AND template=1 AND lifecycle=1
AND labelid IN AND labelid IN
( (
SELECT refid FROM label WHERE orgid=? SELECT refid FROM label WHERE orgid=?

View file

@ -119,7 +119,7 @@ func (h *Handler) Add(w http.ResponseWriter, r *http.Request) {
err = h.Store.Permission.AddPermissions(ctx, perm, permission.SpaceOwner, permission.SpaceManage, permission.SpaceView, err = h.Store.Permission.AddPermissions(ctx, perm, permission.SpaceOwner, permission.SpaceManage, permission.SpaceView,
permission.DocumentAdd, permission.DocumentCopy, permission.DocumentDelete, permission.DocumentEdit, permission.DocumentMove, permission.DocumentAdd, permission.DocumentCopy, permission.DocumentDelete, permission.DocumentEdit, permission.DocumentMove,
permission.DocumentTemplate, permission.DocumentApprove) permission.DocumentTemplate, permission.DocumentApprove, permission.DocumentVersion, permission.DocumentVersion)
if err != nil { if err != nil {
ctx.Transaction.Rollback() ctx.Transaction.Rollback()
response.WriteServerError(w, method, err) response.WriteServerError(w, method, err)
@ -177,7 +177,6 @@ func (h *Handler) Add(w http.ResponseWriter, r *http.Request) {
if model.CopyDocument { if model.CopyDocument {
docs, err := h.Store.Document.GetBySpace(ctx, model.CloneID) docs, err := h.Store.Document.GetBySpace(ctx, model.CloneID)
if err != nil { if err != nil {
ctx.Transaction.Rollback() ctx.Transaction.Rollback()
response.WriteServerError(w, method, err) response.WriteServerError(w, method, err)
@ -188,6 +187,11 @@ func (h *Handler) Add(w http.ResponseWriter, r *http.Request) {
toCopy = append(toCopy, docs...) toCopy = append(toCopy, docs...)
} }
// documemt.GroupID groups versioned documents together
// and must be reassigned a new value when being copied
// to avoid conflicts.
groupChange := make(map[string]string)
if len(toCopy) > 0 { if len(toCopy) > 0 {
for _, t := range toCopy { for _, t := range toCopy {
origID := t.RefID origID := t.RefID
@ -196,6 +200,16 @@ func (h *Handler) Add(w http.ResponseWriter, r *http.Request) {
t.RefID = documentID t.RefID = documentID
t.LabelID = sp.RefID t.LabelID = sp.RefID
// Reassign group ID
if len(t.GroupID) > 0 {
if len(groupChange[t.GroupID]) > 0 {
t.GroupID = groupChange[t.GroupID]
} else {
groupChange[t.GroupID] = uniqueid.Generate()
t.GroupID = groupChange[t.GroupID]
}
}
err = h.Store.Document.Add(ctx, t) err = h.Store.Document.Add(ctx, t)
if err != nil { if err != nil {
ctx.Transaction.Rollback() ctx.Transaction.Rollback()

View file

@ -142,6 +142,7 @@ func (h *Handler) SaveAs(w http.ResponseWriter, r *http.Request) {
doc.RefID = docID doc.RefID = docID
doc.ID = 0 doc.ID = 0
doc.Template = true doc.Template = true
doc.Lifecycle = workflow.LifecycleLive
// Duplicate pages and associated meta // Duplicate pages and associated meta
pages, err := h.Store.Page.GetPages(ctx, model.DocumentID) pages, err := h.Store.Page.GetPages(ctx, model.DocumentID)
@ -307,6 +308,7 @@ func (h *Handler) Use(w http.ResponseWriter, r *http.Request) {
d.LabelID = folderID d.LabelID = folderID
d.UserID = ctx.UserID d.UserID = ctx.UserID
d.Title = docTitle d.Title = docTitle
d.Lifecycle = workflow.LifecycleLive
err = h.Store.Document.Add(ctx, d) err = h.Store.Document.Add(ctx, d)
if err != nil { if err != nil {