refinerycms-stores 0.0.16 → 0.1.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.
Files changed (95) hide show
  1. data/Gemfile +2 -0
  2. data/VERSION +1 -1
  3. data/app/assets/images/Excel.png +0 -0
  4. data/app/assets/images/PowerPoint.png +0 -0
  5. data/app/assets/images/Word.png +0 -0
  6. data/app/assets/images/audio-icon.png +0 -0
  7. data/app/assets/images/camera-icon.png +0 -0
  8. data/app/assets/images/html-icon.png +0 -0
  9. data/app/assets/images/muku-doc-font-128.png +0 -0
  10. data/app/assets/images/pdf-icon.png +0 -0
  11. data/app/assets/images/print-icon.png +0 -0
  12. data/app/assets/images/video-icon.png +0 -0
  13. data/app/assets/images/warning-icon.png +0 -0
  14. data/app/assets/images/zip_thumb.png +0 -0
  15. data/app/assets/stylesheets/refinery/refinerycms-stores.sass +66 -0
  16. data/app/controllers/refinery/customers/customers_controller.rb +35 -17
  17. data/app/controllers/refinery/orders/admin/orders_controller.rb +2 -1
  18. data/app/controllers/refinery/orders/orders_controller.rb +14 -9
  19. data/app/controllers/refinery/products/admin/digidownloads_controller.rb +39 -0
  20. data/app/controllers/refinery/products/admin/products_controller.rb +54 -4
  21. data/app/controllers/refinery/products/digidownloads_controller.rb +32 -0
  22. data/app/controllers/refinery/products/products_controller.rb +3 -0
  23. data/app/controllers/refinery/stores/stores_controller.rb +3 -2
  24. data/app/controllers/refinery/stores_application_controller.rb +6 -1
  25. data/app/helpers/refinery/stores/stores_helper.rb +4 -3
  26. data/app/models/refinery/addresses/address.rb +42 -0
  27. data/app/models/refinery/customers/customer.rb +7 -1
  28. data/app/models/refinery/orders/line_item.rb +10 -0
  29. data/app/models/refinery/orders/order.rb +59 -47
  30. data/app/models/refinery/products/digidownload.rb +181 -0
  31. data/app/models/refinery/products/product.rb +21 -1
  32. data/app/views/refinery/customers/customers/edit.html.haml +54 -0
  33. data/app/views/refinery/customers/{new.html.haml → customers/new.html.haml} +10 -3
  34. data/app/views/refinery/orders/admin/orders/_actions.html.haml +4 -0
  35. data/app/views/refinery/orders/admin/orders/_order.html.haml +13 -0
  36. data/app/views/refinery/orders/admin/orders/_orders.html.haml +2 -0
  37. data/app/views/refinery/orders/admin/orders/_records.html.haml +12 -0
  38. data/app/views/refinery/orders/admin/orders/_sortable_list.html.haml +4 -0
  39. data/app/views/refinery/orders/admin/orders/index.html.haml +5 -0
  40. data/app/views/refinery/orders/admin/orders/show.html.haml +80 -0
  41. data/app/views/refinery/orders/orders/edit.html.haml +2 -2
  42. data/app/views/refinery/orders/orders/index.html.haml +19 -4
  43. data/app/views/refinery/orders/orders/show.html.haml +68 -25
  44. data/app/views/refinery/products/admin/digidownloads/_actions.html.haml +19 -0
  45. data/app/views/refinery/products/admin/digidownloads/_digidownload.html.haml +13 -0
  46. data/app/views/refinery/products/admin/digidownloads/_digidownloads.html.haml +2 -0
  47. data/app/views/refinery/products/admin/digidownloads/_form.html.haml +41 -0
  48. data/app/views/refinery/products/admin/digidownloads/_records.html.haml +12 -0
  49. data/app/views/refinery/products/admin/digidownloads/_sortable_list.html.haml +4 -0
  50. data/app/views/refinery/products/admin/digidownloads/edit.html.haml +2 -0
  51. data/app/views/refinery/products/admin/digidownloads/index.html.haml +6 -0
  52. data/app/views/refinery/products/admin/digidownloads/new.html.haml +2 -0
  53. data/app/views/refinery/products/admin/products/_form.html.haml +98 -0
  54. data/app/views/refinery/products/digidownloads/index.html.haml +28 -0
  55. data/app/views/refinery/products/digidownloads/show.html.haml +39 -0
  56. data/app/views/refinery/products/products/show.html.haml +10 -9
  57. data/app/views/refinery/shared/_address.html.haml +18 -0
  58. data/app/views/refinery/{orders/orders → shared}/_address_form.html.haml +0 -0
  59. data/app/views/refinery/{stores/stores → shared}/_cart.html.haml +2 -2
  60. data/app/views/refinery/{stores/stores → shared}/_cart_item.html.haml +0 -0
  61. data/app/views/refinery/shared/_customer_head.html.haml +20 -0
  62. data/app/views/refinery/stores/admin/stores/_actions.html.haml +46 -0
  63. data/app/views/refinery/stores/stores/show.html.haml +1 -1
  64. data/config/locales/en.yml +17 -0
  65. data/config/routes.rb +24 -9
  66. data/db/migrate/3_create_orders_orders.rb +2 -0
  67. data/db/migrate/7_create_products_digidownloads.rb +33 -0
  68. data/lib/refinery/addresses.rb +11 -11
  69. data/lib/refinery/addresses/engine.rb +3 -3
  70. data/lib/refinery/auth_key.rb +44 -0
  71. data/lib/refinery/customers.rb +11 -11
  72. data/lib/refinery/customers/engine.rb +3 -3
  73. data/lib/refinery/orders.rb +1 -1
  74. data/lib/refinery/products.rb +2 -2
  75. data/lib/refinery/products/engine.rb +2 -2
  76. data/lib/refinery/stores.rb +1 -0
  77. data/lib/refinery/stores/authenticated_system.rb +25 -0
  78. data/lib/refinery/stores/engine.rb +19 -0
  79. data/lib/refinerycms-stores.rb +5 -2
  80. data/readme.md +32 -1
  81. data/refinerycms-stores.gemspec +54 -20
  82. metadata +87 -37
  83. data/app/views/refinery/customers/edit.html.haml +0 -17
  84. data/app/views/refinery/orders/admin/orders/_actions.html.erb +0 -25
  85. data/app/views/refinery/orders/admin/orders/_form.html.erb +0 -122
  86. data/app/views/refinery/orders/admin/orders/_order.html.erb +0 -20
  87. data/app/views/refinery/orders/admin/orders/_orders.html.erb +0 -2
  88. data/app/views/refinery/orders/admin/orders/_records.html.erb +0 -18
  89. data/app/views/refinery/orders/admin/orders/_sortable_list.html.erb +0 -5
  90. data/app/views/refinery/orders/admin/orders/edit.html.erb +0 -1
  91. data/app/views/refinery/orders/admin/orders/index.html.erb +0 -7
  92. data/app/views/refinery/orders/admin/orders/new.html.erb +0 -1
  93. data/app/views/refinery/products/admin/products/_form.html.erb +0 -127
  94. data/app/views/refinery/stores/admin/stores/_actions.html.erb +0 -57
  95. data/app/views/refinery/stores/stores/_customer_head.html.haml +0 -12
@@ -9,9 +9,29 @@ module Refinery
9
9
  belongs_to :main_pic, :class_name => '::Refinery::Image'
10
10
  belongs_to :store, :class_name => '::Refinery::Stores::Store'
11
11
  has_many :line_items, :class_name => '::Refinery::Orders::LineItem'
12
+ has_one :digidownload, :class_name => '::Refinery::Products::Digidownload'
12
13
 
13
14
  scope :active, lambda { |i| where(["date_available <= ? ", Time.now ]) }
14
-
15
+
16
+ # -----------------------------------------------------------------------
17
+ # select_list -- returns an html select list suitable for selecting a product
18
+ # -----------------------------------------------------------------------
19
+ def self.select_list()
20
+ all.map{ |x| [x.name, x.id] }
21
+ end
22
+
23
+
24
+ # -----------------------------------------------------------------------
25
+ # digi_select_list -- returns an html select list of prods w/o downloads
26
+ # -----------------------------------------------------------------------
27
+ def self.digi_select_list()
28
+ [ ["none selected yet", nil] ] +
29
+ includes(:digidownload).where( :refinery_digidownloads => { :product_id => nil } ).all.map{ |x| [x.name, x.id] }
30
+ end
31
+
32
+
33
+ # #########################################################################
34
+
15
35
  end
