first stage
This commit is contained in:
parent
acaab690ef
commit
4d8270b84f
4 changed files with 94 additions and 0 deletions
56
app/controllers/taskbar_controller.rb
Normal file
56
app/controllers/taskbar_controller.rb
Normal file
|
@ -0,0 +1,56 @@
|
|||
class TaskbarController < ApplicationController
|
||||
before_filter :authentication_check
|
||||
|
||||
def index
|
||||
|
||||
current_user_tasks = Taskbar.where(:user_id=>current_user.id)
|
||||
model_index_render_result(current_user_tasks)
|
||||
|
||||
end
|
||||
|
||||
def show
|
||||
taskbar = Taskbar.find(params[:id])
|
||||
|
||||
if taskbar.user_id != current_user.id
|
||||
render :json => { :error => 'Not allowed to show this task.' }, :status => :unprocessable_entity
|
||||
return
|
||||
end
|
||||
|
||||
model_show_render_item(taskbar)
|
||||
end
|
||||
|
||||
def create
|
||||
|
||||
params[:user_id] = current_user.id
|
||||
model_create_render(taskbar,params)
|
||||
|
||||
end
|
||||
|
||||
def update
|
||||
params[:user_id] = current_user.id
|
||||
taskbar = Taskbar.find(params[:id])
|
||||
|
||||
if taskbar.user_id != current_user.id
|
||||
render :json => { :error => 'Not allowed to update this task.' }, :status => :unprocessable_entity
|
||||
return
|
||||
end
|
||||
|
||||
model_update_render_item(taskbar, params)
|
||||
|
||||
end
|
||||
|
||||
def destroy
|
||||
|
||||
params[:user_id] = current_user.id
|
||||
taskbar = Taskbar.find(params[:id])
|
||||
|
||||
if taskbar.user_id != current_user.id
|
||||
render :json => { :error => 'Not allowed to delete this task.' }, :status => :unprocessable_entity
|
||||
return
|
||||
end
|
||||
|
||||
model_destory_render_item(taskbar)
|
||||
taskbar.destroy
|
||||
|
||||
end
|
||||
end
|
11
app/models/taskbar.rb
Normal file
11
app/models/taskbar.rb
Normal file
|
@ -0,0 +1,11 @@
|
|||
class Taskbar < ApplicationModel
|
||||
|
||||
store :state, :params
|
||||
before_create :update_time
|
||||
before_update :update_time
|
||||
|
||||
private
|
||||
def update_last_contact
|
||||
self.last_contact = Time.now
|
||||
end
|
||||
end
|
10
config/routes/taskbar.rb
Normal file
10
config/routes/taskbar.rb
Normal file
|
@ -0,0 +1,10 @@
|
|||
module ExtraRoutes
|
||||
def add(map)
|
||||
map.match '/api/taskbar', :to => 'taskbar#index', :via => :get
|
||||
map.match '/api/taskbar/:id', :to => 'taskbar#show', :via => :get
|
||||
map.match '/api/taskbar', :to => 'taskbar#create', :via => :post
|
||||
map.match '/api/taskbar/:id', :to => 'taskbar#update', :via => :put
|
||||
map.match '/api/taskbar/:id', :to => 'taskbar#destroy', :via => :delete
|
||||
end
|
||||
module_function :add
|
||||
end
|
17
db/migrate/20130529124443_task_manager_states.rb
Normal file
17
db/migrate/20130529124443_task_manager_states.rb
Normal file
|
@ -0,0 +1,17 @@
|
|||
class TaskManagerStates < ActiveRecord::Migration
|
||||
def up
|
||||
create_table :taskbars do |t|
|
||||
t.column :user_id, :integer, :null => false
|
||||
t.column :last_contact, :datetime, :null => false
|
||||
t.column :client_id, :string, :null => false
|
||||
t.column :state, :string, :limit => 8000,:null => true
|
||||
t.column :params, :string, :limit => 2000,:null => true
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def down
|
||||
drop_table :taskbars
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue