trusty-festivity-extension 2.0.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.
Files changed (261) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +33 -0
  4. data/README.md +2 -0
  5. data/Rakefile +110 -0
  6. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  7. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +288 -0
  8. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  9. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  10. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  11. data/app/assets/images/pct-black.png +0 -0
  12. data/app/assets/images/skins/pghkids/footer.png +0 -0
  13. data/app/assets/images/skins/pghkids/footer_mobile.png +0 -0
  14. data/app/assets/images/skins/pghkids/frog.png +0 -0
  15. data/app/assets/images/skins/pghkids/frog_mobile.png +0 -0
  16. data/app/assets/images/skins/pghkids/header.png +0 -0
  17. data/app/assets/images/skins/pghkids/header_mobile.png +0 -0
  18. data/app/assets/images/skins/pghkids/seafoam.jpg +0 -0
  19. data/app/assets/javascripts/admin/festivity_admin.js +22 -0
  20. data/app/assets/javascripts/admin/pages/ajax_image_uploader.js +29 -0
  21. data/app/assets/javascripts/admin/pages/page_bindings.js +94 -0
  22. data/app/assets/javascripts/admin/pages/performances.js +59 -0
  23. data/app/assets/javascripts/admin/sites/categories.js +74 -0
  24. data/app/assets/javascripts/admin/sites/category_types.js +63 -0
  25. data/app/assets/javascripts/admin/sites/site_bindings.js +4 -0
  26. data/app/assets/javascripts/ajaxupload.js +1 -0
  27. data/app/assets/javascripts/bootstrap-sprockets.js +12 -0
  28. data/app/assets/javascripts/bootstrap.js +2306 -0
  29. data/app/assets/javascripts/bootstrap.min.js +7 -0
  30. data/app/assets/javascripts/bootstrap/affix.js +162 -0
  31. data/app/assets/javascripts/bootstrap/alert.js +94 -0
  32. data/app/assets/javascripts/bootstrap/button.js +116 -0
  33. data/app/assets/javascripts/bootstrap/carousel.js +237 -0
  34. data/app/assets/javascripts/bootstrap/collapse.js +211 -0
  35. data/app/assets/javascripts/bootstrap/dropdown.js +161 -0
  36. data/app/assets/javascripts/bootstrap/modal.js +324 -0
  37. data/app/assets/javascripts/bootstrap/popover.js +113 -0
  38. data/app/assets/javascripts/bootstrap/scrollspy.js +175 -0
  39. data/app/assets/javascripts/bootstrap/tab.js +153 -0
  40. data/app/assets/javascripts/bootstrap/tooltip.js +472 -0
  41. data/app/assets/javascripts/bootstrap/transition.js +59 -0
  42. data/app/assets/javascripts/events/event_list_bindings.js +3 -0
  43. data/app/assets/javascripts/events/filters.js +100 -0
  44. data/app/assets/javascripts/festivity.js +1 -0
  45. data/app/assets/javascripts/festivity_app.js +13 -0
  46. data/app/assets/javascripts/jasny-bootstrap.js +1024 -0
  47. data/app/assets/javascripts/jquery-migrate.js +521 -0
  48. data/app/assets/javascripts/jquery.collapse.js +176 -0
  49. data/app/assets/javascripts/jquery.collapse_cookie_storage.js +37 -0
  50. data/app/assets/javascripts/jquery.collapse_storage.js +56 -0
  51. data/app/assets/javascripts/jquery.inputmask.bundle.min.js +10 -0
  52. data/app/assets/javascripts/lodash.min.js +88 -0
  53. data/app/assets/javascripts/readmore.min.js +11 -0
  54. data/app/assets/javascripts/script.js +22 -0
  55. data/app/assets/javascripts/underscore.js +1545 -0
  56. data/app/assets/stylesheets/_bootstrap-compass.scss +9 -0
  57. data/app/assets/stylesheets/_bootstrap-mincer.scss +19 -0
  58. data/app/assets/stylesheets/_bootstrap-sprockets.scss +9 -0
  59. data/app/assets/stylesheets/_bootstrap.scss +50 -0
  60. data/app/assets/stylesheets/_defaults.scss +6 -0
  61. data/app/assets/stylesheets/_event_filter_bar.scss +78 -0
  62. data/app/assets/stylesheets/_faq.scss +48 -0
  63. data/app/assets/stylesheets/_filter-bar-mobile.scss +32 -0
  64. data/app/assets/stylesheets/_footer.scss +18 -0
  65. data/app/assets/stylesheets/_global.scss +30 -0
  66. data/app/assets/stylesheets/_header.scss +95 -0
  67. data/app/assets/stylesheets/_landing_page.scss +62 -0
  68. data/app/assets/stylesheets/_locations.scss +17 -0
  69. data/app/assets/stylesheets/_media-queries.scss +9 -0
  70. data/app/assets/stylesheets/_mixins.scss +17 -0
  71. data/app/assets/stylesheets/_nav.scss +128 -0
  72. data/app/assets/stylesheets/_normalize.scss +375 -0
  73. data/app/assets/stylesheets/_overrides.scss +11 -0
  74. data/app/assets/stylesheets/_page-template.scss +124 -0
  75. data/app/assets/stylesheets/_related_events.scss +20 -0
  76. data/app/assets/stylesheets/_search-results.scss +20 -0
  77. data/app/assets/stylesheets/_utils.scss +8 -0
  78. data/app/assets/stylesheets/admin/festivity_admin.scss +28 -0
  79. data/app/assets/stylesheets/admin/modules/_category_styles.scss +23 -0
  80. data/app/assets/stylesheets/admin/modules/_form_styles.scss +40 -0
  81. data/app/assets/stylesheets/admin/modules/_list_styles.scss +30 -0
  82. data/app/assets/stylesheets/admin/modules/_variables.scss +3 -0
  83. data/app/assets/stylesheets/bootstrap/_alerts.scss +73 -0
  84. data/app/assets/stylesheets/bootstrap/_badges.scss +67 -0
  85. data/app/assets/stylesheets/bootstrap/_breadcrumbs.scss +26 -0
  86. data/app/assets/stylesheets/bootstrap/_button-groups.scss +243 -0
  87. data/app/assets/stylesheets/bootstrap/_buttons.scss +160 -0
  88. data/app/assets/stylesheets/bootstrap/_carousel.scss +269 -0
  89. data/app/assets/stylesheets/bootstrap/_close.scss +36 -0
  90. data/app/assets/stylesheets/bootstrap/_code.scss +69 -0
  91. data/app/assets/stylesheets/bootstrap/_component-animations.scss +38 -0
  92. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +214 -0
  93. data/app/assets/stylesheets/bootstrap/_forms.scss +570 -0
  94. data/app/assets/stylesheets/bootstrap/_glyphicons.scss +301 -0
  95. data/app/assets/stylesheets/bootstrap/_grid.scss +84 -0
  96. data/app/assets/stylesheets/bootstrap/_input-groups.scss +166 -0
  97. data/app/assets/stylesheets/bootstrap/_jumbotron.scss +50 -0
  98. data/app/assets/stylesheets/bootstrap/_labels.scss +66 -0
  99. data/app/assets/stylesheets/bootstrap/_list-group.scss +124 -0
  100. data/app/assets/stylesheets/bootstrap/_media.scss +61 -0
  101. data/app/assets/stylesheets/bootstrap/_mixins.scss +39 -0
  102. data/app/assets/stylesheets/bootstrap/_modals.scss +148 -0
  103. data/app/assets/stylesheets/bootstrap/_navbar.scss +663 -0
  104. data/app/assets/stylesheets/bootstrap/_navs.scss +244 -0
  105. data/app/assets/stylesheets/bootstrap/_normalize.scss +427 -0
  106. data/app/assets/stylesheets/bootstrap/_pager.scss +54 -0
  107. data/app/assets/stylesheets/bootstrap/_pagination.scss +88 -0
  108. data/app/assets/stylesheets/bootstrap/_panels.scss +265 -0
  109. data/app/assets/stylesheets/bootstrap/_popovers.scss +135 -0
  110. data/app/assets/stylesheets/bootstrap/_print.scss +107 -0
  111. data/app/assets/stylesheets/bootstrap/_progress-bars.scss +87 -0
  112. data/app/assets/stylesheets/bootstrap/_responsive-embed.scss +35 -0
  113. data/app/assets/stylesheets/bootstrap/_responsive-utilities.scss +177 -0
  114. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +150 -0
  115. data/app/assets/stylesheets/bootstrap/_tables.scss +234 -0
  116. data/app/assets/stylesheets/bootstrap/_theme.scss +273 -0
  117. data/app/assets/stylesheets/bootstrap/_thumbnails.scss +38 -0
  118. data/app/assets/stylesheets/bootstrap/_tooltip.scss +103 -0
  119. data/app/assets/stylesheets/bootstrap/_type.scss +298 -0
  120. data/app/assets/stylesheets/bootstrap/_utilities.scss +56 -0
  121. data/app/assets/stylesheets/bootstrap/_variables.scss +862 -0
  122. data/app/assets/stylesheets/bootstrap/_wells.scss +29 -0
  123. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +14 -0
  124. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +11 -0
  125. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +18 -0
  126. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +52 -0
  127. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
  128. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +22 -0
  129. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +88 -0
  130. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +58 -0
  131. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +81 -0
  132. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +122 -0
  133. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +21 -0
  134. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +33 -0
  135. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +12 -0
  136. data/app/assets/stylesheets/bootstrap/mixins/_list-group.scss +31 -0
  137. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  138. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  139. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +8 -0
  140. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +23 -0
  141. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +24 -0
  142. data/app/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +10 -0
  143. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
  144. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  145. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +21 -0
  146. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +10 -0
  147. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
  148. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +28 -0
  149. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +11 -0
  150. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +8 -0
  151. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +222 -0
  152. data/app/assets/stylesheets/events/_event-list-item.scss +85 -0
  153. data/app/assets/stylesheets/events/_event_template.scss +66 -0
  154. data/app/assets/stylesheets/events/_filter-bar.scss +5 -0
  155. data/app/assets/stylesheets/festivity.scss +35 -0
  156. data/app/assets/stylesheets/skins/pghkids/_events.scss +17 -0
  157. data/app/assets/stylesheets/skins/pghkids/_footer.scss +22 -0
  158. data/app/assets/stylesheets/skins/pghkids/_global.scss +42 -0
  159. data/app/assets/stylesheets/skins/pghkids/_header.scss +27 -0
  160. data/app/assets/stylesheets/skins/pghkids/_home.scss +113 -0
  161. data/app/assets/stylesheets/skins/pghkids/skin.scss +8 -0
  162. data/app/assets/stylesheets/vars/_vars_color.scss +6 -0
  163. data/app/assets/stylesheets/vars/_vars_media-queries.scss +5 -0
  164. data/app/assets/stylesheets/vars/_vars_type.scss +1 -0
  165. data/app/controllers/admin/festivity_categories_controller.rb +31 -0
  166. data/app/controllers/admin/festivity_category_types_controller.rb +31 -0
  167. data/app/controllers/admin/festivity_performances_controller.rb +21 -0
  168. data/app/controllers/festivity_events_controller.rb +71 -0
  169. data/app/controllers/festivity_location_areas_controller.rb +17 -0
  170. data/app/controllers/festivity_locations_controller.rb +19 -0
  171. data/app/controllers/search_controller.rb +17 -0
  172. data/app/helpers/admin/festivity_performances_helper.rb +3 -0
  173. data/app/helpers/admin/snippets_helper.rb +3 -0
  174. data/app/helpers/festivity_events_helper.rb +12 -0
  175. data/app/helpers/festivity_locations_helper.rb +4 -0
  176. data/app/models/festivity_base_page.rb +23 -0
  177. data/app/models/festivity_category.rb +17 -0
  178. data/app/models/festivity_category_type.rb +14 -0
  179. data/app/models/festivity_event_list.rb +90 -0
  180. data/app/models/festivity_event_list/festivity_event.rb +40 -0
  181. data/app/models/festivity_event_list/festivity_event_performance.rb +10 -0
  182. data/app/models/festivity_event_list/festivity_location.rb +15 -0
  183. data/app/models/festivity_event_page.rb +55 -0
  184. data/app/models/festivity_location_area_page.rb +5 -0
  185. data/app/models/festivity_location_page.rb +3 -0
  186. data/app/models/festivity_market_page.rb +3 -0
  187. data/app/models/festivity_page_category.rb +4 -0
  188. data/app/models/festivity_performance.rb +29 -0
  189. data/app/views/admin/pages/_festivity_base_fields.html.haml +75 -0
  190. data/app/views/admin/pages/_festivity_featured_image_fields.html.haml +3 -0
  191. data/app/views/admin/pages/_festivity_includes.html.haml +2 -0
  192. data/app/views/admin/pages/_festivity_location_fields.html.haml +26 -0
  193. data/app/views/admin/pages/partials/_categories.html.haml +18 -0
  194. data/app/views/admin/pages/partials/_category.html.haml +4 -0
  195. data/app/views/admin/pages/partials/_featured_image.html.haml +18 -0
  196. data/app/views/admin/pages/partials/_performance.html.haml +13 -0
  197. data/app/views/admin/pages/partials/_performances.html.haml +11 -0
  198. data/app/views/admin/pages/partials/_performances_table.html.haml +15 -0
  199. data/app/views/admin/sites/_festivity_site_fields.html.haml +26 -0
  200. data/app/views/admin/sites/partials/_category.html.haml +7 -0
  201. data/app/views/admin/sites/partials/_category_popup.html.haml +19 -0
  202. data/app/views/admin/sites/partials/_category_popups.haml +27 -0
  203. data/app/views/admin/sites/partials/_category_section.html.haml +7 -0
  204. data/app/views/admin/sites/partials/_category_types.html.haml +23 -0
  205. data/app/views/admin/sites/partials/_filters.html.haml +25 -0
  206. data/app/views/admin/sites/partials/_new_category.html.haml +3 -0
  207. data/app/views/admin/sites/partials/_new_category_type.html.haml +3 -0
  208. data/app/views/festivity_events/_event_filters.html.haml +39 -0
  209. data/app/views/festivity_events/_event_list.html.haml +62 -0
  210. data/app/views/festivity_events/_filter_bar_mobile.html.haml +22 -0
  211. data/app/views/festivity_events/index.html.haml +34 -0
  212. data/app/views/festivity_events/show.html.haml +152 -0
  213. data/app/views/festivity_location_areas/show.html.haml +29 -0
  214. data/app/views/festivity_locations/show.html.haml +66 -0
  215. data/app/views/header/_meta_tags.html.haml +8 -0
  216. data/app/views/navigation/_subnav_one_column.html.haml +15 -0
  217. data/app/views/navigation/_subnav_three_column.html.haml +7 -0
  218. data/app/views/navigation/_three_column_item.html.haml +11 -0
  219. data/app/views/search/_page.html.haml +1 -0
  220. data/app/views/search/_pagination_links.html.haml +7 -0
  221. data/app/views/search/_result_item.html.haml +6 -0
  222. data/app/views/search/show.html.haml +19 -0
  223. data/config/initializers/pluralizations.rb +0 -0
  224. data/config/initializers/radiant_config.rb +1 -0
  225. data/config/locales/en.yml +16 -0
  226. data/config/routes.rb +14 -0
  227. data/config/trustygems.yml +2 -0
  228. data/db/content/layouts/base.html +174 -0
  229. data/db/content/layouts/normal.html +5 -0
  230. data/db/fixtures/home_pages.yml +40 -0
  231. data/db/fixtures/layouts.yml +2 -0
  232. data/db/fixtures/pages.yml +23 -0
  233. data/db/fixtures/sites.yml +57 -0
  234. data/db/fixtures/users.yml +8 -0
  235. data/db/migrate/200150325136087799_add_event_performances_view.rb +27 -0
  236. data/db/migrate/200150425136087799_update_event_performances_view_with_site.rb +27 -0
  237. data/db/migrate/20150123175758_add_site_fields.rb +15 -0
  238. data/db/migrate/20150127090858995_add_base_event_fields.rb +24 -0
  239. data/db/migrate/20150127091005232_add_market_and_event_fields.rb +29 -0
  240. data/db/migrate/20150204113325731_add_category_types_table.rb +15 -0
  241. data/db/migrate/20150204113427832_add_categories_table.rb +15 -0
  242. data/db/migrate/20150204113510326_add_page_categories_table.rb +12 -0
  243. data/db/migrate/20150226131727777_add_location_page_fields.rb +19 -0
  244. data/db/migrate/20150302135485569_add_performances_table.rb +19 -0
  245. data/db/migrate/20150324135487799_add_indexes.rb +21 -0
  246. data/festivity_extension.rb +25 -0
  247. data/lib/festivity/admin/assets_helper.rb +17 -0
  248. data/lib/festivity/engine.rb +9 -0
  249. data/lib/festivity/extensions/page_extensions.rb +61 -0
  250. data/lib/festivity/extensions/pages_helper_extensions.rb +11 -0
  251. data/lib/festivity/extensions/paperclipped_extensions.rb +22 -0
  252. data/lib/festivity/extensions/site_extensions.rb +40 -0
  253. data/lib/festivity/mixins/not_found.rb +10 -0
  254. data/lib/tags/header_tags.rb +41 -0
  255. data/lib/tags/navigation_tags.rb +55 -0
  256. data/lib/tasks/active_record_utils.rb +35 -0
  257. data/lib/tasks/festivity_extension_tasks.rake +7 -0
  258. data/lib/tasks/setup.rake +101 -0
  259. data/lib/trusty-festivity-extension.rb +8 -0
  260. data/trusty-festivity-extension.gemspec +37 -0
  261. metadata +442 -0
