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

This commit is contained in:
Nweni
2017-06-27 10:28:58 +06:30
36 changed files with 498 additions and 220 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -29,7 +29,12 @@ class Api::BillController < Api::ApiController
@sale_items = SaleItem.where("sale_id=?",@sale_id)
unique_code = "ReceiptBillPdf"
#shop detail
shop_details = Shop.find(1)
customer= Customer.where('customer_id=' + @sale_data.customer_id)
# get member information
member_info = Customer.get_member_account(customer)
# get printer info
print_settings=PrintSetting.find_by_unique_code(unique_code)
@@ -38,7 +43,7 @@ class Api::BillController < Api::ApiController
item_price_by_accounts = SaleItem.calculate_price_by_accounts(@sale_items)
printer = Printer::ReceiptPrinter.new(print_settings)
printer.print_receipt_bill(print_settings,@sale_items,@sale_data,customer.name, item_price_by_accounts)
printer.print_receipt_bill(print_settings,@sale_items,@sale_data,customer.name, item_price_by_accounts, member_info, shop_details)
end

View File

@@ -30,7 +30,9 @@ class ApplicationController < ActionController::Base
end
def current_login_employee
@employee = Employee.find_by_token_session(session[:session_token])
if (!session[:session_token].nil?)
@employee = Employee.find_by_token_session(session[:session_token])
end
end
private

View File

@@ -1,10 +1,30 @@
class HomeController < ApplicationController
skip_before_action :authenticate, only: [:index, :create, :destroy]
skip_before_action :authenticate, only: [:index, :show, :create, :update, :destroy]
def index
@employees = Employee.all.order("name asc")
@login_form = LoginForm.new()
end
def show
@login_form = LoginForm.new()
@login_form.emp_id = params[:emp_id]
end
def update
@login_form = LoginForm.new()
@login_form.emp_id = params[:emp_id]
@login_form.password = params[:login_form][:password]
@employee = Employee.login(@login_form.emp_id, @login_form.password)
if @employee != nil
session[:session_token] = @employee.token_session
redirect_to origami_root_path
else
render :show, flash[:notice] => "Invalid PIN for Employee. Please try again!"
end
end
def create
@login_form = LoginForm.new()
@login_form.emp_id = params[:login_form][:emp_id]
@@ -27,9 +47,9 @@ class HomeController < ApplicationController
else
render :index
end
else
else
redirect_to origami_root_path, :notice => "Username and Password dosn't match!"
end
end
end

View File

@@ -118,6 +118,6 @@ class Oqs::HomeController < BaseOqsController
left join bookings as bk on bk.booking_id = bo.booking_id
left join dining_facilities as df on df.id = bk.dining_facility_id")
.where("assigned_order_items.delivery_status = #{status}")
.group("odt.order_items_id")
.group("assigned_order_items.assigned_order_item_id")
end
end

View File

@@ -17,6 +17,8 @@ class Origami::PaymentsController < BaseOrigamiController
unique_code = "ReceiptBillPdf"
customer= Customer.find(saleObj.customer_id)
rebate_amount = Customer.get_membership_transactions(customer)
#shop detail
shop_details = Shop.find(1)
# get member information
member_info = Customer.get_member_account(customer)
@@ -26,7 +28,7 @@ class Origami::PaymentsController < BaseOrigamiController
item_price_by_accounts = SaleItem.calculate_price_by_accounts(saleObj.sale_items)
printer = Printer::ReceiptPrinter.new(print_settings)
printer.print_receipt_bill(print_settings,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, member_info,rebate_amount)
printer.print_receipt_bill(print_settings,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, member_info,rebate_amount,shop_details)
end
end
@@ -52,8 +54,8 @@ class Origami::PaymentsController < BaseOrigamiController
@accountable_type = ''
if response["status"]==true
response["data"].each do |res|
if res["accountable_type"] == "RebateAccount"
@balance = res["balance"]
if res["accountable_type"] == "RebateAccount" || res["accountable_type"] == "RebatebonusAccount"
@balance += res["balance"]
# @accountable_type = res["accountable_type"]
@accountable_type = "Rebate Balance"
end
@@ -92,6 +94,8 @@ class Origami::PaymentsController < BaseOrigamiController
unique_code = "ReceiptBillPdf"
customer= Customer.find(saleObj.customer_id)
#shop detail
shop_details = Shop.find(1)
# get member information
member_info = Customer.get_member_account(customer)
rebate_amount = Customer.get_membership_transactions(customer)
@@ -102,7 +106,7 @@ class Origami::PaymentsController < BaseOrigamiController
item_price_by_accounts = SaleItem.calculate_price_by_accounts(saleObj.sale_items)
printer = Printer::ReceiptPrinter.new(print_settings)
printer.print_receipt_bill(print_settings,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, member_info,rebate_amount)
printer.print_receipt_bill(print_settings,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, member_info,rebate_amount,shop_details)
end

