studium form update
This commit is contained in:
@@ -15,6 +15,8 @@
|
||||
*= require jquery.fileupload-ui
|
||||
*= require jquery.datetimepicker
|
||||
*= require jquery.ui.dialog
|
||||
*= require jquery.ui.autocomplete
|
||||
*= require jquery.ui.tabs
|
||||
* require 'bootstrap'
|
||||
* require 'neuigkeiten'
|
||||
*/
|
||||
|
||||
@@ -77,13 +77,13 @@ class LvasController < ApplicationController
|
||||
@lva = Lva.find_by_id(params[:id])
|
||||
@lvatiss = Lva.new
|
||||
@lvatiss.lvanr=@lva.lvanr
|
||||
@lvatiss.load_tissdata("-2013W")
|
||||
@lvatiss.load_tissdata
|
||||
|
||||
end
|
||||
|
||||
def load_tiss
|
||||
@lva = Lva.find_by_id(params[:id])
|
||||
@lva.load_tissdata("-2013W")
|
||||
@lva.load_tissdata
|
||||
if @lva.save
|
||||
redirect_to @lva , notice: 'Lva von TISS geladen.'
|
||||
else
|
||||
|
||||
@@ -125,13 +125,13 @@ end
|
||||
|
||||
def show_tiss
|
||||
@lvas=[];
|
||||
@semester = @modul.modulgruppen.flatten.map(&:studium).map(&:semester).flatten.uniq
|
||||
@semester = @modul.modulgruppen.flatten.map(&:studium).map(&:semester).uniq
|
||||
params["lvas"].to_a.each do |l|
|
||||
unless l.last["lvanr"].empty?
|
||||
l=l.last
|
||||
lva=Lva.new
|
||||
lva.lvanr=l["lvanr"]
|
||||
lva.load_tissdata("-"+ l["sem"])
|
||||
lva.load_tissdata
|
||||
lva.modul<<@modul
|
||||
@lvas<<lva #
|
||||
end
|
||||
|
||||
@@ -109,7 +109,7 @@ class Lva < ActiveRecord::Base
|
||||
end
|
||||
|
||||
|
||||
def load_tissdata(semester)
|
||||
def load_tissdata
|
||||
urlp="https://tiss.tuwien.ac.at/api/course/"+ lvanr.to_s.gsub(".","")+"-"
|
||||
begin
|
||||
url= urlp+Time.now.year.to_s+"W"
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#
|
||||
|
||||
class Modul < ActiveRecord::Base
|
||||
attr_accessible :desc,:name, :depend, :studium_id, :modulgruppen, :modulgruppe_ids
|
||||
attr_accessible :desc,:name, :depend, :studium_id, :modulgruppen, :modulgruppe_ids, :lva_ids
|
||||
|
||||
has_and_belongs_to_many :lvas , :uniq=>true
|
||||
has_and_belongs_to_many :modulgruppen
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
<% unless @crawlobjects.nil? %>
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<% @crawlobjects.each do |co| %>
|
||||
@@ -121,7 +121,7 @@
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,29 +1,62 @@
|
||||
<%= semantic_form_for @modulgruppe do |f| %>
|
||||
<%= f.inputs do %>
|
||||
<div class="span8">
|
||||
|
||||
|
||||
<div class="row-fluid">
|
||||
<%= f.input :name, :wrapper_html=>{:class=>"span12"}%>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<%= f.input :studium_id, :as =>:select, :collection => Studium.all, :wrapper_html=>{:class=>"span4"} %>
|
||||
<%= f.input :typ, :collection=>["Pflicht","Vertiefungspflicht","Wahl"], :wrapper_html=>{:class=>"span4"}%>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<%= f.input :studium_id, :as =>:select, :collection => Studium.all, :wrapper_html=>{:class=>"span4"} %>
|
||||
<%= f.input :typ, :collection=>["Pflicht","Vertiefungspflicht","Wahl"], :wrapper_html=>{:class=>"span4"}%>
|
||||
<%= f.input :phase, :as=>:select, :collection=>1..3, :wrapper_html=>{:class=>"span4"} %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row-fluid">
|
||||
<%= f.input :desc %>
|
||||
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
|
||||
|
||||
<input id="modul" class="autocomplete-checkbox" data-checkboxdiv="modulgruppe_moduls_input" data-checkboxname="modulgruppe[modul_ids][]" data-collection="<%= (Modul.all.map{|l| "{\"value\": \""+l.id.to_s + "\", \"label\": " + "\"" +escape_javascript( l.name.gsub(";",",")) + "\"}"}.join("; "))%>"> </input>
|
||||
|
||||
<%= f.input :moduls, :as=>:check_boxes, :collection=>@modulgruppe.moduls %>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
$( ".autocomplete-checkbox" ).autocomplete({
|
||||
minLength: 0,
|
||||
source: [],
|
||||
focus: function( event, ui ) {
|
||||
$( this ).val( ui.item.label );
|
||||
return false;
|
||||
},
|
||||
select: function( event, ui ) {
|
||||
$( this ).val( "" );
|
||||
$( "#"+$(this).data("checkboxdiv")).append($("<label>").append($("<div>").attr("class", "checkbox").append($("<input>").attr("type","checkbox").attr("value", ui.item.value).attr("checked","checked").attr("name",$(this).data("checkboxname"))).append(ui.item.label)));
|
||||
return false;
|
||||
}
|
||||
}).each(function() {
|
||||
$(this).autocomplete("option", "source", $(this).data('collection').split(";").map(function(el){return JSON.parse(el)})
|
||||
);
|
||||
})
|
||||
.data( "ui-autocomplete" )._renderItem = function( ul, item ) {
|
||||
return $( "<li>" )
|
||||
.append( "<a>" + item.label + "</a>" )
|
||||
.appendTo( ul );
|
||||
};
|
||||
|
||||
});
|
||||
</script>
|
||||
</div></div>
|
||||
|
||||
</div>
|
||||
<div class="span4">
|
||||
<%= f.input :moduls, :as=>:check_boxes %>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= f.actions do %>
|
||||
<%= f.action :submit, :as => :input %>
|
||||
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="modulgruppe_phase_<%= modulgruppe.phase %>" >
|
||||
<h2><%= link_to modulgruppe.name, modulgruppe_path(modulgruppe) %>
|
||||
</h2>
|
||||
<h2><%= link_to modulgruppe.name, modulgruppe_path(modulgruppe) %> <%= link_to fa_icon("pencil") , edit_modulgruppe_path(modulgruppe) %></h2>
|
||||
|
||||
|
||||
<%= modulgruppe.desc%><ul class="unstyled">
|
||||
<%= render :partial=>'moduls/kurz', :collection=>modulgruppe.moduls, :as=>:modul%>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<p id="notice"><%= notice %></p>
|
||||
|
||||
<h1>
|
||||
<%= @modulgruppe.name %>
|
||||
<%= @modulgruppe.name %><%= link_to fa_icon("pencil") , edit_modulgruppe_path(@modulgruppe) %>
|
||||
</h1>
|
||||
<p>
|
||||
<!-- <b><%= link_to "Studium: "+@modulgruppe.studium.name, studium_path(@modulgruppe.studium) %></b>-->
|
||||
|
||||
@@ -6,24 +6,37 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<%= f.input :name ,:hint=>true%>
|
||||
<%= f.input :name , :as=>:hidden %>
|
||||
<div id="toolBar" style="z-index:100"></div>
|
||||
<h1 class="editable_simple" data-target="#modul_name"><%= @modul.name %> </h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="row-fluid" >
|
||||
<div class="span12">
|
||||
<%= f.input :desc, :as=>:tinymce_text %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<%= f.input :depend %>
|
||||
<div id="tabs">
|
||||
<ul><li><a href="#tab-desc">Beschreibung</a></li><li><a href="#tab-depend">Voraussetzung</a></li></ul>
|
||||
<div id="tab-desc">
|
||||
<div class="editable" data-target="#modul_desc">
|
||||
<%= raw(@modul.desc) %>
|
||||
</div>
|
||||
<%= f.input :desc, :as=>:hidden %>
|
||||
</div>
|
||||
<div id="tab-depend">
|
||||
<%= f.input :depend %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="span3">
|
||||
<%= f.input :modulgruppen, :as => :check_boxes, :member_label=>:long_name, :collection => Modulgruppe.all %>
|
||||
|
||||
<input id="lva" class="autocomplete-checkbox" data-checkboxdiv="modul_lvas_input" data-checkboxname="modul[lva_ids][]" data-collection="<%= (Lva.all.map{|l| "{\"value\": \""+l.id.to_s + "\", \"label\": " + "\"" +escape_javascript( l.full_name) + "\"}"}.join("; "))%>"> </input>
|
||||
<%= f.input :lvas, :as => :check_boxes, :member_label=>:full_name, :collection => @modul.lvas %>
|
||||
<input id="modul" class="autocomplete-checkbox" data-checkboxdiv="modul_modulgruppen_input" data-checkboxname="modul[modulgruppe_ids][]" data-collection="<%= (Modulgruppe.all.map{|l| "{\"value\": \""+l.id.to_s + "\", \"label\": " + "\"" +escape_javascript( l.long_name) + "\"}"}.join("; "))%>"> </input>
|
||||
<%= f.input :modulgruppen, :as => :check_boxes, :member_label=>:long_name, :collection => @modul.modulgruppen %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -34,5 +47,34 @@
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
$( ".autocomplete-checkbox" ).autocomplete({
|
||||
minLength: 0,
|
||||
source: [],
|
||||
focus: function( event, ui ) {
|
||||
$( this ).val( ui.item.label );
|
||||
return false;
|
||||
},
|
||||
select: function( event, ui ) {
|
||||
$( this ).val( "" );
|
||||
$( "#"+$(this).data("checkboxdiv")).append($("<label>").append($("<div>").attr("class", "checkbox").append($("<input>").attr("type","checkbox").attr("value", ui.item.value).attr("checked","checked").attr("name",$(this).data("checkboxname"))).append(ui.item.label)));
|
||||
return false;
|
||||
}
|
||||
}).each(function() { // Goes through `.autocomplete` elements and sets source
|
||||
$(this).autocomplete("option", "source", $(this).data('collection').split(";").map(function(el){return JSON.parse(el)}));
|
||||
})
|
||||
.data( "ui-autocomplete" )._renderItem = function( ul, item ) {
|
||||
return $( "<li>" )
|
||||
.append( "<a>" + item.label + "</a>" )
|
||||
.appendTo( ul );
|
||||
};
|
||||
$("#tabs").tabs();
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<%= tinymce :inline_simple %>
|
||||
<%= tinymce :inline_div %>
|
||||
<%= tinymce %>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<li>
|
||||
<div class="contentbox">
|
||||
<p>
|
||||
<b><%= link_to "Modul "+ modul.name.to_s , modul_path(modul) %> </b>
|
||||
<b><%= link_to "Modul "+ modul.name.to_s , modul_path(modul) %> <%= link_to fa_icon("pencil") , edit_modul_path(modul) %> </b>
|
||||
</p>
|
||||
<ul>
|
||||
<% modul.lvas.each do |lva| %>
|
||||
|
||||
@@ -16,6 +16,11 @@
|
||||
<p>
|
||||
<%= raw(modul.desc) %>
|
||||
</p>
|
||||
<h2><%=I18n.t("modul.depend")%></h2>
|
||||
<p>
|
||||
<%= raw(modul.depend) %>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
<div class="span4">
|
||||
<div class="lva-sidebar">
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
<%= semantic_fields_for "lvas[#{i}]" do |f| %>
|
||||
<%= f.input :lvanr %>
|
||||
<%= f.input :sem , :input_html => { "style"=>"width:7em" },:as=>:select, :collection=>["2012S", "2012W","2013S","2013W","2014S","2014W","2015S","2015W"] %>
|
||||
<% f.input :sem , :input_html => { "style"=>"width:7em" },:as=>:select, :collection=>["2012S", "2012W","2013S","2013W","2014S","2014W","2015S","2015W"] %>
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
|
||||
@@ -7,37 +7,62 @@
|
||||
<div class="row-fluid">
|
||||
<%= f.input :name,:append=>"NAME", :wrapper_html=>{:class=>"span6"}%>
|
||||
|
||||
<%= f.input :abkuerzung, :wrapper_html=>{:class=>"span1"}%>
|
||||
<%= f.input :zahl , :wrapper_html=>{:class=>"span2"}%>
|
||||
|
||||
<%= f.input :typ, :as=>:select, :include_blank=>false, :collection=>["Bachelor","Master"], :wrapper_html=>{:class=>"span2"}%>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<%= f.input :desc, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<%= f.input :qualifikation, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<%= f.input :struktur, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<%= f.input :jobmoeglichkeiten, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
|
||||
<label>Bild</label>
|
||||
<%= image_tag(@studium.picture.thumb.url) unless @studium.picture.nil? %>
|
||||
<%= f.file_field :picture %>
|
||||
<%= f.hidden_field :picture_cache %>
|
||||
|
||||
<div class="span12"><p>
|
||||
<div id="toolBar"></div></p>
|
||||
<div id="tabs">
|
||||
<ul>
|
||||
<li><a href="#tab-data">Daten</a></li>
|
||||
<li><a href="#tab-desc">Beschreibung</a></li>
|
||||
<li><a href="#tab-qual">Qualifikation</a></li>
|
||||
<li><a href="#tab-struk">Struktur</a></li>
|
||||
<li><a href="#tab-job">JobMöglichkeiten</a></li>
|
||||
</ul>
|
||||
<div id="tab-data">
|
||||
<%= f.input :abkuerzung %>
|
||||
<%= f.input :zahl %>
|
||||
<%= f.input :typ, :as=>:select, :include_blank=>false, :collection=>["Bachelor","Master"] %>
|
||||
<label>Bild</label>
|
||||
<%= image_tag(@studium.picture.thumb.url) unless @studium.picture.nil? %>
|
||||
<%= f.file_field :picture %>
|
||||
<%= f.hidden_field :picture_cache %>
|
||||
</div>
|
||||
|
||||
<div id="tab-desc">
|
||||
<div class="editable" data-target="#studium_desc">
|
||||
<%= raw(@studium.desc) %>
|
||||
</div>
|
||||
<%= f.input :desc, :as=>:hidden %>
|
||||
</div>
|
||||
|
||||
<div id="tab-qual">
|
||||
<div class="editable" data-target="#studium_qualifikation">
|
||||
<%= raw(@studium.qualifikation) %>
|
||||
</div>
|
||||
<%= f.input :qualifikation, :as=>:hidden %>
|
||||
</div>
|
||||
|
||||
<div id="tab-struk">
|
||||
<div class="editable" data-target="#studium_struktur">
|
||||
<%= raw(@studium.struktur) %>
|
||||
</div>
|
||||
<%= f.input :struktur, :as=>:hidden %>
|
||||
</div>
|
||||
|
||||
<div id="tab-job">
|
||||
<div class="editable" data-target="#studium_jobmoeglichkeiten">
|
||||
<%= raw(@studium.jobmoeglichkeiten) %>
|
||||
</div>
|
||||
<%= f.input :jobmoeglichkeiten, :as=>:hidden %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
<script>$("#tabs").tabs()</script>
|
||||
<%= tinymce %>
|
||||
<%= tinymce :inline_div %>
|
||||
<%= f.actions do %>
|
||||
<%= f.action :submit, :as => :input %>
|
||||
<%= link_to 'Back', studien_path, :data=>{:locale=>I18n.locale}, class: :btn%>
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
<%= render_attachments_for(@studium) %>
|
||||
|
||||
<%= raw(@studium.desc) %>
|
||||
<%= raw(@studium.struktur) %>
|
||||
<%= raw(@studium.jobmoeglichkeiten) %>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -30,4 +30,6 @@ en:
|
||||
desc: "Description"
|
||||
bspe: "Examples"
|
||||
home:
|
||||
newexamples: "Newest Examples"
|
||||
newexamples: "Newest Examples"
|
||||
modul:
|
||||
depend: "Voraussetzungen"
|
||||
@@ -40,6 +40,9 @@ inline_simple:
|
||||
toolbar:
|
||||
- undo redo
|
||||
menubar: false
|
||||
setup: function(ed) {
|
||||
ed.on('NodeChange',function(){$($("#"+ed.id).attr("data-target")).val(this.getContent())})
|
||||
}
|
||||
inline_div:
|
||||
selector: "div.editable"
|
||||
inline: true
|
||||
|
||||
Reference in New Issue
Block a user