16
36
  end
17
37
  end
@@ -0,0 +1,54 @@
1
+ - content_for :header, t('pick_new_password_for', :scope => 'refinery.users.reset', :email => @customer.email)
2
+
3
+ - content_for :stylesheets do
4
+ = stylesheet_link_tag('refinery/refinerycms-stores')
5
+
6
+ - content_for :body_content_title do
7
+ %h1 Update Customer Profile
8
+
9
+ - content_for :body_content_left do
10
+
11
+ %section
12
+ .modal-form.basic-form
13
+ = form_for @customer, |
14
+ :url => refinery.customers_customer_path, |
15
+ :html => { :method => :put } do |f| |
16
+ = render '/refinery/admin/error_messages', :object => @customer, :include_object_name => true
17
+
18
+ %h3 Sign-in Information
19
+ %i your sign-in email must be unique
20
+
21
+ .form-lines.no-width
22
+ = f.label :email
23
+ = f.text_field :email
24
+
25
+ %h3 Change Password
26
+ %i leave blank if unchanged
27
+
28
+ .form-lines.no-width
29
+ = f.label :password
30
+ = f.password_field :password, :class => 'larger widest'
31
+ = f.label :password_confirmation
32
+ = f.password_field :password_confirmation, :class => 'larger widest'
33
+
34
+ %h3 Your Billing Information
35
+ = render( :partial => "refinery/shared/address_form", :object => @billing_address, :locals => { :as_name => :billing_address } )
36
+
37
+ %h3 Your Shipping Information
38
+ .form-lines.no-width
39
+ = check_box_tag( :use_billing, '1', false, { :onclick => "$('#shipping_address').toggle();" } )
40
+ = label_tag( :use_billing, 'use billing address for shipping', {:title => "use billing address for shipping"} )
41
+ %br
42
+ = render( :partial => "refinery/shared/address_form", :object => @shipping_address, :locals => { :as_name => :shipping_address } )
43
+
44
+ = render '/refinery/admin/form_actions', :f => f, |
45
+ :continue_editing => false, |
46
+ :submit_button_text => "update profile", |
47
+ :cancel_url => refinery.stores_root_path, |
48
+ :cancel_title => nil, |
49
+ :hide_delete => true |
50
+
51
+
52
+
53
+ = render "/refinery/content_page"
54
+
@@ -1,17 +1,24 @@
1
- - content_for :header, t('there_are_no_users', :scope => 'refinery.welcome')
2
- = form_for :user, :url => refinery.refinery_customers_customer_path do |f|
3
- = render '/refinery/admin/error_messages', :object => @user, :include_object_name => true
1
+ - content_for :header, "sign up for a customer profile"
2
+
3
+ = form_for @customer, :url => refinery.customers_customers_path do |f|
4
+
5
+ = render '/refinery/admin/error_messages', :object => @customer, :include_object_name => true
6
+
4
7
  .field
5
8
  = f.label :email
6
9
  = f.text_field :email, :class => 'larger widest'
10
+
7
11
  .field
8
12
  = f.label :password
9
13
  = f.password_field :password, :class => 'larger widest'
14
+
10
15
  .field
11
16
  = f.label :password_confirmation
12
17
  = f.password_field :password_confirmation, :class => 'larger widest'
18
+
13
19
  = render '/refinery/admin/form_actions', :f => f, |
14
20
  :submit_continue => false, |
