rearrange helper functions

This commit is contained in:
hitman 2017-03-10 02:18:26 +05:30 committed by Stella Rouzi
parent bb0857cbad
commit c6203a4ed4
4 changed files with 38 additions and 59 deletions

View file

@ -1,14 +1,36 @@
module ApplicationHelper module ApplicationHelper
## # Returns a string build from the start and end date of the given conference.
# Checks if the voting has already started, or if it has already ended
# #
def voting_open_or_close(program) # If the conference is only one day long
return if program.voting_period? # * %B %d %Y (January 17 2014)
if program.voting_start_date > Time.current # If the conference starts and ends in the same month and year
return 'Voting period has not started yet!' # * %B %d - %d, %Y (January 17 - 21 2014)
else # voting_end_date > Date.today because voting_start_date < voting_end_date # If the conference ends in another month but in the same year
return 'Voting period is over!' # * %B %d - %B %d, %Y (January 31 - February 02 2014)
# All other cases
# * %B %d, %Y - %B %d, %Y (December 30, 2013 - January 02, 2014)
def date_string(start_date, end_date)
startstr = 'Unknown - '
endstr = 'Unknown'
# When the conference is in the same month
if start_date.month == end_date.month && start_date.year == end_date.year
if start_date.day == end_date.day
startstr = start_date.strftime('%B %d')
endstr = end_date.strftime(' %Y')
else
startstr = start_date.strftime('%B %d - ')
endstr = end_date.strftime('%d, %Y')
end end
elsif start_date.month != end_date.month && start_date.year == end_date.year
startstr = start_date.strftime('%B %d - ')
endstr = end_date.strftime('%B %d, %Y')
else
startstr = start_date.strftime('%B %d, %Y - ')
endstr = end_date.strftime('%B %d, %Y')
end
result = startstr + endstr
result
end end
# Set resource_name for devise so that we can call the devise help links (views/devise/shared/_links) from anywhere (eg sign_up form in proposals#new) # Set resource_name for devise so that we can call the devise help links (views/devise/shared/_links) from anywhere (eg sign_up form in proposals#new)
@ -90,6 +112,14 @@ module ApplicationHelper
object object
end end
def normalize_array_length(hashmap, length)
hashmap.each do |_, value|
if value.length < length
value.fill(value[-1], value.length...length)
end
end
end
# Same as redirect_to(:back) if there is a valid HTTP referer, otherwise redirect_to() # Same as redirect_to(:back) if there is a valid HTTP referer, otherwise redirect_to()
def redirect_back_or_to(options = {}, response_status = {}) def redirect_back_or_to(options = {}, response_status = {})
if request.env['HTTP_REFERER'] if request.env['HTTP_REFERER']

View file

@ -2,41 +2,6 @@ module DateTimeHelper
## ##
# Includes functions related to date or time manipulations # Includes functions related to date or time manipulations
## ##
##
# Returns a string build from the start and end date of the given conference.
#
# If the conference is only one day long
# * %B %d %Y (January 17 2014)
# If the conference starts and ends in the same month and year
# * %B %d - %d, %Y (January 17 - 21 2014)
# If the conference ends in another month but in the same year
# * %B %d - %B %d, %Y (January 31 - February 02 2014)
# All other cases
# * %B %d, %Y - %B %d, %Y (December 30, 2013 - January 02, 2014)
def date_string(start_date, end_date)
startstr = 'Unknown - '
endstr = 'Unknown'
# When the conference is in the same month
if start_date.month == end_date.month && start_date.year == end_date.year
if start_date.day == end_date.day
startstr = start_date.strftime('%B %d')
endstr = end_date.strftime(' %Y')
else
startstr = start_date.strftime('%B %d - ')
endstr = end_date.strftime('%d, %Y')
end
elsif start_date.month != end_date.month && start_date.year == end_date.year
startstr = start_date.strftime('%B %d - ')
endstr = end_date.strftime('%B %d, %Y')
else
startstr = start_date.strftime('%B %d, %Y - ')
endstr = end_date.strftime('%B %d, %Y')
end
result = startstr + endstr
result
end
## ##
# Gets an EventType object, and returns its length in timestamp format (HH:MM) # Gets an EventType object, and returns its length in timestamp format (HH:MM)
# ====Gets # ====Gets

View file

@ -195,12 +195,5 @@ module FormatHelper
def quantity_left_of(resource) def quantity_left_of(resource)
return '-/-' if resource.quantity.blank? return '-/-' if resource.quantity.blank?
"#{resource.quantity - resource.used}/#{resource.quantity}" "#{resource.quantity - resource.used}/#{resource.quantity}"
def normalize_array_length(hashmap, length)
hashmap.each do |_, value|
if value.length < length
value.fill(value[-1], value.length...length)
end
end
end end
end end

View file

@ -30,13 +30,4 @@ module PathsHelper
return '' return ''
end end
end end
# Same as redirect_to(:back) if there is a valid HTTP referer, otherwise redirect_to()
def redirect_back_or_to(options = {}, response_status = {})
if request.env['HTTP_REFERER']
redirect_to :back
else
redirect_to options, response_status
end
end
end end