Fix bug.Add bill copy feature.
This commit is contained in:
parent
ff52810237
commit
24294862e4
|
@ -2,7 +2,7 @@
|
|||
class Admin::VenueAdminController < OrbitAdminController
|
||||
#alias_method :org_datetime_picker, :datetime_picker
|
||||
#include OrbitFormHelper
|
||||
before_action :set_calendar_types,only: [:edit,:new]
|
||||
before_action :set_calendar_types,only: [:edit,:new,:copy]
|
||||
def set_calendar_types
|
||||
@calendar_types = CalendarType.all.collect{|v| [v.title,v.id.to_s]}
|
||||
@module_pages = Page.where(:module => 'venue_management').collect{|p| [p.name,p.id] }
|
||||
|
|
|
@ -16,7 +16,7 @@ class Admin::VenueManagementBillsController < Admin::VenueAdminController
|
|||
"bill_type",
|
||||
"caculation_basis",
|
||||
"reason",
|
||||
"amount",
|
||||
"total_amount",
|
||||
"pay_date",
|
||||
"pay_method",
|
||||
"note"
|
||||
|
@ -40,7 +40,22 @@ class Admin::VenueManagementBillsController < Admin::VenueAdminController
|
|||
def edit
|
||||
@venue_management = VenueManagementMain.find(@venue_management_bill.venue_management_main_id)
|
||||
end
|
||||
def copy
|
||||
@venue_management_bill_to_copy = VenueManagementBill.find(params[:id])
|
||||
attributes = @venue_management_bill_to_copy.attributes.except("_id","updated_at","created_at")
|
||||
VenueManagementBill.fields.each do |k,v|
|
||||
if v.options[:localize]
|
||||
attributes.delete k
|
||||
attributes[k+"_translations"] = @venue_management_bill_to_copy[k]
|
||||
elsif attributes[k].class == Hash
|
||||
attributes[k] = BSON::Document.new(attributes[k])
|
||||
end
|
||||
end
|
||||
|
||||
@venue_management_bill = VenueManagementBill.new(attributes)
|
||||
#render :html =>attributes and return
|
||||
@venue_management = VenueManagementMain.find(@venue_management_bill_to_copy.venue_management_main_id)
|
||||
end
|
||||
def update
|
||||
@venue_management_bill.update_attributes(venue_management_bill_params)
|
||||
|
||||
|
|
|
@ -337,7 +337,7 @@ class Admin::VenueManagementsController < Admin::VenueAdminController
|
|||
"bill_type",
|
||||
"caculation_basis",
|
||||
"reason",
|
||||
"amount",
|
||||
"total_amount",
|
||||
"pay_date",
|
||||
"pay_method",
|
||||
"note"
|
||||
|
|
|
@ -18,7 +18,9 @@ class VenueManagementBill
|
|||
f=field_values.shift(1)
|
||||
field_values.push(f[0])
|
||||
result += inner_product(field_values,percents)
|
||||
result = result / 100",
|
||||
result = result / 100
|
||||
if(result < 0)
|
||||
result = 0",
|
||||
"degree"=>"
|
||||
field_values.push(consumption)
|
||||
dollardegrees.push(0)
|
||||
|
@ -26,17 +28,28 @@ class VenueManagementBill
|
|||
f=field_values.shift(1)
|
||||
field_values.push(f[0])
|
||||
result += inner_product(field_values,dollardegrees)
|
||||
",
|
||||
if(result < 0)
|
||||
result = 0",
|
||||
"actual_bill"=>"
|
||||
result = bill_amount",
|
||||
result = bill_amount
|
||||
if(result < 0)
|
||||
result = 0",
|
||||
"fixed"=>"
|
||||
result = amount",
|
||||
result = amount
|
||||
if(result < 0)
|
||||
result = 0",
|
||||
"taxable_present_value"=>"
|
||||
result = taxable_tax",
|
||||
result = taxable_tax
|
||||
if(result < 0)
|
||||
result = 0",
|
||||
"announced_land_values"=>"
|
||||
result = taxable_tax",
|
||||
result = taxable_tax
|
||||
if(result < 0)
|
||||
result = 0",
|
||||
"other"=>"
|
||||
result = amount"
|
||||
result = amount
|
||||
if(result < 0)
|
||||
result = 0"
|
||||
}
|
||||
CACULATIONBASIS = {'revenue'=>"revenue",
|
||||
"degree"=>"consumption",
|
||||
|
@ -88,9 +101,15 @@ class VenueManagementBill
|
|||
# end
|
||||
# end
|
||||
# end
|
||||
# after_save do |record|
|
||||
# venue_management_main = record.venue_management_main
|
||||
# if !venue_management_main.venue_management_bill_ids.include?(record.id)
|
||||
# venue_management_main.update(venue_management_main.venue_management_bill_ids.push(record.id))
|
||||
# end
|
||||
# end
|
||||
def display_caculation_basis
|
||||
caculation_basis_val = eval("#{self.class::CACULATIONBASIS[self.caculation_basis_type]}")
|
||||
return "#{I18n.t("vm_bill.#{self.caculation_basis_type}")}: #{caculation_basis_val}"
|
||||
return "#{I18n.t("vm_bill.#{self.class::CACULATIONBASIS[self.caculation_basis_type]}")}: #{caculation_basis_val}"
|
||||
end
|
||||
def display_accounting_month
|
||||
return (self.accounting_month.strftime("%Y-%m") rescue "")
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
</style>
|
||||
<!-- Input Area -->
|
||||
<div class="input-area">
|
||||
|
||||
<% new_record = @venue_management_bill.new_record? && params["action"] != "copy" %>
|
||||
<!-- Module -->
|
||||
<div class="tab-content module-area">
|
||||
<!-- Basic Module -->
|
||||
|
@ -37,14 +37,14 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t('vm_bill.accounting_month') %></label>
|
||||
<div class="controls">
|
||||
<%= f.datetime_picker :accounting_month, :no_label => true, :format=>"yyyy/MM", :new_record => @venue_management_bill.new_record? %>
|
||||
<%= f.datetime_picker :accounting_month, :no_label => true, :format=>"yyyy/MM", :new_record => new_record %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t('vm_bill.bill_type') %></label>
|
||||
<div class="controls">
|
||||
<%= f.select :bill_typeA, @venue_management_bill.class::BILLTYPE.keys.map { |k| [ I18n.t("vm_bill.#{k}"), k ] },{},{:onchange=>"var $this=this;console.log($this.value);(function(){var obj=#{@venue_management_bill.class::BILLTYPE.map{|k,v| [k,v.map{|vv| [vv,I18n.t("vm_bill.#{vv}")]}.to_h]}.to_h.to_s.gsub('=>',':')};$($this).siblings('select').html($.map(obj[$this.value],function(v,k){return \'<option value=\"\'+k+\'\">\'+v+\'</option>\'}).join(\' \'))})()"} %>
|
||||
<% bill_typeB = @venue_management_bill.new_record? ? @venue_management_bill.class::BILLTYPE.values.first : @venue_management_bill.class::BILLTYPE[@venue_management_bill.bill_typeA] %>
|
||||
<% bill_typeB = new_record ? @venue_management_bill.class::BILLTYPE.values.first : @venue_management_bill.class::BILLTYPE[@venue_management_bill.bill_typeA] %>
|
||||
<%= f.select :bill_typeB, bill_typeB.map { |v| [ I18n.t("vm_bill.#{v}"), v ] }, {}, {:onchange=> "var $this=this;(function(){if($this.value == 'other') $('#bill_other_field').removeClass('hidden');else $('#bill_other_field').addClass('hidden');})()"} %>
|
||||
<div id="bill_other_field" class="tab-content language-area <%=@venue_management_bill.bill_typeB == 'other' ? '' : 'hidden'%>">
|
||||
<div class="input-append">
|
||||
|
@ -76,7 +76,7 @@
|
|||
<%= f.select :caculation_basis_type, cbt.keys.map { |k| [ I18n.t("vm_bill.#{k}"), k ] }, {}, :id=>'caculation_basis_type' %>
|
||||
</div>
|
||||
</div>
|
||||
<% caculation_basis_type = (@venue_management_bill.new_record? ? cbt.keys.first : @venue_management_bill.caculation_basis_type) %>
|
||||
<% caculation_basis_type = (new_record ? cbt.keys.first : @venue_management_bill.caculation_basis_type) %>
|
||||
<div id="caculation_basis_content">
|
||||
<% cbt[caculation_basis_type].each do |k,v| %>
|
||||
<% no_margin = (v['no_margin'] rescue false) ? 'no_margin' : '' %>
|
||||
|
@ -123,13 +123,13 @@
|
|||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t('vm_bill.deadline') %></label>
|
||||
<div class="controls">
|
||||
<%= f.datetime_picker :deadline, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_bill.new_record? %>
|
||||
<%= f.datetime_picker :deadline, :no_label => true, :format=>"yyyy/MM/dd", :new_record => new_record %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t('vm_bill.received_date') %></label>
|
||||
<div class="controls">
|
||||
<%= f.datetime_picker :received_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_bill.new_record? %>
|
||||
<%= f.datetime_picker :received_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => new_record %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<ul class="nav nav-pills">
|
||||
<% if can_edit_or_delete?(bill) %>
|
||||
<li><%= link_to t(:edit), edit_admin_venue_management_bill_path(bill.id) %></li>
|
||||
<li><%= link_to t(:copy), copy_admin_venue_management_bills_path(:id=>bill.id) %></li>
|
||||
<li><a href="#" class="delete text-error" rel="/admin/venue_management_bills/<%=bill.id.to_s%>"><%= t(:delete_) %></a></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
@ -39,7 +40,7 @@
|
|||
</td>
|
||||
<td><%= bill.display_caculation_basis %></td>
|
||||
<td><%= bill.reason %></td>
|
||||
<td><%= bill.amount %></td>
|
||||
<td><%= bill.total_amount %></td>
|
||||
<td><%= bill.pay_date %></td>
|
||||
<td><%= bill.pay_method %></td>
|
||||
<td><%= bill.note %></td>
|
||||
|
@ -56,9 +57,21 @@
|
|||
<% if @venue_management.present? %>
|
||||
<!-- footer -->
|
||||
<div class="bottomnav clearfix">
|
||||
<div class="action pull-right">
|
||||
<%= link_to content_tag(:i, nil, class: "icons-plus") + " " + t(:add), new_admin_venue_management_bill_path(id: @venue_management.id), class: "btn btn-primary" %>
|
||||
</div>
|
||||
<%= content_tag :div, class: "pagination pagination-centered" do %>
|
||||
<%= paginate(@bills) %>
|
||||
<div class="action pull-right">
|
||||
<%= link_to content_tag(:i, nil, class: "icons-plus") + " " + t(:add), new_admin_venue_management_bill_path(id: @venue_management.id), class: "btn btn-primary" %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<!-- footer:end -->
|
||||
<% end %>
|
||||
<style type="text/css">
|
||||
.pagination-centered .pagination{
|
||||
width: calc(100% - 6em);
|
||||
float: left;
|
||||
}
|
||||
.main-list {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
<%= form_for @venue_management_bill, url: admin_venue_management_bills_path, html: {class: "form-horizontal main-forms"} do |f| %>
|
||||
<fieldset>
|
||||
<%= render :partial => 'form', locals: {f: f} %>
|
||||
</fieldset>
|
||||
<% end %>
|
|
@ -54,9 +54,21 @@
|
|||
<% if @venue_management.present? %>
|
||||
<!-- footer -->
|
||||
<div class="bottomnav clearfix">
|
||||
<div class="action pull-right">
|
||||
<%= link_to content_tag(:i, nil, class: "icons-plus") + " " + t(:add), new_admin_venue_management_contract_path(id: @venue_management.id), class: "btn btn-primary" %>
|
||||
</div>
|
||||
<%= content_tag :div, class: "pagination pagination-centered" do %>
|
||||
<%= paginate(@contracts) %>
|
||||
<div class="action pull-right">
|
||||
<%= link_to content_tag(:i, nil, class: "icons-plus") + " " + t(:add), new_admin_venue_management_contract_path(id: @venue_management.id), class: "btn btn-primary" %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<!-- footer:end -->
|
||||
<% end %>
|
||||
<style type="text/css">
|
||||
.pagination-centered .pagination{
|
||||
width: calc(100% - 6em);
|
||||
float: left;
|
||||
}
|
||||
.main-list {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
</style>
|
|
@ -51,9 +51,21 @@
|
|||
<% if @venue_management.present? %>
|
||||
<!-- footer -->
|
||||
<div class="bottomnav clearfix">
|
||||
<div class="action pull-right">
|
||||
<%= link_to content_tag(:i, nil, class: "icons-plus") + " " + t(:add), new_admin_venue_management_inviting_path(id: @venue_management.id), class: "btn btn-primary" %>
|
||||
</div>
|
||||
<%= content_tag :div, class: "pagination pagination-centered" do %>
|
||||
<%= paginate(@invitings) %>
|
||||
<div class="action pull-right">
|
||||
<%= link_to content_tag(:i, nil, class: "icons-plus") + " " + t(:add), new_admin_venue_management_inviting_path(id: @venue_management.id), class: "btn btn-primary" %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<!-- footer:end -->
|
||||
<% end %>
|
||||
<style type="text/css">
|
||||
.pagination-centered .pagination{
|
||||
width: calc(100% - 6em);
|
||||
float: left;
|
||||
}
|
||||
.main-list {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
</style>
|
|
@ -44,9 +44,21 @@
|
|||
<% if @venue_management.present? %>
|
||||
<!-- footer -->
|
||||
<div class="bottomnav clearfix">
|
||||
<div class="action pull-right">
|
||||
<%= link_to content_tag(:i, nil, class: "icons-plus") + " " + t(:add), new_admin_venue_management_memorabilia_path(id: @venue_management.id), class: "btn btn-primary" %>
|
||||
</div>
|
||||
<%= content_tag :div, class: "pagination pagination-centered" do %>
|
||||
<%= paginate(@memorabilias) %>
|
||||
<div class="action pull-right">
|
||||
<%= link_to content_tag(:i, nil, class: "icons-plus") + " " + t(:add), new_admin_venue_management_memorabilia_path(id: @venue_management.id), class: "btn btn-primary" %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<!-- footer:end -->
|
||||
<% end %>
|
||||
<style type="text/css">
|
||||
.pagination-centered .pagination{
|
||||
width: calc(100% - 6em);
|
||||
float: left;
|
||||
}
|
||||
.main-list {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -41,8 +41,8 @@
|
|||
<td class="venue_managementive-title-value"><%= @venue_management_bill.reason %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="venue_managementive-title-field"><%= t('vm_bill.amount') %></th>
|
||||
<td class="venue_managementive-title-value"><%= @venue_management_bill.amount %></td>
|
||||
<th class="venue_managementive-title-field"><%= t('vm_bill.total_amount') %></th>
|
||||
<td class="venue_managementive-title-value"><%= @venue_management_bill.total_amount %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="venue_managementive-title-field"><%= t('vm_bill.pay_date') %></th>
|
||||
|
|
|
@ -354,7 +354,7 @@
|
|||
"bill_type",
|
||||
"caculation_basis",
|
||||
"reason",
|
||||
"amount",
|
||||
"total_amount",
|
||||
"pay_date",
|
||||
"pay_method",
|
||||
"note"
|
||||
|
@ -385,7 +385,7 @@
|
|||
</td>
|
||||
<td><%= bill.display_caculation_basis %></td>
|
||||
<td><%= bill.reason %></td>
|
||||
<td><%= bill.amount %></td>
|
||||
<td><%= bill.total_amount %></td>
|
||||
<td><%= bill.pay_date %></td>
|
||||
<td><%= bill.pay_method %></td>
|
||||
<td><%= bill.note %></td>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
en:
|
||||
|
||||
copy: Copy
|
||||
simple_captcha:
|
||||
placeholder: ""
|
||||
label: ""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
zh_tw:
|
||||
|
||||
copy: 複製
|
||||
simple_captcha:
|
||||
placeholder: ""
|
||||
label: ""
|
||||
|
|
|
@ -29,7 +29,13 @@ Rails.application.routes.draw do
|
|||
resources :venue_management_item_contents
|
||||
resources :venue_management_invitings
|
||||
resources :venue_management_memorabilias
|
||||
resources :venue_management_bills
|
||||
resources :venue_management_bills do
|
||||
collection do
|
||||
scope "(:id)" do
|
||||
get 'copy', to: 'venue_management_bills#copy'
|
||||
end
|
||||
end
|
||||
end
|
||||
resources :venue_management_contracts do
|
||||
collection do
|
||||
post 'fetch_inviting'
|
||||
|
|
Loading…
Reference in New Issue