added method to model before create

This commit is contained in:
Harry Bomrah 2014-07-18 18:03:18 +08:00
parent 2ed5d10b9d
commit 655e7d7d3f
3 changed files with 12 additions and 5 deletions

View File

@ -231,7 +231,6 @@ class Admin::ImportController < OrbitAdminController
page_id = page_id + "_" + (number + 1).to_s page_id = page_id + "_" + (number + 1).to_s
end end
p = Page.new(:page_id => page_id, :parent_page_id => Page.root.id, :page_type => "page", :url => "/#{page_id}", :module => "page_content", :enabled_for => ["en", "zh_tw"], :menu_enabled_for => ["en", "zh_tw"], :enabled_for_sitemap => ["en","zh_tw"], :name_translations => {"en"=>page["title"]["en"], "zh_tw" => page["title"]["zh_tw"]},:rss2_id => page["page_id"]) p = Page.new(:page_id => page_id, :parent_page_id => Page.root.id, :page_type => "page", :url => "/#{page_id}", :module => "page_content", :enabled_for => ["en", "zh_tw"], :menu_enabled_for => ["en", "zh_tw"], :enabled_for_sitemap => ["en","zh_tw"], :name_translations => {"en"=>page["title"]["en"], "zh_tw" => page["title"]["zh_tw"]},:rss2_id => page["page_id"])
p.number = Page.root.child_page.max(:number) + 1
p.save p.save
en = smart_downloader(page["content"]["en"],data["site_url"]) en = smart_downloader(page["content"]["en"],data["site_url"])
zh_tw = smart_downloader(page["content"]["zh_tw"],data["site_url"]) zh_tw = smart_downloader(page["content"]["zh_tw"],data["site_url"])
@ -254,7 +253,6 @@ class Admin::ImportController < OrbitAdminController
case childpage["type"] case childpage["type"]
when "page" when "page"
cp = Page.new(:page_id => p_id, :parent_page_id => p.id, :page_type => "page", :url => "/#{p.page_id}/#{p_id}", :module => "page_content", "enabled_for" => ["en", "zh_tw"], :menu_enabled_for => ["en", "zh_tw"], :enabled_for_sitemap => ["en","zh_tw"], :name_translations => {"en"=>childpage["title"]["en"], "zh_tw" => childpage["title"]["zh_tw"]},:rss2_id => childpage["page_id"]) cp = Page.new(:page_id => p_id, :parent_page_id => p.id, :page_type => "page", :url => "/#{p.page_id}/#{p_id}", :module => "page_content", "enabled_for" => ["en", "zh_tw"], :menu_enabled_for => ["en", "zh_tw"], :enabled_for_sitemap => ["en","zh_tw"], :name_translations => {"en"=>childpage["title"]["en"], "zh_tw" => childpage["title"]["zh_tw"]},:rss2_id => childpage["page_id"])
cp.number = p.child_page.max(:number) + 1
cp.save cp.save
en = smart_downloader(childpage["content"]["en"],data["site_url"]) en = smart_downloader(childpage["content"]["en"],data["site_url"])
zh_tw = smart_downloader(childpage["content"]["zh_tw"],data["site_url"]) zh_tw = smart_downloader(childpage["content"]["zh_tw"],data["site_url"])
@ -262,7 +260,6 @@ class Admin::ImportController < OrbitAdminController
page_context.save page_context.save
when "exturl" when "exturl"
cp = Page.new(:page_id => p_id, :parent_page_id => p.id, :page_type => "link", "url" => "/#{p.page_id}/#{p_id}", :enabled_for => ["en", "zh_tw"], :menu_enabled_for => ["en", "zh_tw"], :enabled_for_sitemap => ["en","zh_tw"], :name_translations => {"en"=>childpage["title"]["en"], "zh_tw" => childpage["title"]["zh_tw"]}, :external_url_translations => {"en" => childpage["url"], "zh_tw" => childpage["url"]},:rss2_id => childpage["page_id"]) cp = Page.new(:page_id => p_id, :parent_page_id => p.id, :page_type => "link", "url" => "/#{p.page_id}/#{p_id}", :enabled_for => ["en", "zh_tw"], :menu_enabled_for => ["en", "zh_tw"], :enabled_for_sitemap => ["en","zh_tw"], :name_translations => {"en"=>childpage["title"]["en"], "zh_tw" => childpage["title"]["zh_tw"]}, :external_url_translations => {"en" => childpage["url"], "zh_tw" => childpage["url"]},:rss2_id => childpage["page_id"])
cp.number = p.child_page.max(:number) + 1
cp.save cp.save
when "file" when "file"
asset = Asset.new asset = Asset.new
@ -273,7 +270,6 @@ class Admin::ImportController < OrbitAdminController
@user.save @user.save
external_url = asset.data.url external_url = asset.data.url
cp = Page.new(:page_id => p_id, :parent_page_id => p.id, :page_type => "link", "url" => "/#{p.page_id}/#{p_id}", :enabled_for => ["en", "zh_tw"], :menu_enabled_for => ["en", "zh_tw"], :enabled_for_sitemap => ["en","zh_tw"], :name_translations => {"en"=>childpage["title"]["en"], "zh_tw" => childpage["title"]["zh_tw"]}, :external_url_translations => {"en" => external_url, "zh_tw" => external_url},:rss2_id => childpage["page_id"]) cp = Page.new(:page_id => p_id, :parent_page_id => p.id, :page_type => "link", "url" => "/#{p.page_id}/#{p_id}", :enabled_for => ["en", "zh_tw"], :menu_enabled_for => ["en", "zh_tw"], :enabled_for_sitemap => ["en","zh_tw"], :name_translations => {"en"=>childpage["title"]["en"], "zh_tw" => childpage["title"]["zh_tw"]}, :external_url_translations => {"en" => external_url, "zh_tw" => external_url},:rss2_id => childpage["page_id"])
cp.number = p.child_page.max(:number) + 1
cp.save cp.save
end end
end end

View File

@ -320,7 +320,6 @@ class PagesController < ApplicationController
p["external_url_translations"]["en"] = p["external_url_translations"]["en"].sub("http://" + request.host_with_port,"") p["external_url_translations"]["en"] = p["external_url_translations"]["en"].sub("http://" + request.host_with_port,"")
p["external_url_translations"]["zh_tw"] = p["external_url_translations"]["zh_tw"].sub("http://" + request.host_with_port,"") p["external_url_translations"]["zh_tw"] = p["external_url_translations"]["zh_tw"].sub("http://" + request.host_with_port,"")
end end
p[:number] = page.child_page.max(:number) + 1
p p
end end

View File

@ -27,6 +27,18 @@ class Page
has_many :child_page, :class_name => 'Page', :inverse_of => :parent_page, :dependent => :destroy has_many :child_page, :class_name => 'Page', :inverse_of => :parent_page, :dependent => :destroy
belongs_to :parent_page, :class_name => 'Page', :inverse_of => :child_page belongs_to :parent_page, :class_name => 'Page', :inverse_of => :child_page
before_create :assign_page_number
def assign_page_number
parent_page = self.parent_page
if parent_page.child_page.count == 0
number = 0
else
number = parent_page.child_page.max(:number) + 1
end
self.number = number
end
def to_param def to_param
page_id.parameterize page_id.parameterize
end end