Class: CompaniesController
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
#companies_by_tenant ⇒ Object
118
119
120
121
122
123
124
125
|
# File 'app/controllers/companies_controller.rb', line 118
def companies_by_tenant
data = ActiveRecord::Base.connection.execute_procedure(
'pr_get_companies',
0,
nil
)
render json: { data: data }
end
|
#company_details ⇒ Object
25
26
27
28
29
30
31
32
33
34
|
# File 'app/controllers/companies_controller.rb', line 25
def company_details
company = Company.find(params[:company_id])
data = Company.find_by_procedure(params[:company_id]).merge(
ship_province: company.ship_province
)
render json: {
data: data
}
end
|
#create ⇒ Object
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# File 'app/controllers/companies_controller.rb', line 82
def create
render json: {}, status: :not_found
end
|
#current ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'app/controllers/companies_controller.rb', line 36
def current
company = Company.find_by_procedure(current_company_id)
data = company.merge({
province: current_company.province,
ship_province: current_company.ship_province,
duns_no: current_company.duns_no&.strip,
payroll_frequency_option: current_company.payroll_frequency_option,
phone_no: current_company.phone_no,
ship_phone_no: current_company.ship_phone_no,
default_language_option: current_company.default_language_option,
industry_sector_option: current_company.industry_sector_option,
gvt_remittance_frequency_option: current_company.gvt_remittance_frequency_option,
business_start_date: current_company.business_start_date,
exempt_from_fss: current_company.exempt_from_fss,
exempt_from_fss_end_date: current_company.exempt_from_fss_end_date,
company_name_e: current_company.company_name_e
})
render json: {
data: data
}
end
|
#destroy ⇒ Object
114
115
116
|
# File 'app/controllers/companies_controller.rb', line 114
def destroy
render json: {}, status: :not_found
end
|
141
142
143
144
145
146
147
148
149
150
|
# File 'app/controllers/companies_controller.rb', line 141
def
render json: {
data: {
contacts_count: current_company.contacts.count,
bank_accounts_count: current_company.bank_accounts.count,
reports_count: current_company.reports.count
}
}
end
|
#index ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'app/controllers/companies_controller.rb', line 60
def index
companies = accessible_companies.map do |company|
payroll_frequency_type = TypesMaster.payroll_frequencies.find_by(type: company.payroll_frequency)
company.attributes.merge(
province: company.province,
ship_province: company.ship_province,
duns_no: company.duns_no&.strip,
payroll_frequency: {
type: company.payroll_frequency,
type_description: payroll_frequency_type&.type_description,
type_id: payroll_frequency_type&.types_id
},
phone_no: HasPhone.format_phone(company.phone_no),
ship_phone_no: HasPhone.format_phone(company.ship_phone_no)
)
end
render json: {
data: companies
}
end
|
#options ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'app/controllers/companies_controller.rb', line 11
def options
query = params[:query] || ''
company_options = accessible_companies
.select(:company_code, :company_name_e)
.where(tenant_id: current_user.tenant_id)
.where('company_name_e LIKE :query', query: "%#{query}%")
.order(:company_name_e)
.limit(10)
render json: {
data: company_options
}
end
|
#rl1_summary ⇒ Object
160
161
162
163
164
165
166
|
# File 'app/controllers/companies_controller.rb', line 160
def rl1_summary
file = Rl1Summary.dummy.to_file(
signed_by: 'Charbel Tabet'
)
send_file file, type: 'application/pdf', disposition: 'inline'
end
|
#t4_summary ⇒ Object
152
153
154
155
156
157
158
|
# File 'app/controllers/companies_controller.rb', line 152
def t4_summary
file = T4Summary.dummy.to_file(
signed_by: 'Charbel Tabet'
)
send_file file, type: 'application/pdf', disposition: 'inline'
end
|
#update ⇒ Object
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
# File 'app/controllers/companies_controller.rb', line 96
def update
company = current_company
company.assign_attributes(company_params)
company.write_procedure(validate: false)
render json: {
message: I18n.t('messages.company_updated'),
redirect_to: params[:from_url] || '/app/settings/company'
}
rescue ActiveRecord::RecordInvalid => e
render json: {
errors: e.record.errors,
message: e.record.errors.full_messages.join(', '),
redirect_to: params[:from_url] || '/app/settings/company'
}, status: :bad_request
end
|