Shun Miyazawa 2 лет назад
Родитель
Сommit
567adddda2

+ 2 - 2
apps/app/src/components/SavePageControls.tsx

@@ -49,12 +49,12 @@ const SavePageButton = (props: {slackChannels: string, isDeviceLargerThanMd?: bo
 
   const save = useCallback(async(): Promise<void> => {
     // save
-    globalEmitter.emit('saveAndReturnToView', { slackChannels });
+    globalEmitter.emit('saveAndReturnToView', { wip: false, slackChannels });
   }, [slackChannels]);
 
   const saveAndOverwriteScopesOfDescendants = useCallback(() => {
     // save
-    globalEmitter.emit('saveAndReturnToView', { overwriteScopesOfDescendants: true, slackChannels });
+    globalEmitter.emit('saveAndReturnToView', { wip: false, overwriteScopesOfDescendants: true, slackChannels });
   }, [slackChannels]);
 
   const saveAndMakeWip = useCallback(() => {

+ 0 - 5
apps/app/src/server/models/page.ts

@@ -1126,11 +1126,6 @@ schema.methods.makeWip = function(disableTtl: boolean) {
   }
 };
 
-schema.methods.toggleWip = function(wip: boolean) {
-  this.wip = wip;
-  this.ttlTimestamp = undefined;
-};
-
 /*
  * Merge obsolete page model methods and define new methods which depend on crowi instance
  */

+ 9 - 1
apps/app/src/server/service/page/index.ts

@@ -4147,7 +4147,15 @@ class PageService implements IPageService {
     const newPageData = pageData;
 
     // Once updated it's exempt from automatic deletion
-    newPageData.toggleWip(options.wip);
+    if (options.wip == null) {
+      newPageData.ttlTimestamp = undefined;
+    }
+    else if (options.wip) {
+      newPageData.unpublish();
+    }
+    else {
+      newPageData.publish();
+    }
 
     // use the previous data if absent
     const grant = options.grant ?? clonedPageData.grant;