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

* 'august_spring' of bitbucket.org:code2lab/sxrestaurant:
  Dining Charges Bug Fix
  InJutyIndexform
This commit is contained in:
Zin Lin Phyo
2017-08-28 09:47:06 +06:30
7 changed files with 177 additions and 131 deletions

View File

@@ -9,7 +9,8 @@ class Origami::InJutiesController < BaseOrigamiController
def index_in_juty
@juties_in= InJuty.where("dinning_id=?",params[:table_id])
@table = params[:table_id]
@table = DiningFacility.find(params[:table_id])
@in_juty = InJuty.new
end
# GET /in_juties/1
@@ -24,9 +25,11 @@ class Origami::InJutiesController < BaseOrigamiController
# GET /in_juties/1/edit
def edit
end
def edit_in_juty
@in_juty = InJuty.find(params[:id])
@table = DiningFacility.find(params[:table_id])
end
@@ -52,11 +55,23 @@ class Origami::InJutiesController < BaseOrigamiController
def create_for_in_juty
@in_juty = InJuty.new
@in_juty.dinning_id = params[:dining_id]
@in_juty.commissioner_ids = params[:commissioner_ids]
@in_juty.in_time = params[:in_time]
@in_juty.out_time = params[:out_time]
@in_juty.save
@in_juty.dinning_id = in_juty_params[:dinning_id]
@in_juty.commissioner_ids = in_juty_params[:commissioner_ids]
@in_juty.in_time = in_juty_params[:in_time]
@in_juty.out_time = in_juty_params[:out_time]
respond_to do |format|
if @in_juty.save
format.html { redirect_to origami_index_in_juty_path(in_juty_params[:dinning_id]), notice: 'In juty was successfully created.' }
format.json { render :show, status: :created, location: @in_juty }
else
format.html { render :new }
format.json { render json: @in_juty.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /in_juties/1

View File

@@ -51,6 +51,10 @@ class Settings::DiningChargesController < ApplicationController
respond_to do |format|
@dining_charge.dining_facility_id = @settings_dining_facility.id
if @dining_charge.update(dining_charge_params)
# @dining_charge.minimum_free_time = @dining_charge.minimum_free_time.to_datetime.advance(hours: +6, minutes: +30)
# @dining_charge.charge_block = @dining_charge.charge_block.to_datetime.advance(hours: +6, minutes: +30)
# @dining_charge.time_rounding_block = @dining_charge.time_rounding_block.to_datetime.advance(hours: +6, minutes: +30)
# @dining_charge.save
if @table
format.html { redirect_to edit_settings_zone_table_path(@zone,@settings_dining_facility), notice: 'Dining charge was successfully updated.' }
else

View File

@@ -146,7 +146,7 @@ class Promotion < ApplicationRecord
sale_item.sale_id = sale_id
sale_item.save
sale = Sale.find(sale_id).
sale = Sale.find(sale_id)
sale.compute_by_sale_items(sale.id, sale.sale_items, sale.total_discount)
end
@@ -207,6 +207,7 @@ class Promotion < ApplicationRecord
return item[1]
end
end
return 0
end
def self.calculate_discount(total, discount)

View File

@@ -1,8 +1,9 @@
<div class="col-md-3">
<%= simple_form_for([:origami,@in_juty]) do |f| %>
<%= simple_form_for @in_juty,:url => origami_create_for_in_juty_path, :method => :post do |f| %>
<span class="patch_method"></span>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.hidden_field :dinning_id,:value => @table.id, :class => "form-control col-md-6 " %>
<label>Dining Name:</label>
<%= @table.name %>
<br/>
@@ -15,18 +16,15 @@
<label>Out time</label>
<%= f.text_field :out_time, :value=>DateTime.now.strftime("%Y-%m-%d / %I:%M %p"),:class=>"form-control datepicker"%>
</div><br>
<div class="form-actions">
<div class='row'>
<div class="col-md-2">
<%= link_to 'Back', origami_index_in_juty_path(@table.id), class: 'btn btn-success' %>
</div>
<div class="col-md-10">
<button type="button" class="btn btn-primary btn-block" id='in_juty'>Create In Juty</button>
</div>
</div>
<div class="form-group">
<%= f.button :submit, "Create",:class => 'btn btn-primary ', :id => 'create' %>
<%= f.button :submit, "Update",:class => 'btn btn-primary ', :disabled =>'disabled', :id => 'update' %>
<%= f.button :button, "Reset",:class => 'btn btn-danger ', :id => 'reset' %>
</div>
<% end %>
</div>
<script type="text/javascript">
@@ -39,20 +37,4 @@ $(function() {
$('.datepicker').css('cursor','pointer');
});
$('#in_juty').on('click', function () {
var ajax_url = "/origami/assign_in_juty";
var commissioner_ids = $('#in_juty_commissioner_ids').val();
var in_time = $('#in_juty_in_time').val();
var out_time = $('#in_juty_out_time').val();
var dining_id = '<%= @table.id %>'
$.ajax({
type: "POST",
url: ajax_url,
data: 'dining_id=' + dining_id + "&commissioner_ids=" + commissioner_ids +'&in_time=' + in_time + "&out_time=" + out_time,
success: function (result) {
window.location.href = '/origami/assign_in_juty/'+ dining_id;
}
});
})
</script>

View File

@@ -1,59 +1,14 @@
<div class="col-md-3">
<%= simple_form_for([:origami,@in_juty]) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<label>Dining Name:</label>
<%= @table.name %>
<br/>
<br/>
<label>Commissioner Name:</label>
<%= f.collection_select :commissioner_ids, Commissioner.all, :id, :name, {class: 'form-control'} ,:value => @in_juty.commissioner.name %><br/><br/>
<label>In time</label>
<%= f.text_field :in_time, :value=>DateTime.now.strftime("%Y-%m-%d / %I:%M %p"),:class=>"form-control datepicker" ,:value => @in_juty.in_time %><br/>
<label>Out time</label>
<%= f.text_field :out_time, :value=>DateTime.now.strftime("%Y-%m-%d / %I:%M %p"),:class=>"form-control datepicker" ,:value => @in_juty.out_time %>
</div><br>
<%= f.input :dinning_id %>
<%= f.input :commissioner_ids %>
<%= f.input :in_time %>
<%= f.input :out_time %>
</div>
<div class="form-actions">
<div class='row'>
<div class="col-md-2">
<%= link_to 'Back', origami_index_in_juty_path(@table.id), class: 'btn btn-success' %>
</div>
<div class="col-md-10">
<button type="button" class="btn btn-primary btn-block" id='in_juty'>Update In Juty</button>
</div>
<%= f.button :submit %>
</div>
</div>
<% end %>
</div>
<script type="text/javascript">
$(function() {
$('.datepicker').datepicker({
format : 'dd-mm-yyyy',
autoclose: true
});
$('.datepicker').attr('ReadOnly','true');
$('.datepicker').css('cursor','pointer');
});
$('#in_juty').on('click', function () {
var id = '<%= @in_juty.id %>'
var ajax_url = "/origami/edit_in_juty/" + id;
var commissioner_ids = $('#in_juty_commissioner_ids').val();
var in_time = $('#in_juty_in_time').val();
var out_time = $('#in_juty_out_time').val();
var dining_id = '<%= @table.id %>'
$.ajax({
type: "PUT",
url: ajax_url,
data: 'dining_id=' + dining_id + "&commissioner_ids=" + commissioner_ids +'&in_time=' + in_time + "&out_time=" + out_time + "&table_id=" + dining_id,
success: function (result) {
window.location.href = '/origami/assign_in_juty/'+ dining_id;
}
});
})
</script>
<% end %>

View File

@@ -2,5 +2,63 @@
<div class="page-header">
<h3>Create In Juty</h3>
</div>
<%= render 'assign_in_juty', in_juty: @in_juty %>
</div>
<div class="col-md-3">
<%= simple_form_for([:origami,@in_juty]) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<label>Dining Name:</label>
<%= @table.name %>
<br/>
<br/>
<label>Commissioner Name:</label>
<%= f.collection_select :commissioner_ids, Commissioner.all, :id, :name, {prompt: 'Select Commissioner'}, {class: 'form-control'} %><br/><br/>
<label>In time</label>
<%= f.text_field :in_time, :value=>DateTime.now.strftime("%Y-%m-%d / %I:%M %p"),:class=>"form-control datepicker"%><br/>
<label>Out time</label>
<%= f.text_field :out_time, :value=>DateTime.now.strftime("%Y-%m-%d / %I:%M %p"),:class=>"form-control datepicker"%>
</div><br>
<div class="form-actions">
<div class='row'>
<div class="col-md-2">
<%= link_to 'Back', origami_index_in_juty_path(@table.id), class: 'btn btn-success' %>
</div>
<div class="col-md-10">
<button type="button" class="btn btn-primary btn-block" id='in_juty'>Create In Juty</button>
</div>
</div>
</div>
<% end %>
</div>
</div>
<script type="text/javascript">
$(function() {
$('.datepicker').datepicker({
format : 'dd-mm-yyyy',
autoclose: true
});
$('.datepicker').attr('ReadOnly','true');
$('.datepicker').css('cursor','pointer');
});
$('#in_juty').on('click', function () {
var ajax_url = "/origami/assign_in_juty";
var commissioner_ids = $('#in_juty_commissioner_ids').val();
var in_time = $('#in_juty_in_time').val();
var out_time = $('#in_juty_out_time').val();
var dining_id = '<%= @table.id %>'
$.ajax({
type: "POST",
url: ajax_url,
data: 'dining_id=' + dining_id + "&commissioner_ids=" + commissioner_ids +'&in_time=' + in_time + "&out_time=" + out_time,
success: function (result) {
window.location.href = '/origami/assign_in_juty/'+ dining_id;
}
});
})
</script>

View File

@@ -1,48 +1,79 @@
<div class="page-header">
<ul class="breadcrumb">
<li><a href="<%= origami_root_path %>">Home</a></li>
<li>In Juties</li>
<span style="float: right">
<%= link_to t('.new', :default => t("helpers.links.new")), origami_assign_in_juty_path, :class => 'btn btn-primary btn-sm', :flag => 'new' %>
</span>
</ul>
<div class="row">
<div class="col-md-8">
<table class="table table-striped">
<thead>
<tr>
<th>Dining Facility Name</th>
<th>Commissioner Ids</th>
<th>In time</th>
<th>Out time</th>
<th colspan="2"></th>
</tr>
</thead>
<tbody>
<% @juties_in.each do |in_juty| %>
<tr class="injuty_tr" data-ref="<%= in_juty.id %>">
<td>
<input type="radio" style="width:20px;" name="checkbox" class="checkbox_check" ></td>
<td><%= in_juty.dining_facility.name rescue '-' %></td>
<td><%= in_juty.commissioner.name rescue '-' %></td>
<td><%= in_juty.in_time.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") rescue '-' %></td>
<td><%= in_juty.out_time.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") rescue '-' %></td>
<td><%= link_to 'Back', origami_path(in_juty.dining_facility.id) %></td>
<td><%= link_to 'Edit', origami_edit_in_juty_path(in_juty.dining_facility.id,in_juty) %></td>
<td><%= link_to 'Destroy', origami_destroy_in_juty_path(in_juty.dining_facility.id,in_juty),method: :delete, data: {confirm: 'Are you sure?'} %></td>
</tr>
<% end %>
</tbody>
</table>
</div>
<div class="col-md-4">
<%= render 'assign_in_juty', in_juty: @in_juty ,table: @table %>
</div>
</div>
<br>
<div class="card">
<table class="table table-striped">
<thead>
<tr>
<th>Dining Facility Name</th>
<th>Commissioner Ids</th>
<th>In time</th>
<th>Out time</th>
<th colspan="2"></th>
</tr>
</thead>
<tbody>
<% @juties_in.each do |in_juty| %>
<tr>
<td><%= in_juty.dining_facility.name rescue '-' %></td>
<td><%= in_juty.commissioner.name rescue '-' %></td>
<td><%= in_juty.in_time.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") rescue '-' %></td>
<td><%= in_juty.out_time.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") rescue '-' %></td>
<td><%= link_to 'Back', origami_path(in_juty.dining_facility.id) %></td>
<td><%= link_to 'Edit', origami_edit_in_juty_path(in_juty.dining_facility.id,in_juty) %></td>
<td><%= link_to 'Destroy', origami_destroy_in_juty_path(in_juty.dining_facility.id,in_juty),method: :delete, data: {confirm: 'Are you sure?'} %></td>
</tr>
<% end %>
</tbody>
</table>
</div>
<script type="text/javascript">
$(document).on('click',".injuty_tr",function(){
debugger;
// if(this.checked){
$(this).closest('tr').find('.checkbox_check').prop( "checked", true );
//$( "#checkbox_check" ).prop( "checked", true );
var in_juty_id = $(this).attr('data-ref');
var table_id = "<%= @table.id %>";
var url = "/origami/table/" + table_id + "/in_juty/" + in_juty_id + "/edit";
$('#destroy').on('click', function () {
var dining_id = '<%= @table %>'
alert(dining_id);
})
$.ajax({
type: "GET",
url: url,
data: {},
dataType: "json",
success: function(data) {
// Selected for Taxes
$('#in_juty_commissioner_ids').val(data.commissioner.name);
$('#in_juty_in_time').val(data.in_time);
$('#in_juty_out_time').val(data.out_time);
$('#update').removeAttr('disabled');
$('#update').attr('value', 'Update');
$('#create').attr('disabled','disabled');
$("#new_in_juty").attr('class', 'simple_form new_in_juty');
var id = customer_id;
$("#new_customer").attr('id', id);
$(".edit_customer").attr('id', id);
$(".edit_customer").attr('action', '/crm/customers/' + $('#customer_id').val());
$(".edit_customer").attr('action', '/crm/customers/' + $('#customer_id').val());
$(".patch_method").html('<input type="hidden" name="_method" value="patch">');
}
});
// }else{
// }
})
</script>