forgeos_commerce_front 1.9.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.
- data/COPYING +339 -0
- data/COPYING.LESSER +165 -0
- data/Gemfile +2 -0
- data/LICENSE +2 -0
- data/README.textile +28 -0
- data/app/assets/images/commerce_front/cart/calulate.png +0 -0
- data/app/assets/images/commerce_front/cart/cart.png +0 -0
- data/app/assets/images/commerce_front/cart/change_quantity.png +0 -0
- data/app/assets/images/commerce_front/cart/delete.png +0 -0
- data/app/assets/images/commerce_front/cart/reduction.png +0 -0
- data/app/assets/images/commerce_front/cart/steps_left.png +0 -0
- data/app/assets/images/commerce_front/cart/steps_right.png +0 -0
- data/app/assets/images/commerce_front/product.jpg +0 -0
- data/app/assets/javascripts/commerce_front/functions.js +10 -0
- data/app/assets/javascripts/commerce_front/init.js +4 -0
- data/app/assets/javascripts/commerce_front/jquery.jnotify.min.js +21 -0
- data/app/assets/stylesheets/commerce_front/_cart.css.sass +97 -0
- data/app/assets/stylesheets/commerce_front/_common.css.sass +13 -0
- data/app/assets/stylesheets/commerce_front/_forms.css.sass +15 -0
- data/app/assets/stylesheets/commerce_front/_jnotify.css.sass +65 -0
- data/app/assets/stylesheets/commerce_front/style.css.sass +4 -0
- data/app/controllers/addresses_controller.rb +71 -0
- data/app/controllers/application_controller.rb +21 -0
- data/app/controllers/cart_controller.rb +144 -0
- data/app/controllers/newsletters_controller.rb +20 -0
- data/app/controllers/order_controller.rb +413 -0
- data/app/controllers/orders_controller.rb +32 -0
- data/app/controllers/person_sessions_controller.rb +23 -0
- data/app/controllers/users_controller.rb +164 -0
- data/app/helpers/application_helper.rb +73 -0
- data/app/helpers/cart_helper.rb +25 -0
- data/app/helpers/order_helper.rb +59 -0
- data/app/models/address.rb +18 -0
- data/app/models/notifier.rb +88 -0
- data/app/models/order.rb +13 -0
- data/app/models/user.rb +16 -0
- data/app/models/user_address.rb +15 -0
- data/app/views/addresses/_address_form.html.haml +18 -0
- data/app/views/addresses/_multiple_address_form.html.haml +27 -0
- data/app/views/cart/_free_products.html.haml +3 -0
- data/app/views/cart/_tbody.html.haml +25 -0
- data/app/views/cart/_total.html.haml +46 -0
- data/app/views/cart/index.html.haml +32 -0
- data/app/views/notifier/newsletter.html.haml +2 -0
- data/app/views/notifier/reset_password.html.haml +9 -0
- data/app/views/notifier/validation_user_account.html.haml +9 -0
- data/app/views/notifier/waiting_for_cheque_notification.html.haml +2 -0
- data/app/views/order/_form_address.html.haml +44 -0
- data/app/views/order/_tbody.html.haml +21 -0
- data/app/views/order/_total.html.haml +50 -0
- data/app/views/order/cheque_payment.html.haml +1 -0
- data/app/views/order/create.html.haml +76 -0
- data/app/views/order/deliveries.html.haml +28 -0
- data/app/views/order/new.html.haml +26 -0
- data/app/views/order/so_colissimo.html.haml +8 -0
- data/app/views/orders/index.html.haml +34 -0
- data/app/views/person_sessions/_form.html.haml +23 -0
- data/app/views/person_sessions/new.html.haml +1 -0
- data/app/views/person_sessions/new_reset_password.html.haml +7 -0
- data/app/views/users/_edit_form.html.haml +61 -0
- data/app/views/users/_form_create.html.haml +27 -0
- data/app/views/users/_form_quick_create.html.haml +16 -0
- data/app/views/users/_login_or_new.html.haml +10 -0
- data/app/views/users/forgotten_password.html.haml +12 -0
- data/app/views/users/new.html.haml +1 -0
- data/app/views/users/new_password.html.haml +10 -0
- data/app/views/users/show.html.haml +1 -0
- data/config/commerce.example.yml +27 -0
- data/config/initializers/commerce_front.rb +6 -0
- data/config/locales/fr.yml +85 -0
- data/config/routes.rb +17 -0
- data/db/migrate/20110311134232_add_form_attributes_to_addresses.rb +9 -0
- data/lib/field_error_proc_changer.rb +19 -0
- data/lib/forgeos/commerce_front.rb +6 -0
- data/lib/forgeos/commerce_front/engine.rb +10 -0
- data/lib/forgeos/commerce_front/version.rb +5 -0
- data/lib/forgeos_commerce_front.rb +1 -0
- data/lib/tasks/install.rake +13 -0
- data/recipes/deploy.rb +6 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +9 -0
- data/test/dummy/app/assets/stylesheets/application.css +7 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +42 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +27 -0
- data/test/dummy/config/environments/production.rb +51 -0
- data/test/dummy/config/environments/test.rb +39 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +10 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +58 -0
- data/test/dummy/log/development.log +0 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +26 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/forgeos_commerce_front_test.rb +7 -0
- data/test/test_helper.rb +10 -0
- metadata +197 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
= step_order(3)
|
|
2
|
+
.clear
|
|
3
|
+
|
|
4
|
+
- unless @order.order_details.empty?
|
|
5
|
+
.grid_24.cart_content
|
|
6
|
+
%table#cart_table
|
|
7
|
+
%thead
|
|
8
|
+
%tr
|
|
9
|
+
%th Produit
|
|
10
|
+
%th Quantité
|
|
11
|
+
%th Prix unitaire
|
|
12
|
+
%th Réduction
|
|
13
|
+
%th Prix total
|
|
14
|
+
%tbody#tbody
|
|
15
|
+
= render :partial => 'tbody'
|
|
16
|
+
|
|
17
|
+
.grid_24#total
|
|
18
|
+
-#.grid_9.prefix_1
|
|
19
|
+
=# render :partial => 'free_products'
|
|
20
|
+
.grid_10.prefix_3.omega#cart_total
|
|
21
|
+
= render :partial => 'total'
|
|
22
|
+
|
|
23
|
+
- else
|
|
24
|
+
Il n'y a pas de produit dans votre panier
|
|
25
|
+
|
|
26
|
+
.clear
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
- form_tag(@_url, :autocomplete => 'off', :id => 'payment_form') do
|
|
2
|
+
- @colissimo.each do |key,value|
|
|
3
|
+
= hidden_field_tag key, value unless key == :key
|
|
4
|
+
.center
|
|
5
|
+
%p
|
|
6
|
+
Merci pour votre confiance, vous allez être redirigé vers l'interface "So Colissimo" dans quelques instant
|
|
7
|
+
%br
|
|
8
|
+
= javascript_tag "jQuery('#payment_form').submit();"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
.myaccount
|
|
2
|
+
%h2
|
|
3
|
+
Mon compte
|
|
4
|
+
.clear
|
|
5
|
+
.suiviorder.grid_16
|
|
6
|
+
.titresuivi.grid_4
|
|
7
|
+
%h4
|
|
8
|
+
= t(:order_list)
|
|
9
|
+
.clear
|
|
10
|
+
- unless @orders.empty?
|
|
11
|
+
%table
|
|
12
|
+
- @orders.each do |order|
|
|
13
|
+
%thead
|
|
14
|
+
%tr
|
|
15
|
+
%th= t(:order_reference)
|
|
16
|
+
%th= t(:order_date)
|
|
17
|
+
%th= t(:shipping)
|
|
18
|
+
%th= t(:amount)
|
|
19
|
+
%th= t(:status)
|
|
20
|
+
%tbody
|
|
21
|
+
%tr
|
|
22
|
+
%td
|
|
23
|
+
= "Commande n°#{order.id}"
|
|
24
|
+
.datecommande.commande
|
|
25
|
+
= order.created_at.strftime('%d/%m/%Y')
|
|
26
|
+
.detailscommande.commande
|
|
27
|
+
= t(:articles, :count => order.order_details.count)
|
|
28
|
+
pour un montant de
|
|
29
|
+
= price_with_currency(order.total)
|
|
30
|
+
TTC
|
|
31
|
+
.livraisoncommande.commande
|
|
32
|
+
= t(order.status, :scope => :order_status)
|
|
33
|
+
.detailcommande.commande
|
|
34
|
+
= link_to('Détail', order_path(order, :format => :pdf))
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
- form_for(@person_session || PersonSession.new, :url => person_session_path, :html => { :class => 'account-form' }) do |f|
|
|
2
|
+
.person-session-form
|
|
3
|
+
.grid_2
|
|
4
|
+
= f.label :email, "#{t(:email)} <span class='required'>*</span>"
|
|
5
|
+
.grid_4
|
|
6
|
+
= f.text_field :email
|
|
7
|
+
.clear
|
|
8
|
+
.grid_2
|
|
9
|
+
= f.label :password, "#{t(:password)} <span class='required'>*</span>"
|
|
10
|
+
.grid_4
|
|
11
|
+
= f.password_field :password
|
|
12
|
+
.clear
|
|
13
|
+
.grid_4.prefix_2
|
|
14
|
+
- link_to forgotten_password_user_path, :id => 'reset_password_link' do
|
|
15
|
+
= t('get_forgotten_password').capitalize
|
|
16
|
+
.grid_4.prefix_2
|
|
17
|
+
= f.check_box :remember_me, :value => '1'
|
|
18
|
+
= f.label :remember_me, t(:remember_me).capitalize, :class => 'remember'
|
|
19
|
+
%br
|
|
20
|
+
= f.submit t('log.in.action').capitalize, :class => 'submit_contact'
|
|
21
|
+
.clear
|
|
22
|
+
%p.mandatory-field
|
|
23
|
+
* #{t(:mandatory_field, :count => 2)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render :partial => '/users/login_or_new'
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
%h2 Récupérer un nouveau mot de passe
|
|
2
|
+
- form_tag :action => 'reset_admin_password' do
|
|
3
|
+
%fieldset.account-form
|
|
4
|
+
= label_tag :email, I18n.t('email').capitalize
|
|
5
|
+
= text_field_tag 'email', nil, :class => 'text'
|
|
6
|
+
= submit_tag 'envoyer', :class => 'submit-connexion commander'
|
|
7
|
+
= link_to "Retour à la page précédente", :action => 'new'
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
.myaccount
|
|
2
|
+
- form_for(@user, :url => user_path, :html => { :multipart => true, :autocomplete => false }) do |f|
|
|
3
|
+
.profile
|
|
4
|
+
%h2
|
|
5
|
+
= t(:profile, :scope => [:user, :part]).capitalize
|
|
6
|
+
.grid_5
|
|
7
|
+
- login_field = Forgeos::CONFIG[:login]['login_field']
|
|
8
|
+
= f.label(login_field, t(:uid, :scope => :user).capitalize)
|
|
9
|
+
= f.text_field(login_field)
|
|
10
|
+
.clear
|
|
11
|
+
//.grid_5
|
|
12
|
+
= password_fields(f)
|
|
13
|
+
.clear
|
|
14
|
+
- if Forgeos::CONFIG[:newsletter]['active']
|
|
15
|
+
.grid_5.newsletter
|
|
16
|
+
= f.check_box(:newsletter)
|
|
17
|
+
= f.label(:newsletter, t(:i_want, :scope => :newsletter).capitalize)
|
|
18
|
+
.clear
|
|
19
|
+
|
|
20
|
+
- if Forgeos::CONFIG[:account]['avatar']['active']
|
|
21
|
+
.avatar
|
|
22
|
+
- current_user.build_avatar unless current_user.avatar
|
|
23
|
+
- f.fields_for :avatar do |avatar|
|
|
24
|
+
= display_avatar(current_user.avatar)
|
|
25
|
+
= avatar.file_field :uploaded_data
|
|
26
|
+
.clear
|
|
27
|
+
.coord
|
|
28
|
+
%h2
|
|
29
|
+
= t(:infos, :scope => [:user, :part]).capitalize
|
|
30
|
+
.grid_5
|
|
31
|
+
= f.label :civility, "#{t(:civility, :count => 1).capitalize} <em>*</em>"
|
|
32
|
+
= f.select :civility, options_for_select([['Mr',0],['Mme',1],['Mlle',2],['Société',3]])
|
|
33
|
+
.clear
|
|
34
|
+
|
|
35
|
+
.grid_5
|
|
36
|
+
= f.label :lastname, "#{t(:lastname).capitalize} <em>*</em>"
|
|
37
|
+
= f.text_field :lastname
|
|
38
|
+
.clear
|
|
39
|
+
.grid_5
|
|
40
|
+
= f.label :firstname, "#{t(:firstname).capitalize} <em>*</em>"
|
|
41
|
+
= f.text_field :firstname
|
|
42
|
+
.clear
|
|
43
|
+
.grid_5
|
|
44
|
+
= f.label :phone, "#{t(:phone).capitalize} <em>*</em>"
|
|
45
|
+
= f.text_field :phone
|
|
46
|
+
.clear
|
|
47
|
+
|
|
48
|
+
.address
|
|
49
|
+
- multiple_addresses = Forgeos::CONFIG[:addresses]['multiple_addresses']
|
|
50
|
+
- if multiple_addresses
|
|
51
|
+
- @user.build_address_delivery unless @user.address_delivery
|
|
52
|
+
= render :partial => '/addresses/multiple_address_form', :locals => {:address => @user.address_invoice}
|
|
53
|
+
- else
|
|
54
|
+
%h2= t(:address, :count => 1, :scope => [:user, :part]).capitalize
|
|
55
|
+
- f.object.build_address_invoice unless f.object.address_invoice
|
|
56
|
+
- f.fields_for :address_invoice do |address|
|
|
57
|
+
= render :partial => '/addresses/address_form', :locals => {:f => address}
|
|
58
|
+
.requiredinfo
|
|
59
|
+
* #{t(:mandatory_field, :count => 2)}
|
|
60
|
+
= f.submit t('action', :scope => [:user, :update])
|
|
61
|
+
.clear
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
- content_for(:title, t('action', :scope => [:user, :create]))
|
|
2
|
+
- form_for @user, :html => { :autocomplete => 'on'}, :url => user_path do |f|
|
|
3
|
+
.person-session-form
|
|
4
|
+
.grid_2
|
|
5
|
+
= f.label(:civility, "#{t(:civility, :count => 1)} <span class='required'>*<span>")
|
|
6
|
+
.grid_4
|
|
7
|
+
= f.radio_button :civility, 0
|
|
8
|
+
%span M
|
|
9
|
+
= f.radio_button :civility, 1
|
|
10
|
+
%span Mme
|
|
11
|
+
= f.radio_button :civility, 2
|
|
12
|
+
%span Mlle
|
|
13
|
+
= f.radio_button :civility, 3
|
|
14
|
+
%span Société
|
|
15
|
+
- [:lastname, :firstname, :email].each do |key|
|
|
16
|
+
.grid_2
|
|
17
|
+
= f.label key, "#{t(key)} <span class='required'>*<span>"
|
|
18
|
+
.grid_4
|
|
19
|
+
= f.text_field key
|
|
20
|
+
.clear
|
|
21
|
+
- unless Forgeos::CONFIG[:account]['password_generated']
|
|
22
|
+
= password_fields(f)
|
|
23
|
+
.grid_4.prefix_2
|
|
24
|
+
= f.submit t('action', :scope => [:user, :create])
|
|
25
|
+
.clear
|
|
26
|
+
%p.mandatory-field
|
|
27
|
+
* #{t(:mandatory_field, :count => 2)}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
- content_for(:title, t('action', :scope => [:user, :create]))
|
|
2
|
+
- form_for @user, :html => { :autocomplete => 'on'}, :url => user_path do |f|
|
|
3
|
+
= hidden_field_tag :quick, 1
|
|
4
|
+
.person-session-form
|
|
5
|
+
- [:email, :email_confirmation].each do |key|
|
|
6
|
+
.grid_2
|
|
7
|
+
= f.label key, "#{t(key)} <span class='required'>*<span>"
|
|
8
|
+
.grid_4
|
|
9
|
+
= f.text_field key
|
|
10
|
+
.clear
|
|
11
|
+
= password_fields(f, :label_class => 'grid_2', :input_class => 'grid_4', :field_class=> nil, :password_label => "#{t(:password)} <span class='required'>*<span>", :confirmation_label => "#{t(:password_confirmation)} <span class='required'>*<span>")
|
|
12
|
+
.grid_4.prefix_2
|
|
13
|
+
= f.submit t('action', :scope => [:user, :create])
|
|
14
|
+
.clear
|
|
15
|
+
%p.mandatory-field
|
|
16
|
+
* #{t(:mandatory_field, :count => 2)}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
.account-area
|
|
2
|
+
.grid_7.login
|
|
3
|
+
%h2= t('new', :scope => [:person_session, :action])
|
|
4
|
+
= render :partial => '/person_sessions/form'
|
|
5
|
+
.prefix_2.grid_7
|
|
6
|
+
%h2= t('create', :scope => [:user, :action])
|
|
7
|
+
- if Forgeos::CONFIG[:account]['checkout_quick_create'] and params[:quick]
|
|
8
|
+
= render :partial => '/users/form_quick_create', :locals => {:btn => 'create'}
|
|
9
|
+
- else
|
|
10
|
+
= render :partial => '/users/form_create', :locals => {:btn => 'create'}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
.account-area
|
|
2
|
+
.prefix_4.grid_8
|
|
3
|
+
%h2= t(:forgotten_password, :scope => [:user, :action]).capitalize
|
|
4
|
+
- form_tag(reset_password_user_path, :html => { :autocomplete => false }, :class => 'account-form') do
|
|
5
|
+
.grid_2
|
|
6
|
+
= label_tag(:email, t(:email))
|
|
7
|
+
.grid_5
|
|
8
|
+
= text_field_tag(:email)
|
|
9
|
+
.grid_5.prefix_2
|
|
10
|
+
= submit_tag(t('action', :scope => [:user, :reset_password]), :id => 'forgotten_password_submit')
|
|
11
|
+
.clear
|
|
12
|
+
.clear
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render :partial => '/users/login_or_new'
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
.account-area.new_password
|
|
2
|
+
.prefix_4.grid_8
|
|
3
|
+
%h2= t('new_password', :scope => [:user, :action]).capitalize
|
|
4
|
+
- form_for(@user, :url => update_password_user_path, :html => { :autocomplete => false }) do |f|
|
|
5
|
+
= hidden_field_tag :user_token, f.object.perishable_token
|
|
6
|
+
= password_fields(f, :label_class => 'grid_3', :input_class => 'grid_4')
|
|
7
|
+
.grid_5.prefix_2
|
|
8
|
+
= f.submit t('reset_password', :scope => [:user, :action])
|
|
9
|
+
.clear
|
|
10
|
+
.clear
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render :partial => 'users/edit_form.html.haml'
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
multilang: true # true/false
|
|
2
|
+
default_locale: en
|
|
3
|
+
login:
|
|
4
|
+
login_field: email
|
|
5
|
+
account:
|
|
6
|
+
active: true # true/false
|
|
7
|
+
password_generated: true # true/false
|
|
8
|
+
avatar:
|
|
9
|
+
active: true # true/false
|
|
10
|
+
addresses:
|
|
11
|
+
active: true # true/false
|
|
12
|
+
user_type: 'b2c' # b2b/b2c/b2b&b2c
|
|
13
|
+
multiple_addresses: true # true/false
|
|
14
|
+
mandatory_fields: [phone]
|
|
15
|
+
available_countries: [us, uk, fr]
|
|
16
|
+
default_country: us # ISO CODE
|
|
17
|
+
checkout:
|
|
18
|
+
active: true # true/false
|
|
19
|
+
payment: [cheque] # cheque/CMCIC
|
|
20
|
+
wishlist:
|
|
21
|
+
active: true # true/false
|
|
22
|
+
cart:
|
|
23
|
+
active: true # true/false
|
|
24
|
+
newsletter:
|
|
25
|
+
active: true
|
|
26
|
+
notifications:
|
|
27
|
+
active: true
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# load settings
|
|
2
|
+
config_file = File.join(Rails.root, 'config', 'commerce.yml')
|
|
3
|
+
Forgeos::CONFIG = (File.exist?(config_file) ? YAML.load_file(config_file).symbolize_keys : {})
|
|
4
|
+
if not Forgeos::CONFIG[:multilang] and locale = Forgeos::CONFIG[:default_locale]
|
|
5
|
+
I18n.available_locales = locale.to_a
|
|
6
|
+
end
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
fr:
|
|
2
|
+
mandatory_field:
|
|
3
|
+
one: champ obligatoire
|
|
4
|
+
other: champs obligatoires
|
|
5
|
+
person_session:
|
|
6
|
+
action:
|
|
7
|
+
new: Identification
|
|
8
|
+
user:
|
|
9
|
+
one: utilisateur
|
|
10
|
+
other: utilisateurs
|
|
11
|
+
uid: identifiant
|
|
12
|
+
action:
|
|
13
|
+
show: Mon compte
|
|
14
|
+
create: Créer mon compte
|
|
15
|
+
activate: Activation du compte
|
|
16
|
+
new_password: votre nouveau mot de passe
|
|
17
|
+
reset_password: valider
|
|
18
|
+
forgotten_password: Vous avez perdu votre mot de passe ?
|
|
19
|
+
create:
|
|
20
|
+
success: Votre compte a bien été créé. Vous allez recevoir un email afin d'activer votre compte.
|
|
21
|
+
error: Une erreur s'est produite lors de la creation de votre compte.
|
|
22
|
+
action: Créer le compte
|
|
23
|
+
update:
|
|
24
|
+
success: Votre compte a bien été mis à jour.
|
|
25
|
+
error: Une erreur s'est produite lors de la mise à jour de vos informations personnelles
|
|
26
|
+
activate:
|
|
27
|
+
success: Votre compte a bien été activé.
|
|
28
|
+
error: Une erreur s'est produite lors de l'activation de votre compte.
|
|
29
|
+
reset_password:
|
|
30
|
+
success: Un email vous a été envoyé avec les intructions afin de réinitialiser votre mot de passe
|
|
31
|
+
error: Une erreur est survenue lors de l'envoie de l'email
|
|
32
|
+
unknown_user: Aucun utilisateur n'est enregistré avec %{email}
|
|
33
|
+
new_password:
|
|
34
|
+
error: Code d'identification invalide
|
|
35
|
+
part:
|
|
36
|
+
profile: mon profil
|
|
37
|
+
infos: mes coordonnées
|
|
38
|
+
address:
|
|
39
|
+
one: mon adresse
|
|
40
|
+
other: mes adresses
|
|
41
|
+
order:
|
|
42
|
+
not_found: La commande n'a pas été trouvée.
|
|
43
|
+
order_status:
|
|
44
|
+
paid: payée
|
|
45
|
+
unpaid: en attente de paiement
|
|
46
|
+
shipped: expédiée
|
|
47
|
+
waiting_for_cheque: en attente de chèque
|
|
48
|
+
canceled: annulée
|
|
49
|
+
closed: fermée
|
|
50
|
+
newsletter:
|
|
51
|
+
i_want: Je souhaite recevoir la newsletter
|
|
52
|
+
create:
|
|
53
|
+
success: Vous êtes maintenant inscrit à la newsletter.
|
|
54
|
+
invalid_email: L'email %{error}
|
|
55
|
+
subscription: Inscription à la Newsletter
|
|
56
|
+
authlogic:
|
|
57
|
+
error_messages:
|
|
58
|
+
login_blank: doit être rempli(e)
|
|
59
|
+
login_not_found: n'est pas valide
|
|
60
|
+
login_invalid: should use only letters, numbers, spaces, and .-_@ please.
|
|
61
|
+
consecutive_failed_logins_limit_exceeded: Consecutive failed logins limit exceeded, account is disabled.
|
|
62
|
+
email_invalid: n'est pas valide
|
|
63
|
+
password_blank: doit être rempli(e)
|
|
64
|
+
password_invalid: n'est pas valide
|
|
65
|
+
not_active: Votre compte n'est pas actif
|
|
66
|
+
not_confirmed: Your account is not confirmed
|
|
67
|
+
not_approved: Your account is not approved
|
|
68
|
+
|
|
69
|
+
emails:
|
|
70
|
+
waiting_for_cheque_notification:
|
|
71
|
+
subject: Commande en attente de chèque
|
|
72
|
+
reset_password:
|
|
73
|
+
subject: Réinitialisation de votre mot de passe
|
|
74
|
+
newsletter:
|
|
75
|
+
subject: Inscription à la newsletter
|
|
76
|
+
new_account:
|
|
77
|
+
subject: Bienvenue sur notre site
|
|
78
|
+
order_confirmation:
|
|
79
|
+
subject: Votre commande n°%{id}
|
|
80
|
+
order: votre commande
|
|
81
|
+
company: entreprise
|
|
82
|
+
administrator_warning: Attention vous êtes en administrateur.
|
|
83
|
+
not_authorized: Vous n'êtes pas autorisé à acceder à cette ressource.
|
|
84
|
+
phone: télephone
|
|
85
|
+
email_confirmation: confirmez votre email
|
data/config/routes.rb
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Forgeos::CommerceFront::Engine.routes.draw do
|
|
2
|
+
resource :user do
|
|
3
|
+
member do
|
|
4
|
+
get :activate
|
|
5
|
+
get :new_password
|
|
6
|
+
get :forgotten_password
|
|
7
|
+
put :update_password
|
|
8
|
+
post :reset_password
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
resources :orders
|
|
12
|
+
resources :addresses
|
|
13
|
+
|
|
14
|
+
resources :address_deliveries, :controller => :addresses, :as => :addresses
|
|
15
|
+
resources :address_invoices, :controller => :addresses, :as => :addresses
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
class FieldErrorProcChanger
|
|
2
|
+
def initialize(proc)
|
|
3
|
+
@new_proc = proc
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
# This will run before the action. Returning false
|
|
7
|
+
# aborts the action.
|
|
8
|
+
def before(controller)
|
|
9
|
+
@old_proc = ActionView::Base.field_error_proc
|
|
10
|
+
ActionView::Base.field_error_proc = @new_proc
|
|
11
|
+
true
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# This will run after the action if and only if
|
|
15
|
+
# before returned true.
|
|
16
|
+
def after(controller)
|
|
17
|
+
ActionView::Base.field_error_proc = @old_proc
|
|
18
|
+
end
|
|
19
|
+
end
|