@@ -0,0 +1,41 @@
1
+ module Tags::HeaderTags
2
+ include TrustyCms::Taggable
3
+
4
+ desc "Meta Tags"
5
+ tag "festivity_meta" do |tag|
6
+ page = Page.find_by_slug_for_site(tag.locals.page.slug).first
7
+ page = Page.current_site.homepage unless page
8
+ description = get_content(page, :description)
9
+ keywords = get_content(page, :keywords)
10
+ domain = "#{request.protocol}#{request.host}"
11
+ request.env["action_controller.instance"].render_to_string :partial => "header/meta_tags",
12
+ :locals => {:domain => domain,
13
+ :description => description,
14
+ :keywords => keywords,
15
+ :page => page,
16
+ :url => request.url}
17
+
18
+ end
19
+
20
+ desc "Omniture Variables"
21
+ tag "omniture_vars" do |tag|
22
+ domain = "#{request.protocol}#{request.host}"
23
+ if tag.locals.page.breadcrumb
24
+ %{<script language="JavaScript" type="text/javascript"><!--
25
+ s.pageName="#{domain}:#{tag.locals.page.breadcrumb}";
26
+ s.channel="#{domain}:#{tag.locals.page.breadcrumb}";
27
+ s.server="#{domain}";
28
+ var s_code=s.t();
29
+ //--></script>}
30
+ end
31
+ end
32
+
33
+ def get_content(page, type)
34
+ if page.field(type) && !page.field(type).content.blank?
35
+ CGI.escapeHTML(page.field(type).content)
36
+ end
37
+
38
+ end
39
+
40
+ end
41
+
@@ -0,0 +1,55 @@
1
+ module Tags::NavigationTags
2
+ include TrustyCms::Taggable
3
+
4
+
5
+ desc %{One Column Subnavigation Tag
6
+
7
+ *Usage:*
8
+ <pre><r:subnav_one_column /></pre>
9
+ }
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)}
14
+ end
15
+
16
+ desc %{Two Column Subnavigation Tag
17
+
18
+ *Usage:*
19
+ <pre><r:subnav_two_column /></pre>
20
+ }
21
+ 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)}
25
+ end
26
+
27
+ desc %{Three Column Subnavigation Tag
28
+
29
+ *Usage:*
30
+ <pre><r:subnav_three_column show_detail="true" /></pre>
31
+
32
+ show_detail will display the page abstract and a Read More link.
33
+ }
34
+ tag "subnav_three_column" do |tag|
35
+
36
+ request.env["action_controller.instance"].render_to_string :partial => "navigation/subnav_three_column",
37
+ :locals => {:current_page => tag.locals.page,
38
+ :top_level_page => top_level_page(tag.locals.page),
39
+ :show_detail => show_detail(tag.attr["show_detail"])}
40
+ end
41
+
42
+
43
+ def top_level_page(page)
44
+ page = page.parent while page.parent.slug != '/'
45
+ page
46
+ end
47
+
48
+ def show_detail(show_detail)
49
+ if show_detail
50
+ return show_detail.downcase == "true" ? true : false
51
+ end
52
+ end
53
+
54
+ end
55
+
@@ -0,0 +1,35 @@
1
+ require "active_record"
2
+
3
+ class ActiveRecord::Base
4
+ def self.create_or_update_for_site(options = {}, key = :name)
5
+ options["site"] = Site.find(:first, :conditions => {:name => options["site"]})
6
+ Page.current_site = options["site"]
7
+ create_or_update options, key
8
+ end
9
+
10
+ def self.create_or_update_for_sites(options = {}, key = :name)
11
+ options["sites"] = options["sites"].collect { |site_name| Site.find(:first, :conditions => {:name => site_name}) }
12
+ create_or_update options, key
13
+ end
14
+
15
+ def self.create_or_update(options = {}, key = :id)
16
+ record_from_db = find(:first, :conditions=>{key => options[key.to_s]})
17
+ return record_from_db if record_from_db
18
+ options.delete "overwrite"
19
+ record = record_from_db || new
20
+ record.id = options["id"] if options["id"]
21
+ record.update_attributes!(options)
22
+ record
23
+ end
24
+
25
+ def existing_record?
26
+ (not id.nil?)
27
+ end
28
+
29
+ def create_or_update_with_attributes! attributes
30
+ puts attributes
31
+ #return if ConvoySeedUtil.create_only && existing_record?
32
+ return if existing_record?
33
+ update_attributes!(attributes)
34
+ end
35
+ end
@@ -0,0 +1,7 @@
1
+ namespace :trusty do
2
+ namespace :extensions do
3
+ namespace :festivity do
4
+
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,101 @@
1
+ namespace :festivity do
2
+ namespace :setup do
3
+ require File.dirname(__FILE__) + '/active_record_utils'
4
+
5
+ desc "bootstrap deployment. Creates DB, migrate db, migrate the extensions, and seed"
6
+ task :bootstrap => [:environment, 'db:drop', 'db:create', 'db:migrate', 'seed']
7
+
8
+ desc "seed festivity sites and pages"
9
+ task :seed do
10
+ Page.connection.schema_cache.clear!
11
+ Page.reset_column_information
12
+ sites = sort(load_yaml_for("sites"), "position")
13
+ home_pages = load_yaml_for("home_pages")
14
+ pages = load_yaml_for("pages")
15
+ users = load_yaml_for("users")
16
+
17
+ # create the root page
18
+ master = home_pages["The Pittsburgh Cultural Trust"]
19
+ master[:site_id] = 1
20
+ create_or_update_page(master)
21
+ User.create_or_update_for_site(users["The Pittsburgh Cultural Trust"])
22
+
23
+ sites.each do |t, site|
24
+ home_page = home_pages[site["name"]]
25
+ home_page[:site_id] = site["id"]
26
+ seed_page_for(home_page, master["slug"])
27
+ site['homepage'] = site["name"] == 'default_site' ? Page.find(1) : find_by_slug_hierarchy([home_page["slug"]])
28
+ site['base_domain'] += Rails.configuration.domain
29
+ Site.create_or_update(site)
30
+
31
+ pages.each do |p_t, page|
32
+ seed_page_for(page.clone, home_page["slug"])
33
+ end
34
+
35
+ end
36
+
37
+ TrustyCms::Setup.new.load_default_configuration
38
+
39
+ end
40
+
41
+
42
+ def seed_page_for(page_hash, home_page_slug = nil)
43
+ trusty_page = create_or_update_page(page_hash, home_page_slug)
44
+ part = PagePart.new(:name => 'body')
45
+ trusty_page.parts << part unless trusty_page.parts.find_by_name('body')
46
+ trusty_page.save!
47
+ end
48
+
49
+ def seed_home_page_for(site)
50
+ home_pages = load_yaml_for("home_pages")
51
+ home_pages.each do |t, home_page|
52
+
53
+ end
54
+ end
55
+
56
+ def load_yaml_for(file_name)
57
+ require 'yaml'
58
+ fixtures_dir = "#{File.expand_path(File.dirname(__FILE__)+"../../../db/fixtures")}"
59
+ YAML::load(File.open(File.join(fixtures_dir, file_name+".yml")))
60
+ end
61
+
62
+ def load_content_from(dir, file_name)
63
+ content_dir = "#{File.expand_path(File.dirname(__FILE__)+"../../../db/content")}"
64
+
65
+ file_path = content_dir + "/#{dir}/" + "#{file_name}.html"
66
+ puts "Seed:Log: found layout for #{file_name} in #{dir}"
67
+ File.open(file_path, 'r').read
68
+ end
69
+
70
+ def create_or_update_page(page_hash, home_page_slug = nil)
71
+ if page_hash["parent"]
72
+ parent_path = home_page_slug ? [home_page_slug] : []
73
+ parent_path << page_hash["parent"].split('/')
74
+ page_hash["parent"] = find_by_slug_hierarchy(parent_path.flatten)
75
+ end
76
+
77
+ page = (page_hash["parent"].nil? ? find_by_slug_hierarchy([page_hash["slug"]]) : find_by_slug_hierarchy([page_hash["slug"]], page_hash["parent"])) || Page.new
78
+ page.create_or_update_with_attributes!(page_hash)
79
+ page
80
+ end
81
+
82
+ def sort(hash, on_parameter)
83
+ hash.sort do |first, second|
84
+ first_value = first[1]
85
+ second_value = second[1]
86
+ first_value[on_parameter] <=> second_value[on_parameter]
87
+ end
88
+ end
89
+
90
+ def find_by_slug_hierarchy(slugs, current_page = Page.find_by_slug("/"))
91
+ return current_page if (slugs.nil? || slugs.empty?)
92
+ if (slugs[0] == "/")
93
+ slugs.shift
94
+ find_by_slug_hierarchy(slugs, current_page)
95
+ else
96
+ find_by_slug_hierarchy(slugs, Page.first(:conditions => {:slug => slugs.shift, :parent_id => current_page}))
97
+ end
98
+ end
99
+
100
+ end
101
+ end
@@ -0,0 +1,8 @@
1
+ module TrustyFestivityExtension
2
+ VERSION = "2.0.0"
3
+ SUMMARY = "Festival microsite engine for Trusty CMS"
4
+ DESCRIPTION = "Event management for arts festivals."
5
+ URL = "http://github.com/pgharts/trusty-festivity-extension"
6
+ AUTHORS = ["Eric Sipple"]
7
+ EMAIL = ["sipple@trustarts.org"]
8
+ end
@@ -0,0 +1,37 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "trusty-festivity-extension"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "trusty-festivity-extension"
7
+ s.version = TrustyFestivityExtension::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = TrustyFestivityExtension::AUTHORS
10
+ s.email = TrustyFestivityExtension::EMAIL
11
+ s.homepage = TrustyFestivityExtension::URL
12
+ s.summary = TrustyFestivityExtension::SUMMARY
13
+ s.description = TrustyFestivityExtension::DESCRIPTION
14
+
15
+ ignores = if File.exist?('.gitignore')
16
+ File.read('.gitignore').split("\n").inject([]) {|a,p| a + Dir[p] }
17
+ else
18
+ []
19
+ end
20
+ s.files = Dir['**/*'] - ignores
21
+ s.test_files = Dir['test/**/*','spec/**/*','features/**/*'] - ignores
22
+ # s.executables = Dir['bin/*'] - ignores
23
+ s.require_paths = ["lib"]
24
+
25
+ s.add_dependency "trusty-cms" , "~> 2.0"
26
+ s.add_dependency "trusty-clipped-extension" , "~> 2.0"
27
+ s.add_dependency "trusty-snippets-extension" , "~> 2.0"
28
+ s.add_dependency "trusty-reorder-extension" , "~> 2.0"
29
+ s.add_dependency "trusty-layouts-extension" , "~> 2.0"
30
+ s.add_dependency "trusty-rad-social-extension" , "~> 2.0"
31
+ s.add_dependency "trusty-multi-site-extension" , "~> 2.0"
32
+ s.add_dependency 'dalli-elasticache' ,'~> 0.1.2'
33
+
34
+ s.add_dependency 'trusty_google_custom_search'
35
+ s.add_dependency 'fog' , "~> 1.26"
36
+
37
+ end
metadata ADDED
@@ -0,0 +1,442 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: trusty-festivity-extension
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Eric Sipple
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-09-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: trusty-cms
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: trusty-clipped-extension
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: trusty-snippets-extension
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: trusty-reorder-extension
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: trusty-layouts-extension
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: '2.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '2.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: trusty-rad-social-extension
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: '2.0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '2.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: trusty-multi-site-extension
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: '2.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '2.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: dalli-elasticache
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 0.1.2
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: 0.1.2
125
+ - !ruby/object:Gem::Dependency
126
+ name: trusty_google_custom_search
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ! '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: fog
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ~>
144
+ - !ruby/object:Gem::Version
145
+ version: '1.26'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ~>
151
+ - !ruby/object:Gem::Version
152
+ version: '1.26'
153
+ description: Event management for arts festivals.
154
+ email:
155
+ - sipple@trustarts.org
156
+ executables: []
157
+ extensions: []
158
+ extra_rdoc_files: []
159
+ files:
160
+ - Gemfile
161
+ - Gemfile.lock
162
+ - README.md
163
+ - Rakefile
164
+ - app/assets/fonts/bootstrap/glyphicons-halflings-regular.eot
165
+ - app/assets/fonts/bootstrap/glyphicons-halflings-regular.svg
166
+ - app/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf
167
+ - app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff
168
+ - app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2
169
+ - app/assets/images/pct-black.png
170
+ - app/assets/images/skins/pghkids/footer.png
171
+ - app/assets/images/skins/pghkids/footer_mobile.png
172
+ - app/assets/images/skins/pghkids/frog.png
173
+ - app/assets/images/skins/pghkids/frog_mobile.png
174
+ - app/assets/images/skins/pghkids/header.png
175
+ - app/assets/images/skins/pghkids/header_mobile.png
176
+ - app/assets/images/skins/pghkids/seafoam.jpg
177
+ - app/assets/javascripts/admin/festivity_admin.js
178
+ - app/assets/javascripts/admin/pages/ajax_image_uploader.js
179
+ - app/assets/javascripts/admin/pages/page_bindings.js
180
+ - app/assets/javascripts/admin/pages/performances.js
181
+ - app/assets/javascripts/admin/sites/categories.js
182
+ - app/assets/javascripts/admin/sites/category_types.js
183
+ - app/assets/javascripts/admin/sites/site_bindings.js
184
+ - app/assets/javascripts/ajaxupload.js
185
+ - app/assets/javascripts/bootstrap-sprockets.js
186
+ - app/assets/javascripts/bootstrap.js
187
+ - app/assets/javascripts/bootstrap.min.js
188
+ - app/assets/javascripts/bootstrap/affix.js
189
+ - app/assets/javascripts/bootstrap/alert.js
190
+ - app/assets/javascripts/bootstrap/button.js
191
+ - app/assets/javascripts/bootstrap/carousel.js
192
+ - app/assets/javascripts/bootstrap/collapse.js
193
+ - app/assets/javascripts/bootstrap/dropdown.js
194
+ - app/assets/javascripts/bootstrap/modal.js
195
+ - app/assets/javascripts/bootstrap/popover.js
196
+ - app/assets/javascripts/bootstrap/scrollspy.js
197
+ - app/assets/javascripts/bootstrap/tab.js
198
+ - app/assets/javascripts/bootstrap/tooltip.js
199
+ - app/assets/javascripts/bootstrap/transition.js
200
+ - app/assets/javascripts/events/event_list_bindings.js
201
+ - app/assets/javascripts/events/filters.js
202
+ - app/assets/javascripts/festivity.js
203
+ - app/assets/javascripts/festivity_app.js
204
+ - app/assets/javascripts/jasny-bootstrap.js
205
+ - app/assets/javascripts/jquery-migrate.js
206
+ - app/assets/javascripts/jquery.collapse.js
207
+ - app/assets/javascripts/jquery.collapse_cookie_storage.js
208
+ - app/assets/javascripts/jquery.collapse_storage.js
209
+ - app/assets/javascripts/jquery.inputmask.bundle.min.js
210
+ - app/assets/javascripts/lodash.min.js
211
+ - app/assets/javascripts/readmore.min.js
212
+ - app/assets/javascripts/script.js
213
+ - app/assets/javascripts/underscore.js
214
+ - app/assets/stylesheets/_bootstrap-compass.scss
215
+ - app/assets/stylesheets/_bootstrap-mincer.scss
216
+ - app/assets/stylesheets/_bootstrap-sprockets.scss
217
+ - app/assets/stylesheets/_bootstrap.scss
218
+ - app/assets/stylesheets/_defaults.scss
219
+ - app/assets/stylesheets/_event_filter_bar.scss
220
+ - app/assets/stylesheets/_faq.scss
221
+ - app/assets/stylesheets/_filter-bar-mobile.scss
222
+ - app/assets/stylesheets/_footer.scss
223
+ - app/assets/stylesheets/_global.scss
224
+ - app/assets/stylesheets/_header.scss
225
+ - app/assets/stylesheets/_landing_page.scss
226
+ - app/assets/stylesheets/_locations.scss
227
+ - app/assets/stylesheets/_media-queries.scss
228
+ - app/assets/stylesheets/_mixins.scss
229
+ - app/assets/stylesheets/_nav.scss
230
+ - app/assets/stylesheets/_normalize.scss
231
+ - app/assets/stylesheets/_overrides.scss
232
+ - app/assets/stylesheets/_page-template.scss
233
+ - app/assets/stylesheets/_related_events.scss
234
+ - app/assets/stylesheets/_search-results.scss
235
+ - app/assets/stylesheets/_utils.scss
236
+ - app/assets/stylesheets/admin/festivity_admin.scss
237
+ - app/assets/stylesheets/admin/modules/_category_styles.scss
238
+ - app/assets/stylesheets/admin/modules/_form_styles.scss
239
+ - app/assets/stylesheets/admin/modules/_list_styles.scss
240
+ - app/assets/stylesheets/admin/modules/_variables.scss
241
+ - app/assets/stylesheets/bootstrap/_alerts.scss
242
+ - app/assets/stylesheets/bootstrap/_badges.scss
243
+ - app/assets/stylesheets/bootstrap/_breadcrumbs.scss
244
+ - app/assets/stylesheets/bootstrap/_button-groups.scss
245
+ - app/assets/stylesheets/bootstrap/_buttons.scss
246
+ - app/assets/stylesheets/bootstrap/_carousel.scss
247
+ - app/assets/stylesheets/bootstrap/_close.scss
248
+ - app/assets/stylesheets/bootstrap/_code.scss
249
+ - app/assets/stylesheets/bootstrap/_component-animations.scss
250
+ - app/assets/stylesheets/bootstrap/_dropdowns.scss
251
+ - app/assets/stylesheets/bootstrap/_forms.scss
252
+ - app/assets/stylesheets/bootstrap/_glyphicons.scss
253
+ - app/assets/stylesheets/bootstrap/_grid.scss
254
+ - app/assets/stylesheets/bootstrap/_input-groups.scss
255
+ - app/assets/stylesheets/bootstrap/_jumbotron.scss
256
+ - app/assets/stylesheets/bootstrap/_labels.scss
257
+ - app/assets/stylesheets/bootstrap/_list-group.scss
258
+ - app/assets/stylesheets/bootstrap/_media.scss
259
+ - app/assets/stylesheets/bootstrap/_mixins.scss
260
+ - app/assets/stylesheets/bootstrap/_modals.scss
261
+ - app/assets/stylesheets/bootstrap/_navbar.scss
262
+ - app/assets/stylesheets/bootstrap/_navs.scss
263
+ - app/assets/stylesheets/bootstrap/_normalize.scss
264
+ - app/assets/stylesheets/bootstrap/_pager.scss
265
+ - app/assets/stylesheets/bootstrap/_pagination.scss
266
+ - app/assets/stylesheets/bootstrap/_panels.scss
267
+ - app/assets/stylesheets/bootstrap/_popovers.scss
268
+ - app/assets/stylesheets/bootstrap/_print.scss
269
+ - app/assets/stylesheets/bootstrap/_progress-bars.scss
270
+ - app/assets/stylesheets/bootstrap/_responsive-embed.scss
271
+ - app/assets/stylesheets/bootstrap/_responsive-utilities.scss
272
+ - app/assets/stylesheets/bootstrap/_scaffolding.scss
273
+ - app/assets/stylesheets/bootstrap/_tables.scss
274
+ - app/assets/stylesheets/bootstrap/_theme.scss
275
+ - app/assets/stylesheets/bootstrap/_thumbnails.scss
276
+ - app/assets/stylesheets/bootstrap/_tooltip.scss
277
+ - app/assets/stylesheets/bootstrap/_type.scss
278
+ - app/assets/stylesheets/bootstrap/_utilities.scss
279
+ - app/assets/stylesheets/bootstrap/_variables.scss
280
+ - app/assets/stylesheets/bootstrap/_wells.scss
281
+ - app/assets/stylesheets/bootstrap/mixins/_alerts.scss
282
+ - app/assets/stylesheets/bootstrap/mixins/_background-variant.scss
283
+ - app/assets/stylesheets/bootstrap/mixins/_border-radius.scss
284
+ - app/assets/stylesheets/bootstrap/mixins/_buttons.scss
285
+ - app/assets/stylesheets/bootstrap/mixins/_center-block.scss
286
+ - app/assets/stylesheets/bootstrap/mixins/_clearfix.scss
287
+ - app/assets/stylesheets/bootstrap/mixins/_forms.scss
288
+ - app/assets/stylesheets/bootstrap/mixins/_gradients.scss
289
+ - app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss
290
+ - app/assets/stylesheets/bootstrap/mixins/_grid.scss
291
+ - app/assets/stylesheets/bootstrap/mixins/_hide-text.scss
292
+ - app/assets/stylesheets/bootstrap/mixins/_image.scss
293
+ - app/assets/stylesheets/bootstrap/mixins/_labels.scss
294
+ - app/assets/stylesheets/bootstrap/mixins/_list-group.scss
295
+ - app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss
296
+ - app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss
297
+ - app/assets/stylesheets/bootstrap/mixins/_opacity.scss
298
+ - app/assets/stylesheets/bootstrap/mixins/_pagination.scss
299
+ - app/assets/stylesheets/bootstrap/mixins/_panels.scss
300
+ - app/assets/stylesheets/bootstrap/mixins/_progress-bar.scss
301
+ - app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss
302
+ - app/assets/stylesheets/bootstrap/mixins/_resize.scss
303
+ - app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss
304
+ - app/assets/stylesheets/bootstrap/mixins/_size.scss
305
+ - app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss
306
+ - app/assets/stylesheets/bootstrap/mixins/_table-row.scss
307
+ - app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss
308
+ - app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss
309
+ - app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss
310
+ - app/assets/stylesheets/events/_event-list-item.scss
311
+ - app/assets/stylesheets/events/_event_template.scss
312
+ - app/assets/stylesheets/events/_filter-bar.scss
313
+ - app/assets/stylesheets/festivity.scss
314
+ - app/assets/stylesheets/skins/pghkids/_events.scss
315
+ - app/assets/stylesheets/skins/pghkids/_footer.scss
316
+ - app/assets/stylesheets/skins/pghkids/_global.scss
317
+ - app/assets/stylesheets/skins/pghkids/_header.scss
318
+ - app/assets/stylesheets/skins/pghkids/_home.scss
319
+ - app/assets/stylesheets/skins/pghkids/skin.scss
320
+ - app/assets/stylesheets/vars/_vars_color.scss
321
+ - app/assets/stylesheets/vars/_vars_media-queries.scss
322
+ - app/assets/stylesheets/vars/_vars_type.scss
323
+ - app/controllers/admin/festivity_categories_controller.rb
324
+ - app/controllers/admin/festivity_category_types_controller.rb
325
+ - app/controllers/admin/festivity_performances_controller.rb
326
+ - app/controllers/festivity_events_controller.rb
327
+ - app/controllers/festivity_location_areas_controller.rb
328
+ - app/controllers/festivity_locations_controller.rb
329
+ - app/controllers/search_controller.rb
330
+ - app/helpers/admin/festivity_performances_helper.rb
331
+ - app/helpers/admin/snippets_helper.rb
332
+ - app/helpers/festivity_events_helper.rb
333
+ - app/helpers/festivity_locations_helper.rb
334
+ - app/models/festivity_base_page.rb
335
+ - app/models/festivity_category.rb
336
+ - app/models/festivity_category_type.rb
337
+ - app/models/festivity_event_list.rb
338
+ - app/models/festivity_event_list/festivity_event.rb
339
+ - app/models/festivity_event_list/festivity_event_performance.rb
340
+ - app/models/festivity_event_list/festivity_location.rb
341
+ - app/models/festivity_event_page.rb
342
+ - app/models/festivity_location_area_page.rb
343
+ - app/models/festivity_location_page.rb
344
+ - app/models/festivity_market_page.rb
345
+ - app/models/festivity_page_category.rb
346
+ - app/models/festivity_performance.rb
347
+ - app/views/admin/pages/_festivity_base_fields.html.haml
348
+ - app/views/admin/pages/_festivity_featured_image_fields.html.haml
349
+ - app/views/admin/pages/_festivity_includes.html.haml
350
+ - app/views/admin/pages/_festivity_location_fields.html.haml
351
+ - app/views/admin/pages/partials/_categories.html.haml
352
+ - app/views/admin/pages/partials/_category.html.haml
353
+ - app/views/admin/pages/partials/_featured_image.html.haml
354
+ - app/views/admin/pages/partials/_performance.html.haml
355
+ - app/views/admin/pages/partials/_performances.html.haml
356
+ - app/views/admin/pages/partials/_performances_table.html.haml
357
+ - app/views/admin/sites/_festivity_site_fields.html.haml
358
+ - app/views/admin/sites/partials/_category.html.haml
359
+ - app/views/admin/sites/partials/_category_popup.html.haml
360
+ - app/views/admin/sites/partials/_category_popups.haml
361
+ - app/views/admin/sites/partials/_category_section.html.haml
362
+ - app/views/admin/sites/partials/_category_types.html.haml
363
+ - app/views/admin/sites/partials/_filters.html.haml
364
+ - app/views/admin/sites/partials/_new_category.html.haml
365
+ - app/views/admin/sites/partials/_new_category_type.html.haml
366
+ - app/views/festivity_events/_event_filters.html.haml
367
+ - app/views/festivity_events/_event_list.html.haml
368
+ - app/views/festivity_events/_filter_bar_mobile.html.haml
369
+ - app/views/festivity_events/index.html.haml
370
+ - app/views/festivity_events/show.html.haml
371
+ - app/views/festivity_location_areas/show.html.haml
372
+ - app/views/festivity_locations/show.html.haml
373
+ - app/views/header/_meta_tags.html.haml
374
+ - app/views/navigation/_subnav_one_column.html.haml
375
+ - app/views/navigation/_subnav_three_column.html.haml
376
+ - app/views/navigation/_three_column_item.html.haml
377
+ - app/views/search/_page.html.haml
378
+ - app/views/search/_pagination_links.html.haml
379
+ - app/views/search/_result_item.html.haml
380
+ - app/views/search/show.html.haml
381
+ - config/initializers/pluralizations.rb
382
+ - config/initializers/radiant_config.rb
383
+ - config/locales/en.yml
384
+ - config/routes.rb
385
+ - config/trustygems.yml
386
+ - db/content/layouts/base.html
387
+ - db/content/layouts/normal.html
388
+ - db/fixtures/home_pages.yml
389
+ - db/fixtures/layouts.yml
390
+ - db/fixtures/pages.yml
391
+ - db/fixtures/sites.yml
392
+ - db/fixtures/users.yml
393
+ - db/migrate/200150325136087799_add_event_performances_view.rb
394
+ - db/migrate/200150425136087799_update_event_performances_view_with_site.rb
395
+ - db/migrate/20150123175758_add_site_fields.rb
396
+ - db/migrate/20150127090858995_add_base_event_fields.rb
397
+ - db/migrate/20150127091005232_add_market_and_event_fields.rb
398
+ - db/migrate/20150204113325731_add_category_types_table.rb
399
+ - db/migrate/20150204113427832_add_categories_table.rb
400
+ - db/migrate/20150204113510326_add_page_categories_table.rb
401
+ - db/migrate/20150226131727777_add_location_page_fields.rb
402
+ - db/migrate/20150302135485569_add_performances_table.rb
403
+ - db/migrate/20150324135487799_add_indexes.rb
404
+ - festivity_extension.rb
405
+ - lib/festivity/admin/assets_helper.rb
406
+ - lib/festivity/engine.rb
407
+ - lib/festivity/extensions/page_extensions.rb
408
+ - lib/festivity/extensions/pages_helper_extensions.rb
409
+ - lib/festivity/extensions/paperclipped_extensions.rb
410
+ - lib/festivity/extensions/site_extensions.rb
411
+ - lib/festivity/mixins/not_found.rb
412
+ - lib/tags/header_tags.rb
413
+ - lib/tags/navigation_tags.rb
414
+ - lib/tasks/active_record_utils.rb
415
+ - lib/tasks/festivity_extension_tasks.rake
416
+ - lib/tasks/setup.rake
417
+ - lib/trusty-festivity-extension.rb
418
+ - trusty-festivity-extension.gemspec
419
+ homepage: http://github.com/pgharts/trusty-festivity-extension
420
+ licenses: []
421
+ metadata: {}
422
+ post_install_message:
423
+ rdoc_options: []
424
+ require_paths:
425
+ - lib
426
+ required_ruby_version: !ruby/object:Gem::Requirement
427
+ requirements:
428
+ - - ! '>='
429
+ - !ruby/object:Gem::Version
430
+ version: '0'
431
+ required_rubygems_version: !ruby/object:Gem::Requirement
432
+ requirements:
433
+ - - ! '>='
434
+ - !ruby/object:Gem::Version
435
+ version: '0'
436
+ requirements: []
437
+ rubyforge_project:
438
+ rubygems_version: 2.4.5
439
+ signing_key:
440
+ specification_version: 4
441
+ summary: Festival microsite engine for Trusty CMS
442
+ test_files: []