deal_redemptions 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (185) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +30 -0
  5. data/app/assets/fonts/proximanova-light.eot +0 -0
  6. data/app/assets/fonts/proximanova-light.svg +542 -0
  7. data/app/assets/fonts/proximanova-light.ttf +0 -0
  8. data/app/assets/fonts/proximanova-light.woff +0 -0
  9. data/app/assets/fonts/proximanova-regular.eot +0 -0
  10. data/app/assets/fonts/proximanova-regular.svg +544 -0
  11. data/app/assets/fonts/proximanova-regular.ttf +0 -0
  12. data/app/assets/fonts/proximanova-regular.woff +0 -0
  13. data/app/assets/fonts/ss-glyphs.eot +0 -0
  14. data/app/assets/fonts/ss-glyphs.svg +17 -0
  15. data/app/assets/fonts/ss-glyphs.ttf +0 -0
  16. data/app/assets/fonts/ss-glyphs.woff +0 -0
  17. data/app/assets/images/admin/csv-demo.jpg +0 -0
  18. data/app/assets/images/deal-redemptions-logo.png +0 -0
  19. data/app/assets/javascripts/deal_redemptions/admin.js.coffee +77 -0
  20. data/app/assets/javascripts/deal_redemptions/application.js +17 -0
  21. data/app/assets/javascripts/deal_redemptions/redeem/redeem.js.coffee +49 -0
  22. data/app/assets/javascripts/deal_redemptions/redeem/redemption.js.coffee +41 -0
  23. data/app/assets/javascripts/deal_redemptions/redeem/validator.js.coffee +36 -0
  24. data/app/assets/javascripts/deal_redemptions/welcome.js.coffee +3 -0
  25. data/app/assets/stylesheets/deal_redemptions/admin.css.scss +505 -0
  26. data/app/assets/stylesheets/deal_redemptions/application.css.scss +57 -0
  27. data/app/assets/stylesheets/deal_redemptions/lib.css.scss +29 -0
  28. data/app/assets/stylesheets/deal_redemptions/redeem.css.scss +56 -0
  29. data/app/assets/stylesheets/deal_redemptions/welcome.css.scss +33 -0
  30. data/app/controllers/deal_redemptions/admin/companies_controller.rb +66 -0
  31. data/app/controllers/deal_redemptions/admin/dashboard_controller.rb +12 -0
  32. data/app/controllers/deal_redemptions/admin/import_controller.rb +47 -0
  33. data/app/controllers/deal_redemptions/admin/products_controller.rb +60 -0
  34. data/app/controllers/deal_redemptions/admin/redemptions_controller.rb +50 -0
  35. data/app/controllers/deal_redemptions/admin/sessions_controller.rb +26 -0
  36. data/app/controllers/deal_redemptions/admin/settings_controller.rb +14 -0
  37. data/app/controllers/deal_redemptions/admin/user_controller.rb +53 -0
  38. data/app/controllers/deal_redemptions/application_controller.rb +16 -0
  39. data/app/controllers/deal_redemptions/redeem_controller.rb +87 -0
  40. data/app/controllers/deal_redemptions/welcome_controller.rb +9 -0
  41. data/app/helpers/deal_redemptions/admin_helper.rb +30 -0
  42. data/app/helpers/deal_redemptions/application_helper.rb +8 -0
  43. data/app/helpers/deal_redemptions/redeem_helper.rb +4 -0
  44. data/app/helpers/deal_redemptions/welcome_helper.rb +4 -0
  45. data/app/mailers/deal_redemptions/admin_user_mailer.rb +11 -0
  46. data/app/mailers/deal_redemptions/redemption_mailer.rb +11 -0
  47. data/app/models/deal_redemptions/company.rb +27 -0
  48. data/app/models/deal_redemptions/mailing_list.rb +8 -0
  49. data/app/models/deal_redemptions/product.rb +18 -0
  50. data/app/models/deal_redemptions/redeem_code.rb +30 -0
  51. data/app/models/deal_redemptions/redemption.rb +14 -0
  52. data/app/models/deal_redemptions/redemptions/redeem.rb +21 -0
  53. data/app/models/deal_redemptions/user.rb +40 -0
  54. data/app/views/deal_redemptions/admin/companies/_form.html.haml +25 -0
  55. data/app/views/deal_redemptions/admin/companies/edit.html.haml +19 -0
  56. data/app/views/deal_redemptions/admin/companies/index.html.haml +32 -0
  57. data/app/views/deal_redemptions/admin/companies/new.html.haml +11 -0
  58. data/app/views/deal_redemptions/admin/dashboard/index.html.haml +4 -0
  59. data/app/views/deal_redemptions/admin/import/export_redemptions.csv.erb +1 -0
  60. data/app/views/deal_redemptions/admin/import/new.html.haml +54 -0
  61. data/app/views/deal_redemptions/admin/products/_form.html.haml +16 -0
  62. data/app/views/deal_redemptions/admin/products/edit.html.haml +18 -0
  63. data/app/views/deal_redemptions/admin/products/index.html.haml +26 -0
  64. data/app/views/deal_redemptions/admin/products/new.html.haml +11 -0
  65. data/app/views/deal_redemptions/admin/redemptions/index.html.haml +54 -0
  66. data/app/views/deal_redemptions/admin/redemptions/new.html.erb +5 -0
  67. data/app/views/deal_redemptions/admin/redemptions/show.html.haml +64 -0
  68. data/app/views/deal_redemptions/admin/sessions/new.html.haml +23 -0
  69. data/app/views/deal_redemptions/admin/settings/_new_user_modal.html.haml +38 -0
  70. data/app/views/deal_redemptions/admin/settings/index.html.haml +48 -0
  71. data/app/views/deal_redemptions/admin/shared/_sidebar.html.haml +16 -0
  72. data/app/views/deal_redemptions/admin/shared/_topbar.html.haml +5 -0
  73. data/app/views/deal_redemptions/admin_user_mailer/new_confirmation.html.erb +8 -0
  74. data/app/views/deal_redemptions/redeem/new.html.haml +112 -0
  75. data/app/views/deal_redemptions/redeem/thankyou.html.haml +6 -0
  76. data/app/views/deal_redemptions/redeem/validate_code.jbuilder +1 -0
  77. data/app/views/deal_redemptions/redemption_mailer/confirmation.html.erb +3 -0
  78. data/app/views/deal_redemptions/shared_partials/_powered.html.haml +4 -0
  79. data/app/views/deal_redemptions/welcome/index.html.haml +15 -0
  80. data/app/views/kaminari/_first_page.html.haml +9 -0
  81. data/app/views/kaminari/_gap.html.haml +8 -0
  82. data/app/views/kaminari/_last_page.html.haml +9 -0
  83. data/app/views/kaminari/_next_page.html.haml +9 -0
  84. data/app/views/kaminari/_page.html.haml +10 -0
  85. data/app/views/kaminari/_paginator.html.haml +18 -0
  86. data/app/views/kaminari/_prev_page.html.haml +9 -0
  87. data/app/views/layouts/deal_redemptions/admin/auth.html.erb +17 -0
  88. data/app/views/layouts/deal_redemptions/admin/default.html.erb +50 -0
  89. data/app/views/layouts/deal_redemptions/application.html.erb +16 -0
  90. data/config/config_engine_rake_file.rb +13 -0
  91. data/config/locales/en.yml +37 -0
  92. data/config/routes.rb +38 -0
  93. data/db/migrate/20140709234323_create_deal_redemptions_companies.rb +12 -0
  94. data/db/migrate/20140711183800_add_active_to_deal_redemptions_companies.rb +5 -0
  95. data/db/migrate/20140711222957_create_deal_redemptions_mailing_lists.rb +11 -0
  96. data/db/migrate/20140714165815_create_deal_redemptions_products.rb +10 -0
  97. data/db/migrate/20140714184807_create_deal_redemptions_redemptions.rb +20 -0
  98. data/db/migrate/20140715041757_create_deal_redemptions_redeem_codes.rb +13 -0
  99. data/db/migrate/20140718200319_create_deal_redemptions_users.rb +14 -0
  100. data/db/migrate/20140802010843_add_company_and_remove_transaction_to_redemption.rb +5 -0
  101. data/lib/deal_redemptions.rb +5 -0
  102. data/lib/deal_redemptions/admin/importer.rb +66 -0
  103. data/lib/deal_redemptions/admin_interface_domain.rb +11 -0
  104. data/lib/deal_redemptions/engine.rb +52 -0
  105. data/lib/deal_redemptions/version.rb +3 -0
  106. data/lib/tasks/deal_redemptions_tasks.rake +11 -0
  107. data/spec/controllers/deal_redemptions/admin/companies_controller_spec.rb +120 -0
  108. data/spec/controllers/deal_redemptions/admin/dashboard_controller_spec.rb +17 -0
  109. data/spec/controllers/deal_redemptions/admin/import_controller_spec.rb +32 -0
  110. data/spec/controllers/deal_redemptions/admin/products_controller_spec.rb +136 -0
  111. data/spec/controllers/deal_redemptions/admin/redemptions_controller_spec.rb +81 -0
  112. data/spec/controllers/deal_redemptions/admin/sessions_controller_spec.rb +15 -0
  113. data/spec/controllers/deal_redemptions/admin/settings_controller_spec.rb +28 -0
  114. data/spec/controllers/deal_redemptions/admin/user_controller_spec.rb +62 -0
  115. data/spec/controllers/deal_redemptions/redeem_controller_spec.rb +32 -0
  116. data/spec/controllers/deal_redemptions/welcome_controller_spec.rb +28 -0
  117. data/spec/dummy/README.rdoc +28 -0
  118. data/spec/dummy/Rakefile +6 -0
  119. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  120. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  121. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  122. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  123. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  124. data/spec/dummy/bin/bundle +3 -0
  125. data/spec/dummy/bin/rails +4 -0
  126. data/spec/dummy/bin/rake +4 -0
  127. data/spec/dummy/config.ru +4 -0
  128. data/spec/dummy/config/application.rb +29 -0
  129. data/spec/dummy/config/boot.rb +5 -0
  130. data/spec/dummy/config/database.yml +25 -0
  131. data/spec/dummy/config/environment.rb +5 -0
  132. data/spec/dummy/config/environments/development.rb +37 -0
  133. data/spec/dummy/config/environments/production.rb +82 -0
  134. data/spec/dummy/config/environments/test.rb +39 -0
  135. data/spec/dummy/config/initializers/assets.rb +8 -0
  136. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  137. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  138. data/spec/dummy/config/initializers/deal_redemptions.rb +13 -0
  139. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  140. data/spec/dummy/config/initializers/inflections.rb +16 -0
  141. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  142. data/spec/dummy/config/initializers/session_store.rb +3 -0
  143. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  144. data/spec/dummy/config/locales/en.yml +23 -0
  145. data/spec/dummy/config/routes.rb +4 -0
  146. data/spec/dummy/config/secrets.yml +22 -0
  147. data/spec/dummy/db/development.sqlite3 +0 -0
  148. data/spec/dummy/db/schema.rb +85 -0
  149. data/spec/dummy/db/test.sqlite3 +0 -0
  150. data/spec/dummy/log/development.log +1464 -0
  151. data/spec/dummy/log/test.log +242034 -0
  152. data/spec/dummy/public/404.html +67 -0
  153. data/spec/dummy/public/422.html +67 -0
  154. data/spec/dummy/public/500.html +66 -0
  155. data/spec/dummy/public/favicon.ico +0 -0
  156. data/spec/dummy/tmp/cache/assets/development/sprockets/65dfde5f086fa3aca4c12e3ec1bab0e7 +0 -0
  157. data/spec/dummy/tmp/cache/assets/development/sprockets/d625417a15a40e26da10d62fd34927e1 +0 -0
  158. data/spec/factories/company.rb +21 -0
  159. data/spec/factories/deal_redemption_products.rb +9 -0
  160. data/spec/factories/deal_redemptions_redeem_codes.rb +11 -0
  161. data/spec/factories/deal_redemptions_redemptions.rb +51 -0
  162. data/spec/factories/deal_redemptions_users.rb +19 -0
  163. data/spec/factories/mailing_lists.rb +9 -0
  164. data/spec/mailers/deal_redemptions/admin_user_mailer_spec.rb +24 -0
  165. data/spec/mailers/deal_redemptions/redemption_mailer_spec.rb +24 -0
  166. data/spec/models/deal_redemptions/company_spec.rb +27 -0
  167. data/spec/models/deal_redemptions/mailing_list_spec.rb +14 -0
  168. data/spec/models/deal_redemptions/product_spec.rb +23 -0
  169. data/spec/models/deal_redemptions/redeem_code_spec.rb +57 -0
  170. data/spec/models/deal_redemptions/redemption_spec.rb +23 -0
  171. data/spec/models/deal_redemptions/redemptions/redeem_spec.rb +21 -0
  172. data/spec/models/deal_redemptions/user_spec.rb +39 -0
  173. data/spec/rails_helper.rb +43 -0
  174. data/spec/routing/deal_redemptions/admin/import_routing_spec.rb +21 -0
  175. data/spec/routing/deal_redemptions/admin/redemptions_routing_spec.rb +18 -0
  176. data/spec/routing/deal_redemptions/admin/user_controller_routing_spec.rb +11 -0
  177. data/spec/spec_helper.rb +31 -0
  178. data/spec/tasks/tasks_spec.rb +20 -0
  179. data/spec/views/deal_redemptions/admin/dashboard/index.html.erb_spec.rb +5 -0
  180. data/spec/views/deal_redemptions/admin/import/index.html.erb_spec.rb +5 -0
  181. data/spec/views/deal_redemptions/admin/sessions/index.html.erb_spec.rb +5 -0
  182. data/spec/views/deal_redemptions/admin/settings/index.html.erb_spec.rb +5 -0
  183. data/vendor/assets/javascripts/bootstrap-datepicker.js +474 -0
  184. data/vendor/assets/stylesheets/datepicker.css +182 -0
  185. metadata +485 -0