15
21
  :submit_button_text => t('sign_up', :scope => 'refinery.users.new'), |
16
22
  :hide_delete => true, |
17
23
  :hide_cancel => true |
24
+
@@ -0,0 +1,4 @@
1
+ %ul
2
+ - if ::Refinery::Orders::Admin::OrdersController.searchable?
3
+ %li
4
+ = render '/refinery/admin/search', :url => refinery.orders_admin_orders_path
@@ -0,0 +1,13 @@
1
+ %li{:class => "clearfix record #{cycle("on", "on-hover")}", :id => dom_id(order)}
2
+ %span.title
3
+ = order.display_date.to_s(:db)
4
+ &ensp;
5
+ = order.order_number.to_s
6
+ &ensp;
7
+ = number_to_currency(order.product_total)
8
+ &ensp;
9
+ = order.order_status
10
+ %span.actions
11
+ = link_to refinery_icon_tag("application_edit.png"), refinery.orders_admin_order_path(order), |
12
+ :title => t('.show') |
13
+ -#
@@ -0,0 +1,2 @@
1
+ = will_paginate @orders if Refinery::Orders::Admin::OrdersController.pageable?
2
+ = render 'sortable_list'
@@ -0,0 +1,12 @@
1
+ - if searching?
2
+ %h2= t('results_for', :scope => 'refinery.admin.search', :query => params[:search])
3
+ .pagination_container
4
+ - if @orders.any?
5
+ = render 'orders'
6
+ - else
7
+ %p
8
+ - unless searching?
9
+ %strong
10
+ = t('.no_items_yet')
11
+ - else
12
+ = t('no_results', :scope => 'refinery.admin.search')
@@ -0,0 +1,4 @@
1
+ %ul#sortable_list
2
+ = render :partial => 'order', :collection => @orders
3
+ = render '/refinery/admin/sortable_list', |
4
+ :continue_reordering => (local_assigns.keys.include?(:continue_reordering)) ? continue_reordering : true |
@@ -0,0 +1,5 @@
1
+ %section#records
2
+ = render 'records'
3
+ %aside#actions
4
+ = render 'actions'
5
+ = render '/refinery/admin/make_sortable', :tree => false if !searching? and ::Refinery::Orders::Admin::OrdersController.sortable? and ::Refinery::Orders::Order.count > 1
@@ -0,0 +1,80 @@
1
+ - content_for :stylesheets do
2
+ = stylesheet_link_tag('refinery/refinerycms-stores')
3
+
4
+ %section#records
5
+ = render( :partial => "refinery/shared/address", :object => @order.billing_address, :locals => { :as_name => :billing_address } )
6
+ = render( :partial => "refinery/shared/address", :object => @order.shipping_address, :locals => { :as_name => :shipping_address } )
7
+
8
+ .order-content
9
+ %table{ :width => "90%" }
10
+ %thead.heading-row
11
+ %th.item-col{:width => "70%"} item
12
+ %th.amount-col{:width => "10%"} quantity
13
+ %th.amount-col{:width => "10%"} price
14
+ %th.amount-col{:width => "10%"} amount
15
+
16
+ - @order.line_items.each do |item|
17
+ %tr
18
+ %td.item-name= item.product.name
19
+ %td.item-quantity= item.quantity
20
+ %td.item-unit-price= item.unit_price
21
+ %td.sub-total-type= number_to_currency( ( item.quantity.to_f * item.unit_price ) )
22
+
23
+ .order-totals
24
+ - sub_product = @order.total_price
25
+ - sub_discount = 0.0
26
+ - sub_shipping = 0.0
27
+ - sub_tax = 0.0
28
+ - grand_total = sub_product - sub_discount + sub_shipping + sub_tax
29
+
30
+ %tr
31
+ %td{ :colspan => 4 } &nbsp;
32
+
33
+ %tr
34
+ %td.right-just product
35
+ %td &nbsp;
36
+ %td &nbsp;
37
+ %td.sub-total-type= number_to_currency sub_product
38
+
39
+ %tr
40
+ %td.right-just discount
41
+ %td &nbsp;
42
+ %td &nbsp;
43
+ %td.sub-total-type= number_to_currency sub_discount
44
+
45
+ %tr
46
+ %td.right-just shipping
47
+ %td &nbsp;
48
+ %td &nbsp;
49
+ %td.sub-total-type= number_to_currency sub_shipping
50
+
51
+ %tr
52
+ %td.right-just tax
53
+ %td &nbsp;
54
+ %td &nbsp;
55
+ %td.sub-total-type= number_to_currency sub_tax
56
+
57
+ %tr
58
+ %td.right-just purchase total
59
+ %td &nbsp;
60
+ %td &nbsp;
61
+ %td.sub-total-type= number_to_currency grand_total
62
+
63
+ %aside#actions
64
+ %p
65
+ Order #
66
+ = @order.order_number
67
+ %p= @order.order_status.gsub(/_/,' ')
68
+ %p= @order.display_date.to_s(:long)
69
+
70
+ %ul.collapsible_menu
71
+ %li.not_a_link
72
+ = link_to "other actions", '#', :class => 'folder_icon'
73
+ %li
74
+ = link_to t('refinery.orders.admin.orders.actions.manage'), refinery.orders_admin_orders_path, :class => 'folder_icon'
75
+ %li
76
+ = link_to t('refinery.products.admin.products.actions.manage'), refinery.products_admin_products_path, :class => 'folder_icon'
77
+ %li
78
+ = link_to t('refinery.products.admin.digidownloads.actions.manage'), refinery.products_admin_digidownloads_path, :class => 'folder_icon'
79
+
80
+
@@ -11,14 +11,14 @@
11
11
  = render '/refinery/admin/error_messages', :object => @order, :include_object_name => true
