parent
							
								
									27376e2457
								
							
						
					
					
						commit
						dbc1b36b61
					
				
					 4 changed files with 19 additions and 2 deletions
				
			
		|  | @ -18,6 +18,7 @@ module Admin | |||
|       bootstrap_timeline_accounts | ||||
|       flavour | ||||
|       skin | ||||
|       flavour_and_skin | ||||
|       thumbnail | ||||
|       hero | ||||
|       mascot | ||||
|  | @ -54,7 +55,13 @@ module Admin | |||
|     def 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) | ||||
|           upload = SiteUpload.where(var: key).first_or_initialize(var: key) | ||||
|           upload.update(file: value) | ||||
|  |  | |||
|  | @ -80,4 +80,10 @@ class Themes | |||
|   def skins_for(name) | ||||
|     @conf[name]['skin'].keys | ||||
|   end | ||||
| 
 | ||||
|   def flavours_and_skins | ||||
|     flavours.map do |flavour| | ||||
|       [flavour, skins_for(flavour).map{ |skin| [flavour, skin] }] | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -48,4 +48,8 @@ class Form::AdminSettings | |||
|     :custom_css=, | ||||
|     to: Setting | ||||
|   ) | ||||
| 
 | ||||
|   def flavour_and_skin | ||||
|     "#{Setting.flavour}/#{Setting.skin}" | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
|     = f.input :site_title, wrapper: :with_label, label: t('admin.settings.site_title') | ||||
| 
 | ||||
|   .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__column.fields-row__column-6.fields-group | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue