diff --git a/.travis.yml b/.travis.yml index cd808850..173f7e30 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,3 +8,4 @@ script: before_script: - psql -c 'create database nastachku_test' -U postgres - cp config/database.yml.sample config/database.yml + - cp config/credentials.yml.sample config/credentials.yml diff --git a/app/assets/javascripts/custom.js.coffee b/app/assets/javascripts/custom.js.coffee index 851df084..d0f02481 100644 --- a/app/assets/javascripts/custom.js.coffee +++ b/app/assets/javascripts/custom.js.coffee @@ -29,7 +29,7 @@ $(document).ready -> # timetable long events hover $('.event').mouseenter -> - heightSummary = $(this).find('.summary').outerHeight() + heightSummary = $(this).find('.summary').outerHeight() + parseInt($(this).css('padding')) heightEvent = $(this).outerHeight() if heightSummary > heightEvent $(this).addClass('expand') diff --git a/app/controllers/web/account/afterparty_orders_controller.rb b/app/controllers/web/account/afterparty_orders_controller.rb index 092b31a6..02450daf 100644 --- a/app/controllers/web/account/afterparty_orders_controller.rb +++ b/app/controllers/web/account/afterparty_orders_controller.rb @@ -3,6 +3,7 @@ class Web::Account::AfterpartyOrdersController < Web::Account::ApplicationContro def new @afterparty_order = AfterpartyOrder.new gon.price = configus.platidoma.afterparty_price + @count_paid_afterparty = AfterpartyOrder.paid.count + User.as_lectors.count end def create diff --git a/app/models/shirt_order.rb b/app/models/shirt_order.rb index 187fea91..24441783 100644 --- a/app/models/shirt_order.rb +++ b/app/models/shirt_order.rb @@ -1,15 +1,17 @@ class ShirtOrder < Order extend Enumerize - attr_accessible :item_size + attr_accessible :item_size, :item_color validates :item_size, presence: true + validates :item_color, presence: true enumerize :item_size, in: [:S, :M, :L, :XL] + enumerize :item_color, in: [:white, :red] #FIXME найти другой вариант реализации перевода def to_s - "#{I18n.t("activerecord.models.shirt_order")} (#{item_size})" + "#{I18n.t("activerecord.models.shirt_order")} (#{item_size}, #{item_color})" end def cost diff --git a/app/repositories/order_repository.rb b/app/repositories/order_repository.rb index 6a705ec1..be822dd3 100644 --- a/app/repositories/order_repository.rb +++ b/app/repositories/order_repository.rb @@ -5,6 +5,7 @@ module OrderRepository included do scope :web, -> { by_created_at } + scope :paid, -> { where(payment_state: :paid) } end end \ No newline at end of file diff --git a/app/views/layouts/web/shared/_navbar.html.haml b/app/views/layouts/web/shared/_navbar.html.haml index 4e625bc5..3ac022c5 100644 --- a/app/views/layouts/web/shared/_navbar.html.haml +++ b/app/views/layouts/web/shared/_navbar.html.haml @@ -15,7 +15,7 @@ %ul.nav.pull-left %li= link_to t('.stachka_2012'), 'http://2012.nastachku.ru', class: 'btn-shine add_lecture prev_year', target: "_blank" - %li= link_to t('.buy'), new_account_afterparty_order_path, class: 'btn-shine btn-shine-colored add_lecture prev_year' + %li= link_to t('.buy'), new_account_shirt_order_path, class: 'btn-shine btn-shine-colored add_lecture prev_year' %li= link_to t('.add_lecture'), new_account_lecture_path, class: 'btn-shine add_lecture' %ul.nav.pull-right diff --git a/app/views/layouts/web/shared/_sponsors.html.haml b/app/views/layouts/web/shared/_sponsors.html.haml index ceea1f22..e956a508 100644 --- a/app/views/layouts/web/shared/_sponsors.html.haml +++ b/app/views/layouts/web/shared/_sponsors.html.haml @@ -120,6 +120,9 @@ .item.cru %a{:href => "http://www.pr73.ru/", :target => "_blank"} %img{:src => "/images/logo-cru.png", :width => 181, :height => 30, :alt => "Ц.Р.У."} + .item + %a{:href => "http://www.i-association.ru/", :target => "_blank"} + %img{:src => "/images/logo-aia.png", :width => 180, :height => 62, :alt => "Ассоциация интерактивных агенств"} .legend %i.sponsor-star.red diff --git a/app/views/web/account/afterparty_orders/new.html.haml b/app/views/web/account/afterparty_orders/new.html.haml index 878783a0..2b3ac9a9 100644 --- a/app/views/web/account/afterparty_orders/new.html.haml +++ b/app/views/web/account/afterparty_orders/new.html.haml @@ -1,44 +1,51 @@ -.page-header +%h1=t '.afterparty' - %h1=t '.afterparty' +.row + .span9 + %p + =t '.afterparty_content_part_1' + %span.color « + = link_to t(".duke"), "http://dukeclub.ru/", :target => "_blank" + %span.color ». + =t '.afterparty_content_part_2' + %p + = t '.afterparty_content_part_3' - %p - =t '.afterparty_content_part_1' - %span.color « - = link_to t(".duke"), "http://dukeclub.ru/", :target => "_blank" - %span.color ». - =t '.afterparty_content_part_2' + %br + %h5 + %span.color + = @count_paid_afterparty + = t (".participants_count") -.tabbable - %ul.nav.nav-tabs - %li.active= link_to t('.afterparty'), new_account_afterparty_order_path - %li= link_to t('.shirt'), new_account_shirt_order_path + .span3.center + %p + = link_to t(".tshirt_motivate_link"), new_account_shirt_order_path + = link_to new_account_shirt_order_path do + %img{:src => "/images/tshirt_1.png", :width => 233, :height => 253, :alt => "Футболка"} +%br = simple_form_for [:account, @afterparty_order], :html => { :class => 'form-horizontal profile-form' } do |f| .formy - .control-group - %label.control-label.center + .row-fluid + .span3.center = t(".item_name") - .controls - .row-fluid - .span4.center - = t(".item_count") - .span4.center - = t(".item_cost_title") - .span4.center - = t(".item_total_title") - .control-group - %label.control-label.center + .span3.center + = t(".item_count") + .span3.center + = t(".item_cost_title") + .span3.center + = t(".item_total_title") + %br + .row-fluid + .span3.center = t(".enter_ticket") - .controls - .row-fluid - .span4.center - = f.input_field :items_count, collection: 1..10, default: 0, class: "items-count-select input-mini" - .span4.center - = t(".item_cost_value") - .span4.center - %big - .cost - = t(".item_total_default") + .span3.center + = f.input_field :items_count, collection: 1..10, default: 0, class: "items-count-select input-mini" + .span3.center + = t(".item_cost_value") + .span3.center + %big + .cost + = t(".item_total_default") = f.button :submit, :value => t('.buy'), :class => 'btn btn-shine' \ No newline at end of file diff --git a/app/views/web/account/shirt_orders/new.html.haml b/app/views/web/account/shirt_orders/new.html.haml index 0be4c80e..93e290c3 100644 --- a/app/views/web/account/shirt_orders/new.html.haml +++ b/app/views/web/account/shirt_orders/new.html.haml @@ -1,40 +1,58 @@ -.page-header - %h1=t '.add_order' +%h1=t '.buy_tshirt' -.tabbable - %ul.nav.nav-tabs - %li= link_to t('.afterparty'), new_account_afterparty_order_path - %li.active= link_to t('.shirt'), new_account_shirt_order_path +%p + = t('.tshirt_promo') + %br + = t('.thisrt_promo_ps') + = t('.buy_afterparty_ticket_before') + = link_to t('.buy_afterparty_ticket_action'), new_account_afterparty_order_path + = t('.buy_afterparty_ticket_after') +%br + +.row-fluid + .span3.left + %img{:src => "/images/tshirt_1.png", :width => 233, :height => 253, :alt => "Футболка"} + .span3.center + %img{:src => "/images/tshirt_2.png", :width => 233, :height => 253, :alt => "Футболка"} + .span3.center + %img{:src => "/images/tshirt_3.png", :width => 233, :height => 253, :alt => "Футболка"} + .span3.right + %img{:src => "/images/tshirt_4.png", :width => 233, :height => 253, :alt => "Футболка"} + +%br = simple_form_for [:account, @shirt_order], :html => { :class => 'form-horizontal profile-form' } do |f| .formy - .control-group - %label.control-label.center + .row-fluid + .span2.center = t(".item_name") - .controls - .row-fluid - .span2.center - = t(".item_size") - .span3.center - = t(".item_count") - .span4.center - = t(".item_cost_title") - .span3.center - = t(".item_total_title") - .control-group - %label.control-label.center + .span1.center + = t(".item_size") + .span2.center + = t(".item_color") + .span2.center + = t(".item_count") + .span3.center + = t(".item_cost_title") + .span2.center + = t(".item_total_title") + + %br + + .row-fluid + .span2.center = t(".t_shirt") - .controls - .row-fluid - .span2.center - = f.input_field :item_size, collection: ShirtOrder.item_size.options, default: 0, class: "input-mini" - .span3.center - = f.input_field :items_count, collection: 1..10, default: 0, class: "items-count-select input-mini" - .span4.center - = t(".item_cost_value") - .span3.center - %big - .cost - = t(".item_total_default") + .span1.center + = f.input_field :item_size, collection: ShirtOrder.item_size.options, default: 0, class: "input-mini" + .span2.center + = f.input_field :item_color, collection: ShirtOrder.item_color.options, default: 0, class: "input-small" + .span2.center + = f.input_field :items_count, collection: 1..10, default: 0, class: "items-count-select input-mini" + .span3.center + = t(".item_cost_value") + .span2.center + %big + .cost + = t(".item_total_default") = f.button :submit, :value => t('.buy'), :class => 'btn btn-shine' \ No newline at end of file diff --git a/app/views/web/accounts/_form.html.haml b/app/views/web/accounts/_form.html.haml index e429fdeb..f8a7d4b6 100644 --- a/app/views/web/accounts/_form.html.haml +++ b/app/views/web/accounts/_form.html.haml @@ -15,7 +15,7 @@ .tab-pane.active#info = simple_form_for @user, :url => account_path, :html => { :class => 'form-horizontal profile-form' } do |f| .formy - = f.input :email, disabled: true, readonly: true + -#= f.input :email, disabled: true, readonly: true = f.input :first_name = f.input :last_name = f.input :city diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 1c4c7de2..5eb1f22b 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -34,7 +34,7 @@ ru: admin: 'Админка' add_lecture: 'Добавить доклад' stachka_2012: 'Стачка! 2012' - buy: "Купить" + buy: "Купить футболку" admin: shared: @@ -101,6 +101,9 @@ ru: item_total_default: "1500 руб." afterparty_content_part_1: "Отдохнуть после насыщенного Стачко-дня, поделиться впечатлениями от докладов, потусоваться и пообщаться со спикерами и лучшими людьми сферы в неформальной обстановке? Добро пожаловать на афтепати «Стачки!» 12 апреля в 19.00 ждем вас в кафе-клубе" afterparty_content_part_2: "Успейте попасть на закрытую вечеринку, количество билетов ограничено." + afterparty_content_part_3: "P.S.: Билеты найдут своих законных обладателей в день конференции - 12 апреля." + participants_count: "человек уже идут с нами. Не отставай!" + tshirt_motivate_link: "Хочешь быть в тренде? Жми!" create: title: "Оформить заказ на афтепати" @@ -108,9 +111,11 @@ ru: new: title: "Оформить заказ на футболку" buy: "Купить" + buy_tshirt: "Купить футболку" afterparty: "Афтепати" shirt: "Футболка" add_order: "Оформить заказ" + item_color: "Цвет" item_name: "Наименование" item_count: "Количество" item_cost_title: "Стоимость 1 футболки" @@ -120,6 +125,11 @@ ru: item_total_default: "500 руб." item_size: "Размер" t_shirt: "Футболка" + tshirt_promo: "Отхвати себе кусочек Стачко-стиля и будь в тренде! Дело за малым – жми на заказ и приобщайся к нашему движению. Фирменная футболка «Стачки!» уже готова прыгнуть в твой гардероб." + thisrt_promo_ps: " P.S.: Ты получишь ее в день конференции – 12 апреля. До встречи в Ленинском Мемориале!" + buy_afterparty_ticket_before: "И не забудь" + buy_afterparty_ticket_after: "билет на афтепати! ;)" + buy_afterparty_ticket_action: "купить" users: form: @@ -558,3 +568,7 @@ ru: M: "M" L: "L" XL: "XL" + + item_color: + white: "Белый" + red: "Красный" diff --git a/db/migrate/20130322110701_add_color_field_to_order.rb b/db/migrate/20130322110701_add_color_field_to_order.rb new file mode 100644 index 00000000..494c9595 --- /dev/null +++ b/db/migrate/20130322110701_add_color_field_to_order.rb @@ -0,0 +1,5 @@ +class AddColorFieldToOrder < ActiveRecord::Migration + def change + add_column :orders, :item_color, :string + end +end diff --git a/db/migrate/20130322112003_update_default_order_item_color.rb b/db/migrate/20130322112003_update_default_order_item_color.rb new file mode 100644 index 00000000..edc63ab9 --- /dev/null +++ b/db/migrate/20130322112003_update_default_order_item_color.rb @@ -0,0 +1,10 @@ +class UpdateDefaultOrderItemColor < ActiveRecord::Migration + def up + Order.reset_column_information + Order.update_all({:item_color => :white}, :item_color => nil) + end + + def down + Order.update_all(:item_color => :white) + end +end diff --git a/db/schema.rb b/db/schema.rb index 805def65..043b577e 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20130320131032) do +ActiveRecord::Schema.define(:version => 20130322112003) do create_table "audits", :force => true do |t| t.integer "auditable_id" @@ -112,6 +112,7 @@ t.string "transaction_id" t.datetime "created_at", :null => false t.datetime "updated_at", :null => false + t.string "item_color" end create_table "pages", :force => true do |t| diff --git a/public/images/logo-aia.png b/public/images/logo-aia.png new file mode 100644 index 00000000..356f0689 Binary files /dev/null and b/public/images/logo-aia.png differ diff --git a/public/images/tshirt_1.png b/public/images/tshirt_1.png new file mode 100644 index 00000000..e84d6caa Binary files /dev/null and b/public/images/tshirt_1.png differ diff --git a/public/images/tshirt_2.png b/public/images/tshirt_2.png new file mode 100644 index 00000000..9647e61d Binary files /dev/null and b/public/images/tshirt_2.png differ diff --git a/public/images/tshirt_3.png b/public/images/tshirt_3.png new file mode 100644 index 00000000..96533ba6 Binary files /dev/null and b/public/images/tshirt_3.png differ diff --git a/public/images/tshirt_4.png b/public/images/tshirt_4.png new file mode 100644 index 00000000..3728cc0c Binary files /dev/null and b/public/images/tshirt_4.png differ diff --git a/test/factories/shirt_orders.rb b/test/factories/shirt_orders.rb index a4f7389c..0f52a244 100644 --- a/test/factories/shirt_orders.rb +++ b/test/factories/shirt_orders.rb @@ -5,5 +5,6 @@ user items_count item_size "L" + item_color "white" end end