12
12
  = form_tag( refinery.orders_order_path(@order), :method => :put, :id => 'payment-form' ) do
13
13
  %h3 Your Billing Information
14
- = render( :partial => "address_form", :object => @billing_address, :locals => { :as_name => :billing_address } )
14
+ = render( :partial => "refinery/shared/address_form", :object => @billing_address, :locals => { :as_name => :billing_address } )
15
15
 
16
16
  %h3 Your Shipping Information
17
17
  .form-lines.no-width
18
18
  = check_box_tag( :use_billing, '1', false, { :onclick => "$('#shipping_address').toggle();" } )
19
19
  = label_tag( :use_billing, 'use billing address for shipping', {:title => "use billing address for shipping"} )
20
20
  %br
21
- = render( :partial => "address_form", :object => @shipping_address, :locals => { :as_name => :shipping_address } )
21
+ = render( :partial => "refinery/shared/address_form", :object => @shipping_address, :locals => { :as_name => :shipping_address } )
22
22
 
23
23
  %h3 Your Payment Method
24
24
 
@@ -1,6 +1,21 @@
1
+ - content_for :stylesheets do
2
+ = stylesheet_link_tag('refinery/refinerycms-stores')
3
+
1
4
  - content_for :body_content_left do
2
- %ul#orders
3
- - @orders.each do |order|
4
- %li
5
- = link_to order.order_status, refinery.orders_order_path(order)
5
+ #orders
6
+ %table{ :width => "100%" }
7
+ %thead.heading-row
8
+ %th.date-col{:width => "15%"} date
9
+ %th.order-no-col{:width => "12%"} order #
10
+ %th.item-col{:width => "50%"} first item
11
+ %th.amount-col{:width => "5%"} amount
12
+ %th.status-col{:width => "17%"} status
13
+
14
+ - @orders.each do |order|
15
+ %tr
16
+ %td.date-col= order.display_date.to_s(:short)
17
+ %td.order-no-col= order.order_number.to_s
18
+ %td.item-col= truncate( order.line_items.first.product.name, :length => 40)
19
+ %td.amount-col= number_to_currency(order.product_total)
20
+ %td.status-col= link_to order.order_status, refinery.orders_order_path(order)
6
21
  = render "/refinery/content_page"
