Improve code in items, pages, links
This commit is contained in:
		
							parent
							
								
									cf4a6c0b35
								
							
						
					
					
						commit
						0b71714d44
					
				|  | @ -15,21 +15,6 @@ class Admin::ItemsController < ApplicationController | ||||||
|       @item = get_homepage |       @item = get_homepage | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #TODO |  | ||||||
| # Allow to move items down and up different parents |  | ||||||
| #  def up |  | ||||||
| #    @item = Item.find(params[:id]) |  | ||||||
| #    @item.move_higher |  | ||||||
| #    redirect_to admin_items_url( :parent_name => @item.parent_name ) |  | ||||||
| #  end |  | ||||||
| #   |  | ||||||
| #  def down |  | ||||||
| #    @item = Item.find(params[:id]) |  | ||||||
| #    @item.move_lower |  | ||||||
| #    redirect_to admin_items_url( :parent_name => @item.parent_name ) |  | ||||||
| #  end |  | ||||||
|    |    | ||||||
|   protected |   protected | ||||||
|    |    | ||||||
|  |  | ||||||
|  | @ -12,13 +12,11 @@ class Admin::LinksController < ApplicationController | ||||||
|    |    | ||||||
|   def new |   def new | ||||||
|     @item = Link.new |     @item = Link.new | ||||||
|     @item.is_published = true |     @item.parent = Page.find(params[:parent_id]) rescue nil | ||||||
|     @item.parent_id = Page.find(params[:parent_id]).id rescue nil |  | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def edit |   def edit | ||||||
|     @item = Link.find(params[:id]) |     @item = Link.find(params[:id]) | ||||||
|     @i18n_variable = @item.i18n_variable |  | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def create |   def create | ||||||
|  | @ -34,7 +32,6 @@ class Admin::LinksController < ApplicationController | ||||||
|       end |       end | ||||||
|     else |     else | ||||||
|       flash.now[:error] = t('admin.create_error_link') |       flash.now[:error] = t('admin.create_error_link') | ||||||
|       @i18n_variable = @item.i18n_variable |  | ||||||
|       render :action => "new" |       render :action => "new" | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  | @ -52,7 +49,6 @@ class Admin::LinksController < ApplicationController | ||||||
|       end |       end | ||||||
|     else |     else | ||||||
|       flash.now[:error] = t('admin.update_error_link') |       flash.now[:error] = t('admin.update_error_link') | ||||||
|       @i18n_variable = @item.i18n_variable |  | ||||||
|       render :action => "edit" |       render :action => "edit" | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  | @ -19,19 +19,17 @@ class Admin::PagesController < ApplicationController | ||||||
| 
 | 
 | ||||||
