deal_redemptions 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +30 -0
- data/app/assets/fonts/proximanova-light.eot +0 -0
- data/app/assets/fonts/proximanova-light.svg +542 -0
- data/app/assets/fonts/proximanova-light.ttf +0 -0
- data/app/assets/fonts/proximanova-light.woff +0 -0
- data/app/assets/fonts/proximanova-regular.eot +0 -0
- data/app/assets/fonts/proximanova-regular.svg +544 -0
- data/app/assets/fonts/proximanova-regular.ttf +0 -0
- data/app/assets/fonts/proximanova-regular.woff +0 -0
- data/app/assets/fonts/ss-glyphs.eot +0 -0
- data/app/assets/fonts/ss-glyphs.svg +17 -0
- data/app/assets/fonts/ss-glyphs.ttf +0 -0
- data/app/assets/fonts/ss-glyphs.woff +0 -0
- data/app/assets/images/admin/csv-demo.jpg +0 -0
- data/app/assets/images/deal-redemptions-logo.png +0 -0
- data/app/assets/javascripts/deal_redemptions/admin.js.coffee +77 -0
- data/app/assets/javascripts/deal_redemptions/application.js +17 -0
- data/app/assets/javascripts/deal_redemptions/redeem/redeem.js.coffee +49 -0
- data/app/assets/javascripts/deal_redemptions/redeem/redemption.js.coffee +41 -0
- data/app/assets/javascripts/deal_redemptions/redeem/validator.js.coffee +36 -0
- data/app/assets/javascripts/deal_redemptions/welcome.js.coffee +3 -0
- data/app/assets/stylesheets/deal_redemptions/admin.css.scss +505 -0
- data/app/assets/stylesheets/deal_redemptions/application.css.scss +57 -0
- data/app/assets/stylesheets/deal_redemptions/lib.css.scss +29 -0
- data/app/assets/stylesheets/deal_redemptions/redeem.css.scss +56 -0
- data/app/assets/stylesheets/deal_redemptions/welcome.css.scss +33 -0
- data/app/controllers/deal_redemptions/admin/companies_controller.rb +66 -0
- data/app/controllers/deal_redemptions/admin/dashboard_controller.rb +12 -0
- data/app/controllers/deal_redemptions/admin/import_controller.rb +47 -0
- data/app/controllers/deal_redemptions/admin/products_controller.rb +60 -0
- data/app/controllers/deal_redemptions/admin/redemptions_controller.rb +50 -0
- data/app/controllers/deal_redemptions/admin/sessions_controller.rb +26 -0
- data/app/controllers/deal_redemptions/admin/settings_controller.rb +14 -0
- data/app/controllers/deal_redemptions/admin/user_controller.rb +53 -0
- data/app/controllers/deal_redemptions/application_controller.rb +16 -0
- data/app/controllers/deal_redemptions/redeem_controller.rb +87 -0
- data/app/controllers/deal_redemptions/welcome_controller.rb +9 -0
- data/app/helpers/deal_redemptions/admin_helper.rb +30 -0
- data/app/helpers/deal_redemptions/application_helper.rb +8 -0
- data/app/helpers/deal_redemptions/redeem_helper.rb +4 -0
- data/app/helpers/deal_redemptions/welcome_helper.rb +4 -0
- data/app/mailers/deal_redemptions/admin_user_mailer.rb +11 -0
- data/app/mailers/deal_redemptions/redemption_mailer.rb +11 -0
- data/app/models/deal_redemptions/company.rb +27 -0
- data/app/models/deal_redemptions/mailing_list.rb +8 -0
- data/app/models/deal_redemptions/product.rb +18 -0
- data/app/models/deal_redemptions/redeem_code.rb +30 -0
- data/app/models/deal_redemptions/redemption.rb +14 -0
- data/app/models/deal_redemptions/redemptions/redeem.rb +21 -0
- data/app/models/deal_redemptions/user.rb +40 -0
- data/app/views/deal_redemptions/admin/companies/_form.html.haml +25 -0
- data/app/views/deal_redemptions/admin/companies/edit.html.haml +19 -0
- data/app/views/deal_redemptions/admin/companies/index.html.haml +32 -0
- data/app/views/deal_redemptions/admin/companies/new.html.haml +11 -0
- data/app/views/deal_redemptions/admin/dashboard/index.html.haml +4 -0
- data/app/views/deal_redemptions/admin/import/export_redemptions.csv.erb +1 -0
- data/app/views/deal_redemptions/admin/import/new.html.haml +54 -0
- data/app/views/deal_redemptions/admin/products/_form.html.haml +16 -0
- data/app/views/deal_redemptions/admin/products/edit.html.haml +18 -0
- data/app/views/deal_redemptions/admin/products/index.html.haml +26 -0
- data/app/views/deal_redemptions/admin/products/new.html.haml +11 -0
- data/app/views/deal_redemptions/admin/redemptions/index.html.haml +54 -0
- data/app/views/deal_redemptions/admin/redemptions/new.html.erb +5 -0
- data/app/views/deal_redemptions/admin/redemptions/show.html.haml +64 -0
- data/app/views/deal_redemptions/admin/sessions/new.html.haml +23 -0
- data/app/views/deal_redemptions/admin/settings/_new_user_modal.html.haml +38 -0
- data/app/views/deal_redemptions/admin/settings/index.html.haml +48 -0
- data/app/views/deal_redemptions/admin/shared/_sidebar.html.haml +16 -0
- data/app/views/deal_redemptions/admin/shared/_topbar.html.haml +5 -0
- data/app/views/deal_redemptions/admin_user_mailer/new_confirmation.html.erb +8 -0
- data/app/views/deal_redemptions/redeem/new.html.haml +112 -0
- data/app/views/deal_redemptions/redeem/thankyou.html.haml +6 -0
- data/app/views/deal_redemptions/redeem/validate_code.jbuilder +1 -0
- data/app/views/deal_redemptions/redemption_mailer/confirmation.html.erb +3 -0
- data/app/views/deal_redemptions/shared_partials/_powered.html.haml +4 -0
- data/app/views/deal_redemptions/welcome/index.html.haml +15 -0
- data/app/views/kaminari/_first_page.html.haml +9 -0
- data/app/views/kaminari/_gap.html.haml +8 -0
- data/app/views/kaminari/_last_page.html.haml +9 -0
- data/app/views/kaminari/_next_page.html.haml +9 -0
- data/app/views/kaminari/_page.html.haml +10 -0
- data/app/views/kaminari/_paginator.html.haml +18 -0
- data/app/views/kaminari/_prev_page.html.haml +9 -0
- data/app/views/layouts/deal_redemptions/admin/auth.html.erb +17 -0
- data/app/views/layouts/deal_redemptions/admin/default.html.erb +50 -0
- data/app/views/layouts/deal_redemptions/application.html.erb +16 -0
- data/config/config_engine_rake_file.rb +13 -0
- data/config/locales/en.yml +37 -0
- data/config/routes.rb +38 -0
- data/db/migrate/20140709234323_create_deal_redemptions_companies.rb +12 -0
- data/db/migrate/20140711183800_add_active_to_deal_redemptions_companies.rb +5 -0
- data/db/migrate/20140711222957_create_deal_redemptions_mailing_lists.rb +11 -0
- data/db/migrate/20140714165815_create_deal_redemptions_products.rb +10 -0
- data/db/migrate/20140714184807_create_deal_redemptions_redemptions.rb +20 -0
- data/db/migrate/20140715041757_create_deal_redemptions_redeem_codes.rb +13 -0
- data/db/migrate/20140718200319_create_deal_redemptions_users.rb +14 -0
- data/db/migrate/20140802010843_add_company_and_remove_transaction_to_redemption.rb +5 -0
- data/lib/deal_redemptions.rb +5 -0
- data/lib/deal_redemptions/admin/importer.rb +66 -0
- data/lib/deal_redemptions/admin_interface_domain.rb +11 -0
- data/lib/deal_redemptions/engine.rb +52 -0
- data/lib/deal_redemptions/version.rb +3 -0
- data/lib/tasks/deal_redemptions_tasks.rake +11 -0
- data/spec/controllers/deal_redemptions/admin/companies_controller_spec.rb +120 -0
- data/spec/controllers/deal_redemptions/admin/dashboard_controller_spec.rb +17 -0
- data/spec/controllers/deal_redemptions/admin/import_controller_spec.rb +32 -0
- data/spec/controllers/deal_redemptions/admin/products_controller_spec.rb +136 -0
- data/spec/controllers/deal_redemptions/admin/redemptions_controller_spec.rb +81 -0
- data/spec/controllers/deal_redemptions/admin/sessions_controller_spec.rb +15 -0
- data/spec/controllers/deal_redemptions/admin/settings_controller_spec.rb +28 -0
- data/spec/controllers/deal_redemptions/admin/user_controller_spec.rb +62 -0
- data/spec/controllers/deal_redemptions/redeem_controller_spec.rb +32 -0
- data/spec/controllers/deal_redemptions/welcome_controller_spec.rb +28 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +13 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +29 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +82 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/assets.rb +8 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/deal_redemptions.rb +13 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +4 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +85 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +1464 -0
- data/spec/dummy/log/test.log +242034 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/65dfde5f086fa3aca4c12e3ec1bab0e7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d625417a15a40e26da10d62fd34927e1 +0 -0
- data/spec/factories/company.rb +21 -0
- data/spec/factories/deal_redemption_products.rb +9 -0
- data/spec/factories/deal_redemptions_redeem_codes.rb +11 -0
- data/spec/factories/deal_redemptions_redemptions.rb +51 -0
- data/spec/factories/deal_redemptions_users.rb +19 -0
- data/spec/factories/mailing_lists.rb +9 -0
- data/spec/mailers/deal_redemptions/admin_user_mailer_spec.rb +24 -0
- data/spec/mailers/deal_redemptions/redemption_mailer_spec.rb +24 -0
- data/spec/models/deal_redemptions/company_spec.rb +27 -0
- data/spec/models/deal_redemptions/mailing_list_spec.rb +14 -0
- data/spec/models/deal_redemptions/product_spec.rb +23 -0
- data/spec/models/deal_redemptions/redeem_code_spec.rb +57 -0
- data/spec/models/deal_redemptions/redemption_spec.rb +23 -0
- data/spec/models/deal_redemptions/redemptions/redeem_spec.rb +21 -0
- data/spec/models/deal_redemptions/user_spec.rb +39 -0
- data/spec/rails_helper.rb +43 -0
- data/spec/routing/deal_redemptions/admin/import_routing_spec.rb +21 -0
- data/spec/routing/deal_redemptions/admin/redemptions_routing_spec.rb +18 -0
- data/spec/routing/deal_redemptions/admin/user_controller_routing_spec.rb +11 -0
- data/spec/spec_helper.rb +31 -0
- data/spec/tasks/tasks_spec.rb +20 -0
- data/spec/views/deal_redemptions/admin/dashboard/index.html.erb_spec.rb +5 -0
- data/spec/views/deal_redemptions/admin/import/index.html.erb_spec.rb +5 -0
- data/spec/views/deal_redemptions/admin/sessions/index.html.erb_spec.rb +5 -0
- data/spec/views/deal_redemptions/admin/settings/index.html.erb_spec.rb +5 -0
- data/vendor/assets/javascripts/bootstrap-datepicker.js +474 -0
- data/vendor/assets/stylesheets/datepicker.css +182 -0
- 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,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 @@
|
|
1
|
+
json.status @redeem
|
@@ -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: "«"
|
26
|
+
last: "»"
|
27
|
+
previous: "‹"
|
28
|
+
next: "›"
|
29
|
+
truncate: "…"
|
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
|