aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/extensions/gallery_links/db
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/extensions/gallery_links/db')
-rw-r--r--vendor/extensions/gallery_links/db/migrate/1_create_gallery_links_gallery_links.rb30
-rw-r--r--vendor/extensions/gallery_links/db/migrate/2_replace_title_with_date_bands_venue.rb37
-rw-r--r--vendor/extensions/gallery_links/db/seeds.rb25
3 files changed, 92 insertions, 0 deletions
diff --git a/vendor/extensions/gallery_links/db/migrate/1_create_gallery_links_gallery_links.rb b/vendor/extensions/gallery_links/db/migrate/1_create_gallery_links_gallery_links.rb
new file mode 100644
index 0000000..b55d337
--- /dev/null
+++ b/vendor/extensions/gallery_links/db/migrate/1_create_gallery_links_gallery_links.rb
@@ -0,0 +1,30 @@
+class CreateGalleryLinksGalleryLinks < ActiveRecord::Migration
+
+ def up
+ create_table :refinery_gallery_links do |t|
+ t.string :title
+ t.string :url
+ t.string :photographer
+ t.text :description
+ t.integer :image_id
+ t.integer :position
+
+ t.timestamps
+ end
+
+ end
+
+ def down
+ if defined?(::Refinery::UserPlugin)
+ ::Refinery::UserPlugin.destroy_all({:name => "refinerycms-gallery_links"})
+ end
+
+ if defined?(::Refinery::Page)
+ ::Refinery::Page.delete_all({:link_url => "/gallery_links/gallery_links"})
+ end
+
+ drop_table :refinery_gallery_links
+
+ end
+
+end
diff --git a/vendor/extensions/gallery_links/db/migrate/2_replace_title_with_date_bands_venue.rb b/vendor/extensions/gallery_links/db/migrate/2_replace_title_with_date_bands_venue.rb
new file mode 100644
index 0000000..87492b6
--- /dev/null
+++ b/vendor/extensions/gallery_links/db/migrate/2_replace_title_with_date_bands_venue.rb
@@ -0,0 +1,37 @@
+class ReplaceTitleWithDateBandsVenue < ActiveRecord::Migration
+ def up
+ add_column :refinery_gallery_links, :date, :date, null: false, default: '2000-01-01', index: true
+ add_column :refinery_gallery_links, :bands, :string, null: false, default: 'Unknown bands', index: true
+ add_column :refinery_gallery_links, :venue, :string, index: true
+
+ Refinery::GalleryLinks::GalleryLink.all.each do |g|
+ m = g.title.match /^(.+) (\d{2}\/\d{2}\/\d{2}) @ ([^.]+).$/
+ if m
+ g.date = Date.strptime(m[2], '%d/%m/%y')
+ g.bands = m[1]
+ g.venue = m[3]
+ else
+ g.date = Date.today
+ g.bands = g.title
+ g.venue = nil
+ end
+
+ g.save!
+ end
+
+ remove_column :refinery_gallery_links, :title
+ end
+
+ def down
+ add_column :refineru_gallery_links, title, index: true
+
+ Refinery::GalleryLinks::GalleryLink.all.each do |g|
+ g.title = "#{g.bands} #{g.strftime('%d/%m/%y')} @ #{g.venue}."
+ g.save!
+ end
+
+ remove_column :refinery_gallery_links, :venue
+ remove_column :refinery_gallery_links, :bands
+ remove_column :refinery_gallery_links, :date
+ end
+end
diff --git a/vendor/extensions/gallery_links/db/seeds.rb b/vendor/extensions/gallery_links/db/seeds.rb
new file mode 100644
index 0000000..65e3615
--- /dev/null
+++ b/vendor/extensions/gallery_links/db/seeds.rb
@@ -0,0 +1,25 @@
+Refinery::I18n.frontend_locales.each do |lang|
+ I18n.locale = lang
+
+ if defined?(Refinery::User)
+ Refinery::User.all.each do |user|
+ if user.plugins.where(:name => 'refinerycms-gallery_links').blank?
+ user.plugins.create(:name => 'refinerycms-gallery_links',
+ :position => (user.plugins.maximum(:position) || -1) +1)
+ end
+ end
+ end
+
+ url = "/gallery_links"
+ if defined?(Refinery::Page) && Refinery::Page.where(:link_url => url).empty?
+ page = Refinery::Page.create(
+ :title => 'Gallery Links',
+ :link_url => url,
+ :deletable => false,
+ :menu_match => "^#{url}(\/|\/.+?|)$"
+ )
+ Refinery::Pages.default_parts.each_with_index do |default_page_part, index|
+ page.parts.create(:title => default_page_part, :body => nil, :position => index)
+ end
+ end
+end