mirror of
https://github.com/documize/community.git
synced 2025-07-19 21:29:42 +02:00
Merge pull request #61 from documize/doc-wiki-layout
switch between docs and wiki layout
This commit is contained in:
commit
e0d2dd47df
18 changed files with 704 additions and 620 deletions
|
@ -8,7 +8,7 @@ The mission is to bring software dev inspired features (refactoring, testing, li
|
||||||
|
|
||||||
## Latest version
|
## Latest version
|
||||||
|
|
||||||
v0.32.0
|
v0.33.0
|
||||||
|
|
||||||
## OS Support
|
## OS Support
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,10 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, {
|
||||||
didReceiveAttrs() {
|
didReceiveAttrs() {
|
||||||
this.set('saveTemplate.name', this.get('document.name'));
|
this.set('saveTemplate.name', this.get('document.name'));
|
||||||
this.set('saveTemplate.description', this.get('document.excerpt'));
|
this.set('saveTemplate.description', this.get('document.excerpt'));
|
||||||
|
|
||||||
|
let doc = this.get('document');
|
||||||
|
|
||||||
|
this.set('layoutLabel', doc.get('layout') === 'doc' ? 'Wiki style' : 'Document style');
|
||||||
},
|
},
|
||||||
|
|
||||||
didRender() {
|
didRender() {
|
||||||
|
@ -53,6 +57,17 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, {
|
||||||
window.print();
|
window.print();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
changeLayout() {
|
||||||
|
let doc = this.get('document');
|
||||||
|
let layout = doc.get('layout') === 'doc' ? 'wiki' : 'doc';
|
||||||
|
|
||||||
|
doc.set('layout', layout);
|
||||||
|
|
||||||
|
this.attrs.onSaveMeta(doc);
|
||||||
|
|
||||||
|
this.set('layoutLabel', doc.get('layout') === 'doc' ? 'Wiki style' : 'Document style');
|
||||||
|
},
|
||||||
|
|
||||||
saveTemplate() {
|
saveTemplate() {
|
||||||
var name = this.get('saveTemplate.name');
|
var name = this.get('saveTemplate.name');
|
||||||
var excerpt = this.get('saveTemplate.description');
|
var excerpt = this.get('saveTemplate.description');
|
||||||
|
|
|
@ -48,6 +48,7 @@ export default Ember.Component.extend(TooltipMixin, NotifierMixin, {
|
||||||
title: "Empty",
|
title: "Empty",
|
||||||
description: "An empty canvas for your words",
|
description: "An empty canvas for your words",
|
||||||
img: "template-blank",
|
img: "template-blank",
|
||||||
|
layout: "doc",
|
||||||
locked: true
|
locked: true
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@ export default Model.extend({
|
||||||
userId: attr('string'),
|
userId: attr('string'),
|
||||||
tags: attr('string'),
|
tags: attr('string'),
|
||||||
template: attr('boolean'),
|
template: attr('boolean'),
|
||||||
|
layout: attr('string'),
|
||||||
|
|
||||||
// client-side property
|
// client-side property
|
||||||
selected: attr('boolean', { defaultValue: false }),
|
selected: attr('boolean', { defaultValue: false }),
|
||||||
|
|
|
@ -15,6 +15,10 @@
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.zone-content {
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
.document-view {
|
.document-view {
|
||||||
.attachment-zone,
|
.attachment-zone,
|
||||||
.document-summary,
|
.document-summary,
|
||||||
|
@ -28,4 +32,10 @@
|
||||||
display: block !important;
|
display: block !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.doc-layout {
|
||||||
|
padding: 0 !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,13 @@
|
||||||
|
.wiki-layout {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.doc-layout {
|
||||||
|
padding: 60px 50px;
|
||||||
|
box-shadow: 0 0 0 0.75pt $color-stroke,0 0 3pt 0.75pt $color-stroke;
|
||||||
|
margin: 30px 40px 50px 40px;
|
||||||
|
}
|
||||||
|
|
||||||
.document-view {
|
.document-view {
|
||||||
.print-title {
|
.print-title {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
|
@ -38,7 +38,13 @@
|
||||||
|
|
||||||
{{#dropdown-menu target="document-toolbar-menu" position="bottom right" open="click" onOpenCallback=(action 'onMenuOpen') onCloseCallback=(action 'onMenuOpen')}}
|
{{#dropdown-menu target="document-toolbar-menu" position="bottom right" open="click" onOpenCallback=(action 'onMenuOpen') onCloseCallback=(action 'onMenuOpen')}}
|
||||||
<ul class="menu">
|
<ul class="menu">
|
||||||
|
{{#if isEditor}}
|
||||||
|
<li class="item" {{action 'changeLayout'}} >{{layoutLabel}}</li>
|
||||||
|
<li class="divider"></li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
<li class="item" id="print-document-button" {{action 'printDocument'}}>Print</li>
|
<li class="item" id="print-document-button" {{action 'printDocument'}}>Print</li>
|
||||||
|
|
||||||
{{#if isEditor}}
|
{{#if isEditor}}
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
<li class="item" id="delete-document-button">Delete</li>
|
<li class="item" id="delete-document-button">Delete</li>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<div class="document-view">
|
<div class="document-view {{document.layout}}-layout">
|
||||||
{{#if document.template}}
|
{{#if document.template}}
|
||||||
<div class="is-template">TEMPLATE</div>
|
<div class="is-template">TEMPLATE</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
|
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
|
||||||
//
|
//
|
||||||
// This software (Documize Community Edition) is licensed under
|
// This software (Documize Community Edition) is licensed under
|
||||||
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
|
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
|
||||||
//
|
//
|
||||||
// You can operate outside the AGPL restrictions by purchasing
|
// You can operate outside the AGPL restrictions by purchasing
|
||||||
// Documize Enterprise Edition and obtaining a commercial license
|
// Documize Enterprise Edition and obtaining a commercial license
|
||||||
// by contacting <sales@documize.com>.
|
// by contacting <sales@documize.com>.
|
||||||
//
|
//
|
||||||
// https://documize.com
|
// https://documize.com
|
||||||
|
|
||||||
|
@ -14,5 +14,10 @@ export default {
|
||||||
Public: 1,
|
Public: 1,
|
||||||
Private: 2,
|
Private: 2,
|
||||||
Protected: 3
|
Protected: 3
|
||||||
}
|
},
|
||||||
};
|
|
||||||
|
DisplayLayout: {
|
||||||
|
DisplayLayoutDoc: "doc",
|
||||||
|
DisplayLayoutWiki: "wiki"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "documize",
|
"name": "documize",
|
||||||
"version": "0.32.0",
|
"version": "0.33.0",
|
||||||
"description": "The Document IDE",
|
"description": "The Document IDE",
|
||||||
"private": true,
|
"private": true,
|
||||||
"directories": {
|
"directories": {
|
||||||
|
|
|
@ -336,18 +336,12 @@ func StartDocumentFromSavedTemplate(w http.ResponseWriter, r *http.Request) {
|
||||||
d.Excerpt = "A new document"
|
d.Excerpt = "A new document"
|
||||||
d.Slug = utility.MakeSlug(d.Title)
|
d.Slug = utility.MakeSlug(d.Title)
|
||||||
d.Tags = ""
|
d.Tags = ""
|
||||||
|
d.Layout = "doc"
|
||||||
d.LabelID = folderID
|
d.LabelID = folderID
|
||||||
documentID := util.UniqueID()
|
documentID := util.UniqueID()
|
||||||
d.RefID = documentID
|
d.RefID = documentID
|
||||||
|
|
||||||
var pages = []entity.Page{}
|
var pages = []entity.Page{}
|
||||||
//var pages = make([]entity.Page, 1, 1)
|
|
||||||
//pages[0] = entity.Page{}
|
|
||||||
//pages[0].Title = "Heading"
|
|
||||||
//pages[0].Body = "<p>Some content here.</p>"
|
|
||||||
//pages[0].Level = 1
|
|
||||||
//pages[0].Sequence = 1
|
|
||||||
|
|
||||||
var attachments = []entity.Attachment{}
|
var attachments = []entity.Attachment{}
|
||||||
|
|
||||||
// Fetch document and associated pages, attachments if we have template ID
|
// Fetch document and associated pages, attachments if we have template ID
|
||||||
|
@ -394,13 +388,22 @@ func StartDocumentFromSavedTemplate(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, page := range pages {
|
for _, page := range pages {
|
||||||
|
meta, err2 := p.GetPageMeta(page.RefID)
|
||||||
|
if err2 != nil {
|
||||||
|
log.IfErr(tx.Rollback())
|
||||||
|
writeGeneralSQLError(w, method, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
page.DocumentID = documentID
|
page.DocumentID = documentID
|
||||||
pageID := util.UniqueID()
|
pageID := util.UniqueID()
|
||||||
page.RefID = pageID
|
page.RefID = pageID
|
||||||
|
|
||||||
meta := entity.PageMeta{}
|
// meta := entity.PageMeta{}
|
||||||
meta.PageID = pageID
|
meta.PageID = pageID
|
||||||
meta.RawBody = page.Body
|
meta.DocumentID = documentID
|
||||||
|
|
||||||
|
// meta.RawBody = page.Body
|
||||||
|
|
||||||
model := models.PageModel{}
|
model := models.PageModel{}
|
||||||
model.Page = page
|
model.Page = page
|
||||||
|
|
|
@ -152,6 +152,7 @@ type Document struct {
|
||||||
Slug string `json:"-"`
|
Slug string `json:"-"`
|
||||||
Tags string `json:"tags"`
|
Tags string `json:"tags"`
|
||||||
Template bool `json:"template"`
|
Template bool `json:"template"`
|
||||||
|
Layout string `json:"layout"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetDefaults ensures on blanks and cleans.
|
// SetDefaults ensures on blanks and cleans.
|
||||||
|
@ -161,6 +162,8 @@ func (d *Document) SetDefaults() {
|
||||||
if len(d.Title) == 0 {
|
if len(d.Title) == 0 {
|
||||||
d.Title = "Document"
|
d.Title = "Document"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
d.Layout = "doc"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Attachment represents an attachment to a document.
|
// Attachment represents an attachment to a document.
|
||||||
|
|
|
@ -28,8 +28,11 @@ func (p *Persister) AddDocument(document entity.Document) (err error) {
|
||||||
document.OrgID = p.Context.OrgID
|
document.OrgID = p.Context.OrgID
|
||||||
document.Created = time.Now().UTC()
|
document.Created = time.Now().UTC()
|
||||||
document.Revised = document.Created // put same time in both fields
|
document.Revised = document.Created // put same time in both fields
|
||||||
|
if document.Layout == "" {
|
||||||
|
document.Layout = "doc"
|
||||||
|
}
|
||||||
|
|
||||||
stmt, err := p.Context.Transaction.Preparex("INSERT INTO document (refId, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, created, revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
stmt, err := p.Context.Transaction.Preparex("INSERT INTO document (refId, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, layout, created, revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||||
defer utility.Close(stmt)
|
defer utility.Close(stmt)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -37,7 +40,7 @@ func (p *Persister) AddDocument(document entity.Document) (err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = stmt.Exec(document.RefID, document.OrgID, document.LabelID, document.UserID, document.Job, document.Location, document.Title, document.Excerpt, document.Slug, document.Tags, document.Template, document.Created, document.Revised)
|
_, err = stmt.Exec(document.RefID, document.OrgID, document.LabelID, document.UserID, document.Job, document.Location, document.Title, document.Excerpt, document.Slug, document.Tags, document.Template, document.Layout, document.Created, document.Revised)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Unable to execute insert for document", err)
|
log.Error("Unable to execute insert for document", err)
|
||||||
|
@ -53,7 +56,7 @@ func (p *Persister) AddDocument(document entity.Document) (err error) {
|
||||||
func (p *Persister) GetDocument(id string) (document entity.Document, err error) {
|
func (p *Persister) GetDocument(id string) (document entity.Document, err error) {
|
||||||
err = nil
|
err = nil
|
||||||
|
|
||||||
stmt, err := Db.Preparex("SELECT id, refid, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, created, revised FROM document WHERE orgid=? and refid=?")
|
stmt, err := Db.Preparex("SELECT id, refid, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, layout, created, revised FROM document WHERE orgid=? and refid=?")
|
||||||
defer utility.Close(stmt)
|
defer utility.Close(stmt)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -112,7 +115,7 @@ func (p *Persister) GetDocumentMeta(id string) (meta entity.DocumentMeta, err er
|
||||||
|
|
||||||
// GetDocuments returns a slice containg all of the the documents for the client's organisation, with the most recient first.
|
// GetDocuments returns a slice containg all of the the documents for the client's organisation, with the most recient first.
|
||||||
func (p *Persister) GetDocuments() (documents []entity.Document, err error) {
|
func (p *Persister) GetDocuments() (documents []entity.Document, err error) {
|
||||||
err = Db.Select(&documents, "SELECT id, refid, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, created, revised FROM document WHERE orgid=? AND template=0 ORDER BY revised DESC", p.Context.OrgID)
|
err = Db.Select(&documents, "SELECT id, refid, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, layout, created, revised FROM document WHERE orgid=? AND template=0 ORDER BY revised DESC", p.Context.OrgID)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(fmt.Sprintf("Unable to execute select documents for org %s", p.Context.OrgID), err)
|
log.Error(fmt.Sprintf("Unable to execute select documents for org %s", p.Context.OrgID), err)
|
||||||
|
@ -125,7 +128,7 @@ func (p *Persister) GetDocuments() (documents []entity.Document, err error) {
|
||||||
// GetDocumentsByFolder returns a slice containing the documents for a given folder, most recient first.
|
// GetDocumentsByFolder returns a slice containing the documents for a given folder, most recient first.
|
||||||
func (p *Persister) GetDocumentsByFolder(folderID string) (documents []entity.Document, err error) {
|
func (p *Persister) GetDocumentsByFolder(folderID string) (documents []entity.Document, err error) {
|
||||||
err = nil
|
err = nil
|
||||||
err = Db.Select(&documents, "SELECT id, refid, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, created, revised FROM document WHERE orgid=? AND template=0 AND labelid=? ORDER BY revised DESC", p.Context.OrgID, folderID)
|
err = Db.Select(&documents, "SELECT id, refid, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, layout, created, revised FROM document WHERE orgid=? AND template=0 AND labelid=? ORDER BY revised DESC", p.Context.OrgID, folderID)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(fmt.Sprintf("Unable to execute select documents for org %s", p.Context.OrgID), err)
|
log.Error(fmt.Sprintf("Unable to execute select documents for org %s", p.Context.OrgID), err)
|
||||||
|
@ -141,7 +144,7 @@ func (p *Persister) GetDocumentsByTag(tag string) (documents []entity.Document,
|
||||||
tagQuery := "tags LIKE '%#" + tag + "#%'"
|
tagQuery := "tags LIKE '%#" + tag + "#%'"
|
||||||
|
|
||||||
err = Db.Select(&documents,
|
err = Db.Select(&documents,
|
||||||
`SELECT id, refid, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, created, revised FROM document WHERE orgid=? AND template=0 AND `+tagQuery+` AND labelid IN
|
`SELECT id, refid, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, layout, created, revised FROM document WHERE orgid=? AND template=0 AND `+tagQuery+` AND labelid IN
|
||||||
(SELECT refid from label WHERE orgid=? AND type=2 AND userid=?
|
(SELECT refid from label WHERE orgid=? AND type=2 AND userid=?
|
||||||
UNION ALL SELECT refid FROM label a where orgid=? AND type=1 AND refid IN (SELECT labelid from labelrole WHERE orgid=? AND userid='' AND (canedit=1 OR canview=1))
|
UNION ALL SELECT refid FROM label a where orgid=? AND type=1 AND refid IN (SELECT labelid from labelrole WHERE orgid=? AND userid='' AND (canedit=1 OR canview=1))
|
||||||
UNION ALL SELECT refid FROM label a where orgid=? AND type=3 AND refid IN (SELECT labelid from labelrole WHERE orgid=? AND userid=? AND (canedit=1 OR canview=1)))
|
UNION ALL SELECT refid FROM label a where orgid=? AND type=3 AND refid IN (SELECT labelid from labelrole WHERE orgid=? AND userid=? AND (canedit=1 OR canview=1)))
|
||||||
|
@ -166,7 +169,7 @@ func (p *Persister) GetDocumentsByTag(tag string) (documents []entity.Document,
|
||||||
// GetDocumentTemplates returns a slice containing the documents available as templates to the client's organisation, in title order.
|
// GetDocumentTemplates returns a slice containing the documents available as templates to the client's organisation, in title order.
|
||||||
func (p *Persister) GetDocumentTemplates() (documents []entity.Document, err error) {
|
func (p *Persister) GetDocumentTemplates() (documents []entity.Document, err error) {
|
||||||
err = Db.Select(&documents,
|
err = Db.Select(&documents,
|
||||||
`SELECT id, refid, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, created, revised FROM document WHERE orgid=? AND template=1 AND labelid IN
|
`SELECT id, refid, orgid, labelid, userid, job, location, title, excerpt, slug, tags, template, layout, created, revised FROM document WHERE orgid=? AND template=1 AND labelid IN
|
||||||
(SELECT refid from label WHERE orgid=? AND type=2 AND userid=?
|
(SELECT refid from label WHERE orgid=? AND type=2 AND userid=?
|
||||||
UNION ALL SELECT refid FROM label a where orgid=? AND type=1 AND refid IN (SELECT labelid from labelrole WHERE orgid=? AND userid='' AND (canedit=1 OR canview=1))
|
UNION ALL SELECT refid FROM label a where orgid=? AND type=1 AND refid IN (SELECT labelid from labelrole WHERE orgid=? AND userid='' AND (canedit=1 OR canview=1))
|
||||||
UNION ALL SELECT refid FROM label a where orgid=? AND type=3 AND refid IN (SELECT labelid from labelrole WHERE orgid=? AND userid=? AND (canedit=1 OR canview=1)))
|
UNION ALL SELECT refid FROM label a where orgid=? AND type=3 AND refid IN (SELECT labelid from labelrole WHERE orgid=? AND userid=? AND (canedit=1 OR canview=1)))
|
||||||
|
@ -283,7 +286,7 @@ func (p *Persister) SearchDocument(keywords string) (results []entity.DocumentSe
|
||||||
func (p *Persister) UpdateDocument(document entity.Document) (err error) {
|
func (p *Persister) UpdateDocument(document entity.Document) (err error) {
|
||||||
document.Revised = time.Now().UTC()
|
document.Revised = time.Now().UTC()
|
||||||
|
|
||||||
stmt, err := p.Context.Transaction.PrepareNamed("UPDATE document SET labelid=:labelid, userid=:userid, job=:job, location=:location, title=:title, excerpt=:excerpt, slug=:slug, tags=:tags, template=:template, revised=:revised WHERE orgid=:orgid AND refid=:refid")
|
stmt, err := p.Context.Transaction.PrepareNamed("UPDATE document SET labelid=:labelid, userid=:userid, job=:job, location=:location, title=:title, excerpt=:excerpt, slug=:slug, tags=:tags, template=:template, layout=:layout, revised=:revised WHERE orgid=:orgid AND refid=:refid")
|
||||||
defer utility.Close(stmt)
|
defer utility.Close(stmt)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -38,6 +38,7 @@ func ConvertFileResult(filename string, fileResult *api.DocumentConversionRespon
|
||||||
document.LabelID = ""
|
document.LabelID = ""
|
||||||
document.Job = ""
|
document.Job = ""
|
||||||
document.Location = filename
|
document.Location = filename
|
||||||
|
|
||||||
if fileResult != nil {
|
if fileResult != nil {
|
||||||
if len(fileResult.Pages) > 0 {
|
if len(fileResult.Pages) > 0 {
|
||||||
document.Title = fileResult.Pages[0].Title
|
document.Title = fileResult.Pages[0].Title
|
||||||
|
|
|
@ -131,6 +131,7 @@ CREATE TABLE IF NOT EXISTS `document` (
|
||||||
`slug` NVARCHAR(2000) NOT NULL,
|
`slug` NVARCHAR(2000) NOT NULL,
|
||||||
`tags` NVARCHAR(1000) NOT NULL DEFAULT '',
|
`tags` NVARCHAR(1000) NOT NULL DEFAULT '',
|
||||||
`template` BOOL NOT NULL DEFAULT 0,
|
`template` BOOL NOT NULL DEFAULT 0,
|
||||||
|
`layout` CHAR(10) NOT NULL DEFAULT 'doc',
|
||||||
`created` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
`created` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||||
`revised` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
`revised` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||||
CONSTRAINT pk_refid PRIMARY KEY (refid),
|
CONSTRAINT pk_refid PRIMARY KEY (refid),
|
||||||
|
|
2
core/database/scripts/autobuild/db_00007.sql
Normal file
2
core/database/scripts/autobuild/db_00007.sql
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/* community edition */
|
||||||
|
ALTER TABLE document ADD COLUMN `layout` CHAR(10) NOT NULL DEFAULT 'doc' AFTER `template`;
|
|
@ -26,7 +26,7 @@ type ProdInfo struct {
|
||||||
// Product returns product edition details
|
// Product returns product edition details
|
||||||
func Product() (p ProdInfo) {
|
func Product() (p ProdInfo) {
|
||||||
p.Major = "0"
|
p.Major = "0"
|
||||||
p.Minor = "32"
|
p.Minor = "33"
|
||||||
p.Patch = "0"
|
p.Patch = "0"
|
||||||
p.Version = fmt.Sprintf("%s.%s.%s", p.Major, p.Minor, p.Patch)
|
p.Version = fmt.Sprintf("%s.%s.%s", p.Major, p.Minor, p.Patch)
|
||||||
p.Edition = "Community"
|
p.Edition = "Community"
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue