From bcf90e2590edce64559b301de72af04d4567ca6d Mon Sep 17 00:00:00 2001
From: Andreas Stephanides
Date: Sun, 24 Mar 2013 14:01:11 +0100
Subject: [PATCH] LVA Tiss Einbindung - erster Entwurf
---
app/controllers/page_controller.rb | 57 ++++++++++++++++++++++++++++++
app/models/lva.rb | 5 ++-
app/views/lvas/show.html.erb | 18 ++++++----
app/views/moduls/_modul.html.erb | 9 +++--
4 files changed, 80 insertions(+), 9 deletions(-)
create mode 100644 app/controllers/page_controller.rb
diff --git a/app/controllers/page_controller.rb b/app/controllers/page_controller.rb
new file mode 100644
index 0000000..ce30434
--- /dev/null
+++ b/app/controllers/page_controller.rb
@@ -0,0 +1,57 @@
+class PagesController < ApplicationController
+
+ layout :get_layout
+
+ before_filter :find_page, :except => [:new, :show, :create]
+ before_filter :find_body, :only => [:edit]
+
+ def new
+ @page = Page.new
+ end
+
+ def edit
+ end
+
+ def show
+ @page = Page.find(params[:id] || Page.welcome)
+ end
+
+ def create
+ @page = Page.new(params[:page])
+ if @page.save
+ flash[:notice] = "Successfully created page."
+ redirect_to @page
+ else
+ render :action => 'new'
+ end
+ end
+
+ def update
+ if @page.update_attributes(params[:page])
+ flash[:notice] = "Successfully updated page."
+ redirect_to @page
+ else
+ render :action => 'edit'
+ end
+ end
+
+ def destroy
+ @page.destroy
+ flash[:notice] = "Successfully destroyed page."
+ end
+
+ def preview
+ render :text => @page.preview(params[:data])
+ end
+
+ private
+
+ def find_page
+ @page = Page.find(params[:id])
+ end
+
+ def find_body
+ @page.body = params[:page][:body] rescue @page.raw_content
+ end
+
+end
diff --git a/app/models/lva.rb b/app/models/lva.rb
index b9f5e20..0f5d940 100644
--- a/app/models/lva.rb
+++ b/app/models/lva.rb
@@ -28,10 +28,13 @@ end
begin
@hash=Hash.from_xml(open(url).read)["tuvienna"]
@person=[]
-# @person = @hash["course"]["lecturers"]["oid"]
+ if @hash["course"]["lecturers"]["oid"].is_a? String
+ @person = @hash["course"]["lecturers"]["oid"]
+ else
@hash["course"]["lecturers"]["oid"].each do |pid|
@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
end
diff --git a/app/views/lvas/show.html.erb b/app/views/lvas/show.html.erb
index f86f096..9346495 100644
--- a/app/views/lvas/show.html.erb
+++ b/app/views/lvas/show.html.erb
@@ -5,18 +5,24 @@
/
<%= link_to g.name , modulgruppe_path(g)%>/
<%= link_to modul.name , modul_path(modul)%>
-<%end%>
+<% end %>
-<%end%>
+<% end %>
+
<%= notice %>
<%= @lva.lvanr %>
- <%= @lva.name %> (<%= @lva.ects %> ECTS/ <%= @lva.stunden %> Std)<%= link_to image_tag('edit.png'), edit_lva_path(@lva) %> |
+ <%= @lva.name %>
+<%= @lva.ects %> ECTS/ <%= @lva.stunden %> Std
+<%= link_to image_tag('edit.png'), edit_lva_path(@lva.id) %> |
<%= @lva.desc %>
-<% @lva.beispiele.each do |beispiel| %>
-<%= link_to beispiel.name, beispiel.file.url %>
+<%= @lva.objective %>
+<%= # @lva.teachingContent %>
+<% @lva.beispiele.each do |beispiel| %>
+<%= # link_to beispiel.name, beispiel.file.url %>
-<% end%>
+<% end
+end %>
diff --git a/app/views/moduls/_modul.html.erb b/app/views/moduls/_modul.html.erb
index 35597cf..eca542f 100644
--- a/app/views/moduls/_modul.html.erb
+++ b/app/views/moduls/_modul.html.erb
@@ -11,10 +11,15 @@ link_to "Modul "+name , modul_path(modul) %>
<%= raw(modul.desc) %>
LVAs:
+
-<% modul.lvas.each do |lva| %>
-- <%= link_to lva.lvanr+" "+ lva.name, lva %>
+
+<% modul.lvas.each do |lv| %>
+-
+<%= link_to lv.name.to_s, lva_path(lv.id) %>
+
<% end %>
+
<% # @toolbar_elements << {:icon=>:pencil,:text=>I18n.t("common.edit"),:path=> edit_modul_path(modul)} %>