<% case params[:eseguiComando] %>
<% when comandoImpostaNumeroDiTessera %>
<% memberships = Membership.search(@filter_params).ordered_by_nucleo_and_dh_name %>
<% check_result = Membership.get_memberships_data_inconsistency(memberships) %>
<% if check_result[:inconsistency] %>
<%= icon('exclamation-triangle', size: '2x') %>Ci sono dati inconsistenti nei soci di <%= link_to @fp_labelOrganization, organization_path(@fp_valueOrganization) %>,
(<%= Membership.get_message_for_memberships_data_inconsistency(check_result) %>);
non è possibile procedere con la riassegnazione dei numeri di tessera!
<%= iconbutton_back %>
<%= form_tag(set_card_number_memberships_path, method: :get) do %>
<%= iconbutton_submit(icon('tag'), 'btn-danger', 'Assegna i numeri di tessera ignorando le inconsistenze rilevate', 'eseguiComando', comandoForzaNumeroDiTessera) %>
<% end %>
<% else %>
<% organization_id = params[:filterorganization_id] %>
<% tessera_iniziale = params[:numero_iniziale_tessera].is_valid_id? ? params[:numero_iniziale_tessera].to_i : 1 %>
<% reference_year = Date.today.year %>
<% updated_count = Membership.imposta_numero_tessera(organization_id, reference_year, tessera_iniziale) %>
<% if organization_id.blank? %>
Tessera assegnata per <%= updated_count %> soci
<% else %>
<% organization = Organization.find(organization_id) %>
Tessera assegnata per <%= updated_count %> soci di <%= organization.descrizione %>
<% end %>
<%= iconbutton_to(memberships_path, icon('eye'), 'btn-default', 'Visualizza soci', @filter_params.merge(filterorganization_id: organization_id) ) %>
<% end %>
<% when comandoForzaNumeroDiTessera %>
<% organization_id = params[:filterorganization_id] %>
<% tessera_iniziale = params[:numero_iniziale_tessera].is_valid_id? ? params[:numero_iniziale_tessera].to_i : 1 %>
<% reference_year = Date.today.year %>
<% updated_count = Membership.imposta_numero_tessera(organization_id, reference_year, tessera_iniziale) %>
<% if organization_id.blank? %>
Tessera assegnata per <%= updated_count %> soci di tutte le <%= Organization.label %>
<% else %>
<% organization = Organization.find(organization_id) %>
Tessera assegnata per <%= updated_count %> soci di <%= organization.descrizione %>
<% end %>
<%= iconbutton_to(memberships_path, icon('eye'), 'btn-default', 'Visualizza soci', @filter_params.merge(filterorganization_id: organization_id) ) %>
<% else %>
<%= form_tag(set_card_number_memberships_path, method: :get) do %>
<%= edit_table_open %>
<%= edit_table_row( 'Numero iniziale di tessera', number_field_tag(:numero_iniziale_tessera, 1, style: 'text-align: right;', class: 'lead') ) %>
<%= edit_table_row(
link_to('Associazione', organizations_path) ,
(select_tag "filterorganization_id",
options_from_collection_for_select(
Organization.all.ordered_by_name,
'id',
'format_for_formselect',
if @filter_params[:filterorganization_id].is_valid_id? then @filter_params[:filterorganization_id].to_i else nil end),
prompt: '
',
:style => "width:400px; ",
:class=>'lead') ) %>
<%= edit_table_row( '', iconbutton_submit(icon('tag'), 'btn-success', 'Imposta numero di tessera', 'eseguiComando', comandoImpostaNumeroDiTessera) ) %>
<%= edit_table_close %>
<% end %>
Per assegnare i numeri di tessera, si prendono tutte le persone che si sono registrate nel <%= Date.today.year %>
(anche se durante l'anno hanno chiesto il recesso, affinché l'ordine delle tessere non cambi se viene fatto nuovamente durante l'anno),
e il numero di tessera corrisponde alla posizione nell'elenco dei soci ordinato con i seguenti criteri, in ordine di priorità:
-
- data delibera iscrizione
- così chi si iscrive successivamente, viene messo in coda
-
- ruolo associativo
- il Presidente è il primo, i 'Junior' sono ultimi,
l'ordine esatto si può vedere <%= iconlink_to(membership_types_path, icon('external-link-alt'), 'qui') %>
-
- nome di animale
- se c'è, se è un cittadino damanhuriano
-
- cognome
- chi non ha nome damanhuriano, viene ordinato sul cognome anagrafico
<% end %>