From aa2ef0955cf9ecfb7caf35cc60fe9c5a05525021 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 23 Feb 2014 14:26:01 +0100 Subject: [PATCH 01/56] gemfile fix --- Gemfile | 2 +- Gemfile.lock | 17 ----------------- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/Gemfile b/Gemfile index b306fd4..eeb2f0a 100755 --- a/Gemfile +++ b/Gemfile @@ -93,4 +93,4 @@ gem "seed_dump", "~> 0.5.3" #gem "themes_for_rails" ,:git =>'git://github.com/tkriplean/themes_for_rails.git' #gem "themes_for_rails", :git=> 'git://github.com/lucasefe/themes_for_rails.git' gem 'themes_for_rails' -gem 'remotipart', :git =>'git://github.com/JangoSteve/remotipart.git' + diff --git a/Gemfile.lock b/Gemfile.lock index 1ca442a..8bbc7d2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -90,22 +90,14 @@ GEM actionpack (>= 3.0) formtastic-bootstrap (2.1.3) formtastic (~> 2.2) -<<<<<<< HEAD - git (1.2.5) -======= git (1.2.6) ->>>>>>> b910973ee64c28c5c881a6a0957bea7f114ca266 globalize (3.0.4) activemodel (>= 3.0.0, < 4.0.0) activerecord (>= 3.0.0, < 4.0.0) globalize-versioning (0.1.0.alpha.1) globalize (>= 3, < 5) paper_trail (~> 3.0.0) -<<<<<<< HEAD - haml (4.0.0) -======= haml (4.0.5) ->>>>>>> b910973ee64c28c5c881a6a0957bea7f114ca266 tilt hashie (2.0.5) hike (1.2.3) @@ -118,13 +110,9 @@ GEM jquery-rails (3.0.4) railties (>= 3.0, < 5.0) thor (>= 0.14, < 2.0) -<<<<<<< HEAD jquery-ui-rails (4.1.1) railties (>= 3.1.0) json (1.7.7) -======= - json (1.8.1) ->>>>>>> b910973ee64c28c5c881a6a0957bea7f114ca266 jwt (0.1.8) multi_json (>= 1.5) libv8 (3.16.14.3) @@ -159,13 +147,8 @@ GEM omniauth-oauth2 (1.1.1) oauth2 (~> 0.8.0) omniauth (~> 1.0) -<<<<<<< HEAD - orm_adapter (0.4.0) - paperclip (3.4.0) -======= orm_adapter (0.5.0) paperclip (3.4.2) ->>>>>>> b910973ee64c28c5c881a6a0957bea7f114ca266 activemodel (>= 3.0.0) activerecord (>= 3.0.0) activesupport (>= 3.0.0) From 6022491a2675b3e65080486c7324415886cd6b6d Mon Sep 17 00:00:00 2001 From: Andreas Deutschmann Date: Wed, 12 Mar 2014 17:58:49 +0100 Subject: [PATCH 02/56] FIX: Translations Gremien Issure #121 --- app/controllers/gremien_controller.rb | 2 +- app/views/fetprofiles/index.html.erb | 2 +- app/views/gremien/verwalten.html.erb | 2 +- config/locales/fetprofile.de.yml | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/controllers/gremien_controller.rb b/app/controllers/gremien_controller.rb index 966cc4c..497163f 100644 --- a/app/controllers/gremien_controller.rb +++ b/app/controllers/gremien_controller.rb @@ -6,7 +6,7 @@ class GremienController < ApplicationController def verwalten @gremien = Gremium.all @gremientabs=Gremium.tabs - @toolbar_elements << {:text=>I18n.t('common.new'),:path=>new_gremium_path() ,:icon=>:plus} if can? :new, Gremium + @toolbar_elements << {:text=>I18n.t('gremium.new'),:path=>new_gremium_path() ,:icon=>:plus} if can? :new, Gremium respond_to do |format| format.html # index.html.erb format.json { render json: @gremien } diff --git a/app/views/fetprofiles/index.html.erb b/app/views/fetprofiles/index.html.erb index a36b5b2..d80a255 100644 --- a/app/views/fetprofiles/index.html.erb +++ b/app/views/fetprofiles/index.html.erb @@ -41,7 +41,7 @@
- <%= link_to I18n.t('fetprofiles.new'), new_fetprofile_path %> + <%= link_to I18n.t('profile.new_profile'), new_fetprofile_path %>
diff --git a/app/views/gremien/verwalten.html.erb b/app/views/gremien/verwalten.html.erb index 3348678..38a339e 100644 --- a/app/views/gremien/verwalten.html.erb +++ b/app/views/gremien/verwalten.html.erb @@ -39,7 +39,7 @@
<%= render 'layouts/pretty_toolbar' %> -<%= link_to 'New Gremium', new_gremium_path %> + diff --git a/config/locales/fetprofile.de.yml b/config/locales/fetprofile.de.yml index 335d99e..8d938b5 100644 --- a/config/locales/fetprofile.de.yml +++ b/config/locales/fetprofile.de.yml @@ -7,6 +7,7 @@ de: notactive_members: "Pension" new_profile: "Neues Profil anlegen" gremium: + new: "Neues Gremium" filter: berufung: title: "Berufungskommission" From 1dd6f027a0cb5b7a79b492260d38f99eec3f4846 Mon Sep 17 00:00:00 2001 From: Andreas Deutschmann Date: Wed, 12 Mar 2014 22:07:03 +0100 Subject: [PATCH 03/56] FIX: Issue #117 --- app/controllers/fetprofiles_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/fetprofiles_controller.rb b/app/controllers/fetprofiles_controller.rb index 2f8a654..ad61588 100644 --- a/app/controllers/fetprofiles_controller.rb +++ b/app/controllers/fetprofiles_controller.rb @@ -28,7 +28,7 @@ class FetprofilesController < ApplicationController @toolbar_elements << {:hicon=>'icon-pencil', :text=> I18n.t('common.edit'),:path => edit_fetprofile_path(@fetprofile) } if can? :edit, @fetprofile - @toolbar_elements << {:hicon=>'icon-minus', :text => I18n.t('common.delete'), :method=>:delete, :confirm=>"Sure"} + @toolbar_elements << {:hicon=>'icon-minus', :text => I18n.t('common.delete'), :method=>:delete, :confirm=>"Sure"} if can? :destroy,@fetprofile respond_to do |format| From 9fae6dae7f3030e7e428904dd221c1d445bf967e Mon Sep 17 00:00:00 2001 From: Andreas Deutschmann Date: Wed, 12 Mar 2014 22:20:04 +0100 Subject: [PATCH 04/56] FIX: Translation Missing Themengruppe verwalten --- app/controllers/themengruppen_controller.rb | 2 +- config/locales/themen.de.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/themengruppen_controller.rb b/app/controllers/themengruppen_controller.rb index aba10ca..07c0a06 100644 --- a/app/controllers/themengruppen_controller.rb +++ b/app/controllers/themengruppen_controller.rb @@ -22,7 +22,7 @@ class ThemengruppenController < ApplicationController @toolbar_elements = [] @toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('thema.add'), :path=>new_themengruppe_thema_path(@themengruppe)} if can? :new, Themengruppe @toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('themengruppe.edit'), :path=>edit_themengruppe_path(@themengruppe)} if can? :edit, @themengruppe - @toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t("themengruppe.verwalten"), :path=>themengruppe_verwalten_path(@themengruppe)} if can? :edit, @themengruppe + @toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t("themengruppe.manage"), :path=>themengruppe_verwalten_path(@themengruppe)} if can? :edit, @themengruppe @toolbar_elements << {:hicon=>'icon-remove-circle',:text=>I18n.t('themengruppe.remove'), :path=>themengruppe_path(@themengruppe), :method=>:delete,:confirm=>I18n.t('themengruppe.sure')} if can? :delete, @themengruppe diff --git a/config/locales/themen.de.yml b/config/locales/themen.de.yml index 7430b27..3b0229b 100644 --- a/config/locales/themen.de.yml +++ b/config/locales/themen.de.yml @@ -5,6 +5,7 @@ de: edit: "Themengruppe bearbeiten" remove: "Themengruppe löschen" sure: "Sicher, dass Sie diese Themengruppe löschen möchten?" + manage: "Themengruppe verwalten" thema: add: "Thema hinzufügen" edit: "Thema bearbeiten" From 4ac7b41a7fa291ffe966369203f653be54f2bfff Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 11:19:10 +0100 Subject: [PATCH 05/56] lecturer load lva load first steps --- app/controllers/lvas_controller.rb | 11 +++++++++++ app/controllers/moduls_controller.rb | 1 + app/models/lecturer.rb | 12 ++++++++++++ app/models/lva.rb | 2 +- app/views/lecturers/_lec_lva.html.erb | 16 ++++++++-------- app/views/lecturers/show.html.erb | 3 +++ 6 files changed, 36 insertions(+), 9 deletions(-) diff --git a/app/controllers/lvas_controller.rb b/app/controllers/lvas_controller.rb index 8919adb..7f0bd65 100755 --- a/app/controllers/lvas_controller.rb +++ b/app/controllers/lvas_controller.rb @@ -36,6 +36,17 @@ class LvasController < ApplicationController end + + def compare_tiss + + end + + def load_tiss + + end + + + # POST /lvas # POST /lvas.json def create diff --git a/app/controllers/moduls_controller.rb b/app/controllers/moduls_controller.rb index 624d536..ace786b 100755 --- a/app/controllers/moduls_controller.rb +++ b/app/controllers/moduls_controller.rb @@ -8,6 +8,7 @@ class ModulsController < ApplicationController if !params[:studium_id].nil? @studium=Studium.find_by_id(params[:studium_id]) end + @toolbar_elements = [{:hicon=>'icon-plus-sign', :text=>I18n.t("modul.add"), :path=>new_modul_path}] @topbar_elements =[{:hicon=>'icon-list', :text=>I18n.t("studien.allestudien"),:path=>studien_path}] @topbar_elements<<{:hicon=>'icon-list', :text=>I18n.t("modul.list"),:path=>moduls_path} diff --git a/app/models/lecturer.rb b/app/models/lecturer.rb index f860542..8195633 100644 --- a/app/models/lecturer.rb +++ b/app/models/lecturer.rb @@ -16,4 +16,16 @@ class Lecturer < ActiveRecord::Base has_and_belongs_to_many :lvas mount_uploader :picture, PictureUploader resourcify + + def load_tissdata + url= "https://tiss.tuwien.ac.at/adressbuch/adressbuch/person_via_oid/"+self.oid.to_s+".xml" + hash=Hash.from_xml(open(url).read)["tuvienna"] + self.name=hash["person"]["firstname"]+" "+hash["person"]["lastname"] + if hash["person"]["employee"]["employment"].is_a? Array + self.email= hash["person"]["employee"]["employment"].first["emails"]["email"].first + else + self.email= hash["person"]["employee"]["employment"]["emails"]["email"].first + end + self.link= "https://tiss.tuwien.ac.at/adressbuch/adressbuch/person_via_oid/"+self.oid.to_s + end end diff --git a/app/models/lva.rb b/app/models/lva.rb index 241b4b6..4bf9bf8 100755 --- a/app/models/lva.rb +++ b/app/models/lva.rb @@ -87,7 +87,7 @@ class Lva < ActiveRecord::Base # rescue OpenURI::HTTPError => e # end self.name=hash["course"]["title"][I18n.locale.to_s] - self.pruefungsinformation= hash["course"]["examinationModalities"][I18n.locale.to_s] + self.pruefungsinformation = hash["course"]["examinationModalities"][I18n.locale.to_s] self.desc= hash["course"]["objective"][I18n.locale.to_s]+hash["course"]["teachingContent"][I18n.locale.to_s] self.typ=hash["course"]["courseType"] self.stunden=hash["course"]["weeklyHours"] diff --git a/app/views/lecturers/_lec_lva.html.erb b/app/views/lecturers/_lec_lva.html.erb index 21a9536..83cc332 100644 --- a/app/views/lecturers/_lec_lva.html.erb +++ b/app/views/lecturers/_lec_lva.html.erb @@ -1,11 +1,11 @@
- - - -
-

<%= link_to lec_lva.name, lec_lva %>

+ + + +
+

<%= link_to lec_lva.name, lec_lva %>

Email: <%= mail_to lec_lva.email %>
- TISS: <%= link_to lec_lva.name, lec_lva.link %> -
-
+ TISS: <%= link_to lec_lva.name, lec_lva.link %> +
+ diff --git a/app/views/lecturers/show.html.erb b/app/views/lecturers/show.html.erb index 21e93cb..7f6cf37 100644 --- a/app/views/lecturers/show.html.erb +++ b/app/views/lecturers/show.html.erb @@ -1,5 +1,8 @@

<%= notice %>

+ +<%= render partial: "lec_lva", object: @lecturer %> +

Name: <%= @lecturer.name %> From e62416dde4f18766f593345a7e0b8a627c7afcab Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 11:19:18 +0100 Subject: [PATCH 06/56] remotipart fix --- app/assets/javascripts/application.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 3492931..06452cd 100755 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -25,7 +25,7 @@ //= require bootstrap/load-image.min //= require bootstrap/image-gallery.min //= require jquery-fileupload -//= require jquery.remotipart +// require jquery.remotipart function insertAttachment(url,name) { var ext = url.split('.').pop().toLowerCase(); var img_ext = [ "jpg", "png", "bmp" , "jpeg" ]; From 35cb224fb67a2f1ac83a98d608406d49aa22275a Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 11:19:31 +0100 Subject: [PATCH 07/56] beuigkeiten reihenfolge fix --- app/models/neuigkeit.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/neuigkeit.rb b/app/models/neuigkeit.rb index 2a0f582..1660869 100755 --- a/app/models/neuigkeit.rb +++ b/app/models/neuigkeit.rb @@ -24,7 +24,7 @@ class Neuigkeit < ActiveRecord::Base has_many :calentries, as: :object mount_uploader :picture, PictureUploader scope :published, -> {where("datum <= ? AND datum IS NOT NULL", Time.now.to_date).order(:datum).reverse_order} - scope :recent, -> { published.order(:datum).reverse_order.limit(15)} + scope :recent, -> { published.limit(15)} scope :unpublished, -> {where("datum >= ? OR datum IS NULL", Date.today)} scope :public, ->{includes(:rubrik).where("rubriken.public"=>:true)} scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")} From 340c9a4455f88960f70e6f5ed29c578550544415 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 11:19:47 +0100 Subject: [PATCH 08/56] fetlogin translated --- app/views/home/index.html.erb | 2 +- config/locales/de.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/home/index.html.erb b/app/views/home/index.html.erb index 50c915a..67f30b9 100755 --- a/app/views/home/index.html.erb +++ b/app/views/home/index.html.erb @@ -7,7 +7,7 @@ <% end %>

-<%= link_to "FET Login", user_omniauth_authorize_path(:ldap) %> +<%= link_to I18n.t('home.login'), user_omniauth_authorize_path(:ldap) %>

Beta Test

diff --git a/config/locales/de.yml b/config/locales/de.yml index 1f17239..7305808 100755 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -13,6 +13,7 @@ de: sure_del: "Sicher endgültig löschen?" home: mtitle: "Menu" + login: "FET Login" willkommen: "Willkommen bei der Fachschaft Elektrotechnik" hallobeiderfet: "auf der Seite der Fachschaft Elektrotechnik an der TU Wien. Wir sind die offizielle Vertretung aller Studierenden auf der Fakultät für Elektrotechnik und Informationstechnik. Wir vertreten eure Interessen in den offiziellen Gremien der Universität. Wir sind bemüht euch in Anliegen des Studiums bestmöglich zu unterstützen und beraten. Außerdem bieten wir ein Rahmenprogramm zum Studium in Form von Veranstaltungen und Festln. Wir freuen uns über Feedback und Anregungen, insbesondere von jenen, die gleich Nägel mit Köpfen machen und unser Team verstärken wollen oder ihre Themen und Meinungen in eine unserer Sitzungen einbringen möchten." home: "Startseite" From dfe06c549563dbd68cbf24fd0f29f3f07a410675 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 11:20:04 +0100 Subject: [PATCH 09/56] remotipart removed --- Gemfile.lock | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 515aca0..c2a82fc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,9 +1,3 @@ -GIT - remote: git://github.com/JangoSteve/remotipart.git - revision: aadc29e996c35096ee971bdc6cbf7ab148077a3a - specs: - remotipart (1.2.1) - GIT remote: git://github.com/airblade/paper_trail.git revision: 802b7d4ead71703860fcb9befc2c9b2ee05a8b9f From dbf02ef3f8b693c62ad9bdaee98d839f5f65a03b Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 11:23:23 +0100 Subject: [PATCH 10/56] removed database.yml --- .gitignore | 2 +- config/{database.yml => database.yml.example} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename config/{database.yml => database.yml.example} (100%) diff --git a/.gitignore b/.gitignore index 1b36e60..3bc8802 100755 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,7 @@ /db/schema.rb /db/structure.sql /config/initializers/devise.rb - +Gemfile.lock # Ignore all logfiles and tempfiles. /log/*.log /tmp diff --git a/config/database.yml b/config/database.yml.example similarity index 100% rename from config/database.yml rename to config/database.yml.example From 34fe0739d623a626cb40f154017be39c650efe50 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 13:13:31 +0100 Subject: [PATCH 11/56] lecturers von tiss laden --- app/controllers/lvas_controller.rb | 19 +++++- app/models/lva.rb | 92 ++++++++++++++++++++++++++---- app/views/lecturers/index.html.erb | 2 +- app/views/lvas/_lva.html.erb | 41 ++++++------- config/routes.rb | 6 +- 5 files changed, 121 insertions(+), 39 deletions(-) diff --git a/app/controllers/lvas_controller.rb b/app/controllers/lvas_controller.rb index 7f0bd65..a76a7fa 100755 --- a/app/controllers/lvas_controller.rb +++ b/app/controllers/lvas_controller.rb @@ -18,6 +18,9 @@ class LvasController < ApplicationController @toolbar_elements<<{:hicon=>'icon-plus-sign', :icon=>:plus, :text => "Neues Beispiel", :path=> new_beispiel_path(:lva_id =>@lva.id)} @toolbar_elements<<{:hicon=>'icon-pencil', :icon=>:pencil,:text =>I18n.t('common.edit'),:path => edit_lva_path(@lva)} @toolbar_elements << {:hicon=>'icon-remove-circle', :text=>I18n.t('common.delete'), :path=> lva_path(@lva), :method=>:delete, :confirm=>'Sure?' } + @toolbar_elements << {:hicon=>'icon-remove-circle', :text=>"df", :path=> lva_compare_tiss_path(@lva)} + + end # GET /lvas/new @@ -38,11 +41,21 @@ class LvasController < ApplicationController end def compare_tiss - + @lva = Lva.find_by_id(params[:lva_id]) + @lvatiss = Lva.new + @lvatiss.lvanr=@lva.lvanr + @lvatiss.load_tissdata("-2013W") + end def load_tiss - + @lva = Lva.find_by_id(params[:lva_id]) + @lva.load_tissdata("-2013W") + if @lva.save + redirect_to @lva , notice: 'Lva von TISS geleaden.' + else + redirect_to @lva, action: :compare_tiss + end end @@ -54,7 +67,7 @@ class LvasController < ApplicationController respond_to do |format| if @lva.save - @lva.add_semesters + @lva.add_semesters format.html { redirect_to @lva, notice: 'Lva was successfully created.' } else diff --git a/app/models/lva.rb b/app/models/lva.rb index 4bf9bf8..e963d0d 100755 --- a/app/models/lva.rb +++ b/app/models/lva.rb @@ -36,14 +36,14 @@ class Lva < ActiveRecord::Base ERLAUBTE_TYPEN = ['VO', 'UE', 'VU', 'LU', 'SE', 'andere']; - has_paper_trail # Versionsverfolgung + has_paper_trail :ignore=>[:desc, :pruefungsinformation]# Versionsverfolgung attr_accessible :desc, :ects, :lvanr, :name, :stunden, :modul_ids, :semester_ids, :pruefungsinformation, :lernaufwand, :typ, :lecturer_ids has_and_belongs_to_many :modul,:uniq=>true # Gehört zu einem Modul has_and_belongs_to_many :semester #Gehört zu einem Semester( derzeit nicht implementiert) has_many :beispiele , :class_name => "Beispiel" has_and_belongs_to_many :lecturers - translates :desc, :fallbacks_for_empty_translations => true + translates :desc,:pruefungsinformation, :fallbacks_for_empty_translations => true, :versioning=>true validates :lvanr,:format=>{ :with => /^[0-9][0-9][0-9]\.[0-9A][0-9][0-9]$/}, :presence=>true, :uniqueness=>true # , :uniqueness=>true # LVA-Nummer muss das Format 000.000 besitzen (uniqueness?) oder 000 für nicht validates_presence_of :ects # ECTS vorhanden? @@ -72,10 +72,35 @@ class Lva < ActiveRecord::Base ## # Lade Daten aus TISS und füge diese in die Datenbank ein. + def tisshash(semester) + url= "https://tiss.tuwien.ac.at/api/course/"+ lvanr.to_s.gsub(".","")+semester + hash=Hash.from_xml(open(url).read)["tuvienna"] + end def load_tissdata(semester) - url= "https://tiss.tuwien.ac.at/api/course/"+ lvanr.to_s.gsub(".","")+semester -# begin + urlp="https://tiss.tuwien.ac.at/api/course/"+ lvanr.to_s.gsub(".","")+"-" + begin + url= urlp+Time.now.year.to_s+"W" hash=Hash.from_xml(open(url).read)["tuvienna"] + rescue OpenURI::HTTPError => e + begin + url= urlp+Time.now.year.to_s+"S" + hash=Hash.from_xml(open(url).read)["tuvienna"] + rescue OpenURI::HTTPError => e + begin + url= urlp+(Time.now.year-1).to_s+"W" + hash=Hash.from_xml(open(url).read)["tuvienna"] + rescue OpenURI::HTTPError => e + + end + + end + + end + + + +# begin + # person=[] # if hash["course"]["lecturers"]["oid"].is_a? String # person = @hash["course"]["lecturers"]["oid"] @@ -84,15 +109,60 @@ class Lva < ActiveRecord::Base # person << Hash.from_xml(open("https://tiss.tuwien.ac.at/adressbuch/adressbuch/person_via_oid/" + pid.to_s + ".xml").read)["tuvienna"]["person"] # end # end - # rescue OpenURI::HTTPError => e - # end - self.name=hash["course"]["title"][I18n.locale.to_s] - self.pruefungsinformation = hash["course"]["examinationModalities"][I18n.locale.to_s] - self.desc= hash["course"]["objective"][I18n.locale.to_s]+hash["course"]["teachingContent"][I18n.locale.to_s] + self.name=hash["course"]["title"]["de"] + self.pruefungsinformation = hash["course"]["examinationModalities"][I18n.locale.to_s].to_s + self.desc= hash["course"]["objective"][I18n.locale.to_s]+"

"+hash["course"]["teachingContent"][I18n.locale.to_s] self.typ=hash["course"]["courseType"] self.stunden=hash["course"]["weeklyHours"] - end - + #hash["course"]["url"] + if hash["course"]["lecturers"]["oid"].is_a? Array + hash["course"]["lecturers"]["oid"].each do |oid| + lecturer= self.lecturers.where(:oid=>oid).first + if lecturer.nil? + lecturer=Lecturer.where(:oid=>oid).first + if lecturer.nil? + logger.debug "Neuen Lecturer laden" + lecturer=Lecturer.new + lecturer.oid=oid + lecturer.load_tissdata + if lecturer.save + self.lecturers << lecturer + else + logger.fatal "Invaliden Lecturer erzeugt" + end + else + logger.debug "Lecturer hinzufügen" + self.lecturers << lecturer + end + end + end + else + oid= hash["course"]["lecturers"]["oid"] + lecturer= self.lecturers.where(:oid=>oid).first + if lecturer.nil? + lecturer=Lecturer.where(:oid=>oid).first + if lecturer.nil? + logger.info "Neuen Lecturer laden" + lecturer=Lecturer.new + lecturer.oid=oid + lecturer.load_tissdata + if lecturer.save + self.lecturers << lecturer + else + logger.fatal "Invaliden Lecturer erzeugt" + end + else + + logger.info "Lecturer hinzufügen" + lecturer.load_tissdata + lecturer.save + self.lecturers << lecturer + end + end + + end + + end end diff --git a/app/views/lecturers/index.html.erb b/app/views/lecturers/index.html.erb index fe977db..8595cc6 100644 --- a/app/views/lecturers/index.html.erb +++ b/app/views/lecturers/index.html.erb @@ -16,7 +16,7 @@ <%= lecturer.name %> <%= lecturer.email %> <%= lecturer.oid %> - <%= lecturer.picture %> + <%= image_tag lecturer.picture.thumb %> <%= link_to 'Show', lecturer %> <%= link_to 'Edit', edit_lecturer_path(lecturer) %> <%= link_to 'Destroy', lecturer, method: :delete, data: { confirm: 'Are you sure?' } %> diff --git a/app/views/lvas/_lva.html.erb b/app/views/lvas/_lva.html.erb index e78e1f7..a49bb55 100755 --- a/app/views/lvas/_lva.html.erb +++ b/app/views/lvas/_lva.html.erb @@ -1,28 +1,25 @@ -<% @lva.modul.each do |modul| %> -<% modul.modulgruppen.each do |g| %> - -<% end %> -

<%= notice %>

+ +

<%=lva.typ.to_s + ' ' + lva.name %>

+

Prüfungsinformation

+
+ <%= lva.pruefungsinformation.to_s.html_safe %> +
+

Lernaufwand

+
+ <%= lva.lernaufwand %> +
+

Beschreibung

+
+ <%= lva.desc.to_s.html_safe %> +
+ +

- <%= @lva.lvanr %> - <%= @lva.name %> <%= @lva.ects %> ECTS/ <%= @lva.stunden %> Std - + <%= lva.lvanr %> + <%= lva.name %> <%= lva.ects %> ECTS/ <%= lva.stunden %> Std

- <%= @lva.desc %> +

-
    -<% @lva.beispiele.each do |b|%> -
  • <%= render b%>
  • - -<% end %> -
-<%= toolbar_html(@toolbar_elements) %> diff --git a/config/routes.rb b/config/routes.rb index bdfe913..b97e959 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -62,9 +62,11 @@ end get 'load_tiss' post 'show_tiss' end -resources :beispiele#, :only=>[:show,:index,:create] - resources :lvas do resources :beispiele#, :only=>[:show,:index,:create] + resources :lvas do + get 'compare_tiss' + get 'load_tiss' + resources :beispiele#, :only=>[:show,:index,:create] end resources :fragen From 3b8aee9e470a9bdb3e8f8586b2eee5383d77bdd0 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 13:32:09 +0100 Subject: [PATCH 12/56] searchresults themen fixed --- app/views/home/_search_results.html.erb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/views/home/_search_results.html.erb b/app/views/home/_search_results.html.erb index 9989e84..b4153fb 100644 --- a/app/views/home/_search_results.html.erb +++ b/app/views/home/_search_results.html.erb @@ -28,10 +28,11 @@ <% end %> <% @themen.each do |thema| %> -
- <%= link_to "Entwicklungsstatus" , home_dev_path %> + <%= link_to "Entwicklungsstatus" , dev_home_index_path %> <%= render 'beispiele' %> Verschiedene Styles diff --git a/app/views/layouts/menu.html.erb b/app/views/layouts/menu.html.erb index d6ea8f5..1702221 100644 --- a/app/views/layouts/menu.html.erb +++ b/app/views/layouts/menu.html.erb @@ -17,7 +17,8 @@
  • <%= link_to I18n.t('mitarbeiter',:scope=>'home' ),fetprofiles_path %>
  • <%= link_to I18n.t('fotos',:scope=>'home' ),galleries_path %>
  • <%= link_to I18n.t(:studien,:scope=>'home' ), studien_path %>
  • -
  • <%= link_to I18n.t("home.search"), search_home_index_path %>
  • +
  • <%= link_to I18n.t("home.search"), search_home_index_path %>
  • +
  • <%= link_to I18n.t("home.kontakt"), kontakt_home_index_path %>
  • <%= link_to 'Admin' , config_path%>
  • diff --git a/config/locales/de.yml b/config/locales/de.yml index 7305808..3005cde 100755 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -12,6 +12,7 @@ de: back: "Zurück" sure_del: "Sicher endgültig löschen?" home: + kontakt: "Kontakt" mtitle: "Menu" login: "FET Login" willkommen: "Willkommen bei der Fachschaft Elektrotechnik" diff --git a/config/routes.rb b/config/routes.rb index b97e959..9b08b5d 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -98,12 +98,14 @@ end # get 'rubriken/:id/verwalten',:controller=>:rubriken,:action=>:verwalten, :as=>'verwalten_rubrik' # get 'rubriken/verwalten',:controller=>:rubriken,:action=>:alle_verwalten, :as=>'rubriken_verwalten' - resources :home, :only=>[:index] - get 'home/dev', :controller=>:home, :action=>:dev, :as=>'home_dev' - get 'home/startdev', :controller=>:home, :action=>:startdev, :as=>'home_startdev' - get 'home/linksnotimplemented', :controller=>:home, :action=>:linksnotimplemented, :as=>'home_linksnotimplemented' - - + resources :home, :only=>[:index] do + collection do + get 'dev' + get 'startdev' + get 'linksnotimplemented' + get 'kontakt' + end + end resources :themen do get :fragen From 0959cb067dc2ea403549c392c526ea86ded51e1e Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 14:15:06 +0100 Subject: [PATCH 14/56] fixed insert issue --- app/assets/javascripts/application.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 06452cd..50fb36d 100755 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -30,10 +30,20 @@ function insertAttachment(url,name) { var ext = url.split('.').pop().toLowerCase(); var img_ext = [ "jpg", "png", "bmp" , "jpeg" ]; + // if ( img_ext.indexOf(ext) > -1) { +// tinymce.activeEditor.setContent(tinymce.activeEditor.getContent({format : 'raw'}) + ""); +// } +// else { +// tinymce.activeEditor.setContent(tinymce.activeEditor.getContent({format : 'raw'}) + "" + name +""); +// } + + if ( img_ext.indexOf(ext) > -1) { - tinymce.activeEditor.setContent(tinymce.activeEditor.getContent({format : 'raw'}) + ""); + tinymce.activeEditor.execCommand('mceInsertContent', false, ""); } else { - tinymce.activeEditor.setContent(tinymce.activeEditor.getContent({format : 'raw'}) + "" + name +""); + tinymce.activeEditor.execCommand('mceInsertContent', false, "" + name +""); } + + } From 2598fc28f9b253207fab2e2026337d4a3fe4ca04 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 14:15:24 +0100 Subject: [PATCH 15/56] button text lvas --- app/controllers/lvas_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/lvas_controller.rb b/app/controllers/lvas_controller.rb index a76a7fa..2c96802 100755 --- a/app/controllers/lvas_controller.rb +++ b/app/controllers/lvas_controller.rb @@ -15,10 +15,10 @@ class LvasController < ApplicationController def show @lva = Lva.find_by_id(params[:id]) @beispiel=Beispiel.new - @toolbar_elements<<{:hicon=>'icon-plus-sign', :icon=>:plus, :text => "Neues Beispiel", :path=> new_beispiel_path(:lva_id =>@lva.id)} +# @toolbar_elements<<{:hicon=>'icon-plus-sign', :icon=>:plus, :text => "Neues Beispiel", :path=> new_beispiel_path(:lva_id =>@lva.id)} @toolbar_elements<<{:hicon=>'icon-pencil', :icon=>:pencil,:text =>I18n.t('common.edit'),:path => edit_lva_path(@lva)} @toolbar_elements << {:hicon=>'icon-remove-circle', :text=>I18n.t('common.delete'), :path=> lva_path(@lva), :method=>:delete, :confirm=>'Sure?' } - @toolbar_elements << {:hicon=>'icon-remove-circle', :text=>"df", :path=> lva_compare_tiss_path(@lva)} + @toolbar_elements << {:hicon=>'icon-remove-circle', :text=>"Tissvergleichladen", :path=> lva_compare_tiss_path(@lva)} end From 6d4c24742ac5bacb16af59c5192134b3ca4e488f Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 14:15:48 +0100 Subject: [PATCH 16/56] added some transations to thema --- app/controllers/themen_controller.rb | 2 ++ app/views/themen/new.html.erb | 5 +++-- config/locales/de.yml | 1 + config/locales/themen.de.yml | 17 ++++++++++++++++- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/controllers/themen_controller.rb b/app/controllers/themen_controller.rb index 4435ec6..566aa4b 100644 --- a/app/controllers/themen_controller.rb +++ b/app/controllers/themen_controller.rb @@ -56,9 +56,11 @@ class ThemenController < ApplicationController if @thema.save format.html { redirect_to @thema, notice: 'Thema was successfully created.' } format.json { render json: @thema, status: :created, location: @thema } + format.js {render action: "update"} else format.html { render action: "new" } format.json { render json: @thema.errors, status: :unprocessable_entity } + format.js { render action: "edit" } end end end diff --git a/app/views/themen/new.html.erb b/app/views/themen/new.html.erb index 5a0ff02..d2d719c 100644 --- a/app/views/themen/new.html.erb +++ b/app/views/themen/new.html.erb @@ -1,5 +1,6 @@ -

    New thema

    +
    +

    <%= I18n.t("thema.add") %>

    <%= render 'form' %> - +
    <%= link_to 'Back', themen_path %> diff --git a/config/locales/de.yml b/config/locales/de.yml index 3005cde..0f0ae05 100755 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -24,6 +24,7 @@ de: mitarbeiter: "Mitarbeiter" fotos: "Fotos" search: "Suche" + formtastic: titles: modul: diff --git a/config/locales/themen.de.yml b/config/locales/themen.de.yml index 3b0229b..1df9261 100644 --- a/config/locales/themen.de.yml +++ b/config/locales/themen.de.yml @@ -18,4 +18,19 @@ de: sure: "Sicher, dass Sie diese Frage löschen möchten?" attachment: title: "Anhang" - add: "Anhang hinzufügen" \ No newline at end of file + add: "Anhang hinzufügen" + formtastic: + labels: + thema: + title: "Themen Name" + themengruppe: "Gruppe" + hints: + thema: + title: "Überschrift" + activerecord: + errors: + models: + thema: + attributes: + title: + blank: "Der Themen Name darf nicht leer sein!" From 4eebaec13212ff8c4ec2d818b20477dd27231ed7 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 14:16:15 +0100 Subject: [PATCH 17/56] missing views & Migration --- app/views/home/kontakt.html.erb | 1 + app/views/lvas/compare_tiss.html.erb | 29 +++++++++++++++++++ ...ruefungsinformation_to_lva_translations.rb | 5 ++++ 3 files changed, 35 insertions(+) create mode 100644 app/views/home/kontakt.html.erb create mode 100644 app/views/lvas/compare_tiss.html.erb create mode 100644 db/migrate/20140316120312_add_pruefungsinformation_to_lva_translations.rb diff --git a/app/views/home/kontakt.html.erb b/app/views/home/kontakt.html.erb new file mode 100644 index 0000000..48cb162 --- /dev/null +++ b/app/views/home/kontakt.html.erb @@ -0,0 +1 @@ +<%= I18n.t "home.kontakt" %> diff --git a/app/views/lvas/compare_tiss.html.erb b/app/views/lvas/compare_tiss.html.erb new file mode 100644 index 0000000..20f0a41 --- /dev/null +++ b/app/views/lvas/compare_tiss.html.erb @@ -0,0 +1,29 @@ +
    +
    +
    +

     

    +

     

    + <%= render partial: "lva", object: @lva %> +

    <%= I18n.t "lecturers.lecturers" %>

    + <% @lva.lecturers.each do |lec| %> + <%= render :partial=>'lecturers/lec_lva', :object=>lec %> + + <% end %> + + +
    +
    +

    Tiss Version

    + <%= link_to "Von Tiss laden", lva_load_tiss_path(@lva) %> + <%= render partial: "lva", object: @lvatiss %> + +

    <%= I18n.t "lecturers.lecturers" %>

    + <% @lvatiss.lecturers.each do |lec| %> + <%= render :partial=>'lecturers/lec_lva', :object=>lec %> + + <% end %> + +
    + +
    +
    diff --git a/db/migrate/20140316120312_add_pruefungsinformation_to_lva_translations.rb b/db/migrate/20140316120312_add_pruefungsinformation_to_lva_translations.rb new file mode 100644 index 0000000..58271df --- /dev/null +++ b/db/migrate/20140316120312_add_pruefungsinformation_to_lva_translations.rb @@ -0,0 +1,5 @@ +class AddPruefungsinformationToLvaTranslations < ActiveRecord::Migration + def change + add_column :lva_translations, :pruefungsinformation,:text + end +end From 0411a71394a53b3b211d8818a85c9b29eada64bf Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 14:16:21 +0100 Subject: [PATCH 18/56] logos --- public/fet_innen-6.png | Bin 0 -> 7856 bytes public/fetlogo2.png | Bin 0 -> 5338 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/fet_innen-6.png create mode 100644 public/fetlogo2.png diff --git a/public/fet_innen-6.png b/public/fet_innen-6.png new file mode 100644 index 0000000000000000000000000000000000000000..5648955100fdb2cc5dc2ae273707464fc2e7370f GIT binary patch literal 7856 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 QgXfR{QbP|>anCO5e>3z;WB>pF literal 0 HcmV?d00001 From 699ef383eb7b07143c4f910406247904c348c935 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 14:17:02 +0100 Subject: [PATCH 19/56] raute dateien ignorieren (emacs) --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 3bc8802..80ac5e3 100755 --- a/.gitignore +++ b/.gitignore @@ -28,4 +28,4 @@ Gemfile.lock console /server /public/uploads/ - +*# From c9fb304a784f6156f3c9d6c77ae8929eb2a6ec64 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 14:24:43 +0100 Subject: [PATCH 20/56] =?UTF-8?q?Das=20Wort=20Semester=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/semester.rb | 2 +- config/locales/studien.de.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/models/semester.rb b/app/models/semester.rb index 2adb3aa..1f556b6 100755 --- a/app/models/semester.rb +++ b/app/models/semester.rb @@ -22,7 +22,7 @@ class Semester < ActiveRecord::Base if self.nummer == 0 return I18n.t("ohnezuordnung") + " (" + self.studium.name + ")" else - return self.nummer.to_s + ". " + self.studium.name + return self.nummer.to_s + "."+I18n.t("semester.semester")+", " + self.studium.name end end def name_kurz diff --git a/config/locales/studien.de.yml b/config/locales/studien.de.yml index b379a90..fda3633 100644 --- a/config/locales/studien.de.yml +++ b/config/locales/studien.de.yml @@ -31,6 +31,7 @@ de: list: "Alle Lvas" semester: ohne: "Ohne Semesterzuordnung" + semester: "Semester" modulgruppe: typ: "Typ" edit: "Modulgruppe bearbeiten" From 94778f0fa74e844c38c7c3b4ef52b851e872c58f Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 14:55:18 +0100 Subject: [PATCH 21/56] Issue #71 Tisslink in neuem Tab Issue #71 closed --- app/views/lecturers/_lec_lva.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/lecturers/_lec_lva.html.erb b/app/views/lecturers/_lec_lva.html.erb index 83cc332..1b498f7 100644 --- a/app/views/lecturers/_lec_lva.html.erb +++ b/app/views/lecturers/_lec_lva.html.erb @@ -5,7 +5,7 @@

    <%= link_to lec_lva.name, lec_lva %>

    Email: <%= mail_to lec_lva.email %>
    - TISS: <%= link_to lec_lva.name, lec_lva.link %> + TISS: <%= link_to lec_lva.name, lec_lva.link, target: "_blank" %>
    From cbec643b96958d9effbf669dbbdd074329600553 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 16 Mar 2014 15:28:22 +0100 Subject: [PATCH 22/56] #114 closed --- app/controllers/themengruppen_controller.rb | 4 ++++ app/views/lecturers/_lec_lva.html.erb | 2 +- app/views/themengruppen/faqs.html.erb | 17 +++++++++++++++++ app/views/themengruppen/index.html.erb | 1 + config/routes.rb | 1 + 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 app/views/themengruppen/faqs.html.erb diff --git a/app/controllers/themengruppen_controller.rb b/app/controllers/themengruppen_controller.rb index 07c0a06..223881d 100644 --- a/app/controllers/themengruppen_controller.rb +++ b/app/controllers/themengruppen_controller.rb @@ -12,6 +12,10 @@ class ThemengruppenController < ApplicationController format.json { render json: @themengruppen } end end + def faqs + @themengruppen = Themengruppe.order(:priority).includes(:themen,{themen: :fragen}) + + end # GET /themengruppen/1 # GET /themengruppen/1.json diff --git a/app/views/lecturers/_lec_lva.html.erb b/app/views/lecturers/_lec_lva.html.erb index 1b498f7..283646e 100644 --- a/app/views/lecturers/_lec_lva.html.erb +++ b/app/views/lecturers/_lec_lva.html.erb @@ -3,7 +3,7 @@
    -

    <%= link_to lec_lva.name, lec_lva %>

    +

    <%= lec_lva.name %>

    Email: <%= mail_to lec_lva.email %>
    TISS: <%= link_to lec_lva.name, lec_lva.link, target: "_blank" %>
    diff --git a/app/views/themengruppen/faqs.html.erb b/app/views/themengruppen/faqs.html.erb new file mode 100644 index 0000000..24fcb5a --- /dev/null +++ b/app/views/themengruppen/faqs.html.erb @@ -0,0 +1,17 @@ +<% @themengruppen.each do |tg| %> + +

    <%= tg.title%>

    +
      +<% tg.themen.each do |t| %> +
    • <%= t.title %> + +
        +<% t.fragen.each do |f| %> +
      • <%= f.title %>

        <%= f.text %>

      • +<% end %> +
      + +
    • +<% end %> +
    +<% end %> diff --git a/app/views/themengruppen/index.html.erb b/app/views/themengruppen/index.html.erb index bb3f49f..95ae611 100644 --- a/app/views/themengruppen/index.html.erb +++ b/app/views/themengruppen/index.html.erb @@ -1,4 +1,5 @@
    +

    <%= link_to "FAQS", faqs_themengruppen_path %>

    <%= notice %>

    +<%= render 'studien/tabs' %> +
    +

    <%= notice %>

    +

    <%= @modulgruppe.name %>

    -

    +

    +

    <%= I18n.t "modulgruppe.typ"%>: <%= @modulgruppe.typ %>

    - - -<% @modulgruppe.moduls.each do |modul| %> -<%= render 'moduls/kurz', :modul=>modul%> -<% end %> +
      + <% @modulgruppe.moduls.each do |modul| %> + <%= render 'moduls/kurz', :modul=>modul%> + <% end %> +
    <%= render 'layouts/pretty_toolbar' %> +
    From 69111eb8e7c849416e3d95623a9fb8d1aab4d782 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Mon, 24 Mar 2014 14:40:54 +0100 Subject: [PATCH 32/56] versions link fix --- app/views/layouts/_pretty_toolbar.html.erb | 16 +++++++++++----- app/views/neuigkeiten/show.html.erb | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/views/layouts/_pretty_toolbar.html.erb b/app/views/layouts/_pretty_toolbar.html.erb index 1a1f7c2..8922e02 100644 --- a/app/views/layouts/_pretty_toolbar.html.erb +++ b/app/views/layouts/_pretty_toolbar.html.erb @@ -17,13 +17,19 @@ Verwendung: Aufruf mit Versionen diff --git a/app/views/neuigkeiten/show.html.erb b/app/views/neuigkeiten/show.html.erb index 9781e9f..aade7be 100755 --- a/app/views/neuigkeiten/show.html.erb +++ b/app/views/neuigkeiten/show.html.erb @@ -11,7 +11,7 @@
    -


    <%= link_to image_tag(@neuigkeit.picture.big_thumb.url),@neuigkeit.picture.url %> +


    <%= link_to image_tag(@neuigkeit.picture.big_thumb.url),@neuigkeit.picture.try(:url) %>

    From 1257d55403eab13f628790d7ee6942d86304d8e4 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Mon, 24 Mar 2014 14:41:08 +0100 Subject: [PATCH 33/56] modul view fixed --- app/views/moduls/_modul.html.erb | 53 ++++++++++++++++---------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/app/views/moduls/_modul.html.erb b/app/views/moduls/_modul.html.erb index edaa5c6..4782baa 100755 --- a/app/views/moduls/_modul.html.erb +++ b/app/views/moduls/_modul.html.erb @@ -5,31 +5,32 @@
    -

    <%=I18n.t("modul.desc")%>

    -

    - <%= raw(@modul.desc) %> -

    +

    <%=I18n.t("modul.lvas")%>

    + <% @modul.lvas.each_slice(3) do |row| %> +
      + <% row.each do |lv| %> +
    • + <%= render 'lvas/lva_semester', :lva=>lv%> +
    • + <% end %> +
    + <% end %> +

    <%=I18n.t("modul.desc")%>

    +

    + <%= raw(@modul.desc) %> +

    +
    +
    +
    +

    <%=I18n.t("modul.mgs")%>

    +
      + <% @modul.modulgruppen.each do |mg| %> +
    • + <%= render 'modulgruppen/kurz', :modulgruppe=>mg %> +
    • + <% end %> +
    +
    +
    -
    -
    -

    <%=I18n.t("modul.mgs")%>

    -
      -<% @modul.modulgruppen.each do |mg| %> -
    • -<%= render 'modulgruppen/kurz', :modulgruppe=>mg %> -
    • -<% end %> -
    -

    <%=I18n.t("modul.lvas")%>

    -<% @modul.lvas.each_slice(3) do |row| %> -
      -<% row.each do |lv| %> -
    • -<%= render 'lvas/lva_semester', :lva=>lv%> -
    • -<% end %> -
    -<% end %> -
    -
    From 1e342cb66aba6666b444dfaef6a4ea0d68ddf85b Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Tue, 25 Mar 2014 16:14:21 +0100 Subject: [PATCH 34/56] v0.0.3a --- app/views/layouts/application.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 030adb2..5f41239 100755 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -52,7 +52,7 @@
    - <%= render 'layouts/login' %> Version 0.0.3 + <%= render 'layouts/login' %> Version 0.0.3a
    From 1d2d3e791b689c3f9e737c8ce23ae019a096378d Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Tue, 25 Mar 2014 19:41:48 +0100 Subject: [PATCH 35/56] Qualifikation #129 #129 closed --- app/controllers/studien_controller.rb | 1 + app/models/studium.rb | 4 ++-- app/views/studien/_form.html.erb | 9 +++++++++ app/views/studien/_infoansicht.html.erb | 1 + app/views/studien/show.html.erb | 9 +++++++-- db/migrate/20140324185709_add_info_to_studien.rb | 7 +++++++ 6 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 db/migrate/20140324185709_add_info_to_studien.rb diff --git a/app/controllers/studien_controller.rb b/app/controllers/studien_controller.rb index 53cd602..35f80d3 100755 --- a/app/controllers/studien_controller.rb +++ b/app/controllers/studien_controller.rb @@ -41,6 +41,7 @@ class StudienController < ApplicationController case params[:ansicht] when 'semesteransicht' when 'infoansicht' + when 'qualifikationsprofil' else params[:ansicht]="modulgruppenansicht" end diff --git a/app/models/studium.rb b/app/models/studium.rb index 22dd5ab..a2813df 100755 --- a/app/models/studium.rb +++ b/app/models/studium.rb @@ -27,7 +27,7 @@ # created_at :datetime not null # updated_at :datetime not null class Studium < ActiveRecord::Base - attr_accessible :desc, :name,:abkuerzung, :typ, :zahl, :semester, :picture, :picture_cache + attr_accessible :desc, :name,:abkuerzung, :typ, :zahl, :semester, :picture, :picture_cache, :qualifikation,:struktur, :jobmoeglichkeiten has_many :modulgruppen, inverse_of: :studium, :class_name => "Modulgruppe", :dependent => :destroy has_many :semester, :dependent => :destroy validates :abkuerzung, :length=>{:maximum=>5}, :format=>{:with=>/^[a-zA-z]{0,5}$/} @@ -35,7 +35,7 @@ class Studium < ActiveRecord::Base validates :name, :uniqueness => true, :presence=>true validates :zahl, :presence=>true, :format=>{:with=>/^[0-9A-Z]{4,10}$/}, :uniqueness => true mount_uploader :picture, PictureUploader - translates :desc,:shortdesc, :versioning =>true,:fallbacks_for_empty_translations => true + translates :desc,:shortdesc, :qualifikation,:struktur, :jobmoeglichkeiten, :versioning =>true,:fallbacks_for_empty_translations => true def title_context return self.abkuerzung.to_s.strip.empty? ? self.name : self.abkuerzung end diff --git a/app/views/studien/_form.html.erb b/app/views/studien/_form.html.erb index bd49e55..d9ad5a0 100755 --- a/app/views/studien/_form.html.erb +++ b/app/views/studien/_form.html.erb @@ -15,6 +15,15 @@
    <%= f.input :desc, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%>
    +
    + <%= f.input :qualifikation, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%> +
    +
    + <%= f.input :struktur, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%> +
    +
    + <%= f.input :jobmoeglichkeiten, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%> +
    diff --git a/app/views/studien/_infoansicht.html.erb b/app/views/studien/_infoansicht.html.erb index 30ea4c5..c427778 100644 --- a/app/views/studien/_infoansicht.html.erb +++ b/app/views/studien/_infoansicht.html.erb @@ -2,6 +2,7 @@
    +

    <%= link_to "Qualifikationsprofil", studium_path( @studium, :ansicht=>"qualifikationsprofil")%>

    <%= raw(@studium.desc) %>
    diff --git a/app/views/studien/show.html.erb b/app/views/studien/show.html.erb index b109933..5ec47b1 100644 --- a/app/views/studien/show.html.erb +++ b/app/views/studien/show.html.erb @@ -13,13 +13,18 @@ <%= render partial: 'modulgruppenansicht' %> <% else if params[:ansicht]=='infoansicht' %> <%= render partial: 'infoansicht' %> + <% else if params[:ansicht]== 'qualifikationsprofil' %> +

    Qualifikationsprofil

    +

    +<%= raw(@studium.qualifikation) %> +

    <% else %> <%= render partial: 'semesteransicht' %> - <% end %> + - <% end %> + <% end %> <% end %> <% end %> <%= render :partial=>'layouts/pretty_toolbar', :object=>@toolbar_modulgruppen %>
    <%= render 'layouts/pretty_toolbar' %> diff --git a/db/migrate/20140324185709_add_info_to_studien.rb b/db/migrate/20140324185709_add_info_to_studien.rb new file mode 100644 index 0000000..f310a20 --- /dev/null +++ b/db/migrate/20140324185709_add_info_to_studien.rb @@ -0,0 +1,7 @@ +class AddInfoToStudien < ActiveRecord::Migration + def change + add_column :studium_translations, :qualifikation, :text + add_column :studium_translations, :struktur, :text + add_column :studium_translations, :jobmoeglichkeiten, :text20 + end +end From a8401391a6ad3dbf5cf94395df35bbe77311b6e6 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 29 Mar 2014 11:30:46 +0100 Subject: [PATCH 36/56] Neuigkeiten Link MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Querverweise für Neuigkeiten --- app/controllers/neuigkeiten_controller.rb | 58 ++++++++++++++----- app/controllers/themengruppen_controller.rb | 7 +-- app/models/gallery.rb | 7 +++ app/models/gremium.rb | 4 +- app/models/lva.rb | 7 ++- app/models/neuigkeit.rb | 3 + app/models/nlink.rb | 10 ++++ app/models/thema.rb | 2 +- app/views/galleries/_nlink.html.erb | 21 +++++++ app/views/galleries/index.html.erb | 21 +++++++ app/views/home/search.html.erb | 2 +- app/views/lvas/_nlink.html.erb | 3 + app/views/neuigkeiten/_nlink_list.html.erb | 11 ++++ .../neuigkeiten/_nlink_list_search.html.erb | 12 ++++ app/views/neuigkeiten/show.html.erb | 22 +++++-- app/views/themen/_nlink.html.erb | 1 + app/views/themengruppen/show.html.erb | 7 ++- .../themes/2003/themengruppen/show.html.erb | 25 -------- config/routes.rb | 2 + db/migrate/20140328200432_create_nlinks.rb | 13 +++++ spec/factories/nlinks.rb | 11 ++++ spec/models/nlink_spec.rb | 5 ++ 22 files changed, 199 insertions(+), 55 deletions(-) create mode 100644 app/models/nlink.rb create mode 100644 app/views/galleries/_nlink.html.erb create mode 100644 app/views/lvas/_nlink.html.erb create mode 100644 app/views/neuigkeiten/_nlink_list.html.erb create mode 100644 app/views/neuigkeiten/_nlink_list_search.html.erb create mode 100644 app/views/themen/_nlink.html.erb delete mode 100644 app/views/themes/2003/themengruppen/show.html.erb create mode 100644 db/migrate/20140328200432_create_nlinks.rb create mode 100644 spec/factories/nlinks.rb create mode 100644 spec/models/nlink_spec.rb diff --git a/app/controllers/neuigkeiten_controller.rb b/app/controllers/neuigkeiten_controller.rb index df2bd33..575bb09 100755 --- a/app/controllers/neuigkeiten_controller.rb +++ b/app/controllers/neuigkeiten_controller.rb @@ -1,28 +1,16 @@ class NeuigkeitenController < ApplicationController - before_filter {@toolbar_elements=[]} + before_filter :load_toolbar_elements, :only=>[:show,:find_link] load_and_authorize_resource def show - @neuigkeit = Neuigkeit.find(params[:id]) + @neuigkeit = Neuigkeit.find(params[:id]) @rubrik=@neuigkeit.rubrik + if !params[:version].nil? @neuigkeit.assign_attributes(@neuigkeit.translation.versions.reverse[params[:version].to_i].reify.attributes.select{|k,v| @neuigkeit.translated_attribute_names.include? k.to_sym }) - - # @neuigkeit=Neuigkeit.find(params[:id]) end @calentries1=@neuigkeit.calentries - @toolbar_elements << {:hicon=>'icon-plus', :text=> I18n.t('neuigkeit.publish'),:path => publish_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=>"Sure?" } if can? :publish, @neuigkeit - @toolbar_elements << {:hicon=>'icon-minus', :text=> I18n.t('neuigkeit.unpublish'),:path => unpublish_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=>"Sure?" } if can?(:unpublish, @neuigkeit) && !@neuigkeit.published? - - @toolbar_elements << {:text=>I18n.t('common.edit'),:path=>edit_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:icon=>:pencil} if can? :edit, @neuigkeit.rubrik - @versions= @neuigkeit.translation.versions.select([:created_at]).reverse - @toolbar_elements <<{:path=>rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:method=>:versions,:versions=>@versions} - - @toolbar_elements << {:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit), :method=> :delete,:confirm=>'Sure?' } if can? :delete, @neuigkeit -# @toolbar_elements << {:path=> add_calentry_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit), :text=>"Add Calentry", :icon=>:plus} - - end def new @@ -45,7 +33,7 @@ class NeuigkeitenController < ApplicationController @neuigkeit.calentry=ce @neuigkeit.save - render 'edit' + render 'edit' end def unpublish @@ -74,6 +62,24 @@ class NeuigkeitenController < ApplicationController @calentries<< Calentry.new end + def find_link + @rubrik=@neuigkeit.rubrik + @calentries1=@neuigkeit.calentries + @nlink_search = Neuigkeit::LINKTYPES.clone + + @nlink_search.collect!{|t| t.constantize} + @nlink_search.collect!{|t| t.search(params[:query]).limit(2)} + + +@nlink_search.flatten! + + render action:"show" + end + def create_link + Nlink.create(:link=>params[:link_type].constantize.find(params[:link_id]),:neuigkeit=>Neuigkeit.find(params[:id])) + + redirect_to action:"show" + end def create @neuigkeit = Neuigkeit.new(params[:neuigkeit]) @@ -111,4 +117,24 @@ class NeuigkeitenController < ApplicationController end end + +private + def load_toolbar_elements + @neuigkeit=Neuigkeit.find(params[:id]) + @toolbar_elements=[] + @toolbar_elements << {:hicon=>'icon-plus', :text=> I18n.t('neuigkeit.publish'),:path => publish_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=>'Sure?' } if can?(:publish, @neuigkeit) && @neuigkeit.published? + @toolbar_elements << {:hicon=>'icon-minus', :text=> I18n.t('neuigkeit.unpublish'),:path => unpublish_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=>'Sure?' } if can?(:unpublish, @neuigkeit) && !@neuigkeit.published? + @toolbar_elements << {:text=>I18n.t('common.edit'),:path=>edit_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:icon=>:pencil} if can? :edit, @neuigkeit.rubrik + @versions= @neuigkeit.translation.versions.select([:created_at]).reverse + + @toolbar_elements <<{:path=>rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:method=>:versions,:versions=>@versions} + + @toolbar_elements << {:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit), :method=> :delete,:confirm=>'Sure?' } if can? :delete, @neuigkeit + + end + + + + + end diff --git a/app/controllers/themengruppen_controller.rb b/app/controllers/themengruppen_controller.rb index 223881d..6506015 100644 --- a/app/controllers/themengruppen_controller.rb +++ b/app/controllers/themengruppen_controller.rb @@ -21,14 +21,13 @@ class ThemengruppenController < ApplicationController # GET /themengruppen/1.json def show @themengruppe = Themengruppe.find(params[:id]) - @themen = @themengruppe.themen.order(:priority).reverse + @themen = @themengruppe.themen.order(:priority).reverse @toolbar_elements = [] @toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('thema.add'), :path=>new_themengruppe_thema_path(@themengruppe)} if can? :new, Themengruppe @toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('themengruppe.edit'), :path=>edit_themengruppe_path(@themengruppe)} if can? :edit, @themengruppe - @toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t("themengruppe.manage"), :path=>themengruppe_verwalten_path(@themengruppe)} if can? :edit, @themengruppe - @toolbar_elements << {:hicon=>'icon-remove-circle',:text=>I18n.t('themengruppe.remove'), :path=>themengruppe_path(@themengruppe), :method=>:delete,:confirm=>I18n.t('themengruppe.sure')} if can? :delete, @themengruppe - + @toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t("themengruppe.manage"), :path=>themengruppe_verwalten_path(@themengruppe)} if can? :edit, @themengruppe + @toolbar_elements << {:hicon=>'icon-remove-circle',:text=>I18n.t('themengruppe.remove'), :path=>themengruppe_path(@themengruppe), :method=>:delete,:confirm=>I18n.t('themengruppe.sure')} if can? :delete, @themengruppe respond_to do |format| format.html # show.html.erb diff --git a/app/models/gallery.rb b/app/models/gallery.rb index ae4afde..bddea61 100644 --- a/app/models/gallery.rb +++ b/app/models/gallery.rb @@ -14,4 +14,11 @@ class Gallery < ActiveRecord::Base WORD_COUNT = 20 attr_accessible :datum, :desc, :name has_many :fotos + has_many :nlinks, as: :link + scope :search, ->(query) {where("name like ? or desc like ?", "%#{query}%", "%#{query}%")} + + def title + name + end end + diff --git a/app/models/gremium.rb b/app/models/gremium.rb index ebc571d..c119b55 100644 --- a/app/models/gremium.rb +++ b/app/models/gremium.rb @@ -23,7 +23,9 @@ class Gremium < ActiveRecord::Base belongs_to :thema # Gehört zu einem Thema scope :tabs, -> { where(:typ => [1,3]).order(:typ).order(:name) } # Gremien die in Tabs angezeigt werden (Alle Anderen nur in der Liste - # Gremium im 2. Fall für die Konstruktion "Mitglied des ... / der ... " + scope :search, ->(query) {where("name like ? or desc like ?", "%#{query}%", "%#{query}%")} + + # Gremium im 2. Fall für die Konstruktion "Mitglied des ... / der ... " accepts_nested_attributes_for :memberships, :reject_if=>lambda{|a| a[:typ].blank?|| a[:start].blank? ||a[:fetprofile_id].blank?} def fall2 Gremium::ART2FALL[self.geschlecht.to_i].to_s+" "+ self.name.to_s+ ((self.geschlecht.to_i==1||self.geschlecht.to_i==0)? "s":"") diff --git a/app/models/lva.rb b/app/models/lva.rb index e963d0d..34b6ab0 100755 --- a/app/models/lva.rb +++ b/app/models/lva.rb @@ -44,6 +44,7 @@ class Lva < ActiveRecord::Base has_many :beispiele , :class_name => "Beispiel" has_and_belongs_to_many :lecturers translates :desc,:pruefungsinformation, :fallbacks_for_empty_translations => true, :versioning=>true + scope :search, ->(query) {where("name like ? or desc like ?", "%#{query}%", "%#{query}%")} validates :lvanr,:format=>{ :with => /^[0-9][0-9][0-9]\.[0-9A][0-9][0-9]$/}, :presence=>true, :uniqueness=>true # , :uniqueness=>true # LVA-Nummer muss das Format 000.000 besitzen (uniqueness?) oder 000 für nicht validates_presence_of :ects # ECTS vorhanden? @@ -52,6 +53,11 @@ class Lva < ActiveRecord::Base validates_presence_of :stunden # Stunden Eingetragen? validates_presence_of :modul # Zugehöriges Modul eingetragen? # (zumindest eines) + has_many :nlinks, as: :link + + def title + self.name + end def full_name return self.typ + ' ' + self.name end @@ -69,7 +75,6 @@ class Lva < ActiveRecord::Base end - ## # Lade Daten aus TISS und füge diese in die Datenbank ein. def tisshash(semester) diff --git a/app/models/neuigkeit.rb b/app/models/neuigkeit.rb index 1660869..ab3bdd9 100755 --- a/app/models/neuigkeit.rb +++ b/app/models/neuigkeit.rb @@ -28,8 +28,11 @@ class Neuigkeit < ActiveRecord::Base scope :unpublished, -> {where("datum >= ? OR datum IS NULL", Date.today)} scope :public, ->{includes(:rubrik).where("rubriken.public"=>:true)} scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")} + LINKTYPES=["Thema", "Gallery", "Lva"] accepts_nested_attributes_for :calentries, :allow_destroy=>true , :reject_if=> lambda{|a| a[:start].blank?} before_validation :sanitize + has_many :nlinks + def datum_nilsave self.datum.nil? ? Time.now + 42.years : self.datum end diff --git a/app/models/nlink.rb b/app/models/nlink.rb new file mode 100644 index 0000000..c3130f9 --- /dev/null +++ b/app/models/nlink.rb @@ -0,0 +1,10 @@ +class Nlink < ActiveRecord::Base + attr_accessible :link_id, :link_type, :neuigkeit_id, :neuigkeit,:link, :sort, :title + belongs_to :neuigkeit + belongs_to :link, :polymorphic=>true + validates :neuigkeit, :presence=>true + validates :link, :presence=>true +validates :link_id, :uniqueness=>{:scope=>[:neuigkeit_id]} + + +end diff --git a/app/models/thema.rb b/app/models/thema.rb index 58097ac..c11e5f7 100644 --- a/app/models/thema.rb +++ b/app/models/thema.rb @@ -19,6 +19,6 @@ class Thema < ActiveRecord::Base validates :themengruppe, :presence => true validates :title, :presence => true scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")} - + has_many :nlinks, as: :link translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true end diff --git a/app/views/galleries/_nlink.html.erb b/app/views/galleries/_nlink.html.erb new file mode 100644 index 0000000..72f2216 --- /dev/null +++ b/app/views/galleries/_nlink.html.erb @@ -0,0 +1,21 @@ + diff --git a/app/views/galleries/index.html.erb b/app/views/galleries/index.html.erb index 68a8a8f..ed4bb87 100644 --- a/app/views/galleries/index.html.erb +++ b/app/views/galleries/index.html.erb @@ -25,6 +25,27 @@

    + <% end %>
    <% end %> diff --git a/app/views/home/search.html.erb b/app/views/home/search.html.erb index a22bf16..f0a0f2f 100644 --- a/app/views/home/search.html.erb +++ b/app/views/home/search.html.erb @@ -1,6 +1,6 @@
    <%= semantic_form_for :search,:remote=>true, :url=>search_home_index_path, :html=>{:id=>"search_form", :method=>'get'} do |f| %> -<%= f.input :query, :input_html => { :name => 'query' } %> +<%= f.input :query, :input_html => { :name => 'query' } , :label=>false %> <% end %>