@@ -0,0 +1,16 @@
1
+ %section.sidebar
2
+ .account-header
3
+ %p{class: 'site-name'}= site_name(DealRedemptions.config.site_name)
4
+
5
+ %nav{class: 'main'}
6
+ %ul
7
+ %li
8
+ = admin_link_to('<i class="redemptions"></i> Redemptions'.html_safe, admin_redemptions_path, {class: 'sidebar-link'})
9
+ %li
10
+ = admin_link_to('<i class="products"></i> Products'.html_safe, admin_products_path, {class: 'sidebar-link'})
11
+ %li
12
+ = admin_link_to('<i class="companies"></i> Companies'.html_safe, admin_companies_path, {class: 'sidebar-link'})
13
+ %li
14
+ = admin_link_to('<i class="import"></i> Import/Export'.html_safe, admin_import_path, {class: 'sidebar-link'})
15
+ %li
16
+ = admin_link_to('<i class="settings"></i> Settings'.html_safe, admin_settings_path, {class: 'sidebar-link'})
@@ -0,0 +1,5 @@
1
+ .topbar
2
+ %h1= yield(:admin_page_title)
3
+
4
+ .pull-right
5
+ = link_to 'Logout', admin_logout_path, class: 'btn btn-info' if current_admin_user
@@ -0,0 +1,8 @@
1
+ Hi <%= "#{@user.first_name} #{@user.last_name}" %>,
2
+
3
+ Below are your login credentials:
4
+
5
+ Email: <%= @user.email %>
6
+ Password: <%= @user.password %>
7
+
8
+ Note: If this is not <%= "#{@user.first_name} #{@user.last_name}" %>, please disregard this email.
@@ -0,0 +1,112 @@
1
+ .page-header
2
+ = image_tag DealRedemptions.config.logo
3
+
4
+ - if flash[:notice]
5
+ .alert.alert-danger
6
+ %ul
7
+ %li
8
+ = flash[:notice]
9
+
10
+ - if @redemption.errors.any?
11
+ .alert.alert-danger
12
+ %ul
13
+ - @redemption.errors.full_messages.each do |msg|
14
+ %li
15
+ = msg
16
+
17
+ = form_for @redemption, url: :redemption, html: { name: 'redemptionForm' } do |f|
18
+ .row
19
+ .col-md-12
20
+ %h2 Redeem your voucher(s):
21
+ - unless @company.description.nil?
22
+ %p= simple_format @company.description
23
+
24
+ .clearfix
25
+ %hr
26
+
27
+ .col-md-12.pull-right
28
+ = link_to '', '', class: 'add-button', style: 'float: right;'
29
+ %span{class: 'redeem-tip'} Add additional voucher codes
30
+
31
+ .clearfix
32
+ %hr
33
+
34
+ .row#redemption_codes
35
+ .code-alert
36
+ Please enter a valid redemption code
37
+
38
+ .col-md-6
39
+ .form-group
40
+ = label_tag 'redeem_codes[]', 'Voucher Code 1'
41
+ = text_field_tag 'redeem_codes[]', '', class: 'form-control', required: 'required'
42
+
43
+ .row
44
+ .col-md-12
45
+ %h4 Shipping information:
46
+ %hr
47
+
48
+ .col-md-6
49
+ .form-group
50
+ = f.label :first_name, 'First Name <span class="required">*</span>'.html_safe
51
+ = f.text_field :first_name, class: 'form-control', required: 'required'
52
+
53
+ .col-md-6
54
+ .form-group
55
+ = f.label :last_name, 'Last Name <span class="required">*</span>'.html_safe
56
+ = f.text_field :last_name, class: 'form-control', required: 'required'
57
+
58
+ .col-md-6
59
+ .form-group
60
+ = f.label :email_address, 'Email Address <span class="required">*</span>'.html_safe
61
+ = f.email_field :email_address, class: 'form-control', required: 'required'
62
+
63
+ .col-md-6
64
+ .form-group
65
+ = f.label :phone
66
+ = f.text_field :phone, class: 'form-control'
67
+
68
+ .col-md-6
69
+ .form-group
70
+ = f.label :address1, 'Address 1 <span class="required">*</span>'.html_safe
71
+ = f.text_field :address1, class: 'form-control', required: 'required'
72
+
73
+ .col-md-6
74
+ .form-group
75
+ = f.label :address2, 'Apt, Unit, Suite, etc.'
76
+ = f.text_field :address2, class: 'form-control'
77
+
78
+ .col-md-6
79
+ .form-group
80
+ = f.label :city, 'City <span class="required">*</span>'.html_safe
81
+ = f.text_field :city, class: 'form-control', required: 'required'
82
+
83
+ .col-md-6
84
+ .form-group
85
+ = f.label :state, 'State <span class="required">*</span>'.html_safe
86
+ = f.text_field :state, class: 'form-control', required: 'required'
87
+
88
+ .col-md-6
89
+ .form-group
90
+ = f.label :zip_code, 'Zip Code <span class="required">*</span>'.html_safe
91
+ = f.text_field :zip_code, class: 'form-control', required: 'required'
92
+
93
+ .col-md-6
94
+ .form-group
95
+ = f.label :country, 'Country <span class="required">*</span>'.html_safe
96
+ = f.text_field :country, class: 'form-control', required: 'required'
97
+
98
+ .col-md-12
99
+ .form-group
100
+ = f.label :comments
101
+ = f.text_area :comments, rows: '6', class: 'form-control'
102
+
103
+ .col-md-6
104
+ = check_box_tag 'redemption[mailing_list]', 1
105
+ Keep me informed on all the latest news and upcoming events.
106
+
107
+ .col-md-6
108
+ = f.button 'Submit', class: 'btn btn-lg btn-primary', style: 'float: right;'
109
+ = f.hidden_field :company_id, value: @company.id
110
+
111
+ .app-credit
112
+ = render '/deal_redemptions/shared_partials/powered'
@@ -0,0 +1,6 @@
1
+ .page-header
2
+ = image_tag DealRedemptions.config.logo
3
+
4
+ %div{style: 'text-align: center;'}
5
+ %h3 Thank you for redeeming your voucher(s)!
6
+ %h4 You'll receive a confirmation email shorty.
@@ -0,0 +1 @@
1
+ json.status @redeem
@@ -0,0 +1,3 @@
1
+ Hi <%= "#{@redemption.first_name} #{@redemption.last_name}" %>,
2
+
3
+ We successfully received your redemption(s).
@@ -0,0 +1,4 @@
1
+ - unless DealRedemptions.config.disable_powered
2
+ .powered-by
3
+ Powered By:
4
+ = link_to 'Deal Site Redemptions', 'https://github.com/iamcutler/deal-redemptions', target: '_blank'
@@ -0,0 +1,15 @@
1
+ .row.select-deal-site
2
+ .center-block
3
+ = image_tag DealRedemptions.config.logo, id: 'login-logo'
4
+
5
+ .login-box
6
+ %p= DealRedemptions.config.welcome_notice
7
+ = form_tag redemption_path(''), method: 'get' do
8
+ .form-group
9
+ %label{ for: 'company' }
10
+ %select{ id: 'company', name: 'company', class: 'form-control', style: 'margin-bottom: 10px;', onchange: "window.location.href=this.form.action + this.form.company.value;" }
11
+ %option= 'Select:'
12
+ - @companies.each do |c|
13
+ %option{ value: c.slug }= c.name
14
+
15
+ = render '/deal_redemptions/shared_partials/powered'
@@ -0,0 +1,9 @@
1
+ -# Link to the "First" page
2
+ -# available local variables
3
+ -# url: url to the first page
4
+ -# current_page: a page object for the currently displayed page
5
+ -# total_pages: total number of pages
6
+ -# per_page: number of items to fetch per page
7
+ -# remote: data-remote
8
+ %li
9
+ = link_to_unless current_page.first?, t('views.pagination.first').html_safe, url, :remote => remote
@@ -0,0 +1,8 @@
1
+ -# Non-link tag that stands for skipped pages...
2
+ -# available local variables
3
+ -# current_page: a page object for the currently displayed page
4
+ -# total_pages: total number of pages
5
+ -# per_page: number of items to fetch per page
6
+ -# remote: data-remote
7
+ %li.page.gap
8
+ = t('views.pagination.truncate').html_safe
@@ -0,0 +1,9 @@
1
+ -# Link to the "Last" page
2
+ -# available local variables
3
+ -# url: url to the last page
4
+ -# current_page: a page object for the currently displayed page
5
+ -# total_pages: total number of pages
6
+ -# per_page: number of items to fetch per page
7
+ -# remote: data-remote
8
+ %li.last
9
+ = link_to_unless current_page.last?, t('views.pagination.last').html_safe, url, :remote => remote
@@ -0,0 +1,9 @@
1
+ -# Link to the "Next" page
2
+ -# available local variables
3
+ -# url: url to the next page
4
+ -# current_page: a page object for the currently displayed page
5
+ -# total_pages: total number of pages
6
+ -# per_page: number of items to fetch per page
7
+ -# remote: data-remote
8
+ %li.next
9
+ = link_to_unless current_page.last?, t('views.pagination.next').html_safe, url, :rel => 'next', :remote => remote
@@ -0,0 +1,10 @@
1
+ -# Link showing page number
2
+ -# available local variables
3
+ -# page: a page object for "this" page
4
+ -# url: url to this page
5
+ -# current_page: a page object for the currently displayed page
6
+ -# total_pages: total number of pages
7
+ -# per_page: number of items to fetch per page
8
+ -# remote: data-remote
9
+ %li{:class => "page#{' active' if page.current?}"}
10
+ = link_to page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil}
@@ -0,0 +1,18 @@
1
+ -# The container tag
2
+ -# available local variables
3
+ -# current_page: a page object for the currently displayed page
4
+ -# total_pages: total number of pages
5
+ -# per_page: number of items to fetch per page
6
+ -# remote: data-remote
7
+ -# paginator: the paginator that renders the pagination tags inside
8
+ = paginator.render do
9
+ %ul.pagination
10
+ = first_page_tag unless current_page.first?
11
+ - each_page do |page|
12
+ - if page.left_outer? || page.right_outer? || page.inside_window?
13
+ = page_tag page
14
+ - elsif !page.was_truncated?
15
+ = gap_tag
16
+ =# next_page_tag unless current_page.last?
17
+ = last_page_tag unless current_page.last?
18
+ =# prev_page_tag unless current_page.first?
@@ -0,0 +1,9 @@
1
+ -# Link to the "Previous" page
2
+ -# available local variables
3
+ -# url: url to the previous page
4
+ -# current_page: a page object for the currently displayed page
5
+ -# total_pages: total number of pages
6
+ -# per_page: number of items to fetch per page
7
+ -# remote: data-remote
8
+ %li.prev
9
+ = link_to_unless current_page.first?, t('views.pagination.previous').html_safe, url, :rel => 'prev', :remote => remote
@@ -0,0 +1,17 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= DealRedemptions.config.site_name %> | <%= yield(:title).blank? ? "Administration Panel" : yield(:title) %></title>
5
+ <meta name="viewport" content="width=device-width, user-scalable=no">
6
+ <%= stylesheet_link_tag "deal_redemptions/application", media: "all" %>
7
+ <%= stylesheet_link_tag "deal_redemptions/admin", media: "all" %>
8
+ <%= javascript_include_tag "deal_redemptions/application" %>
9
+ <%= javascript_include_tag "deal_redemptions/admin" %>
10
+ <%= csrf_meta_tags %>
11
+ </head>
12
+ <body class="login">
13
+
14
+ <%= yield %>
15
+
16
+ </body>
17
+ </html>
@@ -0,0 +1,50 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= DealRedemptions.config.site_name %> | <%= yield(:title).blank? ? "Administration Panel" : yield(:title) %></title>
5
+ <meta name="viewport" content="width=device-width, user-scalable=no">
6
+ <%= stylesheet_link_tag "deal_redemptions/application", media: "all" %>
7
+ <%= stylesheet_link_tag "deal_redemptions/admin", media: "all" %>
8
+ <%= javascript_include_tag "deal_redemptions/application" %>
9
+ <%= javascript_include_tag "deal_redemptions/admin" %>
10
+ <%= csrf_meta_tags %>
11
+ </head>
12
+ <body <%= current_page?(admin_login_path) ? 'class=login' : '' %>>
13
+
14
+ <%= render '/deal_redemptions/admin/shared/topbar' %>
15
+
16
+ <%= render '/deal_redemptions/admin/shared/sidebar' %>
17
+
18
+ <section class="content-wrapper">
19
+ <% if flash.any? %>
20
+ <div class="alert alert-<%= flash[:notice] ? 'success' : 'danger' %>">
21
+ <ul>
22
+ <% flash.each do |name, msg| %>
23
+ <li><%= msg %></li>
24
+ <% end %>
25
+ </ul>
26
+ </div>
27
+ <% end %>
28
+
29
+ <section id="mobile-navigation">
30
+ <hr />
31
+
32
+ <div class="row-fluid">
33
+ <div class="form-group">
34
+ <select class="form-control">
35
+ <option value="">Navigation:</option>
36
+ <option value="<%= admin_redemptions_path %>">Redemptions</option>
37
+ <option value="<%= admin_products_path %>">Products</option>
38
+ <option value="<%= admin_companies_path %>">Companies</option>
39
+ <option value="<%= admin_import_path %>">Import/Export</option>
40
+ <option value="<%= admin_settings_path %>">Settings</option>
41
+ </select>
42
+ </div>
43
+ </div>
44
+ </section>
45
+
46
+ <%= yield %>
47
+ </section>
48
+
49
+ </body>
50
+ </html>
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= DealRedemptions.config.site_name %></title>
5
+ <%= stylesheet_link_tag "deal_redemptions/application", media: "all" %>
6
+ <%= javascript_include_tag "deal_redemptions/application" %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+
11
+ <div class="container">
12
+ <%= yield %>
13
+ </div>
14
+
15
+ </body>
16
+ </html>
@@ -0,0 +1,13 @@
1
+ DealRedemptions.configure do |config|
2
+ # Set engine name
3
+ # config.site_name = "Deal Site Redemptions"
4
+
5
+ # Set custom logo
6
+ # config.logo = '/assets/logo.png'
7
+
8
+ # Disable powered by credit
9
+ # config.disable_powered = true
10
+
11
+ # Disable admin interface if desire to using different gui like active admin
12
+ # config.admin_interface = false
13
+ end
@@ -0,0 +1,37 @@
1
+ # Files in the config/locales directory are used for internationalization
2
+ # and are automatically loaded by Rails. If you want to use locales other
3
+ # than English, add the necessary files in this directory.
4
+ #
5
+ # To use the locales, use `I18n.t`:
6
+ #
7
+ # I18n.t 'hello'
8
+ #
9
+ # In views, this is aliased to just `t`:
10
+ #
11
+ # <%= t('hello') %>
12
+ #
13
+ # To use a different locale, set it with `I18n.locale`:
14
+ #
15
+ # I18n.locale = :es
16
+ #
17
+ # This would use the information in config/locales/es.yml.
18
+ #
19
+ # To learn more, please read the Rails Internationalization guide
20
+ # available at http://guides.rubyonrails.org/i18n.html.
21
+
22
+ en:
23
+ views:
24
+ pagination:
25
+ first: "&laquo;"
26
+ last: "&raquo;"
27
+ previous: "&lsaquo;"
28
+ next: "&rsaquo;"
29
+ truncate: "&hellip;"
30
+
31
+ redemption_mailer:
32
+ confirmation:
33
+ subject: "Redemption Confirmation"
34
+
35
+ admin_user_mailer:
36
+ new_confirmation:
37
+ subject: "New User Confirmation"
data/config/routes.rb ADDED
@@ -0,0 +1,38 @@
1
+ DealRedemptions::Engine.routes.draw do
2
+ root to: 'welcome#index'
3
+
4
+ # Redemptions
5
+ scope :voucher do
6
+ get ':company', to: 'redeem#new', as: :redemption
7
+ post ':company', to: 'redeem#create'
8
+ end
9
+
10
+ get 'thankyou', to: 'redeem#thankyou', as: :thank_you
11
+
12
+ get 'validate/code/:company/:code', to: 'redeem#validate_code', as: :validate_redeem_code
13
+
14
+ # Admin
15
+ namespace :admin, constraints: DealRedemptions::AdminInterfaceDomain.new do
16
+ #get '/', to: 'dashboard#index', as: 'dashboard'
17
+ get '/', to: 'redemptions#index', as: 'home'
18
+ get 'login', to: 'sessions#new', as: 'login'
19
+ get 'logout', to: 'sessions#destroy', as: 'logout'
20
+
21
+ scope :settings do
22
+ get '', to: 'settings#index', as: 'settings'
23
+ put 'password', to: 'settings#change_admin_password'
24
+ end
25
+
26
+ scope :transfer do
27
+ get '', to: 'import#new', as: 'import'
28
+ post '', to: 'import#create'
29
+ get 'export_redemptions', to: 'import#export_redemptions', as: :export_redemptions
30
+ end
31
+
32
+ resources :user
33
+ resources :companies
34
+ resources :redemptions
35
+ resources :products, except: [:show]
36
+ resources :sessions
37
+ end
38
+ end