Revision 2.1 - kisapapa1227/retrek-ui_V2 GitHub Wiki

主な変更: 個人用データベースを準備する。

マルチユーザー対応

データベースをユーザーで分ける。

  1. メインメニューに、共有/個人用データベースの切り替えトグルボタン。
  2. データベース名にユーザーid を足す。
  3. user 認識用に:const uid="{{$user['email']}}".replace(/[^a-zA-Z0-9]/g,""); in menu.blade で作成し、基本的に blade <-> controller でバケツリレー。
  4. 使うデータベースの認識用に:bd_type を同様に引き渡すが、menu/singleSearch/multiSearchに切り替えボタンを作成。
  5. make_report 関連にも、uid/db_type を引数として対応。
  6. exe.py からの出力ファイルは public/images/$uid/$sub.txt に作成。pdfをimages/$uid/report/$sub.pdf で作成後
    1. 共有データベース利用時には、public/images/report/$tid.pdf に移動
    2. 個人用データベース利用時には、public/images/$uid/report/$tid.pdf に移動
  7. データベースのレコードの unique number を $uid として参照していたの、これを table id =$tid に変更。

小さく実装

  1. データベースをアップロードするときに、適正なデータベースファイルかを確認する。(インチキファイルがアップロードされると、その先が動かなくなる)。
    1. RetrekContoroller で判別。read.db -db_list で、データベースでないと、テーブル名が一致せずに、stderrにsqlite3.DatabaseError: file is not a databaseと表示される。
    2. 戻り値 prm['log']に"fn is not proper"のようなものを加え、blade で @isset($log)@else@endisset の構文が使えるので、適当な form 内に id='loadStat'を加えて、javascript で判断して alert()を表示する。