diff --git a/app/controllers/memberships_controller.rb b/app/controllers/memberships_controller.rb index fa9c90c..ae0383f 100644 --- a/app/controllers/memberships_controller.rb +++ b/app/controllers/memberships_controller.rb @@ -1,31 +1,9 @@ class MembershipsController < ApplicationController - # GET /memberships - # GET /memberships.json - def index - @memberships = Membership.all - - respond_to do |format| - format.html # index.html.erb - format.json { render json: @memberships } - end - end - - # GET /memberships/1 - # GET /memberships/1.json - def show - @membership = Membership.find(params[:id]) - - respond_to do |format| - format.html # show.html.erb - format.json { render json: @membership } - end - end - # GET /memberships/new # GET /memberships/new.json def new @membership = Membership.new - + @membership.fetprofile=Fetprofile.find(params[:fetprofile_id]) respond_to do |format| format.html # new.html.erb format.json { render json: @membership } @@ -44,8 +22,8 @@ class MembershipsController < ApplicationController respond_to do |format| if @membership.save - format.html { redirect_to @membership, notice: 'Membership was successfully created.' } - format.json { render json: @membership, status: :created, location: @membership } + format.html { redirect_to @membership.fetprofile, notice: 'Membership was successfully created.' } + format.json { render json: @membership.fetprofile, status: :created, location: @membership.fetprofile } else format.html { render action: "new" } format.json { render json: @membership.errors, status: :unprocessable_entity } @@ -60,7 +38,7 @@ class MembershipsController < ApplicationController respond_to do |format| if @membership.update_attributes(params[:membership]) - format.html { redirect_to @membership, notice: 'Membership was successfully updated.' } + format.html { redirect_to @membership.fetprofile, notice: 'Membership was successfully updated.' } format.json { head :no_content } else format.html { render action: "edit" } @@ -73,10 +51,11 @@ class MembershipsController < ApplicationController # DELETE /memberships/1.json def destroy @membership = Membership.find(params[:id]) + fp = @membership.fetprofile @membership.destroy respond_to do |format| - format.html { redirect_to memberships_url } + format.html { redirect_to fp } format.json { head :no_content } end end diff --git a/app/models/fetprofile.rb b/app/models/fetprofile.rb index 34ae476..ca5eb35 100644 --- a/app/models/fetprofile.rb +++ b/app/models/fetprofile.rb @@ -1,3 +1,9 @@ class Fetprofile < ActiveRecord::Base attr_accessible :active, :desc, :fetmailalias, :nachname, :picture, :short, :vorname + has_many :memberships + has_many :gremien, :through=> :membership + mount_uploader :picture, PictureUploader + def name + [vorname, nachname, "(",short,")"].join(" ") + end end diff --git a/app/models/gremium.rb b/app/models/gremium.rb index 3c0bfae..ef6710f 100644 --- a/app/models/gremium.rb +++ b/app/models/gremium.rb @@ -1,3 +1,4 @@ class Gremium < ActiveRecord::Base attr_accessible :desc, :name, :typ + has_many :memberships end diff --git a/app/models/membership.rb b/app/models/membership.rb index 701d603..a1c876e 100644 --- a/app/models/membership.rb +++ b/app/models/membership.rb @@ -1,3 +1,5 @@ class Membership < ActiveRecord::Base attr_accessible :fetprofile_id, :gremium_id, :start, :stop, :typ + belongs_to :fetprofile + belongs_to :gremium end diff --git a/app/uploaders/picture_uploader.rb b/app/uploaders/picture_uploader.rb index ec0f27a..58d233a 100644 --- a/app/uploaders/picture_uploader.rb +++ b/app/uploaders/picture_uploader.rb @@ -36,6 +36,9 @@ class PictureUploader < CarrierWave::Uploader::Base process :resize_to_fill => [64, 64] end + version :portrait do + process :resize_to_fill => [128,192] + end # Add a white list of extensions which are allowed to be uploaded. # For images you might use something like this: def extension_white_list diff --git a/app/views/fetprofiles/_form.html.erb b/app/views/fetprofiles/_form.html.erb index 016e4cf..4205b13 100644 --- a/app/views/fetprofiles/_form.html.erb +++ b/app/views/fetprofiles/_form.html.erb @@ -1,15 +1,39 @@ +
+ <%= semantic_form_for @fetprofile do |f| %> <%= f.inputs do %> - <%= f.input :vorname %> - <%= f.input :nachname %> - <%= f.input :short %> - <%= f.input :fetmailalias %> - <%= f.input :desc %> - <%= f.input :picture %> - <%= f.input :active %> +
+
+ <%= f.input :vorname %>
+
<%= f.input :nachname %>
+
<%= f.input :short %> +
+
+
+ <%= f.input :desc %>
+
+
+
<%= f.input :active %>
+
<%= f.input :picture, :as=>:file %>
+
<%= f.input :fetmailalias %>
+
+ <% @fetprofile.memberships.each do |m| %> + <%= semantic_fields_for m do |mf| %> +
+
+
<%= mf.input :start, :as=>:date %>
+
<%= mf.input :stop %>
+
<%= mf. input :gremium %>
+
<%= mf.input :typ ,:as=>:radio, :collection=>{"mitglied"=>1, "ersatzmitglied"=>2} %>
+ +
<% end %> - +<% end +end %> +
+
<%= f.actions do %> <%= f.action :submit, :as => :input %> <% end %> <% end %> +
diff --git a/app/views/fetprofiles/index.html.erb b/app/views/fetprofiles/index.html.erb index 133fc40..3f5ce2f 100644 --- a/app/views/fetprofiles/index.html.erb +++ b/app/views/fetprofiles/index.html.erb @@ -7,7 +7,7 @@ Short Fetmailalias Desc - Picture + Active @@ -21,7 +21,7 @@ <%= fetprofile.short %> <%= fetprofile.fetmailalias %> <%= fetprofile.desc %> - <%= fetprofile.picture %> + <%= fetprofile.active %> <%= link_to 'Show', fetprofile %> <%= link_to 'Edit', edit_fetprofile_path(fetprofile) %> diff --git a/app/views/fetprofiles/show.html.erb b/app/views/fetprofiles/show.html.erb index c11f77e..7c964a6 100644 --- a/app/views/fetprofiles/show.html.erb +++ b/app/views/fetprofiles/show.html.erb @@ -1,40 +1,35 @@

<%= notice %>

+
+
+
+ <%= image_tag @fetprofile.picture.portrait.url %> +
+
+

<%= @fetprofile.name %>

- Vorname: - <%= @fetprofile.vorname %> -

- -

- Nachname: - <%= @fetprofile.nachname %> -

- -

- Short: - <%= @fetprofile.short %> -

- -

- Fetmailalias: <%= @fetprofile.fetmailalias %>

-

- Desc: <%= @fetprofile.desc %>

-

- Picture: - <%= @fetprofile.picture %> + <%= "Aktiv".html_safe if @fetprofile.active %>

-

- Active: - <%= @fetprofile.active %> -

+
+
+
+
+<% @fetprofile.memberships.each do |m| %> +<%= m.start.to_s %> +<%= m.gremium.try(:name).to_s %> +<%= link_to 'edit', edit_fetprofile_membership_path(@fetprofile,m) %> +<% end %> +<%= link_to 'Edit', new_fetprofile_membership_path(@fetprofile) %> | <%= link_to 'Edit', edit_fetprofile_path(@fetprofile) %> | <%= link_to 'Back', fetprofiles_path %> +
+
diff --git a/app/views/home/links_notimplemented.html.erb b/app/views/home/links_notimplemented.html.erb index f9622d5..72a8f21 100644 --- a/app/views/home/links_notimplemented.html.erb +++ b/app/views/home/links_notimplemented.html.erb @@ -3,5 +3,6 @@ Vorhandene Resourcen
  • <%= link_to "galleries", galleries_path %>
  • <%= link_to "fotos", fotos_path %>
  • <%= link_to "gremien", gremien_path %>
  • +
  • <%= link_to "fetprofiles", fetprofiles_path %>
  • <%= link_to "memberships", memberships_path %>
  • diff --git a/app/views/memberships/_form.html.erb b/app/views/memberships/_form.html.erb index 15bbe9a..d964a24 100644 --- a/app/views/memberships/_form.html.erb +++ b/app/views/memberships/_form.html.erb @@ -1,10 +1,9 @@ <%= semantic_form_for @membership do |f| %> <%= f.inputs do %> - <%= f.input :fetprofile_id %> - <%= f.input :gremium_id %> + <%= f.input :gremium, :as=>:radio %> <%= f.input :start %> <%= f.input :stop %> - <%= f.input :typ %> + <%= f.input :typ ,:as=>:radio, :collection=>{"mitglied"=>1, "ersatzmitglied"=>2} %> <% end %> <%= f.actions do %> diff --git a/config/routes.rb b/config/routes.rb index 16e35ef..bd638f7 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -40,9 +40,11 @@ resources :galleries do resources :fotos, :only=>[:new,:show] end - resources :memberships + resources :memberships, :except=>[:new, :show, :edit] resources :gremien - resources :fetprofiles + resources :fetprofiles do + resources :memberships, :only=>[:new, :show, :edit] + end resources :lecturers resources :semesters resources :moduls