lib/rawbotz/app.rb in rawbotz-0.1.5 vs lib/rawbotz/app.rb in rawbotz-0.2.0

- old
+ new

@@ -2,13 +2,17 @@ require 'open-uri' require 'action_view' # Workaround https://github.com/haml/haml/issues/695 require 'haml' require 'rawbotz/helpers/icon_helper' require 'rawbotz/helpers/flash_helper' +require 'rawbotz/helpers/format_helper' require 'rawbotz/helpers/resource_link_helper' +require 'rawbotz/helpers/order_item_color_helper' require 'tilt/haml' +require 'bcrypt' + class RawbotzApp < Sinatra::Base include RawgentoModels enable :sessions @@ -27,28 +31,48 @@ conf = YAML.load_file(Rawbotz.conf_file_path) set :supplier_name, conf["supplier_name"] set :supplier, Supplier.find_by(name: conf["supplier_name"]) set :conf, conf + + if conf["authentication"] && !conf["authentication"].empty? + use Rack::Auth::Basic, "Protected Area, no robots allowed" do |username, password| + if username.nil? || password.nil? || conf["authentication"][username].nil? + nil + else + BCrypt::Password.new(conf["authentication"][username]) == password + end + end + end end helpers do ; end helpers Rawbotz::Helpers::IconHelper helpers Rawbotz::Helpers::FlashHelper + helpers Rawbotz::Helpers::FormatHelper helpers Rawbotz::Helpers::ResourceLinkHelper + helpers Rawbotz::Helpers::OrderItemColorHelper get '/' do haml :index end + # routes: # get '/orders' # get '/order/new' # get '/order/:id' # post '/order/:id/' # get '/order/:id/packlist' + # get '/order/:id/packlist/pdf' register Rawbotz::RawbotzApp::Routing::Orders + # get '/order/:id/stock + # post '/order/:id/stock' + # get '/order/:id/link_to_remote' + # post '/order/:id/link_to_remote' + register Rawbotz::RawbotzApp::Routing::Orders::Stock + # get '/products' # post '/products/search' # get '/product/:id' # get '/product/:id/stock_sales_plot' # post '/product/:id/hide' @@ -72,12 +96,22 @@ # get '/supplier/:id' # post '/supplier/:id' register Rawbotz::RawbotzApp::Routing::Suppliers + # get '/suppliers/orders' + # get '/suppliers/orders.csv' + register Rawbotz::RawbotzApp::Routing::Suppliers::Orders + + # get '/stock' + # get '/stock/alerts' + # get '/stock/warnings' + register Rawbotz::RawbotzApp::Routing::Stock + # get '/orders/non_remote' - # get '/order/non_remote/:supplier_id' - # post '/order/non_remote/:supplier_id' + # get '/order/non_remote/:order_id' + # post '/order/non_remote/:order_id' + # get '/order/non_remote/:supplier_id/new' register Rawbotz::RawbotzApp::Routing::NonRemoteOrders get '/maintenance' do haml :maintenance end