diff --git a/app/controllers/lvas_controller.rb b/app/controllers/lvas_controller.rb index 760d3e4..a5d0360 100755 --- a/app/controllers/lvas_controller.rb +++ b/app/controllers/lvas_controller.rb @@ -48,7 +48,7 @@ class LvasController < ApplicationController @lva = Lva.find_by_id(params[:id]) @beispiel=Beispiel.new @beispiele_all=@lva.beispiele.order(:datum).accessible_by(current_ability, :show) - @beispiele = @lva.beispiele.not_flag_badquality.not_flag_delete.order(:datum).accessible_by(current_ability, :show) + @beispiele = @lva.beispiele.not_flag_badquality.not_flag_delete.order(:lecturer_id,:datum).accessible_by(current_ability, :show) @beispiele_badQ = @lva.beispiele.flag_badquality.not_flag_delete.order(:datum).accessible_by(current_ability, :show) @beispiele_deleted = @lva.beispiele.flag_delete.order(:datum).accessible_by(current_ability, :show) @toolbar_elements =[] diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index d59d2f9..9bcb565 100755 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -126,5 +126,20 @@ m.save "blue1" end end + def like_dislike_for(obj) + out="" + if can?(:like, obj) + out += link_to ffi1_icon("like3")+" like" + "("+obj.get_likes.size.to_s+")", url_for([:like, obj]),title: "liked by " + ((current_user.liked?(obj)) ? ("you and " + ((obj.get_likes.size - 1).to_s + " others")) : obj.get_likes.size.to_s), remote: true + else + out += "liked by " + obj.get_likes.size.to_s + end + + if can?(:dislike, obj) + out += link_to ffi1_icon("dislike")+" dislike" + "("+obj.get_dislikes.size.to_s+")", url_for([:dislike, obj]),title:"disliked by " + ((current_user.disliked?(obj)) ? ("you and " + ((obj.get_dislikes.size - 1).to_s + " others")) : obj.get_dislikes.size.to_s) , remote: true + else + out += "disliked by " + obj.get_dislikes.size.to_s + end + raw(out) + end end diff --git a/app/models/lecturer.rb b/app/models/lecturer.rb index 8195633..027f47b 100644 --- a/app/models/lecturer.rb +++ b/app/models/lecturer.rb @@ -14,6 +14,7 @@ class Lecturer < ActiveRecord::Base attr_accessible :email, :name, :oid, :picture, :remove_picture, :picture_cache, :lva_ids, :link has_and_belongs_to_many :lvas + has_many :beispiele mount_uploader :picture, PictureUploader resourcify diff --git a/app/models/lva.rb b/app/models/lva.rb index 6de47d1..1927fa0 100755 --- a/app/models/lva.rb +++ b/app/models/lva.rb @@ -44,6 +44,7 @@ class Lva < ActiveRecord::Base has_and_belongs_to_many :modul,:uniq=>true # Gehört zu einem Modul has_and_belongs_to_many :semester has_many :beispiele , :class_name => "Beispiel" + has_and_belongs_to_many :lecturers has_many :nlinks, as: :link has_many :crawlobjects, :as=>:something @@ -56,7 +57,7 @@ class Lva < ActiveRecord::Base validates_presence_of :stunden # Stunden Eingetragen? validates_presence_of :modul # Zugehöriges Modul eingetragen? # (zumindest eines) - + def typ_n typ=="andere" ? "" : typ end diff --git a/app/views/beispiele/_beispiel.html.erb b/app/views/beispiele/_beispiel.html.erb index 8f9f51e..9e1aa4e 100644 --- a/app/views/beispiele/_beispiel.html.erb +++ b/app/views/beispiele/_beispiel.html.erb @@ -7,6 +7,7 @@ <%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
+ <%= if can?(:like, beispiel) link_to ffi1_icon("like3")+" like" + "("+beispiel.get_likes.size.to_s+")", like_beispiel_path(beispiel),title: "liked by " + ((current_user.liked?(beispiel)) ? ("you and " + ((beispiel.get_likes.size - 1).to_s + " others")) : beispiel.get_likes.size.to_s), remote: true diff --git a/app/views/beispiele/edit.html.erb b/app/views/beispiele/edit.html.erb index e5eac4c..8ed2cac 100755 --- a/app/views/beispiele/edit.html.erb +++ b/app/views/beispiele/edit.html.erb @@ -1,4 +1,5 @@ -

