diff --git a/app/controllers/memberships_controller.rb b/app/controllers/memberships_controller.rb
index 0052c24..199fa8d 100644
--- a/app/controllers/memberships_controller.rb
+++ b/app/controllers/memberships_controller.rb
@@ -19,7 +19,7 @@ class MembershipsController < ApplicationController
# POST /memberships.json
def create
@membership = Membership.new(params[:membership])
- @membership.fetprofile= Fetprofle.find(params[:fetprofile_id])
+ @membership.fetprofile= Fetprofile.find(params[:fetprofile_id])
respond_to do |format|
if @membership.save
format.html { redirect_to @membership.fetprofile, notice: 'Membership was successfully created.' }
diff --git a/app/models/fetprofile.rb b/app/models/fetprofile.rb
index fba5c01..a97f35e 100644
--- a/app/models/fetprofile.rb
+++ b/app/models/fetprofile.rb
@@ -15,12 +15,13 @@
#
class Fetprofile < ActiveRecord::Base
- attr_accessible :active, :desc, :fetmailalias, :nachname, :picture, :short, :vorname
+ attr_accessible :active, :desc, :fetmailalias, :nachname, :picture, :short, :vorname,:memberships_attributes
has_many :memberships
has_many :gremien, :through=> :membership
mount_uploader :picture, PictureUploader
def name
[vorname, nachname, "(",short,")"].join(" ")
end
+ accepts_nested_attributes_for :memberships
scope :active, -> { where(:active=>:true).order(:vorname) }
end
diff --git a/app/views/fetprofiles/_form.html.erb b/app/views/fetprofiles/_form.html.erb
index dcd19db..034eb5e 100644
--- a/app/views/fetprofiles/_form.html.erb
+++ b/app/views/fetprofiles/_form.html.erb
@@ -17,20 +17,19 @@
<%= f.input :picture, :as=>:file %>
<%= f.input :fetmailalias %>
- <% @fetprofile.memberships.each do |m| %>
- <%= semantic_fields_for m do |mf| %>
-
+
+ <%= f.inputs :for => :memberships do |membership,i| %>
+
- <%= mf.inputs do %>
-
<%= mf.input :start, :as=>:date %>
-
<%= mf.input :stop %>
-
<%= mf. input :gremium %>
-
<%= mf.input :typ ,:as=>:radio, :collection=>{"mitglied"=>1, "ersatzmitglied"=>2} %>
+
+
<%= membership.input :start, :as=>:date %>
+
<%= membership.input :stop %>
+
<%= membership. input :gremium %>
+
<%= membership.input :typ ,:as=>:radio, :collection=>{"mitglied"=>1, "ersatzmitglied"=>2} %>
+
+
<% end %>
<% end %>
-
- <% end %>
-<% end
-end %>
+
<%= f.actions do %>
diff --git a/app/views/memberships/_form.html.erb b/app/views/memberships/_form.html.erb
index d964a24..057e82e 100644
--- a/app/views/memberships/_form.html.erb
+++ b/app/views/memberships/_form.html.erb
@@ -1,4 +1,4 @@
-<%= semantic_form_for @membership do |f| %>
+<%= semantic_form_for [@membership.fetprofile,@membership] do |f| %>
<%= f.inputs do %>
<%= f.input :gremium, :as=>:radio %>
<%= f.input :start %>
diff --git a/app/views/memberships/new.html.erb b/app/views/memberships/new.html.erb
index 13dc6ad..2e8e5ec 100644
--- a/app/views/memberships/new.html.erb
+++ b/app/views/memberships/new.html.erb
@@ -2,4 +2,4 @@
<%= render 'form' %>
-<%= link_to 'Back', memberships_path %>
+<%= link_to 'Back', @membership.fetprofile %>
diff --git a/config/routes.rb b/config/routes.rb
index 097b915..6b0c621 100755
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,6 +1,6 @@
Fetsite::Application.routes.draw do
- devise_for :users
+ devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
resources :home, :only=>[:index]
#get 'home',:controller=>home,:action=>:index,:as=>"home_index"
scope '(:locale)/admin' do
@@ -39,10 +39,10 @@
resources :galleries do
resources :fotos
end
- resources :memberships, :except=>[:new, :show, :edit]
+
resources :gremien
resources :fetprofiles do
- resources :memberships, :only=>[:new, :show, :edit]
+ resources :memberships
end
resources :lecturers
resources :semesters