View File

@@ -21,8 +21,9 @@ class Origami::RequestBillsController < BaseOrigamiController
end
unique_code = "ReceiptBillPdf"
#shop detail
shop_details = Shop.find(1)
# customer= Customer.where('customer_id=' +.customer_id)
customer= Customer.find(@sale_data.customer_id)
# get member information
member_info = Customer.get_member_account(customer)
@@ -37,7 +38,7 @@ class Origami::RequestBillsController < BaseOrigamiController
printer = Printer::ReceiptPrinter.new(print_settings)
printer.print_receipt_bill(print_settings,@sale_items,@sale_data,customer.name, item_price_by_accounts,member_info)
printer.print_receipt_bill(print_settings,@sale_items,@sale_data,customer.name, item_price_by_accounts,member_info,shop_details)
# redirect_to origami_path(@sale_data.sale_id)
end

View File

@@ -0,0 +1,18 @@
class Transactions::CreditNotesController < ApplicationController
before_action :set_transactions_sale, only: [:show, :edit, :update, :destroy]
# GET /transactions/sales
# GET /transactions/sales.json
def index
@sales = Sale.where('payment_status = ?', Sale::SALE_STATUS_OUTSTANDING)
respond_to do |format|
format.html # index.html.erb
format.json { render json: @sales }
end
end
end

View File

@@ -1,2 +1,11 @@
module ApplicationHelper
def flash_class(level)
case level
when :notice then "alert alert-info fade-in"
when :success then "alert alert-success fade-in"
when :error then "alert alert-error fade-in"
when :alert then "alert alert-error fade-in"
end
end
end

View File

@@ -20,9 +20,9 @@ class Ability
can :manage, Zone
can :manage, CashierTerminal
can :manage, Employee
can :manage, MembershipSetting
can :manage, MembershipAction
can :manage, PaymentMethodSetting
# can :manage, MembershipSetting
# can :manage, MembershipAction
# can :manage, PaymentMethodSetting
can :manage, TaxProfile
can :manage, PrintSetting
can :manage, Account
@@ -30,9 +30,26 @@ class Ability
can :manage, Order
can :manage, Sale
can :manage, Customer
can :index, :dailysale
can :index, :saleitem
can :add_customer, Customer
can :update_sale_by_customer, Customer
can :index, :discount
can :create, :discount
can :show, :payment
can :create, :payment
can :reprint, :payment
can :move_dining, :movetable
can :moving, :movetable
can :move_dining, :moveroom
elsif user.role == "cashier"
can :read, Order

View File

@@ -13,9 +13,9 @@ class Employee < ApplicationRecord
def self.login(emp_id, password)
user = Employee.find_by_emp_id(emp_id)
if (user)
user.authenticate(password)
#user.authenticate(password)
if (user)
if (user.authenticate(password))
user.generate_token
user.session_expiry = DateTime.now.utc + 30.minutes
user.session_last_login = DateTime.now.utc

View File

