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,19 @@
|
|
1
|
+
- page_title "#{@company.name}"
|
2
|
+
- admin_page_title "<i class=\"companies\"></i> #{link_to 'Companies', admin_companies_path} / #{@company.name}".html_safe
|
3
|
+
|
4
|
+
.row
|
5
|
+
.col-md-4
|
6
|
+
%h3 Edit existing company
|
7
|
+
Make modifications to an existing deal site.
|
8
|
+
%hr
|
9
|
+
|
10
|
+
%h4 Want to remove this company?
|
11
|
+
%h5 Click the button below. You can <strong>NOT</strong> undo this action.
|
12
|
+
%h5 You can make a company unactive so customers can't redeem as an alternative.
|
13
|
+
|
14
|
+
= button_to 'Delete Company', admin_company_path, method: :delete, class: 'btn btn-danger', onclick: 'if(!confirm("Are you sure you want to delete this company?")) return false;'
|
15
|
+
%hr
|
16
|
+
|
17
|
+
|
18
|
+
.col-md-8
|
19
|
+
= render 'form'
|
@@ -0,0 +1,32 @@
|
|
1
|
+
- page_title 'Companies'
|
2
|
+
- admin_page_title '<i class="companies"></i> Companies'.html_safe
|
3
|
+
|
4
|
+
.row
|
5
|
+
.col-md-12
|
6
|
+
= link_to 'New Company', new_admin_company_path, class: 'btn btn-primary pull-right'
|
7
|
+
%hr
|
8
|
+
|
9
|
+
%table{class: 'table default'}
|
10
|
+
%thead
|
11
|
+
%tr
|
12
|
+
%td
|
13
|
+
Name:
|
14
|
+
%td
|
15
|
+
URL:
|
16
|
+
%td
|
17
|
+
Slug:
|
18
|
+
%td
|
19
|
+
Active:
|
20
|
+
%tbody
|
21
|
+
- @companies.each do |c|
|
22
|
+
%tr
|
23
|
+
%td
|
24
|
+
= link_to c.name, edit_admin_company_path(c.id)
|
25
|
+
%td
|
26
|
+
= c.url
|
27
|
+
%td
|
28
|
+
= c.slug
|
29
|
+
%td
|
30
|
+
= c.active == 1 ? 'Yes' : 'No'
|
31
|
+
|
32
|
+
= paginate @companies
|
@@ -0,0 +1,11 @@
|
|
1
|
+
- page_title "New Company"
|
2
|
+
- admin_page_title "<i class=\"companies\"></i> #{link_to 'Companies', admin_companies_path} / New Company".html_safe
|
3
|
+
|
4
|
+
.row
|
5
|
+
.col-md-4
|
6
|
+
%h3 New company
|
7
|
+
Add new deal site for customers to redeem.
|
8
|
+
%hr
|
9
|
+
|
10
|
+
.col-md-8
|
11
|
+
= render 'form'
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= @redemptions %>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
- page_title 'Import/Export'
|
2
|
+
- admin_page_title '<i class="import"></i> Import/Export'.html_safe
|
3
|
+
|
4
|
+
.row
|
5
|
+
.col-md-4
|
6
|
+
%h3 Upload Redemption Codes
|
7
|
+
Upload redemption codes via CSV format
|
8
|
+
%hr
|
9
|
+
%span{style: "font-family: 'ProximaNovaRegular'"} Format:
|
10
|
+
%br
|
11
|
+
Upload CSV file with each code in a new row. No headers are needed.
|
12
|
+
%i{class: 'question csv-tip', data: {toggle: 'tooltip', title: 'Testing tip', placement: 'top'}}
|
13
|
+
|
14
|
+
.col-md-8
|
15
|
+
= form_tag '', multipart: true do
|
16
|
+
.form-group
|
17
|
+
= label_tag :company
|
18
|
+
= select_tag :company, options_from_collection_for_select(@companies, 'id', 'name'), class: 'form-control'
|
19
|
+
|
20
|
+
.form-group
|
21
|
+
= label_tag :product
|
22
|
+
= select_tag :product, options_from_collection_for_select(@products, 'id', 'name'), class: 'form-control'
|
23
|
+
|
24
|
+
.form-group
|
25
|
+
= label_tag :file, 'CSV File'
|
26
|
+
= file_field_tag :file
|
27
|
+
|
28
|
+
.form-group
|
29
|
+
= submit_tag 'Submit', class: 'btn btn-primary pull-right'
|
30
|
+
|
31
|
+
%hr
|
32
|
+
|
33
|
+
.row
|
34
|
+
.col-md-4
|
35
|
+
%h3 Export
|
36
|
+
Export existing redemptions
|
37
|
+
|
38
|
+
%hr
|
39
|
+
|
40
|
+
.col-md-8
|
41
|
+
= form_tag admin_export_redemptions_path(format: :csv), method: 'get' do
|
42
|
+
.row-fluid
|
43
|
+
.col-md-6
|
44
|
+
.form-group
|
45
|
+
%label Start Date:
|
46
|
+
%input{class: 'form-control', name: 'exportStartDate', id: 'exportStartDate', value: Time.now.strftime('%Y-%m-%d'), readonly: 'readonly' }
|
47
|
+
|
48
|
+
.col-md-6
|
49
|
+
.form-group
|
50
|
+
%label End Date:
|
51
|
+
%input{class: 'form-control', name: 'exportEndDate', id: 'exportEndDate', value: Time.now.strftime('%Y-%m-%d'), readonly: 'readonly' }
|
52
|
+
|
53
|
+
.form-group
|
54
|
+
= submit_tag 'Export', name: nil, class: 'btn btn-primary pull-right'
|
@@ -0,0 +1,16 @@
|
|
1
|
+
- if @product.errors.any?
|
2
|
+
.alert.alert-danger
|
3
|
+
%ul
|
4
|
+
- @product.errors.full_messages.each do |msg|
|
5
|
+
%li
|
6
|
+
= msg
|
7
|
+
|
8
|
+
= form_for [:admin, @product] do |f|
|
9
|
+
.form-group
|
10
|
+
= f.label :name, 'Name:'
|
11
|
+
= f.text_field :name, class: 'form-control'
|
12
|
+
.form-group
|
13
|
+
= f.label :url, 'URL:'
|
14
|
+
= f.text_field :url, class: 'form-control'
|
15
|
+
.form-group.pull-right
|
16
|
+
= f.submit @product.new_record? ? "Create Product" : "Edit Product", class: 'btn btn-primary'
|
@@ -0,0 +1,18 @@
|
|
1
|
+
- page_title "#{@product.name}"
|
2
|
+
- admin_page_title "<i class=\"products\"></i> #{link_to 'Products', admin_products_path} / #{@product.name}".html_safe
|
3
|
+
|
4
|
+
.row
|
5
|
+
.col-md-4
|
6
|
+
%h3 Edit existing product
|
7
|
+
Make modifications to an existing product.
|
8
|
+
%hr
|
9
|
+
|
10
|
+
%h4 Want to remove this product?
|
11
|
+
%h5 Click the button below. You can <strong>NOT</strong> undo this action.
|
12
|
+
|
13
|
+
= button_to 'Delete Product', admin_product_path, method: :delete, class: 'btn btn-danger', onclick: 'if(!confirm("Are you sure you want to delete this product?")) return false;'
|
14
|
+
%hr
|
15
|
+
|
16
|
+
|
17
|
+
.col-md-8
|
18
|
+
= render 'form'
|
@@ -0,0 +1,26 @@
|
|
1
|
+
- page_title 'Products'
|
2
|
+
- admin_page_title '<i class="products"></i> Products'.html_safe
|
3
|
+
|
4
|
+
.row
|
5
|
+
.col-md-12
|
6
|
+
= link_to 'New Product', new_admin_product_path, class: 'btn btn-primary pull-right'
|
7
|
+
%hr
|
8
|
+
|
9
|
+
- if @products.count > 0
|
10
|
+
%table{class: 'table default'}
|
11
|
+
%thead
|
12
|
+
%tr
|
13
|
+
%td
|
14
|
+
Name:
|
15
|
+
%tbody
|
16
|
+
- @products.each do |c|
|
17
|
+
%tr
|
18
|
+
%td
|
19
|
+
= link_to c.name, edit_admin_product_path(c.id)
|
20
|
+
|
21
|
+
= paginate @products
|
22
|
+
|
23
|
+
- else
|
24
|
+
.no-current-products
|
25
|
+
%i.products.clearfix
|
26
|
+
No Current Products
|
@@ -0,0 +1,11 @@
|
|
1
|
+
- page_title "New Product"
|
2
|
+
- admin_page_title "<i class=\"products\"></i> #{link_to 'Products', admin_products_path} / New Product".html_safe
|
3
|
+
|
4
|
+
.row
|
5
|
+
.col-md-4
|
6
|
+
%h3 New product
|
7
|
+
Add new product to track with redemption codes
|
8
|
+
%hr
|
9
|
+
|
10
|
+
.col-md-8
|
11
|
+
= render 'form'
|
@@ -0,0 +1,54 @@
|
|
1
|
+
- page_title 'Redemptions'
|
2
|
+
- admin_page_title '<i class="redemptions"></i> Redemptions'.html_safe
|
3
|
+
|
4
|
+
%hr
|
5
|
+
|
6
|
+
.row.clearfix
|
7
|
+
.col-md-4
|
8
|
+
= form_tag '', method: 'get', class: 'search-redemptions pull-right' do
|
9
|
+
.col-md-8.padding-right-5
|
10
|
+
.form-group
|
11
|
+
= search_field_tag '', '', name: 'search', class: 'form-control', placeholder: 'Search by name:'
|
12
|
+
.col-md-4.padding-left-5
|
13
|
+
.form-group
|
14
|
+
= button_tag 'Search', name: nil, class: 'btn btn-primary'
|
15
|
+
.col-md-8
|
16
|
+
|
17
|
+
%hr
|
18
|
+
|
19
|
+
- if @redemptions.empty?
|
20
|
+
|
21
|
+
.no-current-redemptions
|
22
|
+
%i.redemptions.clearfix
|
23
|
+
No redemptions were found
|
24
|
+
|
25
|
+
- else
|
26
|
+
|
27
|
+
%table{id: 'redemptions', class: 'table default'}
|
28
|
+
%thead
|
29
|
+
%tr
|
30
|
+
%td
|
31
|
+
id
|
32
|
+
%td
|
33
|
+
Name:
|
34
|
+
%td
|
35
|
+
Email:
|
36
|
+
%td
|
37
|
+
Company:
|
38
|
+
%td
|
39
|
+
Redeemed Date:
|
40
|
+
%tbody
|
41
|
+
- @redemptions.each do |redemption|
|
42
|
+
%tr
|
43
|
+
%td
|
44
|
+
= link_to "##{redemption.id}", admin_redemption_path(redemption.id)
|
45
|
+
%td
|
46
|
+
= link_to "#{redemption.first_name} #{redemption.last_name}", admin_redemption_path(redemption.id)
|
47
|
+
%td
|
48
|
+
= redemption.email_address
|
49
|
+
%td
|
50
|
+
= redemption.company.name
|
51
|
+
%td
|
52
|
+
= redemption.created_at.strftime "%m-%d-%Y"
|
53
|
+
|
54
|
+
= paginate @redemptions
|
@@ -0,0 +1,64 @@
|
|
1
|
+
- page_title "Redemption ##{@redemption.id}"
|
2
|
+
- admin_page_title "<i class=\"redemptions\"></i> #{link_to 'Redemptions', admin_redemptions_path} / ##{@redemption.id}".html_safe
|
3
|
+
|
4
|
+
.row-fluid
|
5
|
+
.col-md-8.description-wrapper
|
6
|
+
.row
|
7
|
+
%header
|
8
|
+
Redemption Information:
|
9
|
+
|
10
|
+
.row.redemption-description
|
11
|
+
.col-md-6
|
12
|
+
%strong{class: 'title'} Name:
|
13
|
+
= "#{@redemption.first_name} #{@redemption.last_name}"
|
14
|
+
.col-md-6
|
15
|
+
%strong{class: 'title'} Email Address:
|
16
|
+
= @redemption.email_address
|
17
|
+
.col-md-6
|
18
|
+
%strong{class: 'title'} Phone:
|
19
|
+
= @redemption.phone
|
20
|
+
.col-md-6
|
21
|
+
%strong{class: 'title'} Address 1:
|
22
|
+
= @redemption.address1
|
23
|
+
.col-md-6
|
24
|
+
%strong{class: 'title'} Address 2:
|
25
|
+
= @redemption.address2
|
26
|
+
.col-md-6
|
27
|
+
%strong{class: 'title'} City:
|
28
|
+
= @redemption.city
|
29
|
+
.col-md-6
|
30
|
+
%strong{class: 'title'} State:
|
31
|
+
= @redemption.state
|
32
|
+
.col-md-6
|
33
|
+
%strong{class: 'title'} Zip Code:
|
34
|
+
= @redemption.zip_code
|
35
|
+
.col-md-12
|
36
|
+
%strong{class: 'title'} Country:
|
37
|
+
= @redemption.country
|
38
|
+
.col-md-12
|
39
|
+
%strong{class: 'title'} Comments:
|
40
|
+
= @redemption.comments
|
41
|
+
|
42
|
+
|
43
|
+
.col-md-4.redemption-right-col
|
44
|
+
.col-md-12.description-wrapper
|
45
|
+
.row
|
46
|
+
%header
|
47
|
+
Company:
|
48
|
+
|
49
|
+
.row-fluid{style: 'padding: 10px 0;'}
|
50
|
+
= label_tag 'Name:'
|
51
|
+
= link_to @redemption.company.name, edit_admin_company_path(@redemption.company.id)
|
52
|
+
|
53
|
+
.col-md-12.description-wrapper
|
54
|
+
.row
|
55
|
+
%header
|
56
|
+
Codes Redeemed:
|
57
|
+
|
58
|
+
.row.redemption-description
|
59
|
+
- @redemption.redeem_code.each do |c|
|
60
|
+
- if c.redeemed?
|
61
|
+
.col-md-12
|
62
|
+
= label_tag 'Code:'
|
63
|
+
= c.code
|
64
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
.login-heading
|
2
|
+
%h1= DealRedemptions.config.site_name
|
3
|
+
|
4
|
+
.login-subheading
|
5
|
+
%h4 Login to manage your redemptions
|
6
|
+
|
7
|
+
.login-container
|
8
|
+
- if flash.any?
|
9
|
+
.alert.alert-danger
|
10
|
+
%ul
|
11
|
+
- flash.each do |name, msg|
|
12
|
+
%li= msg
|
13
|
+
|
14
|
+
.login-form
|
15
|
+
= form_tag admin_sessions_path do
|
16
|
+
.form-input
|
17
|
+
= text_field_tag :email, params[:email], placeholder: 'Email Address:', required: 'required'
|
18
|
+
|
19
|
+
%hr
|
20
|
+
|
21
|
+
.form-input
|
22
|
+
= password_field_tag :password, placeholder: 'Password:', required: 'required'
|
23
|
+
= submit_tag 'Login'
|
@@ -0,0 +1,38 @@
|
|
1
|
+
-# New user modal
|
2
|
+
.modal.fade{id: 'newUserModal', tabindex: '-1', role: 'dialog', aria: {labelledby: 'newUserModalLabel', hidden: true}}
|
3
|
+
.modal-dialog
|
4
|
+
.modal-content
|
5
|
+
.modal-header
|
6
|
+
%button{type: 'button', class: 'close', data: {dismiss: 'modal'}}
|
7
|
+
%span{aria: {hidden: true}} ×
|
8
|
+
%span{class: 'sr-only'} Close
|
9
|
+
|
10
|
+
%h4{class: 'modal-title', id: 'newUserModalLabel'} New Staff User
|
11
|
+
|
12
|
+
= form_for [:admin, @new_user], url: admin_user_index_path do |f|
|
13
|
+
.modal-body
|
14
|
+
.row
|
15
|
+
.col-md-6
|
16
|
+
.form-group
|
17
|
+
= f.label :first_name, 'First Name:', class: 'control-label'
|
18
|
+
= f.text_field :first_name, class: 'form-control', required: 'required'
|
19
|
+
.col-md-6
|
20
|
+
.form-group
|
21
|
+
= f.label :last_name, 'Last Name:', class: 'control-label'
|
22
|
+
= f.text_field :last_name, class: 'form-control', required: 'required'
|
23
|
+
.col-md-12
|
24
|
+
.form-group
|
25
|
+
= f.label :email, 'Email Address:', class: 'control-label'
|
26
|
+
= f.email_field :email, class: 'form-control', required: 'required'
|
27
|
+
.col-md-6
|
28
|
+
.form-group
|
29
|
+
= f.label :password
|
30
|
+
= f.password_field :password, class: 'form-control', required: 'required'
|
31
|
+
.col-md-6
|
32
|
+
.form-group
|
33
|
+
= f.label :password_confirmation
|
34
|
+
= f.password_field :password_confirmation, class: 'form-control', required: 'required'
|
35
|
+
|
36
|
+
.modal-footer
|
37
|
+
%button{type: 'button', class: 'btn btn-default', data: {dismiss: 'modal'}} Cancel
|
38
|
+
= f.submit 'Add User', name: nil, class: 'btn btn-primary'
|
@@ -0,0 +1,48 @@
|
|
1
|
+
- page_title 'Settings'
|
2
|
+
- admin_page_title '<i class="settings"></i> Settings'.html_safe
|
3
|
+
|
4
|
+
.row
|
5
|
+
.col-md-4
|
6
|
+
%h3 Application Settings
|
7
|
+
%h5 Make modifications to your redemption's application.
|
8
|
+
%hr
|
9
|
+
|
10
|
+
.col-md-8
|
11
|
+
%h3 Change My Password:
|
12
|
+
= form_for [:admin, @current_admin_user], name: 'updateAdminPassword' do |f|
|
13
|
+
.row
|
14
|
+
.col-md-6
|
15
|
+
.form-group
|
16
|
+
= f.label :password
|
17
|
+
= f.password_field :password, class: 'form-control'
|
18
|
+
.col-md-6
|
19
|
+
.form-group
|
20
|
+
= f.label :password_confirmation
|
21
|
+
= f.password_field :password_confirmation, class: 'form-control'
|
22
|
+
.col-md-12
|
23
|
+
= submit_tag 'Submit', name: nil, class: 'btn btn-primary pull-right'
|
24
|
+
|
25
|
+
%hr
|
26
|
+
.row
|
27
|
+
.col-md-8
|
28
|
+
%h3 Staff Users:
|
29
|
+
.col-md-4
|
30
|
+
= link_to 'New User', '', class: 'btn btn-default pull-right', data: { toggle: 'modal', target: '#newUserModal' }
|
31
|
+
|
32
|
+
%table{class: 'table default'}
|
33
|
+
%thead
|
34
|
+
%tr
|
35
|
+
%td Name:
|
36
|
+
%td Email:
|
37
|
+
%td Last Login Date:
|
38
|
+
%td
|
39
|
+
%tbody
|
40
|
+
- @users.each do |u|
|
41
|
+
%tr
|
42
|
+
%td= "#{u.first_name} #{u.last_name}"
|
43
|
+
%td= u.email
|
44
|
+
%td= u.last_login.strftime "%m-%d-%Y"
|
45
|
+
%td= button_to 'Delete', admin_user_path(u.id), class: 'remove-btn pull-right', method: :delete, onclick: 'if(!confirm("Are you sure you want to delete this user? This can NOT be undone!")) return false;' if u.id != current_admin_user.id
|
46
|
+
|
47
|
+
|
48
|
+
= render 'new_user_modal'
|