组织的show页面未做

dev_forge
SylorHuang 5 years ago
parent c74d5bf952
commit 3f304a28e8

@ -39,7 +39,7 @@ gem 'oauth2'
#导出为pdf
gem 'pdfkit'
gem 'wkhtmltopdf-binary'
gem 'request_store'
#gem 'iconv'
# markdown 转html
gem 'redcarpet', '~> 3.4'

@ -327,7 +327,8 @@ class ApplicationController < ActionController::Base
end
def current_user
User.find_by_id 36401
# User.current
User.find_by_id 1
end
## 默认输出json

@ -1,8 +1,19 @@
class ComposesController < ApplicationController
before_action :require_login, except: [:index]
before_action :find_compose, except: [:index, :new,:create]
def index
@order_type = params[:order] || "created_at"
@search_name = params[:search]
composes = Compose.compose_includes
if @search_name.present?
composes = composes.where("title like ?", "%#{@search_name}%")
end
composes = composes.order("#{@order_type} desc")
@page = params[:page] || 1
@limit = params[:limit] || 15
@composes_size = composes.size
@composes = composes.page(@page).per(@limit)
end
def new
@ -12,20 +23,19 @@ class ComposesController < ApplicationController
def create
ActiveRecord::Base.transaction do
begin
compose_params = params[:compose]
@compose = Compose.new(compose_params.merge(user_id: current_user.id))
if @compose.save
ComposeUser.create!(user_id: current_user.id, compose_id: @compose.id, is_manager: 1)
normal_status(0,"组织创建成功")
else
normal_status(-1,"组织创建失败")
error_messages = @compose.errors.messages[:title][0]
normal_status(-1,"组织创建失败:#{error_messages}")
end
rescue Exception => e
tip_exception("#{e}")
raise ActiveRecord::Rollback
end
end
end
def edit
@ -33,14 +43,42 @@ class ComposesController < ApplicationController
end
def update
if @compose.update_attributes(compose_params)
normal_status(0,"组织更新成功")
else
error_messages = @compose.errors.messages[:title][0]
normal_status(-1,"组织更新失败:#{error_messages}")
end
end
def destroy
if @compose.destroy
normal_status(0,"组织删除成功")
else
normal_status(-1,"组织删除失败,请稍后重试")
end
end
def show
compose_projects = @compose&.compose_projects&.pluck(:project_id)
if compose_projects.size > 0
@compose_projects = Project.where(id: compose_projects)
else
end
end
private
def compose_params
params.require(:compose).permit(:user_id, :title, :description, :show_mode, :compose_mode, :compose_users_count, :compose_projects_count)
end
def find_compose
@compose = Compose.find(params[:id])
unless @compose.present?
normal_status(-1, "组织不存在")
end
end
end

@ -3,4 +3,8 @@ class Compose < ApplicationRecord
has_many :compose_projects
has_many :compose_users
validates :title, presence: {message: "组织名称不能为空"}, uniqueness: {message: "组织名称已存在"}
scope :compose_includes, ->{includes(:compose_projects, :compose_users, :user)}
end

@ -0,0 +1 @@
json.extract! @compose, :id, :title,:description,:show_mode,:compose_mode, :compose_users_count, :compose_projects_count

@ -0,0 +1,13 @@
json.composes_count @composes_size
json.per_page @limit
if @composes_size > 0
json.composes do
json.array! @composes do |compose|
json.extract! compose, :id, :title,:description,:show_mode,:compose_mode, :compose_users_count, :compose_projects_count
json.created_at format_time(compose.created_at)
end
end
else
json.composes []
end
Loading…
Cancel
Save