This commit is contained in:
Nicolas Bally 2019-06-04 17:10:50 +02:00
parent 23eb1c086d
commit d3e3aa4d7d
5 changed files with 53 additions and 23 deletions

View File

@ -43,13 +43,16 @@ class Admin::SheetsController < ApplicationController
end end
if params[:no_years]
if params[:sheet_filter] @sheets = Sheet.joins(:sheet_years).where(:sheet_years => {:paid_at => nil, :gift_year => false}).where("sheet_years.year > 2017")
@sheets = Sheet.search_by_params(params[:sheet_filter])
else else
@sheets = Sheet.all(:limit => 100) if params[:sheet_filter]
end @sheets = Sheet.search_by_params(params[:sheet_filter])
else
@sheets = Sheet.all(:limit => 100)
end
end
respond_to do |format| respond_to do |format|

View File

@ -27,18 +27,30 @@ class Sheet < ActiveRecord::Base
SHEET_TYPE = {1 => "adherent",2 => "sympathisant"} SHEET_TYPE = {1 => "adherent",2 => "sympathisant"}
attr_accessor :error_join attr_accessor :error_join, :new_web_form
before_validation do before_validation do
if self.sheet_years[0]
if self.sheet_years[0].join_type == 1
self.sheet_years[0].amount = 10
elsif self.sheet_years[0].join_type == 2
self.sheet_years[0].amount = 15
end
end
if self.web
if self.web and self.new_web_form
if self.sheet_years[0]
if self.sheet_years[0].benefactor
self.sheet_years[0].validate_bienfaiteur = true
self.sheet_years[0].amount = self.sheet_years[0].personalized_price
else
if self.sheet_years[0].join_type == 1
self.sheet_years[0].amount = 10
elsif self.sheet_years[0].join_type == 2
self.sheet_years[0].amount = 15
end
end
end
if self.people.size > 1 if self.people.size > 1
if self.sheet_years[0] if self.sheet_years[0]
if self.sheet_years[0].join_type == 1 if self.sheet_years[0].join_type == 1

View File

@ -4,11 +4,22 @@ class SheetYear < ActiveRecord::Base
has_one :person, :through => :sheet has_one :person, :through => :sheet
validates_presence_of :year validates_presence_of :year
attr_accessor :personalized_price, :validate_bienfaiteur
validates :personalized_price, :presence => true, numericality:{greater_than_or_equal_to: 20}, :if => :validate_bienfaiteur
#attr_accessible :year, :join_type, :benefactor, :gift_year, :paid_at, :amount, :payment_type, :bank, :check_number, :sheet_id, :plume #attr_accessible :year, :join_type, :benefactor, :gift_year, :paid_at, :amount, :payment_type, :bank, :check_number, :sheet_id, :plume
JOIN_TYPE = {1 => "Individuel", 2 => "Familial", 3 =>"Association"} JOIN_TYPE = {1 => "Individuel", 2 => "Familial", 3 =>"Association"}
PAYMENT_TYPE = {1 => "Chèque", 2 => "Liquide", 3 => "Paypal (ou carte bancaire)"} PAYMENT_TYPE = {1 => "Chèque", 2 => "Liquide", 3 => "Paypal (ou carte bancaire)"}
before_validation do
self.gift_year = false if !self.gift_year
end
after_save do after_save do
sy = self.sheet.sheet_years[0] sy = self.sheet.sheet_years[0]

View File

@ -15,6 +15,7 @@
%br %br
%h1 Liste des fiches %h1 Liste des fiches
=link_to "Voir les fiches avec des années où le paiement n'a pas été validé", params.merge(:no_years => true)
=render :partial => "sheets_search", :locals => {:url => ""} =render :partial => "sheets_search", :locals => {:url => ""}
%br %br
= link_to 'Ajouter une fiche', new_admin_sheet_path, :remote => true, :class => "btn" = link_to 'Ajouter une fiche', new_admin_sheet_path, :remote => true, :class => "btn"

View File

@ -4,9 +4,9 @@
=semantic_form_for @sheet, :url => save_sheet_public_joins_path(), :html => {:method => :get} do |form| =semantic_form_for @sheet, :url => save_sheet_public_joins_path(), :html => {:method => :get} do |form|
-form.object.new_web_form = true
=form.inputs do =form.inputs do
=form.hidden_field :new_web_form
=form.hidden_field :sheet_type =form.hidden_field :sheet_type
=form.hidden_field :web =form.hidden_field :web
@ -40,17 +40,20 @@
=form.semantic_fields_for :sheet_years do |f| =form.semantic_fields_for :sheet_years do |f|
.field .field
=f.hidden_field :year =f.hidden_field :year
%br %br
=form.input :error_join, :label => false, :input_html => {:style => "display:none;"} =form.input :error_join, :label => false, :input_html => {:style => "display:none;"}
= f.input :join_type, :collection => {"Individuel (10€)" => 1, "Familial (15€)" => 2}, :as => :select, :label => "Type d'adhésion :", :include_blank => false = f.input :join_type, :collection => {"Individuel (10€)" => 1, "Familial (15€)" => 2}, :as => :select, :label => "Type d'adhésion :", :include_blank => false
-if false
= f.label :benefactor, "Bienfaiteur : "
= f.check_box :benefactor
%br
= f.label :gift_year, "Année d'adhésion offerte : " =f.input :benefactor, :label => "Adhésion bienfaiteur ? (somme libre au dessus de 20€)", :input_html => {:onchange => "if($(this).is(':checked')){$('.bienfaiteur').show();}else{$('.bienfaiteur').hide();}"}
= f.check_box :gift_year, :onchange => "payment_form($(this));"
.bienfaiteur{:style => ("display:none" if !f.object.benefactor)}
=f.input :personalized_price, :label => "Montant de votre adhésion bienfaiteur :"
%br %br