Created
September 1, 2016 18:44
-
-
Save Unkas82/bf555737f8d7acd924b161b9b8a5120d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class CasesController < ApplicationController | |
def index | |
@cases = Case.all | |
end | |
def show | |
@case = Case.find(params[:id]) | |
@casepos_b = CasePosition.where(case_id: params[:id], buysell: "buyer") | |
@casepos_s = CasePosition.where(case_id: params[:id], buysell: "seller") | |
@casedoc_b = CaseDoc.where(case_id: params[:id], buysell: "buyer").order(:doctype) | |
@casedoc_s = CaseDoc.where(case_id: params[:id], buysell: "seller").order(:doctype) | |
@casebuh_b = CaseBuh.where(case_id: params[:id], buysell: "buyer") | |
@casebuh_s = CaseBuh.where(case_id: params[:id], buysell: "seller") | |
@casebuh = CaseBuh.new | |
#@statuses = ["0", "a_value1", "0", "a_value2", "0"] | |
end | |
def new | |
@case = Case.new | |
end | |
def create | |
@case = Case.new(case_params) | |
@case.casedate = DateTime.now | |
if @case.save | |
create_case_docs(@case.id) | |
#flash[:success] = "Кейс был создан успешно" | |
redirect_to case_path(@case.id) | |
else | |
#flash[:success] = "Не удалось создать Кейс" | |
render 'new' | |
end | |
end | |
############# ДОБАВЛЕНИЕ СТРОК В КЕЙС ######################################## | |
def add_case_pos_row | |
env["HTTP_REFERER"] += '#pos-anc' | |
cp = CasePosition.new | |
cp.case_id = params[:case_id] | |
cp.product_id = params[:product_id][:id] | |
cp.count = params[:count] | |
cp.cost = params[:cost] | |
cp.sum = params[:sum] | |
cp.buysell = params[:buysell] | |
cp.date_load = params[:date_load][:date_load] | |
cp.consignee = params[:consignee][:id] | |
if cp.save | |
refresh_case_total(params[:case_id], params[:buysell]) | |
end | |
redirect_to :back | |
end | |
def refresh_case_doc_row | |
env["HTTP_REFERER"] += '#doc-anc' #for anchor position returning | |
if params[:doctype_id][:doctype_id].present? | |
cd = CaseDoc.find_by(case_id: params[:case_id], buysell: params[:buysell], doctype: params[:doctype_id][:doctype_id]) | |
#binding.pry | |
cd.docname = params[:docname] | |
cd.docstatus = params[:docstatus][:docstatus] | |
end | |
redirect_to :back | |
end | |
def add_case_buh_row | |
env["HTTP_REFERER"] += '#buh-anc' | |
par = params[:case_buh] | |
#@casebuh = CaseBuh.new | |
@casebuh.case_id = par[:case_id] | |
@casebuh.sum = par[:sum] | |
@casebuh.date_buh = par[:date_buh] | |
@casebuh.buysell = par[:buysell] | |
@casebuh.save | |
redirect_to :back | |
end | |
################################################################################################################### | |
def refresh_case_total(case_id, buysell) | |
this_case = Case.find(case_id) | |
this_case_poses = CasePosition.where(case_id: case_id, buysell: buysell) | |
sum = view_context.get_total(this_case_poses) | |
case | |
when buysell == "buyer" | |
this_case.sum_buy = sum | |
when buysell == "seller" | |
this_case.sum_sell = sum | |
end | |
this_case.save | |
end | |
private | |
def case_params | |
params.require(:case).permit(:casedate, :company_id,:path, | |
:buyer_id, :currency_buy, :pdate_buy, :contact_buy, :comment_buy, | |
:seller_id, :currency_sell, :pdate_sell, :contact_sell, :comment_sell) | |
end | |
def create_case_docs(case_id) | |
doctypes = Doctype.all | |
doctypes.each do |doctype| | |
cd = CaseDoc.new | |
cd.case_id = case_id | |
cd.doctype = doctype.id | |
cd.buysell = "buyer" | |
cd.save | |
cd = CaseDoc.new | |
cd.case_id = case_id | |
cd.doctype = doctype.id | |
cd.buysell = "seller" | |
cd.save | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment