update booking with cancel and assign

This commit is contained in:
Aung Myo
2017-06-02 10:52:46 +06:30
parent acbd8acf04
commit c9782bf84a
5 changed files with 127 additions and 113 deletions

View File

@@ -11,13 +11,17 @@ class Api::BookingsController < Api::ApiController
end end
def update_booking def update_booking
booking = Booking.find(params[:booking_id])
status = booking.update_attributes(booking_status: params[:type])
if status
render json: JSON.generate({:status => true ,:type => params[:type]})
else
render json: JSON.generate({:status => false, :error_message => "Record not found"})
booking = Booking.find_by(id: params[:booking]) end
booking.update_all(booking_status: 'Dave') end
end
# private # private
# def Bookings_params # def Bookings_params

View File

@@ -3,30 +3,32 @@
<% @i = 0 %> <% @i = 0 %>
<% @booking.each do |booking| %> <% @booking.each do |booking| %>
<div class="card booking_click" data-ref="<%= api_booking_path booking.id%>" id="booking_block"> <% if booking.booking_status == "new" %>
<div class="card-block" id="card-block" style="width:100%;"> <div class="card booking_click" data-ref="<%= api_booking_path booking.id%>" id="booking_block">
<h4 class="card-title"> <div class="card-block" id="card-block" style="width:100%;">
<%= @i += 1 %> . <%= booking.dining_facility.name %> <h4 class="card-title">
- <%= booking.id %> <%= @i += 1 %> . <%= booking.dining_facility.name %>
</h4> - <%= booking.id %>
<!-- <p class="card-text">Medium, Fries, Salad</p> --> </h4>
<p class="card-text"> <!-- <p class="card-text">Medium, Fries, Salad</p> -->
<small class="text-muted"> <p class="card-text">
Order at <%= booking.checkin_at.strftime("%H,%m") %>, <%= booking.checkin_by %> <small class="text-muted">
</small> Order at <%= booking.checkin_at.strftime("%H,%m") %>, <%= booking.checkin_by %>
</p> </small>
</div> </p>
<div class="card-footer">
<div class="row">
<div class="col-md-6">
<button id="#id" class="btn btn-primary btn-sm btn-block">ASSIGN</button>
</div>
<div class="col-md-6">
<button id="cancel" data-ref="<%= booking.id%>" class="btn btn-danger cancel btn-sm btn-block">CANCLE</button>
</div> </div>
<div class="card-footer">
<div class="row">
<div class="col-md-6">
<button id="assign" data-ref="<%= booking.id%>" data-type="complete" class="btn assign btn-primary btn-sm btn-block">ASSIGN</button>
</div>
<div class="col-md-6">
<button id="cancel" data-ref="<%= booking.id%>" data-type="cancel" class="btn btn-danger cancel btn-sm btn-block">CANCLE</button>
</div>
</div>
</div> </div>
</div> </div>
</div> <% end %>
<% end %> <% end %>
<!--- end of Items--> <!--- end of Items-->
</div> </div>
@@ -39,73 +41,69 @@ $(function(){
show_details(url); show_details(url);
}); });
$('.assign').click(function(e){
var booking_id = $('#assign').attr('data-ref');
var type = $('#assign').attr('data-type');
update_booking(booking_id,type)
});
$('.cancel').click(function(e){ $('.cancel').click(function(e){
var booking = $('#cancel').attr('data-booking-id'); var booking_id = $('#cancel').attr('data-ref');
var type = $('#cancel').attr('data-type');
$.ajax({ update_booking(booking_id,type)
type: "GET",
url: "api/update_booking",
data: {},
dataType: "json",
success: function(data) {
}
});
/*$.getJSON(update_booking_url,{booking: booking, type: "cancel"}, function(data) {
if(data.status == 'ok'){
showMessage('Order set has delivered!');
}
else{
if(data.status == false){
clear_storage();
window.location.href = data.url;
}
showMessage('Order record not found');
}
});*/
}); });
}); });
function show_details(url_item){ function show_details(url_item){
$.ajax({
$.ajax({
type: "GET", type: "GET",
url: url_item, url: url_item,
data: {}, data: {},
dataType: "json", dataType: "json",
success: function(data) { success: function(data) {
item_data = data.order_items; item_data = data.order_items;
//console.log(item_data.length); //console.log(item_data.length);
$("#table").text(data.table_name) $("#table").text(data.table_name)
$("#order_at").text(data.checkin_at) $("#order_at").text(data.checkin_at)
$("#order_by").text(data.checkin_by) $("#order_by").text(data.checkin_by)
for(var field in item_data) { for(var field in item_data) {
if (item_data[field].item_name){ if (item_data[field].item_name){
var price = parseFloat(item_data[field].price).toFixed(2); var price = parseFloat(item_data[field].price).toFixed(2);
row = "<tr>" row = "<tr>"
+'<td style="width:33%; text-align:left">' + item_data[field].item_name +'</td>' +'<td style="width:33%; text-align:left">' + item_data[field].item_name +'</td>'
+'<td style="width:33%; text-align:center">' + item_data[field].qty + '</td>' +'<td style="width:33%; text-align:center">' + item_data[field].qty + '</td>'
+'<td style="width:33%; text-align:right">' + price + '</td>' +'<td style="width:33%; text-align:right">' + price + '</td>'
+'</tr>'; +'</tr>';
} }
$(".summary-items tbody").append(row); $(".summary-items tbody").append(row);
} }
} }
}); });
}
}
function update_booking(booking_id,type) {
$.ajax({
type: "POST",
url: "api/update_booking/" ,
data: {booking_id:booking_id,type:type},
dataType: "json",
success: function(data) {
if(data.status == true && data.type == "cancel")
{
alert('Booking has canceled!');
}else{
alert('Booking has completed!');
}
location.reload();
}
});
}
</script> </script>

