Merge branch 'master' of bitbucket.org:code2lab/sxrestaurant into staging

This commit is contained in:
Yan
2017-06-14 11:25:14 +06:30
15 changed files with 236 additions and 30 deletions

View File

@@ -10,9 +10,13 @@ class HomeController < ApplicationController
@login_form.emp_id = params[:login_form][:emp_id] @login_form.emp_id = params[:login_form][:emp_id]
@login_form.password = params[:login_form][:password] @login_form.password = params[:login_form][:password]
@employee = Employee.login(@login_form.emp_id, @login_form.password) @employee = Employee.login(@login_form.emp_id, @login_form.password)
if @employee puts @employee.role
if @employee.role == "administrator"
session[:session_token] = @employee.token_session session[:session_token] = @employee.token_session
redirect_to dashboard_path redirect_to dashboard_path
elsif @employee.role == "cashier"
session[:session_token] = @employee.token_session
redirect_to origami_root_path
else else
render :index render :index
end end

View File

@@ -10,7 +10,7 @@ class Origami::JcbController < BaseOrigamiController
if(Sale.exists?(sale_id)) if(Sale.exists?(sale_id))
saleObj = Sale.find(sale_id) saleObj = Sale.find(sale_id)
sale_payment = SalePayment.new sale_payment = SalePayment.new
@status, @sale = sale_payment.process_payment(saleObj, @user, cash, "mpu") @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "jcb")
end end
end end

View File

@@ -10,7 +10,7 @@ class Origami::MasterController < BaseOrigamiController
if(Sale.exists?(sale_id)) if(Sale.exists?(sale_id))
saleObj = Sale.find(sale_id) saleObj = Sale.find(sale_id)
sale_payment = SalePayment.new sale_payment = SalePayment.new
@status, @sale = sale_payment.process_payment(saleObj, @user, cash, "mpu") @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "master")
end end
end end

View File

@@ -10,7 +10,7 @@ class Origami::VisaController < BaseOrigamiController
if(Sale.exists?(sale_id)) if(Sale.exists?(sale_id))
saleObj = Sale.find(sale_id) saleObj = Sale.find(sale_id)
sale_payment = SalePayment.new sale_payment = SalePayment.new
@status, @sale = sale_payment.process_payment(saleObj, @user, cash, "mpu") @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "visa")
end end
end end

View File

