check user agent and token when webview is loaded

This commit is contained in:
phyusin
2018-04-06 15:36:08 +06:30
parent dac1a58b64
commit a2e4863c9d
22 changed files with 119 additions and 45 deletions

View File

@@ -389,13 +389,20 @@ function setHeaderBreadCrumb(params){
}
//show hide nav bar for webview
function showHideNavbar(webview,page){
// if(webview){
$("nav.navbar").hide();
// if(page=="index"){
// $(".btn-lists").hide();
// }
// }else{
// $("nav.navbar").show();
// }
function showHideNavbar(webview,page=""){
if(webview){
$("nav.navbar").addClass("hidden");
$("section").addClass("section-margin");
$(".page-loader-wrapper").addClass("hidden");
if(page!=""){
$("#back").hide();
}
}else{
$("nav.navbar").removeClass("hidden");
$("section").removeClass("section-margin");
$(".page-loader-wrapper").removeClass("hidden");
if(page!=""){
$("#back").show();
}
}
}

View File

@@ -435,5 +435,5 @@ iframe {
/* section class for webview */
.section-margin {
margin-top: -50px;
}

View File

@@ -7,7 +7,8 @@ class BaseOrigamiController < ActionController::Base
#before_action :check_installation
protect_from_forgery with: :exception
helper_method :shop_detail
helper_method :shop_detail, :current_token
rescue_from CanCan::AccessDenied do |exception|
flash[:warning] = exception.message
# redirect_to origami_root_path
@@ -37,30 +38,13 @@ class BaseOrigamiController < ActionController::Base
#check webview
def check_mobile
status = false
if request.user_agent =~ /android|blackberry|iphone|ipad|ipod|iemobile|mobile|webos/i
authenticate_with_http_token do |token, options|
session[:session_token] = token
end
if session[:session_token] && request.user_agent =~ /android|blackberry|iphone|ipad|ipod|iemobile|mobile|webos/i
status = true
end
return status
end
# protected
# # Authenticate the user with token based authentication
# def authenticate
# authenticate_token || render_unauthorized
# end
# def authenticate_token
# authenticate_with_http_token do |token, options|
# Rails.logger.debug "token - " + token.to_s
# @user = Employee.authenticate_by_token(token)
# if @user
# return true
# end
# end
# end
# def render_unauthorized(realm = "Application")
# request.headers["WWW-Authenticate"] = %(Token realm="#{realm.gsub(/"/, "")}")
# render json: 'Bad credentials', status: :unauthorized
# end
end

View File

@@ -2,13 +2,23 @@ class Origami::AddordersController < BaseOrigamiController
# before_action :set_dining, only: [:detail]
def index
@tables = Table.all.active.order('zone_id asc').group("zone_id")
@rooms = Room.all.active.order('zone_id asc').group("zone_id")
@all_table = Table.all.active.order('status desc')
@all_room = Room.all.active.order('status desc')
@webview = false
if check_mobile
@webview = true
end
@tables = Table.all.active.order('zone_id asc').group("zone_id")
@rooms = Room.all.active.order('zone_id asc').group("zone_id")
@all_table = Table.all.active.order('status desc')
@all_room = Room.all.active.order('status desc')
end
def detail
@webview = false
if check_mobile
@webview = true
end
today = DateTime.now
day = Date.today.wday
@menus = Menu.all

View File

@@ -9,7 +9,6 @@ class Origami::CustomersController < BaseOrigamiController
end
def get_customer
filter = params[:filter]
type = params[:type]
@@ -47,7 +46,11 @@ class Origami::CustomersController < BaseOrigamiController
end
def add_customer
@webview = false
if check_mobile
@webview = true
end
@sale_id = params[:sale_id]
@cashier_type = params[:type]
@page = params[:page]

View File

@@ -3,6 +3,11 @@ class Origami::DiscountsController < BaseOrigamiController
#discount page show from origami index with selected order
def index
@webview = false
if check_mobile
@webview = true
end
sale_id = params[:id]
@cashier_type = params[:type]
if Sale.exists?(sale_id)

View File

@@ -5,10 +5,8 @@ class Origami::HomeController < BaseOrigamiController
def index
@webview = false
if check_mobile
puts "request data"
@webview = true
end
puts @webview == false
@tables = Table.all.active.order('status desc')
@rooms = Room.all.active.order('status desc')
@@ -21,6 +19,11 @@ class Origami::HomeController < BaseOrigamiController
# origami table detail
def show
@webview = false
if check_mobile
@webview = true
end
@tables = Table.all.active.order('status desc')
@rooms = Room.all.active.order('status desc')
@complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d'))

View File

@@ -1,5 +1,10 @@
class Origami::OrdersController < BaseOrigamiController
def show
@webview = false
if check_mobile
@webview = true
end
@tables = Table.all.active.order('status desc')
@rooms = Room.all.active.order('status desc')
@complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d'))

View File

@@ -2,6 +2,11 @@ class Origami::OtherChargesController < BaseOrigamiController
authorize_resource :class => false
def index
@webview = false
if check_mobile
@webview = true
end
sale_id = params[:sale_id]
@cashier_type = params[:type]
if Sale.exists?(sale_id)

View File

@@ -5,9 +5,18 @@ class Origami::RoomsController < BaseOrigamiController
@complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d'))
@orders = Order.where("DATE_FORMAT(date,'%Y-%m-%d') = ? and status != 'billed'",DateTime.now.strftime('%Y-%m-%d')).order('date desc')
# @shift = ShiftSale.current_open_shift(current_user.id)
@webview = false
if check_mobile
@webview = true
end
end
def show
@webview = false
if check_mobile
@webview = true
end
@tables = Table.all.active.order('status desc')
@rooms = Room.all.active.order('status desc')
@complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d'))

View File

@@ -2,6 +2,11 @@ class Origami::SplitBillController < BaseOrigamiController
authorize_resource :class => false
def index
@webview = false
if check_mobile
@webview = true
end
dining_id = params[:dining_id]
@cashier_type = params[:type]
@table = DiningFacility.find(dining_id)

View File

@@ -1,6 +1,10 @@
class Origami::SurveysController < BaseOrigamiController
def new
@webview = false
if check_mobile
@webview = true
end
@survey = Survey.new
@id = params[:id]
@cashier_type = params[:type]

View File

@@ -591,5 +591,12 @@
//end Ajax
}
//end show list function
/* check webview loaded*/
var webview = '';
<%if @webview %>
var webview = <%= @webview %>;
showHideNavbar(webview);
<% end %>
});
</script>

