added induties
This commit is contained in:
@@ -35,6 +35,7 @@
|
|||||||
//= require BSBMaterial/demo.js
|
//= require BSBMaterial/demo.js
|
||||||
//= require custom.js
|
//= require custom.js
|
||||||
//= require jquery-fileupload/basic
|
//= require jquery-fileupload/basic
|
||||||
|
//= require induties/induties.js
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$('.count-to').countTo();
|
$('.count-to').countTo();
|
||||||
|
|||||||
3
app/assets/javascripts/induties/assign_in_duties.coffee
Normal file
3
app/assets/javascripts/induties/assign_in_duties.coffee
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Place all the behaviors and hooks related to the matching controller here.
|
||||||
|
# All this logic will automatically be available in application.js.
|
||||||
|
# You can use CoffeeScript in this file: http://coffeescript.org/
|
||||||
0
app/assets/javascripts/induties/induties.js
Normal file
0
app/assets/javascripts/induties/induties.js
Normal file
@@ -11,6 +11,7 @@
|
|||||||
@import "BSBMaterial/style";
|
@import "BSBMaterial/style";
|
||||||
@import "BSBMaterial/themes/all-themes";
|
@import "BSBMaterial/themes/all-themes";
|
||||||
@import "reset";
|
@import "reset";
|
||||||
|
@import "induties/assign_in_duties";
|
||||||
|
|
||||||
/*@import "bootstrap-select/css/bootstrap-select.min";*/
|
/*@import "bootstrap-select/css/bootstrap-select.min";*/
|
||||||
|
|
||||||
|
|||||||
92
app/assets/stylesheets/induties/assign_in_duties.scss
Normal file
92
app/assets/stylesheets/induties/assign_in_duties.scss
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
// Place all the styles related to the induties/assign_in_duties controller here.
|
||||||
|
// They will automatically be included in application.css.
|
||||||
|
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||||
|
|
||||||
|
.custom-card-head{
|
||||||
|
height: 40px;
|
||||||
|
background-color: grey;
|
||||||
|
color :#fff;
|
||||||
|
opacity: 0.8;
|
||||||
|
padding:5px;
|
||||||
|
font-weight:400;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.form-group .form-control {
|
||||||
|
width: 100%;
|
||||||
|
border: none;
|
||||||
|
box-shadow: none;
|
||||||
|
-webkit-border-radius: 0;
|
||||||
|
-moz-border-radius: 0;
|
||||||
|
-ms-border-radius: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
.radio-room{
|
||||||
|
margin-right:2rem;
|
||||||
|
}
|
||||||
|
.radio-table{
|
||||||
|
margin-left:1rem;
|
||||||
|
}
|
||||||
|
.bmd-form-group {
|
||||||
|
position: relative;
|
||||||
|
padding-top: 0 !important;
|
||||||
|
}
|
||||||
|
.btn_create_induty{
|
||||||
|
display: inline;
|
||||||
|
padding: 1.5rem;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.create_induty_card{
|
||||||
|
min-height:500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#save_induties_by_name{
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkboxLabel:before{
|
||||||
|
content: '\e40c';
|
||||||
|
font-family: "Material Icons";
|
||||||
|
font-size: 25px;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-right: 5px;
|
||||||
|
color: #2196F3;
|
||||||
|
}
|
||||||
|
|
||||||
|
#save_induties_by_name:checked ~ .checkboxLabel:before{
|
||||||
|
content: '\e86c';
|
||||||
|
}
|
||||||
|
.checkboxLabel {
|
||||||
|
font-size: 18px !important;
|
||||||
|
}
|
||||||
|
.add_more{
|
||||||
|
content: '\e40c';
|
||||||
|
font-family: "Material Icons";
|
||||||
|
font-size: 25px;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-right: 5px;
|
||||||
|
color: #2196F3;
|
||||||
|
}
|
||||||
|
.success-msg {
|
||||||
|
color: #270;
|
||||||
|
background-color: #DFF2BF;
|
||||||
|
margin: 10px 0;
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 3px 3px 3px 3px;
|
||||||
|
display: none;
|
||||||
|
margin-right: 0.5rem;
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
}
|
||||||
|
.show_all_commissioner_card{
|
||||||
|
min-height: 790px;
|
||||||
|
max-height: 790px;
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
.sweet-alert p {
|
||||||
|
font-size: 14px !important;
|
||||||
|
font-weight:bold;
|
||||||
|
}
|
||||||
|
.sweet-alert {
|
||||||
|
top :0;
|
||||||
|
margin-top: 20px !important;
|
||||||
|
}
|
||||||
54
app/controllers/induties/assign_in_duties_controller.rb
Normal file
54
app/controllers/induties/assign_in_duties_controller.rb
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
class Induties::AssignInDutiesController < ApplicationController
|
||||||
|
def index
|
||||||
|
@commissioners=Commissioner.active.all.order(created_at: :desc)
|
||||||
|
@booking_id = params[:booking_id]
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_all_occupied_dining
|
||||||
|
commissionerIds =params[:id]
|
||||||
|
@check_in_commissioner =InDuty.select("in_duties.*,dining_facilities.type as dinning_type")
|
||||||
|
.joins(" LEFT JOIN dining_facilities on dining_facilities.id = in_duties.dinning_id").where('commissioner_ids =? and out_time is null', commissionerIds);
|
||||||
|
# Rails.logger.info(@check_in_commissioner.to_json)
|
||||||
|
respond_to do |format|
|
||||||
|
format.json { render json: @check_in_commissioner.to_json }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
def induties_create
|
||||||
|
commissioner_ids =params[:commissionerId]
|
||||||
|
booking_id =params[:booking_id]
|
||||||
|
dinning_id = params[:dinning_id]
|
||||||
|
induty = InDuty.new
|
||||||
|
induty.dinning_id = dinning_id
|
||||||
|
induty.booking_id = booking_id
|
||||||
|
induty.commissioner_ids = commissioner_ids
|
||||||
|
induty.by_name = params[:by_name]
|
||||||
|
induty.in_time = Time.now
|
||||||
|
if induty.save
|
||||||
|
dinning = DiningFacility.find(induty.dinning_id)
|
||||||
|
@induty= {"id"=>induty.id,
|
||||||
|
"dinning_id"=>induty.dinning_id,
|
||||||
|
"in_time"=>induty.in_time,
|
||||||
|
"out_time"=>induty.out_time,
|
||||||
|
"dinning_type"=>dinning.type }
|
||||||
|
respond_to do |format|
|
||||||
|
format.json { render json: @induty.to_json }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
def induties_checkout
|
||||||
|
induty_id = params[:induty_id]
|
||||||
|
induty = InDuty.find(induty_id)
|
||||||
|
induty.out_time = Time.now
|
||||||
|
induty.save
|
||||||
|
@induty =induty
|
||||||
|
respond_to do |format|
|
||||||
|
format.json { render json: @induty.to_json }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
def induties_remove
|
||||||
|
induty_id = params[:induty_id]
|
||||||
|
induty = InDuty.find(induty_id)
|
||||||
|
induty.destroy
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
@@ -18,6 +18,7 @@ class Settings::CommissionersController < ApplicationController
|
|||||||
def new
|
def new
|
||||||
@commissioner = Commissioner.new
|
@commissioner = Commissioner.new
|
||||||
@employee = Employee.all.order('name asc')
|
@employee = Employee.all.order('name asc')
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# GET /commissioners/1/edit
|
# GET /commissioners/1/edit
|
||||||
@@ -35,6 +36,8 @@ class Settings::CommissionersController < ApplicationController
|
|||||||
unless @commissioner.resigned_date.nil?
|
unless @commissioner.resigned_date.nil?
|
||||||
@commissioner.resigned_date = @commissioner.resigned_date.utc.getlocal.strftime('%Y-%b-%d')
|
@commissioner.resigned_date = @commissioner.resigned_date.utc.getlocal.strftime('%Y-%b-%d')
|
||||||
end
|
end
|
||||||
|
# puts params[:from_induty].length
|
||||||
|
if (params[:from_induty] != "true")
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @commissioner.save
|
if @commissioner.save
|
||||||
format.html {redirect_to settings_commissioners_path, notice: 'Commissioner was successfully created.'}
|
format.html {redirect_to settings_commissioners_path, notice: 'Commissioner was successfully created.'}
|
||||||
@@ -44,6 +47,11 @@ class Settings::CommissionersController < ApplicationController
|
|||||||
format.json {render json: @commissioner.errors, status: :unprocessable_entity}
|
format.json {render json: @commissioner.errors, status: :unprocessable_entity}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
@commissioner.save
|
||||||
|
flash[:notice] = 'Commissioner was successfully created.'
|
||||||
|
redirect_to induties_assign_in_duties_path(params[:booking_id])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# PATCH/PUT /commissioners/1
|
# PATCH/PUT /commissioners/1
|
||||||
|
|||||||
2
app/helpers/induties/assign_in_duties_helper.rb
Normal file
2
app/helpers/induties/assign_in_duties_helper.rb
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
module Induties::AssignInDutiesHelper
|
||||||
|
end
|
||||||
5
app/models/induties.rb
Normal file
5
app/models/induties.rb
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
module Induties
|
||||||
|
def self.table_name_prefix
|
||||||
|
'induties_'
|
||||||
|
end
|
||||||
|
end
|
||||||
2
app/models/induties/assign_in_duty.rb
Normal file
2
app/models/induties/assign_in_duty.rb
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
class Induties::AssignInDuty < ApplicationRecord
|
||||||
|
end
|
||||||
10
app/views/induties/assign_in_duties/_form.html.erb
Normal file
10
app/views/induties/assign_in_duties/_form.html.erb
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<%= simple_form_for(@induties_assign_in_duty) do |f| %>
|
||||||
|
<%= f.error_notification %>
|
||||||
|
|
||||||
|
<div class="form-inputs">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-actions">
|
||||||
|
<%= f.button :submit %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
json.extract! induties_assign_in_duty, :id, :created_at, :updated_at
|
||||||
|
json.url induties_assign_in_duty_url(induties_assign_in_duty, format: :json)
|
||||||
6
app/views/induties/assign_in_duties/edit.html.erb
Normal file
6
app/views/induties/assign_in_duties/edit.html.erb
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<h1>Editing Induties Assign In Duty</h1>
|
||||||
|
|
||||||
|
<%= render 'form', induties_assign_in_duty: @induties_assign_in_duty %>
|
||||||
|
|
||||||
|
<%= link_to 'Show', @induties_assign_in_duty %> |
|
||||||
|
<%= link_to 'Back', induties_assign_in_duties_path %>
|
||||||
306
app/views/induties/assign_in_duties/index.html.erb
Normal file
306
app/views/induties/assign_in_duties/index.html.erb
Normal file
@@ -0,0 +1,306 @@
|
|||||||
|
<!-- <div class="page-header">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<span class="float-right">
|
||||||
|
<a href="" id="back">Back</a>
|
||||||
|
</span>
|
||||||
|
</ol>
|
||||||
|
</div> -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12 col-sm-12 col-lg-8">
|
||||||
|
<div class="card show_all_commissioner_card">
|
||||||
|
<div class="card-block row" style="margin:0.5rem;">
|
||||||
|
<% @commissioners.each do |com| %>
|
||||||
|
<div class="col-md-6 col-sm-6 col-lg-3 mt-3 touch_commissioner" commissionerId='<%= com.id %>' commissionerName='<%= com.name %>'>
|
||||||
|
<div class="card custom-card testimonial-card fadeInRight" style="height:100%;background-image:url(<%= com.image_path.url%>);background-repeat: no-repeat; background-size: cover;">
|
||||||
|
<div class="custom-card-head card-head row" style="line-height:14px;margin:0px;">
|
||||||
|
<div class="col-md-10 " style="padding:0px !important;"><%=com.name %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="add_icon p-t-65 p-b-65 m-r-">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
<div class="col-md-6 col-sm-6 col-lg-3 mt-3 add_more_commissioner">
|
||||||
|
<div class="card custom-card testimonial-card fadeInRight" style="height:100%;width: 100%;">
|
||||||
|
<div class="row" style="margin: auto;">
|
||||||
|
<i class="material-icons" style="color: gray;font-size: 9rem;">add</i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 col-sm-12 col-lg-4" id="show_list_induty_card">
|
||||||
|
<div class="card" >
|
||||||
|
<div class="alert success-msg" role="alert">
|
||||||
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||||
|
<i class="fa fa-check"></i>
|
||||||
|
Successed!
|
||||||
|
</div>
|
||||||
|
<div class="card-header row" style="margin-right: 0;margin-left: 0">
|
||||||
|
<div class="col-7 commissionerName"><label>Create In Duty</label></div>
|
||||||
|
<div class="col-5"><button type="button" class="btn btn-block btn-default waves-effect" id="back"><i class="material-icons">reply</i>Back to Order</button></div>
|
||||||
|
</div>
|
||||||
|
<input type="hidden" name="booking_id" value="<%=@booking_id %>" id="booking_id">
|
||||||
|
<input type="hidden" name="commissionerId" value="" id="commissionerId">
|
||||||
|
<div class="row create_induty_card" style="margin-left:1rem;margin-right: 1rem;">
|
||||||
|
<table class="table table-striped" id="show_in_duty_table">
|
||||||
|
<thead >
|
||||||
|
<tr>
|
||||||
|
<th>Dining</th>
|
||||||
|
<th>Check In At</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="occupide_dining">
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="row form-inputs form-group" style="margin: auto;">
|
||||||
|
<hr style="width :100%">
|
||||||
|
<div class="col-12 " style="margin-top: 1rem;">
|
||||||
|
<div class="row form-inputs form-group" style="margin: auto;">
|
||||||
|
<div class="col-12" >
|
||||||
|
<label class="radio-room"><input type="radio" name="radio" id="radio-room" value="room" checked="checked" /> Room</label>
|
||||||
|
<label class="radio-table"><input type="radio" name="radio" id="radio-table" value="table" /> Table</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row form-inputs form-group room_collection" style="margin: auto;">
|
||||||
|
<div class="col-12 ">
|
||||||
|
<%= simple_form_for 'zone', :method => :get do |f| %>
|
||||||
|
<%= f.collection_select :dinning_id, Room.all, :id, :name, {prompt: 'Select Room'},:class=>'form-control',:required => true %>
|
||||||
|
<%end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row form-inputs form-group table_collection" style="margin: auto;">
|
||||||
|
<div class="col-12 ">
|
||||||
|
<%= simple_form_for 'zone_t', :method => :get do |f| %>
|
||||||
|
<%= f.collection_select :dinning_id, Table.all, :id, :name, {prompt: 'Select Table'},:class=>'form-control',:required => true %>
|
||||||
|
<%end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row form-inputs form-group" style="margin: auto;">
|
||||||
|
<div class=" col-12 ">
|
||||||
|
<%= simple_form_for 'save_induties', :url => induties_induties_create_path, :method => :post do |f| %>
|
||||||
|
<%= f.check_box :by_name,:class=>'form-control'%>
|
||||||
|
<label class="checkboxLabel" for="save_induties_by_name">By Name</label>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a href="" id="btn_create_induty" class=" btn bg-blue form-actions btn_create_induty">Create In Duty</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(".table_collection").hide();
|
||||||
|
$('#back').on('click',function(){
|
||||||
|
event.preventDefault();
|
||||||
|
var dinning_id = localStorage.getItem('dinning_id');
|
||||||
|
var dinning_type = localStorage.getItem('dinning_type');
|
||||||
|
window.location.href = '/origami/'+dinning_type+'/'+dinning_id;
|
||||||
|
});
|
||||||
|
$( document ).ready(function() {
|
||||||
|
document.getElementById("btn_create_induty").disabled = true;
|
||||||
|
});
|
||||||
|
$(document).on('click', '.btn_create_induty', function(event){
|
||||||
|
event.preventDefault();
|
||||||
|
var str=document.getElementById("zone_dinning_id").value;
|
||||||
|
var str_t=document.getElementById("zone_t_dinning_id").value;
|
||||||
|
if (str == ""){
|
||||||
|
zone_dinning_id =document.getElementById("zone_t_dinning_id").value;
|
||||||
|
}
|
||||||
|
if (str_t == ""){
|
||||||
|
zone_dinning_id =document.getElementById("zone_dinning_id").value;
|
||||||
|
}
|
||||||
|
if(str == "" && str_t == ""){
|
||||||
|
document.getElementById('zone_dinning_id').focus();
|
||||||
|
$('#zone_dinning_id').css('border-color', 'red');
|
||||||
|
$('#zone_t_dinning_id').css('border-color', 'red');
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
var booking_id=document.getElementById("booking_id").value
|
||||||
|
var commissionerId=document.getElementById("commissionerId").value
|
||||||
|
var by_name =document.getElementById("save_induties_by_name").checked
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "assign_create",
|
||||||
|
dataType: "json",
|
||||||
|
data: {booking_id:booking_id,commissionerId:commissionerId,dinning_id:zone_dinning_id,by_name:by_name},
|
||||||
|
success: function (data) {
|
||||||
|
in_time = changDateFormat(data.in_time);
|
||||||
|
d_type = data.dinning_type.charAt(0);
|
||||||
|
row ='<tr>'
|
||||||
|
+'<td>'+d_type+'-'+data.dinning_id+'</td>'
|
||||||
|
+'<td>'+in_time+'</td>'
|
||||||
|
+'<td><a href="" onclick = "checkout_induty(this)" class="btn checkout_induty" style= "background-color: #3F51B5;"indutyId="'+ data.id +'" >Check Out</a> <a href="" onclick = "remove_induty(this)" class="btn remove_induty" style= "background-color: red;"indutyId="'+ data.id +'" >Remove</a></td>'
|
||||||
|
+'</tr>';
|
||||||
|
$('.occupide_dining').append(row);
|
||||||
|
$('#zone_dinning_id').val("");
|
||||||
|
document.getElementById("save_induties_by_name").checked = false;
|
||||||
|
var scrollTo = document.getElementById('show_list_induty_card');
|
||||||
|
$("HTML, body").animate({scrollTop: scrollTo.offsetTop - 60 }, 500 );
|
||||||
|
$(".success-msg").css('display','block');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$(document).on('click', '.touch_commissioner', function(event){
|
||||||
|
$(".success-msg").css('display','none');
|
||||||
|
document.getElementById("btn_create_induty").disabled = false;
|
||||||
|
var commissionerId = this.getAttribute("commissionerId");
|
||||||
|
var commissionerName = this.getAttribute("commissionerName");
|
||||||
|
var url = "get_all_occupied_dining_path" ;
|
||||||
|
$('.occupide_dining').html("");
|
||||||
|
$('.commissionerName').html("");
|
||||||
|
booking_id=document.getElementById("booking_id").value
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
url: "/induties/assign_in_duties/get_all_occupied_dining/"+commissionerId,
|
||||||
|
dataType: "json",
|
||||||
|
success: function (data) {
|
||||||
|
$('.commissionerName').append('<label>'+commissionerName+' ('+booking_id+' )</label');
|
||||||
|
data.forEach(function(items) {
|
||||||
|
in_time = changDateFormat(items.in_time);
|
||||||
|
d_type = items.dinning_type.charAt(0);
|
||||||
|
// console.log(d_type);
|
||||||
|
// if(items.out_time == null){
|
||||||
|
row ='<tr>'
|
||||||
|
+'<td>'+d_type+'-'+items.dinning_id+'</td>'
|
||||||
|
+'<td>'+in_time+'</td>'
|
||||||
|
+'<td><a href="" onclick = "checkout_induty(this)" class="btn checkout_induty" style= "background-color: #3F51B5;"indutyId="'+ items.id +'" >Check Out</a> <a href="" onclick = "remove_induty(this)" class="btn remove_induty" style= "background-color: red;"indutyId="'+ items.id +'" >Remove</a></td>'
|
||||||
|
+'</tr>';
|
||||||
|
// }
|
||||||
|
// else{
|
||||||
|
// out_time = changDateFormat(items.out_time);
|
||||||
|
// row ='<tr>'
|
||||||
|
// +'<td>'+items.dinning_id+'</td>'
|
||||||
|
// +'<td>'+in_time+'</td>'
|
||||||
|
// +'<td>'+out_time+'</td>'
|
||||||
|
// +'</tr>';
|
||||||
|
// }
|
||||||
|
$('.occupide_dining').append(row);
|
||||||
|
|
||||||
|
});
|
||||||
|
$('#commissionerId').val(commissionerId);
|
||||||
|
var scrollTo = document.getElementById('show_list_induty_card');
|
||||||
|
$("HTML, body").animate({scrollTop: scrollTo.offsetTop - 60 }, 500 );
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
function changDateFormat(date){
|
||||||
|
datetime = new Date(date);
|
||||||
|
day = datetime.getDate();
|
||||||
|
month = datetime.getMonth() + 1; //month: 0-11
|
||||||
|
year = datetime.getFullYear();
|
||||||
|
date = year + "-" + day + "-" + month;
|
||||||
|
var hours = datetime.getHours();
|
||||||
|
var minutes = datetime.getMinutes();
|
||||||
|
var ampm = hours >= 12 ? 'PM' : 'AM';
|
||||||
|
hours = hours % 12;
|
||||||
|
hours = hours ? hours : 12; // the hour '0' should be '12'
|
||||||
|
minutes = minutes < 10 ? '0'+minutes : minutes;
|
||||||
|
var in_time = date +' '+hours + ':' + minutes + ' ' + ampm;
|
||||||
|
return in_time;
|
||||||
|
}
|
||||||
|
$('input[type=radio]').change(function() {
|
||||||
|
if(this.value == "room"){
|
||||||
|
// $(".table_collection").hide();
|
||||||
|
$(".table_collection").css('display','none');
|
||||||
|
// $(".room_collection").show();
|
||||||
|
$(".room_collection").css('display','block');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
// $(".room_collection").hide();
|
||||||
|
$(".room_collection").css('display','none');
|
||||||
|
// $(".table_collection").show();
|
||||||
|
$(".table_collection").css('display','block');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
function checkout_induty(row){
|
||||||
|
event.preventDefault();
|
||||||
|
var indutyId = row.getAttribute("indutyId");
|
||||||
|
var booking_id=document.getElementById("booking_id").value
|
||||||
|
datetime = new Date();
|
||||||
|
datetime = changDateFormat(datetime);
|
||||||
|
swal({
|
||||||
|
title: '',
|
||||||
|
text: 'Are you sure want to checkout at ' +datetime,
|
||||||
|
html:true,
|
||||||
|
confirmButtonColor: "#3F51B5",
|
||||||
|
confirmButtonText: "OK",
|
||||||
|
closeOnConfirm: true,
|
||||||
|
showCancelButton: true,
|
||||||
|
cancelButtonColor: '#d33',
|
||||||
|
}, function(isConfirm){
|
||||||
|
if(isConfirm){
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "assign_checkout/"+indutyId,
|
||||||
|
dataType: "json",
|
||||||
|
success: function (data) {
|
||||||
|
var d = row.parentNode.parentNode.rowIndex;
|
||||||
|
document.getElementById('show_in_duty_table').deleteRow(d);
|
||||||
|
// in_time = changDateFormat(data.in_time);
|
||||||
|
// out_time = changDateFormat(data.out_time);
|
||||||
|
// row ='<tr>'
|
||||||
|
// +'<td>'+data.dinning_id+'</td>'
|
||||||
|
// +'<td>'+in_time+'</td>'
|
||||||
|
// +'<td>'+out_time+'</td>'
|
||||||
|
// +'</tr>';
|
||||||
|
// $('.occupide_dining').append(row);
|
||||||
|
var scrollTo = document.getElementById('show_list_induty_card');
|
||||||
|
$("HTML, body").animate({scrollTop: scrollTo.offsetTop - 60 }, 500 );
|
||||||
|
$(".success-msg").css('display','block');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
function remove_induty(row){
|
||||||
|
event.preventDefault();
|
||||||
|
var indutyId = row.getAttribute("indutyId");
|
||||||
|
var booking_id=document.getElementById("booking_id").value
|
||||||
|
swal({
|
||||||
|
title: '',
|
||||||
|
text: 'Are you sure want to remove induties ',
|
||||||
|
html:true,
|
||||||
|
confirmButtonColor: "#3F51B5",
|
||||||
|
confirmButtonText: "OK",
|
||||||
|
closeOnConfirm: true,
|
||||||
|
showCancelButton: true,
|
||||||
|
cancelButtonColor: '#d33',
|
||||||
|
}, function(isConfirm){
|
||||||
|
if(isConfirm){
|
||||||
|
$.ajax({
|
||||||
|
type: "DELETE",
|
||||||
|
url: "assign_remove/"+indutyId,
|
||||||
|
dataType: "json",
|
||||||
|
success: function (data) {
|
||||||
|
var d = row.parentNode.parentNode.rowIndex;
|
||||||
|
document.getElementById('show_in_duty_table').deleteRow(d);
|
||||||
|
var scrollTo = document.getElementById('show_list_induty_card');
|
||||||
|
$("HTML, body").animate({scrollTop: scrollTo.offsetTop - 60 }, 500 );
|
||||||
|
$(".success-msg").css('display','block');
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
$(document).on('click', '.add_more_commissioner', function(event){
|
||||||
|
localStorage.setItem('from_induty', true);
|
||||||
|
localStorage.setItem('booking_id', document.getElementById("booking_id").value);
|
||||||
|
window.location.href ='/settings/commissioners/new';
|
||||||
|
});
|
||||||
|
localStorage.setItem('from_induty', false);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
1
app/views/induties/assign_in_duties/index.json.jbuilder
Normal file
1
app/views/induties/assign_in_duties/index.json.jbuilder
Normal file
@@ -0,0 +1 @@
|
|||||||
|
json.array! @induties_assign_in_duties, partial: 'induties_assign_in_duties/induties_assign_in_duty', as: :induties_assign_in_duty
|
||||||
5
app/views/induties/assign_in_duties/new.html.erb
Normal file
5
app/views/induties/assign_in_duties/new.html.erb
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<h1>New Induties Assign In Duty</h1>
|
||||||
|
|
||||||
|
<%= render 'form', induties_assign_in_duty: @induties_assign_in_duty %>
|
||||||
|
|
||||||
|
<%= link_to 'Back', induties_assign_in_duties_path %>
|
||||||
4
app/views/induties/assign_in_duties/show.html.erb
Normal file
4
app/views/induties/assign_in_duties/show.html.erb
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<p id="notice"><%= notice %></p>
|
||||||
|
|
||||||
|
<%= link_to 'Edit', edit_induties_assign_in_duty_path(@induties_assign_in_duty) %> |
|
||||||
|
<%= link_to 'Back', induties_assign_in_duties_path %>
|
||||||
1
app/views/induties/assign_in_duties/show.json.jbuilder
Normal file
1
app/views/induties/assign_in_duties/show.json.jbuilder
Normal file
@@ -0,0 +1 @@
|
|||||||
|
json.partial! "induties_assign_in_duties/induties_assign_in_duty", induties_assign_in_duty: @induties_assign_in_duty
|
||||||
@@ -219,6 +219,7 @@
|
|||||||
getCreditSales("","","cashier"); //credit sales script data binding
|
getCreditSales("","","cashier"); //credit sales script data binding
|
||||||
|
|
||||||
$(".tables").on('click', function(){
|
$(".tables").on('click', function(){
|
||||||
|
localStorage.setItem('dinning_type','table');
|
||||||
var dining_id = $(this).attr("data-id");
|
var dining_id = $(this).attr("data-id");
|
||||||
window.location.href = '/origami/table/' + dining_id;
|
window.location.href = '/origami/table/' + dining_id;
|
||||||
});
|
});
|
||||||
@@ -229,6 +230,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
$(".rooms").on('click', function(){
|
$(".rooms").on('click', function(){
|
||||||
|
localStorage.setItem('dinning_type','room');
|
||||||
var dining_id = $(this).attr("data-id");
|
var dining_id = $(this).attr("data-id");
|
||||||
window.location.href = '/origami/room/' + dining_id;
|
window.location.href = '/origami/room/' + dining_id;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -825,7 +825,7 @@
|
|||||||
window.location.href = '/origami/table/' + dining_id + "/table_invoice/" + sale_id;
|
window.location.href = '/origami/table/' + dining_id + "/table_invoice/" + sale_id;
|
||||||
})
|
})
|
||||||
$(".tables").on('click', function () {
|
$(".tables").on('click', function () {
|
||||||
|
localStorage.setItem('dinning_type','table');
|
||||||
var customer_id = $(".customer-id").text();
|
var customer_id = $(".customer-id").text();
|
||||||
show_customer_details(customer_id);
|
show_customer_details(customer_id);
|
||||||
|
|
||||||
@@ -843,7 +843,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
$(".rooms").on('click', function () {
|
$(".rooms").on('click', function () {
|
||||||
|
localStorage.setItem('dinning_type','room');
|
||||||
var customer_id = $(".customer-id").text();
|
var customer_id = $(".customer-id").text();
|
||||||
show_customer_details(customer_id);
|
show_customer_details(customer_id);
|
||||||
|
|
||||||
@@ -1207,9 +1207,10 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('#in_duties').on('click', function () {
|
$('#in_duties').on('click', function () {
|
||||||
|
localStorage.setItem('dinning_id',<%= @dining.id %>);
|
||||||
var dining_id = "<%= @dining.id %>";
|
var dining_id = "<%= @dining.id %>";
|
||||||
var booking_id = "<%= @booking.booking_id rescue "" %>";
|
var booking_id = "<%= @booking.booking_id rescue "" %>";
|
||||||
window.location.href = '/origami/assign_in_duty/'+ booking_id;
|
window.location.href = '/induties/'+ booking_id +'/assign';
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#void').on('click', function () {
|
$('#void').on('click', function () {
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<label>Dining Name:</label>
|
<label>Dining Name:</label>
|
||||||
|
|||||||
@@ -914,6 +914,7 @@ $(document).ready(function(){
|
|||||||
show_customer_details(customer_id);
|
show_customer_details(customer_id);
|
||||||
|
|
||||||
var dining_id = $(this).attr("data-id");
|
var dining_id = $(this).attr("data-id");
|
||||||
|
localStorage.setItem('dinning_type','table');
|
||||||
window.location.href = '/origami/table/' + dining_id;
|
window.location.href = '/origami/table/' + dining_id;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -932,6 +933,7 @@ $(document).ready(function(){
|
|||||||
show_customer_details(customer_id);
|
show_customer_details(customer_id);
|
||||||
|
|
||||||
var dining_id = $(this).attr("data-id");
|
var dining_id = $(this).attr("data-id");
|
||||||
|
localStorage.setItem('dinning_type','room');
|
||||||
window.location.href = '/origami/room/' + dining_id;
|
window.location.href = '/origami/room/' + dining_id;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1367,9 +1369,10 @@ $('#add_invoice').on('click',function(){
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('#in_duties').on('click', function () {
|
$('#in_duties').on('click', function () {
|
||||||
|
localStorage.setItem('dinning_id',<%= @room.id %>);
|
||||||
var dining_id = "<%= @room.id %>";
|
var dining_id = "<%= @room.id %>";
|
||||||
var booking_id = "<%= @booking.booking_id rescue "" %>";
|
var booking_id = "<%= @booking.booking_id rescue "" %>";
|
||||||
window.location.href = '/origami/assign_in_duty/'+ booking_id;
|
window.location.href = '/induties/'+ booking_id +'/assign';
|
||||||
});
|
});
|
||||||
|
|
||||||
// Ordering
|
// Ordering
|
||||||
|
|||||||
@@ -36,6 +36,8 @@
|
|||||||
<%= f.label :resigned_date %><br/>
|
<%= f.label :resigned_date %><br/>
|
||||||
<%= f.text_field :resigned_date, {class: 'form-control datepicker', id: 'resigned_date', readonly: true} %><br/>
|
<%= f.text_field :resigned_date, {class: 'form-control datepicker', id: 'resigned_date', readonly: true} %><br/>
|
||||||
<%= f.input :is_active %>
|
<%= f.input :is_active %>
|
||||||
|
<input type="hidden" name="from_induty" value="" class="from_induty">
|
||||||
|
<input type="hidden" name="booking_id" value="" class="booking_id">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-actions">
|
<div class="form-actions">
|
||||||
@@ -70,3 +72,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$('.from_induty').val(localStorage.getItem('from_induty'));
|
||||||
|
$('.booking_id').val(localStorage.getItem('booking_id'));
|
||||||
|
</script>
|
||||||
|
|||||||
@@ -10,3 +10,4 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%= render 'form', commissioner: @commissioner %>
|
<%= render 'form', commissioner: @commissioner %>
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
application_path="#{File.expand_path("../..", __FILE__)}"
|
# application_path="#{File.expand_path("../..", __FILE__)}"
|
||||||
directory application_path
|
# directory application_path
|
||||||
#environment ENV.fetch("RAILS_ENV") { "production" }
|
# #environment ENV.fetch("RAILS_ENV") { "production" }
|
||||||
environment "production"
|
# environment "production"
|
||||||
pidfile "#{application_path}/tmp/puma/pid"
|
# pidfile "#{application_path}/tmp/puma/pid"
|
||||||
state_path "#{application_path}/tmp/puma/state"
|
# state_path "#{application_path}/tmp/puma/state"
|
||||||
stdout_redirect "#{application_path}/log/puma.stdout.log", "#{application_path}/log/puma.stderr.log"
|
# stdout_redirect "#{application_path}/log/puma.stdout.log", "#{application_path}/log/puma.stderr.log"
|
||||||
port ENV.fetch("PORT") { 62158 }
|
# port ENV.fetch("PORT") { 62158 }
|
||||||
workers 2
|
# workers 2
|
||||||
preload_app!
|
# preload_app!
|
||||||
|
|||||||
@@ -2,6 +2,14 @@ require 'sidekiq/web'
|
|||||||
|
|
||||||
Rails.application.routes.draw do
|
Rails.application.routes.draw do
|
||||||
|
|
||||||
|
namespace :induties do
|
||||||
|
# resources :assign_in_duties
|
||||||
|
get ':booking_id/assign' => 'assign_in_duties#index', as: :assign_in_duties
|
||||||
|
get "/assign_in_duties/get_all_occupied_dining/:id" =>'assign_in_duties#get_all_occupied_dining', as: :get_all_occupied_dining
|
||||||
|
post ':booking_id/assign_create' => 'assign_in_duties#induties_create', as: :induties_create
|
||||||
|
post ':booking_id/assign_checkout/:induty_id' => 'assign_in_duties#induties_checkout', as: :induties_checkout
|
||||||
|
delete ':booking_id/assign_remove/:induty_id' => 'assign_in_duties#induties_remove', as: :induties_remove
|
||||||
|
end
|
||||||
scope "(:locale)", locale: /en|mm/ do
|
scope "(:locale)", locale: /en|mm/ do
|
||||||
root 'home#index'
|
root 'home#index'
|
||||||
mount Sidekiq::Web => '/kiq'
|
mount Sidekiq::Web => '/kiq'
|
||||||
|
|||||||
5
db/migrate/20190617072833_add_byname_to_induties.rb
Normal file
5
db/migrate/20190617072833_add_byname_to_induties.rb
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
class AddBynameToInduties < ActiveRecord::Migration[5.1]
|
||||||
|
def change
|
||||||
|
add_column :in_duties, :by_name, :boolean, default: false
|
||||||
|
end
|
||||||
|
end
|
||||||
141
spec/controllers/induties/assign_in_duties_controller_spec.rb
Normal file
141
spec/controllers/induties/assign_in_duties_controller_spec.rb
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
# This spec was generated by rspec-rails when you ran the scaffold generator.
|
||||||
|
# It demonstrates how one might use RSpec to specify the controller code that
|
||||||
|
# was generated by Rails when you ran the scaffold generator.
|
||||||
|
#
|
||||||
|
# It assumes that the implementation code is generated by the rails scaffold
|
||||||
|
# generator. If you are using any extension libraries to generate different
|
||||||
|
# controller code, this generated spec may or may not pass.
|
||||||
|
#
|
||||||
|
# It only uses APIs available in rails and/or rspec-rails. There are a number
|
||||||
|
# of tools you can use to make these specs even more expressive, but we're
|
||||||
|
# sticking to rails and rspec-rails APIs to keep things simple and stable.
|
||||||
|
#
|
||||||
|
# Compared to earlier versions of this generator, there is very limited use of
|
||||||
|
# stubs and message expectations in this spec. Stubs are only used when there
|
||||||
|
# is no simpler way to get a handle on the object needed for the example.
|
||||||
|
# Message expectations are only used when there is no simpler way to specify
|
||||||
|
# that an instance is receiving a specific message.
|
||||||
|
#
|
||||||
|
# Also compared to earlier versions of this generator, there are no longer any
|
||||||
|
# expectations of assigns and templates rendered. These features have been
|
||||||
|
# removed from Rails core in Rails 5, but can be added back in via the
|
||||||
|
# `rails-controller-testing` gem.
|
||||||
|
|
||||||
|
RSpec.describe Induties::AssignInDutiesController, type: :controller do
|
||||||
|
|
||||||
|
# This should return the minimal set of attributes required to create a valid
|
||||||
|
# Induties::AssignInDuty. As you add validations to Induties::AssignInDuty, be sure to
|
||||||
|
# adjust the attributes here as well.
|
||||||
|
let(:valid_attributes) {
|
||||||
|
skip("Add a hash of attributes valid for your model")
|
||||||
|
}
|
||||||
|
|
||||||
|
let(:invalid_attributes) {
|
||||||
|
skip("Add a hash of attributes invalid for your model")
|
||||||
|
}
|
||||||
|
|
||||||
|
# This should return the minimal set of values that should be in the session
|
||||||
|
# in order to pass any filters (e.g. authentication) defined in
|
||||||
|
# Induties::AssignInDutiesController. Be sure to keep this updated too.
|
||||||
|
let(:valid_session) { {} }
|
||||||
|
|
||||||
|
describe "GET #index" do
|
||||||
|
it "returns a success response" do
|
||||||
|
assign_in_duty = Induties::AssignInDuty.create! valid_attributes
|
||||||
|
get :index, params: {}, session: valid_session
|
||||||
|
expect(response).to be_success
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "GET #show" do
|
||||||
|
it "returns a success response" do
|
||||||
|
assign_in_duty = Induties::AssignInDuty.create! valid_attributes
|
||||||
|
get :show, params: {id: assign_in_duty.to_param}, session: valid_session
|
||||||
|
expect(response).to be_success
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "GET #new" do
|
||||||
|
it "returns a success response" do
|
||||||
|
get :new, params: {}, session: valid_session
|
||||||
|
expect(response).to be_success
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "GET #edit" do
|
||||||
|
it "returns a success response" do
|
||||||
|
assign_in_duty = Induties::AssignInDuty.create! valid_attributes
|
||||||
|
get :edit, params: {id: assign_in_duty.to_param}, session: valid_session
|
||||||
|
expect(response).to be_success
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "POST #create" do
|
||||||
|
context "with valid params" do
|
||||||
|
it "creates a new Induties::AssignInDuty" do
|
||||||
|
expect {
|
||||||
|
post :create, params: {induties_assign_in_duty: valid_attributes}, session: valid_session
|
||||||
|
}.to change(Induties::AssignInDuty, :count).by(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "redirects to the created induties_assign_in_duty" do
|
||||||
|
post :create, params: {induties_assign_in_duty: valid_attributes}, session: valid_session
|
||||||
|
expect(response).to redirect_to(Induties::AssignInDuty.last)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "with invalid params" do
|
||||||
|
it "returns a success response (i.e. to display the 'new' template)" do
|
||||||
|
post :create, params: {induties_assign_in_duty: invalid_attributes}, session: valid_session
|
||||||
|
expect(response).to be_success
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "PUT #update" do
|
||||||
|
context "with valid params" do
|
||||||
|
let(:new_attributes) {
|
||||||
|
skip("Add a hash of attributes valid for your model")
|
||||||
|
}
|
||||||
|
|
||||||
|
it "updates the requested induties_assign_in_duty" do
|
||||||
|
assign_in_duty = Induties::AssignInDuty.create! valid_attributes
|
||||||
|
put :update, params: {id: assign_in_duty.to_param, induties_assign_in_duty: new_attributes}, session: valid_session
|
||||||
|
assign_in_duty.reload
|
||||||
|
skip("Add assertions for updated state")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "redirects to the induties_assign_in_duty" do
|
||||||
|
assign_in_duty = Induties::AssignInDuty.create! valid_attributes
|
||||||
|
put :update, params: {id: assign_in_duty.to_param, induties_assign_in_duty: valid_attributes}, session: valid_session
|
||||||
|
expect(response).to redirect_to(assign_in_duty)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "with invalid params" do
|
||||||
|
it "returns a success response (i.e. to display the 'edit' template)" do
|
||||||
|
assign_in_duty = Induties::AssignInDuty.create! valid_attributes
|
||||||
|
put :update, params: {id: assign_in_duty.to_param, induties_assign_in_duty: invalid_attributes}, session: valid_session
|
||||||
|
expect(response).to be_success
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "DELETE #destroy" do
|
||||||
|
it "destroys the requested induties_assign_in_duty" do
|
||||||
|
assign_in_duty = Induties::AssignInDuty.create! valid_attributes
|
||||||
|
expect {
|
||||||
|
delete :destroy, params: {id: assign_in_duty.to_param}, session: valid_session
|
||||||
|
}.to change(Induties::AssignInDuty, :count).by(-1)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "redirects to the induties_assign_in_duties list" do
|
||||||
|
assign_in_duty = Induties::AssignInDuty.create! valid_attributes
|
||||||
|
delete :destroy, params: {id: assign_in_duty.to_param}, session: valid_session
|
||||||
|
expect(response).to redirect_to(induties_assign_in_duties_url)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
15
spec/helpers/induties/assign_in_duties_helper_spec.rb
Normal file
15
spec/helpers/induties/assign_in_duties_helper_spec.rb
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
# Specs in this file have access to a helper object that includes
|
||||||
|
# the Induties::AssignInDutiesHelper. For example:
|
||||||
|
#
|
||||||
|
# describe Induties::AssignInDutiesHelper do
|
||||||
|
# describe "string concat" do
|
||||||
|
# it "concats two strings with spaces" do
|
||||||
|
# expect(helper.concat_strings("this","that")).to eq("this that")
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
RSpec.describe Induties::AssignInDutiesHelper, type: :helper do
|
||||||
|
pending "add some examples to (or delete) #{__FILE__}"
|
||||||
|
end
|
||||||
5
spec/models/induties/assign_in_duty_spec.rb
Normal file
5
spec/models/induties/assign_in_duty_spec.rb
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe Induties::AssignInDuty, type: :model do
|
||||||
|
pending "add some examples to (or delete) #{__FILE__}"
|
||||||
|
end
|
||||||
10
spec/requests/induties/induties_assign_in_duties_spec.rb
Normal file
10
spec/requests/induties/induties_assign_in_duties_spec.rb
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe "Induties::AssignInDuties", type: :request do
|
||||||
|
describe "GET /induties_assign_in_duties" do
|
||||||
|
it "works! (now write some real specs)" do
|
||||||
|
get induties_assign_in_duties_path
|
||||||
|
expect(response).to have_http_status(200)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
39
spec/routing/induties/assign_in_duties_routing_spec.rb
Normal file
39
spec/routing/induties/assign_in_duties_routing_spec.rb
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
require "rails_helper"
|
||||||
|
|
||||||
|
RSpec.describe Induties::AssignInDutiesController, type: :routing do
|
||||||
|
describe "routing" do
|
||||||
|
|
||||||
|
it "routes to #index" do
|
||||||
|
expect(:get => "/induties/assign_in_duties").to route_to("induties/assign_in_duties#index")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "routes to #new" do
|
||||||
|
expect(:get => "/induties/assign_in_duties/new").to route_to("induties/assign_in_duties#new")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "routes to #show" do
|
||||||
|
expect(:get => "/induties/assign_in_duties/1").to route_to("induties/assign_in_duties#show", :id => "1")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "routes to #edit" do
|
||||||
|
expect(:get => "/induties/assign_in_duties/1/edit").to route_to("induties/assign_in_duties#edit", :id => "1")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "routes to #create" do
|
||||||
|
expect(:post => "/induties/assign_in_duties").to route_to("induties/assign_in_duties#create")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "routes to #update via PUT" do
|
||||||
|
expect(:put => "/induties/assign_in_duties/1").to route_to("induties/assign_in_duties#update", :id => "1")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "routes to #update via PATCH" do
|
||||||
|
expect(:patch => "/induties/assign_in_duties/1").to route_to("induties/assign_in_duties#update", :id => "1")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "routes to #destroy" do
|
||||||
|
expect(:delete => "/induties/assign_in_duties/1").to route_to("induties/assign_in_duties#destroy", :id => "1")
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
14
spec/views/induties/assign_in_duties/edit.html.erb_spec.rb
Normal file
14
spec/views/induties/assign_in_duties/edit.html.erb_spec.rb
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe "induties/assign_in_duties/edit", type: :view do
|
||||||
|
before(:each) do
|
||||||
|
@induties_assign_in_duty = assign(:induties_assign_in_duty, Induties::AssignInDuty.create!())
|
||||||
|
end
|
||||||
|
|
||||||
|
it "renders the edit induties_assign_in_duty form" do
|
||||||
|
render
|
||||||
|
|
||||||
|
assert_select "form[action=?][method=?]", induties_assign_in_duty_path(@induties_assign_in_duty), "post" do
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
14
spec/views/induties/assign_in_duties/index.html.erb_spec.rb
Normal file
14
spec/views/induties/assign_in_duties/index.html.erb_spec.rb
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe "induties/assign_in_duties/index", type: :view do
|
||||||
|
before(:each) do
|
||||||
|
assign(:induties_assign_in_duties, [
|
||||||
|
Induties::AssignInDuty.create!(),
|
||||||
|
Induties::AssignInDuty.create!()
|
||||||
|
])
|
||||||
|
end
|
||||||
|
|
||||||
|
it "renders a list of induties/assign_in_duties" do
|
||||||
|
render
|
||||||
|
end
|
||||||
|
end
|
||||||
14
spec/views/induties/assign_in_duties/new.html.erb_spec.rb
Normal file
14
spec/views/induties/assign_in_duties/new.html.erb_spec.rb
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe "induties/assign_in_duties/new", type: :view do
|
||||||
|
before(:each) do
|
||||||
|
assign(:induties_assign_in_duty, Induties::AssignInDuty.new())
|
||||||
|
end
|
||||||
|
|
||||||
|
it "renders new induties_assign_in_duty form" do
|
||||||
|
render
|
||||||
|
|
||||||
|
assert_select "form[action=?][method=?]", induties_assign_in_duties_path, "post" do
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
11
spec/views/induties/assign_in_duties/show.html.erb_spec.rb
Normal file
11
spec/views/induties/assign_in_duties/show.html.erb_spec.rb
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe "induties/assign_in_duties/show", type: :view do
|
||||||
|
before(:each) do
|
||||||
|
@induties_assign_in_duty = assign(:induties_assign_in_duty, Induties::AssignInDuty.create!())
|
||||||
|
end
|
||||||
|
|
||||||
|
it "renders attributes in <p>" do
|
||||||
|
render
|
||||||
|
end
|
||||||
|
end
|
||||||
9
test/system/assign_in_duties_test.rb
Normal file
9
test/system/assign_in_duties_test.rb
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
require "application_system_test_case"
|
||||||
|
|
||||||
|
class Induties::AssignInDutiesTest < ApplicationSystemTestCase
|
||||||
|
# test "visiting the index" do
|
||||||
|
# visit induties_assign_in_duties_url
|
||||||
|
#
|
||||||
|
# assert_selector "h1", text: "Induties::AssignInDuty"
|
||||||
|
# end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user