@@ -138,6 +138,8 @@ $(function() {
$(document).on('click',".customer_tr",function(){ $(document).on('click',".customer_tr",function(){
// if(this.checked){ // if(this.checked){
$(this).closest('tr').find('.checkbox_check').prop( "checked", true );
//$( "#checkbox_check" ).prop( "checked", true );
var sale_id = $("#sale_id").val() || 0; var sale_id = $("#sale_id").val() || 0;
var customer_id = $(this).attr('data-ref'); var customer_id = $(this).attr('data-ref');

View File

@@ -136,7 +136,7 @@
$(document).on('click',".customer_tr",function(){ $(document).on('click',".customer_tr",function(){
// if(this.checked){ // if(this.checked){
$(this).closest('tr').find('.checkbox_check').prop( "checked", true );
var sale_id = $("#sale_id").val() || 0; var sale_id = $("#sale_id").val() || 0;
var customer_id = $(this).attr('data-ref'); var customer_id = $(this).attr('data-ref');

View File

@@ -67,7 +67,7 @@
<div class="cashier_number long left" data-value="10000" data-type="add">10000</div> <div class="cashier_number long left" data-value="10000" data-type="add">10000</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class="pay purple" id="redeem">Pay</div> <div class="pay purple" id="jcb_pay">Pay</div>
</div> </div>
</div> </div>
</div> </div>
@@ -80,12 +80,54 @@
</div> </div>
<script> <script>
$('#mpu_pay').on('click',function(){ // number key pad
var amount = $('#amount').val(); $(document).on('click', '.cashier_number', function(event){
event.stopPropagation();
event.preventDefault();
if(event.handled !== true) {
var original_value;
original_value = $('#amount').text();
var input_value = $(this).attr("data-value");
var input_type = $(this).attr("data-type");
switch (input_type) {
case 'num':
if (original_value == "0.0"){
$('#amount').text(input_value);
}else{
$('#amount').append(input_value);
}
break;
case 'add':
var input_value = $(this).attr("data-value");
amount = parseInt(input_value) + parseInt(original_value);
$('#amount').html(amount);
break;
case 'clr':
$('#amount').html("0.0");
break;
case 'del' :
var cash=$('#amount').text();
$('#amount').text(cash.substr(0,cash.length-1));
break;
}
event.handled = true;
} else {
return false;
}
});
$('#jcb_pay').on('click',function(){
var amount = $('#amount').text();
var sale_id = "<%= @sale_id %>"; var sale_id = "<%= @sale_id %>";
$.ajax({type: "POST", $.ajax({type: "POST",
url: "<%= origami_payment_mpu_path %>", url: "<%= origami_payment_jcb_path %>",
data: "amount="+ amount + "&sale_id="+ sale_id, data: "amount="+ amount + "&sale_id="+ sale_id,
success:function(result){ success:function(result){
if(result){ if(result){

View File

@@ -12,7 +12,7 @@
<div class="row"> <div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12"> <div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label> <label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label>
<input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="" data-value="<%=@sale_id %>" data-member-value=""> <input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" value="" data-value="<%=@sale_id %>" data-member-value="">
</div> </div>
<hr> <hr>
</div> </div>
@@ -67,7 +67,7 @@
<div class="cashier_number long left" data-value="10000" data-type="add">10000</div> <div class="cashier_number long left" data-value="10000" data-type="add">10000</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class="pay purple" id="redeem">Pay</div> <div class="pay purple" id="master_pay">Pay</div>
</div> </div>
</div> </div>
</div> </div>
@@ -80,12 +80,51 @@
</div> </div>
<script> <script>
$('#mpu_pay').on('click',function(){ $(document).on('click', '.cashier_number', function(event){
var amount = $('#amount').val(); event.stopPropagation();
event.preventDefault();
if(event.handled !== true) {
var original_value;
original_value = $('#amount').text();
var input_value = $(this).attr("data-value");
var input_type = $(this).attr("data-type");
switch (input_type) {
case 'num':
if (original_value == "0.0"){
$('#amount').text(input_value);
}else{
$('#amount').append(input_value);
}
break;
case 'add':
var input_value = $(this).attr("data-value");
amount = parseInt(input_value) + parseInt(original_value);
$('#amount').html(amount);
break;
case 'clr':
$('#amount').html("0.0");
break;
case 'del' :
var cash=$('#amount').text();
$('#amount').text(cash.substr(0,cash.length-1));
break;
}
event.handled = true;
} else {
return false;
}
});
$('#master_pay').on('click',function(){
var amount = $('#amount').text();
var sale_id = "<%= @sale_id %>"; var sale_id = "<%= @sale_id %>";
$.ajax({type: "POST", $.ajax({type: "POST",
url: "<%= origami_payment_mpu_path %>", url: "<%= origami_payment_master_path %>",
data: "amount="+ amount + "&sale_id="+ sale_id, data: "amount="+ amount + "&sale_id="+ sale_id,
success:function(result){ success:function(result){
if(result){ if(result){

View File

@@ -12,7 +12,7 @@
<div class="row"> <div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12"> <div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label> <label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label>
<input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="" data-value="<%=@sale_id %>" data-member-value=""> <input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" value="" data-value="<%=@sale_id %>" data-member-value="">
</div> </div>
<hr> <hr>
</div> </div>
@@ -67,7 +67,7 @@
<div class="cashier_number long left" data-value="10000" data-type="add">10000</div> <div class="cashier_number long left" data-value="10000" data-type="add">10000</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class="pay purple" id="redeem">Pay</div> <div class="pay purple" id="mpu_pay">Pay</div>
</div> </div>
</div> </div>
</div> </div>
@@ -80,8 +80,47 @@
</div> </div>
<script> <script>
$(document).on('click', '.cashier_number', function(event){
event.stopPropagation();
event.preventDefault();
if(event.handled !== true) {
var original_value;
original_value = $('#amount').text();
var input_value = $(this).attr("data-value");
var input_type = $(this).attr("data-type");
switch (input_type) {
case 'num':
if (original_value == "0.0"){
$('#amount').text(input_value);
}else{
$('#amount').append(input_value);
}
break;
case 'add':
var input_value = $(this).attr("data-value");
amount = parseInt(input_value) + parseInt(original_value);
$('#amount').html(amount);
break;
case 'clr':
$('#amount').html("0.0");
break;
case 'del' :
var cash=$('#amount').text();
$('#amount').text(cash.substr(0,cash.length-1));
break;
}
event.handled = true;
} else {
return false;
}
});
$('#mpu_pay').on('click',function(){ $('#mpu_pay').on('click',function(){
var amount = $('#amount').val(); var amount = $('#amount').text();
var sale_id = "<%= @sale_id %>"; var sale_id = "<%= @sale_id %>";
$.ajax({type: "POST", $.ajax({type: "POST",

View File

@@ -93,7 +93,7 @@
<hr> <hr>
<div class="row"> <div class="row">
<div class="col-md-8">Cash</div> <div class="col-md-8">Cash</div>
<div class="col-md-4" id="amount" ><%= @cash %></div> <div class="col-md-4" id="cash" ><%= @cash %></div>
</div> </div>
<hr> <hr>
<div class="row" id="credit_payment"> <div class="row" id="credit_payment">
@@ -193,8 +193,11 @@ $(document).on('click', '.cashier_number', function(event){
update_balance(); update_balance();
break; break;
case 'del' : case 'del' :
var cash=$('#amount').text(); var cash=$('#cash').text();
$('#cash').text(cash.substr(0,cash.length-1)); if(cash.length == 1)
$('#cash').text("0.0");
else
$('#cash').text(cash.substr(0,cash.length-1));
update_balance(); update_balance();
break; break;
case 'clr': case 'clr':
@@ -258,7 +261,7 @@ function update_balance(){
var card = $('#others').text(); var card = $('#others').text();
var amount_due = $('#amount_due').text(); var amount_due = $('#amount_due').text();
var total = parseFloat(cash) + parseFloat(credit) + parseFloat(card) var total = parseFloat(cash) + parseFloat(credit) + parseFloat(card)
var result = amount_due - total var result = amount_due - total;
$('#balance').text(result.toFixed(2)); $('#balance').text(result.toFixed(2));
} }
</script> </script>

View File

@@ -76,7 +76,45 @@
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
$(document).on('click', '.cashier_number', function(event){
event.stopPropagation();
event.preventDefault();
if(event.handled !== true) {
var original_value;
original_value = $('#used_amount').text();
var input_value = $(this).attr("data-value");
var input_type = $(this).attr("data-type");
switch (input_type) {
case 'num':
if (original_value == "0.0"){
$('#used_amount').text(input_value);
}else{
$('#used_amount').append(input_value);
}
break;
case 'add':
var input_value = $(this).attr("data-value");
amount = parseInt(input_value) + parseInt(original_value);
$('#used_amount').html(amount);
break;
case 'clr':
$('#used_amount').html("0.0");
break;
case 'del' :
var cash=$('#used_amount').text();
$('#used_amount').text(cash.substr(0,cash.length-1));
break;
}
event.handled = true;
} else {
return false;
}
});
$("#redeem").click(function(){ $("#redeem").click(function(){
valid_amount = $("#valid_amount").val(); valid_amount = $("#valid_amount").val();
sale_id = $("#valid_amount").attr('data-value'); sale_id = $("#valid_amount").attr('data-value');

View File

@@ -12,7 +12,7 @@
<div class="row"> <div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12"> <div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label> <label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label>
<input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="" data-value="<%=@sale_id %>" data-member-value=""> <input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" value="" data-value="<%=@sale_id %>" data-member-value="">
</div> </div>
<hr> <hr>
</div> </div>
@@ -67,7 +67,7 @@
<div class="cashier_number long left" data-value="10000" data-type="add">10000</div> <div class="cashier_number long left" data-value="10000" data-type="add">10000</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class="pay purple" id="redeem">Pay</div> <div class="pay purple" id="visa_pay">Pay</div>
</div> </div>
</div> </div>
</div> </div>
@@ -80,12 +80,51 @@
</div> </div>
<script> <script>
$('#mpu_pay').on('click',function(){ $(document).on('click', '.cashier_number', function(event){
var amount = $('#amount').val(); event.stopPropagation();
event.preventDefault();
if(event.handled !== true) {
var original_value;
original_value = $('#amount').text();
var input_value = $(this).attr("data-value");
var input_type = $(this).attr("data-type");
switch (input_type) {
case 'num':
if (original_value == "0.0"){
$('#amount').text(input_value);
}else{
$('#amount').append(input_value);
}
break;
case 'add':
var input_value = $(this).attr("data-value");
amount = parseInt(input_value) + parseInt(original_value);
$('#amount').html(amount);
break;
case 'clr':
$('#amount').html("0.0");
break;
case 'del' :
var cash=$('#amount').text();
$('#amount').text(cash.substr(0,cash.length-1));
break;
}
event.handled = true;
} else {
return false;
}
});
$('#visa_pay').on('click',function(){
var amount = $('#amount').text();
var sale_id = "<%= @sale_id %>"; var sale_id = "<%= @sale_id %>";
$.ajax({type: "POST", $.ajax({type: "POST",
url: "<%= origami_payment_mpu_path %>", url: "<%= origami_payment_visa_path %>",
data: "amount="+ amount + "&sale_id="+ sale_id, data: "amount="+ amount + "&sale_id="+ sale_id,
success:function(result){ success:function(result){
if(result){ if(result){

View File

@@ -23,7 +23,7 @@
<th>Receipt Date </th> <th>Receipt Date </th>
<th>Receipt no</th> <th>Receipt no</th>
<th>Cashier</th> <th>Cashier</th>
<th>OSales status</th> <th>Sales status</th>
<th>Receipt generated at</th> <th>Receipt generated at</th>
</tr> </tr>
</thead> </thead>

View File

@@ -91,7 +91,7 @@ Rails.application.routes.draw do
post 'payment/mpu' => "mpu#create" post 'payment/mpu' => "mpu#create"
post 'payment/jcb' => "jcb#create" post 'payment/jcb' => "jcb#create"
post 'payment/master' => "master#create" post 'payment/master' => "master#create"
post 'payment/visa' => "master#visa" post 'payment/visa' => "visa#create"
post 'payment/paypar' => 'paypar_payments#create' post 'payment/paypar' => 'paypar_payments#create'
get 'sale/:sale_id/payment/credit_payment' => "credit_payments#index" get 'sale/:sale_id/payment/credit_payment' => "credit_payments#index"

View File

@@ -136,8 +136,8 @@ zone_queue_station = OrderQueueProcessByZone.create({order_queue_station: zone_o
#Create Adminstrator employee #Create Adminstrator employee
admin_employee = Employee.create({name: "Administrator", role: "Administrator", password: "99999", emp_id:"999", created_by: "SYSTEM DEFAULT"}) admin_employee = Employee.create({name: "Administrator", role: "administrator", password: "99999", emp_id:"999", created_by: "SYSTEM DEFAULT"})
admin_employee = Employee.create({name: "Waiter", role: "Waiter", password: "11111", emp_id:"111", created_by: "SYSTEM DEFAULT"}) admin_employee = Employee.create({name: "Waiter", role: "waiter", password: "11111", emp_id:"111", created_by: "SYSTEM DEFAULT"})
order_station1=PrintSetting.create({name: "OrderItemPdf", unique_code: "OrderItemPdf", printer_name: "EPSON-TM-T82-S-A"}) order_station1=PrintSetting.create({name: "OrderItemPdf", unique_code: "OrderItemPdf", printer_name: "EPSON-TM-T82-S-A"})
order_station2=PrintSetting.create({name: "Order Summary", unique_code: "OrderSummaryPdf", printer_name: "EPSON-TM-T82-S-A"}) order_station2=PrintSetting.create({name: "Order Summary", unique_code: "OrderSummaryPdf", printer_name: "EPSON-TM-T82-S-A"})
request_bill_printer=PrintSetting.create({name: "Receipt Bill", unique_code: "ReceiptBillPdf", printer_name: "EPSON-TM-T82-S-A"}) request_bill_printer=PrintSetting.create({name: "Receipt Bill", unique_code: "ReceiptBillPdf", printer_name: "EPSON-TM-T82-S-A"})