View File

@@ -274,6 +274,9 @@
var cashier_type = "<%= @cashier_type %>";
var page = "<%= @page %>";
$(function() {
/* check webview loaded*/
var webview = <%= @webview %>;
showHideNavbar(webview);
/*$('.datepicker').datepicker({
setDate: '12-12-1999',
format : 'dd-mm-yyyy',

View File

@@ -257,6 +257,9 @@
var cashier_type = "<%= @cashier_type %>";
$(document).ready(function(){
setHeaderBreadCrumb(_DISCOUNTS_);
/* check webview loaded*/
var webview = <%= @webview %>;
showHideNavbar(webview);
$('#back').on('click',function(){
var id = $("#table_id").text();

View File

@@ -1,7 +1,7 @@
<div class="container-fluid">
<div class="row">
<!-- Column One -->
<div class="col-lg-10 col-md-10 col-sm-10">
<div class="<%= @webview==true ? 'col-lg-12 col-md-12 col-sm-12' : 'col-lg-10 col-md-10 col-sm-10' %>">
<!-- Nav tabs -->
<ul class="nav nav-tabs tab-col-teal" role="tablist">
@@ -116,7 +116,7 @@
</div>
<!-- tabs - End -->
</div>
<div class="col-lg-2 col-md-2 col-sm-2">
<div class="<%= @webview==true ? 'hidden' : 'col-lg-2 col-md-2 col-sm-2' %>">
<!-- <button id="refreshbutton" type="button" class="btn btn-block radius-btn"> Refresh off </button> -->
<button type="button" class="btn btn-block btn-default waves-effect" id='back'>
<i class="material-icons">reply</i>
@@ -141,7 +141,6 @@
$(document).ready(function(){
var webview = <%= @webview %>;
showHideNavbar(webview,"index");
$(".tables").on('click', function(){
var dining_id = $(this).attr("data-id");
window.location.href = '/origami/table/' + dining_id;

View File

@@ -604,6 +604,9 @@
<script>
var cashier_type = "cashier";
$(document).ready(function () {
/* check webview loaded*/
var webview = <%= @webview %>;
showHideNavbar(webview);
/* start check first bill or not*/
var receipt_no = "";
if(($("#receipt_no").html()!=undefined) && ($("#receipt_no").html()!="")){

View File

@@ -253,6 +253,10 @@
</div>
<script>
$(document).ready(function(){
/* check webview loaded*/
var webview = <%= @webview %>;
showHideNavbar(webview);
$(".tables").on('click', function(){
var dining_id = $(this).attr("data-id");
window.location.href = '/origami/table/' + dining_id;

View File

@@ -212,6 +212,10 @@ var cashier_type = "<%= @cashier_type %>";
$(document).ready(function(){
setHeaderBreadCrumb(_OTHER_CHARGES_);
/* check webview loaded*/
var webview = <%= @webview %>;
showHideNavbar(webview);
$(".cashier_number").on('click', function(event){
if(event.handled !== true) {
var original_value=0;

View File

@@ -542,6 +542,9 @@
<script>
var cashier_type = "cashier";
$(document).ready(function(){
/* check webview loaded*/
var webview = <%= @webview %>;
showHideNavbar(webview);
// $(".tables").on('click', function(){
// var customer_id=$(".customer-id").text();
// show_customer_details(customer_id);

View File

@@ -336,6 +336,10 @@
var cashier_type = '<%= @cashier_type %>';
$(document).ready(function(){
setHeaderBreadCrumb(_SPLIT_BILL_);
/* check webview loaded*/
var webview = <%= @webview %>;
showHideNavbar(webview);
$('#back').on('click',function(){
backToOrigami();
})

View File

@@ -245,6 +245,10 @@
<script type="text/javascript">
var cashier_type = "<%= @cashier_type %>";
$(document).ready(function(){
/* check webview loaded*/
var webview = <%= @webview %>;
showHideNavbar(webview);
$('.foreignerDiv').removeClass("hidden");
setHeaderBreadCrumb(_SURVEY_);
<% if !@survey_data.nil? %>