|   def new |   def new | ||||||
|     @item = Page.new |     @item = Page.new | ||||||
|  |     @item.parent = Item.find(params[:parent_id]) rescue nil | ||||||
|     @apps = ModuleApp.all |     @apps = ModuleApp.all | ||||||
|     @item.is_published = true |  | ||||||
|     @item.parent_id = @parent_item.id rescue nil |  | ||||||
|     @designs = Design.all.entries |     @designs = Design.all.entries | ||||||
|     @default_design = Design.first |     @design = Design.first | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def edit |   def edit | ||||||
|     @item = Page.find(params[:id]) |     @item = Page.find(params[:id]) | ||||||
|     @apps = ModuleApp.all |     @apps = ModuleApp.all | ||||||
|     @i18n_variable = @item.i18n_variable |  | ||||||
|     @designs = Design.all.entries |     @designs = Design.all.entries | ||||||
|     @design = @item.design |     @design = @item.design ? @item.design : @designs.first | ||||||
|     @app_frontend_urls = @item.module_app.app_pages if @item.module_app |     @app_frontend_urls = @item.module_app.app_pages if @item.module_app | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|  | @ -47,7 +45,9 @@ class Admin::PagesController < ApplicationController | ||||||
|       end |       end | ||||||
|     else |     else | ||||||
|       flash.now[:error] = t('admin.create_error_page') |       flash.now[:error] = t('admin.create_error_page') | ||||||
|       @i18n_variable = @item.i18n_variable |       @apps = ModuleApp.all | ||||||
|  |       @designs = Design.all.entries | ||||||
|  |       @design = Design.first | ||||||
|       render :action => "new" |       render :action => "new" | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  | @ -13,13 +13,16 @@ class PagesController < ApplicationController | ||||||
|    |    | ||||||
|   def show   |   def show   | ||||||
|      #begin   |      #begin   | ||||||
|        item = Item.first(:conditions => {:full_name => params[:page_name]})  |        @item = Item.first(:conditions => {:full_name => params[:page_name]}) | ||||||
|        case item._type |        if @item.is_published | ||||||
|          when 'Page'            |          case @item._type | ||||||
|            @item = item |            when 'Page'     | ||||||
|            render_page(params[:id]) |              render_page(params[:id]) | ||||||
|          when 'Link' |            when 'Link' | ||||||
|            redirect_to "http://#{item[:url]}" |              redirect_to "http://#{@item[:url]}" | ||||||
|  |          end | ||||||
|  |        else | ||||||
|  |          render :file => "#{Rails.root}/public/404.html", :status => :not_found | ||||||
|        end |        end | ||||||
|      #rescue |      #rescue | ||||||
|      #  render :file => "#{Rails.root}/public/404.html", :status => :not_found |      #  render :file => "#{Rails.root}/public/404.html", :status => :not_found | ||||||
|  |  | ||||||
|  | @ -5,15 +5,13 @@ class Item | ||||||
|    |    | ||||||
|   field :name, :index => true |   field :name, :index => true | ||||||
|   field :full_name, :index => true |   field :full_name, :index => true | ||||||
|   field :parent_id, :index => true |  | ||||||
|   field :parent_name |  | ||||||
|   field :position, :type => Integer |   field :position, :type => Integer | ||||||
|   field :is_published, :type => Boolean, :default => true, :index => true |   field :is_published, :type => Boolean, :default => false, :index => true | ||||||
|   |   | ||||||
|   validates_format_of :name, :with => /^[0-9a-zA-Z\-_]+$/ |   validates_format_of :name, :with => /^[0-9a-zA-Z\-_]+$/ | ||||||
|   validates :name, :exclusion => { :in => LIST[:forbidden_item_names] } |   validates :name, :exclusion => { :in => LIST[:forbidden_item_names] } | ||||||
|   validates_uniqueness_of :name, :scope => :parent_id |   validates_uniqueness_of :name, :scope => :parent_id | ||||||
|   validates_presence_of :name, :full_name, :position, :is_published |   validates_presence_of :name, :full_name, :position | ||||||
|    |    | ||||||
|   belongs_to :parent, :class_name => "Item" |   belongs_to :parent, :class_name => "Item" | ||||||
|   has_one :i18n_variable, :as => :language_value, :autosave => true, :dependent => :destroy |   has_one :i18n_variable, :as => :language_value, :autosave => true, :dependent => :destroy | ||||||
|  | @ -47,9 +45,6 @@ class Item | ||||||
|       self.position = (max_page)? max_page + 1 : 1 |       self.position = (max_page)? max_page + 1 : 1 | ||||||
|     end |     end | ||||||
|      |      | ||||||
|     # Set the parent value |  | ||||||
|     self.parent_name = Item.first(:conditions => {:id => self.parent_id} ).name rescue nil |  | ||||||
|      |  | ||||||
|     # Build the full_name from the ancestors array |     # Build the full_name from the ancestors array | ||||||
|     full_node = self.ancestors.map{ |a| a.name }.push( self.name ) |     full_node = self.ancestors.map{ |a| a.name }.push( self.name ) | ||||||
|     # Remove root node if not root |     # Remove root node if not root | ||||||
|  |  | ||||||
|  | @ -1,16 +1,18 @@ | ||||||
| <%= f.error_messages %> | <%= f.error_messages %> | ||||||
| <%= f.hidden_field :parent_id %> | <%= f.hidden_field :parent, :value => @item.parent.id %> | ||||||
| 
 | 
 | ||||||
| <p> | <p> | ||||||
| <%= f.label :name, "Name" %> | <%= f.label :name, "Name" %> | ||||||
| <%= f.text_field :name, :class => 'text' %> | <%= f.text_field :name, :class => 'text' %> | ||||||
| </p> | </p> | ||||||
| 
 | 
 | ||||||
