diff --git a/app/controllers/admins/topic/technical_discussions_controller.rb b/app/controllers/admins/topic/technical_discussions_controller.rb new file mode 100644 index 000000000..a84d9be78 --- /dev/null +++ b/app/controllers/admins/topic/technical_discussions_controller.rb @@ -0,0 +1,56 @@ +class Admins::Topic::TechnicalDiscussionsController < Admins::Topic::BaseController + before_action :require_business + before_action :find_discussion, only: [:edit, :update, :destroy] + + def index + @discussions = paginate(::Topic::TechnicalDiscussion) + end + + def new + @discussion = ::Topic::TechnicalDiscussion.new + end + + def create + @discussion = ::Topic::TechnicalDiscussion.new(discussion_params) + if @discussion.save + redirect_to admins_topic_technical_discussions_path + flash[:success] = "新增技术探讨成功" + else + redirect_to admins_topic_technical_discussions_path + flash[:danger] = "新增技术探讨失败" + end + end + + def edit + end + + def update + @discussion.attributes = discussion_params + if @discussion.save + redirect_to admins_topic_technical_discussions_path + flash[:success] = "更新技术探讨成功" + else + redirect_to admins_topic_technical_discussions_path + flash[:danger] = "更新技术探讨失败" + end + end + + def destroy + if @discussion.destroy + redirect_to admins_topic_technical_discussions_path + flash[:success] = "删除技术探讨成功" + else + redirect_to admins_topic_technical_discussions_path + flash[:danger] = "删除技术探讨失败" + end + end + + private + def find_discussion + @discussion = ::Topic::TechnicalDiscussion.find_by_id(params[:id]) + end + + def discussion_params + params.require(:topic_technical_discussion).permit(:title, :description, :date, :order_index) + end +end \ No newline at end of file diff --git a/app/models/project_unit.rb b/app/models/project_unit.rb index 03a2cc99a..3063a3355 100644 --- a/app/models/project_unit.rb +++ b/app/models/project_unit.rb @@ -26,7 +26,7 @@ class ProjectUnit < ApplicationRecord unit_types = unit_types.except("dataset") unit_types.each do |_, v| self.create!(project_id: project_id, unit_type: v) - end + end end def self.update_by_unit_types!(project, types) diff --git a/app/models/topic/technical_discussion.rb b/app/models/topic/technical_discussion.rb new file mode 100644 index 000000000..41164ff88 --- /dev/null +++ b/app/models/topic/technical_discussion.rb @@ -0,0 +1,16 @@ +# == Schema Information +# +# Table name: topics +# +# id :integer not null, primary key +# type :string(255) +# title :string(255) +# uuid :integer +# url :string(255) +# order_index :integer +# location :integer default("0") +# + +# 首页技术讨论 +class Topic::TechnicalDiscussion < Topic +end diff --git a/app/views/admins/topic/technical_discussions/_form_modal.html.erb b/app/views/admins/topic/technical_discussions/_form_modal.html.erb new file mode 100644 index 000000000..f2a7a505a --- /dev/null +++ b/app/views/admins/topic/technical_discussions/_form_modal.html.erb @@ -0,0 +1,44 @@ +
\ No newline at end of file diff --git a/app/views/admins/topic/technical_discussions/_list.html.erb b/app/views/admins/topic/technical_discussions/_list.html.erb new file mode 100644 index 000000000..d22566878 --- /dev/null +++ b/app/views/admins/topic/technical_discussions/_list.html.erb @@ -0,0 +1,33 @@ +| 序号 | +标题 | +正文 | +日期 | +排序等级 | +操作 | +
|---|---|---|---|---|---|
| <%= list_index_no((params[:page] || 1).to_i, index) %> | +<%= discussion.title %> | +<%= discussion.description %> | +<%= discussion.date %> | +<%= discussion.order_index %> | ++ <%= link_to "编辑", edit_admins_topic_technical_discussion_path(discussion), remote: true, class: "action" %> + <%= link_to "删除", admins_topic_technical_discussion_path(discussion), method: :delete, data:{confirm: "确认删除的吗?"}, class: "action" %> + | +