mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2025-02-20 14:54:15 +01:00
(bug) ignored timezone in opening/closing time
This commit is contained in:
parent
1681dbdb76
commit
ef78e4a473
@ -1,5 +1,6 @@
|
||||
# Changelog Fab-manager
|
||||
|
||||
- Fix a bug: timezone is ignored while configuring calendar opening/closing time
|
||||
- Fix a bug: unable to configure RAILS_LOCALE to fr-CA
|
||||
- Fix a bug: unable to fix availabilities for events
|
||||
- Fix a bug: unable to start Fab-manager with message: maximum must be a nonnegative Integer
|
||||
|
@ -17,7 +17,7 @@ class API::SettingsController < API::ApiController
|
||||
error = SettingService.check_before_update({ name: params[:name], value: setting_params[:value] })
|
||||
render status: :unprocessable_entity, json: { error: error } and return if error
|
||||
|
||||
if @setting.save && @setting.history_values.create(value: setting_params[:value], invoicing_profile: current_user.invoicing_profile)
|
||||
if SettingService.save_and_update(@setting, setting_params[:value], current_user)
|
||||
SettingService.run_after_update([@setting])
|
||||
render status: :ok
|
||||
else
|
||||
@ -39,11 +39,8 @@ class API::SettingsController < API::ApiController
|
||||
error = SettingService.check_before_update(setting)
|
||||
if error
|
||||
db_setting.errors.add(:-, "#{I18n.t("settings.#{setting[:name]}")}: #{error}")
|
||||
elsif db_setting.save
|
||||
if db_setting.value != setting[:value] &&
|
||||
db_setting.history_values.create(value: setting[:value], invoicing_profile: current_user.invoicing_profile)
|
||||
updated_settings.push(db_setting)
|
||||
end
|
||||
elsif db_setting.value != setting[:value] && SettingService.save_and_update(db_setting, setting[:value], current_user)
|
||||
updated_settings.push(db_setting)
|
||||
end
|
||||
else
|
||||
db_setting.errors.add(:-, "#{I18n.t("settings.#{setting[:name]}")}: #{I18n.t('settings.locked_setting')}")
|
||||
|
@ -18,6 +18,16 @@ class SettingService
|
||||
check_home_scss(setting)
|
||||
end
|
||||
|
||||
# @param setting [Setting]
|
||||
# @param value [String]
|
||||
# @param operator [User]
|
||||
def save_and_update(setting, value, operator)
|
||||
return false unless setting.save
|
||||
|
||||
val = parse_value(setting.name, value)
|
||||
setting.history_values.create(value: val, invoicing_profile: operator.invoicing_profile)
|
||||
end
|
||||
|
||||
# @param settings [Array<Setting>]
|
||||
def run_after_update(settings)
|
||||
update_theme_stylesheet(settings)
|
||||
@ -35,6 +45,14 @@ class SettingService
|
||||
|
||||
private
|
||||
|
||||
# @param setting [String]
|
||||
# @param value [String]
|
||||
def parse_value(setting, value)
|
||||
return value unless %w[booking_window_start booking_window_end].include?(setting)
|
||||
|
||||
Time.zone.parse(value)
|
||||
end
|
||||
|
||||
# rebuild the theme stylesheet
|
||||
# @param settings [Array<Setting>]
|
||||
def update_theme_stylesheet(settings)
|
||||
@ -44,6 +62,7 @@ class SettingService
|
||||
end
|
||||
|
||||
# validate that the provided SCSS has a valid syntax
|
||||
# @param setting [Hash{Symbol->String}]
|
||||
def check_home_scss(setting)
|
||||
return nil unless setting[:name] == 'home_css'
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user