@@ -45,9 +45,11 @@ class OrderQueueStation < ApplicationRecord
end
# Auto Printing
# ToDo per item per printer
if oqs.auto_print && is_auto_printed == false
print_slip(oqs, order, oqs_order_items)
is_auto_printed = true
if oqs.auto_print && is_auto_printed == false
if oqs_order_items.length > 0
print_slip(oqs, order, oqs_order_items)
is_auto_printed = true
end
end
end
end
@@ -59,7 +61,7 @@ class OrderQueueStation < ApplicationRecord
print_settings=PrintSetting.find_by_unique_code(unique_code)
order_queue_printer= Printer::OrderQueuePrinter.new(print_settings)
order_queue_printer.print_order_summary(oqs,order.order_id, print_status="")
order_queue_printer.print_order_summary(oqs,order.order_id, order_items, print_status="")
AssignedOrderItem.where("order_id = '#{ order.order_id }'").find_each do |ai|
# update print status for order items

View File

@@ -22,14 +22,14 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
end
# Query for per order
def print_order_summary(oqs, order_id, print_status)
def print_order_summary(oqs, order_id, order_items, print_status)
#Use CUPS service
#Generate PDF
#Print
#Print
order=print_query('order_summary', order_id)
# For Print Per Item
if oqs.cut_per_item
order.each do|odi|
order_items.each do|odi|
filename = "tmp/order_item_#{odi.item_name}" + ".pdf"
# For Item Options
options = odi.options == "[]"? "" : odi.options
@@ -46,7 +46,7 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
# For Print Order Summary
else
filename = "tmp/order_summary_#{ order_id }" + ".pdf"
pdf = OrderSummaryPdf.new(order, print_status)
pdf = OrderSummaryPdf.new(order, print_status, order_items)
pdf.render_file filename
if oqs.print_copy
self.print(filename, oqs.printer_name)

View File

@@ -65,11 +65,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end
#Bill Receipt Print
def print_receipt_bill(printer_settings,sale_items,sale_data, customer_name, item_price_by_accounts, member_info = nil,rebate_amount=nil)
def print_receipt_bill(printer_settings,sale_items,sale_data, customer_name, item_price_by_accounts, member_info = nil,rebate_amount=nil,shop_details)
#Use CUPS service
#Generate PDF
#Print
pdf = ReceiptBillPdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, member_info,rebate_amount)
pdf = ReceiptBillPdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, member_info,rebate_amount,shop_details)
pdf.render_file "tmp/receipt_bill.pdf"
self.print("tmp/receipt_bill.pdf")

View File

@@ -22,7 +22,7 @@ class Sale < ApplicationRecord
"monthly" => 1,
"yearly" => 2
}
SALE_STATUS_OUTSTANDING = "outstanding"
SALE_STATUS_COMPLETED = "completed"
def generate_invoice_from_booking(booking_id, requested_by)

View File

@@ -18,8 +18,8 @@ class OrderItemPdf < Prawn::Document
# font "public/fonts/#{font_name}".to_s + ".ttf".to_s
# font "public/fonts/Zawgyi-One.ttf"
# font "public/fonts/padauk.ttf"
self.header_font_size = 14
self.item_font_size = 12
self.header_font_size = 12
self.item_font_size = 10
text "#{ order_item.type + '-' + order_item.dining + print_status }", :size => self.header_font_size,:align => :center, :left_margin => -20
stroke_horizontal_rule

View File

