Parcourir la source

实现项目和文档锁定功能

Minho il y a 7 ans
Parent
commit
92d9bc202a
3 fichiers modifiés avec 21 ajouts et 10 suppressions
  1. 9 9
      controllers/BookController.go
  2. 3 0
      controllers/DocumentController.go
  3. 9 1
      views/book/setting.tpl

+ 9 - 9
controllers/BookController.go

@@ -144,6 +144,7 @@ func (c *BookController) SaveBook() {
 	isDownload := strings.TrimSpace(c.GetString("is_download")) == "on"
 	enableShare := strings.TrimSpace(c.GetString("enable_share")) == "on"
 	isUseFirstDocument := strings.TrimSpace(c.GetString("is_use_first_document")) == "on"
+	isLock := strings.TrimSpace(c.GetString("is_lock")) == "on"
 
 	if strings.Count(description, "") > 500 {
 		c.JsonResult(6004, "项目描述不能大于500字")
@@ -169,26 +170,25 @@ func (c *BookController) SaveBook() {
 	book.Editor = editor
 	book.HistoryCount = historyCount
 	book.IsDownload = 0
+	book.IsLock = 0
+	book.IsUseFirstDocument = 0
+	book.IsEnableShare = 1
+	book.AutoRelease = 0
 
 	if autoRelease {
 		book.AutoRelease = 1
-	} else {
-		book.AutoRelease = 0
 	}
-	if isDownload {
-		book.IsDownload = 0
-	} else {
+	if !isDownload {
 		book.IsDownload = 1
 	}
 	if enableShare {
 		book.IsEnableShare = 0
-	} else {
-		book.IsEnableShare = 1
 	}
 	if isUseFirstDocument {
 		book.IsUseFirstDocument = 1
-	} else {
-		book.IsUseFirstDocument = 0
+	}
+	if isLock {
+		book.IsLock = 1
 	}
 	if err := book.Update(); err != nil {
 		c.JsonResult(6006, "保存失败")

+ 3 - 0
controllers/DocumentController.go

@@ -237,6 +237,9 @@ func (c *DocumentController) Edit() {
 		}
 	}
 
+	if bookResult.IsLock {
+		c.ShowErrorPage(403,"已锁定的项目无法编辑")
+	}
 	// 根据不同编辑器类型加载编辑器
 	if bookResult.Editor == "markdown" {
 		c.TplName = "document/markdown_edit_template.tpl"

+ 9 - 1
views/book/setting.tpl

@@ -162,6 +162,14 @@
                         </div>
                     </div>
                 </div>
+                <div class="form-group">
+                    <label for="autoRelease">锁定项目</label>
+                    <div class="controls">
+                        <div class="switch switch-small" data-on="primary" data-off="info">
+                            <input type="checkbox" id="isLock" name="is_lock"{{if .Model.IsLock }} checked{{end}} data-size="small" placeholder="锁定项目">
+                        </div>
+                    </div>
+                </div>
                 <div class="form-group">
                     <button type="submit" id="btnSaveBookInfo" class="btn btn-success" data-loading-text="保存中...">保存修改</button>
                     <span id="form-error-message" class="error-message"></span>
@@ -325,7 +333,7 @@
         }).on("show.bs.modal",function () {
             window.modalHtml = $("#upload-logo-panel").find(".modal-body").html();
         });
-        $("#autoRelease,#enableShare,#isDownload,#is_use_first_document").bootstrapSwitch();
+        $("#autoRelease,#enableShare,#isDownload,#is_use_first_document,#isLock").bootstrapSwitch();
 
         $('input[name="label"]').tagsinput({
             confirmKeys: [13,44],