Editing beispiel

+

Beispiel bearbeiten

+

<%= notice %>

<%= render 'form' %> diff --git a/app/views/themes/blue2/beispiele/_beispiel.html.erb b/app/views/themes/blue2/beispiele/_beispiel.html.erb index 5f8ca83..5a7e1b7 100644 --- a/app/views/themes/blue2/beispiele/_beispiel.html.erb +++ b/app/views/themes/blue2/beispiele/_beispiel.html.erb @@ -1,37 +1,22 @@
-
+
<%=link_to ffi1_icon("note20")+" " + beispiel.name + " " + I18n.l(beispiel.datum), beispiel.beispieldatei.url, title: beispiel.desc %>
<%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
-
+
+ <%= beispiel.lecturer.try(:name).to_s %> +
+
<%= flag_link(beispiel, "goodquality")%> - <%= flag_link(beispiel, "badquality")%> <%= flag_link(beispiel, "delete")%> - - <%= - if can?(:like, beispiel) - link_to ffi1_icon("like3")+" like" + "("+beispiel.get_likes.size.to_s+")", like_beispiel_path(beispiel),title: "liked by " + ((current_user.liked?(beispiel)) ? ("you and " + ((beispiel.get_likes.size - 1).to_s + " others")) : beispiel.get_likes.size.to_s), remote: true - else - "liked by " + beispiel.get_likes.size.to_s - end - %> - - <%= - if can?(:dislike, beispiel) - link_to ffi1_icon("dislike")+" dislike" + "("+beispiel.get_dislikes.size.to_s+")", dislike_beispiel_path(beispiel),title:"disliked by " + ((current_user.disliked?(beispiel)) ? ("you and " + ((beispiel.get_dislikes.size - 1).to_s + " others")) : beispiel.get_dislikes.size.to_s) , remote: true - else - "disliked by " + beispiel.get_dislikes.size.to_s - end - - %> - - <%= link_to ff_icon("icon-pencil")+"edit", edit_beispiel_path(beispiel) if can? :edit, beispiel%> - <%= link_to fa_icon("trash")+"delete", beispiel_path(beispiel), :method=>:delete, :data=>{:confirm=>I18n.t('beispiel.sure')} if can? :delete, beispiel %> - <% link_to "Refresh", beispiel_path(beispiel,show_comments: true), remote: true %>
+ <%= like_dislike_for(beispiel) %> + <%= link_to ff_icon("icon-pencil")+"edit", edit_beispiel_path(beispiel) if can? :edit, beispiel%> + <%= link_to fa_icon("trash")+"delete", beispiel_path(beispiel), :method=>:delete, :data=>{:confirm=>I18n.t('beispiel.sure')} if can? :delete, beispiel %> + <% link_to "Refresh", beispiel_path(beispiel,show_comments: true), remote: true %>
<% unless beispiel.desc.nil? || beispiel.desc.empty? %> diff --git a/config/environments/development.rb b/config/environments/development.rb index 63ff982..53fb4c2 100755 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -15,8 +15,8 @@ Fetsite::Application.configure do # Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = true - config.action_mailer.delivery_method =:sendmail - config.action_mailer.default_url_options = {} # :host => 'glonass.htu.tuwien.ac.at' } + config.action_mailer.delivery_method =:sendmail + config.action_mailer.default_url_options = {} # :host => 'glonass.htu.tuwien.ac.at' } # Print deprecation notices to the Rails logger config.active_support.deprecation = :log diff --git a/lib/flagable.rb b/lib/flagable.rb index 01aabff..d6f8dc7 100644 --- a/lib/flagable.rb +++ b/lib/flagable.rb @@ -63,7 +63,7 @@ module Flagable fi = obj.class::FLAG_ICONS value=obj.send("flag_"+flag) cstyle=(value) ? "true" :"false" - link_to ff_icon(fi[flag]), flag_beispiel_path(obj,{flag: flag, value: !value, theme: nil, locale: nil}), remote: true, class:("flag-"+cstyle +" flag-"+flag + "-"+cstyle ), id: obj.flaglinkid(flag) + link_to ff_icon(fi[flag]), url_for({controller: obj.class.name.tableize,action: :flag, flag: flag, value: !value, theme: nil, locale: nil, id: obj.id}), remote: true, class:("flag-"+cstyle +" flag-"+flag + "-"+cstyle ), id: obj.flaglinkid(flag) end end end