@@ -1,6 +1,6 @@
class OrderSummaryPdf < Prawn::Document
attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width
def initialize(order, print_status)
def initialize(order, print_status, order_items = nil)
self.page_width = 210
self.page_height = 1450
self.margin = 5
@@ -28,8 +28,11 @@ class OrderSummaryPdf < Prawn::Document
order_info(order[0].order_id, order[0].order_by,order[0].order_at)
# order items
order_items(order)
if order_items == nil
order_items(order)
else
order_items(order_items)
end
end
# Write Order Information to PDF
@@ -73,6 +76,7 @@ class OrderSummaryPdf < Prawn::Document
#Add Order Item
add_order_items(order_item)
end
# Add order items under order info
@@ -89,11 +93,11 @@ class OrderSummaryPdf < Prawn::Document
# text_box "#{odi.qty}", :at =>[self.item_width,y_position], :width => self.qty_width, :height =>self.item_height, :size => self.item_font_size, :align => :center, :overflow => :shrink_to_fix
# }
bounding_box([0,y_position], :width => self.item_width) do
text "#{odi.item_name}", :size => self.item_font_size,:align => :left, :height => self.item_height
text "#{odi.item_name}", :size => self.item_font_size,:align => :left
end
bounding_box([self.item_width,y_position], :width => self.qty_width) do
text "#{odi.qty}", :size => self.item_font_size,:align => :left, :height => self.item_height
text "#{odi.qty}", :size => self.item_font_size,:align => :left
end
move_down 5
@@ -109,6 +113,10 @@ class OrderSummaryPdf < Prawn::Document
move_down 5
end
dash(1, :space => 1, :phase => 1)
stroke_horizontal_line 0, (self.page_width - self.margin)
move_down 5
end
end

View File

@@ -1,6 +1,6 @@
class ReceiptBillPdf < Prawn::Document
attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width
def initialize(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, member_info = nil,rebate_amount = nil)
def initialize(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, member_info = nil,rebate_amount = nil,shop_details)
self.page_width = 210
self.page_height = 2500
self.margin = 5
@@ -24,7 +24,7 @@ class ReceiptBillPdf < Prawn::Document
self.header_font_size = 10
self.item_font_size = 8
header( "Beauty In the Pot", printer_settings.name)
header( shop_details)
stroke_horizontal_rule
@@ -44,12 +44,15 @@ class ReceiptBillPdf < Prawn::Document
footer
end
def header (printer_name, name)
text "#{printer_name}", :left_margin => -10, :size => self.header_font_size,:align => :center
def header (shop_details)
move_down 7
text "#{shop_details.name}", :left_margin => -10, :size => self.header_font_size,:align => :center
move_down 5
text "#{name}", :size => self.header_font_size,:align => :center
text "#{shop_details.address}", :size => self.item_font_size,:align => :center
# move_down self.item_height
move_down 5
text "#{shop_details.phone_no}", :size => self.item_font_size,:align => :center
move_down 5
stroke_horizontal_rule
end
@@ -264,22 +267,23 @@ class ReceiptBillPdf < Prawn::Document
end
end
if member_info["status"] == true
balance = 0.0
member_info["data"].each do |res|
if res["accountable_type"]== "RebateAccount"
move_down 5
y_position = cursor
bounding_box([0,y_position], :width =>self.item_description_width, :height => self.item_height) do
text "Current Balance", :size => self.item_font_size,:align => :left
end
bounding_box([self.item_description_width,y_position], :width =>self.label_width) do
text "#{ res["balance"] }" , :size => self.item_font_size,:align => :right
end
if res["accountable_type"] == "RebateAccount" || res["accountable_type"] == "RebatebonusAccount"
balance = balance + res["balance"]
end
end
move_down 5
y_position = cursor
bounding_box([0,y_position], :width =>self.item_description_width, :height => self.item_height) do
text "Current Balance", :size => self.item_font_size,:align => :left
end
bounding_box([self.item_description_width,y_position], :width =>self.label_width) do
text "#{ balance }" , :size => self.item_font_size,:align => :right
end
end
end

View File

@@ -47,7 +47,7 @@
<tbody>
<% @i = 0 %>
<% @crm_customers.each do |crm_customer| %>
<% if crm_customer.customer_id != "CUS-000000000001" && crm_customer.customer_id != "CUS-000000000002" %>
<% if crm_customer.customer_id != "CUS-00001" && crm_customer.customer_id != "CUS-000000000" %>
<tr class="customer_tr" data-ref="<%= crm_customer.customer_id %>">
<td>
<input type="radio" style="width:20px;" name="checkbox" class="checkbox_check" ></td>

View File

@@ -55,9 +55,8 @@
<div class="table-responsive">
<table class="table table-striped">
<thead>
<% puts "'''''''''''''''''''"
puts @response
if @response["status"] == true %>
<%
if @response["data"].present? %>
<tr>
<th colspan="5">Membership Transactions</th>
<% if @response["status"] == true %>

View File

@@ -1,7 +1,7 @@
<!--
<div class="row">
<div class="col-md-4 col-sm-6 col-md-offset-4 col-sm-offset-3">
<%= simple_form_for(@login_form, url: login_path, method: "POST") do |f| %>
<%= simple_form_for(@login_form, url: login_path, method: "POST") do |f| %>
<div class="card">
<h4 class="card-title text-center" style="margin:10px">Login</h4>
<div class="content" style="margin:10px">
@@ -22,4 +22,40 @@
<% end %>
</div>
</div> -->
<div class="row">
<div class="col-md-12 col-lg-12">
<div class="card-deck">
<% @employees.each do |employee| %>
<div data-formid="#form_<%= employee.emp_id %>" class="empBtn card card-inverse card-primary mb-3 text-center" style="width: 15rem;height:15rem;">
<form id="form_<%=employee.emp_id%>" action="<%= emp_login_path(employee.emp_id) %>" method="PATCH"></form>
<div class="card-block">
<h4 class="card-title">
<%= employee.name %>
</h4>
<div class="card-content">
(<%= employee.emp_id%>)
</div>
<div class="card-footer">
<small><%= employee.role %></small>
</div>
</div>
</div>
<% end %>
</div>
</div>
</div>
<script type="text/javascript">
$(document).on('turbolinks:load', function() {
$(".empBtn").click(function(event){
event.preventDefault();
console.log($(this).data("formid"));
var item = $(this).data("formid");
$(item).submit();
});
});
</script>

View File

@@ -0,0 +1,68 @@
<style>
.pin_pad {
width:10rem;
height:10rem;
text-align: center;
vertical-align: middle;
line-height: 10rem;
margin:2px;
margin-top:4px;
margin-bottom:4px;
font-size:3rem;
}
</style>
<div class="row">
<div class="col-md-4 col-sm-6 col-md-offset-4 col-sm-offset-3">
<%= simple_form_for(@login_form, url: emp_login_update_path, method: "PATCH") do |f| %>
<div class="card">
<div class="content" style="margin:10px">
<div class="form-group">
<%= f.input :emp_id,as: :hidden, label: "Access PIN", required: false, class: "form-control" %>
<%= f.input :password, label: "Access PIN", required: false, class: "form-control" %>
</div>
</div>
<div class="content" style="margin:10px; margin-top:0px; text-align:center">
<button class="pin_pad" data-value="1">1</button>
<button class="pin_pad" data-value="2">2</button>
<button class="pin_pad" data-value="3">3</button>
<button class="pin_pad" data-value="4">4</button>
<button class="pin_pad" data-value="5">5</button>
<button class="pin_pad" data-value="6">6</button>
<button class="pin_pad" data-value="7">7</button>
<button class="pin_pad" data-value="8">8</button>
<button class="pin_pad" data-value="9">9</button>
<button class="pin_pad" data-value="CLR">CLR</button>
<button class="pin_pad" data-value="8">0</button>
<button class="pin_pad btn-warning" data-value="ENT">ENT</button>
</div>
<div class="footer text-center" style="margin:10px">
</div>
</div>
<% end %>
</div>
</div>
<script type="text/javascript">
$(document).on('turbolinks:load', function() {
$(".pin_pad").click(function(event){
event.preventDefault();
console.log($(this).data("value"));
var value = $(this).data("value");
if (value == "CLR") {
$("#login_form_password").val("");
} else if(value == "ENT") {
$("#new_login_form").submit();
} else {
var old_value = $("#login_form_password").val();
$("#login_form_password").val(old_value + value);
}
});
});
</script>

View File

@@ -33,6 +33,7 @@
<ul class="dropdown-menu">
<li><%= link_to "Orders ", transactions_orders_path, :tabindex =>"-1" %></li>
<li><%= link_to "Sales ", transactions_sales_path, :tabindex =>"-1" %></li>
<!-- <li><%= link_to "Sales ", transactions_credit_notes_path, :tabindex =>"-1" %></li> -->
</ul>
</li>
<li class="navbar-nav mr-auto dropdown">

