smartkiosk-server 0.10.14 → 0.10.15
Sign up to get free protection for your applications and to get access to all the features.
- data/app/admin/terminals.rb +23 -0
- data/app/controllers/session_records_controller.rb +10 -0
- data/app/controllers/terminal_pings_controller.rb +2 -1
- data/app/models/session_record.rb +24 -0
- data/app/models/terminal.rb +1 -0
- data/app/views/admin/terminals/session_records.html.arb +10 -0
- data/config/locales/activerecord.ru.yml +6 -1
- data/config/locales/smartkiosk.ru.yml +2 -0
- data/config/routes.rb +2 -0
- data/db/migrate/20130217113617_add_last_session_started_at_to_terminals.rb +5 -0
- data/db/migrate/20130217113740_create_session_records.rb +17 -0
- data/db/schema.rb +18 -1
- data/lib/smartkiosk/server/version.rb +1 -1
- metadata +9 -4
data/app/admin/terminals.rb
CHANGED
@@ -49,6 +49,11 @@ ActiveAdmin.register Terminal do
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
+
member_action(:session_records,
|
53
|
+
:method => :get,
|
54
|
+
:title => I18n.t('smartkiosk.admin.panels.terminals.all_session_records')
|
55
|
+
)
|
56
|
+
|
52
57
|
member_action(:upgrade_build,
|
53
58
|
:method => :get,
|
54
59
|
:title => I18n.t('smartkiosk.admin.panels.terminals.upgrade')
|
@@ -351,6 +356,24 @@ ActiveAdmin.register Terminal do
|
|
351
356
|
end
|
352
357
|
end
|
353
358
|
|
359
|
+
panel I18n.t('smartkiosk.admin.panels.terminals.session_records') do
|
360
|
+
table_for(terminal.session_records[0..20], :i18n => SessionRecord) do |t|
|
361
|
+
t.column :started_at do |x|
|
362
|
+
Time.at(x.started_at).strftime("%d.%m.%Y %H:%M:%S")
|
363
|
+
end
|
364
|
+
t.column :upstream
|
365
|
+
t.column :downstream
|
366
|
+
t.column :time
|
367
|
+
end
|
368
|
+
|
369
|
+
div(:class => 'more') do
|
370
|
+
text_node link_to(
|
371
|
+
I18n.t('smartkiosk.admin.panels.terminals.all_session_records'),
|
372
|
+
session_records_admin_terminal_path(terminal.id)
|
373
|
+
)
|
374
|
+
end
|
375
|
+
end
|
376
|
+
|
354
377
|
panel I18n.t('activerecord.models.collection.other') do
|
355
378
|
table_for(terminal.collections.limit(20), :i18n => Collection) do |t|
|
356
379
|
t.column :cash_sum
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class SessionRecordsController < ApplicationController
|
2
|
+
before_filter :authenticate_terminal
|
3
|
+
|
4
|
+
def create
|
5
|
+
session = @terminal.session_records.create! params[:session_record]
|
6
|
+
render :text => session.id, :status => 200
|
7
|
+
rescue ActiveRecord::RecordInvalid
|
8
|
+
render :text => nil, :status => 400
|
9
|
+
end
|
10
|
+
end
|
@@ -20,7 +20,8 @@ class TerminalPingsController < ApplicationController
|
|
20
20
|
:modified_at => profile.updated_at
|
21
21
|
},
|
22
22
|
:orders => @terminal.terminal_orders.unsent.as_json(:only => [:id, :keyword, :args, :created_at]),
|
23
|
-
:update_providers => remote_timestamp.blank? || local_timestamp.to_i > remote_timestamp.to_i # to drop microseconds
|
23
|
+
:update_providers => remote_timestamp.blank? || local_timestamp.to_i > remote_timestamp.to_i, # to drop microseconds
|
24
|
+
:last_session_started_at => @terminal.last_session_started_at
|
24
25
|
}
|
25
26
|
|
26
27
|
render :json => response
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class SessionRecord < ActiveRecord::Base
|
2
|
+
#
|
3
|
+
# RELATIONS
|
4
|
+
#
|
5
|
+
belongs_to :terminal
|
6
|
+
|
7
|
+
#
|
8
|
+
# VALIDATIONS
|
9
|
+
#
|
10
|
+
validates :terminal, :presence => true
|
11
|
+
validates :message_id, :presence => true, :uniqueness => true
|
12
|
+
validates :started_at, :presence => true
|
13
|
+
validates :upstream, :presence => true
|
14
|
+
validates :downstream, :presence => true
|
15
|
+
validates :time, :presence => true
|
16
|
+
|
17
|
+
after_create do
|
18
|
+
if terminal.last_session_started_at.blank? ||
|
19
|
+
self.started_at > terminal.last_session_started_at
|
20
|
+
|
21
|
+
terminal.update_attribute(:last_session_started_at, self.started_at)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/app/models/terminal.rb
CHANGED
@@ -17,6 +17,7 @@ class Terminal < ActiveRecord::Base
|
|
17
17
|
has_many :collections, :order => 'id DESC'
|
18
18
|
has_many :payments, :order => 'id DESC'
|
19
19
|
has_many :terminal_orders, :order => 'id DESC'
|
20
|
+
has_many :session_records, :order => 'created_at DESC'
|
20
21
|
|
21
22
|
list :pings, :marshal => true, :maxlength => 480
|
22
23
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
paginated_collection(terminal.session_records.page(params[:page]).per(15), download_links: false) do
|
2
|
+
table_for(collection, :class => 'index_table index', :i18n => SessionRecord) do |t|
|
3
|
+
t.column :started_at do |x|
|
4
|
+
Time.at(x.started_at).strftime("%d.%m.%Y %H:%M:%S")
|
5
|
+
end
|
6
|
+
t.column :upstream
|
7
|
+
t.column :downstream
|
8
|
+
t.column :time
|
9
|
+
end
|
10
|
+
end
|
@@ -660,4 +660,9 @@ ru:
|
|
660
660
|
item_type: Тип сущности
|
661
661
|
item_id: ID сущности
|
662
662
|
event: Действие
|
663
|
-
user: Пользователь
|
663
|
+
user: Пользователь
|
664
|
+
session_record:
|
665
|
+
started_at: Время начала
|
666
|
+
upstream: Передано байт
|
667
|
+
downstream: Принято байт
|
668
|
+
time: Время соединения, секунд
|
data/config/routes.rb
CHANGED
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateSessionRecords < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :session_records do |t|
|
4
|
+
t.belongs_to :terminal
|
5
|
+
t.string :message_id
|
6
|
+
t.integer :started_at
|
7
|
+
t.integer :upstream
|
8
|
+
t.integer :downstream
|
9
|
+
t.integer :time
|
10
|
+
|
11
|
+
t.timestamps
|
12
|
+
end
|
13
|
+
|
14
|
+
add_index :session_records, [ :terminal_id, :message_id ], :unique => true
|
15
|
+
add_index :session_records, :created_at
|
16
|
+
end
|
17
|
+
end
|
data/db/schema.rb
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended to check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(:version =>
|
14
|
+
ActiveRecord::Schema.define(:version => 20130217113740) do
|
15
15
|
|
16
16
|
create_table "active_admin_comments", :force => true do |t|
|
17
17
|
t.string "resource_id", :null => false
|
@@ -350,6 +350,20 @@ ActiveRecord::Schema.define(:version => 20130108091644) do
|
|
350
350
|
t.datetime "updated_at", :null => false
|
351
351
|
end
|
352
352
|
|
353
|
+
create_table "session_records", :force => true do |t|
|
354
|
+
t.integer "terminal_id"
|
355
|
+
t.string "message_id"
|
356
|
+
t.integer "started_at"
|
357
|
+
t.integer "upstream"
|
358
|
+
t.integer "downstream"
|
359
|
+
t.integer "time"
|
360
|
+
t.datetime "created_at", :null => false
|
361
|
+
t.datetime "updated_at", :null => false
|
362
|
+
end
|
363
|
+
|
364
|
+
add_index "session_records", ["created_at"], :name => "index_session_records_on_created_at"
|
365
|
+
add_index "session_records", ["terminal_id", "message_id"], :name => "index_session_records_on_terminal_id_and_message_id", :unique => true
|
366
|
+
|
353
367
|
create_table "system_receipt_templates", :force => true do |t|
|
354
368
|
t.string "keyword"
|
355
369
|
t.text "template"
|
@@ -444,6 +458,9 @@ ActiveRecord::Schema.define(:version => 20130108091644) do
|
|
444
458
|
t.integer "incomplete_orders_count", :default => 0, :null => false
|
445
459
|
t.datetime "created_at", :null => false
|
446
460
|
t.datetime "updated_at", :null => false
|
461
|
+
t.integer "card_reader_error"
|
462
|
+
t.integer "watchdog_error"
|
463
|
+
t.integer "last_session_started_at", :default => 0, :null => false
|
447
464
|
end
|
448
465
|
|
449
466
|
add_index "terminals", ["agent_id"], :name => "index_terminals_on_agent_id"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smartkiosk-server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.15
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -113,6 +113,7 @@ files:
|
|
113
113
|
- app/controllers/application_controller.rb
|
114
114
|
- app/controllers/collections_controller.rb
|
115
115
|
- app/controllers/payments_controller.rb
|
116
|
+
- app/controllers/session_records_controller.rb
|
116
117
|
- app/controllers/system_receipt_templates_controller.rb
|
117
118
|
- app/controllers/terminal_builds_controller.rb
|
118
119
|
- app/controllers/terminal_orders_controller.rb
|
@@ -148,6 +149,7 @@ files:
|
|
148
149
|
- app/models/report_template.rb
|
149
150
|
- app/models/revision.rb
|
150
151
|
- app/models/role.rb
|
152
|
+
- app/models/session_record.rb
|
151
153
|
- app/models/system_receipt_template.rb
|
152
154
|
- app/models/terminal.rb
|
153
155
|
- app/models/terminal_build.rb
|
@@ -171,6 +173,7 @@ files:
|
|
171
173
|
- app/views/admin/terminal_profiles/_tree.html.haml
|
172
174
|
- app/views/admin/terminal_profiles/sort.html.haml
|
173
175
|
- app/views/admin/terminals/pings.html.arb
|
176
|
+
- app/views/admin/terminals/session_records.html.arb
|
174
177
|
- app/views/admin/terminals/upgrade_build.html.arb
|
175
178
|
- app/views/layouts/application.html.erb
|
176
179
|
- app/views/welcome/index.html.erb
|
@@ -252,6 +255,8 @@ files:
|
|
252
255
|
- db/migrate/20130104090957_create_terminal_profile_provider_groups.rb
|
253
256
|
- db/migrate/20130108091644_create_terminal_profile_promotions.rb
|
254
257
|
- db/migrate/20130216173828_add_watchdog_and_card_reader_errors_to_terminals.rb
|
258
|
+
- db/migrate/20130217113617_add_last_session_started_at_to_terminals.rb
|
259
|
+
- db/migrate/20130217113740_create_session_records.rb
|
255
260
|
- db/schema.rb
|
256
261
|
- db/seeds.rb
|
257
262
|
- db/seeds/receipt_templates/payment.txt
|
@@ -323,7 +328,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
323
328
|
version: '0'
|
324
329
|
segments:
|
325
330
|
- 0
|
326
|
-
hash:
|
331
|
+
hash: -211246162211189659
|
327
332
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
328
333
|
none: false
|
329
334
|
requirements:
|
@@ -332,10 +337,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
332
337
|
version: '0'
|
333
338
|
segments:
|
334
339
|
- 0
|
335
|
-
hash:
|
340
|
+
hash: -211246162211189659
|
336
341
|
requirements: []
|
337
342
|
rubyforge_project:
|
338
|
-
rubygems_version: 1.8.
|
343
|
+
rubygems_version: 1.8.24
|
339
344
|
signing_key:
|
340
345
|
specification_version: 3
|
341
346
|
summary: Smartkiosk server application
|