trusty-festivity-extension 2.3.30 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 098a49fc04df7bc38d1e93865e35fc9f9d1e4896
4
- data.tar.gz: 63bfdc0d8430928df930a025e94e423daad93a86
3
+ metadata.gz: 25cbd6ac174c98114c89ec39479ea0faa321ec3c
4
+ data.tar.gz: 46ffd1cb6a41bdbb55ce9479ab0b9984518f262f
5
5
  SHA512:
6
- metadata.gz: 303c499f84765eeeb971adb2e8e697792d7e4c87b26dbbd0b382cf0db72d6d88a1034eb166ac9229d3e85d2899b839f0c5b46ee6a105c76af230bc9dbd5cc5ac
7
- data.tar.gz: b88c4cb1c98489122c6f30ee82748c235b0f6a138bcc2a68cd48b15c3d1fbf9abd04d0db3f73591f7ffc59ccb6fdeb5ca931bae44dd9fc66c65779471ac9a0c8
6
+ metadata.gz: e18db3d404a06616b162a59ede39e2a1a042528d885735734f7fbdf1bf753025146b3be381ddaed90a2ac2c889b1dcb64763e151aed087336f203cee9496f65c
7
+ data.tar.gz: 25e9fd0d52df46944ff5f50b33a2228640f661773e607687cd1afdf96de2ec482983b5f6045aa6c0d4d6e992dea550138497dd198bbff8d697c01c233abf3564
@@ -29,6 +29,7 @@
29
29
  .button {
30
30
  @include button-subtle-list;
31
31
  background-color: white;
32
+ margin-bottom: 1em;
32
33
  }
33
34
 
34
35
  }
@@ -0,0 +1,53 @@
1
+ .subnav {
2
+ @include divider-top;
3
+ @include pie-clearfix;
4
+ clear: both;
5
+
6
+ @include breakpoint($breakpoint-l) {
7
+ margin-top: 4em;
8
+ border-bottom: 0 none;
9
+ padding-bottom: 0;
10
+ }
11
+
12
+ .subnav-item {
13
+ @include divider-bottom;
14
+ }
15
+
16
+ .subnav-item-media {
17
+ margin-bottom: 1.5em;
18
+ }
19
+
20
+ .subnav-item-title {
21
+ @include heading-2;
22
+ margin-bottom:0.15em;
23
+ }
24
+
25
+ .subnav-item-tags {
26
+ list-style: none;
27
+ margin: 0;
28
+
29
+ li {
30
+ margin-bottom: 0.5em;
31
+ @include breakpoint($breakpoint-xxs) {
32
+ display: inline-block;
33
+ margin-right: 0.5em;
34
+ margin-bottom:0;
35
+ }
36
+
37
+ @include breakpoint($breakpoint-l) {
38
+ display: block;
39
+ margin-right: 0;
40
+ }
41
+
42
+ @include breakpoint($breakpoint-xl) {
43
+ display: inline-block;
44
+ margin-right: 1em;
45
+ }
46
+ }
47
+
48
+ a {
49
+ @include button-subtle-list;
50
+ }
51
+ }
52
+
53
+ }
@@ -0,0 +1,31 @@
1
+ .subnav-one-column {
2
+
3
+ .subnav-item {
4
+
5
+ @include breakpoint($breakpoint-l) {
6
+ @include column(12);
7
+ }
8
+
9
+ .subnav-item-media {
10
+ @include breakpoint($breakpoint-l) {
11
+ @include column(3);
12
+ border-bottom: 0 none;
13
+ padding-bottom: 0;
14
+ }
15
+ }
16
+
17
+ .subnav-item-title {
18
+ padding-bottom: 1em;
19
+ }
20
+
21
+ .subnav-item-body {
22
+ @include breakpoint($breakpoint-l) {
23
+ @include column(8);
24
+ border-bottom: 0 none;
25
+ padding-bottom: 0;
26
+ }
27
+ margin-bottom: 1.5em;
28
+ }
29
+
30
+ }
31
+ }
@@ -1,51 +1,10 @@
1
1
  .subnav-three-column {
2
- @include divider-top;
3
- @include pie-clearfix;
4
- clear: both;
5
-
6
- @include breakpoint($breakpoint-l) {
7
- margin-top: 4em;
8
- }
9
2
 
10
3
  .subnav-item {
11
- @include divider-bottom;
12
4
 
13
5
  @include breakpoint($breakpoint-l) {
14
6
  @include column(4);
15
7
  @include last-col3;
16
- border-bottom: 0 none;
17
- padding-bottom: 0;
18
- }
19
- .subnav-item-media {
20
- margin-bottom: 1.5em;
21
- }
22
-
23
- .subnav-item-tags {
24
- list-style: none;
25
- margin: 0;
26
-
27
- li {
28
- margin-bottom: 0.5em;
29
- @include breakpoint($breakpoint-xxs) {
30
- display: inline-block;
31
- margin-right: 0.5em;
32
- margin-bottom:0;
33
- }
34
-
35
- @include breakpoint($breakpoint-l) {
36
- display: block;
37
- margin-right: 0;
38
- }
39
-
40
- @include breakpoint($breakpoint-xl) {
41
- display: inline-block;
42
- margin-right: 1em;
43
- }
44
- }
45
-
46
- a {
47
- @include button-subtle-list;
48
- }
49
8
  }
50
9
 
51
10
  }
@@ -0,0 +1,11 @@
1
+ .subnav-two-column {
2
+
3
+ .subnav-item {
4
+
5
+ @include breakpoint($breakpoint-l) {
6
+ @include column(6);
7
+ @include last-col2;
8
+ }
9
+
10
+ }
11
+ }
@@ -22,6 +22,9 @@
22
22
  @import "contexts/location";
23
23
  @import "contexts/related-events";
24
24
  @import "contexts/callouts";
25
+ @import "contexts/subnav";
26
+ @import "contexts/subnav_one_column";
27
+ @import "contexts/subnav_two_column";
25
28
  @import "contexts/subnav_three_column";
26
29
 
27
30
  @import "modules/navigation";
@@ -20,6 +20,9 @@
20
20
  @import "contexts/location";
21
21
  @import "contexts/related-events";
22
22
  @import "contexts/callouts";
23
+ @import "contexts/subnav";
24
+ @import "contexts/subnav_one_column";
25
+ @import "contexts/subnav_two_column";
23
26
  @import "contexts/subnav_three_column";
24
27
 
25
28
  @import "modules/navigation";
@@ -50,22 +50,27 @@
50
50
  }
