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