From: OHASHI, Norikazu Date: Mon, 15 Apr 2019 14:58:51 +0000 (+0900) Subject: ユーザ管理周りの修正 X-Git-Url: http://www.wald-der-katze.sakura.ne.jp/git/gitweb.cgi?a=commitdiff_plain;h=8a56d167b9e2b59331abee51417ab7ad7ebabfc7;p=book_server.git ユーザ管理周りの修正 * role が SQLの予約語にあるので、user_rorleに変更 * 正規表現での検索機能追加 --- diff --git a/create_table.sql b/create_table.sql index d6688f6..2a56326 100644 --- a/create_table.sql +++ b/create_table.sql @@ -5,6 +5,6 @@ CREATE TABLE users ( passwd_hash VARCHAR(60) NOT NULL, passwd_salt VARCHAR(60) NOT NULL, email VARCHAR(127) NOT NULL, - role INTEGER NOT NULL, + user_role INTEGER NOT NULL, create_at DATETIME NOT NULL, update_at DATETIME NOT NULL); diff --git a/readme.md b/readme.md index c0d9691..3f16d8d 100644 --- a/readme.md +++ b/readme.md @@ -48,7 +48,7 @@ | 4 | passwd_hash | VARCHA(60) | NOT NULL | パスワードハッシュ | | 5 | passwd_salt | VARCHA(60) | NOT NULL | パスワードSALT | | 6 | email | VARCHAR(127) | NOT NULL | Eメールアドレス | -| 7 | role | INTEGER | NOT NULL | 権限 | +| 7 | user_role | INTEGER | NOT NULL | 権限 | | 8 | create_at | DATETIME | NOT NULL | 登録日時 | | 9 | update_at | DATETIME | NOT NULL | 更新日時 | diff --git a/sinatra/app/controllers/web_gui.rb b/sinatra/app/controllers/web_gui.rb index d9abe52..fc63bad 100644 --- a/sinatra/app/controllers/web_gui.rb +++ b/sinatra/app/controllers/web_gui.rb @@ -6,8 +6,6 @@ require 'sinatra/base' require 'sinatra' require 'haml' - - # ユーザアクセス用モデル require_relative '../models/users_db' diff --git a/sinatra/app/models/users_db.rb b/sinatra/app/models/users_db.rb index 0a997ed..90e7e7c 100644 --- a/sinatra/app/models/users_db.rb +++ b/sinatra/app/models/users_db.rb @@ -13,6 +13,10 @@ ActiveRecord::Base.establish_connection(:development) # ユーザ情報 class User < ActiveRecord::Base + def self.with_regexp(key, pattern) + column = columns_hash[key.to_s].name + where("`#{table_name}`.`#{column}` REGEXP ?", pattern) + end end # ユーザ管理 @@ -65,7 +69,7 @@ class UserAccount user.email = email user.passwd_salt = passwd_salt user.passwd_hash = passwd_hash - user.role = ROLE_NORMAL + user.user_role = ROLE_NORMAL user.create_at = DateTime.now user.update_at = DateTime.now user.save diff --git a/sinatra/app/views/layout.haml b/sinatra/app/views/layout.haml index a05a277..077b8a7 100644 --- a/sinatra/app/views/layout.haml +++ b/sinatra/app/views/layout.haml @@ -15,7 +15,7 @@ %body - if user_name == nil - #title= yield + #main1= yield - else #head #{user_name} 書籍一覧 @@ -32,7 +32,7 @@ %br %a{ :href => "/logout" } ログアウト - #main= yield + #main2= yield #foot %p 連絡先: diff --git a/sinatra/app/views/scss/style.scss b/sinatra/app/views/scss/style.scss index 8c6ba2d..89c02ee 100644 --- a/sinatra/app/views/scss/style.scss +++ b/sinatra/app/views/scss/style.scss @@ -8,7 +8,7 @@ ul { text-align: left; } -#title { +#main1 { background: #f8e58c; align-items: center; text-align: center; @@ -34,7 +34,7 @@ ul { margin-bottom: -3267px; } -#main { +#main2 { float: right; width: 80%; background: #f8e58c; diff --git a/sinatra/start.rb b/sinatra/start.rb index 8b3fb6c..e4dd42e 100644 --- a/sinatra/start.rb +++ b/sinatra/start.rb @@ -11,7 +11,7 @@ class Main < Sinatra::Base #ルートに対応するコントローラの指定 ROUTES = { # Web GUI 用のRoute - '/' => WebGui + '/' => WebGui, # Web API 用のRoute # '/webapi' => RESTfulAPI, }