spree_essential_press 0.1.0.pre2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +8 -0
- data/Gemfile +4 -0
- data/LICENSE +23 -0
- data/README.md +26 -0
- data/Rakefile +40 -0
- data/Versionfile +2 -0
- data/app/controllers/admin/press_controller.rb +13 -0
- data/app/controllers/admin/press_images_controller.rb +37 -0
- data/app/controllers/admin/resource_controller.rb +225 -0
- data/app/controllers/press_controller.rb +7 -0
- data/app/models/press.rb +20 -0
- data/app/models/press_image.rb +41 -0
- data/app/validators/datetime_validator.rb +6 -0
- data/app/views/admin/hooks/_press_tab.html.erb +1 -0
- data/app/views/admin/press/_form.html.erb +40 -0
- data/app/views/admin/press/edit.html.erb +8 -0
- data/app/views/admin/press/index.html.erb +72 -0
- data/app/views/admin/press/new.html.erb +12 -0
- data/app/views/admin/press/show.html.erb +20 -0
- data/app/views/admin/press_images/_form.html.erb +8 -0
- data/app/views/admin/press_images/edit.html.erb +17 -0
- data/app/views/admin/press_images/index.html.erb +40 -0
- data/app/views/admin/press_images/new.html.erb +19 -0
- data/app/views/admin/shared/_press_tabs.html.erb +20 -0
- data/app/views/press/_press.html.erb +23 -0
- data/app/views/press/index.html.erb +15 -0
- data/config/locales/en.yml +47 -0
- data/config/routes.rb +11 -0
- data/lib/generators/essentials_base.rb +23 -0
- data/lib/generators/spree_essentials/press_generator.rb +16 -0
- data/lib/generators/templates/db/migrate/create_press.rb +16 -0
- data/lib/spree_core/action_callbacks.rb +26 -0
- data/lib/spree_essential_press.rb +32 -0
- data/lib/spree_essential_press/custom_hooks.rb +9 -0
- data/lib/spree_essential_press/inflection.rb +3 -0
- data/lib/spree_essential_press/version.rb +3 -0
- data/lib/tasks/sample.rake +35 -0
- data/lib/tasks/sample/sailing.jpg +0 -0
- data/lib/tasks/sample/sailing2.jpg +0 -0
- data/lib/tasks/sample/sailing3.jpg +0 -0
- data/public/javascripts/date.js +145 -0
- data/public/javascripts/jquery.autodate.js +112 -0
- data/spree_essential_press.gemspec +39 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +44 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +22 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +26 -0
- data/test/dummy/config/environments/production.rb +49 -0
- data/test/dummy/config/environments/test.rb +35 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +10 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +58 -0
- data/test/dummy/db/default/countries.yml +1583 -0
- data/test/dummy/db/default/roles.yml +7 -0
- data/test/dummy/db/default/states.yml +256 -0
- data/test/dummy/db/default/zone_members.yml +169 -0
- data/test/dummy/db/default/zones.yml +13 -0
- data/test/dummy/db/migrate/20090823005402_spree_zero_nine_zero.rb +442 -0
- data/test/dummy/db/migrate/20090904192342_create_indexes_for_inventory_units.rb +12 -0
- data/test/dummy/db/migrate/20090923100315_add_count_on_hand_to_variants_and_products.rb +36 -0
- data/test/dummy/db/migrate/20091007134354_change_taxons_to_nested_set.rb +40 -0
- data/test/dummy/db/migrate/20091008091614_move_to_configurable_gateways.rb +55 -0
- data/test/dummy/db/migrate/20091012120519_product_groups_and_scopes.rb +25 -0
- data/test/dummy/db/migrate/20091015110842_add_open_id_authentication_tables.rb +20 -0
- data/test/dummy/db/migrate/20091015153048_add_openid_field_to_users.rb +19 -0
- data/test/dummy/db/migrate/20091016174634_change_preference_value_type.rb +10 -0
- data/test/dummy/db/migrate/20091017175558_create_billing_integrations.rb +16 -0
- data/test/dummy/db/migrate/20091021133257_charge_refactoring.rb +35 -0
- data/test/dummy/db/migrate/20091104151730_add_some_indexes.rb +21 -0
- data/test/dummy/db/migrate/20091126190904_checkout_state_machine.rb +13 -0
- data/test/dummy/db/migrate/20091209153045_state_for_shipments.rb +9 -0
- data/test/dummy/db/migrate/20091209202200_make_state_events_polymorphic.rb +12 -0
- data/test/dummy/db/migrate/20091211203813_ship_address_id_for_checkouts.rb +9 -0
- data/test/dummy/db/migrate/20091212161118_shipping_method_id_for_checkouts.rb +9 -0
- data/test/dummy/db/migrate/20091213222815_creditcard_last_four_digits.rb +19 -0
- data/test/dummy/db/migrate/20091214183826_populate_legacy_shipment_state.rb +19 -0
- data/test/dummy/db/migrate/20100105090147_add_cost_price.rb +9 -0
- data/test/dummy/db/migrate/20100105132138_shipment_id_for_inventory_units.rb +21 -0
- data/test/dummy/db/migrate/20100111205525_cim_fields_for_creditcards.rb +11 -0
- data/test/dummy/db/migrate/20100112151511_create_return_authorizations.rb +16 -0
- data/test/dummy/db/migrate/20100113090919_add_return_authorization_to_inventory_units.rb +9 -0
- data/test/dummy/db/migrate/20100113203104_create_trackers.rb +14 -0
- data/test/dummy/db/migrate/20100121160010_creditcard_id_for_creditcard_txns.rb +9 -0
- data/test/dummy/db/migrate/20100121183934_original_creditcard_txn_id_for_creditcard_txns.rb +9 -0
- data/test/dummy/db/migrate/20100125145351_add_test_mode_to_billing_integration.rb +11 -0
- data/test/dummy/db/migrate/20100126103714_create_products_product_groups.rb +12 -0
- data/test/dummy/db/migrate/20100209025806_create_payment_methods.rb +20 -0
- data/test/dummy/db/migrate/20100209144531_polymorphic_payments.rb +29 -0
- data/test/dummy/db/migrate/20100213103131_change_payments_payment_method_to_belongs_to.rb +11 -0
- data/test/dummy/db/migrate/20100214212536_assign_creditcard_txns_to_payment.rb +16 -0
- data/test/dummy/db/migrate/20100223170312_sti_for_transactions.rb +14 -0
- data/test/dummy/db/migrate/20100223183812_drop_billing_integrations.rb +16 -0
- data/test/dummy/db/migrate/20100224153127_deleted_at_for_payment_methods.rb +13 -0
- data/test/dummy/db/migrate/20100301163454_add_adjustments_index.rb +10 -0
- data/test/dummy/db/migrate/20100306153445_fix_by_popularity.rb +8 -0
- data/test/dummy/db/migrate/20100317120946_add_alt_text_to_images.rb +9 -0
- data/test/dummy/db/migrate/20100427121301_add_display_to_payment_methods.rb +9 -0
- data/test/dummy/db/migrate/20100504142133_add_addresses_checkouts_indexes.rb +16 -0
- data/test/dummy/db/migrate/20100506180619_add_icon_to_taxons.rb +18 -0
- data/test/dummy/db/migrate/20100506185838_add_description_to_taxons.rb +11 -0
- data/test/dummy/db/migrate/20100528155333_index_for_shipments_number.rb +9 -0
- data/test/dummy/db/migrate/20100528185820_add_index_on_users_persistence_token.rb +9 -0
- data/test/dummy/db/migrate/20100605152042_add_default_to_tax_categories.rb +9 -0
- data/test/dummy/db/migrate/20100624110730_add_display_to_shipping_methods.rb +9 -0
- data/test/dummy/db/migrate/20100624123336_rename_payment_method_display.rb +9 -0
- data/test/dummy/db/migrate/20100624175547_rename_preferences_field.rb +8 -0
- data/test/dummy/db/migrate/20100811163637_add_guest_flag.rb +13 -0
- data/test/dummy/db/migrate/20100811205836_drop_order_token.rb +11 -0
- data/test/dummy/db/migrate/20100812162326_payments_state_and_assigned_to_order_only.rb +11 -0
- data/test/dummy/db/migrate/20100813023502_create_address_keys_for_order.rb +15 -0
- data/test/dummy/db/migrate/20100813185745_payment_total_for_orders.rb +9 -0
- data/test/dummy/db/migrate/20100816212146_shipping_method_id_for_orders.rb +9 -0
- data/test/dummy/db/migrate/20100817152723_add_shipment_and_payment_state.rb +15 -0
- data/test/dummy/db/migrate/20100819170125_refactor_adjustments.rb +19 -0
- data/test/dummy/db/migrate/20100820135707_response_code_and_avs_response_for_payments.rb +11 -0
- data/test/dummy/db/migrate/20100901171814_change_guest_flag_to_anonymous.rb +13 -0
- data/test/dummy/db/migrate/20100903203949_email_for_orders.rb +9 -0
- data/test/dummy/db/migrate/20100923162011_create_mail_methods.rb +12 -0
- data/test/dummy/db/migrate/20100929151905_rename_frozen_to_locked.rb +8 -0
- data/test/dummy/db/migrate/20101008190536_move_special_instructions_to_orders.rb +11 -0
- data/test/dummy/db/migrate/20101026184700_create_log_entries.rb +15 -0
- data/test/dummy/db/migrate/20101026184714_migrate_transactions_to_payment_state.rb +94 -0
- data/test/dummy/db/migrate/20101026184746_delete_in_progress_orders.rb +18 -0
- data/test/dummy/db/migrate/20101026184808_migrate_checkout_to_orders.rb +27 -0
- data/test/dummy/db/migrate/20101026184833_migrate_adjustments.rb +9 -0
- data/test/dummy/db/migrate/20101026184855_remove_shipped_state.rb +14 -0
- data/test/dummy/db/migrate/20101026184916_prevent_nil_payment_total.rb +8 -0
- data/test/dummy/db/migrate/20101026184932_prevent_nil_email.rb +9 -0
- data/test/dummy/db/migrate/20101026184959_generate_anonymous_users.rb +14 -0
- data/test/dummy/db/migrate/20101026185022_update_order_state.rb +8 -0
- data/test/dummy/db/migrate/20101026192225_cleanup_legacy_tables.rb +11 -0
- data/test/dummy/db/migrate/20101028151745_remove_number_and_cvv_from_credicard.rb +9 -0
- data/test/dummy/db/migrate/20101101185116_rename_columns_for_devise.rb +38 -0
- data/test/dummy/db/migrate/20101103212716_drop_anonymous_field_for_user.rb +8 -0
- data/test/dummy/db/migrate/20101111133551_renamed_rma_cancelled_state.rb +10 -0
- data/test/dummy/db/migrate/20101117031806_fix_problematic_index_names.rb +13 -0
- data/test/dummy/db/migrate/20101214150824_convert_user_remember_field.rb +11 -0
- data/test/dummy/db/migrate/20101217012656_create_tokenized_permissions.rb +18 -0
- data/test/dummy/db/migrate/20101219201531_tokens_for_legacy_orders.rb +12 -0
- data/test/dummy/db/migrate/20110421185054_create_press.rb +16 -0
- data/test/dummy/db/sample/users.rb +53 -0
- data/test/dummy/db/schema.rb +548 -0
- data/test/dummy/db/seeds.rb +3 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +26 -0
- data/test/dummy/public/assets/posts/1/large/02tii.jpg +0 -0
- data/test/dummy/public/assets/posts/1/mini/02tii.jpg +0 -0
- data/test/dummy/public/assets/posts/1/original/02tii.jpg +0 -0
- data/test/dummy/public/assets/posts/1/preview/02tii.jpg +0 -0
- data/test/dummy/public/assets/posts/1/small/02tii.jpg +0 -0
- data/test/dummy/public/assets/posts/2/large/sailing-avatar.jpg +0 -0
- data/test/dummy/public/assets/posts/2/mini/sailing-avatar.jpg +0 -0
- data/test/dummy/public/assets/posts/2/original/sailing-avatar.jpg +0 -0
- data/test/dummy/public/assets/posts/2/preview/sailing-avatar.jpg +0 -0
- data/test/dummy/public/assets/posts/2/small/sailing-avatar.jpg +0 -0
- data/test/dummy/public/assets/posts/3/large/fractals_generative.jpg +0 -0
- data/test/dummy/public/assets/posts/3/mini/fractals_generative.jpg +0 -0
- data/test/dummy/public/assets/posts/3/original/fractals_generative.jpg +0 -0
- data/test/dummy/public/assets/posts/3/preview/fractals_generative.jpg +0 -0
- data/test/dummy/public/assets/posts/3/small/fractals_generative.jpg +0 -0
- data/test/dummy/public/assets/products/4/large/bmw2002tii.jpg +0 -0
- data/test/dummy/public/assets/products/4/mini/bmw2002tii.jpg +0 -0
- data/test/dummy/public/assets/products/4/original/bmw2002tii.jpg +0 -0
- data/test/dummy/public/assets/products/4/product/bmw2002tii.jpg +0 -0
- data/test/dummy/public/assets/products/4/small/bmw2002tii.jpg +0 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/images/add-to-cart.png +0 -0
- data/test/dummy/public/images/admin/bg/active-tab.png +0 -0
- data/test/dummy/public/images/admin/bg/admin_tab_back.png +0 -0
- data/test/dummy/public/images/admin/bg/admin_tab_selected_back.png +0 -0
- data/test/dummy/public/images/admin/bg/content-back-blue.png +0 -0
- data/test/dummy/public/images/admin/bg/content-back-green.png +0 -0
- data/test/dummy/public/images/admin/bg/content-back.png +0 -0
- data/test/dummy/public/images/admin/bg/flash-error.png +0 -0
- data/test/dummy/public/images/admin/bg/flash-notice.png +0 -0
- data/test/dummy/public/images/admin/bg/green-stripes.gif +0 -0
- data/test/dummy/public/images/admin/bg/green-stripes.png +0 -0
- data/test/dummy/public/images/admin/bg/grid_header_back.png +0 -0
- data/test/dummy/public/images/admin/bg/grid_header_back_green.png +0 -0
- data/test/dummy/public/images/admin/bg/header-bg.png +0 -0
- data/test/dummy/public/images/admin/bg/header.png +0 -0
- data/test/dummy/public/images/admin/bg/header_bg.jpg +0 -0
- data/test/dummy/public/images/admin/bg/menu-current.png +0 -0
- data/test/dummy/public/images/admin/bg/red-stripes.gif +0 -0
- data/test/dummy/public/images/admin/bg/red-stripes.png +0 -0
- data/test/dummy/public/images/admin/bg/spree_50.png +0 -0
- data/test/dummy/public/images/admin/bg/subnav-divider.png +0 -0
- data/test/dummy/public/images/admin/bg/subnav.png +0 -0
- data/test/dummy/public/images/admin/bg/tab-back.png +0 -0
- data/test/dummy/public/images/admin/buttons/blue/left_01.png +0 -0
- data/test/dummy/public/images/admin/buttons/blue/right_01.png +0 -0
- data/test/dummy/public/images/admin/buttons/drag-handle-green.png +0 -0
- data/test/dummy/public/images/admin/buttons/green/left_01.png +0 -0
- data/test/dummy/public/images/admin/buttons/green/right_01.png +0 -0
- data/test/dummy/public/images/admin/buttons/left_01.png +0 -0
- data/test/dummy/public/images/admin/buttons/left_01_small.png +0 -0
- data/test/dummy/public/images/admin/buttons/orange/left_03.png +0 -0
- data/test/dummy/public/images/admin/buttons/orange/right_03.png +0 -0
- data/test/dummy/public/images/admin/buttons/right_01.png +0 -0
- data/test/dummy/public/images/admin/buttons/right_01_small.png +0 -0
- data/test/dummy/public/images/admin/icons/16x16/1.png +0 -0
- data/test/dummy/public/images/admin/icons/16x16/10.png +0 -0
- data/test/dummy/public/images/admin/icons/16x16/2.png +0 -0
- data/test/dummy/public/images/admin/icons/16x16/3.png +0 -0
- data/test/dummy/public/images/admin/icons/16x16/4.png +0 -0
- data/test/dummy/public/images/admin/icons/16x16/5.png +0 -0
- data/test/dummy/public/images/admin/icons/16x16/6.png +0 -0
- data/test/dummy/public/images/admin/icons/16x16/7.png +0 -0
- data/test/dummy/public/images/admin/icons/16x16/8.png +0 -0
- data/test/dummy/public/images/admin/icons/16x16/9.png +0 -0
- data/test/dummy/public/images/admin/icons/32x32/1.png +0 -0
- data/test/dummy/public/images/admin/icons/32x32/10.png +0 -0
- data/test/dummy/public/images/admin/icons/32x32/11.png +0 -0
- data/test/dummy/public/images/admin/icons/32x32/2.png +0 -0
- data/test/dummy/public/images/admin/icons/32x32/3.png +0 -0
- data/test/dummy/public/images/admin/icons/32x32/4.png +0 -0
- data/test/dummy/public/images/admin/icons/32x32/5.png +0 -0
- data/test/dummy/public/images/admin/icons/32x32/6.png +0 -0
- data/test/dummy/public/images/admin/icons/32x32/7.png +0 -0
- data/test/dummy/public/images/admin/icons/32x32/8.png +0 -0
- data/test/dummy/public/images/admin/icons/32x32/9.png +0 -0
- data/test/dummy/public/images/admin/icons/accept.png +0 -0
- data/test/dummy/public/images/admin/icons/add.gif +0 -0
- data/test/dummy/public/images/admin/icons/add.png +0 -0
- data/test/dummy/public/images/admin/icons/arrow-down.gif +0 -0
- data/test/dummy/public/images/admin/icons/cross.png +0 -0
- data/test/dummy/public/images/admin/icons/delete.gif +0 -0
- data/test/dummy/public/images/admin/icons/delete.png +0 -0
- data/test/dummy/public/images/admin/icons/drag.gif +0 -0
- data/test/dummy/public/images/admin/icons/edit.gif +0 -0
- data/test/dummy/public/images/admin/icons/edit.png +0 -0
- data/test/dummy/public/images/admin/icons/email.png +0 -0
- data/test/dummy/public/images/admin/icons/error.png +0 -0
- data/test/dummy/public/images/admin/icons/exclamation.png +0 -0
- data/test/dummy/public/images/admin/icons/feed.png +0 -0
- data/test/dummy/public/images/admin/icons/pdf.png +0 -0
- data/test/dummy/public/images/admin/icons/reorder.gif +0 -0
- data/test/dummy/public/images/admin/icons/search.gif +0 -0
- data/test/dummy/public/images/admin/icons/send-email.png +0 -0
- data/test/dummy/public/images/admin/icons/stop.png +0 -0
- data/test/dummy/public/images/admin/icons/tick.png +0 -0
- data/test/dummy/public/images/admin/icons/up.gif +0 -0
- data/test/dummy/public/images/admin/icons/xls.png +0 -0
- data/test/dummy/public/images/admin/tabs/off-left.png +0 -0
- data/test/dummy/public/images/admin/tabs/off-right.png +0 -0
- data/test/dummy/public/images/admin/tabs/on-left.png +0 -0
- data/test/dummy/public/images/admin/tabs/on-right.png +0 -0
- data/test/dummy/public/images/ajax_loader.gif +0 -0
- data/test/dummy/public/images/amex_cid.gif +0 -0
- data/test/dummy/public/images/bg-button-hover.png +0 -0
- data/test/dummy/public/images/bg-button-pressed.png +0 -0
- data/test/dummy/public/images/bg-button.gif +0 -0
- data/test/dummy/public/images/bg-button.png +0 -0
- data/test/dummy/public/images/blue/left_01.png +0 -0
- data/test/dummy/public/images/blue/right_01.png +0 -0
- data/test/dummy/public/images/body-back.png +0 -0
- data/test/dummy/public/images/bottom_shine.png +0 -0
- data/test/dummy/public/images/breadcrumb.gif +0 -0
- data/test/dummy/public/images/button-dark-hover.png +0 -0
- data/test/dummy/public/images/button-dark.png +0 -0
- data/test/dummy/public/images/buttons/bg-button-hover.png +0 -0
- data/test/dummy/public/images/buttons/bg-button-pressed.png +0 -0
- data/test/dummy/public/images/buttons/bg-button.gif +0 -0
- data/test/dummy/public/images/buttons/bg-button.png +0 -0
- data/test/dummy/public/images/buttons/blue/left_01.png +0 -0
- data/test/dummy/public/images/buttons/blue/right_01.png +0 -0
- data/test/dummy/public/images/buttons/button-dark-hover.png +0 -0
- data/test/dummy/public/images/buttons/button-dark.png +0 -0
- data/test/dummy/public/images/buttons/drag-handle-green.png +0 -0
- data/test/dummy/public/images/buttons/green/left_01.png +0 -0
- data/test/dummy/public/images/buttons/green/right_01.png +0 -0
- data/test/dummy/public/images/buttons/left_01.png +0 -0
- data/test/dummy/public/images/buttons/left_01_small.png +0 -0
- data/test/dummy/public/images/buttons/orange/left_03.png +0 -0
- data/test/dummy/public/images/buttons/orange/right_03.png +0 -0
- data/test/dummy/public/images/buttons/right_01.png +0 -0
- data/test/dummy/public/images/buttons/right_01_small.png +0 -0
- data/test/dummy/public/images/buttons/sxsw-ribbon-v1.png +0 -0
- data/test/dummy/public/images/buttons/top-shine.png +0 -0
- data/test/dummy/public/images/calendar_date_select/calendar.gif +0 -0
- data/test/dummy/public/images/cart-empty.png +0 -0
- data/test/dummy/public/images/cart-empty_x32.png +0 -0
- data/test/dummy/public/images/cart-full.png +0 -0
- data/test/dummy/public/images/cart-full_x32.png +0 -0
- data/test/dummy/public/images/checkout.png +0 -0
- data/test/dummy/public/images/creditcard.gif +0 -0
- data/test/dummy/public/images/datepicker/backstripes.gif +0 -0
- data/test/dummy/public/images/datepicker/bg_header.jpg +0 -0
- data/test/dummy/public/images/datepicker/bullet1.gif +0 -0
- data/test/dummy/public/images/datepicker/bullet2.gif +0 -0
- data/test/dummy/public/images/datepicker/cal.gif +0 -0
- data/test/dummy/public/images/datepicker/gradient-e5e5e5-ffffff.gif +0 -0
- data/test/dummy/public/images/discover_cid.gif +0 -0
- data/test/dummy/public/images/drag-handle-green.png +0 -0
- data/test/dummy/public/images/favicon.ico +0 -0
- data/test/dummy/public/images/green/left_01.png +0 -0
- data/test/dummy/public/images/green/right_01.png +0 -0
- data/test/dummy/public/images/grid.png +0 -0
- data/test/dummy/public/images/left_01.png +0 -0
- data/test/dummy/public/images/left_01_small.png +0 -0
- data/test/dummy/public/images/master_cid.jpg +0 -0
- data/test/dummy/public/images/menu-current.png +0 -0
- data/test/dummy/public/images/menu-hover.png +0 -0
- data/test/dummy/public/images/noimage/mini.jpg +0 -0
- data/test/dummy/public/images/noimage/product.jpg +0 -0
- data/test/dummy/public/images/noimage/small.jpg +0 -0
- data/test/dummy/public/images/openid-inputicon.gif +0 -0
- data/test/dummy/public/images/orange/left_03.png +0 -0
- data/test/dummy/public/images/orange/right_03.png +0 -0
- data/test/dummy/public/images/progress.gif +0 -0
- data/test/dummy/public/images/right_01.png +0 -0
- data/test/dummy/public/images/right_01_small.png +0 -0
- data/test/dummy/public/images/separator.png +0 -0
- data/test/dummy/public/images/shadow-top.png +0 -0
- data/test/dummy/public/images/shadow_top.png +0 -0
- data/test/dummy/public/images/spinner.gif +0 -0
- data/test/dummy/public/images/spree.jpg +0 -0
- data/test/dummy/public/images/spree/progress.gif +0 -0
- data/test/dummy/public/images/spree/spinner.gif +0 -0
- data/test/dummy/public/images/spree/spree.jpg +0 -0
- data/test/dummy/public/images/step-progress/completed-completed.gif +0 -0
- data/test/dummy/public/images/step-progress/completed-current.gif +0 -0
- data/test/dummy/public/images/step-progress/completed-first.gif +0 -0
- data/test/dummy/public/images/step-progress/current-first.gif +0 -0
- data/test/dummy/public/images/step-progress/current-incomplete.gif +0 -0
- data/test/dummy/public/images/step-progress/current-right.gif +0 -0
- data/test/dummy/public/images/step-progress/incomplete-incomplete.gif +0 -0
- data/test/dummy/public/images/step-progress/incomplete-right.gif +0 -0
- data/test/dummy/public/images/steps/1.png +0 -0
- data/test/dummy/public/images/steps/1_small.png +0 -0
- data/test/dummy/public/images/steps/2.png +0 -0
- data/test/dummy/public/images/steps/2_small.png +0 -0
- data/test/dummy/public/images/steps/3.png +0 -0
- data/test/dummy/public/images/steps/3_small.png +0 -0
- data/test/dummy/public/images/steps/4.png +0 -0
- data/test/dummy/public/images/steps/4_small.png +0 -0
- data/test/dummy/public/images/steps/5.png +0 -0
- data/test/dummy/public/images/steps/5_small.png +0 -0
- data/test/dummy/public/images/steps/6.png +0 -0
- data/test/dummy/public/images/steps/6_small.png +0 -0
- data/test/dummy/public/images/sxsw-ribbon-v1.png +0 -0
- data/test/dummy/public/images/tab_bottom.gif +0 -0
- data/test/dummy/public/images/tile-header.png +0 -0
- data/test/dummy/public/images/tile-slider.png +0 -0
- data/test/dummy/public/images/top-shine.png +0 -0
- data/test/dummy/public/images/tree-nav-icons/bullet.gif +0 -0
- data/test/dummy/public/images/tree-nav-icons/minus.gif +0 -0
- data/test/dummy/public/images/tree-nav-icons/plus.gif +0 -0
- data/test/dummy/public/images/tree-nav-icons/treeview-loading.gif +0 -0
- data/test/dummy/public/images/tree-nav-icons/treeview-sprite.gif +0 -0
- data/test/dummy/public/images/update.png +0 -0
- data/test/dummy/public/images/visa_cid.gif +0 -0
- data/test/dummy/public/images/wrapper-back-2.png +0 -0
- data/test/dummy/public/images/wrapper-back.png +0 -0
- data/test/dummy/public/images/yui-menubaritem_submenuindicator.png +0 -0
- data/test/dummy/public/images/yui-menubaritem_submenuindicator_disabled.png +0 -0
- data/test/dummy/public/images/yui-menuitem_checkbox.png +0 -0
- data/test/dummy/public/images/yui-menuitem_checkbox_disabled.png +0 -0
- data/test/dummy/public/images/yui-menuitem_submenuindicator.png +0 -0
- data/test/dummy/public/images/yui-menuitem_submenuindicator_disabled.png +0 -0
- data/test/dummy/public/images/yui-sprite.png +0 -0
- data/test/dummy/public/javascripts/additional-methods.js +236 -0
- data/test/dummy/public/javascripts/admin.js +226 -0
- data/test/dummy/public/javascripts/admin/address_states.js +25 -0
- data/test/dummy/public/javascripts/admin/checkouts/edit.js +130 -0
- data/test/dummy/public/javascripts/admin/orders/edit.js +23 -0
- data/test/dummy/public/javascripts/admin/orders/edit_form.js +16 -0
- data/test/dummy/public/javascripts/admin/payments/new.js +9 -0
- data/test/dummy/public/javascripts/admin/promotions.js +26 -0
- data/test/dummy/public/javascripts/admin/unobtrusive_handlers.js +15 -0
- data/test/dummy/public/javascripts/application.js +12 -0
- data/test/dummy/public/javascripts/calculator.js +15 -0
- data/test/dummy/public/javascripts/checkout.js +75 -0
- data/test/dummy/public/javascripts/controls.js +965 -0
- data/test/dummy/public/javascripts/dashboard.js +143 -0
- data/test/dummy/public/javascripts/datepicker.js +1445 -0
- data/test/dummy/public/javascripts/dragdrop.js +974 -0
- data/test/dummy/public/javascripts/effects.js +1123 -0
- data/test/dummy/public/javascripts/gateway.js +13 -0
- data/test/dummy/public/javascripts/jqPlot/excanvas.min.js +1 -0
- data/test/dummy/public/javascripts/jqPlot/jquery.jqplot.min.js +14 -0
- data/test/dummy/public/javascripts/jqPlot/plugins/jqplot.canvasAxisLabelRenderer.min.js +14 -0
- data/test/dummy/public/javascripts/jqPlot/plugins/jqplot.canvasAxisTickRenderer.min.js +14 -0
- data/test/dummy/public/javascripts/jqPlot/plugins/jqplot.canvasTextRenderer.min.js +14 -0
- data/test/dummy/public/javascripts/jqPlot/plugins/jqplot.categoryAxisRenderer.min.js +14 -0
- data/test/dummy/public/javascripts/jqPlot/plugins/jqplot.dateAxisRenderer.min.js +14 -0
- data/test/dummy/public/javascripts/jqPlot/plugins/jqplot.highlighter.min.js +14 -0
- data/test/dummy/public/javascripts/jqPlot/plugins/jqplot.pieRenderer.min.js +14 -0
- data/test/dummy/public/javascripts/jquery-1.4.2.min.js +154 -0
- data/test/dummy/public/javascripts/jquery-ui.js +188 -0
- data/test/dummy/public/javascripts/jquery.alerts/images/help.gif +0 -0
- data/test/dummy/public/javascripts/jquery.alerts/images/important.gif +0 -0
- data/test/dummy/public/javascripts/jquery.alerts/images/info.gif +0 -0
- data/test/dummy/public/javascripts/jquery.alerts/images/title.gif +0 -0
- data/test/dummy/public/javascripts/jquery.alerts/jquery.alerts.css +57 -0
- data/test/dummy/public/javascripts/jquery.alerts/jquery.alerts.js +235 -0
- data/test/dummy/public/javascripts/jquery.alerts/jquery.alerts.spree.css +30 -0
- data/test/dummy/public/javascripts/jquery.autocomplete.min.js +13 -0
- data/test/dummy/public/javascripts/jquery.cookie.js +96 -0
- data/test/dummy/public/javascripts/jquery.delayedobserver.js +35 -0
- data/test/dummy/public/javascripts/jquery.js +19 -0
- data/test/dummy/public/javascripts/jquery.suggest.js +276 -0
- data/test/dummy/public/javascripts/jquery.template.js +255 -0
- data/test/dummy/public/javascripts/jquery.tokeninput.js +618 -0
- data/test/dummy/public/javascripts/jquery.validate.min.js +16 -0
- data/test/dummy/public/javascripts/jrails.autocomplete.js +274 -0
- data/test/dummy/public/javascripts/jrails.js +1 -0
- data/test/dummy/public/javascripts/jsTree/jquery.jstree.js +3510 -0
- data/test/dummy/public/javascripts/jsTree/jquery.tree.js +2058 -0
- data/test/dummy/public/javascripts/jsTree/plugins/jquery.tree.contextmenu.js +129 -0
- data/test/dummy/public/javascripts/jsTree/themes/apple/bg.jpg +0 -0
- data/test/dummy/public/javascripts/jsTree/themes/apple/d.png +0 -0
- data/test/dummy/public/javascripts/jsTree/themes/apple/dot_for_ie.gif +0 -0
- data/test/dummy/public/javascripts/jsTree/themes/apple/icons.png +0 -0
- data/test/dummy/public/javascripts/jsTree/themes/apple/style.css +60 -0
- data/test/dummy/public/javascripts/jsTree/themes/apple/throbber.gif +0 -0
- data/test/dummy/public/javascripts/lang/af.js +40 -0
- data/test/dummy/public/javascripts/lang/ar.js +50 -0
- data/test/dummy/public/javascripts/lang/de.js +40 -0
- data/test/dummy/public/javascripts/lang/du.js +40 -0
- data/test/dummy/public/javascripts/lang/en.js +42 -0
- data/test/dummy/public/javascripts/lang/es.js +41 -0
- data/test/dummy/public/javascripts/lang/fi.js +40 -0
- data/test/dummy/public/javascripts/lang/fr.js +44 -0
- data/test/dummy/public/javascripts/lang/gr.js +40 -0
- data/test/dummy/public/javascripts/lang/he.js +49 -0
- data/test/dummy/public/javascripts/lang/it.js +13 -0
- data/test/dummy/public/javascripts/lang/nl.js +40 -0
- data/test/dummy/public/javascripts/lang/no.js +40 -0
- data/test/dummy/public/javascripts/lang/pt.js +50 -0
- data/test/dummy/public/javascripts/lang/ro.js +40 -0
- data/test/dummy/public/javascripts/lang/ru.js +40 -0
- data/test/dummy/public/javascripts/lang/sp.js +40 -0
- data/test/dummy/public/javascripts/lang/sv.js +41 -0
- data/test/dummy/public/javascripts/lang/ua.js +40 -0
- data/test/dummy/public/javascripts/localization/messages_cn.js +24 -0
- data/test/dummy/public/javascripts/localization/messages_cs.js +23 -0
- data/test/dummy/public/javascripts/localization/messages_da.js +21 -0
- data/test/dummy/public/javascripts/localization/messages_de.js +21 -0
- data/test/dummy/public/javascripts/localization/messages_es.js +24 -0
- data/test/dummy/public/javascripts/localization/messages_fr.js +23 -0
- data/test/dummy/public/javascripts/localization/messages_hu.js +21 -0
- data/test/dummy/public/javascripts/localization/messages_it.js +26 -0
- data/test/dummy/public/javascripts/localization/messages_kk.js +23 -0
- data/test/dummy/public/javascripts/localization/messages_nl.js +23 -0
- data/test/dummy/public/javascripts/localization/messages_no.js +23 -0
- data/test/dummy/public/javascripts/localization/messages_pl.js +23 -0
- data/test/dummy/public/javascripts/localization/messages_ptbr.js +30 -0
- data/test/dummy/public/javascripts/localization/messages_ro.js +24 -0
- data/test/dummy/public/javascripts/localization/messages_ru.js +23 -0
- data/test/dummy/public/javascripts/localization/messages_se.js +23 -0
- data/test/dummy/public/javascripts/localization/messages_sk.js +21 -0
- data/test/dummy/public/javascripts/localization/messages_tr.js +24 -0
- data/test/dummy/public/javascripts/localization/messages_tw.js +24 -0
- data/test/dummy/public/javascripts/localization/messages_ua.js +24 -0
- data/test/dummy/public/javascripts/nested-attribute.js +26 -0
- data/test/dummy/public/javascripts/open_id.js +15 -0
- data/test/dummy/public/javascripts/product.js +49 -0
- data/test/dummy/public/javascripts/prototype.js +6001 -0
- data/test/dummy/public/javascripts/rails.js +127 -0
- data/test/dummy/public/javascripts/taxonomy.js +197 -0
- data/test/dummy/public/javascripts/zone.js +40 -0
- data/test/dummy/public/stylesheets/.gitkeep +0 -0
- data/test/dummy/public/stylesheets/admin/admin-forms.css +159 -0
- data/test/dummy/public/stylesheets/admin/admin-reset.css +67 -0
- data/test/dummy/public/stylesheets/admin/admin-tables.css +39 -0
- data/test/dummy/public/stylesheets/admin/admin-typography.css +117 -0
- data/test/dummy/public/stylesheets/admin/admin.css +579 -0
- data/test/dummy/public/stylesheets/admin/autocomplete.css +73 -0
- data/test/dummy/public/stylesheets/admin/dashboard.css +143 -0
- data/test/dummy/public/stylesheets/admin/edit_checkouts.css +57 -0
- data/test/dummy/public/stylesheets/admin/grids.css +314 -0
- data/test/dummy/public/stylesheets/admin/promotions.css +54 -0
- data/test/dummy/public/stylesheets/admin/reset-fonts-grids-2-6-0.css +7 -0
- data/test/dummy/public/stylesheets/admin/token-input.css +109 -0
- data/test/dummy/public/stylesheets/admin/yui-includes.css +14 -0
- data/test/dummy/public/stylesheets/datepicker.css +263 -0
- data/test/dummy/public/stylesheets/jquery.autocomplete.css +48 -0
- data/test/dummy/public/stylesheets/scaffold.css +54 -0
- data/test/dummy/public/stylesheets/screen.css +1195 -0
- data/test/dummy/script/rails +6 -0
- data/test/functional/press_controller_test.rb +13 -0
- data/test/integration/admin/press_test.rb +15 -0
- data/test/support/factories.rb +15 -0
- data/test/support/helper_methods.rb +11 -0
- data/test/support/integration_case.rb +25 -0
- data/test/test_helper.rb +58 -0
- data/test/unit/press_image_test.rb +29 -0
- data/test/unit/press_test.rb +65 -0
- metadata +1151 -0
@@ -0,0 +1,6 @@
|
|
1
|
+
class DatetimeValidator < ActiveModel::EachValidator
|
2
|
+
def validate_each(record, attribute, value)
|
3
|
+
date = DateTime.parse(value.to_s) rescue ArgumentError
|
4
|
+
record.errors.add(attribute, I18n.t(:invalid_date_time, :scope => [:activerecord, :errors, :messages])) if date == ArgumentError
|
5
|
+
end
|
6
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= tab :press, :route => :admin_press_index, :label => "admin.tabs.press" %>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<%= f.field_container :title do %>
|
2
|
+
<%= f.label :title, t('press.title') %><br />
|
3
|
+
<%= f.text_field :title, :class => 'title' %>
|
4
|
+
<%= error_message_on :press, :title %>
|
5
|
+
<% end %>
|
6
|
+
|
7
|
+
<%= f.field_container :publication do %>
|
8
|
+
<%= f.label :publication, t('press.publication') %><br />
|
9
|
+
<%= f.text_field :publication, :class => 'text' %>
|
10
|
+
<%= error_message_on :press, :publication %>
|
11
|
+
<% end %>
|
12
|
+
|
13
|
+
<%= f.field_container :published_at do %>
|
14
|
+
<%= f.label :published_at, t('press.published_at') %><br />
|
15
|
+
<%= f.text_field :published_at, :class => 'text', :value => (@press.published_at.to_s(:long) unless @press.new_record?) %><br />
|
16
|
+
<%= error_message_on :press, :published_at %>
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
<%= f.field_container :description do %>
|
20
|
+
<%= f.label :description, t('press.description') %><br />
|
21
|
+
<%= f.text_area :description, :class => 'text' %>
|
22
|
+
<%= error_message_on :press, :description %>
|
23
|
+
<% end %>
|
24
|
+
|
25
|
+
<%= f.field_container :url do %>
|
26
|
+
<%= f.label :url, t('press.url') %><br />
|
27
|
+
<%= f.text_field :url, :class => 'text' %>
|
28
|
+
<%= error_message_on :press, :url %>
|
29
|
+
<% end %>
|
30
|
+
|
31
|
+
<% content_for :head do %>
|
32
|
+
<%= javascript_include_tag 'date.js', 'jquery.autodate.js' %>
|
33
|
+
<script type="text/javascript">
|
34
|
+
//<![CDATA[
|
35
|
+
$(document).ready(function() {
|
36
|
+
$('#press_published_at').autodate();
|
37
|
+
});
|
38
|
+
//]]>
|
39
|
+
</script>
|
40
|
+
<% end %>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<%= render 'admin/shared/press_tabs', :current => "Press Details" %>
|
2
|
+
|
3
|
+
<% form_for(@press, :url => object_url, :html => { :multipart => true, :method => :put }) do |f| %>
|
4
|
+
<%= render :partial => 'form', :locals => { :f => f } %>
|
5
|
+
<p class="form-buttons">
|
6
|
+
<%= button t('update') %> <%= link_to t('cancel'), collection_url %>
|
7
|
+
</p>
|
8
|
+
<% end %>
|
@@ -0,0 +1,72 @@
|
|
1
|
+
<%= render :partial => 'admin/shared/contents_sub_menu' unless SpreeEssentialPress.independent? %>
|
2
|
+
|
3
|
+
<div class='toolbar'>
|
4
|
+
<ul class='actions'>
|
5
|
+
<li>
|
6
|
+
<p><%= button_link_to t('.new'), new_admin_press_path, :icon => 'add' %></p>
|
7
|
+
</li>
|
8
|
+
</ul>
|
9
|
+
<br class='clear' />
|
10
|
+
</div>
|
11
|
+
|
12
|
+
|
13
|
+
<h1><%= t('.listing') %></h1>
|
14
|
+
|
15
|
+
<table class="index">
|
16
|
+
<thead>
|
17
|
+
<tr>
|
18
|
+
<th><%= sort_link @search, :title %></th>
|
19
|
+
<th><%= sort_link @search, :publication %></th>
|
20
|
+
<th><%= sort_link @search, :published_at %></th>
|
21
|
+
<th><%= t('action') %></th>
|
22
|
+
</tr>
|
23
|
+
</thead>
|
24
|
+
<tbody>
|
25
|
+
<%- @collection.each do |press|%>
|
26
|
+
<tr id="<%= dom_id press %>">
|
27
|
+
<td width="200px"><%= link_to press.title, admin_press_path(press) %></td>
|
28
|
+
<td><%= press.publication %></td>
|
29
|
+
<td><%= press.published_at.strftime('%x') %></td>
|
30
|
+
<td>
|
31
|
+
<%= link_to_edit press %>
|
32
|
+
<%= link_to_delete press %>
|
33
|
+
</td>
|
34
|
+
</tr>
|
35
|
+
<% end %>
|
36
|
+
</tbody>
|
37
|
+
</table>
|
38
|
+
|
39
|
+
<%= will_paginate(:prev => "« #{t('previous')}", :next => "#{t('next')} »") %>
|
40
|
+
|
41
|
+
|
42
|
+
<% content_for :sidebar do %>
|
43
|
+
<div class="box">
|
44
|
+
<h3><%= t(:search) %></h3>
|
45
|
+
|
46
|
+
<% @press = Press.metasearch %>
|
47
|
+
<%= form_for [:admin, @press] do |f| %>
|
48
|
+
<%- locals = {:f => f} %>
|
49
|
+
<%= hook :admin_press_index_search, locals do %>
|
50
|
+
<p>
|
51
|
+
<label><%= t 'press.title' %></label><br />
|
52
|
+
<%= f.text_field :title_like, :size => 25 %>
|
53
|
+
</p>
|
54
|
+
<label><%= t('date_range') %></label><br />
|
55
|
+
<div class="yui-g date-range-filter">
|
56
|
+
<div class="yui-u sub-field first">
|
57
|
+
<%= f.spree_date_picker :published_at_greater_than %><br />
|
58
|
+
<label class="sub"><%= t('start') %></label>
|
59
|
+
</div>
|
60
|
+
<div class="yui-u sub-field">
|
61
|
+
<%= f.spree_date_picker :published_at_less_than %><br />
|
62
|
+
<label><%= t('stop') %></label>
|
63
|
+
</div>
|
64
|
+
<br class="clear"/>
|
65
|
+
</div>
|
66
|
+
<% end %>
|
67
|
+
<%= hook :admin_press_index_search_buttons, locals do %>
|
68
|
+
<p><%= button t('search') %></p>
|
69
|
+
<% end %>
|
70
|
+
<% end %>
|
71
|
+
</div>
|
72
|
+
<% end %>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%= render :partial => 'admin/shared/contents_sub_menu' unless SpreeEssentialPress.independent? %>
|
2
|
+
|
3
|
+
<h1><%= t('.new') %></h1>
|
4
|
+
|
5
|
+
<%= form_for(@press, :url => collection_url, :html => { :multipart => true }) do |f| %>
|
6
|
+
<%= render :partial => "form", :locals => { :f => f } %>
|
7
|
+
|
8
|
+
<p class="form-buttons">
|
9
|
+
<%= button t('create') %> <%= link_to t('cancel'), collection_url %>
|
10
|
+
</p>
|
11
|
+
<% end %>
|
12
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<%= render :partial => 'admin/shared/contents_sub_menu' unless SpreeEssentialPress.independent? %>
|
2
|
+
|
3
|
+
<%= render 'admin/shared/press_tabs', :current => "" %>
|
4
|
+
|
5
|
+
<h1><%= @press.title %></h1>
|
6
|
+
<h3><%= @press.publication %></h4>
|
7
|
+
<h4><%= @press.published_at.strftime('%x') %></h4>
|
8
|
+
|
9
|
+
<% @press.images.each do |image| %>
|
10
|
+
<%= image_tag image.attachment.url(:small), :alt => image.alt || @press.title %>
|
11
|
+
<% end %>
|
12
|
+
|
13
|
+
<%= simple_format @press.description %>
|
14
|
+
|
15
|
+
<p><%= link_to @press.url, @press.url %></p>
|
16
|
+
|
17
|
+
<p>
|
18
|
+
<%= link_to_edit @press %>
|
19
|
+
<%= link_to t('back'), collection_url %>
|
20
|
+
</p>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= render :partial => 'admin/shared/press_tabs', :locals => {:current => "Images"} %>
|
2
|
+
|
3
|
+
<% if @press_image.try(:errors).present? %>
|
4
|
+
<%= render 'shared/error_messages', :target => @press_image %>
|
5
|
+
<% end %>
|
6
|
+
|
7
|
+
<%= form_for([:admin, @press.id, @press_image], :url => admin_press_image_url(@press, @press_image), :html => { :multipart => true }) do |f| %>
|
8
|
+
<p>
|
9
|
+
<%= label_tag ("thumbnail") %>:<br/>
|
10
|
+
<%= link_to(image_tag(@press_image.attachment.url(:mini)), @press_image.attachment.url(:product)) %>
|
11
|
+
</p>
|
12
|
+
<%= render "form", :form => f %>
|
13
|
+
<p class="form-buttons">
|
14
|
+
<%= button t("update") %>
|
15
|
+
or <%= link_to t("cancel"), admin_press_images_url(@press), :id => "cancel_link" %>
|
16
|
+
</p>
|
17
|
+
<% end %>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<%= render :partial => 'admin/shared/press_tabs', :locals => {:current => "Images"} %>
|
2
|
+
|
3
|
+
<table class="index">
|
4
|
+
<tr>
|
5
|
+
<th><%= t("thumbnail") %></th>
|
6
|
+
<th><%= t("action") %></th>
|
7
|
+
</tr>
|
8
|
+
|
9
|
+
<% @press.images.each do |image| %>
|
10
|
+
<tr id="<%= dom_id(image) %>">
|
11
|
+
<td><%= link_to(image_tag(image.attachment.url(:mini)), image.attachment.url(:large)) %></td>
|
12
|
+
<td class="actions">
|
13
|
+
<%= link_to_with_icon('edit', t("edit"), edit_admin_press_image_url(@press, image)) %>
|
14
|
+
|
15
|
+
<%= link_to_delete image, {:url => admin_press_image_url(@press, image) }%>
|
16
|
+
</td>
|
17
|
+
</tr>
|
18
|
+
<% end %>
|
19
|
+
|
20
|
+
</table>
|
21
|
+
|
22
|
+
<div id="images"></div>
|
23
|
+
<br/>
|
24
|
+
<p>
|
25
|
+
<%= link_to icon('add') + ' ' + t("new_image"), new_admin_press_image_url(@press), :id => "new_image_link" %>
|
26
|
+
</p>
|
27
|
+
|
28
|
+
<% content_for :head do %>
|
29
|
+
<script type="text/javascript">
|
30
|
+
jQuery(document).ready(function(){
|
31
|
+
|
32
|
+
jQuery('#new_image_link').click(function (event) {
|
33
|
+
event.preventDefault();
|
34
|
+
jQuery(this).hide();
|
35
|
+
jQuery.ajax({type: 'GET', url: this.href, data: ({authenticity_token: AUTH_TOKEN}), success: function(r){ jQuery('#images').html(r);} });
|
36
|
+
});
|
37
|
+
|
38
|
+
});
|
39
|
+
</script>
|
40
|
+
<% end %>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<h3><%= t("new_image") %></h3>
|
2
|
+
|
3
|
+
<%= form_for(@press_image, :url => admin_press_images_path(@press), :html => { :multipart => true }) do |form| %>
|
4
|
+
<%= render "form", :form => form %>
|
5
|
+
<p class="form-buttons">
|
6
|
+
<%= button t("create") %>
|
7
|
+
or <%= link_to t("cancel"), "#", :id => "cancel_link" %>
|
8
|
+
</p>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<script type="text/javascript">
|
12
|
+
jQuery('#cancel_link').click(function (event) {
|
13
|
+
jQuery('#new_image_link').show();
|
14
|
+
jQuery('#images').html('');
|
15
|
+
});
|
16
|
+
</script>
|
17
|
+
|
18
|
+
|
19
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<h1><%= (t(".editing_press") + " “#{@press.title}”").html_safe %></h1>
|
2
|
+
|
3
|
+
<% content_for :sidebar do %>
|
4
|
+
|
5
|
+
<h3 class="name"><%= @press.title %><span class='sku'><%= (@press.published_at || Time.now).strftime('%x') %></span></h3>
|
6
|
+
<br clear="clear" />
|
7
|
+
|
8
|
+
<ul class="sidebar press-menu">
|
9
|
+
<%= hook :admin_press_tabs, {:current => current} do %>
|
10
|
+
<li<%= ' class="active"'.html_safe if current == "Press Details" %>>
|
11
|
+
<%= link_to t(".press_details"), edit_admin_press_url(@press) %>
|
12
|
+
</li>
|
13
|
+
<li<%= ' class="active"'.html_safe if current == "Images" %>>
|
14
|
+
<%= link_to t("images"), admin_press_images_url(@press) %>
|
15
|
+
</li>
|
16
|
+
<% end %>
|
17
|
+
</ul>
|
18
|
+
<br clear="clear" />
|
19
|
+
|
20
|
+
<% end %>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<div class="press-mention" id="<%= dom_id(press) %>">
|
2
|
+
|
3
|
+
<% press.images.each do |image| %>
|
4
|
+
<div class="press-image">
|
5
|
+
<%= image_tag image.attachment.url(:medium), :alt => image.alt || @press.title %>
|
6
|
+
</div>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<div class="press-info">
|
10
|
+
<h2><%= press.title %></h2>
|
11
|
+
<% unless press.publication.blank? %>
|
12
|
+
<h3><%= press.publication %></h3>
|
13
|
+
<% end %>
|
14
|
+
<h5><%= press.published_at.strftime('%B %A %d, %Y').gsub(/\s0/, ' ') %></h5>
|
15
|
+
|
16
|
+
<%= simple_format press.description %>
|
17
|
+
|
18
|
+
<%= link_to t('.read_more'), press.url, :class => 'popup' unless press.url.blank? %>
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<br class="clear"/>
|
22
|
+
|
23
|
+
</div>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<% content_for :sidebar do %>
|
2
|
+
|
3
|
+
<ul class="press-sidebar">
|
4
|
+
<% @press.each do |press| %>
|
5
|
+
<li>
|
6
|
+
<%= link_to press.title, "##{dom_id(press)}" %>
|
7
|
+
<span class="press-date"><%= press.published_at.strftime('%B %A %d, %Y').gsub(/\s0/, ' ') %></span>
|
8
|
+
</li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
<% end %>
|
12
|
+
|
13
|
+
<h1><%= t('.press') %></h1>
|
14
|
+
|
15
|
+
<%= render :partial => "press", :collection => @press %>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
en:
|
2
|
+
|
3
|
+
activerecord:
|
4
|
+
errors:
|
5
|
+
messages:
|
6
|
+
invalid_date_time: is an invalid date.
|
7
|
+
|
8
|
+
press:
|
9
|
+
title: Title
|
10
|
+
publication: Publication
|
11
|
+
published_at: Published On
|
12
|
+
description: Description
|
13
|
+
url: URL
|
14
|
+
|
15
|
+
index:
|
16
|
+
press: Press
|
17
|
+
|
18
|
+
press:
|
19
|
+
read_more: Read More
|
20
|
+
|
21
|
+
admin:
|
22
|
+
press:
|
23
|
+
index:
|
24
|
+
new: New Press Mention
|
25
|
+
listing: Listing Press Mentions
|
26
|
+
|
27
|
+
new:
|
28
|
+
new: New Press Mention
|
29
|
+
edit:
|
30
|
+
edit: Edit Press Mention
|
31
|
+
|
32
|
+
tabs:
|
33
|
+
press: Press
|
34
|
+
|
35
|
+
subnav:
|
36
|
+
press: Press
|
37
|
+
|
38
|
+
|
39
|
+
shared:
|
40
|
+
press_tabs:
|
41
|
+
editing_press: Edit Press Mention
|
42
|
+
press_details: Press Mention Details
|
43
|
+
|
44
|
+
|
45
|
+
successfully_created: Successfully created
|
46
|
+
successfully_updated: Successfully updated
|
47
|
+
successfully_destroyed: Successfully destroyed
|
data/config/routes.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
module SpreeEssentials
|
2
|
+
module Generators
|
3
|
+
class EssentialsBase < Rails::Generators::Base
|
4
|
+
|
5
|
+
include Rails::Generators::Migration
|
6
|
+
|
7
|
+
def self.count!
|
8
|
+
@count ||= 0
|
9
|
+
(@count += 1) * 3
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.next_migration_number(path)
|
13
|
+
@time ||= Time.new.utc
|
14
|
+
if ActiveRecord::Base.timestamped_migrations
|
15
|
+
(@time + self.count!).strftime("%Y%m%d%H%M%S")
|
16
|
+
else
|
17
|
+
"%.3d" % (current_migration_number(dirname) + 1)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'generators/essentials_base'
|
2
|
+
|
3
|
+
module SpreeEssentials
|
4
|
+
module Generators
|
5
|
+
class PressGenerator < SpreeEssentials::Generators::EssentialsBase
|
6
|
+
|
7
|
+
desc "Installs required migrations for spree_essential_press"
|
8
|
+
source_root File.expand_path("../../templates/db/migrate", __FILE__)
|
9
|
+
|
10
|
+
def copy_migrations
|
11
|
+
migration_template "create_press.rb", "db/migrate/create_press.rb"
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class CreatePress < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :press do |t|
|
4
|
+
t.string :title
|
5
|
+
t.string :publication
|
6
|
+
t.datetime :published_at
|
7
|
+
t.text :description
|
8
|
+
t.string :url
|
9
|
+
t.timestamps
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.down
|
14
|
+
drop_table :press
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Spree
|
2
|
+
class ActionCallbacks
|
3
|
+
attr_reader :before_methods
|
4
|
+
attr_reader :after_methods
|
5
|
+
attr_reader :fails_methods
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@before_methods = []
|
9
|
+
@after_methods = []
|
10
|
+
@fails_methods = []
|
11
|
+
end
|
12
|
+
|
13
|
+
def before(method)
|
14
|
+
@before_methods << method
|
15
|
+
end
|
16
|
+
|
17
|
+
def after(method)
|
18
|
+
@after_methods << method
|
19
|
+
end
|
20
|
+
|
21
|
+
def fails(method)
|
22
|
+
@fails_methods << method
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|