| <% @site_valid_locales.each do |locale| %> | <%= f.fields_for :i18n_variable, (@item.new_record? ? @item.build_i18n_variable : @item.i18n_variable) do |f| %> | ||||||
|   <p> |   <% @site_valid_locales.each do |locale| %> | ||||||
|   <%= label_tag "link[title]", "#{t('admin.title')} #{locale}" %> |     <p> | ||||||
|   <%= text_field_tag "link[i18n_variable][#{locale}]", (@i18n_variable[locale] if @i18n_variable), :class => 'text' %> | 			<%= f.label :locale, "#{t('admin.title')} #{I18nVariable.from_locale(locale)}" %> | ||||||
|   </p> | 			<%= f.text_field locale %> | ||||||
|  | 		</p> | ||||||
|  |   <% end %> | ||||||
| <% end %> | <% end %> | ||||||
| 
 | 
 | ||||||
| <p> | <p> | ||||||
|  |  | ||||||
|  | @ -1,34 +1,27 @@ | ||||||
| <%= f.error_messages %> | <%= f.error_messages %> | ||||||
| <%= f.hidden_field :parent_id %> | <%= f.hidden_field :parent, :value => @item.parent.id %> | ||||||
| 
 | 
 | ||||||
| <p> | <p> | ||||||
| <%= f.label :name, t('admin.name') %> | <%= f.label :name, t('admin.name') %> | ||||||
| <%= f.text_field :name, :class => 'text' %> | <%= f.text_field :name, :class => 'text' %> | ||||||
| </p> | </p> | ||||||
| 
 | 
 | ||||||
| 
 | <%= f.fields_for :i18n_variable, (@item.new_record? ? @item.build_i18n_variable : @item.i18n_variable) do |f| %> | ||||||
| <% @site_valid_locales.each do |locale| %> |   <% @site_valid_locales.each do |locale| %> | ||||||
|   <p> |     <p> | ||||||
|   <%= label_tag "page[title]", "#{t('admin.title')} #{locale}" %> | 			<%= f.label :locale, "#{t('admin.title')} #{I18nVariable.from_locale(locale)}" %> | ||||||
|   <%= text_field_tag "page[i18n_variable][#{locale}]", (@i18n_variable[locale] if @i18n_variable), :class => 'text' %> | 			<%= f.text_field locale %> | ||||||
|   </p> | 		</p> | ||||||
|  |   <% end %> | ||||||
| <% end %> | <% end %> | ||||||
| 
 | 
 | ||||||
| <p> | <p> | ||||||
| 	<%= t('admin.design_name') %> | 	<%= t('admin.design_name') %> | ||||||
| 	<% if @design %> | 	<%= f.collection_select :design, @designs, :id, :title, {:selected => @design.id}, {:rel => admin_pages_path} %> | ||||||
| 		<%= f.collection_select :design_id, @designs, :id, :title, {}, :rel => admin_pages_path %> |  | ||||||
| 	<% else %> |  | ||||||
| 		<%= f.select :design_id, @designs.collect { |d| [d.title, d.id] }, {:selected => @default_design.id}, {:rel => admin_pages_path} %> |  | ||||||
| 	<% end %> |  | ||||||
| </p> | </p> | ||||||
| <p> | <p> | ||||||
| 	<%= t('admin.theme') %> | 	<%= t('admin.theme') %> | ||||||
| 	<% if @design %> | 	<%= f.select :theme_id, @design.themes.collect { |t| [t.name.capitalize, t.id] }, :include_blank => true %> | ||||||
| 		<%= f.select :theme_id, @design.themes.collect { |t| [t.name.capitalize, t.id] }, :include_blank => true %> |  | ||||||
| 	<% else %> |  | ||||||
| 		<%= f.select :theme_id, @default_design.themes.collect { |t| [t.name.capitalize, t.id] }, :include_blank => true %> |  | ||||||
| 	<% end %> |  | ||||||
| </p> | </p> | ||||||
| <p> | <p> | ||||||
| 	<%= t('admin.module_app') %> | 	<%= t('admin.module_app') %> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue