diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb deleted file mode 100644 index 39e0490..0000000 --- a/app/controllers/comments_controller.rb +++ /dev/null @@ -1,94 +0,0 @@ -class CommentsController < ApplicationController - def index - @commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil? - @comments=@commentable.comments.order(:created_at).roots.page(params[:page]).per(2).reverse_order - respond_to do |format| - format.html # new.html.erb - format.json { render json: @comment } - format.js - end - - end - def hide - @commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil? - respond_to do |format| - format.js - end - - end - def show - @comment = Comment.find(params[:id]) - - - respond_to do |format| - format.html # show.html.erb - format.json { render json: @comment } - end - end - def new - @comment = Comment.new - @comment.commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil? - respond_to do |format| - format.html # new.html.erb - format.json { render json: @comment } - format.js - end - end - - # GET /comments/1/edit - def edit - @comment = Comment.find(params[:id]) - end - - # POST /comments - # POST /comments.json - def create - params_new= params[:comment].select {|i| !["commentable_id", "commentable_type"].include?(i)} - - c = params[:comment][:commentable_type].constantize.find(params[:comment][:commentable_id]) unless params[:comment][:commentable_type].nil? or params[:comment][:commentable_id].nil? - - @comment = Comment.build_for(c, current_user,"", params_new) - respond_to do |format| - if @comment - format.html { redirect_to @comment.commentable, notice: 'Comment was successfully created.', show_comments: true } - format.json { render json: @comment, status: :created, location: @comment } - else - format.html { render action: "new" } - format.json { render json: @comment.errors, status: :unprocessable_entity } - end - end - end - - # PUT /comments/1 - # PUT /comments/1.json - def update - - params[:comment].select! {|i| !["commentable_id", "commentable_type"].include?(i)} - @comment = Comment.find(params[:id]) - @comment.commentable=params[:comment][:commentable_type].constantize.find(params[:comment][:commentable_id]) unless params[:comment][:commentable_type].nil? or params[:comment][:commentable_id].nil? - respond_to do |format| - - if @comment.update_attributes(params[:comment]) - format.html { redirect_to @comment.commentable, notice: 'Comment was successfully updated.' } - format.json { head :no_content } - else - format.html { render action: "edit" } - format.json { render json: @comment.errors, status: :unprocessable_entity } - end - end - end - - # DELETE /comments/1 - # DELETE /comments/1.json - def destroy - @comment = Comment.find(params[:id]) - @commentable=@comment.commentable - @comment.destroy - - respond_to do |format| - format.html { redirect_to @commentable, :action=>"show"} - format.json { head :no_content } - - end - end -end diff --git a/app/models/ability.rb b/app/models/ability.rb index 3a6397c..56ba247 100755 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -5,7 +5,7 @@ class Ability loggedin=!(user.nil?) user ||= User.new # guest user (not logged in) - can :manage, Comment + #----------------------------------------------------- # Rechteverwaltung fuer Studien Modul can [:show, :index], Studium diff --git a/app/models/beispiel.rb b/app/models/beispiel.rb index 9d94c06..2fbf52f 100755 --- a/app/models/beispiel.rb +++ b/app/models/beispiel.rb @@ -16,7 +16,7 @@ class Beispiel < ActiveRecord::Base attr_accessible :desc, :name, :lva_id, :beispieldatei, :beispieldatei_cache, :datum acts_as_votable belongs_to :lva - include IsCommentable + mount_uploader :beispieldatei, AttachmentUploader validates :beispieldatei, :presence => true validates :name, :presence => true diff --git a/app/models/comment.rb b/app/models/comment.rb deleted file mode 100644 index dd238b5..0000000 --- a/app/models/comment.rb +++ /dev/null @@ -1,51 +0,0 @@ -class Comment < ActiveRecord::Base - attr_accessible :text,:anonym, :intern, :hidden - # commentable depth, official, intern, anonym - acts_as_votable - acts_as_nested_set :scope => [:commentable_id, :commentable_type] - belongs_to :commentable, :polymorphic=> true - belongs_to :user - validate :text, :presence=>true - validate :user, :presence=>true - validate :commentable, :presence=>true - include IsCommentable - - def self.build_for(set_commentable, user, text,attr={}) - c = new - raise "Tried to build comment for non commentable" unless set_commentable.try(:is_commentable?) - c.user=user - c.text=text - c.assign_attributes(attr) - - unless set_commentable.class.to_s == "Comment" - c.commentable=set_commentable - c.save - else - - c.commentable=set_commentable.commentable - c.save - c.move_to_child_of(set_commentable) - end - c - end - def thumb_url - t_url= user.fetprofile.picture.thumb.url unless user.nil? or user.fetprofile.nil? - t_url - end - def self.wrapid_for(c) - "comments_" + c.class.to_s + "_" + c.id.to_s - end - - def self.switchshowid_for(c) - "show_comments_" + c.class.to_s + "_" + c.id.to_s - end - def divid - "comment_" + id.to_s - end - def formid -"comment_form_" + commentable_type + "_" + commentable_id.to_s - end - def self.formid_for(c) - "comment_form_" + c.class.to_s + "_" + c.id.to_s - end -end diff --git a/app/views/beispiele/_beispiel.html.erb b/app/views/beispiele/_beispiel.html.erb index 0cc3a5f..cabf958 100644 --- a/app/views/beispiele/_beispiel.html.erb +++ b/app/views/beispiele/_beispiel.html.erb @@ -33,18 +33,5 @@ - <%= link_to "comment" , new_comment_path( commentable_type: "Beispiel", commentable_id: beispiel.id), remote:true if can? :comment, beispiel %> - <%= link_to "comments:.."+beispiel.comments.count().to_s, comments_path(commentable_type: "Beispiel", commentable_id: beispiel.id), remote:true, id: Comment.switchshowid_for(beispiel) %> -
<%= comment.text %>
-<% if can?(:comment, comment.commentable) %>
-
<%= link_to "comment" , new_comment_path( commentable_type: "Comment", commentable_id: comment.id), remote:true %>
-<% end %>
-
| - | - | - |
|---|---|---|
| <%= link_to 'Show', comment %> | -<%= link_to 'Edit', edit_comment_path(comment) %> | -<%= link_to 'Destroy', comment, method: :delete, data: { confirm: 'Are you sure?' } %> | -
<%= notice %>
- -<%= render @comment %> - -<%= link_to 'Edit', edit_comment_path(@comment) %> | -<%= link_to 'Back', comments_path %> diff --git a/config/application.rb b/config/application.rb index 4c31c97..eccce65 100755 --- a/config/application.rb +++ b/config/application.rb @@ -2,7 +2,7 @@ require File.expand_path('../boot', __FILE__) require 'rails/all' require File.expand_path('lib/like_voteable.rb') -require File.expand_path('lib/is_commentable.rb') + if defined?(Bundler) # If you precompile assets before deploying to production, use this line diff --git a/config/routes.rb b/config/routes.rb index c29e992..14ce523 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,5 @@ Fetsite::Application.routes.draw do - resources :comments + themes_for_rails @@ -132,11 +132,7 @@ Fetsite::Application.routes.draw do end end end - resources :comments do - collection do - get 'hide' - end - end + resources :home, :only=>[:index] do get :search, :on => :collection collection do diff --git a/db/migrate/20140723172934_create_comments.rb b/db/migrate/20140723172934_create_comments.rb deleted file mode 100644 index 8b0ab02..0000000 --- a/db/migrate/20140723172934_create_comments.rb +++ /dev/null @@ -1,19 +0,0 @@ -class CreateComments < ActiveRecord::Migration - def change - create_table :comments do |t| - t.integer :user_id - t.integer :commentable_id - t.string :commentable_type - t.text :text - t.integer :parent_id - t.integer :lft - t.integer :rgt - t.integer :depth - t.boolean :hidden - t.boolean :official - t.boolean :intern - t.boolean :anonym - t.timestamps - end - end -end diff --git a/lib/is_commentable.rb b/lib/is_commentable.rb deleted file mode 100644 index c5c1d56..0000000 --- a/lib/is_commentable.rb +++ /dev/null @@ -1,20 +0,0 @@ -module IsCommentable - def self.included(base) - base.class_eval do - include InstanceMethods - has_many :comments, as: :commentable, dependent: :destroy -# extend ClassMethods - - end - - end - module InstanceMethods - def is_commentable? - true - end - def comment(user, text, attr={}) - comments << Comment.build_for(self, user, text, attr) - end - end - -end