@@ -1,36 +1,79 @@
1
+ - content_for :stylesheets do
2
+ = stylesheet_link_tag('refinery/refinerycms-stores')
3
+
1
4
  - content_for :body_content_title do
2
5
  %h1
3
- Order Number:
6
+ Order #
4
7
  = @order.order_number
8
+
5
9
 
6
10
  - content_for :body_content_left do
11
+
7
12
  %section
8
- %h1 Order Status
9
- %p
10
- = raw @order.order_status
11
- %section
12
- %h1 Shipping Type
13
- %p
14
- = raw @order.shipping_type
15
- %section
16
- %h1 Shipped On
17
- %p
18
- = raw @order.shipped_on
19
- %section
20
- %h1 Poduct Cost
21
- %p
22
- = raw @order.poduct_cost
23
- %section
24
- %h1 Shipping Cost
25
- %p
26
- = raw @order.shipping_cost
27
- %section
28
- %h1 Tax Cost
29
- %p
30
- = raw @order.tax_cost
13
+ %h4= @order.order_status.gsub(/_/,' ')
14
+ %p= @order.display_date.to_s(:long)
15
+
16
+ = render( :partial => "refinery/shared/address", :object => @order.billing_address, :locals => { :as_name => :billing_address } )
17
+ = render( :partial => "refinery/shared/address", :object => @order.shipping_address, :locals => { :as_name => :shipping_address } )
18
+
19
+ .order-content
20
+ %table{ :width => "90%" }
21
+ %thead.heading-row
22
+ %th.item-col{:width => "70%"} item
23
+ %th.amount-col{:width => "10%"} quantity
24
+ %th.amount-col{:width => "10%"} price
25
+ %th.amount-col{:width => "10%"} amount
26
+
27
+ - @order.line_items.each do |item|
28
+ %tr
29
+ %td.item-name= item.product.name
30
+ %td.item-quantity= item.quantity
31
+ %td.item-unit-price= item.unit_price
32
+ %td.sub-total-type= pretty_total_price( item )
33
+
34
+ .order-totals
35
+ - sub_product = @order.total_price
36
+ - sub_discount = 0.0
37
+ - sub_shipping = 0.0
38
+ - sub_tax = 0.0
39
+ - grand_total = sub_product - sub_discount + sub_shipping + sub_tax
40
+
41
+ %tr
42
+ %td{ :colspan => 4 } &nbsp;
43
+
44
+ %tr
45
+ %td.right-just product
46
+ %td &nbsp;
47
+ %td &nbsp;
48
+ %td.sub-total-type= number_to_currency sub_product
49
+
50
+ %tr
51
+ %td.right-just discount
52
+ %td &nbsp;
53
+ %td &nbsp;
54
+ %td.sub-total-type= number_to_currency sub_discount
55
+
56
+ %tr
57
+ %td.right-just shipping
58
+ %td &nbsp;
59
+ %td &nbsp;
60
+ %td.sub-total-type= number_to_currency sub_shipping
61
+
62
+ %tr
63
+ %td.right-just tax
64
+ %td &nbsp;
65
+ %td &nbsp;
66
+ %td.sub-total-type= number_to_currency sub_tax
67
+
68
+ %tr
69
+ %td.right-just purchase total
70
+ %td &nbsp;
71
+ %td &nbsp;
72
+ %td.sub-total-type= number_to_currency grand_total
31
73
 
32
74
  - content_for :body_content_right do
33
75
  %aside
34
- %h2= t('.other')
76
+ &nbsp;
35
77
 
36
78
  = render "/refinery/content_page"
