torg_api 0.0.13 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0e8eb286873d0e3ccd6b770d9663731630b5fe34
4
- data.tar.gz: 5c71f056cc08b95d4edf7c2942c3ad56c9c43486
3
+ metadata.gz: b925da3f0f40233b8c98961e83ad8dd8ae2b5536
4
+ data.tar.gz: 0eca135c5ae8534992563720f26b1c97ffda8607
5
5
  SHA512:
6
- metadata.gz: 4dbb6dd0a1ae388b1e5a42ba14165967f7729d8938817cb1486d58622ae29d552a72d83250c9fef894ecc9fdb4551fa3fb2ca675a01748f8b72264d11d5ec9ed
7
- data.tar.gz: fedf35960687a89a6e1345d17b0e84c461b7d297951bf40b619cc9b8306492ea0afd064ffbf022b60802959fb99f0941c94e0f4cf30c0cc5d453fe76fc09c8b2
6
+ metadata.gz: e3b92f977978cae095037a3882a6a0fe22920b7a7b590c4d6040ddcf0af3667b11b6b233b76c8b623de4fa6bd11fe469ac5397d4b91b219ae40c6799b72c6994
7
+ data.tar.gz: 9a1b04fd80d0971d03d844dfd9c1127169d3536f41213d0305ac082231a5724bdf87335a004ced4a0fc213336f00e2d960052d961b26cc120cf2aeed0a1b4317
data/README.md CHANGED
@@ -23,19 +23,18 @@ require 'torg_api'
23
23
  require 'awesome_print'
24
24
  require 'logger'
25
25
 
26
- # Параметры подключения к БД
27
- TorgApi.establish_connection(
28
- adapter: 'oracle_enhanced',
29
- database: 'ksazd_backup',
30
- username: 'user',
31
- password: 'pass'
32
- )
26
+ # Пердварительная настройка
27
+ # Параметры подключения к системе Tender Organizer
28
+ TorgApi::Settings.torg_url_configure(host: 'http://login:password@host:port')
33
29
 
34
- # Логгер если нужен
35
- TorgApi.logger = Logger.new('queries.log')
30
+ # ИД пользователя в системе Tender Organizer, от имени которого будет работать библиотека
31
+ TorgApi::Settings.service_user_configure(id: user_id)
32
+
33
+
34
+ # Пример использования
36
35
 
37
36
  # Пример поиска по ИНН контрагентов
38
- ids = TorgApi::Api::Contractor.find_by_inn('7707083893')
37
+ ids = TorgApi::Api::Contractor.find_by_inn('2721124655')
39
38
  ap ids
40
39
 
41
40
  # Пример создания контрагента
@@ -68,8 +67,10 @@ firm_info = {
68
67
  is_smb: false
69
68
  }
70
69
 
