Isuue #944

https://github.com/weseek/growi/issues/944 external_link

How to reproduce?

1.UpdatePage API を用いて grant を指定せずにページを更新する

What happens?

・grantがnullの状態でページが更新される

・以下のような青枠が表示される

再現する

できた

青帯はこれのbackground-colorが残っている

What is the expected result

  • grant未指定の場合はページが更新できない(エラーを発生させる)
  • grant未指定の場合は自動的に全体公開のgrantが振られる
  • grantがnullであることの旨が表示される

grantがnullになる状況ってなんだ?

外部のAPIを利用してページを作成したとき!

解決方法模索

1, User grantがnullだったときに1(publicの公開設定)を代入する。

そうすることで今後ページを作成する場合は防げるが、すでに作られている場合のフォローができてない。

2, grantがnullであることの旨が表示する必要がある?
⇨ページを更新するときに自然と1~4に設定されるから表示するのはくどい?

「このページはnullです」と、伝えられてもユーザーは何すべきか難しい?

ここか

解決案

page.grantはnullであっても更新ボタンを押すときに自動的にgrant1~4まで割り振られる
⇨そのため、今回は青帯を非表示にすれば良い?

ページを作成して保存するまでの間にpage.grantを参照することがなければ問題なさそう

実装コード

結果nullでも青帯が表示されない

3つやる

  • nullの時にページを表示させない。

https://dev.growi.org/%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98/grant%E3%81%8Cnull%E3%81%AE%E3%81%A8%E3%81%8D%E3%81%AB%E9%9D%92%E6%9E%A0%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%82%8B%20%23944/null%E3%81%AE%E6%99%82%E3%81%AB%E3%83%9A%E3%83%BC%E3%82%B8%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%95%E3%81%9B%E3%81%AA%E3%81%84%E3%80%82

  • migrateファイルを編集して次のアップデートでnullを1に書き換える。
  • APIを修正してnullにならないようにする。