Merge branch 'dev_cxt' into dev_aliyun

chromesetting
cxt 5 years ago
commit fe8c808355

@ -0,0 +1,14 @@
class LibrariesController < ApplicationController
include PaginateHelper
def index
default_sort('updated_at', 'desc')
@items = ItemBankQuery.call(params)
@items = paginate courses.includes(:school, :students, :attachments, :homework_commons, teacher: :user_extension)
end
def create
end
end

@ -165,9 +165,10 @@ class ShixunsController < ApplicationController
def show_right
owner = @shixun.owner
#@fans_count = owner.fan_count
#@followed_count = owner.follow_count
@user_own_shixuns = owner.shixuns.published.count
@user_tags = @shixun.user_tags_name(current_user)
@shixun_tags = @shixun.challenge_tags_name
@myshixun = @shixun.myshixuns.find_by(user_id: current_user.id)
end
# 排行榜
@ -345,7 +346,11 @@ class ShixunsController < ApplicationController
#合作者
def collaborators
@user = current_user
@members = @shixun.shixun_members.includes(:user)
## 分页参数
page = params[:page] || 1
limit = params[:limit] || 10
@member_count = @shixun.shixun_members.count
@members = @shixun.shixun_members.includes(:user).page(page).per(limit)
end
def fork_list

@ -0,0 +1,4 @@
class Curriculum < ApplicationRecord
belongs_to :curriculum_direction
has_many :knowledge_points, dependent: :destroy
end

@ -0,0 +1,4 @@
class CurriculumDirection < ApplicationRecord
has_many :curriculums
has_many :knowledge_points
end

@ -0,0 +1,3 @@
class ItemAnalysis < ApplicationRecord
belongs_to :item_bank
end

@ -0,0 +1,13 @@
class ItemBank < ApplicationRecord
# difficulty: 1 简单 2 适中 3 困难
# item_type: 0 单选 1 多选 2 判断 3 填空 4 简答 5 实训 6 编程
enum item_type: { SINGLE: 0, MULTIPLE: 1, JUDGMENT: 2, COMPLETION: 3, SUBJECTIVE: 4, PRACTICAL: 5, PROGRAM: 6 }
belongs_to :curriculum
belongs_to :curriculum_direction
belongs_to :user
has_one :item_analysis, dependent: :destroy
has_many :item_choices, dependent: :destroy
has_many :item_baskets, dependent: :destroy
end

@ -0,0 +1,4 @@
class ItemBasket < ApplicationRecord
belongs_to :item_bank
belongs_to :user
end

@ -0,0 +1,3 @@
class ItemChoice < ApplicationRecord
belongs_to :item_bank
end

@ -0,0 +1,5 @@
class KnowledgePoint < ApplicationRecord
belongs_to :curriculum_direction
belongs_to :curriculum
has_many :knowledge_point_containers, dependent: :destroy
end

@ -0,0 +1,3 @@
class KnowledgePointContainer < ApplicationRecord
belongs_to :knowledge_point
end

@ -13,11 +13,17 @@ json.recommands do
json.partial! 'shap_shixun', locals: { shixuns: shixun.relation_path.size > 0 ? recommend_shixun(shixun) : [] }
end
if shixun.status > 1
json.complete_count @myshixun&.passed_count
json.challenge_count @shixun.challenges_count
end
# 技能标签
user_tags = shixun.user_tags_name(User.current)
json.tags do
json.array! shixun.challenge_tags_name do |tag|
json.array! @shixun_tags do |tag|
json.tag_name tag
json.status user_tags.include?(tag)
json.status @user_tags.include?(tag)
end
end
json.tag_count @shixun_tags.size
json.user_tag_count @user_tags.size

@ -6,7 +6,8 @@
# ]
json.array! @members do |member|
json.member_count @member_count
json.members @members do |member|
json.user do
json.partial! 'users/user', locals: { user: member.user }
json.user_shixuns_count member.user.shixuns.published.count

@ -1,6 +1,6 @@
json.partial! 'shixuns/right', locals: { shixun: @shixun }
json.follow follow?(@shixun.owner, User.current)
json.fans_count @fans_count
json.followed_count @followed_count
# json.follow follow?(@shixun.owner, User.current)
# json.fans_count @fans_count
# json.followed_count @followed_count
json.user_shixuns_count @user_own_shixuns

@ -48,7 +48,9 @@ Rails.application.routes.draw do
end
end
resources :item_banks do
end
resources :hacks, path: :problems, param: :identifier do

@ -0,0 +1,9 @@
class CreateCurriculumDirections < ActiveRecord::Migration[5.2]
def change
create_table :curriculum_directions do |t|
t.string :name
t.timestamps
end
end
end

@ -0,0 +1,10 @@
class CreateCurriculums < ActiveRecord::Migration[5.2]
def change
create_table :curriculums do |t|
t.string :name
t.references :curriculum_direction, index: true
t.timestamps
end
end
end

@ -0,0 +1,11 @@
class CreateKnowledgePoints < ActiveRecord::Migration[5.2]
def change
create_table :knowledge_points do |t|
t.string :name
t.references :curriculum_direction, index: true
t.references :curriculum, index: true
t.timestamps
end
end
end

@ -0,0 +1,12 @@
class CreateKnowledgePointContainers < ActiveRecord::Migration[5.2]
def change
create_table :knowledge_point_containers do |t|
t.references :knowledge_point
t.integer :container_id
t.string :container_type
t.timestamps
end
add_index :knowledge_point_containers, [:knowledge_point_id, :container_id, :container_type], name: "container_index", unique: true
end
end

@ -0,0 +1,16 @@
class CreateItemBanks < ActiveRecord::Migration[5.2]
def change
create_table :item_banks do |t|
t.text :name
t.references :curriculum, index: true
t.references :curriculum_direction, index: true
t.integer :item_type
t.integer :difficulty
t.references :user, index: true
t.boolean :public
t.integer :quotes
t.timestamps
end
end
end

@ -0,0 +1,10 @@
class CreateItemAnalyses < ActiveRecord::Migration[5.2]
def change
create_table :item_analyses do |t|
t.references :item_bank, index: true
t.text :analysis
t.timestamps
end
end
end

@ -0,0 +1,11 @@
class CreateItemChoices < ActiveRecord::Migration[5.2]
def change
create_table :item_choices do |t|
t.references :item_bank, index: true
t.text :choice_text
t.boolean :is_answer
t.timestamps
end
end
end

@ -0,0 +1,10 @@
class CreateItemBaskets < ActiveRecord::Migration[5.2]
def change
create_table :item_baskets do |t|
t.references :item_bank, index: true
t.references :user, index: true
t.timestamps
end
end
end

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe CurriculumDirection, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe Curriculum, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe ItemAnalysis, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe ItemBank, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe ItemBasket, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe ItemChoice, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe KnowledgePointContainer, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe KnowledgePoint, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end
Loading…
Cancel
Save