71
- contractor_id = TorgApi::Api::Contractor.create_from_b2b(firm_info, 555)
72
- ap contractor_id
70
+ b2b_hash = {:firm_id=>"277550", :date_lastedit=>nil, :org_name=>"Общество с ограниченной ответственностью \"АГЕНТСТВО ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ \"ИНСО - ЭНЕРГО\"", :org_name_short=>"ООО \"АИС \"ИНСО - ЭНЕРГО\"", :code_okpo=>"51257002", :bank_name=>nil, :bank_inn=>"7728194072", :ogrn=>"1037739581197", :ogrn_given=>nil, :ogrn_date_given=>nil, :bank_kpp=>"772401001", :bank_bik=>nil, :bank_r_account=>nil, :bank_c_account=>nil, :bank_comments=>nil, :jury_address=>"115201, Россия, г. Москва, Каширское ш., д. 22, корп. 3", :post_address=>"115201, Россия, г. Москва, Каширское ш., д. 22, корп. 3", :fact_address=>"115201, Россия, г. Москва, Каширское ш., д. 22, корп. 3", :site_url=>nil, :certification=>nil, :org_details=>nil, :bank_details=>nil, :country=>643, :is_smb=>false}
71
+
72
+ # c = TorgApi::Api::Contractor.create_from_b2b(b2b_hash)
73
+ ap с
73
74
  ```
74
75
 
75
76
  ## Documentation
@@ -15,33 +15,56 @@ module TorgApi
15
15
  # @param tender_id [Integer] id закупки
16
16
  # @param date_offer [Time] Дата и время регистрации конверта участника
17
17
  # @return [Bidder]
18
- def create(contractor_id, tender_id, date_offer = nil)
19
- b = nil
20
- TorgApi::Models::Bidder.transaction do
21
- b = TorgApi::Models::Bidder.create!(
22
- tender_id: tender_id,
23
- contractor_id: contractor_id
24
- )
25
18
 
26
- TorgApi::Models::Cover.create!(
27
- bidder_id: b.id,
28
- register_time: date_offer,
29
- type_id: CoverLabels::REQUEST,
30
- delegate: 'B2B-Center',
31
- provision: 'Электронный конверт'
32
- )
33
- end
19
+ def create(contractor_id, tender_id, date_offer = nil)
20
+ responce_b = JSON.parse(
21
+ RestClient.post(
22
+ [Settings.torg_url[:host], "tenders", tender_id, "bidders"].join('/'),
23
+ bidder: {
24
+ tender_id: tender_id,
25
+ contractor_id: contractor_id,
26
+ covers_attributes: {
27
+ '0' => {
28
+ _destroy: false,
29
+ compound_register_time_attributes: {
30
+ date: date_offer && date_offer.strftime('%d.%m.%Y'),
31
+ time: date_offer && date_offer.strftime('%H:%M')
32
+ },
33
+ type_id: CoverLabels::REQUEST,
34
+ delegate: 'B2B-Center',
35
+ provision: 'Электронный конверт'
36
+ }
37
+ }
38
+ },
39
+ accept: :json,
40
+ content_type: :json,
41
+ format: :json
42
+ ),
43
+ symbolize_names: true
44
+ )
34
45
 
35
- b.to_api
46
+ b = new
47
+ b.tender_id = responce_b[:tender_id]
48
+ b.contractor_id = responce_b[:contractor_id]
49
+ b.id = responce_b[:id]
50
+ b
36
51
  end
37
52
  end
38
-
39
53
  # Проверяет, есть ли файл с таким именем у данного участника
40
54
  # @param file_name [String] Имя файла во внешней системе
41
55
  # return [Boolean]
42
56
  def file_exists?(file_name)
43
- bidder = TorgApi::Models::Bidder.find(id)
44
- bidder.bidder_files.file_exists?(file_name)
57
+ responce = JSON.parse(
58
+ RestClient.get(
59
+ [Settings.torg_url[:host], "tenders", tender_id, "bidders", id, "file_exists"].join('/'),
60
+ params: { file_name: file_name },
61
+ accept: :json,
62
+ content_type: :json,
63
+ format: :json
64
+ ),
65
+ symbolize_names: true
66
+ )
67
+ responce[:exists]
45
68
  end
46
69
 
47
70
  # Добавляет файл предложения участника к нему
@@ -50,20 +73,41 @@ module TorgApi
50
73
  # @param note [String] Комментарии
51
74
  # @return Nothing
52
75
  def add_file(file, name = nil, note = nil)
53
- TorgApi::Models::BidderFile.transaction do
54
- tender_file = TorgApi::Models::TenderFile.create(
55
- area_id: TenderFileArea::BIDDER,
56
- year: Date.current.year,
57
- document: File.open(file),
58
- user_id: Settings.service_user[:id],
59
- external_filename: name
60
- )
61
- TorgApi::Models::BidderFile.create!(
62
- bidder_id: id,
63
- tender_file_id: tender_file.id,
64
- note: note
65
- )
66
- end
76
+ responce_f = JSON.parse(
77
+ RestClient.post(
78
+ [Settings.torg_url[:host], "tender_files"].join('/'),
79
+ tender_file: {
80
+ area_id: TenderFileArea::BIDDER,
81
+ year: Date.current.year,
82
+ document: File.open(file),
83
+ external_filename: name
84
+ },
85
+ accept: :json,
86
+ content_type: :json,
87
+ format: :json
88
+ ),
89
+ symbolize_names: true
90
+ )
91
+
92
+ responce_bf = JSON.parse(
93
+ RestClient.patch(
94
+ [Settings.torg_url[:host], "tenders", tender_id, "bidders", id].join('/'),
95
+ bidder: {
96
+ bidder_files_attributes: {
97
+ '0' => {
98
+ note: note,
99
+ tender_file_id: responce_f[:id],
100
+ bidder_id: id
101
+ }
102
+ }
103
+ },
104
+ accept: :json,
105
+ content_type: :json,
106
+ format: :json
107
+ ),
108
+ symbolize_names: true
109
+ )
110
+ responce_bf
67
111
  end
68
112
  end
69
113
  end
@@ -46,18 +46,47 @@ module TorgApi
46
46
  attr_accessor :jsc_form_id
47
47
  # @return [Integer] Малое или среднее предпринимательство
48
48
  attr_accessor :sme_type_id
49
+ # @return [String] ОКТМО
50
+ attr_accessor :oktmo
51
+ # @return [String] Дата регистрации юр. лица
52
+ attr_accessor :reg_date
49
53
 
50
54
  class << self
51
55
  # Поиск id контрагентов по ИНН
52
56
  # @param inn [String] ИНН
53
57
  # @return [Integer[]] Массив id найденных контрагентов отсортированных по статусу и дате изменения
54
58
  def find_by_inn(inn)
55
- TorgApi::Models::Contractor
56
- .where(inn: inn)
57
- .where(next_id: nil)
58
- .order("#{DECODE_STATUS_ORDER}, updated_at desc")
59
- .first
60
- .try(:to_api)
59
+ responce = JSON.parse(
60
+ RestClient.get(
61
+ [Settings.torg_url[:host], "contractors", "find_by_inn"].join('/'),
62
+ params: { inn: inn },
63
+ accept: :json,
64
+ content_type: :json,
65
+ format: :json
66
+ ),
67
+ symbolize_names: true
68
+ )
69
+
70
+ c = new
71
+ c.name = responce[:name]
72
+ c.fullname = responce[:fullname]
73
+ c.ownership = responce[:ownership]
74
+ c.inn = responce[:inn]
75
+ c.kpp = responce[:kpp]
76
+ c.ogrn = responce[:ogrn]
77
+ c.okpo = responce[:okpo]
78
+ c.status = responce[:status]
79
+ c.form = responce[:form]
80
+ c.legal_addr = responce[:legal_addr]
81
+ c.user_id = responce[:user_id]
82
+ c.is_resident = responce[:is_resident]
83
+ c.is_dzo = responce[:is_dzo]
84
+ c.is_sme = responce[:is_sme]
85
+ c.jsc_form_id = responce[:jsc_form_id]
86
+ c.sme_type_id = responce[:sme_type_id]
87
+ c.oktmo = responce[:oktmo]
88
+ c.reg_date = responce[:reg_date]
89
+ c
61
90
  end
62
91
 
63
92
  # Создаёт контрагента
@@ -66,14 +95,14 @@ module TorgApi
66
95
  # @return Contractor
67
96
  def create_from_b2b(hash)
68
97
  c = Contractor.new
69
- c.name = hash[:org_name_short]
98
+ c.name = hash[:org_name_short].gsub('"','')
70
99
  c.fullname = hash[:org_name]
71
- c.ownership = extract_ownership(hash[:org_name_short])
72
100
  c.inn = hash[:bank_inn]
73
101
  c.kpp = hash[:bank_kpp]
74
102
  c.ogrn = hash[:ogrn]
75
103
  c.okpo = hash[:code_okpo]
76
- c.status = 0 # enum status: { orig: 0, active: 1, old: 2, inactive: 3 }
104
+ c.ownership = extract_ownership(hash[:org_name_short])
105
+ c.status = 0
77
106
  c.form = extract_form(hash[:bank_inn])
78
107
  c.legal_addr = hash[:jury_address]
79
108
  c.user_id = Settings.service_user[:id]
@@ -82,8 +111,19 @@ module TorgApi
82
111
  c.is_sme = hash[:is_smb]
83
112
  c.jsc_form_id = nil
84
113
  c.sme_type_id = nil
114
+ c.oktmo = 0
85
115
 
86
- c.id = TorgApi::Models::Contractor.create(c.to_h).id
116
+ responce = JSON.parse(
117
+ RestClient.post(
118
+ [Settings.torg_url[:host], "contractors"].join('/'),
119
+ contractor: c.to_h,
120
+ accept: :json,
121
+ content_type: :json,
122
+ format: :json
123
+ ),
124
+ symbolize_names: true
125
+ )
126
+ c.id = responce[:id]
87
127
  c
88
128
  end
89
129
 
@@ -92,11 +132,10 @@ module TorgApi
92
132
  end
93
133
 
94
134
  def extract_form(bank_inn)
95
- # enum form: { businessman: 0, company: 1, foreign: 2, person: 3 }
96
135
  case bank_inn.size
97
- when 12 then 0
98
- when 10 then 1
99
- else 2
136
+ when 12 then "businessman"
137
+ when 10 then "company"
138
+ else "foreign"
100
139
  end
101
140
  end
102
141
 
@@ -12,7 +12,15 @@ module TorgApi
12
12
  # @param id [Integer] id закупки
13
13
  # @return [Tender] возвращает объект закупки
14
14
  def find(tender_id, num)
15
- TorgApi::Models::Lot.where(tender_id: tender_id, num: num).take.to_api
15
+ responce = JSON.parse(
16
+ RestClient.get(
17
+ [Settings.torg_url[:host], "tenders", tender_id].join('/'),
18
+ accept: :json,
19
+ content_type: :json,
20
+ format: :json
21
+ )
22
+ )
23
+ responce['lots'].select { |value| value['num'] == num }.first
16
24
  end
17
25
  end
18
26
  end
@@ -134,12 +134,20 @@ module TorgApi
134
134
  attr_accessor :offer_reception_place
135
135
  # @return [Integer] Часовой пояс проведения закупки
136
136
  attr_accessor :local_time_zone_id
137
-
138
137
  # Поиск участника по его идентификатору в справочнике
139
138
  # @param contractor_id [Integer] Идентификатор котрагента в справочнике
140
139
  # return [Bidder] возвращает объект участника
141
140
  def find_bidder(contractor_id)
142
- TorgApi::Models::Bidder.where(tender_id: id, contractor_id: contractor_id).first.try(:to_api)
141
+ responce = JSON.parse(
142
+ RestClient.get(
143
+ [Settings.torg_url[:host], "tenders", id, "bidders"].join('/'),
144
+ accept: :json,
145
+ content_type: :json,
146
+ format: :json
147
+ )
148
+ )
149
+ bidder = responce.select { |value| value['contractor_id'] == contractor_id }
150
+ bidder[0]
143
151
  end
144
152
 
145
153
  def find_lot(num)
@@ -151,7 +159,38 @@ module TorgApi
151
159
  # @param id [Integer] id закупки
152
160
  # @return [Tender] возвращает объект закупки
153
161
  def find(id)
154
- TorgApi::Models::Tender.find(id).to_api
162
+ responce = JSON.parse(
163
+ RestClient.get(
164
+ [Settings.torg_url[:host], "tenders", id].join('/'),
165
+ accept: :json,
166
+ content_type: :json,
167
+ format: :json
168
+ ),
169
+ symbolize_names: true
170
+ )
171
+
172
+ t = Tender.new
173
+ t.id = responce[:id]
174
+ t.num = responce[:num]
175
+ t.name = responce[:name]
176
+ t.tender_type_id = responce[:tender_type_id]
177
+ t.tender_type_explanations = responce[:tender_type_explanations]
178
+ t.etp_address_id = responce[:etp_address_id]
179
+ t.commission_id = responce[:commission_id]
180
+ t.department_id = responce[:department_id]
181
+ t.announce_date = responce[:announce_date]
182
+ t.announce_place = responce[:announce_place]
183
+ t.bid_date = responce[:bid_date]
184
+ t.bid_place = responce[:bid_place]
185
+ t.user_id = responce[:user_id]
186
+ t.oos_num = responce[:oos_num]
187
+ t.oos_id = responce[:oos_id]
188
+ t.etp_num = responce[:etp_num]
189
+ t.order_num = responce[:order_num]
190
+ t.order_date = responce[:order_date]
191
+ t.contact_id = responce[:contact_id]
192
+ t.confirm_place = responce[:confirm_place]
193
+ t
155
194
  end
156
195
  end
157
196
  end
data/lib/torg_api/base.rb CHANGED
@@ -1,8 +1,3 @@
1
- require 'carrierwave'
2
- require 'carrierwave/orm/activerecord'
3
- require 'torg_api/torg_database'
4
- require 'torg_api/models'
5
-
6
1
  module TorgApi
7
2
  class Base
8
3
  include TorgApi::Constants
@@ -1,14 +1,20 @@
1
1
  module TorgApi
2
2
  class Settings
3
3
  @service_user = {}
4
+ @torg_url = {}
4
5
 
5
6
  # Configure through hash
6
7
  def self.service_user_configure(opts = {})
7
8
  opts.each { |k, v| @service_user[k.to_sym] = v }
8
9
  end
9
10
 
11
+ def self.torg_url_configure(opts = {})
12
+ opts.each { |k,v| @torg_url[k.to_sym] = v }
13
+ end
14
+
10
15
  class << self
11
16
  attr_reader :service_user
17
+ attr_reader :torg_url
12
18
  end
13
19
  end
14
20
  end
@@ -1,3 +1,3 @@
1
1
  module TorgApi
2
- VERSION = '0.0.13'
2
+ VERSION = '0.1.0'
3
3
  end
data/lib/torg_api.rb CHANGED
@@ -1,14 +1,6 @@
1
+ require 'rest-client'
1
2
  require 'torg_api/settings'
2
- require 'active_record'
3
3
  require 'torg_api/version'
4
4
  require 'torg_api/constants'
5
5
  require 'torg_api/base'
6
6
  require 'torg_api/api'
7
-
8
- CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\-\+]/
9
-
10
- module TorgApi
11
- def self.logger=(logger)
12
- ActiveRecord::Base.logger = logger
13
- end
14
- end
data/torg_api.gemspec CHANGED
@@ -6,7 +6,7 @@ require 'torg_api/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'torg_api'
8
8
  spec.version = TorgApi::VERSION
9
- spec.authors = ['Archakov Aleksandr']
9
+ spec.authors = ['Archakov Aleksandr', 'Andrew Ageev', 'Dmitrii Bodakov']
10
10
  spec.email = ['archakov@gmail.com']
11
11
  spec.description = %q{API for Torg system}
12
12
  spec.summary = %q{Torg API}
@@ -21,6 +21,5 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency 'bundler', '~> 1.3'
22
22
  spec.add_development_dependency 'rake', '~> 10.4'
23
23
 
24
- spec.add_dependency 'activerecord', '~> 4.2'
25
- spec.add_dependency 'carrierwave'
24
+ spec.add_dependency 'rest-client'
26
25
  end
metadata CHANGED
@@ -1,14 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: torg_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Archakov Aleksandr
8
+ - Andrew Ageev
9
+ - Dmitrii Bodakov
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2015-12-30 00:00:00.000000000 Z
13
+ date: 2016-06-03 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  name: bundler
@@ -39,21 +41,7 @@ dependencies:
39
41
  - !ruby/object:Gem::Version
40
42
  version: '10.4'
41
43
  - !ruby/object:Gem::Dependency
42
- name: activerecord
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '4.2'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '4.2'
55
- - !ruby/object:Gem::Dependency
56
- name: carrierwave
44
+ name: rest-client
57
45
  requirement: !ruby/object:Gem::Requirement
58
46
  requirements:
59
47
  - - ">="
@@ -86,25 +74,9 @@ files:
86
74
  - lib/torg_api/api/lot.rb
87
75
  - lib/torg_api/api/offer.rb
88
76
  - lib/torg_api/api/tender.rb
89
- - lib/torg_api/api/tender_file.rb
90
77
  - lib/torg_api/base.rb
91
78
  - lib/torg_api/constants.rb
92
- - lib/torg_api/models.rb
93
- - lib/torg_api/models/bidder.rb
94
- - lib/torg_api/models/bidder_file.rb
95
- - lib/torg_api/models/contractor.rb
96
- - lib/torg_api/models/cover.rb
97
- - lib/torg_api/models/dictionary.rb
98
- - lib/torg_api/models/lot.rb
99
- - lib/torg_api/models/offer.rb
100
- - lib/torg_api/models/offer_specification.rb
101
- - lib/torg_api/models/specification.rb
102
- - lib/torg_api/models/tender.rb
103
- - lib/torg_api/models/tender_file.rb
104
- - lib/torg_api/models/tender_file_uploader.rb
105
- - lib/torg_api/models/user.rb
106
79
  - lib/torg_api/settings.rb
107
- - lib/torg_api/torg_database.rb
108
80
  - lib/torg_api/version.rb
109
81
  - torg_api.gemspec
110
82
  homepage: https://github.com/kodram/torg_api
@@ -1,38 +0,0 @@
1
- module TorgApi
2
- module Api
3
- # Файл
4
- class TenderFile < TorgApi::Base
5
- # @return [Integer] id
6
- attr_accessor :id
7
- # @return [Integer] Область использования
8
- attr_accessor :area_id
9
- # @return [Integer] Год
10
- attr_accessor :year
11
- # @return [String] Имя файла документа
12
- attr_accessor :document
13
- # @return [Integer] Владелец
14
- attr_accessor :user_id
15
- # @return [String] Имя файла во внешних системах
16
- attr_accessor :external_filename
17
- # @return [String] Content Type
18
- attr_accessor :content_type
19
- # @return [Integer] FileSize
20
- attr_accessor :file_size
21
- class << self
22
- def create_from_b2b(hash, area, file_size)
23
- mime_types = MIME::Types.type_for(hash[:name])
24
- file = TenderFile.new
25
- file.area_id = area
26
- file.year = Date.current.year
27
- file.document = hash[:title]
28
- file.user_id = Settings.service_user[:id]
29
- file.external_filename = hash[:name]
30
- file.content_type = mime_types.empty? ? 'text/plain' : mime_types.first.content_type
31
- file.file_size = file_size
32
-
33
- TorgApi::Models::TenderFile.create!(file.to_h).id
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,16 +0,0 @@
1
- module TorgApi
2
- module Models
3
- class Bidder < TorgDatabase
4
- has_many :bidder_files
5
-
6
- def to_api
7
- bidder = TorgApi::Api::Bidder.new
8
- bidder.id = id
9
- bidder.contractor_id = contractor_id
10
- bidder.tender_id = tender_id
11
-
12
- bidder
13
- end
14
- end
15
- end
16
- end
@@ -1,11 +0,0 @@
1
- module TorgApi
2
- module Models
3
- class BidderFile < TorgDatabase
4
- belongs_to :tender_file
5
-
6
- def self.file_exists?(file_name)
7
- joins(:tender_file).where(tender_files: { external_filename: file_name }).exists?
8
- end
9
- end
10
- end
11
- end
@@ -1,27 +0,0 @@
1
- module TorgApi
2
- module Models
3
- class Contractor < TorgDatabase
4
- def to_api
5
- c = TorgApi::Api::Contractor.new
6
- c.id = id
7
- c.name = name
8
- c.fullname = fullname
9
- c.ownership = ownership
10
- c.inn = inn
11
- c.kpp = kpp
12
- c.ogrn = ogrn
13
- c.okpo = okpo
14
- c.status = status
15
- c.form = form
16
- c.legal_addr = legal_addr
17
- c.user_id = user_id
18
- c.is_resident = is_resident
19
- c.is_dzo = is_dzo
20
- c.is_sme = is_sme
21
- c.jsc_form_id = jsc_form_id
22
- c.sme_type_id = sme_type_id
23
- c
24
- end
25
- end
26
- end
27
- end
@@ -1,6 +0,0 @@
1
- module TorgApi
2
- module Models
3
- class Cover < TorgDatabase
4
- end
5
- end
6
- end
@@ -1,6 +0,0 @@
1
- module TorgApi
2
- module Models
3
- class Dictionary < TorgDatabase
4
- end
5
- end
6
- end
@@ -1,13 +0,0 @@
1
- module TorgApi
2
- module Models
3
- # Лот
4
- class Lot < TorgDatabase
5
- def to_api
6
- t = TorgApi::Api::Lot.new
7
- t.id = id
8
- t.num = num
9
- t
10
- end
11
- end
12
- end
13
- end
@@ -1,12 +0,0 @@
1
- module TorgApi
2
- module Models
3
- # TORG Offer model
4
- class Offer < TorgDatabase
5
- has_many :offer_specifications
6
-
7
- def self.for_bid_lot_num(bidder_id, lot_id, num)
8
- where(bidder_id: bidder_id).where(lot_id: lot_id).where(num: num).where(version: 0).take
9
- end
10
- end
11
- end
12
- end
@@ -1,9 +0,0 @@
1
- module TorgApi
2
- module Models
3
- class OfferSpecification < TorgDatabase
4
- def self.for_offer_spec(offer_id, spec_id)
5
- where(offer_id: offer_id).where(specification_id: spec_id).take
6
- end
7
- end
8
- end
9
- end
@@ -1,6 +0,0 @@
1
- module TorgApi
2
- module Models
3
- class Specification < TorgDatabase
4
- end
5
- end
6
- end
@@ -1,38 +0,0 @@
1
- module TorgApi
2
- module Models
3
- class Tender < TorgDatabase
4
- belongs_to :tender_type, class_name: 'Dictionary'
5
- belongs_to :user
6
-
7
- delegate :name, to: :tender_type, prefix: true
8
- delegate :email, to: :user, prefix: true
9
-
10
- def to_api
11
- t = TorgApi::Api::Tender.new
12
- t.id = id
13
- t.num = num
14
- t.name = name
15
- t.tender_type_id = tender_type_id
16
- t.tender_type_name = tender_type_name
17
- t.tender_type_explanations = tender_type_explanations
18
- t.etp_address_id = etp_address_id
19
- t.commission_id = commission_id
20
- t.department_id = department_id
21
- t.announce_date = announce_date
22
- t.announce_place = announce_place
23
- t.bid_date = bid_date
24
- t.bid_place = bid_place
25
- t.user_id = user_id
26
- t.user_email = user_email
27
- t.oos_num = oos_num
28
- t.oos_id = oos_id
29
- t.etp_num = etp_num
30
- t.order_num = order_num
31
- t.order_date = order_date
32
- t.contact_id = contact_id
33
- t.confirm_place = confirm_place
34
- t
35
- end
36
- end
37
- end
38
- end
@@ -1,18 +0,0 @@
1
- require 'torg_api/models/tender_file_uploader'
2
- module TorgApi
3
- module Models
4
- class TenderFile < TorgDatabase
5
- mount_uploader :document, TenderFileUploader
6
-
7
- before_save :update_file_attributes
8
-
9
- private
10
-
11
- def update_file_attributes
12
- return unless document.present? || document_changed?
13
- self.content_type = document.file.content_type
14
- self.file_size = document.file.size
15
- end
16
- end
17
- end
18
- end
@@ -1,66 +0,0 @@
1
- require 'carrierwave/processing/mime_types'
2
-
3
- class TenderFileUploader < CarrierWave::Uploader::Base
4
- include CarrierWave::MimeTypes
5
-
6
- process :set_content_type
7
-
8
- # Include RMagick or MiniMagick support:
9
- # include CarrierWave::RMagick
10
- # include CarrierWave::MiniMagick
11
-
12
- # Include the Sprockets helpers for Rails 3.1+ asset pipeline compatibility:
13
- # include Sprockets::Helpers::RailsHelper
14
- # include Sprockets::Helpers::IsolatedHelper
15
-
16
- # Choose what kind of storage to use for this uploader:
17
- storage :file
18
- # storage :fog
19
-
20
- # Override the directory where uploaded files will be stored.
21
- # This is a sensible default for uploaders that are meant to be mounted:
22
- def store_dir
23
- "uploads/#{model.year}/#{model.area_id}/#{model.id}"
24
- end
25
-
26
- def move_to_store
27
- true
28
- end
29
-
30
- def move_to_cache
31
- true
32
- end
33
-
34
- # Provide a default URL as a default if there hasn't been a file uploaded:
35
- # def default_url
36
- # # For Rails 3.1+ asset pipeline compatibility:
37
- # # asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
38
- #
39
- # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
40
- # end
41
-
42
- # Process files as they are uploaded:
43
- # process :scale => [200, 300]
44
- #
45
- # def scale(width, height)
46
- # # do something
47
- # end
48
-
49
- # Create different versions of your uploaded files:
50
- # version :thumb do
51
- # process :scale => [50, 50]
52
- # end
53
-
54
- # Add a white list of extensions which are allowed to be uploaded.
55
- # For images you might use something like this:
56
- # def extension_white_list
57
- # %w(docx doc rtf xlsx xls pdf jpg jpeg tif tiff eml rar zip txt 7z)
58
- # # if update this, then update app/assets/javascripts/tender_files.js.coffee
59
- # end
60
-
61
- # Override the filename of the uploaded files:
62
- # Avoid using model.id or version_name here, see uploader/store.rb for details.
63
- # def filename
64
- # "something.jpg" if original_filename
65
- # end
66
- end
@@ -1,6 +0,0 @@
1
- module TorgApi
2
- module Models
3
- class User < TorgDatabase
4
- end
5
- end
6
- end
@@ -1 +0,0 @@
1
- Dir[File.dirname(__FILE__) + '/models/*.rb'].each { |file| require file }
@@ -1,5 +0,0 @@
1
- module TorgApi
2
- class TorgDatabase < ActiveRecord::Base
3
- self.abstract_class = true
4
- end
5
- end