user role scoped layout and controller

This commit is contained in:
Min Zeya Phyo
2017-04-20 22:29:39 +06:30
parent fd52038781
commit e1e102fd15
16 changed files with 230 additions and 19 deletions

View File

@@ -9,8 +9,8 @@ end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.0.2'
# Use mysql as the database for Active Record
#gem 'mysql2', '>= 0.3.18', '< 0.5'
gem 'pg'
gem 'mysql2', '>= 0.3.18', '< 0.5'
#gem 'pg'
# Use Puma as the app server
gem 'puma', '~> 3.0'
# Use SCSS for stylesheets

View File

@@ -96,11 +96,11 @@ GEM
mini_portile2 (2.1.0)
minitest (5.10.1)
multi_json (1.12.1)
mysql2 (0.4.5)
nio4r (2.0.0)
nokogiri (1.7.1)
mini_portile2 (~> 2.1.0)
pdf-core (0.7.0)
pg (0.20.0)
prawn (2.2.2)
pdf-core (~> 0.7.0)
ttfunk (~> 1.5)
@@ -230,7 +230,7 @@ DEPENDENCIES
jbuilder (~> 2.5)
jquery-rails
listen (~> 3.0.5)
pg
mysql2 (>= 0.3.18, < 0.5)
prawn
prawn-table
puma (~> 3.0)

View File

@@ -0,0 +1,9 @@
@import "bootstrap";
@import "font-awesome";
@import "theme";
/* Show it is fixed to the top */
// body {
// min-height: 75rem;
// padding-top: 4.5rem;
// }

View File

@@ -0,0 +1,9 @@
@import "bootstrap";
@import "font-awesome";
@import "theme";
/* Show it is fixed to the top */
// body {
// min-height: 75rem;
// padding-top: 4.5rem;
// }

View File

@@ -0,0 +1,9 @@
@import "bootstrap";
@import "font-awesome";
@import "theme";
/* Show it is fixed to the top */
// body {
// min-height: 75rem;
// padding-top: 4.5rem;
// }

View File

@@ -0,0 +1,9 @@
@import "bootstrap";
@import "font-awesome";
@import "theme";
/* Show it is fixed to the top */
// body {
// min-height: 75rem;
// padding-top: 4.5rem;
// }

View File

@@ -0,0 +1,9 @@
class BaseCrmController < ActionController::Base
include LoginVerification
layout "CRM"
#before_action :check_installation
protect_from_forgery with: :exception
end

View File

@@ -3,6 +3,8 @@ module LoginVerification
included do
before_action :authenticate
helper_method :current_company,:current_login_employee
end
@@ -30,4 +32,28 @@ module LoginVerification
redirect_to root_path
end
#this is base api base controller to need to inherit.
#all token authentication must be done here
#response format must be set to JSON
def current_company
begin
return Company.first
rescue
return nil
end
end
def current_login_employee
@employee = Employee.find_by_token_session(session[:session_token])
end
private
def check_installation
if current_company.nil?
redirect_to install_path
end
end
end

View File

@@ -33,7 +33,6 @@ class HomeController < ApplicationController
def destroy
session[:session_token] = nil
redirect_to root_path
end
private

View File

@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>SmartSales : Restaurant</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<%= render 'layouts/header' %>
<div class="container-fluid">
<% flash.each do |type, message| %>
<div class="alert fade in">
<button class="close" aria-hidden="true" data-dismiss="alert" type="button">×</button>
<%= message %>
</div>
<% end %>
<%= yield %>
</div>
</body>
</html>

View File

@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>SmartSales : Restaurant</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<%= render 'layouts/header' %>
<div class="container-fluid">
<% flash.each do |type, message| %>
<div class="alert fade in">
<button class="close" aria-hidden="true" data-dismiss="alert" type="button">×</button>
<%= message %>
</div>
<% end %>
<%= yield %>
</div>
</body>
</html>

View File

@@ -5,14 +5,8 @@
<a class="navbar-brand" href="#">H</a>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="/">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Settings<span class="caret"></span></a>
<li class="navbar-nav mr-auto dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Settings</a>
<ul class="dropdown-menu">
<li><%= link_to "Menus ", settings_menus_path, :tabindex =>"-1" %></li>
<li><%= link_to "Menu Categories", settings_menu_categories_path, :tabindex =>"-1" %></li>
@@ -27,7 +21,16 @@
<li><%= link_to "Tax Profile", settings_tax_profiles_path, :tabindex =>"-1" %></li>
</ul>
</li>
</ul>
</div>
<div class="right">
<ul class="navbar-nav mr-auto">
<li><%= current_login_employee.name %> </li>
<li style="padding-right:10px;padding-left:10px"> | </li>
<li ><%= link_to 'Logout', logout_path, method: :delete, data: { confirm: 'Are you sure?' } %>
</li>
</ul>
</div>
</nav>

View File

@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>SmartSales : Restaurant</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<%= render 'layouts/header' %>
<div class="container-fluid">
<% flash.each do |type, message| %>
<div class="alert fade in">
<button class="close" aria-hidden="true" data-dismiss="alert" type="button">×</button>
<%= message %>
</div>
<% end %>
<%= yield %>
</div>
</body>
</html>

View File

@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>SmartSales : Restaurant</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<%= render 'layouts/header' %>
<div class="container-fluid">
<% flash.each do |type, message| %>
<div class="alert fade in">
<button class="close" aria-hidden="true" data-dismiss="alert" type="button">×</button>
<%= message %>
</div>
<% end %>
<%= yield %>
</div>
</body>
</html>

View File

@@ -50,7 +50,7 @@ Rails.application.routes.draw do
resources :memberships, only:[:create]
post "payment/:payment_method" => "payment#create"
put "payment/:id" => "payment#update"
resources :receipt, :only [:create, :show] #generate receipt, show receipt
resources :receipt, only: [:create, :show] #generate receipt, show receipt
end
@@ -58,13 +58,13 @@ Rails.application.routes.draw do
end
#--------- Cashier ------------#
namespace :cashier do
#bookings
#orders
#invoices
#receipt
resources :origami, only: [:index, :show] do
resources :payment, only: [:create ] #add payment by payment_method
resources :discount, only: [:create ] #add discount type
end
#--------- Waiter ------------#
namespace :waiter do
#zones

View File

@@ -0,0 +1,22 @@
{"order_source"=>"emenu", "order_type"=>"dine_in", "booking_id"=>"",
"customer_id"=>"", "guest_info"=>"", "table_id"=>"1",
"order_items"=>[{"order_item_id"=>1,
"item_instance_code"=>"II0021",
"quantity"=>1,
"options"=>[]},
{"order_item_id"=>2,
"item_instance_code"=>"II0042",
"quantity"=>1, "parent_order_item_id"=>1,
"options"=>[]},
{"order_item_id"=>3,
"item_instance_code"=>"II0053",
"quantity"=>1,
"parent_order_item_id"=>1,
"options"=>["mild spicy"]},
{"order_item_id"=>4,
"item_instance_code"=>"II0031",
"quantity"=>1, "options"=>[]},
{"order_item_id"=>5,
"item_instance_code"=>"II0073",
"quantity"=>1, "parent_order_item_id"=>4, "options"=>[]}],
"order"=>{"order_type"=>"dine_in", "customer_id"=>"", "guest_info"=>""}}