View File

@@ -1,29 +1,47 @@
<div class="card-columns" style="padding-top:10px"> <div class="card-columns" style="padding-top:10px">
<div class="card">
<div class="card-block order-completed"> <% @i = 0 %>
<h4 class="card-title">9. Table 4 - Beef Steak [x3]</h4> <% @booking.each do |booking| %>
<p class="card-text">Well Done, Fries, Salad</p> <% if booking.booking_status == "complete" %>
<p class="card-text"> <div class="card booking_click" data-ref="<%= api_booking_path booking.id%>" id="booking_block">
<small class="text-muted">Order at 12:23, Kyaw Lwin</small> | <div class="card-block" id="card-block" style="width:100%;">
<small class="text-muted">Printed at 12:23</small> | <h4 class="card-title">
<small class="text-muted">Completed at 12:43</small> <%= @i += 1 %> . <%= booking.dining_facility.name %>
</p> - <%= booking.id %>
</h4>
<!-- <p class="card-text">Medium, Fries, Salad</p> -->
<p class="card-text">
<small class="text-muted">
Order at <%= booking.checkin_at.strftime("%H,%m") %>, <%= booking.checkin_by %>
</small>
</p>
</div>
<div class="card-footer">
<div class="row">
<div class="col-md-6">
<button id="assign" data-ref="<%= booking.id%>" data-type="complete" class="btn assign btn-primary btn-sm btn-block">ASSIGN</button>
</div>
<div class="col-md-6">
<button id="cancel" data-ref="<%= booking.id%>" data-type="cancel" class="btn btn-danger cancel btn-sm btn-block">CANCLE</button>
</div>
</div>
</div>
</div>
<% end %>
<% end %>
<div class="card">
<div class="card-block order-completed">
<h4 class="card-title">9. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text">
<small class="text-muted">Order at 12:23, Kyaw Lwin</small> |
<small class="text-muted">Printed at 12:23</small> |
<small class="text-muted">Completed at 12:43</small>
</p>
</div>
</div>
</div> </div>
</div>
<div class="card">
<div class="card-block order-void">
<h4 class="card-title">9. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">9. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div>
</div>

View File

@@ -5,10 +5,10 @@
<!-- Nav tabs --> <!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist"> <ul class="nav nav-tabs" role="tablist">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#completed" role="tab">Queue <span class="badge badge-pill badge-default">2000</span></a> <a class="nav-link" data-toggle="tab" href="#completed" role="tab">Queue <span class="badge badge-pill badge-default"><%= @booking.where("booking_status=?","complete").count %></span></a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#tables" role="tab">Bookings <span class="badge badge-pill badge-default"><%= @booking.count %></span></a> <a class="nav-link active" data-toggle="tab" href="#tables" role="tab">Bookings <span class="badge badge-pill badge-default"><%= @booking.where("booking_status=?","new").count %></span></a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#rooms" role="tab">Customers</a> <a class="nav-link" data-toggle="tab" href="#rooms" role="tab">Customers</a>
@@ -37,9 +37,6 @@
<!-- Panel 3 - Orders --> <!-- Panel 3 - Orders -->
<!-- Panel 3 - Orders - End --> <!-- Panel 3 - Orders - End -->
</div> </div>
</div> </div>
<!-- Column Two --> <!-- Column Two -->
<div class="col-lg-5 col-md-5 col-sm-5"> <div class="col-lg-5 col-md-5 col-sm-5">
@@ -67,10 +64,7 @@
<tr id=""> <tr id="">
<td><strong>Table/Room</strong></td> <td><strong>Table/Room</strong></td>
<td colspan="2" style="text-align:left" id="table"></td> <td colspan="2" style="text-align:left" id="table"></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<table class="table"> <table class="table">

View File

@@ -47,7 +47,7 @@ Rails.application.routes.draw do
resources :bookings, only: [:index, :show, :create, :update] resources :bookings, only: [:index, :show, :create, :update]
resources :customers, only: [:index, :show, :create, :update] resources :customers, only: [:index, :show, :create, :update]
get "update_booking" , to: "bookings#update_booking", as: "update_booking" post "update_booking" , to: "bookings#update_booking", as: "update_booking"
#Generating Invoice and making payments - output render @sale #Generating Invoice and making payments - output render @sale
resources :invoices, only: [:index, :show, :create, :update, :destroy ] do resources :invoices, only: [:index, :show, :create, :update, :destroy ] do