pwb 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +40 -25
- data/app/assets/fonts/fonts/FontAwesome.otf +0 -0
- data/app/assets/fonts/fonts/fontawesome-webfont.eot +0 -0
- data/app/assets/fonts/fonts/fontawesome-webfont.svg +2668 -637
- data/app/assets/fonts/fonts/fontawesome-webfont.ttf +0 -0
- data/app/assets/fonts/fonts/fontawesome-webfont.woff +0 -0
- data/app/assets/fonts/fonts/fontawesome-webfont.woff2 +0 -0
- data/app/assets/javascripts/pwb/shared/page-content.js +24 -0
- data/app/assets/javascripts/pwb/shared/squares-container.js +58 -0
- data/app/assets/javascripts/pwb/shared/vue-main.js +1 -1
- data/app/assets/javascripts/pwb/shared/vue-squares.js.erb +74 -0
- data/app/assets/javascripts/pwb/squares/tabable-section.js +47 -0
- data/app/assets/javascripts/pwb/themes/squares.js.erb +45 -0
- data/app/assets/javascripts/pwb/themes/vic.js.erb +152 -0
- data/app/assets/javascripts/pwb_admin_panel/application_legacy_1.js +5 -0
- data/app/assets/stylesheets/pwb/themes/berlin.scss +4 -0
- data/app/assets/stylesheets/pwb/themes/berlin/main.scss +1 -1
- data/app/assets/stylesheets/pwb/themes/default.scss +1 -0
- data/app/assets/stylesheets/pwb/themes/default/carousel.scss +2 -1
- data/app/assets/stylesheets/pwb/themes/default/landing_content_areas.scss +13 -13
- data/app/assets/stylesheets/pwb/themes/default/shame.scss +0 -16
- data/app/assets/stylesheets/pwb/themes/matt.scss +18 -0
- data/app/assets/stylesheets/pwb/themes/shared/liquid_templates.scss +37 -0
- data/app/assets/stylesheets/pwb/themes/shared/shame.scss +7 -0
- data/app/assets/stylesheets/pwb/themes/squares.scss +22 -0
- data/app/assets/stylesheets/pwb/themes/squares/vue-material-docs.scss +200 -0
- data/app/assets/stylesheets/pwb/themes/squares/vue-material-vars.scss +141 -0
- data/app/assets/stylesheets/pwb/themes/vic.scss +104 -0
- data/app/assets/stylesheets/pwb/themes/vic/general.scss +15 -0
- data/app/assets/stylesheets/pwb/themes/vic/landing.scss +189 -0
- data/app/assets/stylesheets/pwb/themes/vic/slider.scss +127 -0
- data/app/assets/stylesheets/pwb_admin_panel/application_legacy_1.scss +6 -0
- data/app/controllers/pwb/admin_panel_controller.rb +7 -1
- data/app/controllers/pwb/api/v1/clients_controller.rb +35 -0
- data/app/controllers/pwb/api/v1/contacts_controller.rb +41 -0
- data/app/controllers/pwb/api/v1/links_controller.rb +47 -0
- data/app/controllers/pwb/api/v1/page_controller.rb +117 -0
- data/app/controllers/pwb/api/v1/page_fragments_controller.rb +74 -0
- data/app/controllers/pwb/api/v1/properties_controller.rb +30 -9
- data/app/controllers/pwb/api/v1/sections_controller.rb +27 -26
- data/app/controllers/pwb/api/v1/website_controller.rb +11 -11
- data/app/controllers/pwb/application_controller.rb +22 -11
- data/app/controllers/pwb/{sections_controller.rb → contact_us_controller.rb} +24 -45
- data/app/controllers/pwb/css_controller.rb +5 -2
- data/app/controllers/pwb/pages_controller.rb +36 -0
- data/app/controllers/pwb/search_controller.rb +33 -11
- data/app/controllers/pwb/squares_controller.rb +48 -0
- data/app/controllers/pwb/welcome_controller.rb +30 -5
- data/app/helpers/pwb/application_helper.rb +50 -49
- data/app/helpers/pwb/css_helper.rb +14 -0
- data/app/helpers/pwb/navigation_helper.rb +82 -0
- data/app/models/pwb/contact.rb +25 -0
- data/app/models/pwb/content.rb +26 -8
- data/app/models/pwb/content_photo.rb +18 -0
- data/app/models/pwb/link.rb +41 -0
- data/app/models/pwb/message.rb +1 -1
- data/app/models/pwb/page.rb +227 -0
- data/app/models/pwb/page_content.rb +33 -0
- data/app/models/pwb/page_part.rb +17 -0
- data/app/models/pwb/preset_style.rb +37 -0
- data/app/models/pwb/prop.rb +4 -0
- data/app/models/pwb/website.rb +64 -9
- data/app/resources/pwb/api/v1/{section_resource.rb → client_resource.rb} +3 -4
- data/app/resources/pwb/api/v1/property_resource.rb +23 -4
- data/app/resources/pwb/api/v1/web_content_resource.rb +1 -1
- data/app/resources/pwb/api_public/v1/prop_resource.rb +9 -2
- data/{db/cms_fixtures/cms/layouts/about-us/content.html → app/themes/airbnb/views/layouts/pwb/_generic_modal.html.erb} +0 -0
- data/{db/cms_fixtures/cms/layouts/about-us/javascript.js → app/themes/airbnb/views/layouts/pwb/_login_modal.html.erb} +0 -0
- data/app/themes/airbnb/views/layouts/pwb/application.html.erb +82 -0
- data/app/themes/airbnb/views/pwb/_footer.html.erb +25 -0
- data/app/themes/airbnb/views/pwb/props/_images_section_carousel.html.erb +43 -0
- data/app/themes/airbnb/views/pwb/props/show.html.erb +69 -0
- data/app/themes/airbnb/views/pwb/search/_search_form_for_rent.html.erb +183 -0
- data/app/themes/airbnb/views/pwb/search/_search_results.html.erb +34 -0
- data/app/themes/airbnb/views/pwb/search/buy.html.erb +65 -0
- data/app/themes/airbnb/views/pwb/search/rent.html.erb +87 -0
- data/app/themes/airbnb/views/pwb/sections/_contact_us_form.html.erb +49 -0
- data/app/themes/airbnb/views/pwb/sections/contact_us.html.erb +56 -0
- data/app/themes/airbnb/views/pwb/welcome/_content_area_cols.html.erb +12 -0
- data/app/themes/airbnb/views/pwb/welcome/_single_property_row.html.erb +51 -0
- data/app/themes/airbnb/views/pwb/welcome/index.html.erb +66 -0
- data/app/themes/berlin/views/pwb/_footer.html.erb +15 -20
- data/app/themes/berlin/views/pwb/_header.html.erb +7 -9
- data/app/themes/berlin/views/pwb/pages/show.html.erb +50 -0
- data/app/themes/berlin/views/pwb/search/buy.html.erb +1 -1
- data/app/themes/berlin/views/pwb/search/rent.html.erb +1 -2
- data/app/themes/berlin/views/pwb/sections/contact_us.html.erb +1 -1
- data/app/themes/berlin/views/pwb/welcome/index.html.erb +51 -7
- data/app/themes/config.json +14 -0
- data/app/themes/default/views/pwb/{sections/cms.html.erb → pages/show.html.erb} +9 -8
- data/app/themes/default/views/pwb/search/buy.html.erb +1 -1
- data/app/themes/default/views/pwb/search/rent.html.erb +1 -1
- data/app/themes/default/views/pwb/sections/about_us.html.erb +8 -7
- data/app/themes/default/views/pwb/sections/contact_us.html.erb +40 -30
- data/app/themes/default/views/pwb/sections/static.html.erb +3 -20
- data/app/themes/default/views/pwb/welcome/_single_property_row.html.erb +1 -1
- data/app/themes/default/views/pwb/welcome/index.html.erb +7 -38
- data/app/themes/matt/views/layouts/pwb/application.html.erb +45 -0
- data/app/themes/matt/views/pwb/_footer.html.erb +60 -0
- data/app/themes/matt/views/pwb/_header.html.erb +105 -0
- data/app/themes/matt/views/pwb/search/buy.html.erb +65 -0
- data/app/themes/matt/views/pwb/welcome/index.html.erb +132 -0
- data/app/themes/vic/views/layouts/pwb/application.html.erb +94 -0
- data/app/themes/vic/views/pwb/_header.html.erb +100 -0
- data/app/themes/vic/views/pwb/props/_images_section_carousel.html.erb +43 -0
- data/app/themes/vic/views/pwb/props/show.html.erb +69 -0
- data/app/themes/vic/views/pwb/search/buy.html.erb +65 -0
- data/app/themes/vic/views/pwb/search/rent.html.erb +65 -0
- data/app/themes/vic/views/pwb/sections/_contact_us_form.html.erb +49 -0
- data/app/themes/vic/views/pwb/sections/contact_us.html.erb +56 -0
- data/app/themes/vic/views/pwb/welcome/_content_area_cols.html.erb +12 -0
- data/app/themes/vic/views/pwb/welcome/_single_property_row.html.erb +51 -0
- data/app/themes/vic/views/pwb/welcome/index.html.erb +27 -0
- data/app/views/devise/shared/_links.html.erb +1 -1
- data/app/views/layouts/pwb/admin_panel_error.html.erb +19 -0
- data/app/views/layouts/pwb/admin_panel_legacy_1.html.erb +21 -0
- data/app/views/layouts/pwb/squares.html.erb +72 -0
- data/app/views/pwb/_footer.html.erb +2 -6
- data/app/views/pwb/_header.html.erb +23 -25
- data/app/views/pwb/admin_panel/show_legacy_1.html.erb +3 -0
- data/app/views/pwb/custom_css/_berlin.css.erb +0 -67
- data/app/views/pwb/custom_css/_default.css.erb +0 -22
- data/app/views/pwb/custom_css/_shared.css.erb +4 -3
- data/app/views/pwb/custom_css/_vic.css.erb +10 -0
- data/app/views/pwb/props/_images_section_carousel.html.erb +1 -1
- data/app/views/pwb/search/_search_result_item.html.erb +1 -1
- data/app/views/pwb/squares/show_client.html.erb +26 -0
- data/app/views/pwb/squares/show_prop.html.erb +26 -0
- data/app/views/pwb/squares/vue.html.erb +1 -0
- data/config/client_setups/default.json +28 -27
- data/config/initializers/i18n_globalise.rb +4 -0
- data/config/locales/admin.en.yml +38 -7
- data/config/locales/admin.es.yml +60 -6
- data/config/locales/admin.pt.yml +474 -0
- data/config/locales/admin.ru.yml +49 -6
- data/config/locales/devise.it.yml +137 -0
- data/config/locales/en.yml +7 -7
- data/config/locales/it.yml +160 -0
- data/config/locales/pt.yml +2 -0
- data/config/locales/rails.it.yml +213 -0
- data/config/locales/tr.yml +36 -36
- data/config/locales/vi.yml +5 -5
- data/config/preset_styles/green_amber.json +23 -0
- data/config/preset_styles/purple_teal.json +23 -0
- data/config/preset_styles/red_light.json +18 -0
- data/config/routes.rb +35 -23
- data/db/example_images/carousel_villa_with_pool.jpg +0 -0
- data/db/example_images/flat_luxury_dining_area.jpg +0 -0
- data/db/example_images/flat_luxury_living_area.jpg +0 -0
- data/db/migrate/20161120103546_create_pwb_props.rb +3 -3
- data/db/migrate/20161122174847_create_pwb_sections.rb +9 -8
- data/db/migrate/20161128221919_create_pwb_clients.rb +1 -0
- data/db/migrate/20170315195413_add_extra_cols_to_pwb_sections.rb +7 -6
- data/db/migrate/20170716075456_create_pwb_pages.rb +23 -0
- data/db/migrate/20170716110121_translate_pages.rb +17 -0
- data/db/migrate/20170720183443_create_pwb_links.rb +29 -0
- data/db/migrate/20170720201601_translate_links.rb +13 -0
- data/db/migrate/20170915094326_create_pwb_page_contents.rb +17 -0
- data/db/migrate/20170917215533_add_page_part_key_to_pwb_contents.rb +7 -0
- data/db/migrate/20170919134945_add_block_key_to_pwb_content_photos.rb +5 -0
- data/db/migrate/20170923195321_create_pwb_contacts.rb +33 -0
- data/db/migrate/20171011212930_create_pwb_page_parts.rb +30 -0
- data/db/seeds/translations_es.rb +1 -87
- data/db/seeds/translations_it.rb +92 -0
- data/db/yml_seeds/agency_address.yml +8 -8
- data/db/yml_seeds/contacts.yml +13 -0
- data/db/yml_seeds/content_translations/en.yml +73 -0
- data/db/yml_seeds/content_translations/es.yml +74 -0
- data/db/yml_seeds/content_translations/it.yml +73 -0
- data/db/yml_seeds/content_translations/pt.yml +73 -0
- data/db/yml_seeds/{content/footer.yml → footer.yml} +0 -0
- data/db/yml_seeds/links.yml +389 -0
- data/db/yml_seeds/page_parts/ABOUT_PAGE_PARTS.md +5 -0
- data/db/yml_seeds/page_parts/about-us__content_html.yml +24 -0
- data/db/yml_seeds/page_parts/about-us__our_agency.yml +51 -0
- data/db/yml_seeds/page_parts/contact-us__content_html.yml +24 -0
- data/db/yml_seeds/page_parts/contact-us__form_and_map.yml +17 -0
- data/db/yml_seeds/page_parts/home__about_us_services.yml +85 -0
- data/db/yml_seeds/page_parts/home__content_html.yml +24 -0
- data/db/yml_seeds/page_parts/home__landing_hero.yml +51 -0
- data/db/yml_seeds/page_parts/legal__content_html.yml +24 -0
- data/db/yml_seeds/page_parts/privacy__content_html.yml +24 -0
- data/db/yml_seeds/page_parts/sell__content_html.yml +24 -0
- data/db/yml_seeds/pages/about.yml +11 -0
- data/db/yml_seeds/pages/buy.yml +23 -0
- data/db/yml_seeds/pages/contact.yml +12 -0
- data/db/yml_seeds/pages/home.yml +15 -0
- data/db/yml_seeds/pages/legal_notice.yml +11 -0
- data/db/yml_seeds/pages/privacy_policy.yml +11 -0
- data/db/yml_seeds/pages/rent.yml +15 -0
- data/db/yml_seeds/pages/sell.yml +13 -0
- data/db/yml_seeds/prop/flat_for_rent.yml +11 -11
- data/db/yml_seeds/prop/flat_for_rent_2.yml +57 -0
- data/db/yml_seeds/prop/flat_for_sale.yml +11 -12
- data/db/yml_seeds/prop/flat_for_sale_2.yml +56 -0
- data/db/yml_seeds/prop/villa_for_rent.yml +14 -14
- data/db/yml_seeds/prop/villa_for_sale.yml +15 -15
- data/db/yml_seeds/prop_spain/flat_for_rent.yml +58 -0
- data/db/yml_seeds/prop_spain/flat_for_sale.yml +58 -0
- data/db/yml_seeds/prop_spain/villa_for_rent.yml +58 -0
- data/db/yml_seeds/prop_spain/villa_for_sale.yml +59 -0
- data/db/yml_seeds/sections.yml +119 -119
- data/db/yml_seeds/{content → to_delete}/about_us.yml +0 -0
- data/db/yml_seeds/{content → to_delete}/carousel.yml +0 -0
- data/db/yml_seeds/{content → to_delete}/content_columns.yml +0 -0
- data/db/yml_seeds/to_delete/footer.yml +15 -0
- data/db/yml_seeds/{content → to_delete}/sell.yml +0 -0
- data/db/yml_seeds/{content → to_delete}/static.yml +0 -0
- data/db/yml_seeds/website.yml +2 -1
- data/lib/pwb/engine.rb +16 -2
- data/lib/pwb/pages_seeder.rb +190 -0
- data/lib/pwb/seeder.rb +56 -14
- data/lib/pwb/version.rb +1 -1
- data/lib/tasks/pwb_tasks.rake +19 -2
- data/spec/controllers/pwb/api/v1/propeties_controller_spec.rb +2 -2
- data/spec/controllers/pwb/welcome_controller_spec.rb +18 -5
- data/spec/dummy/config/initializers/assets.rb +9 -0
- data/spec/dummy/config/routes.rb +2 -0
- data/spec/dummy/config/secrets.yml +3 -0
- data/spec/dummy/db/migrate/20171201161323_create_property_web_scraper_import_hosts.property_web_scraper.rb +22 -0
- data/spec/dummy/db/migrate/20171201161324_create_property_web_scraper_listings.property_web_scraper.rb +84 -0
- data/spec/dummy/db/schema.rb +475 -398
- data/spec/factories/pwb_contacts.rb +5 -0
- data/spec/factories/pwb_contents.rb +3 -0
- data/spec/factories/pwb_links.rb +5 -0
- data/spec/factories/pwb_page_contents.rb +5 -0
- data/spec/factories/pwb_page_parts.rb +8 -0
- data/spec/factories/pwb_pages.rb +29 -0
- data/spec/factories/pwb_prop_photos.rb +11 -2
- data/spec/fixtures/mls/properties_interealty.json +1 -496
- data/spec/fixtures/params/bulk_create.json +3 -3
- data/spec/libraries/pwb/pages_seeder_spec.rb +56 -0
- data/spec/libraries/pwb/seeder_spec.rb +14 -10
- data/spec/models/pwb/contact_spec.rb +7 -0
- data/spec/models/pwb/link_spec.rb +7 -0
- data/spec/models/pwb/page_content_spec.rb +7 -0
- data/spec/models/pwb/page_part_spec.rb +7 -0
- data/spec/models/pwb/page_spec.rb +28 -0
- data/spec/models/pwb/website_spec.rb +10 -0
- data/spec/rails_helper.rb +1 -1
- data/spec/requests/pwb/themes_spec.rb +15 -10
- data/spec/views/pwb/application_layout.html.erb_spec.rb +28 -21
- data/spec/views/pwb/contact_us.html.erb_spec.rb +11 -0
- data/spec/views/pwb/welcome.html.erb_spec.rb +13 -9
- metadata +230 -244
- data/app/controllers/pwb/api/v1/cms_pages_controller.rb +0 -102
- data/app/controllers/pwb/comfy_controller.rb +0 -106
- data/app/models/pwb/cms_page_container.rb +0 -9
- data/app/models/pwb/section.rb +0 -35
- data/app/models/pwb/welcome.rb +0 -4
- data/app/resources/pwb/api/v1/cms_block_resource.rb +0 -11
- data/app/resources/pwb/api/v1/cms_page_resource.rb +0 -27
- data/app/themes/berlin/views/pwb/sections/about_us.html.erb +0 -59
- data/app/themes/berlin/views/pwb/sections/cms.html.erb +0 -34
- data/app/themes/berlin/views/pwb/sections/static.html.erb +0 -58
- data/app/views/pwb/search/_search_result_item_to_del.html.erb +0 -56
- data/config/cms_page_containers/about-us.json +0 -18
- data/config/cms_page_containers/about.json +0 -107
- data/config/cms_page_containers/landing.json +0 -19
- data/config/cms_page_containers/legal.json +0 -17
- data/config/cms_page_containers/sell.json +0 -96
- data/config/initializers/comfortable_mexican_sofa.rb +0 -142
- data/config/initializers/i18n.rb +0 -1
- data/db/cms_fixtures/cms/categories/pages.yml +0 -3
- data/db/cms_fixtures/cms/files/_rerenting-landing_framed.png.yml +0 -6
- data/db/cms_fixtures/cms/files/rerenting-landing_framed.png +0 -0
- data/db/cms_fixtures/cms/layouts/about-us/attributes.yml +0 -4
- data/db/cms_fixtures/cms/layouts/about-us/people/attributes.yml +0 -4
- data/db/cms_fixtures/cms/layouts/about-us/people/content.html +0 -55
- data/db/cms_fixtures/cms/layouts/about-us/services/attributes.yml +0 -4
- data/db/cms_fixtures/cms/layouts/about-us/services/content.html +0 -32
- data/db/cms_fixtures/cms/layouts/about-us/services/javascript.js +0 -0
- data/db/cms_fixtures/cms/layouts/about-us/services/stylesheet.css +0 -0
- data/db/cms_fixtures/cms/layouts/about-us/stylesheet.css +0 -0
- data/db/cms_fixtures/cms/layouts/default-layout/attributes.yml +0 -4
- data/db/cms_fixtures/cms/layouts/default-layout/content.html +0 -51
- data/db/cms_fixtures/cms/layouts/default-layout/javascript.js +0 -0
- data/db/cms_fixtures/cms/layouts/default-layout/stylesheet.css +0 -0
- data/db/cms_fixtures/cms/pages/index/about-us/attributes.yml +0 -8
- data/db/cms_fixtures/cms/pages/index/about-us/people/attributes.yml +0 -8
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/attributes.yml +0 -8
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_details_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_details_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_details_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_details_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_img_url_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_img_url_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_img_url_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_img_url_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_name_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_name_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_name_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_name_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_title_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_title_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_title_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/de/person_title_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/attributes.yml +0 -8
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_details_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_details_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_details_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_details_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_img_url_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_img_url_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_img_url_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_img_url_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_name_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_name_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_name_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_name_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_title_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_title_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_title_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/en/person_title_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/attributes.yml +0 -8
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_details_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_details_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_details_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_details_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_img_url_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_img_url_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_img_url_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_img_url_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_name_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_name_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_name_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_name_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_title_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_title_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_title_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/es/person_title_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/attributes.yml +0 -8
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/person_details_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/person_details_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/person_details_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/person_details_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/person_name_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/person_name_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/person_name_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/person_name_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/person_title_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/person_title_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/person_title_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/pt/person_title_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/attributes.yml +0 -8
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_details_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_details_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_details_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_details_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_img_url_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_img_url_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_img_url_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_img_url_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_name_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_name_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_name_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_name_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_title_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_title_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_title_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/people/ru/person_title_d.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/attributes.yml +0 -8
- data/db/cms_fixtures/cms/pages/index/about-us/services/content_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/content_b.html +0 -0
- data/db/cms_fixtures/cms/pages/index/about-us/services/content_c.html +0 -0
- data/db/cms_fixtures/cms/pages/index/about-us/services/de/attributes.yml +0 -8
- data/db/cms_fixtures/cms/pages/index/about-us/services/de/content_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/de/content_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/de/content_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/de/title_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/de/title_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/de/title_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/en/attributes.yml +0 -8
- data/db/cms_fixtures/cms/pages/index/about-us/services/en/content_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/en/content_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/en/content_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/en/title_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/en/title_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/en/title_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/es/attributes.yml +0 -8
- data/db/cms_fixtures/cms/pages/index/about-us/services/es/content_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/es/content_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/es/content_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/es/title_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/es/title_b.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/es/title_c.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/title_a.html +0 -1
- data/db/cms_fixtures/cms/pages/index/about-us/services/title_b.html +0 -0
- data/db/cms_fixtures/cms/pages/index/about-us/services/title_c.html +0 -0
- data/db/cms_fixtures/cms/pages/index/attributes.yml +0 -8
- data/db/cms_fixtures/cms/pages/index/content.html +0 -1
- data/db/cms_fixtures/cms/pages/index/title.html +0 -0
- data/db/cms_fixtures/cms/snippets/snippet1/attributes.yml +0 -3
- data/db/cms_fixtures/cms/snippets/snippet1/content.html +0 -1
- data/db/cms_fixtures/sample-site/categories/files.yml +0 -1
- data/db/cms_fixtures/sample-site/categories/pages.yml +0 -1
- data/db/cms_fixtures/sample-site/categories/snippets.yml +0 -1
- data/db/cms_fixtures/sample-site/files/_sample.jpg.yml +0 -5
- data/db/cms_fixtures/sample-site/files/sample.jpg +0 -0
- data/db/cms_fixtures/sample-site/layouts/default/attributes.yml +0 -1
- data/db/cms_fixtures/sample-site/layouts/default/content.html +0 -5
- data/db/cms_fixtures/sample-site/layouts/default/javascript.js +0 -1
- data/db/cms_fixtures/sample-site/layouts/default/nested/attributes.yml +0 -2
- data/db/cms_fixtures/sample-site/layouts/default/nested/content.haml +0 -3
- data/db/cms_fixtures/sample-site/layouts/default/nested/javascript.js +0 -1
- data/db/cms_fixtures/sample-site/layouts/default/nested/stylesheet.css +0 -1
- data/db/cms_fixtures/sample-site/layouts/default/stylesheet.css +0 -1
- data/db/cms_fixtures/sample-site/pages/index/attributes.yml +0 -6
- data/db/cms_fixtures/sample-site/pages/index/child/attributes.yml +0 -3
- data/db/cms_fixtures/sample-site/pages/index/child/left.haml +0 -1
- data/db/cms_fixtures/sample-site/pages/index/child/right.html +0 -1
- data/db/cms_fixtures/sample-site/pages/index/child/thumbnail.png +0 -0
- data/db/cms_fixtures/sample-site/pages/index/content.html +0 -2
- data/db/cms_fixtures/sample-site/snippets/default/attributes.yml +0 -4
- data/db/cms_fixtures/sample-site/snippets/default/content.html +0 -1
- data/db/migrate/20170315212222_translate_sections.rb +0 -15
- data/db/migrate/20170513221300_create_cms.rb +0 -133
- data/lib/pwb/cms_data_loader.rb +0 -38
- data/spec/dummy/log/development.log +0 -0
- data/spec/dummy/log/test.log +0 -0
- data/spec/dummy/public/uploads/pwb/content_photo/image/1/carousel_windows.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/content_photo/image/2/carousel_deck_chair.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/content_photo/image/3/carousel_grass.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/content_photo/image/4/carousel_grass.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/1/flat_balcony.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/1/gdaje3atcct1gx2ngv9u.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/1/new_villa.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/2/flat_balcony.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/2/kitchen_modern.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/2/rxo23syongfydjpoizrd.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/3/mansion_front.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/3/vzlptgtccsk2d2ewp4id.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/4/mansion_bedroom.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/4/xwayprwnmmmhrzrgwvch.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/5/flat_window.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/5/ilxn2u37bak0v60u6f8q.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/6/kitchen_classic.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/7/flat_balcony.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/8/lounge_cosy.jpg +0 -0
- data/spec/factories/pwb_sections.rb +0 -4
- data/spec/models/pwb/section_spec.rb +0 -11
@@ -1,102 +0,0 @@
|
|
1
|
-
module Pwb
|
2
|
-
# http://localhost:3000/api/v1/cms-pages.json
|
3
|
-
class Api::V1::CmsPagesController < JSONAPI::ResourceController
|
4
|
-
# skip_before_action :verify_content_type_header
|
5
|
-
# Skipping action below allows me to browse to endpoint
|
6
|
-
# without having set mime type
|
7
|
-
skip_before_action :ensure_valid_accept_media_type
|
8
|
-
# skip_before_action :verify_accept_header
|
9
|
-
|
10
|
-
def set_photo
|
11
|
-
# This only creates a content photo
|
12
|
-
# - does not associate it with a cms page yet
|
13
|
-
photo = ContentPhoto.create
|
14
|
-
# TODO: - figure out how to remove orphaned photos
|
15
|
-
if params[:file]
|
16
|
-
photo.image = params[:file]
|
17
|
-
end
|
18
|
-
photo.save!
|
19
|
-
photo.reload
|
20
|
-
render json: photo.to_json
|
21
|
-
end
|
22
|
-
|
23
|
-
def meta
|
24
|
-
@admin_setup = Pwb::CmsPageContainer.where(name: params[:page_name]).first || {}
|
25
|
-
render json: @admin_setup.as_json["attributes"]
|
26
|
-
end
|
27
|
-
|
28
|
-
def create
|
29
|
-
new_page = Comfy::Cms::Page.new(cms_page_create_params["attributes"].except("blocks"))
|
30
|
-
cms_page_create_params[:attributes][:blocks].each do |block_params|
|
31
|
-
new_block = Comfy::Cms::Block.new block_params
|
32
|
-
new_block.identifier = "idd"
|
33
|
-
new_block.save!
|
34
|
-
new_page.blocks << new_block
|
35
|
-
end
|
36
|
-
|
37
|
-
new_page.site_id = 1
|
38
|
-
new_page.layout_id = 1
|
39
|
-
# new_page.slug = "en"
|
40
|
-
byebug
|
41
|
-
new_page.label = "lbl"
|
42
|
-
|
43
|
-
new_page.save!
|
44
|
-
|
45
|
-
serialized_page = JSONAPI::ResourceSerializer.new(Pwb::Api::V1::CmsPageResource).serialize_to_hash(Pwb::Api::V1::CmsPageResource.new(new_page, nil))
|
46
|
-
# updated_caches.push {}
|
47
|
-
# serialized_page[:data]["attributes"]["updated-caches"] = updated_caches
|
48
|
-
render json: serialized_page
|
49
|
-
|
50
|
-
end
|
51
|
-
|
52
|
-
def update
|
53
|
-
updated_caches = []
|
54
|
-
refresh_all_locales = false
|
55
|
-
cms_page_update_params[:attributes][:blocks].each do |block_params|
|
56
|
-
block = Comfy::Cms::Block.find block_params[:id]
|
57
|
-
if block_params[:is_image]
|
58
|
-
# for images I want to update all language variants of the block
|
59
|
-
cross_locale_blocks = Comfy::Cms::Block.where(identifier: block_params[:identifier])
|
60
|
-
cross_locale_blocks.each do |cross_locale_block|
|
61
|
-
cross_locale_block.update block_params.slice :content
|
62
|
-
end
|
63
|
-
refresh_all_locales = true
|
64
|
-
else
|
65
|
-
block.update block_params.slice :content
|
66
|
-
end
|
67
|
-
# blocks.push block
|
68
|
-
end
|
69
|
-
|
70
|
-
if refresh_all_locales
|
71
|
-
pages = Comfy::Cms::Page.where(label: cms_page_update_params[:attributes][:label])
|
72
|
-
pages.each do |page|
|
73
|
-
page.clear_content_cache
|
74
|
-
updated_caches.push({
|
75
|
-
page_id: page.id,
|
76
|
-
page_content_cache: page.content_cache
|
77
|
-
})
|
78
|
-
end
|
79
|
-
else
|
80
|
-
page = Comfy::Cms::Page.find cms_page_update_params[:id]
|
81
|
-
page.clear_content_cache
|
82
|
-
# need to call content_cache again for refresh
|
83
|
-
page.content_cache
|
84
|
-
end
|
85
|
-
|
86
|
-
# below ensures valid json_api response is sent:
|
87
|
-
page = Comfy::Cms::Page.find cms_page_update_params[:id]
|
88
|
-
serialized_page = JSONAPI::ResourceSerializer.new(Pwb::Api::V1::CmsPageResource).serialize_to_hash(Pwb::Api::V1::CmsPageResource.new(page, nil))
|
89
|
-
updated_caches.push {}
|
90
|
-
serialized_page[:data]["attributes"]["updated-caches"] = updated_caches
|
91
|
-
# [{id: 22, cc: "dddd"}]
|
92
|
-
render json: serialized_page
|
93
|
-
end
|
94
|
-
|
95
|
-
def cms_page_create_params
|
96
|
-
params.require(:data).permit(attributes: [:slug, :site_id, :label, blocks: [:content, :identifier, :info, :is_image]])
|
97
|
-
end
|
98
|
-
def cms_page_update_params
|
99
|
-
params.require(:data).permit(:id, attributes: [:label, blocks: [:content, :id, :identifier, :info, :is_image]])
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
@@ -1,106 +0,0 @@
|
|
1
|
-
require_dependency 'pwb/application_controller'
|
2
|
-
|
3
|
-
module Pwb
|
4
|
-
# based on
|
5
|
-
# comfortable-mexican-sofa/app/controllers/comfy/cms/content_controller.rb
|
6
|
-
class ComfyController < ApplicationController
|
7
|
-
# Comfy::Cms::BaseController
|
8
|
-
|
9
|
-
# Authentication module must have `authenticate` method
|
10
|
-
include ComfortableMexicanSofa.config.public_auth.to_s.constantize
|
11
|
-
|
12
|
-
# Authorization module must have `authorize` method
|
13
|
-
include ComfortableMexicanSofa.config.public_authorization.to_s.constantize
|
14
|
-
|
15
|
-
before_action :load_cms_site
|
16
|
-
# before_action :load_fixtures
|
17
|
-
# before_action :load_cms_page
|
18
|
-
# :authenticate,
|
19
|
-
# :authorize,
|
20
|
-
# :only => :show
|
21
|
-
|
22
|
-
rescue_from ActiveRecord::RecordNotFound, with: :page_not_found
|
23
|
-
|
24
|
-
def show
|
25
|
-
@cms_pages = []
|
26
|
-
|
27
|
-
begin
|
28
|
-
cms_page_container = Pwb::CmsPageContainer.find(params[:page_slug])
|
29
|
-
@title_key = cms_page_container.pageTitleKey
|
30
|
-
cms_page_container.cmsPartsList.each do |cms_part|
|
31
|
-
@cms_page = Comfy::Cms::Page.where({label: cms_part["label"], slug: I18n.locale}).first
|
32
|
-
# @cms_site.pages.published.find_by_full_path!("/about-us/services")
|
33
|
-
@cms_pages.push @cms_page if @cms_page
|
34
|
-
end
|
35
|
-
rescue ActiveHash::RecordNotFound
|
36
|
-
end
|
37
|
-
|
38
|
-
@content_area_cols = Content.where(tag: 'content-area-cols').order('sort_order')
|
39
|
-
|
40
|
-
render "/pwb/sections/cms"
|
41
|
-
|
42
|
-
# cms_page_path = "/#{params[:page_slug]}-page"
|
43
|
-
# https://github.com/comfy/comfortable-mexican-sofa/wiki/View-rendering
|
44
|
-
# below makes use of Comfy view rendering:
|
45
|
-
|
46
|
-
# return render :cms_page => cms_page_path, :layout => "pwb/application", :cms_blocks => {
|
47
|
-
# :jumbotron => 'Content About Events'
|
48
|
-
# # :column_b => { :template => '/events/index' },
|
49
|
-
# # :column_c => { :partial => '/events/calendar' }
|
50
|
-
# }
|
51
|
-
# return render @cms_page.content_cache
|
52
|
-
# , layout: "application"
|
53
|
-
end
|
54
|
-
|
55
|
-
def render_sitemap
|
56
|
-
render
|
57
|
-
end
|
58
|
-
|
59
|
-
protected
|
60
|
-
|
61
|
-
def load_cms_site
|
62
|
-
# TODO: - load diff sites depending on locale//
|
63
|
-
@cms_site = ::Comfy::Cms::Site.find_by_locale :es
|
64
|
-
# (::Comfy::Cms::Site.find_by_locale I18n.locale) || (::Comfy::Cms::Site.find_by_locale :en)
|
65
|
-
end
|
66
|
-
|
67
|
-
# def render_page(status = 200)
|
68
|
-
# # below will ren
|
69
|
-
# if @cms_layout = @cms_page.layout
|
70
|
-
# # app_layout = (@cms_layout.app_layout.blank? || request.xhr?) ? false : @cms_layout.app_layout
|
71
|
-
# app_layout = "application"
|
72
|
-
# render :inline => @cms_page.content_cache,
|
73
|
-
# :layout => app_layout,
|
74
|
-
# :status => status,
|
75
|
-
# :content_type => mime_type
|
76
|
-
# else
|
77
|
-
# render :plain => I18n.t('comfy.cms.content.layout_not_found'), :status => 404
|
78
|
-
# end
|
79
|
-
# end
|
80
|
-
|
81
|
-
# it's possible to control mimetype of a page by creating a `mime_type` field
|
82
|
-
def mime_type
|
83
|
-
mime_block = @cms_page.blocks.find_by_identifier(:mime_type)
|
84
|
-
mime_block && mime_block.content || 'text/html'
|
85
|
-
end
|
86
|
-
|
87
|
-
def load_fixtures
|
88
|
-
return unless ComfortableMexicanSofa.config.enable_fixtures
|
89
|
-
ComfortableMexicanSofa::Fixture::Importer.new(@cms_site.identifier).import!
|
90
|
-
end
|
91
|
-
|
92
|
-
def load_cms_page(_page_key)
|
93
|
-
@cms_page = @cms_site.pages.published.find_by_full_path!("/[:cms_path]")
|
94
|
-
end
|
95
|
-
|
96
|
-
def page_not_found
|
97
|
-
@cms_page = @cms_site.pages.published.find_by_full_path!('/404')
|
98
|
-
|
99
|
-
respond_to do |format|
|
100
|
-
format.html { render_page(404) }
|
101
|
-
end
|
102
|
-
rescue ActiveRecord::RecordNotFound
|
103
|
-
raise ActionController::RoutingError, "Page Not Found at: \"#{params[:cms_path]}\""
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
module Pwb
|
2
|
-
# https://github.com/zilkey/active_hash
|
3
|
-
class CmsPageContainer < ActiveJSON::Base
|
4
|
-
set_root_path "#{Pwb::Engine.root}/config/cms_page_containers"
|
5
|
-
# set_filename "client_setups"
|
6
|
-
use_multiple_files
|
7
|
-
set_filenames "about-us", "sell", "legal", "about", "landing"
|
8
|
-
end
|
9
|
-
end
|
data/app/models/pwb/section.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
module Pwb
|
2
|
-
class Section < ApplicationRecord
|
3
|
-
translates :page_title, fallbacks_for_empty_translations: true
|
4
|
-
translates :link_title, fallbacks_for_empty_translations: true
|
5
|
-
globalize_accessors locales: I18n.available_locales
|
6
|
-
# [:en, :ca, :es, :fr, :ar, :de, :ru, :pt]
|
7
|
-
|
8
|
-
has_many :contents, foreign_key: "section_key", primary_key: "link_path"
|
9
|
-
|
10
|
-
def as_json(options = nil)
|
11
|
-
super({only: [
|
12
|
-
:link_key, :link_path, :visible, :sort_order, :id,
|
13
|
-
:show_in_top_nav, :show_in_footer, :is_page, :details
|
14
|
-
],
|
15
|
-
methods: [:translation_key, :link_title_es, :page_title_es]
|
16
|
-
}.merge(options || {}))
|
17
|
-
end
|
18
|
-
|
19
|
-
def translation_key
|
20
|
-
return "navbar." + self.link_key
|
21
|
-
end
|
22
|
-
|
23
|
-
# t.string :link_key
|
24
|
-
# t.string :link_path
|
25
|
-
# t.integer :sort_order
|
26
|
-
# t.boolean :visible
|
27
|
-
# t.timestamps null: false
|
28
|
-
# add_column :pwb_sections, :flags, :integer, default: 0, index: true, null: false
|
29
|
-
# add_column :pwb_sections, :details, :json, default: {}
|
30
|
-
# add_column :pwb_sections, :is_page, :boolean, default: false, index: true
|
31
|
-
# add_column :pwb_sections, :show_in_top_nav, :boolean, default: false, index: true
|
32
|
-
# add_column :pwb_sections, :show_in_footer, :boolean, default: false, index: true
|
33
|
-
# add_column :pwb_sections, :key, :string, index: true
|
34
|
-
end
|
35
|
-
end
|
data/app/models/pwb/welcome.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
module Pwb
|
2
|
-
class Api::V1::CmsPageResource < JSONAPI::Resource
|
3
|
-
model_name 'Comfy::Cms::Page'
|
4
|
-
# model_hint model: Pwb::Prop, resource: :lite_properties
|
5
|
-
|
6
|
-
attributes :label, :slug, :full_path,
|
7
|
-
:blocks, :tags, :categories,
|
8
|
-
:locale, :content_cache,
|
9
|
-
# below 2 are not used in admin panel
|
10
|
-
# but need to be populated when creating new page
|
11
|
-
:site_id, :layout
|
12
|
-
|
13
|
-
filters :label, :full_path
|
14
|
-
has_many :cms_blocks
|
15
|
-
|
16
|
-
# TODO - add locale col to Cms::Page
|
17
|
-
def locale
|
18
|
-
# return @model.site.locale
|
19
|
-
return @model.slug
|
20
|
-
end
|
21
|
-
|
22
|
-
|
23
|
-
def self.creatable_fields(context)
|
24
|
-
super - [:locale]
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
<% page_title @current_agency.company_name %>
|
2
|
-
<%= render '/pwb/meta_tags' %>
|
3
|
-
<section id="top-container" style="<%= bg_image @header_image, height: 800, crop: "scale", quality: "auto" %>">
|
4
|
-
<div class="container">
|
5
|
-
<div class="row">
|
6
|
-
<div class="col-md-12">
|
7
|
-
<div class="top-container-inner">
|
8
|
-
<h2>
|
9
|
-
<%= I18n.t("aboutUs") %>
|
10
|
-
</h2>
|
11
|
-
<div>
|
12
|
-
<ol class="breadcrumb">
|
13
|
-
<li>
|
14
|
-
<a href="/">
|
15
|
-
<%= I18n.t("webContentSections.home") %>
|
16
|
-
</a>
|
17
|
-
</li>
|
18
|
-
<li class="active">
|
19
|
-
<%= I18n.t("aboutUs") %>
|
20
|
-
</li>
|
21
|
-
</ol>
|
22
|
-
</div>
|
23
|
-
</div>
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
</div>
|
27
|
-
</section>
|
28
|
-
<section id="aa-main">
|
29
|
-
<div class="container">
|
30
|
-
<div class="col-md-12">
|
31
|
-
<div class="aa-main-area">
|
32
|
-
<div class="row">
|
33
|
-
<div class="col-md-6">
|
34
|
-
<%= opt_image_tag(@content.default_photo, :quality => "auto", height: 600, crop: "scale", class: "img-responsive about-us-img") %>
|
35
|
-
</div>
|
36
|
-
<div class="col-md-6">
|
37
|
-
<div class="section-title-wr mt-40">
|
38
|
-
<h3 class="section-title left">
|
39
|
-
<span>
|
40
|
-
<%= I18n.t("aboutUs") %>
|
41
|
-
</span>
|
42
|
-
</h3>
|
43
|
-
</div>
|
44
|
-
<div>
|
45
|
-
<p>
|
46
|
-
<%== @content.raw %>
|
47
|
-
</p>
|
48
|
-
</div>
|
49
|
-
<div>
|
50
|
-
<% if @is_subdomain_admin %>
|
51
|
-
<%= link_to I18n.t("labels.edit"), "#{ "/" + I18n.locale.to_s + @content.urls['adminUrl'] }" %>
|
52
|
-
<% end %>
|
53
|
-
</div>
|
54
|
-
</div>
|
55
|
-
</div>
|
56
|
-
</div>
|
57
|
-
</div>
|
58
|
-
</div>
|
59
|
-
</section>
|
@@ -1,34 +0,0 @@
|
|
1
|
-
<% page_title @current_agency.company_name %>
|
2
|
-
<!-- MAIN CONTENT -->
|
3
|
-
<div class="pg-opt">
|
4
|
-
<div class="container">
|
5
|
-
<div class="row">
|
6
|
-
<div class="col-md-6">
|
7
|
-
<h2>
|
8
|
-
<%= I18n.t(@title_key) %>
|
9
|
-
</h2>
|
10
|
-
</div>
|
11
|
-
<div class="col-md-6" style="">
|
12
|
-
<ol class="breadcrumb">
|
13
|
-
<li><a href="/">
|
14
|
-
<%= I18n.t("webContentSections.home") %>
|
15
|
-
</a></li>
|
16
|
-
<li class="active">
|
17
|
-
<%= I18n.t(@title_key) %>
|
18
|
-
</li>
|
19
|
-
</ol>
|
20
|
-
</div>
|
21
|
-
</div>
|
22
|
-
</div>
|
23
|
-
</div>
|
24
|
-
|
25
|
-
<%# render '/pwb/welcome/content_area_cols' %>
|
26
|
-
|
27
|
-
|
28
|
-
<% @cms_pages.each do |cms_page| %>
|
29
|
-
<%== cms_page.content_cache %>
|
30
|
-
<% end %>
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
<!-- FOOTER -->
|
@@ -1,58 +0,0 @@
|
|
1
|
-
<% page_title @current_agency.company_name %>
|
2
|
-
<%= render '/pwb/meta_tags' %>
|
3
|
-
<section id="top-container" style="<%= bg_image @header_image, height: 800, crop: "scale", quality: "auto" %>">
|
4
|
-
<div class="container">
|
5
|
-
<div class="row">
|
6
|
-
<div class="col-md-12">
|
7
|
-
<div class="top-container-inner">
|
8
|
-
<h2>
|
9
|
-
<%= I18n.t(@title_key) %>
|
10
|
-
</h2>
|
11
|
-
<div>
|
12
|
-
<ol class="breadcrumb">
|
13
|
-
<li>
|
14
|
-
<a href="/">
|
15
|
-
<%= I18n.t("webContentSections.home") %>
|
16
|
-
</a>
|
17
|
-
</li>
|
18
|
-
<li class="active">
|
19
|
-
<%= I18n.t(@title_key) %>
|
20
|
-
</li>
|
21
|
-
</ol>
|
22
|
-
</div>
|
23
|
-
</div>
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
</div>
|
27
|
-
</section>
|
28
|
-
<section id="aa-main">
|
29
|
-
<div class="container">
|
30
|
-
<div class="col-md-12">
|
31
|
-
<div class="aa-main-area">
|
32
|
-
<div class="row">
|
33
|
-
<div class="col-md-11">
|
34
|
-
<div class="section-title-wr mt-40">
|
35
|
-
<h3 class="section-title left">
|
36
|
-
<span>
|
37
|
-
<%# I18n.t(@title_key) %>
|
38
|
-
</span>
|
39
|
-
</h3>
|
40
|
-
</div>
|
41
|
-
<div>
|
42
|
-
<p>
|
43
|
-
<%== @content.raw %>
|
44
|
-
</p>
|
45
|
-
</div>
|
46
|
-
<div>
|
47
|
-
<% if @is_subdomain_admin %>
|
48
|
-
<%= link_to I18n.t("labels.edit"), "#{ "/" + I18n.locale.to_s + @content.urls['adminUrl'] }" %>
|
49
|
-
<% end %>
|
50
|
-
</div>
|
51
|
-
</div>
|
52
|
-
<div class="col-md-1">
|
53
|
-
</div>
|
54
|
-
</div>
|
55
|
-
</div>
|
56
|
-
</div>
|
57
|
-
</div>
|
58
|
-
</section>
|