Description:
add heart_beat
(grafted from baf0af002308b84f920a384166b4265c82124159)
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
r540:7fdec87758d5 - - 6 files changed: 42 inserted, 1 deleted
@@ -0,0 +1,14 | |||
|
1 | + class HeartbeatController < ApplicationController | |
|
2 | + def edit | |
|
3 | + render layout: 'empty' | |
|
4 | + @user = User.find_by_login(params[:id]) | |
|
5 | + return unless @user | |
|
6 | + | |
|
7 | + hb = HeartBeat.where(user_id: @user.id, ip_address: request.remote_ip).first | |
|
8 | + if hb | |
|
9 | + hb.touch | |
|
10 | + else | |
|
11 | + HeartBeat.create(user_id: @user.id, ip_address: request.remote_ip) | |
|
12 | + end | |
|
13 | + end | |
|
14 | + end |
@@ -0,0 +1,6 | |||
|
1 | + class HeartBeat < ActiveRecord::Base | |
|
2 | + # attr_accessible :title, :body | |
|
3 | + belongs_to :user | |
|
4 | + | |
|
5 | + #attr_accessible :ip_address | |
|
6 | + end |
@@ -0,0 +1,1 | |||
|
1 | + OK |
@@ -0,0 +1,10 | |||
|
1 | + class CreateHeartBeats < ActiveRecord::Migration | |
|
2 | + def change | |
|
3 | + create_table :heart_beats do |t| | |
|
4 | + t.column 'user_id',:integer | |
|
5 | + t.column 'ip_address',:string | |
|
6 | + | |
|
7 | + t.timestamps | |
|
8 | + end | |
|
9 | + end | |
|
10 | + end |
@@ -61,12 +61,14 | |||
|
61 | 61 | |
|
62 | 62 | root :to => 'main#login' |
|
63 | 63 | |
|
64 | 64 | match 'tasks/view/:file.:ext' => 'tasks#view' |
|
65 | 65 | match 'tasks/download/:id/:file.:ext' => 'tasks#download' |
|
66 | 66 | |
|
67 | + match 'heartbeat/:id/edit' => 'heartbeat#edit' | |
|
68 | + | |
|
67 | 69 | # See how all your routes lay out with "rake routes" |
|
68 | 70 | |
|
69 | 71 | # This is a legacy wild controller route that's not recommended for RESTful applications. |
|
70 | 72 | # Note: This route will make all actions in every controller accessible via GET requests. |
|
71 | 73 | match ':controller(/:action(/:id))(.:format)' |
|
72 | 74 | end |
@@ -8,13 +8,13 | |||
|
8 | 8 | # system, you should be using db:schema:load, not running all the migrations |
|
9 | 9 | # from scratch. The latter is a flawed and unsustainable approach (the more migrations |
|
10 | 10 | # you'll amass, the slower it'll run and the greater likelihood for issues). |
|
11 | 11 | # |
|
12 | 12 | # It's strongly recommended to check this file into your version control system. |
|
13 | 13 | |
|
14 |
- ActiveRecord::Schema.define(:version => 20150 |
|
|
14 | + ActiveRecord::Schema.define(:version => 20150914090545) do | |
|
15 | 15 | |
|
16 | 16 | create_table "announcements", :force => true do |t| |
|
17 | 17 | t.string "author" |
|
18 | 18 | t.text "body" |
|
19 | 19 | t.boolean "published" |
|
20 | 20 | t.datetime "created_at", :null => false |
@@ -76,12 +76,19 | |||
|
76 | 76 | t.string "task_type" |
|
77 | 77 | t.boolean "terminated" |
|
78 | 78 | end |
|
79 | 79 | |
|
80 | 80 | add_index "grader_processes", ["host", "pid"], :name => "index_grader_processes_on_ip_and_pid" |
|
81 | 81 | |
|
82 | + create_table "heart_beats", :force => true do |t| | |
|
83 | + t.integer "user_id" | |
|
84 | + t.string "ip_address" | |
|
85 | + t.datetime "created_at", :null => false | |
|
86 | + t.datetime "updated_at", :null => false | |
|
87 | + end | |
|
88 | + | |
|
82 | 89 | create_table "languages", :force => true do |t| |
|
83 | 90 | t.string "name", :limit => 10 |
|
84 | 91 | t.string "pretty_name" |
|
85 | 92 | t.string "ext", :limit => 10 |
|
86 | 93 | t.string "common_ext" |
|
87 | 94 | end |
@@ -246,11 +253,12 | |||
|
246 | 253 | t.boolean "activated", :default => false |
|
247 | 254 | t.datetime "created_at" |
|
248 | 255 | t.datetime "updated_at" |
|
249 | 256 | t.boolean "enabled", :default => true |
|
250 | 257 | t.string "remark" |
|
251 | 258 | t.string "last_ip" |
|
259 | + t.string "section" | |
|
252 | 260 | end |
|
253 | 261 | |
|
254 | 262 | add_index "users", ["login"], :name => "index_users_on_login", :unique => true |
|
255 | 263 | |
|
256 | 264 | end |
You need to be logged in to leave comments.
Login now