51
51
  .event-tags {
52
52
  li {
53
- margin-bottom: 0.5em;
54
- @include breakpoint($breakpoint-xxs) {
55
- display: inline-block;
56
- margin-right: 0.5em;
57
- margin-bottom:0;
58
- }
53
+ margin-bottom: 0.5em;
54
+ @include breakpoint($breakpoint-xxs) {
55
+ display: inline-block;
56
+ margin-right: 0.5em;
57
+ margin-bottom:0;
58
+ }
59
59
 
60
- @include breakpoint($breakpoint-l) {
61
- display: block;
62
- margin-right: 0;
63
- }
60
+ @include breakpoint($breakpoint-m) {
61
+ margin-top: 1em;
62
+ }
64
63
 
65
- @include breakpoint($breakpoint-xl) {
66
- display: inline-block;
67
- margin-right: 1em;
68
- }
64
+ @include breakpoint($breakpoint-l) {
65
+ display: block;
66
+ margin-right: 0;
67
+ }
68
+
69
+ @include breakpoint($breakpoint-xl) {
70
+ display: inline-block;
71
+ margin-right: 1em;
72
+ margin-top: 0;
73
+ }
69
74
  }
70
75
 
71
76
  a {
@@ -0,0 +1,28 @@
1
+ class VanityUrlPage < Page
2
+
3
+ def clean_target_url
4
+ (self.target_url.match('http://') || self.target_url.match('https://')) ? self.target_url : VanityUrlPage.clean_path(self.target_url)
5
+ end
6
+
7
+ class << self
8
+
9
+ def find_vanity_url_by_path(path, live = true)
10
+ vanity_url_page = Page.current_site.homepage.children.find_by_slug('vanity-urls')
11
+ vanity_pages = vanity_url_page.children.where("vanity_url like '%#{path}%'")
12
+ vanity_pages.each do |vanity_page|
13
+ return vanity_page if clean_comparison_path(path).downcase == clean_comparison_path(vanity_page.vanity_url).downcase
14
+ end
15
+ nil
16
+ end
17
+
18
+ def clean_comparison_path(path)
19
+ "#{clean_path(path)}/"
20
+ end
21
+
22
+ def clean_path(path)
23
+ "/#{path.to_s.strip}".gsub(%r{//+}, '/')
24
+ end
25
+
26
+ end
27
+
28
+ end
@@ -0,0 +1,23 @@
1
+ - unless @page.is_a?(VanityUrlPage)
2
+ .fieldset#content
3
+ %label Page Redirect
4
+ %br
5
+ %em
6
+ If this page has expired and you would like all traffic redirected to a new page, please enter the new url below:
7
+ %br
8
+ = label :page, :redirect_url, "Redirect URL"
9
+ = text_field :page, :redirect_url, :size => 100
10
+ %br
11
+
12
+ - if @page.is_a?(VanityUrlPage)
13
+ %br
14
+ %hr
15
+ .vanity_url
16
+ = label :page, :vanity_url, "Vanity URL"
17
+ = text_field :page, :vanity_url, :size => 100
18
+ %br
19
+ .target_url
20
+ = label :page, :target_url, "Target URL"
21
+ = text_field :page, :target_url, :size => 100
22
+ %br
23
+ %br
@@ -0,0 +1,3 @@
1
+ %section{class: "subnav #{subnav_class}"}
2
+ - current_page.children.each_with_index do |page, index|
3
+ = render partial: 'navigation/subnav_item', locals: {page: page}
@@ -5,7 +5,7 @@
5
5
  = image_tag page.image, alt: page.title
6
6
 
7
7
  .subnav-item-body
8
- %h3.event-title
8
+ %h3.subnav-item-title
9
9
  = link_to page.path do
10
10
  = page.title
11
11
 
@@ -0,0 +1,11 @@
1
+ class CreateVanityUrlPages < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :pages, :vanity_url, :string
4
+ add_column :pages, :target_url, :string
5
+ end
6
+
7
+ def self.down
8
+ remove_column :pages, :vanity_url
9
+ remove_column :pages, :target_url
10
+ end
11
+ end
@@ -14,10 +14,11 @@ class FestivityExtension < TrustyCms::Extension
14
14
  admin.page.edit.add(:form, "festivity_base_fields", :after => 'edit_page_parts')
15
15
  admin.page.edit.add(:form, "festivity_location_fields", :after => 'edit_page_parts')
16
16
  admin.site.edit.add(:form, "festivity_site_fields", :after => 'edit_homepage')
17
+ admin.page.edit.add(:form, "festivity_vanity_url_fields", :before => 'form_bottom')
17
18
 
18
19
  Admin::AssetsController.send :include, Festivity::Extensions::PaperclippedExtensions
19
20
  Site.send :include, Festivity::Extensions::SiteExtensions
20
- Page.send :include, Festivity::Extensions::PageExtensions
21
+ #Page.send :include, Festivity::Extensions::PageExtensions
21
22
  Admin::PagesHelper.send :include, Festivity::Extensions::PagesHelperExtensions
22
23
  SitesHelper.send :include, Festivity::Extensions::PagesHelperExtensions
23
24
  Page.send :include, Tags::NavigationTags
@@ -15,6 +15,8 @@ module Festivity
15
15
  include ActsAsTree::InstanceMethods
16
16
  include Festivity::Extensions::PageExtensions::PageMethods
17
17
  include Festivity::Admin::AssetsHelper
18
+
19
+ alias_method_chain :find_by_path, :vanity_urls
18
20
  }
19
21
 
20
22
  end
@@ -47,6 +49,15 @@ module Festivity
47
49
  page_organization
48
50
  end
49
51
 
52
+ def find_by_path_with_vanity_urls(path, live = true, clean = true)
53
+ raise MissingRootPageError unless root
54
+ page = self.find_by_path_without_vanity_urls(path, live, clean)
55
+ if page.is_a?(FileNotFoundPage)
56
+ vanity_url = VanityUrlPage.find_vanity_url_by_path(path, live)
57
+ end
58
+ vanity_url ? vanity_url : page
59
+ end
60
+
50
61
  private
51
62
 
52
63
  def festivity_base_page?
@@ -0,0 +1,27 @@
1
+ module Festivity
2
+ module Extensions
3
+ module SiteControllerExtensions
4
+
5
+ def self.included(base)
6
+ base.class_eval do
7
+ alias_method_chain :process_page, :redirection
8
+ end
9
+ end
10
+
11
+
12
+ def process_page_with_redirection(page)
13
+ if page.is_a?(VanityUrlPage)
14
+ false if redirect_to page.clean_target_url
15
+
16
+ elsif !page.redirect_url.nil? && !page.redirect_url.empty?
17
+ false if redirect_to page.redirect_url
18
+ else
19
+ process_page_without_redirection(page)
20
+ end
21
+ end
22
+
23
+
24
+ end
25
+ end
26
+ end
27
+
@@ -8,9 +8,11 @@ module Tags::NavigationTags
8
8
  <pre><r:subnav_one_column /></pre>
9
9
  }
10
10
  tag "subnav_one_column" do |tag|
11
- request.env["action_controller.instance"].render_to_string :partial => "navigation/subnav_one_column",
12
- :locals => {:current_page => tag.locals.page,
13
- :top_level_page => top_level_page(tag.locals.page)}
11
+ request.env["action_controller.instance"].render_to_string :partial => "navigation/subnav",
12
+ :locals => {
13
+ :subnav_class => 'subnav-one-column',
14
+ :current_page => tag.locals.page,
15
+ :top_level_page => top_level_page(tag.locals.page)}
14
16
  end
15
17
 
16
18
  desc %{Two Column Subnavigation Tag
@@ -19,9 +21,11 @@ module Tags::NavigationTags
19
21
  <pre><r:subnav_two_column /></pre>
20
22
  }
21
23
  tag "subnav_two_column" do |tag|
22
- request.env["action_controller.instance"].render_to_string :partial => "navigation/subnav_two_column",
23
- :locals => {:current_page => tag.locals.page,
24
- :top_level_page => top_level_page(tag.locals.page)}
24
+ request.env["action_controller.instance"].render_to_string :partial => "navigation/subnav",
25
+ :locals => {
26
+ :subnav_class => 'subnav-two-column',
27
+ :current_page => tag.locals.page,
28
+ :top_level_page => top_level_page(tag.locals.page)}
25
29
  end
26
30
 
27
31
  desc %{Three Column Subnavigation Tag
@@ -32,9 +36,11 @@ module Tags::NavigationTags
32
36
  }
33
37
  tag "subnav_three_column" do |tag|
34
38
 
35
- request.env["action_controller.instance"].render_to_string :partial => "navigation/subnav_three_column",
36
- :locals => {:current_page => tag.locals.page,
37
- :top_level_page => top_level_page(tag.locals.page)}
39
+ request.env["action_controller.instance"].render_to_string :partial => "navigation/subnav",
40
+ :locals => {
41
+ :subnav_class => 'subnav-three-column',
42
+ :current_page => tag.locals.page,
43
+ :top_level_page => top_level_page(tag.locals.page)}
38
44
  end
39
45
 
40
46
 
@@ -1,5 +1,5 @@
1
1
  module TrustyFestivityExtension
2
- VERSION = "2.3.30"
2
+ VERSION = "2.4.0"
3
3
  SUMMARY = "Festival microsite engine for Trusty CMS"
4
4
  DESCRIPTION = "Event management for arts festivals."
5
5
  URL = "http://github.com/pgharts/trusty-festivity-extension"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trusty-festivity-extension
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.30
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Sipple
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-28 00:00:00.000000000 Z
11
+ date: 2016-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trusty-cms
@@ -477,7 +477,10 @@ files:
477
477
  - app/assets/stylesheets/contexts/_related-events.scss
478
478
  - app/assets/stylesheets/contexts/_site-footer.scss
479
479
  - app/assets/stylesheets/contexts/_site-header.scss
480
+ - app/assets/stylesheets/contexts/_subnav.scss
481
+ - app/assets/stylesheets/contexts/_subnav_one_column.scss
480
482
  - app/assets/stylesheets/contexts/_subnav_three_column.scss
483
+ - app/assets/stylesheets/contexts/_subnav_two_column.scss
481
484
  - app/assets/stylesheets/events/_event-list-item.scss
482
485
  - app/assets/stylesheets/events/_event_template.scss
483
486
  - app/assets/stylesheets/events/_filter-bar.scss
@@ -586,6 +589,7 @@ files:
586
589
  - app/models/festivity_market_page.rb
587
590
  - app/models/festivity_page_category.rb
588
591
  - app/models/festivity_performance.rb
592
+ - app/models/vanity_url_page.rb
589
593
  - app/presenters/festivity_date_presenter.rb
590
594
  - app/presenters/festivity_datetime_filter_presenter.rb
591
595
  - app/presenters/festivity_datetime_presenter.rb
@@ -598,6 +602,7 @@ files:
598
602
  - app/views/admin/pages/_festivity_featured_image_fields.html.haml
599
603
  - app/views/admin/pages/_festivity_includes.html.haml
600
604
  - app/views/admin/pages/_festivity_location_fields.html.haml
605
+ - app/views/admin/pages/_festivity_vanity_url_fields.html.haml
601
606
  - app/views/admin/pages/partials/_categories.html.haml
602
607
  - app/views/admin/pages/partials/_category.html.haml
603
608
  - app/views/admin/pages/partials/_featured_image.html.haml
@@ -623,10 +628,8 @@ files:
623
628
  - app/views/festivity_location_areas/show.html.haml
624
629
  - app/views/festivity_locations/show.html.haml
625
630
  - app/views/header/_meta_tags.html.haml
626
- - app/views/navigation/_mobile_menus.html.haml
627
- - app/views/navigation/_subnav_one_column.html.haml
628
- - app/views/navigation/_subnav_three_column.html.haml
629
- - app/views/navigation/_three_column_item.html.haml
631
+ - app/views/navigation/_subnav.html.haml
632
+ - app/views/navigation/_subnav_item.html.haml
630
633
  - app/views/search/_page.html.haml
631
634
  - app/views/search/_pagination_links.html.haml
632
635
  - app/views/search/_result_item.html.haml
@@ -658,12 +661,14 @@ files:
658
661
  - db/migrate/20150324135487799_add_indexes.rb
659
662
  - db/migrate/20151018190155_update_site_for_hourly_filters.rb
660
663
  - db/migrate/20151105155407_add_buy_ticket_text_to_site.rb
664
+ - db/migrate/201601231255101234_create_vanity_url_pages.rb
661
665
  - festivity_extension.rb
662
666
  - lib/festivity/admin/assets_helper.rb
663
667
  - lib/festivity/engine.rb
664
668
  - lib/festivity/extensions/page_extensions.rb
665
669
  - lib/festivity/extensions/pages_helper_extensions.rb
666
670
  - lib/festivity/extensions/paperclipped_extensions.rb
671
+ - lib/festivity/extensions/site_controller_extensions.rb
667
672
  - lib/festivity/extensions/site_extensions.rb
668
673
  - lib/festivity/mixins/not_found.rb
669
674
  - lib/tags/filter_and_menu_tags.rb
File without changes
@@ -1,15 +0,0 @@
1
- .page-template
2
- - current_page.children.each do |page|
3
- .row.media-item
4
- .col-xs-12.col-md-4
5
- .map-thumb
6
- %a{href: page.path}
7
- %img{src: page.image, alt: page.title}
8
- %h3.strong
9
- .col-xs-12.col-md-8
10
- %h3.strong
11
- = page.title
12
- %p
13
- = page.short_description
14
- %a.btn.btn-default{href: page.path}
15
- Learn More
@@ -1,3 +0,0 @@
1
- %section.subnav-three-column
2
- - current_page.children.each_with_index do |page, index|
3
- = render partial: 'navigation/three_column_item', locals: {page: page}