Class: EdiInvoicesController
Instance Method Summary
collapse
#accessible_company_ids_from_tenant_and_user, #application_mode_from_hostname, #current_company_id_from_accessible_company_ids, #current_tenant_from_user, #current_user_and_locale_from_token
Instance Method Details
#counts ⇒ Object
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# File 'app/controllers/edi_invoices_controller.rb', line 116
def counts
edi_invoice_id = params[:edi_invoice_id]
invoice = EdiInvoice.where(edi_invoice_id: edi_invoice_id, company_id: current_company_id)
if invoice.exists?
count_of_names = EdiInvoiceName.where(edi_invoice_id: edi_invoice_id).count
count_of_lines = EdiInvoiceLine.where(edi_invoice_id: edi_invoice_id, company_id: current_company_id).count
render json: {
invoice_no: invoice.first.invoice_no,
count_of_edi_invoice_lines: count_of_lines,
count_of_edi_invoice_names: count_of_names
}
else
render json: { error: I18n.t('edi_invoices.edi_invoice_not_found') }, status: :not_found
end
end
|
#index ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'app/controllers/edi_invoices_controller.rb', line 10
def index
display_length = params[:limit] || 10
search_value = params[:query] || ''
display_start_from_page_no = params[:offset] || 1
order_by = params[:order_by] || 'invoice_date'
order_direction = params[:order_direction] || 'DESC'
grouping = "#{order_by} #{order_direction}"
company_id = current_company_id
edi_partner_id = params[:edi_partner_id]
result = EdiInvoice.edi_invoices_by_page(
display_length: display_length,
search_value: search_value,
display_start_from_page_no: display_start_from_page_no,
grouping: grouping,
company_id: company_id,
edi_partner_id: edi_partner_id
)
render json: {
data: result[:data].as_json(
methods: [:type_description]
),
metadata: result[:metadata]
}
end
|
#invoice_lines ⇒ Object
93
94
95
96
97
|
# File 'app/controllers/edi_invoices_controller.rb', line 93
def invoice_lines
edi_invoice_id = params[:edi_invoice_id]
results = EdiInvoiceLine.where(edi_invoice_id: edi_invoice_id, company_id: current_company_id)
render json: results
end
|
#invoice_names ⇒ Object
82
83
84
85
86
87
88
89
90
91
|
# File 'app/controllers/edi_invoices_controller.rb', line 82
def invoice_names
edi_invoice_id = params[:edi_invoice_id]
invoice = EdiInvoice.where(edi_invoice_id: edi_invoice_id, company_id: current_company_id)
if invoice.exists?
results = EdiInvoiceName.where(edi_invoice_id: edi_invoice_id)
render json: results
else
render json: { error: I18n.t('edi_invoices.edi_invoice_not_found') }, status: :not_found
end
end
|
#show ⇒ Object
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# File 'app/controllers/edi_invoices_controller.rb', line 99
def show
edi_invoice_id = params[:id]
company_id = current_company_id
edi_invoice = EdiInvoice.find_by(edi_invoice_id: edi_invoice_id, company_id: company_id)
edi_invoice_lines = EdiInvoiceLine.where(edi_invoice_id: edi_invoice_id, company_id: company_id)
if edi_invoice
render json: {
invoice: edi_invoice.as_json(
methods: [:type_description]
),
edi_invoice_lines: edi_invoice_lines
}
else
render json: { error: I18n.t('edi_invoices.edi_invoice_not_found') }, status: :not_found
end
end
|
#update_edi_210 ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'app/controllers/edi_invoices_controller.rb', line 36
def update_edi_210
edi_invoice_id = params[:id]
begin
edi_invoice = EdiInvoice.find_by!(edi_invoice_id: edi_invoice_id, company_id: current_company_id)
updated_invoice = EdiInvoice.update_edi_invoice(
edi_invoice_id: edi_invoice_id,
purchase_order_no: params[:purchase_order_no],
shipment_identification_no: params[:shipment_identification_no]
)
render json: {
invoice: updated_invoice.as_json(
methods: [:type_description]
),
message: I18n.t('edi_invoices.invoice_updated_successfully')
}
rescue ActiveRecord::RecordNotFound
render json: { error: I18n.t('edi_invoices.edi_invoice_not_found') }, status: :not_found
end
end
|
#update_edi_210_rate_charge ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'app/controllers/edi_invoices_controller.rb', line 59
def update_edi_210_rate_charge
edi_line_item_rate_charge_id = params[:edi_line_item_rate_charge_id]
edi_invoice_line_id = params[:edi_invoice_line_id]
begin
invoice_line = EdiInvoiceLine.find_by!(edi_invoice_line_id: edi_invoice_line_id, company_id: current_company_id)
updated_rate_charge = EdiInvoiceLine.update_edi_210_rate_charge(
edi_line_item_rate_charge_id: edi_line_item_rate_charge_id,
edi_invoice_line_id: edi_invoice_line_id,
charge_indicator: params[:charge_indicator]
)
render json: {
rate_charge: updated_rate_charge,
message: I18n.t('edi_invoices.charge_indicator_updated_successfully')
}
rescue ActiveRecord::RecordNotFound
render json: { error: I18n.t('edi_invoices.edi_invoice_line_not_found') }, status: :not_found
end
end
|