app/views/valid_vouchers/new.html.haml
= set_active_tab '#t_shows_index'
%h2 Add ticket type(s) for #{@show.name}
= form_tag valid_vouchers_path do
= hidden_field_tag :show_id, @show.id
.form-group.form-row
%label.col-form-label.col-md-5.text-right Add/modify which ticket types:
.col-md-6#t-vouchertypes
- @vouchertypes.each do |v|
.form-check
- field_id = "vouchertypes[#{v.id}]"
.form-check-input= check_box_tag "vouchertypes[]", v.id, false, :id => field_id, :class => 'vouchertype'
%label.form-check-label.col-form-label{:for => field_id}= v.name_with_season_and_price
%br
.alert.alert-info.Tl.Tt= t('season_setup.options_apply_to_all_selected_performances')
- if @show.showdates.any?(&:stream?)
.form-row.py-1.border-bottom
.col-5.text-right
%label.col-form-label{:for => :showdate_type} Add/change redemptions for performances that are
.col-2
= select_tag 'showdate_type', showdate_type_choices(@show), :class => 'form-control showdate-type'
- else
= hidden_field_tag 'showdate_type', 'Tt', :class => 'showdate-type'
#adjust-max-sales
.form-group.form-row.pb-0.mb-0
.col-md-5.text-right
= popup_help_for :valid_voucher_max_sales_for_type
%label.col-form-label{:for=>:valid_voucher_max_sales_for_type} Max sales for type
= number_field_tag 'valid_voucher_max_sales_for_type', '', :name => 'valid_voucher[max_sales_for_type]', :class => 'form-control col-md-2'
.form-group.form-row.pt-0.mt-0.border-bottom
.form-check.form-check-inline.col-md-5.offset-md-5
= check_box_tag 'preserve[max_sales_for_type]', 1, true
%label.px-1.col-form-label{:for => 'preserve_max_sales_for_type'} Keep as-is on existing redemptions
= popup_help_for 'keep_existing_redemptions_as_is'
#adjust-promo-code
.form-group.form-row.pb-0.mb-0
.col-md-5.text-right
= popup_help_for :valid_voucher_promo_code
%label.col-form-label{:for=>:valid_voucher_promo_code} Redemption (promo) code, if any
= text_field 'valid_voucher', 'promo_code', :class => 'form-control col-md-2'
.form-group.form-row.pt-0.mt-0.border-bottom
.form-check.form-check-inline.col-md-5.offset-md-5
= check_box_tag 'preserve[promo_code]', 1, true
%label.px-1.col-form-label{:for => 'preserve_promo_code'} Keep as-is on existing redemptions
= popup_help_for 'keep_existing_redemptions_as_is'
#adjust-min-sales-per-txn
.form-group.form-row.pb-0.mb-0
.col-md-5.text-right
= popup_help_for :valid_voucher_min_sales_per_txn
%label.col-form-label{:for=>:valid_voucher_min_sales_per_txn} Min purchase per transaction
= number_field_tag 'valid_voucher_min_sales_per_txn', '', :name => 'valid_voucher[min_sales_per_txn]', :class => 'form-control col-md-2'
.form-group.form-row.pt-0.mt-0.border-bottom
.form-check.form-check-inline.col-md-5.offset-md-5
= check_box_tag 'preserve[min_sales_per_txn]', 1, true
%label.px-1.col-form-label{:for => 'preserve_min_sales_per_txn'} Keep as-is on existing redemptions
= popup_help_for 'keep_existing_redemptions_as_is'
#adjust-max-sales-per-txn
.form-group.form-row.pb-0.mb-0
.col-md-5.text-right
= popup_help_for :valid_voucher_max_sales_per_txn
%label.col-form-label{:for=>:valid_voucher_max_sales_per_txn} Max purchase per transaction
= number_field_tag 'valid_voucher_max_sales_per_txn', '', :name => 'valid_voucher[max_sales_per_txn]', :class => 'form-control col-md-2'
.form-group.form-row.pt-0.mt-0.border-bottom
.form-check.form-check-inline.col-md-5.offset-md-5
= check_box_tag 'preserve[max_sales_per_txn]', 1, true
%label.px-1.col-form-label{:for => 'preserve_max_sales_per_txn'} Keep as-is on existing redemptions
= popup_help_for 'keep_existing_redemptions_as_is'
#adjust-start-sales
.form-group.form-row.pb-0.mb-0
.col-md-5.text-right
= popup_help_for :valid_voucher_sales_dates
%label.col-form-label{:for=>:valid_voucher_start_sales}
Start sales for each performance
.col-md-6.form-inline= datetime_select 'valid_voucher', 'start_sales', {:minute_step => 15}, {:class => 'form-control'}
.form-group.form-row.pt-0.mt-0.border-bottom
.form-check.form-check-inline.col-md-5.offset-md-5
= check_box_tag 'preserve[start_sales]', 1, true
%label.px-1.col-form-label{:for => 'preserve_start_sales'} Keep as-is on existing redemptions
= popup_help_for 'keep_existing_redemptions_as_is'
#adjust-end-sales
.form-row.pb-0.mb-0.Tt.Tl
.col-md-5.text-right
= popup_help_for :valid_voucher_sales_dates
%label.col-form-label End sales for each performance
.col-md-1= number_field_tag 'minutes_before', @minutes_before.abs, :class => 'form-control'
.col-md-3= select_tag 'before_or_after', options_for_before_or_after_curtain(@minutes_before), :class => 'form-control'
.form-row.pb-0.mb-0.Ts
.col-md-5.text-right
= popup_help_for :valid_voucher_sales_dates
%label.col-form-label End sales
.col-md-5.form-inline= datetime_select 'valid_voucher', 'end_sales', {:minute_step => 15}, {:class => 'form-control'}
.form-group.form-row.pt-0.mt-0.border-bottom
.form-check.form-check-inline.col-md-5.offset-md-5
= check_box_tag 'preserve[end_sales]', 1, true
%label.px-1.col-form-label{:for => 'preserve_end_sales'} Keep as-is on existing redemptions
= popup_help_for 'keep_existing_redemptions_as_is'
.alert.alert-info= t('season_setup.apply_to_which_performances')
.pb-2.Tt.Tl#select-performances
.form-row.pl-4.pb-3
.col-md-2.text-center
Select Dates:
%br
= link_to 'All', '#', :onclick => %Q{$('.showdate.'+($('#showdate_type').val()+'d')).prop('checked', true).change(); return(false);}, :class => 'btn btn-outline-secondary btn-sm px-1'
= link_to 'None', '#', :onclick => %Q{$('.showdate').prop('checked', false).change(); return(false);}, :class => 'btn btn-outline-secondary btn-sm px-1'
.col-md-5.text-center
Or Select Every:
%br
- %w(Mon Tue Wed Thu Fri Sat Sun).each do |wday|
= link_to wday, '#', :onclick => %Q{$('.showdate.#{wday}.' + ($('#showdate_type').val()+'d')).prop('checked', true).change(); return(false);}, :class => 'btn btn-outline-secondary btn-sm px-1'
.col-md-5.text-center
Or Un-select Every:
%br
- %w(Mon Tue Wed Thu Fri Sat Sun).each do |wday|
= link_to wday, '#', :onclick => %Q{$('.showdate.#{wday}').prop('checked', false).change(); return(false);}, :class => 'btn btn-outline-secondary btn-sm px-1'
.mx-2.pb-2
- @show.showdates.each_with_index do |showdate,idx|
- if idx % 3 == 0
<div class="form-row">
- klass = class_for_showdate_type(showdate) + 'd'
.col-3.form-check.form-check-inline{:class => klass}
- wkday = showdate.thedate.strftime('%a')
- field_id = "showdates[#{showdate.id}]"
= check_box_tag('showdates[]', showdate.id, false, :class => "form-check-input showdate #{wkday} #{klass}", :id => field_id)
%label.form-check-label{:for => field_id}
= "Stream until" if klass=='Tsd'
= showdate.printable_date_brief
- if idx % 3 == 2
</div>
- if @show.showdates.size % 3 != 0
</div>
.form-group.form-row
.col-md-3.offset-md-2= submit_tag "Apply Changes", :class => 'btn btn-success btn-block', :id => 'submit'
.col-md-1
.col-md-4= link_to "Don't Apply Changes", edit_show_path(@show), {:class => 'btn btn-secondary btn-block' }
:javascript
A1.valid_vouchers_change = function() {
if ($('.showdate').is(':checked') && $('.vouchertype').is(':checked')) {
$('#submit').attr('disabled', false);
} else {
$('#submit').attr('disabled', true);
}
}
A1.setup_valid_vouchers_editing = function() {
$('#submit').attr('disabled', true);
$('.showdate, .vouchertype').change(A1.valid_vouchers_change);
}
$(A1.setup_valid_vouchers_editing);