Merge branch 'szzh' of http://xianbo_trustie2@repository.trustie.net/xianbo/trustie2.git into szzh
Conflicts: .gitignore Gemfile app/views/issues/index.html.erb app/views/layouts/_base_feedback.html.erb app/views/tags/_tag_name.html.erb Signed-off-by: alanlong9278 <547533434@qq.com>redis_cache
commit
336b59f606
@ -1,49 +1,49 @@
|
|||||||
module Mobile
|
module Mobile
|
||||||
require_relative 'middleware/error_handler'
|
require_relative 'middleware/error_handler'
|
||||||
require_relative 'apis/auth'
|
require_relative 'apis/auth'
|
||||||
require_relative 'apis/users'
|
require_relative 'apis/users'
|
||||||
require_relative 'apis/courses'
|
require_relative 'apis/courses'
|
||||||
require_relative 'apis/watches'
|
require_relative 'apis/watches'
|
||||||
require_relative 'apis/upgrade'
|
require_relative 'apis/upgrade'
|
||||||
require_relative 'apis/homeworks'
|
require_relative 'apis/homeworks'
|
||||||
require_relative 'apis/comments'
|
require_relative 'apis/comments'
|
||||||
class API < Grape::API
|
class API < Grape::API
|
||||||
version 'v1', using: :path
|
version 'v1', using: :path
|
||||||
format :json
|
format :json
|
||||||
content_type :json, "application/json;charset=UTF-8"
|
content_type :json, "application/json;charset=UTF-8"
|
||||||
use Mobile::Middleware::ErrorHandler
|
use Mobile::Middleware::ErrorHandler
|
||||||
|
|
||||||
helpers do
|
helpers do
|
||||||
def logger
|
def logger
|
||||||
API.logger
|
API.logger
|
||||||
end
|
end
|
||||||
|
|
||||||
def authenticate!
|
def authenticate!
|
||||||
raise('Unauthorized. Invalid or expired token.') unless current_user
|
raise('Unauthorized. Invalid or expired token.') unless current_user
|
||||||
end
|
end
|
||||||
|
|
||||||
def current_user
|
def current_user
|
||||||
token = ApiKey.where(access_token: params[:token]).first
|
token = ApiKey.where(access_token: params[:token]).first
|
||||||
if token && !token.expired?
|
if token && !token.expired?
|
||||||
@current_user = User.find(token.user_id)
|
@current_user = User.find(token.user_id)
|
||||||
else
|
else
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
mount Apis::Auth
|
mount Apis::Auth
|
||||||
mount Apis::Users
|
mount Apis::Users
|
||||||
mount Apis::Courses
|
mount Apis::Courses
|
||||||
mount Apis::Watches
|
mount Apis::Watches
|
||||||
mount Apis::Upgrade
|
mount Apis::Upgrade
|
||||||
mount Apis::Homeworks
|
mount Apis::Homeworks
|
||||||
mount Apis::Comments
|
mount Apis::Comments
|
||||||
|
|
||||||
#add_swagger_documentation ({api_version: 'v1', base_path: 'http://u06.shellinfo.cn/trustie/api'})
|
#add_swagger_documentation ({api_version: 'v1', base_path: 'http://u06.shellinfo.cn/trustie/api'})
|
||||||
#add_swagger_documentation ({api_version: 'v1', base_path: '/api'}) if Rails.env.development?
|
#add_swagger_documentation ({api_version: 'v1', base_path: '/api'}) if Rails.env.development?
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -0,0 +1,33 @@
|
|||||||
|
module Mobile
|
||||||
|
module Entities
|
||||||
|
class Member < Grape::Entity
|
||||||
|
include ApplicationHelper
|
||||||
|
include ApiHelper
|
||||||
|
def self.member_expose(f)
|
||||||
|
expose f do |u,opt|
|
||||||
|
if u.is_a?(Hash) && u.key?(f)
|
||||||
|
u[f]
|
||||||
|
elsif u.is_a?(::Member)
|
||||||
|
if u.respond_to?(f)
|
||||||
|
u.send(f)
|
||||||
|
else
|
||||||
|
case f
|
||||||
|
when :student_id
|
||||||
|
u.user.user_extensions.student_id
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
expose :user, using: Mobile::Entities::User do |c, opt|
|
||||||
|
if c.is_a?(::Member)
|
||||||
|
c.user
|
||||||
|
end
|
||||||
|
end
|
||||||
|
member_expose :student_id
|
||||||
|
member_expose :score
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -1,59 +1,59 @@
|
|||||||
class AppliedProjectController < ApplicationController
|
class AppliedProjectController < ApplicationController
|
||||||
|
|
||||||
#申请加入项目
|
#申请加入项目
|
||||||
def applied_join_project
|
def applied_join_project
|
||||||
@user_id = params[:user_id]
|
@user_id = params[:user_id]
|
||||||
@project = Project.find_by_id(params[:project_id])
|
@project = Project.find_by_id(params[:project_id])
|
||||||
if params[:project_join]
|
if params[:project_join]
|
||||||
if @project
|
if @project
|
||||||
user = User.find @user_id
|
user = User.find @user_id
|
||||||
if user.member_of?(@project)
|
if user.member_of?(@project)
|
||||||
@status = 3
|
@status = 3
|
||||||
else
|
else
|
||||||
@applieds = AppliedProject.where("user_id = ? and project_id = ?", params[:user_id],params[:project_id])
|
@applieds = AppliedProject.where("user_id = ? and project_id = ?", params[:user_id],params[:project_id])
|
||||||
if @applieds.count == 0
|
if @applieds.count == 0
|
||||||
appliedproject = AppliedProject.create(:user_id => params[:user_id], :project_id => params[:project_id])
|
appliedproject = AppliedProject.create(:user_id => params[:user_id], :project_id => params[:project_id])
|
||||||
Mailer.run.applied_project(appliedproject)
|
Mailer.run.applied_project(appliedproject)
|
||||||
@status = 2
|
@status = 2
|
||||||
else
|
else
|
||||||
@status = 1
|
@status = 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@status = 0
|
@status = 0
|
||||||
end
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@applieds = AppliedProject.where("user_id = ? and project_id = ?", params[:user_id],params[:project_id])
|
@applieds = AppliedProject.where("user_id = ? and project_id = ?", params[:user_id],params[:project_id])
|
||||||
if @applieds.count == 0
|
if @applieds.count == 0
|
||||||
appliedproject = AppliedProject.create(:user_id => params[:user_id], :project_id => params[:project_id])
|
appliedproject = AppliedProject.create(:user_id => params[:user_id], :project_id => params[:project_id])
|
||||||
Mailer.run.applied_project(appliedproject)
|
Mailer.run.applied_project(appliedproject)
|
||||||
end
|
end
|
||||||
|
|
||||||
#redirect_to project_path(params[:project_id])
|
#redirect_to project_path(params[:project_id])
|
||||||
#redirect_to_referer_or {render :text => ( 'applied success.'), :layout => true}
|
#redirect_to_referer_or {render :text => ( 'applied success.'), :layout => true}
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_to_referer_or {render :text => (watching ? 'Watcher added.' : 'Watcher removed.'), :layout => true}}
|
format.html { redirect_to_referer_or {render :text => (watching ? 'Watcher added.' : 'Watcher removed.'), :layout => true}}
|
||||||
format.js { render :partial => 'set_applied'}
|
format.js { render :partial => 'set_applied'}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#取消申请
|
#取消申请
|
||||||
def unapplied_join_project
|
def unapplied_join_project
|
||||||
@project = Project.find(params[:project_id])
|
@project = Project.find(params[:project_id])
|
||||||
#@applied = AppliedProject.find(params[:id])
|
#@applied = AppliedProject.find(params[:id])
|
||||||
#@applied.destroy
|
#@applied.destroy
|
||||||
|
|
||||||
AppliedProject.deleteappiled(params[:user_id], params[:project_id])
|
AppliedProject.deleteappiled(params[:user_id], params[:project_id])
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_to_referer_or {render :text => (watching ? 'Watcher added.' : 'Watcher removed.'), :layout => true}}
|
format.html { redirect_to_referer_or {render :text => (watching ? 'Watcher added.' : 'Watcher removed.'), :layout => true}}
|
||||||
format.js { render :partial => 'set_applied' }
|
format.js { render :partial => 'set_applied' }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue