This commit is contained in:
Andreas Stephanides
2013-08-21 19:04:59 +02:00
13 changed files with 135 additions and 87 deletions

View File

@@ -16,6 +16,7 @@ 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-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-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?"}
end end
# GET /lvas/new # GET /lvas/new

View File

@@ -161,9 +161,9 @@ class StudienController < ApplicationController
end end
if !@new_params[:lec_verw].nil? if !@new_params[:lec_verw].nil?
@lecturers=[Lecturer.find(@new_params[:lec_verw])] @lecturers=[Lecturer.find(@new_params[:lec_verw])]
temp = @lecturers.map{|x| x.lva}.flatten.uniq #Force Force Lvas temp = @lecturers.map{|x| x.lvas}.flatten.uniq #Force Force Lvas
@lvas=@lvas.select{|k| temp.include?(k)} @lvas=@lvas.select{|k| temp.include?(k)}
temp = @lva.map{|x| x.moduls}.flatten.uniq #Force Force Lvas temp = @lvas.map{|x| x.modul}.flatten.uniq #Force Force Lvas
@module=@module.select{|k| temp.include?(k)} @module=@module.select{|k| temp.include?(k)}
temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen
@modulgruppen = @modulgruppen.select{|k| temp.include?(k)} @modulgruppen = @modulgruppen.select{|k| temp.include?(k)}
@@ -247,7 +247,9 @@ class StudienController < ApplicationController
:mg_verw=> params[:mg_verw], :mg_verw=> params[:mg_verw],
:m_verw=>params[:m_verw], :m_verw=>params[:m_verw],
:lva_verw=>params[:lva_verw], :lva_verw=>params[:lva_verw],
:b_verw=>params[:b_verw]}.merge(super) :b_verw=>params[:b_verw],
:lec_verw=>params[:lec_verw]}.merge(super)
end end
end end

View File

@@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
class Ability class Ability
include CanCan::Ability include CanCan::Ability
def initialize(user) def initialize(user)
@@ -27,7 +28,7 @@ class Ability
# For Debug allow everything # For Debug allow everything
# Remove this line in production environment and for testing user management # Remove this line in production environment and for testing user management
# can :manage, :all can :manage, :all
can :addfetuser, User can :addfetuser, User
can :addfetadmin, User can :addfetadmin, User
can [:show, :index], Studium can [:show, :index], Studium

View File

@@ -1,4 +1,6 @@
class Lecturer < ActiveRecord::Base class Lecturer < ActiveRecord::Base
attr_accessible :email, :name, :oid, :picture, :lva_ids attr_accessible :email, :name, :oid, :picture, :remove_picture, :picture_cache, :lva_ids, :link
has_and_belongs_to_many :lvas has_and_belongs_to_many :lvas
mount_uploader :picture, PictureUploader
resourcify
end end

View File

@@ -1,14 +1,14 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row-fluid"> <div class="row-fluid">
<div class="span12"> <div class="span12">
<%= render 'tabs' %> <%= render 'tabs' %>
</div> </div>
</div> </div>
<div class="row-fluid"> <div class="row-fluid">
<div class="span12"> <div class="span12">
<h1><%= I18n.t 'calendars.calendar' %></h1> <h1><%= I18n.t 'calendars.calendar' %></h1>
<% @calendars.each do |calendar| %> <% @calendars.each do |calendar| %>
<div class="media"> <div class="media">
<a class="pull-left" href="#"> <a class="pull-left" href="#">
<img class="media-object img-circle" src="<%= calendar.picture.thumb.url %>"/> <img class="media-object img-circle" src="<%= calendar.picture.thumb.url %>"/>
@@ -17,12 +17,12 @@
<h4><%= link_to calendar.name, calendar %></h4> <h4><%= link_to calendar.name, calendar %></h4>
</div> </div>
</div> </div>
<% end %> <% end %>
</div> </div>
</div> </div>
<div class="row-fluid"> <div class="row-fluid">
<div class="span12"> <div class="span12">
<%= link_to 'New Calendar', new_calendar_path unless cannot?(:new, Calendar) %> <%= link_to 'New Calendar', new_calendar_path unless cannot?(:new, Calendar) %>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,10 +1,28 @@
<%= semantic_form_for @lecturer do |f| %> <%= semantic_form_for @lecturer do |f| %>
<%= f.inputs do %> <%= f.inputs do %>
<div class="row-fluid">
<div class="span6">
<%= f.input :name %> <%= f.input :name %>
<%= f.input :email %> <%= f.input :email %>
<%= f.input :oid %> <%= f.input :link %>
<%= f.input :picture, :as=>:file %> </div>
<%= f.input :lvas %> <div class="span3">
<p>
<label>Bild</label>
<%= image_tag(@lecturer.picture.thumb.url) unless @lecturer.picture.nil? %>
<%= f.file_field :picture %>
<%= f.hidden_field :picture_cache %>
</p>
<p>
<label>
<%= f.check_box :remove_picture %>
Bild Entfernen
</label>
</p>
</div>
<div class="span3">
<%= f.input :lvas, :as=>:check_boxes%>
</div>
<% end %> <% end %>
<%= f.actions do %> <%= f.actions do %>

View File

@@ -0,0 +1,11 @@
<div class="media">
<a class="pull-left" href="#">
<img class="media-object img" src="<%= lec_lva.picture.thumb.url %>"/>
</a>
<div class="media-body">
<h4><%= link_to lec_lva.name, lec_lva %></h4>
Email: <%= mail_to lec_lva.email %><br>
TISS: <%= link_to lec_lva.name, lec_lva.link %>
</div>
</div>

View File

@@ -18,13 +18,7 @@
</div> </div>
<div class="row-fluid"> <div class="row-fluid">
<h2>Beispiele</h2> <h2>Beispiele</h2>
<p><h4>Beschreibung</h4> <ul>
<%= @lva.desc %>
<%= link_to "Beispiel neu" , new_beispiel_path(:lva_id=>@lva.id) %>
</p>
<h4>Beispiele</h4>
<ul>
<% @lva.beispiele.each do |b|%> <% @lva.beispiele.each do |b|%>
<%= render b%> <%= render b%>
@@ -53,6 +47,13 @@
<% end %> <% end %>
</ul> </ul>
</div> </div>
<div class="lva-sidebar">
<h2> <%= I18n.t "lecturers.lecturers" %> </h2>
<% @lva.lecturers.each do |lec| %>
<%= render :partial=>'lecturers/lec_lva', :object=>lec %>
<% end %>
</div>
</div> </div>
</div> </div>

View File

@@ -4,12 +4,15 @@
<h1><%= I18n.t("studien.list") %></h1> <h1><%= I18n.t("studien.list") %></h1>
<% @studien.sort_by{|z| z[:zahl]}.each do |studium| %> <% @studien.each_slice(2) do |row| %>
<div class="span5"> <div class="row-fluid">
<% row.each do |studium|%>
<div class="span6">
<%= render studium%> <%= render studium%>
</div> </div>
<% end %> <% end %>
</div>
<%end%>
<br> <br>

View File

@@ -5,10 +5,10 @@
<h1><%= I18n.t("studien.verwaltung.title") %></h1> <h1><%= I18n.t("studien.verwaltung.title") %></h1>
<%= I18n.t("studien.verwaltung.explanation").html_safe %> <%= I18n.t("studien.verwaltung.explanation").html_safe %>
<h2>Studien </h2> <h2><%= I18n.t "studien.studien"%> </h2>
<div class="verwalten-block"> <div class="verwalten-block">
<div class="row-fluid"> <div class="row-fluid">
<% @studien.each_slice((Studium.count/2.0).ceil) do |col| %> <% @studien.each_slice([(Studium.count/2.0).ceil, 1].max) do |col| %>
<div class="span6"> <div class="span6">
<% col.each do |s| %> <% col.each do |s| %>
@@ -38,7 +38,7 @@
<h2>Vortragende </h2> <h2>Vortragende </h2>
<div class="verwalten-block"> <div class="verwalten-block">
<div class="row-fluid"> <div class="row-fluid">
<% @lecturers.each_slice((Lecturer.count/3.0).ceil) do |col| %> <% @lecturers.each_slice([(Lecturer.count/3.0).ceil, 1].max) do |col| %>
<div class="span4"> <div class="span4">
<% col.each do |lec| %> <% col.each do |lec| %>
<%= (lec.valid?) ? '<i class="icon-ok"> </i>'.html_safe : '<i class="icon-remove"></i>'.html_safe %> <%= link_to lec.name, lec %> | <%=link_to '<i class="icon-pencil"></i>'.html_safe+ 'edit', edit_lecturer_path(lec)%> <br> <%= (lec.valid?) ? '<i class="icon-ok"> </i>'.html_safe : '<i class="icon-remove"></i>'.html_safe %> <%= link_to lec.name, lec %> | <%=link_to '<i class="icon-pencil"></i>'.html_safe+ 'edit', edit_lecturer_path(lec)%> <br>
@@ -166,7 +166,7 @@
</ul> </ul>
<div class="verwalten-block"> <div class="verwalten-block">
<ul> <ul>
<% @messages.flatten.each do |m| %> <% @messages.flatten.compact.each do |m| %>
<% if !m.strip.empty? %> <% if !m.strip.empty? %>
<li><%= m.html_safe %></li> <li><%= m.html_safe %></li>
<% end %> <% end %>

View File

@@ -7,39 +7,6 @@ de:
edit: "Bearbeiten" edit: "Bearbeiten"
actions: "Aktionen" actions: "Aktionen"
delete: "Löschen" delete: "Löschen"
studien:
list: "Studien der Fakultät Elektrotechnik"
anzeigen: "Studium anzeigen"
new: "Neues Studium"
allestudien: "Alle Studien"
loeschen: "Dieses Studium löschen"
edit: "Studium bearbeiten"
verwaltung:
title: "Studien verwalten"
explanation: "<ul>
<li>Klick auf den Namen eines Objektes führt zu dessen Ansicht, ein Klick auf edit direkt zum Bearbeitungsformular</li>
<li>Per Dropdown-Menü kann nach einzelnen Objekten gefiltert werden. Die Filter können kombiniert werden, wobei nur erlaubte Kombinationen möglich sind. <b>Solange validation-Fehler (im Log rot und fett) auftreten, keine Filter verwenden</b></li>
</ul>"
modul:
edit: "Modul bearbeiten"
list: "Alle Module"
add: "Neues Modul"
keine:
beschreibung: "Keine Beschreibung vorhanden"
lva:
add: "Lva hinzufügen"
list: "Alle Lvas"
semester:
ohne: "Ohne Semesterzuordnung"
modulgruppe:
typ: "Typ"
addmodul: "Neues Modul hinzufügen"
studium: "Studium"
new: "Neue Modulgruppe"
list: "Alle Modulgruppen auflisten"
show:
title: "Auflistung aller Modulgruppen"
link: "Modulgruppen auflisten"
home: home:
mtitle: "Menu" mtitle: "Menu"
@@ -111,16 +78,6 @@ de:
attributes: attributes:
modulgruppen: modulgruppen:
blank: "Wählen Sie zumindest eine Modulgruppe aus" blank: "Wählen Sie zumindest eine Modulgruppe aus"
filter:
studium: "Studium"
modulgruppe: "Modulgruppe"
modul: "Modul"
lva: "Lva"
beispiel: "Beispiel"
reset: "Alle Filter zurücksetzen"
verwalten:
fehler:
keine: "Keine Fehlermeldungen oder Warnungen"
support: support:
array: array:
two_words_connector: ', ' two_words_connector: ', '

View File

@@ -0,0 +1,47 @@
de:
studien:
studien: "Studien"
list: "Studien der Fakultät Elektrotechnik"
anzeigen: "Studium anzeigen"
new: "Neues Studium"
allestudien: "Alle Studien"
loeschen: "Dieses Studium löschen"
edit: "Studium bearbeiten"
verwaltung:
title: "Studien verwalten"
explanation: "<ul>
<li>Klick auf den Namen eines Objektes führt zu dessen Ansicht, ein Klick auf edit direkt zum Bearbeitungsformular</li>
<li>Per Dropdown-Menü kann nach einzelnen Objekten gefiltert werden. Die Filter können kombiniert werden, wobei nur erlaubte Kombinationen möglich sind. <b>Solange validation-Fehler (im Log rot und fett) auftreten, keine Filter verwenden</b></li>
</ul>"
modul:
edit: "Modul bearbeiten"
list: "Alle Module"
add: "Neues Modul"
keine:
beschreibung: "Keine Beschreibung vorhanden"
lva:
add: "Lva hinzufügen"
list: "Alle Lvas"
semester:
ohne: "Ohne Semesterzuordnung"
modulgruppe:
typ: "Typ"
addmodul: "Neues Modul hinzufügen"
studium: "Studium"
new: "Neue Modulgruppe"
list: "Alle Modulgruppen auflisten"
show:
title: "Auflistung aller Modulgruppen"
link: "Modulgruppen auflisten"
filter:
studium: "Studium"
modulgruppe: "Modulgruppe"
modul: "Modul"
lva: "Lva"
beispiel: "Beispiel"
reset: "Alle Filter zurücksetzen"
verwalten:
fehler:
keine: "Keine Fehlermeldungen oder Warnungen"
lecturers:
lecturers: "Vortragende"

View File

@@ -0,0 +1,5 @@
class AddLinkToLecturers < ActiveRecord::Migration
def change
add_column :lecturers, :link, :string
end
end