newsletter 3.0.2 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -13
- data/.gitignore +6 -0
- data/.ruby-version +1 -1
- data/Gemfile +17 -5
- data/README.md +40 -0
- data/app/assets/images/newsletter/BottomRight.gif +0 -0
- data/app/assets/images/newsletter/MidRight.gif +0 -0
- data/app/assets/images/newsletter/TopCenter.gif +0 -0
- data/app/assets/images/newsletter/TopRight.gif +0 -0
- data/app/assets/images/newsletter/calendar_date_select/calendar.gif +0 -0
- data/app/assets/images/newsletter/iReach_logo.gif +0 -0
- data/app/assets/images/newsletter/spacer.gif +0 -0
- data/app/assets/images/newsletter/topMid.gif +0 -0
- data/app/assets/javascripts/newsletter/application.js +6 -0
- data/app/assets/stylesheets/newsletter/admin.css +261 -0
- data/app/assets/stylesheets/newsletter/application.css +3 -1
- data/app/assets/stylesheets/newsletter/nav.css +68 -0
- data/app/assets/stylesheets/newsletter/timepicker.css +54 -0
- data/app/controllers/newsletter/application_controller.rb +5 -26
- data/app/controllers/newsletter/areas_controller.rb +0 -38
- data/app/controllers/newsletter/designs_controller.rb +5 -2
- data/app/controllers/newsletter/elements_controller.rb +7 -7
- data/app/controllers/newsletter/fields_controller.rb +1 -46
- data/app/controllers/newsletter/newsletters_controller.rb +6 -24
- data/app/controllers/newsletter/pieces_controller.rb +8 -21
- data/app/helpers/newsletter/designs_helper.rb +1 -8
- data/app/helpers/newsletter/layout_helper.rb +43 -0
- data/app/helpers/newsletter/newsletters_helper.rb +9 -5
- data/app/models/newsletter/area.rb +1 -4
- data/app/models/newsletter/asset.rb +7 -1
- data/app/models/newsletter/design.rb +48 -34
- data/app/models/newsletter/element.rb +0 -42
- data/app/models/newsletter/field.rb +7 -10
- data/app/models/newsletter/field/inline_asset.rb +15 -2
- data/app/models/newsletter/newsletter.rb +18 -11
- data/app/models/newsletter/piece.rb +20 -24
- data/app/views/layouts/newsletter/application.html.erb +20 -116
- data/app/views/layouts/newsletter/layout.html.erb +15 -0
- data/app/views/newsletter/areas/_area.html.erb +1 -1
- data/app/views/newsletter/designs/_area_fields.html.erb +1 -1
- data/app/views/newsletter/designs/_form.html.erb +11 -29
- data/app/views/newsletter/designs/_newsletter_area.html.erb +2 -2
- data/app/views/newsletter/designs/edit.html.erb +3 -6
- data/app/views/newsletter/designs/index.html.erb +7 -6
- data/app/views/newsletter/designs/new.html.erb +2 -2
- data/app/views/newsletter/designs/show.html.erb +5 -5
- data/app/views/newsletter/elements/_field_fields.html.erb +12 -25
- data/app/views/newsletter/elements/_form.html.erb +38 -34
- data/app/views/newsletter/elements/edit.html.erb +2 -5
- data/app/views/newsletter/elements/index.html.erb +7 -7
- data/app/views/newsletter/elements/new.html.erb +2 -2
- data/app/views/newsletter/elements/show.html.erb +5 -5
- data/app/views/newsletter/fields/_inline_asset.html.erb +12 -32
- data/app/views/newsletter/fields/_text.html.erb +2 -4
- data/app/views/newsletter/fields/_text_area.html.erb +2 -7
- data/app/views/newsletter/newsletters/_form.html.erb +6 -16
- data/app/views/newsletter/newsletters/_head.html.erb +2 -3
- data/app/views/newsletter/newsletters/_newsletter.html.erb +11 -6
- data/app/views/newsletter/newsletters/archive.html.erb +1 -1
- data/app/views/newsletter/newsletters/edit.html.erb +8 -16
- data/app/views/newsletter/newsletters/index.html.erb +7 -7
- data/app/views/newsletter/newsletters/new.html.erb +2 -2
- data/app/views/newsletter/newsletters/show.html.erb +11 -6
- data/app/views/newsletter/pieces/_form.html.erb +1 -8
- data/app/views/newsletter/pieces/edit.html.erb +2 -4
- data/app/views/newsletter/pieces/new.html.erb +3 -5
- data/config/locales/newsletters.en.yml +27 -0
- data/config/routes.rb +4 -4
- data/designs/exports/Example.yml +202 -0
- data/designs/exports/example-export.yaml +481 -87
- data/lib/deleteable.rb +12 -14
- data/lib/newsletter/engine.rb +112 -6
- data/lib/newsletter/version.rb +1 -1
- data/lib/tasks/newsletter.rake +54 -41
- data/newsletter.gemspec +3 -1
- data/spec/test_app/.rspec +2 -0
- data/spec/test_app/app/controllers/application_controller.rb +5 -0
- data/spec/test_app/app/models/ability.rb +8 -0
- data/spec/test_app/app/models/user.rb +10 -0
- data/spec/test_app/app/views/layouts/application.html.erb +3 -1
- data/spec/test_app/config/database.postgres.yml +21 -0
- data/spec/test_app/config/initializers/carrierwave.rb +23 -0
- data/spec/test_app/config/newsletter.yml +6 -3
- data/spec/test_app/config/routes.rb +1 -2
- data/spec/test_app/db/migrate/20131222171230_create_users.rb +13 -0
- data/spec/test_app/db/schema.rb +13 -2
- data/spec/test_app/features/newsletter_management.feature +39 -0
- data/spec/test_app/features/piece_management.feature +20 -0
- data/spec/test_app/features/step_definitions/debugging_steps.rb +3 -0
- data/spec/test_app/features/step_definitions/design_steps.rb +3 -0
- data/spec/test_app/features/step_definitions/login_steps.rb +4 -0
- data/spec/test_app/features/step_definitions/newsletter_steps.rb +24 -0
- data/spec/test_app/features/step_definitions/piece_steps.rb +26 -0
- data/{features → spec/test_app/features}/step_definitions/webrat_steps.rb +10 -6
- data/spec/test_app/features/support/env.rb +36 -0
- data/spec/test_app/features/support/functions.rb +3 -0
- data/{features → spec/test_app/features}/support/paths.rb +10 -1
- data/spec/test_app/lib/debugging.rb +61 -0
- data/spec/test_app/script/full_suite +44 -0
- data/spec/test_app/script/rspec_multi_db +26 -0
- data/spec/test_app/spec/controllers/newsletter/pieces_controller_spec.rb +175 -0
- data/spec/test_app/spec/factories/_functions.rb +19 -0
- data/spec/test_app/spec/factories/assets.rb +8 -0
- data/spec/test_app/spec/factories/designs.rb +1 -1
- data/spec/test_app/spec/factories/newsletters.rb +68 -6
- data/spec/test_app/spec/factories/pieces.rb +8 -0
- data/spec/test_app/spec/factories/users.rb +13 -0
- data/spec/test_app/spec/features/newsletter/design_spec.rb +175 -0
- data/spec/test_app/spec/features/newsletter/element_spec.rb +53 -0
- data/spec/test_app/spec/features/newsletter/newsletter_spec.rb +99 -3
- data/spec/test_app/spec/helpers/newsletter/newsletters_helper_spec.rb +65 -0
- data/spec/test_app/spec/models/newsletter/asset_spec.rb +23 -0
- data/spec/test_app/spec/models/newsletter/design_spec.rb +23 -2
- data/spec/test_app/spec/models/newsletter/element_spec.rb +4 -0
- data/spec/test_app/spec/models/newsletter/inline_asset_spec.rb +43 -0
- data/spec/test_app/spec/models/newsletter/newsletter_spec.rb +102 -2
- data/spec/test_app/spec/models/newsletter/piece_spec.rb +33 -0
- data/spec/test_app/spec/rails_helper.rb +82 -0
- data/spec/test_app/spec/routing/newsletter/pieces_routing_spec.rb +28 -0
- data/spec/test_app/spec/spec_helper.rb +73 -64
- data/spec/test_app/spec/support/carrierwave.rb +7 -0
- data/spec/test_app/spec/support/continuances.rb +18 -0
- data/spec/test_app/spec/support/files/iReach_logo.gif +0 -0
- data/spec/test_app/spec/support/files/test.pdf +0 -0
- data/spec/test_app/spec/support/functions.rb +3 -0
- metadata +145 -726
- data/README +0 -243
- data/README.rdoc +0 -3
- data/app/views/newsletter/elements/_newsletter_field.html.erb +0 -37
- data/features/support/env.rb +0 -17
- data/lib/tasks/newsletter_tasks.rake +0 -4
- data/lib/tasks/rspec.rake +0 -158
- data/spec/spec_helper.rb +0 -55
- data/spec/test_app/db/structure.sql +0 -12
- data/spec/test_app/newsletters/designs/My_Design/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/My_Design/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/My_Design/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/My_Design/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/My_Design/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/My_Design/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/My_Design/layout.html.erb +0 -66
- data/spec/test_app/newsletters/designs/Testo_Changeo/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/Testo_Changeo/layout.html.erb +0 -66
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/layout.html.erb +0 -66
- data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/enable_extensible_systems/layout.html.erb +0 -66
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/layout.html.erb +0 -67
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/layout.html.erb +0 -66
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/layout.html.erb +0 -66
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/layout.html.erb +0 -66
- data/spec/test_app/newsletters/designs/integrate_mission-critical_systems/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/integrate_mission-critical_systems/layout.html.erb +0 -66
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/layout.html.erb +0 -67
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/layout.html.erb +0 -67
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/layout.html.erb +0 -67
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/layout.html.erb +0 -67
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/layout.html.erb +0 -66
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/layout.html.erb +0 -66
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/layout.html.erb +0 -67
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/layout.html.erb +0 -66
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/layout.html.erb +0 -67
- data/spec/test_app/newsletters/designs/transition_enterprise_systems/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/transition_enterprise_systems/layout.html.erb +0 -66
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_left_column_article.html.erb +0 -10
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_left_column_image.html.erb +0 -2
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_right_column_article.html.erb +0 -5
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_right_column_headline.html.erb +0 -1
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_right_column_image.html.erb +0 -1
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_right_column_paragraph.html.erb +0 -3
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/layout.html.erb +0 -66
@@ -1,12 +1,9 @@
|
|
1
|
-
|
1
|
+
<%= title "Edit Element '#{@element.name}'" %>
|
2
2
|
|
3
3
|
<%= render :partial => 'form' %>
|
4
4
|
|
5
5
|
<%= content_for :page_navigation do %>
|
6
6
|
<div>
|
7
|
-
|
8
|
-
<%= link_to "Show", @element, :class => 'button' %><div class="linkbuttonEnding"></div>
|
9
|
-
<% end %>
|
10
|
-
<%= link_to "View All", design_elements_path(@design), :class => 'button' %><div class="linkbuttonEnding"></div>
|
7
|
+
<%= link_to "View All", design_elements_path(@design), :class => 'button' %>
|
11
8
|
</div>
|
12
9
|
<% end %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
<%= title "Elements" %>
|
2
2
|
|
3
3
|
<table class="list" cellpadding="1" cellspacing="0">
|
4
4
|
<tr class="title">
|
@@ -11,14 +11,14 @@
|
|
11
11
|
<% end %>
|
12
12
|
</tr>
|
13
13
|
<% for element in @elements %>
|
14
|
-
<tr class="<%= cycle('odd','even') %>">
|
14
|
+
<tr class="<%= cycle('odd','even') %>" id="element_<%= element.id %>">
|
15
15
|
<td><%=h element.name %></td>
|
16
16
|
<td><%=h element.description %></td>
|
17
17
|
<% if::Newsletter.use_show_for_resources %>
|
18
|
-
<td><%= link_to "View", element, :class => 'button'
|
18
|
+
<td><%= link_to "View", element, :class => 'button' %></td>
|
19
19
|
<% end %>
|
20
|
-
<td><%= link_to "Edit", edit_element_path(element), :class => 'button'
|
21
|
-
<td><%= link_to "Delete", element, :confirm => 'Are you sure?', :method => :delete, :class => 'button'
|
20
|
+
<td><%= link_to "Edit", edit_element_path(element), :class => 'button' %></td>
|
21
|
+
<td><%= link_to "Delete", element, :confirm => 'Are you sure?', :method => :delete, :class => 'button' %></td>
|
22
22
|
</tr>
|
23
23
|
<% end %>
|
24
24
|
</table>
|
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
<%= content_for :page_navigation do %>
|
28
28
|
<div>
|
29
|
-
<%= link_to "Back to Design", edit_design_path(@design), :class => 'button'
|
30
|
-
<%= link_to "New Newsletter Element", new_design_element_path(@design), :class => 'button'
|
29
|
+
<%= link_to "Back to Design", edit_design_path(@design), :class => 'button' %>
|
30
|
+
<%= link_to "New Newsletter Element", new_design_element_path(@design), :class => 'button' %>
|
31
31
|
</div>
|
32
32
|
<% end %>
|
@@ -1,9 +1,9 @@
|
|
1
|
-
|
1
|
+
<%= title "New Element" %>
|
2
2
|
|
3
3
|
<%= render :partial => 'form' %>
|
4
4
|
|
5
5
|
<%= content_for :page_navigation do %>
|
6
6
|
<div>
|
7
|
-
<%= link_to "Back to List", design_elements_path(@design), :class => 'button'
|
7
|
+
<%= link_to "Back to List", design_elements_path(@design), :class => 'button' %>
|
8
8
|
</div>
|
9
9
|
<% end %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
<%= title "Element" %>
|
2
2
|
|
3
3
|
<p>
|
4
4
|
<strong>Name:</strong>
|
@@ -15,8 +15,8 @@
|
|
15
15
|
|
16
16
|
<%= content_for :page_navigation do %>
|
17
17
|
<div>
|
18
|
-
<%= link_to "Edit", edit_element_path(@element), :class => 'button'
|
19
|
-
<%= link_to "Delete", @element, :confirm => 'Are you sure?', :method => :delete, :class => 'button'
|
20
|
-
<%= link_to "View All", design_elements_path(@design), :class => 'button'
|
18
|
+
<%= link_to "Edit", edit_element_path(@element), :class => 'button' %>
|
19
|
+
<%= link_to "Delete", @element, :confirm => 'Are you sure?', :method => :delete, :class => 'button' %>
|
20
|
+
<%= link_to "View All", design_elements_path(@design), :class => 'button' %>
|
21
21
|
</div>
|
22
|
-
<% end %>
|
22
|
+
<% end %>
|
@@ -1,36 +1,16 @@
|
|
1
|
-
|
2
|
-
<td colspan="2">
|
3
|
-
<div class="newsletter_parts_group">
|
1
|
+
<div class="newsletter_parts_group" id="piece_field_values_attributes_<%= field.id %>">
|
4
2
|
<h2>Asset for <%= field.label %></h2>
|
5
|
-
|
6
|
-
<tr>
|
7
|
-
<td colspan="2">Either enter a url to your asset or upload a file.</td>
|
8
|
-
</tr>
|
9
|
-
|
10
|
-
<tr>
|
11
|
-
<td colspan="2">
|
3
|
+
Either enter a url to your asset or upload a file.<br />
|
12
4
|
<% unless field.description.blank? %>
|
13
|
-
<%= field.description
|
5
|
+
<%= field.description %><br />
|
14
6
|
<% end %>
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
<
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
<tr>
|
25
|
-
<td>
|
26
|
-
<label for="asset">Upload An Asset:</label></td>
|
27
|
-
<td><%= file_field_tag 'piece[field_values_attributes]['+field.id.to_s+'][uploaded_data]' %>
|
28
|
-
|
29
|
-
<%= hidden_field_tag 'piece[field_values_attributes]['+field.id.to_s+'][asset_id]', field_value.asset_id %>
|
30
|
-
</td>
|
31
|
-
</tr>
|
32
|
-
|
33
|
-
</table>
|
7
|
+
<% if field_value.url.present? && field_value.is_image? %>
|
8
|
+
<%= image_tag field_value.url, id: "piece_field_values_image_#{field.id}" %><br />
|
9
|
+
<% end %>
|
10
|
+
<%= label_tag 'piece[field_values_attributes]['+field.id.to_s+'][url]', "Url:" %>
|
11
|
+
<%= text_field_tag 'piece[field_values_attributes]['+field.id.to_s+'][url]', field_value.url, :style=>'width: 590px;' %><br />
|
12
|
+
<label for="asset">Upload An Asset:</label>
|
13
|
+
<%= file_field_tag 'piece[field_values_attributes]['+field.id.to_s+'][uploaded_data]' %>
|
14
|
+
<%= hidden_field_tag 'piece[field_values_attributes]['+field.id.to_s+'][asset_id]', field_value.asset_id %>
|
15
|
+
<%= link_to "Delete Asset", "#", onclick: "if(confirm('Are you sure?')) {jQuery('#piece_field_values_image_#{field.id}').hide(); jQuery('#piece_field_values_attributes_#{field.id}_url').val('')}; return false;", class: "button" %>
|
34
16
|
</div>
|
35
|
-
</td>
|
36
|
-
</tr>
|
@@ -1,4 +1,2 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
<td><%= text_field_tag 'piece[field_values_attributes]['+field.id.to_s+'][text]', field.value_for_piece(piece) %></td>
|
4
|
-
</tr>
|
1
|
+
<%= label_tag 'piece[field_values_attributes]['+field.id.to_s+'][text]', "#{field.label}:" %>
|
2
|
+
<%= text_field_tag 'piece[field_values_attributes]['+field.id.to_s+'][text]', field.value_for_piece(piece,false), :style=>'width: 620px;' %><br />
|
@@ -1,7 +1,2 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
<td><%= text_area_tag 'piece[field_values_attributes]['+field.id.to_s+'][text_area]', field.value_for_piece(piece), {:cols => 80, :rows => 30} %></td>
|
4
|
-
</tr>
|
5
|
-
<div class="entry">
|
6
|
-
|
7
|
-
</div>
|
1
|
+
<%= label_tag 'piece[field_values_attributes]['+field.id.to_s+'][text_area]', "#{field.label}:" %>
|
2
|
+
<%= text_area_tag 'piece[field_values_attributes]['+field.id.to_s+'][text_area]', field.value_for_piece(piece), {:cols => 74, :rows => 30} %><br />
|
@@ -1,21 +1,11 @@
|
|
1
1
|
<%= form_for(@newsletter) do |f| %>
|
2
2
|
<%= f.error_messages %>
|
3
3
|
|
4
|
-
<table cellpadding="2" cellspacing="0" border="0">
|
5
|
-
<tr>
|
6
|
-
<td><%= f.label :name %> </td>
|
7
|
-
<td><%= f.text_field :name %></td>
|
8
|
-
</tr>
|
9
4
|
<% if @newsletter.design.nil? %>
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
<td colspan="2" align="right"><%= f.submit "Save", :class => "button" %><div class="buttonEnding"></div>
|
17
|
-
</td>
|
18
|
-
</tr>
|
19
|
-
</table>
|
20
|
-
|
5
|
+
<%= f.label :design %>
|
6
|
+
<%= f.select :design_id, @designs.collect {|design| [ design.name, design.id ] } %><br />
|
7
|
+
<% end %>
|
8
|
+
<%= f.label :name %>
|
9
|
+
<%= f.text_field :name, :style=> 'float: left; margin-right: 10px;' %>
|
10
|
+
<%= f.submit "Save", :class => "button" %><div style="clear: both;"></div>
|
21
11
|
<% end %>
|
@@ -1,8 +1,7 @@
|
|
1
1
|
<% unless is_email? %>
|
2
2
|
<link rel="stylesheet" href="https://code.jquery.com/ui/1.10.3/themes/le-frog/jquery-ui.css">
|
3
|
-
|
4
|
-
|
5
|
-
<script src="/javascripts/jquery-ui-1.10.3.custom.js" type="text/javascript"></script>
|
3
|
+
<%= javascript_include_tag 'newsletter/application' %>
|
4
|
+
<%= yield :head_content %>
|
6
5
|
|
7
6
|
<style>
|
8
7
|
.edit_link {
|
@@ -1,6 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
<
|
5
|
-
|
6
|
-
<%= render
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
5
|
+
<title><%= @newsletter.name %></title>
|
6
|
+
<%= render 'newsletter/newsletters/head' %>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<%= render :inline => File.readlines(@newsletter.design.view_path).join, :locals => @newsletter.locals %>
|
10
|
+
</body>
|
11
|
+
</html>
|
@@ -1,21 +1,16 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
<%= title "Edit Newsletter" %>
|
2
|
+
<label>Design</label>
|
3
|
+
<div style="font-size: 11pt; padding-top: 5px;"><%= @newsletter.design.name %> </div><br />
|
3
4
|
<%= render :partial => 'form' %>
|
4
|
-
|
5
|
-
<h3>Design - <%= @newsletter.design.name %> </h3>
|
6
5
|
<% if @newsletter.design %>
|
7
|
-
<table cellpadding="2" cellspacing="0" border="0">
|
8
6
|
<% @newsletter.areas.each do |area| %>
|
9
|
-
<%= form_tag new_newsletter_piece_path(@newsletter), :method => :get do %>
|
7
|
+
<%= form_tag new_newsletter_piece_path(@newsletter), :method => :get, :id => "add_element_for_area_#{area.id}" do %>
|
10
8
|
<%= hidden_field_tag 'area_id', area.id %>
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
<td><%= submit_tag 'Add Element', :class => 'button' %><div class="buttonEnding"></div></td>
|
15
|
-
</tr>
|
9
|
+
<%= label_tag "area_#{area.id}_element_id", "Area: #{area.name.humanize}" %>
|
10
|
+
<%= select_tag 'element_id', options_from_collection_for_select(area.elements, 'id', 'name'), :style=>'margin-right: 10px;', :id => "area_#{area.id}_element_id" %>
|
11
|
+
<%= submit_tag 'Add Element', :class => 'button', :id => "add_element_#{area.id}" %><br />
|
16
12
|
<% end %>
|
17
13
|
<% end %>
|
18
|
-
</table>
|
19
14
|
|
20
15
|
<p><b>Newsletter Window Size: </b>
|
21
16
|
<% [[640,480],[800,600],[1024,768],[1280,1024],[1600,1200]].each do |width,height| %>
|
@@ -29,9 +24,6 @@
|
|
29
24
|
|
30
25
|
<%= content_for :page_navigation do %>
|
31
26
|
<div>
|
32
|
-
|
33
|
-
<%= link_to "Show", @newsletter, :class => 'button' %><div class="linkbuttonEnding"></div>
|
34
|
-
<% end %>
|
35
|
-
<%= link_to "Back", newsletters_path, :class => 'button' %><div class="linkbuttonEnding"></div>
|
27
|
+
<%= link_to "Back", newsletters_path, :class => 'button' %>
|
36
28
|
</div>
|
37
29
|
<% end %>
|
@@ -1,6 +1,6 @@
|
|
1
|
-
|
1
|
+
<%= title "Newsletters" %>
|
2
2
|
<div>
|
3
|
-
<%= link_to "New Newsletter", new_newsletter_path, :class => 'button'
|
3
|
+
<%= link_to "New Newsletter", new_newsletter_path, :class => 'button' %>
|
4
4
|
<div><br /><br /><%= will_paginate @newsletters %></div>
|
5
5
|
<table class="list" cellpadding="1" cellspacing="0">
|
6
6
|
<tr class="title">
|
@@ -11,11 +11,11 @@
|
|
11
11
|
<tr class="<%= cycle('odd','even') %>">
|
12
12
|
<td><%=h newsletter.name %></td>
|
13
13
|
<% if newsletter.published? %>
|
14
|
-
<td><%= link_to 'Un–Publish'.html_safe, unpublish_newsletter_path(newsletter), :class=>"button"
|
15
|
-
<% else %><td><%= link_to 'Publish', publish_newsletter_path(newsletter), :class=>"button"
|
14
|
+
<td><%= link_to 'Un–Publish'.html_safe, unpublish_newsletter_path(newsletter), :class=>"button" %></td>
|
15
|
+
<% else %><td><%= link_to 'Publish', publish_newsletter_path(newsletter), :class=>"button" %></td>
|
16
16
|
<% end %>
|
17
|
-
<td><%= link_to "Edit", edit_newsletter_path(newsletter), :class => 'button'
|
18
|
-
<td><%= link_to "Delete", newsletter, :confirm => 'Are you sure?', :method => :delete, :class => 'button'
|
17
|
+
<td><%= link_to "Edit", edit_newsletter_path(newsletter), :class => 'button' %></td>
|
18
|
+
<td><%= link_to "Delete", newsletter, :confirm => 'Are you sure?', :method => :delete, :class => 'button' %></td>
|
19
19
|
</tr>
|
20
20
|
<% end %>
|
21
21
|
</table>
|
@@ -23,7 +23,7 @@
|
|
23
23
|
|
24
24
|
<%= content_for :page_navigation do %>
|
25
25
|
<div>
|
26
|
-
<%= link_to "New Newsletter", new_newsletter_path, :class => 'button'
|
26
|
+
<%= link_to "New Newsletter", new_newsletter_path, :class => 'button' %>
|
27
27
|
</div>
|
28
28
|
<div><br /><br /><%= will_paginate @newsletters %></div>
|
29
29
|
<% end %>
|
@@ -1,9 +1,9 @@
|
|
1
|
-
|
1
|
+
<%= title "New Newsletter" %>
|
2
2
|
|
3
3
|
<%= render :partial => 'form' %>
|
4
4
|
|
5
5
|
<%= content_for :page_navigation do %>
|
6
6
|
<div>
|
7
|
-
<%= link_to "Back to List", newsletters_path, :class => 'button'
|
7
|
+
<%= link_to "Back to List", newsletters_path, :class => 'button' %>
|
8
8
|
</div>
|
9
9
|
<% end %>
|
@@ -1,6 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
<
|
5
|
-
|
6
|
-
<%= render
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
5
|
+
<title><%= @newsletter.name %></title>
|
6
|
+
<%= render 'newsletter/newsletters/head' %>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<%= render :inline => File.readlines(@newsletter.design.view_path).join, :locals => @newsletter.locals %>
|
10
|
+
</body>
|
11
|
+
</html>
|
@@ -1,5 +1,3 @@
|
|
1
|
-
|
2
|
-
<table cellspacing='1' cellpadding='0' border='0'>
|
3
1
|
<%= form_for(@piece, :html => { :multipart => true }) do |f| %>
|
4
2
|
<%= f.error_messages %>
|
5
3
|
<% @piece.element.fields.each do |field| %>
|
@@ -7,13 +5,8 @@
|
|
7
5
|
<%= render :partial => field.form_partial_path, :locals => { :piece => @piece, :field => field, :field_value => field.value_for_piece(@piece) } %>
|
8
6
|
|
9
7
|
<% end %>
|
10
|
-
<tr>
|
11
|
-
<td colspan="2" align="right">
|
12
8
|
<%= f.hidden_field :element_id %>
|
13
9
|
<%= f.hidden_field :area_id %>
|
14
10
|
<%= f.hidden_field :newsletter_id %>
|
15
|
-
<%= f.submit "Submit", :class => 'button'
|
16
|
-
</td>
|
17
|
-
</tr>
|
11
|
+
<%= f.submit "Submit", :class => 'button' %>
|
18
12
|
<% end %>
|
19
|
-
</table>
|
@@ -1,11 +1,9 @@
|
|
1
|
-
|
1
|
+
<%= title "Editing #{ @piece.element.name } in Area: #{ @piece.area.name.humanize }" %>
|
2
2
|
<p><%= @piece.element.description %></p>
|
3
3
|
<%= render :partial => 'form' %>
|
4
4
|
|
5
5
|
|
6
6
|
<%= content_for :page_navigation do %>
|
7
|
-
|
8
|
-
<%= link_to 'Back', edit_newsletter_path(@newsletter), :class => 'button' %><div class="linkbuttonEnding"></div>
|
9
|
-
</div>
|
7
|
+
<%= link_to 'Back', edit_newsletter_path(@newsletter), :class => 'button' %>
|
10
8
|
<% end %>
|
11
9
|
|
@@ -1,10 +1,8 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
<%= title "New #{ @piece.element.name } in Area: #{ @piece.area.name.humanize }" %>
|
2
|
+
<p><%= @piece.element.description %></p>
|
3
3
|
<%= render :partial => 'form' %>
|
4
4
|
|
5
5
|
<%= content_for :page_navigation do %>
|
6
|
-
|
7
|
-
<%= link_to 'Back', edit_newsletter_path(@newsletter), :class => 'button' %><div class="linkbuttonEnding"></div>
|
8
|
-
</div>
|
6
|
+
<%= link_to 'Back', edit_newsletter_path(@newsletter), :class => 'button' %>
|
9
7
|
<% end %>
|
10
8
|
|
@@ -0,0 +1,27 @@
|
|
1
|
+
en:
|
2
|
+
activerecord:
|
3
|
+
models:
|
4
|
+
newsletter/design:
|
5
|
+
one: "Design"
|
6
|
+
other: "Designs"
|
7
|
+
newsletter/element:
|
8
|
+
one: "Element"
|
9
|
+
other: "Elements"
|
10
|
+
|
11
|
+
attributes:
|
12
|
+
newsletter/design:
|
13
|
+
name: "Name"
|
14
|
+
description: "Description"
|
15
|
+
html_text: "HTML code"
|
16
|
+
newsletter/element:
|
17
|
+
html_text: "HTML code"
|
18
|
+
|
19
|
+
errors:
|
20
|
+
messages:
|
21
|
+
record_invalid: "record is invalid"
|
22
|
+
|
23
|
+
navigation:
|
24
|
+
|
25
|
+
helpers:
|
26
|
+
|
27
|
+
messages:
|
data/config/routes.rb
CHANGED
@@ -7,9 +7,9 @@ Newsletter::Engine.routes.draw do
|
|
7
7
|
get :editor
|
8
8
|
end
|
9
9
|
collection do
|
10
|
-
get :
|
10
|
+
get :sort
|
11
11
|
end
|
12
|
-
resources :pieces, :only => [:
|
12
|
+
resources :pieces, :only => [:new]
|
13
13
|
end
|
14
14
|
resources :pieces, :only => [:edit,:create,:update,:destroy]
|
15
15
|
resources :designs do
|
@@ -21,7 +21,7 @@ Newsletter::Engine.routes.draw do
|
|
21
21
|
match '/newsletters/:id/:mode' => 'newsletters#show', :method => :get, :as => :public_newsletter_mode
|
22
22
|
match '/newsletters/:id/public' => 'newsletters#show', :method => :get, :as => :public_newsletter
|
23
23
|
match '/newsletters/:id' => 'newsletters#show', :method => :get, :as => :newsletter
|
24
|
-
match '/newsletters' => 'newsletters#index', :method => :get, :as => :
|
24
|
+
match '/newsletters' => 'newsletters#index', :method => :get, :as => :newsletters
|
25
25
|
root :to => 'newsletters#index'
|
26
26
|
end
|
27
27
|
|
@@ -30,4 +30,4 @@ Rails.application.routes.draw do
|
|
30
30
|
match '/newsletters/archive' => 'newsletter/newsletters#archive', :method => :get, :as => :newsletter_archive
|
31
31
|
match '/newsletters/:id/:mode' => 'newsletter/newsletters#show', :method => :get, :as => :public_newsletter_mode
|
32
32
|
match '/newsletters/:id/public' => 'newsletter/newsletters#show', :method => :get, :as => :public_newsletter
|
33
|
-
end
|
33
|
+
end
|
@@ -0,0 +1,202 @@
|
|
1
|
+
---
|
2
|
+
:name: Example Design
|
3
|
+
:html_text: ! "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html
|
4
|
+
xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<meta http-equiv=\"Content-Type\"
|
5
|
+
content=\"text/html; charset=utf-8\" />\r\n<style type=\"text/css\">\r\nh1{font-family:
|
6
|
+
Arial Black, Arial, Helvetica, sans-serif; color: #333333; font-size:22px; margin:0;
|
7
|
+
padding: 0 0 10px 0; }\r\nh2{font-family: Arial Black, Arial, Helvetica, sans-serif;
|
8
|
+
color: #333333; font-size:17px; margin:0; padding: 7px 0 0 0;}\r\nh3 {font-family:
|
9
|
+
Arial Black, Arial, Helvetica, sans-serif; color: #0068b3; font-size:9pt; margin:0;
|
10
|
+
padding: 0;}\r\np {font-family: Arial, Helvetica, sans-serif; color: #333333; font-size:8.5pt;
|
11
|
+
margin-top:4px; margin-bottom:4px;}\r\np.right{font-family: Arial, Helvetica, sans-serif;
|
12
|
+
color: #333333; font-size:9.5pt; margin:0 0 15px 0; padding: 0; line-height:1.2em;}\r\na{text-decoration:none;
|
13
|
+
color: #0068b3;}\r\na:hover {color: #7fc348;}\r\n.footer {font-size:7pt;}\r\np a
|
14
|
+
{font-size: 6pt; font-weight: bold;}\r\np.right a {font-size: 7pt;}\r\nhr{color:
|
15
|
+
#7fc348; margin:5px 0; height: 1px; padding: 0;}\r\n.bullet {color: #7fc348; font-weight:
|
16
|
+
bold; height: 5px;}\r\np.pullquote {color: #333333; background:url(<%= asset_path(
|
17
|
+
\"images/pullquote_bg.gif\") %>) repeat-x ; margin:0; padding: 15px; text-align:center;
|
18
|
+
font-style: italic; font-size: 7pt;}\r\np.pullquote a { color: #333333;}\r\np.pullquote
|
19
|
+
a:hover {color: #0068b3;}\r\n .wrappertable {\r\n\twidth: 574px;\r\n\tmargin: 0
|
20
|
+
8px;\r\n }\r\n .leftcoltable {\r\n\twidth: 227px;\r\n } \r\n .rightcoltable
|
21
|
+
{\r\n\twidth: 347px;\r\n\tpadding-left: 15px;\r\n }\r\n@media only screen and (max-device-width:
|
22
|
+
600px) {\r\n .wrappertable {\r\n\twidth: 95%;\r\n }\r\n .leftcoltable {\r\n\twidth:
|
23
|
+
100%;\r\n }\r\n .rightcoltable {\r\n\twidth: 100%;\r\n }\r\n}\r\n</style>\r\n<%=
|
24
|
+
render partial: 'head' %>\r\n</head>\r\n<body>\r\n<table cellspacing=\"0\" cellpadding=\"0\"
|
25
|
+
class=\"wrappertable\">\r\n<tr><td colspan=\"2\" align=\"center\">\r\n<h1>Newsletter
|
26
|
+
Header Image or Name</h1></td></tr>\r\n<tr bgcolor=\"#0068b3\" cellpadding=\"2\"
|
27
|
+
cellspacing=\"2\"><td style=\"font-family:arial,sans-serif;font-size:11px;color:#FFFFFF;\"cellpadding=\"2\"
|
28
|
+
cellspacing=\"2\">Your Tagline or Newsletter Description</td><td align=\"right\"
|
29
|
+
style=\"font-family:arial,sans-serif;font-size:12px;color:#FFFFFF;\" cellpadding=\"2\"
|
30
|
+
cellspacing=\"2\"><%= @newsletter.name %></td></tr>\r\n</table>\r\n\r\n<table cellspacing=\"0\"
|
31
|
+
cellpadding=\"0\" class=\"wrappertable\">\r\n<tr valign=\"top\">\r\n<td><table cellspacing=\"0\"
|
32
|
+
cellpadding=\"0\" class=\"leftcoltable\" align=\"left\"><tr><td>\r\n<h2>In This
|
33
|
+
Issue</h2>\r\n<!-- Left Column -->\r\n<%= render left_column %>\r\n<hr />\r\n<h3><%=
|
34
|
+
link_to \"Newsletter Archives\", \"#{::Newsletter.site_url}/newsletters/archive\",
|
35
|
+
:target => '_blank' %></h3>\r\n<p>If you missed a previous release or simply want
|
36
|
+
to review an article of interest, all our newsletters have been archived. <%= link_to
|
37
|
+
\"Read More\", \"#{::Newsletter.site_url}/newsletters/archive\" %></p>\r\n</td></tr></table>\r\n<!--Right
|
38
|
+
Column-->\r\n<table cellspacing=\"0\" cellpadding=\"0\" class=\"rightcoltable\"
|
39
|
+
align=\"right\"><tr><td>\r\n<%= render right_column %>\r\n</td></tr></table></td>\r\n</tr>\r\n<%
|
40
|
+
if is_email? %>\r\n<tr><td><hr /><p class=\"footer\" align=\"center\"><font color=\"#aaaaaa\">To
|
41
|
+
remove your address from this newsletter list, please click <%= link_to \"Here\",
|
42
|
+
'#UNSUBSCRIBE_URL##' %>.</font></p></td></tr>\r\n<% end %>\r\n<tr><td><hr /><p class=\"footer\"
|
43
|
+
align=\"center\"><font color=\"#555555\"><b>My Company, Inc.</b> <span class=\"bullet\">•</span>
|
44
|
+
123 Test Road <span class=\"bullet\">•</span> Austin, TX 78230 p:210.495.1171
|
45
|
+
<span class=\"bullet\">•</span> f:555.555.1244 <span class=\"bullet\">•</span>
|
46
|
+
toll free: 1.800.555.5555</font></p></td></tr>\r\n</table>\r\n</body>\r\n</html>"
|
47
|
+
:description: This is the simple newsletter template.
|
48
|
+
:areas:
|
49
|
+
- :name: left_column
|
50
|
+
:description: This will house the elements of the 'left_column'
|
51
|
+
- :name: right_column
|
52
|
+
:description: This will house the elements of the 'right_column'
|
53
|
+
:elements:
|
54
|
+
- :name: Left Column Article
|
55
|
+
:description: Has a heading, an excerpt, and a Read More link
|
56
|
+
:html_text: ! '<hr />
|
57
|
+
|
58
|
+
<h3>
|
59
|
+
|
60
|
+
<% unless link.url.blank? %>
|
61
|
+
|
62
|
+
<%= link_to headline, link.url %>
|
63
|
+
|
64
|
+
<% else %>
|
65
|
+
|
66
|
+
<%=h headline %>
|
67
|
+
|
68
|
+
<% end %>
|
69
|
+
|
70
|
+
</h3>
|
71
|
+
|
72
|
+
|
73
|
+
<p><%= filter(article_excerpt) %> <nobr><%= link_to(''Read More'', link.url) unless
|
74
|
+
link.url.blank? %></nobr></p>
|
75
|
+
|
76
|
+
'
|
77
|
+
:areas:
|
78
|
+
- :name: left_column
|
79
|
+
:description: This will house the elements of the 'left_column'
|
80
|
+
:fields:
|
81
|
+
- :name: article_excerpt
|
82
|
+
:label: Article Excerpt
|
83
|
+
:sequence:
|
84
|
+
:is_required:
|
85
|
+
:description: Article Excerpt
|
86
|
+
:type: Newsletter::Field::TextArea
|
87
|
+
- :name: link
|
88
|
+
:label: Read More Link
|
89
|
+
:sequence:
|
90
|
+
:is_required:
|
91
|
+
:description: Read More Link
|
92
|
+
:type: Newsletter::Field::InlineAsset
|
93
|
+
- :name: headline
|
94
|
+
:label: Headline
|
95
|
+
:sequence:
|
96
|
+
:is_required:
|
97
|
+
:description: Headline
|
98
|
+
:type: Newsletter::Field::Text
|
99
|
+
- :name: Left Column Image
|
100
|
+
:description: Image that is formatted for the left column
|
101
|
+
:html_text: ! '<hr />
|
102
|
+
|
103
|
+
<p><%= image_tag image.url, {:width=>"220", :alt=>image.text } %></p>
|
104
|
+
|
105
|
+
'
|
106
|
+
:areas:
|
107
|
+
- :name: left_column
|
108
|
+
:description: This will house the elements of the 'left_column'
|
109
|
+
:fields:
|
110
|
+
- :name: image
|
111
|
+
:label: Image
|
112
|
+
:sequence: 1
|
113
|
+
:is_required: true
|
114
|
+
:description: image formatted for left column
|
115
|
+
:type: Newsletter::Field::InlineAsset
|
116
|
+
- :name: Right column article
|
117
|
+
:description: RIght Column Article
|
118
|
+
:html_text: ! '<h1><%= headline %></h1>
|
119
|
+
|
120
|
+
<p class="right">
|
121
|
+
|
122
|
+
<%= image_tag(image.url, {:width=>"174", :vspace=>"5", :hspace=>"10", :align=>"left",
|
123
|
+
:alt => image.text} ) unless image.url.blank? %>
|
124
|
+
|
125
|
+
<%= filter(article_excerpt) %>
|
126
|
+
|
127
|
+
<nobr><%= link_to(''Read More'', link.url) unless link.url.blank? %></nobr></p>'
|
128
|
+
:areas:
|
129
|
+
- :name: right_column
|
130
|
+
:description: This will house the elements of the 'right_column'
|
131
|
+
:fields:
|
132
|
+
- :name: headline
|
133
|
+
:label: Headline
|
134
|
+
:sequence:
|
135
|
+
:is_required:
|
136
|
+
:description: Headline
|
137
|
+
:type: Newsletter::Field::Text
|
138
|
+
- :name: image
|
139
|
+
:label: Image
|
140
|
+
:sequence:
|
141
|
+
:is_required:
|
142
|
+
:description: Article Image
|
143
|
+
:type: Newsletter::Field::InlineAsset
|
144
|
+
- :name: link
|
145
|
+
:label: Read More Link
|
146
|
+
:sequence:
|
147
|
+
:is_required:
|
148
|
+
:description: Read More Link
|
149
|
+
:type: Newsletter::Field::InlineAsset
|
150
|
+
- :name: article_excerpt
|
151
|
+
:label: Article Excerpt
|
152
|
+
:sequence:
|
153
|
+
:is_required:
|
154
|
+
:description: Article Excerpt
|
155
|
+
:type: Newsletter::Field::TextArea
|
156
|
+
- :name: Right Column Headline
|
157
|
+
:description: Headline for use in the right column!
|
158
|
+
:html_text: <h1><%= headline %></h1>
|
159
|
+
:areas:
|
160
|
+
- :name: right_column
|
161
|
+
:description: This will house the elements of the 'right_column'
|
162
|
+
:fields:
|
163
|
+
- :name: headline
|
164
|
+
:label: Headline
|
165
|
+
:sequence:
|
166
|
+
:is_required:
|
167
|
+
:description: Headline
|
168
|
+
:type: Newsletter::Field::Text
|
169
|
+
- :name: Right Column Image
|
170
|
+
:description: Image for use in the right column
|
171
|
+
:html_text: ! '<%= image_tag image.url, {:width=>"320", :alt=>image.text, :style=>"margin:0;
|
172
|
+
padding: 15px 0 0 0;"} %>'
|
173
|
+
:areas:
|
174
|
+
- :name: right_column
|
175
|
+
:description: This will house the elements of the 'right_column'
|
176
|
+
:fields:
|
177
|
+
- :name: image
|
178
|
+
:label: Image
|
179
|
+
:sequence:
|
180
|
+
:is_required:
|
181
|
+
:description: Right Column Image
|
182
|
+
:type: Newsletter::Field::InlineAsset
|
183
|
+
- :name: Right Column Paragraph
|
184
|
+
:description: paragraph for use in the right column, may contain a link
|
185
|
+
:html_text: ! "<p class=\"right\">\n\t<%= filter(body) %> <%= link_to 'Read More',
|
186
|
+
link.url unless link.url.blank? %>\n</p>"
|
187
|
+
:areas:
|
188
|
+
- :name: right_column
|
189
|
+
:description: This will house the elements of the 'right_column'
|
190
|
+
:fields:
|
191
|
+
- :name: link
|
192
|
+
:label: Link
|
193
|
+
:sequence:
|
194
|
+
:is_required:
|
195
|
+
:description: Link
|
196
|
+
:type: Newsletter::Field::InlineAsset
|
197
|
+
- :name: body
|
198
|
+
:label: Body
|
199
|
+
:sequence:
|
200
|
+
:is_required:
|
201
|
+
:description: Body
|
202
|
+
:type: Newsletter::Field::TextArea
|