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