parent
							
								
									27376e2457
								
							
						
					
					
						commit
						dbc1b36b61
					
				
					 4 changed files with 19 additions and 2 deletions
				
			
		|  | @ -18,6 +18,7 @@ module Admin | ||||||
|       bootstrap_timeline_accounts |       bootstrap_timeline_accounts | ||||||
|       flavour |       flavour | ||||||
|       skin |       skin | ||||||
|  |       flavour_and_skin | ||||||
|       thumbnail |       thumbnail | ||||||
|       hero |       hero | ||||||
|       mascot |       mascot | ||||||
|  | @ -54,7 +55,13 @@ module Admin | ||||||
|     def update |     def update | ||||||
|       authorize :settings, :update? |       authorize :settings, :update? | ||||||
| 
 | 
 | ||||||
|       settings_params.each do |key, value| |       settings = settings_params | ||||||
|  |       flavours_and_skin = settings.delete('flavour_and_skin') | ||||||
|  |       if flavours_and_skin | ||||||
|  |         settings['flavour'], settings['skin'] = flavours_and_skin.split('/', 2) | ||||||
|  |       end | ||||||
|  | 
 | ||||||
|  |       settings.each do |key, value| | ||||||
|         if UPLOAD_SETTINGS.include?(key) |         if UPLOAD_SETTINGS.include?(key) | ||||||
|           upload = SiteUpload.where(var: key).first_or_initialize(var: key) |           upload = SiteUpload.where(var: key).first_or_initialize(var: key) | ||||||
|           upload.update(file: value) |           upload.update(file: value) | ||||||
|  |  | ||||||
|  | @ -80,4 +80,10 @@ class Themes | ||||||
|   def skins_for(name) |   def skins_for(name) | ||||||
|     @conf[name]['skin'].keys |     @conf[name]['skin'].keys | ||||||
|   end |   end | ||||||
|  | 
 | ||||||
|  |   def flavours_and_skins | ||||||
|  |     flavours.map do |flavour| | ||||||
|  |       [flavour, skins_for(flavour).map{ |skin| [flavour, skin] }] | ||||||
|  |     end | ||||||
|  |   end | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -48,4 +48,8 @@ class Form::AdminSettings | ||||||
|     :custom_css=, |     :custom_css=, | ||||||
|     to: Setting |     to: Setting | ||||||
|   ) |   ) | ||||||
|  | 
 | ||||||
|  |   def flavour_and_skin | ||||||
|  |     "#{Setting.flavour}/#{Setting.skin}" | ||||||
|  |   end | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -7,7 +7,7 @@ | ||||||
|     = f.input :site_title, wrapper: :with_label, label: t('admin.settings.site_title') |     = f.input :site_title, wrapper: :with_label, label: t('admin.settings.site_title') | ||||||
| 
 | 
 | ||||||
|   .fields-group |   .fields-group | ||||||
|     = f.input :flavour, collection: Themes.instance.flavours, label_method: lambda { |flavour| I18n.t("flavours.#{flavour}.name", default: flavour) }, wrapper: :with_label, include_blank: false |     = f.input :flavour_and_skin, collection: Themes.instance.flavours_and_skins, group_label_method: lambda { |(flavour, _)| I18n.t("flavours.#{flavour}.name", default: flavour) }, wrapper: :with_label, include_blank: false, as: :grouped_select, label_method: :last, value_method: lambda { |value| value.join('/') }, group_method: :last | ||||||
| 
 | 
 | ||||||
|   .fields-row |   .fields-row | ||||||
|     .fields-row__column.fields-row__column-6.fields-group |     .fields-row__column.fields-row__column-6.fields-group | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue