From 16f70437d185dd3d0864c35d84801366c201b7f6 Mon Sep 17 00:00:00 2001 From: fanqiang <316257774@qq.com> Date: Fri, 22 Nov 2013 10:24:15 +0800 Subject: [PATCH] forum init. --- app/assets/javascripts/forums.js | 2 + app/assets/stylesheets/forums.css | 4 ++ app/controllers/forums_controller.rb | 83 ++++++++++++++++++++++ app/helpers/forums_helper.rb | 2 + app/models/forum.rb | 3 + app/views/forums/_form.html.erb | 17 +++++ app/views/forums/edit.html.erb | 6 ++ app/views/forums/index.html.erb | 21 ++++++ app/views/forums/new.html.erb | 5 ++ app/views/forums/show.html.erb | 5 ++ config/routes.rb | 25 +++++++ db/migrate/20131122020026_create_forums.rb | 8 +++ 12 files changed, 181 insertions(+) create mode 100644 app/assets/javascripts/forums.js create mode 100644 app/assets/stylesheets/forums.css create mode 100644 app/controllers/forums_controller.rb create mode 100644 app/helpers/forums_helper.rb create mode 100644 app/models/forum.rb create mode 100644 app/views/forums/_form.html.erb create mode 100644 app/views/forums/edit.html.erb create mode 100644 app/views/forums/index.html.erb create mode 100644 app/views/forums/new.html.erb create mode 100644 app/views/forums/show.html.erb create mode 100644 db/migrate/20131122020026_create_forums.rb diff --git a/app/assets/javascripts/forums.js b/app/assets/javascripts/forums.js new file mode 100644 index 000000000..dee720fac --- /dev/null +++ b/app/assets/javascripts/forums.js @@ -0,0 +1,2 @@ +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. diff --git a/app/assets/stylesheets/forums.css b/app/assets/stylesheets/forums.css new file mode 100644 index 000000000..afad32db0 --- /dev/null +++ b/app/assets/stylesheets/forums.css @@ -0,0 +1,4 @@ +/* + Place all the styles related to the matching controller here. + They will automatically be included in application.css. +*/ diff --git a/app/controllers/forums_controller.rb b/app/controllers/forums_controller.rb new file mode 100644 index 000000000..806ba2574 --- /dev/null +++ b/app/controllers/forums_controller.rb @@ -0,0 +1,83 @@ +class ForumsController < ApplicationController + # GET /forums + # GET /forums.json + def index + @forums = Forum.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @forums } + end + end + + # GET /forums/1 + # GET /forums/1.json + def show + @forum = Forum.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @forum } + end + end + + # GET /forums/new + # GET /forums/new.json + def new + @forum = Forum.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @forum } + end + end + + # GET /forums/1/edit + def edit + @forum = Forum.find(params[:id]) + end + + # POST /forums + # POST /forums.json + def create + @forum = Forum.new(params[:forum]) + + respond_to do |format| + if @forum.save + format.html { redirect_to @forum, notice: 'Forum was successfully created.' } + format.json { render json: @forum, status: :created, location: @forum } + else + format.html { render action: "new" } + format.json { render json: @forum.errors, status: :unprocessable_entity } + end + end + end + + # PUT /forums/1 + # PUT /forums/1.json + def update + @forum = Forum.find(params[:id]) + + respond_to do |format| + if @forum.update_attributes(params[:forum]) + format.html { redirect_to @forum, notice: 'Forum was successfully updated.' } + format.json { head :no_content } + else + format.html { render action: "edit" } + format.json { render json: @forum.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /forums/1 + # DELETE /forums/1.json + def destroy + @forum = Forum.find(params[:id]) + @forum.destroy + + respond_to do |format| + format.html { redirect_to forums_url } + format.json { head :no_content } + end + end +end diff --git a/app/helpers/forums_helper.rb b/app/helpers/forums_helper.rb new file mode 100644 index 000000000..2e531fd46 --- /dev/null +++ b/app/helpers/forums_helper.rb @@ -0,0 +1,2 @@ +module ForumsHelper +end diff --git a/app/models/forum.rb b/app/models/forum.rb new file mode 100644 index 000000000..e87540e7e --- /dev/null +++ b/app/models/forum.rb @@ -0,0 +1,3 @@ +class Forum < ActiveRecord::Base + # attr_accessible :title, :body +end diff --git a/app/views/forums/_form.html.erb b/app/views/forums/_form.html.erb new file mode 100644 index 000000000..2eaf28e33 --- /dev/null +++ b/app/views/forums/_form.html.erb @@ -0,0 +1,17 @@ +<%= form_for(@forum) do |f| %> + <% if @forum.errors.any? %> +
+ | + | + |
---|---|---|
<%= link_to 'Show', forum %> | +<%= link_to 'Edit', edit_forum_path(forum) %> | +<%= link_to 'Destroy', forum, method: :delete, data: { confirm: 'Are you sure?' } %> | +
<%= notice %>
+ + +<%= link_to 'Edit', edit_forum_path(@forum) %> | +<%= link_to 'Back', forums_path %> diff --git a/config/routes.rb b/config/routes.rb index 8d09fbcab..b2b90e7fa 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -16,6 +16,31 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. RedmineApp::Application.routes.draw do + resources :forums do + + member do + get 'settings(/:tab)', :action => 'settings', :as => 'settings' + post 'modules' + post 'archive' + post 'unarchive' + post 'close' + post 'reopen' + match 'copy', :via => [:get, :post] + end + + shallow do + resources :memberships, :controller => 'members', :only => [:index, :show, :new, :create, :update, :destroy] do + collection do + get 'autocomplete' + end + end + end + + resources :boards + + end + + resources :shares #added by william diff --git a/db/migrate/20131122020026_create_forums.rb b/db/migrate/20131122020026_create_forums.rb new file mode 100644 index 000000000..b6b06237b --- /dev/null +++ b/db/migrate/20131122020026_create_forums.rb @@ -0,0 +1,8 @@ +class CreateForums < ActiveRecord::Migration + def change + create_table :forums do |t| + + t.timestamps + end + end +end