79
+
@@ -0,0 +1,19 @@
1
+ %ul
2
+ - if ::Refinery::Products::Admin::DigidownloadsController.searchable?
3
+ %li
4
+ = render '/refinery/admin/search', :url => refinery.products_admin_digidownloads_path
5
+ %li
6
+ = link_to t('.create_new'), refinery.new_products_admin_digidownload_path, |
7
+ :class => "add_icon" |
8
+ - if !searching? && ::Refinery::Products::Admin::DigidownloadsController.sortable? && ::Refinery::Products::Digidownload.any?
9
+ %li
10
+ = link_to t('.reorder', :what => "Digidownloads"), |
11
+ refinery.products_admin_digidownloads_path, |
12
+ :id => "reorder_action", |
13
+ :class => "reorder_icon" |
14
+ -#
15
+ = link_to t('.reorder_done', :what => "Digidownloads"), |
16
+ refinery.products_admin_digidownloads_path, |
17
+ :id => "reorder_action_done", |
18
+ :style => "display: none;", |
19
+ :class => "reorder_icon" |
@@ -0,0 +1,13 @@
1
+ %li{:class => "clearfix record #{cycle("on", "on-hover")}", :id => dom_id(digidownload)}
2
+ %span.title
3
+ = digidownload.doc_file_name
4
+ %span.actions
5
+ -#
6
+ = link_to refinery_icon_tag("application_edit.png"), refinery.edit_products_admin_digidownload_path(digidownload), |
7
+ :title => t('.edit') |
8
+ -#
9
+ = link_to refinery_icon_tag("delete.png"), refinery.products_admin_digidownload_path(digidownload), |
10
+ :class => "cancel confirm-delete", |
11
+ :title => t('.delete'), |
12
+ :confirm => t('message', :scope => 'refinery.admin.delete', :title => digidownload.doc_file_name), |
13
+ :method => :delete |
@@ -0,0 +1,2 @@
1
+ = will_paginate @digidownloads if Refinery::Products::Admin::DigidownloadsController.pageable?
2
+ = render 'sortable_list'
@@ -0,0 +1,41 @@
1
+ - content_for :javascripts do
2
+ = javascript_include_tag "http://api.html5media.info/1.1.5/html5media.min.js"
3
+
4
+ %h2= form_title # local parameter
5
+ = form_for [refinery, :products_admin, @digidownload], :html => { :multipart => true } do |f|
6
+ = render '/refinery/admin/error_messages', :object => @digidownload, :include_object_name => true
7
+
8
+ - unless @digidownload.doc_file_name.blank?
9
+ .download-documents.clearfix
10
+ %dl
11
+ %dt
12
+ = link_to( raw( image_tag( ::Refinery::Products::Digidownload.category_to_icon( @digidownload.to_category ), { :alt => @digidownload.doc_file_name, :class => 'icon_image' } ) ), @digidownload.doc.url, {:title => @digidownload.doc_file_name, :target => 'popup', :onclick => "return popup(this.href,this.title)"} )
13
+
14
+ %dd
15
+ %i= @digidownload.doc_file_name
16
+ = @digidownload.to_player.html_safe
17
+
18
+ = f.label( "This download belongs to product:" )
19
+ = f.select( :product_id, @digidownload.digi_select_list, :selected => ( @digidownload.product_id || params[:product_id] ) )
20
+
21
+ = f.label( :doc, 'Upload new digital download', {:title => "digital download to be added or changed"} )
22
+ = f.file_field( :doc )
23
+
24
+ .field
25
+ = f.label "Restrict number of downloads per customer", {:title => "should there be a restriction on number of downloads for a given customer?should there be a restricted period in days after purchase for allowing downloads? leave blank if no restriction." }
26
+ = f.text_field :restrict_count
27
+ .field
28
+ = f.label "Restrict number of days for downloading after purchase", {:title => "should there be a restricted period in days after purchase for allowing downloads? leave blank if no restriction" }
29
+ = f.text_field :restrict_days
30
+
31
+ = render '/refinery/admin/form_actions', :f => f, |
32
+ :continue_editing => false, |
33
+ :delete_title => t('delete', :scope => 'refinery.products.admin.digidownloads.digidownload'), |
34
+ :delete_confirmation => t('message', :scope => 'refinery.admin.delete', :title => @digidownload.doc_file_name) |
35
+
36
+ - content_for :javascripts do
37
+ :javascript
38
+ $(document).ready(function(){
39
+ page_options.init(false, '', '');
40
+ });
41
+