View File

@@ -41,7 +41,7 @@
<% if @crm_customers.count > 0 %>
<% @i = 0 %>
<% @crm_customers.each do |crm_customer| %>
<% if crm_customer.customer_id != "CUS-000000000001" && crm_customer.customer_id != "CUS-000000000002" %>
<% if crm_customer.customer_id != "CUS-00000" && crm_customer.customer_id != "CUS-00000000" %>
<tr class="customer_tr" data-ref="<%= crm_customer.customer_id %>">
<td>
<input type="radio" style="width:20px;" name="checkbox" class="checkbox_check" ></td>

View File

@@ -1,6 +1,6 @@
<div class="page-header">
<ul class="breadcrumb">
<li><a href="<%= %>">Home</a></li>
<li><a href="<%= dashboard_path %>">Home</a></li>
<li>Daily Sale Report</li>
</ul>
</div>

View File

@@ -1,6 +1,6 @@
<div class="page-header">
<ul class="breadcrumb">
<li><a href="<%= %>">Home</a></li>
<li><a href="<%= dashboard_path %>">Home</a></li>
<li>Daily Sale Report</li>
</ul>
</div>

View File

@@ -1,6 +1,6 @@
<div class="page-header">
<ul class="breadcrumb">
<li><a href="<%= %>">Home</a></li>
<li><a href="<%= dashboard_path %>">Home</a></li>
<li>Receipt List Report</li>
</ul>
</div>

View File

@@ -1,6 +1,6 @@
<div class="page-header">
<ul class="breadcrumb">
<li><a href="<%= %>">Home</a></li>
<li><a href="<%= dashboard_path %>">Home</a></li>
<li>Daily Sale Report</li>
</ul>
</div>

View File

@@ -1,6 +1,6 @@
<div class="page-header">
<ul class="breadcrumb">
<li><a href="<%= %>">Home</a></li>
<li><a href="<%= dashboard_path %>">Home</a></li>
<li>Daily Sale Report</li>
</ul>
</div>
@@ -11,13 +11,13 @@
<hr />
</div>
<div class="container">
<!-- <div class="container">
<div class="row">
<div class="col-md-12 text-right">
<a href="javascript:export_to('<%=reports_sale_items_path%>.xls')" class = "btn btn-default">Export to Excel</a>
</div>
</div>
</div>
</div> -->
<div class="container margin-top-20">
<div class="card row">

View File

@@ -0,0 +1,70 @@
<div class="row">
<div class="col-lg-12">
<ol class="breadcrumb">
<li><a href="<%= crm_root_path %>">Home</a></li>
<li class="active">
<a href="<%= transactions_credit_notes_path %>">Credit Note</a>
</li>
</ol>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="main-box-body clearfix">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>Sale Id </th>
<th>Receipt no </th>
<th>Credit Amount</th>
<th>Cashier</th>
<th>Customer Name</th>
<th>Receipt Date</th>
</tr>
</thead>
<tbody>
<% @sales.each do |sale| %>
<tr>
<td><%= link_to sale.sale_id, transactions_sale_path(sale) %></td>
<td><%= sale.receipt_no %></td>
<td><%credit = SalePayment.where('sale_id = ? AND payment_method=?', sale.sale_id,"creditnote").first %>
<%= credit.payment_amount rescue '-' %>
</td>
<td><%= sale.cashier_name rescue '-' %></td>
<td><%= link_to sale.customer.name, crm_customer_path(sale.customer_id) %></td>
<td> <%= sale.receipt_date.strftime("%d-%m-%Y") %> </td>
</tr>
<% end %>
</tbody>
</table>
<br>
</div>
</div>
</div>
</div>
<!--
<script type="text/javascript">
$(function () {
$('.datepicker').datepicker({
format : 'dd-mm-yyyy',
autoclose: true
});
$('.datepicker').attr('ReadOnly','true');
$('.datepicker').css('cursor','pointer');
});
</script> -->