From cceb11c73a6007fb6b538eefabacf6dcd667dedc Mon Sep 17 00:00:00 2001 From: rahul Date: Tue, 12 Sep 2017 19:35:53 +0530 Subject: [PATCH 1/7] Add missing argument In version/object_desc_and_link line 108, the fourth argument was missing that is added in this commit. Closes https://github.com/opensuse/osem/issues/1689 --- app/views/admin/versions/_object_desc_and_link.html.haml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/admin/versions/_object_desc_and_link.html.haml b/app/views/admin/versions/_object_desc_and_link.html.haml index 12f9dbbc..a924a4cf 100644 --- a/app/views/admin/versions/_object_desc_and_link.html.haml +++ b/app/views/admin/versions/_object_desc_and_link.html.haml @@ -106,7 +106,8 @@ = 'booth' - booth = current_or_last_object_state(version.item_type, version.item_id) = link_if_alive version, booth.title, - admin_conference_booth_path(conference_id: Conference.find(version.conference_id).short_title, id: version.item_id ) + admin_conference_booth_path(conference_id: Conference.find(version.conference_id).short_title, id: version.item_id ), + conference - when 'Program' = link_if_alive version, 'program', From 69e30e7ba941fe316da76e846f6b95a2a54f3bdb Mon Sep 17 00:00:00 2001 From: siddhantbajaj Date: Tue, 22 Aug 2017 14:57:42 +0530 Subject: [PATCH 2/7] Improving check-in process mark user as present for the conference when user's registration ticket for that conference is scanned --- app/models/ticket_scanning.rb | 10 ++++++++++ app/models/user.rb | 12 ++++++++++- .../admin/ticket_scannings_controller_spec.rb | 4 +++- spec/factories/ticket_scanning.rb | 5 +++++ spec/models/ticket_scanning_spec.rb | 20 +++++++++++++++++++ 5 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 spec/factories/ticket_scanning.rb create mode 100644 spec/models/ticket_scanning_spec.rb diff --git a/app/models/ticket_scanning.rb b/app/models/ticket_scanning.rb index 6ce9d00c..350d4f9b 100644 --- a/app/models/ticket_scanning.rb +++ b/app/models/ticket_scanning.rb @@ -1,3 +1,13 @@ class TicketScanning < ActiveRecord::Base belongs_to :physical_ticket + + before_create :mark_user_present + + private + + def mark_user_present + if physical_ticket.ticket.registration_ticket? + physical_ticket.user.mark_attendance_for_conference(physical_ticket.conference) + end + end end diff --git a/app/models/user.rb b/app/models/user.rb index ccdb488d..231e1c11 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -47,7 +47,11 @@ class User < ActiveRecord::Base has_many :event_users, dependent: :destroy has_many :events, -> { uniq }, through: :event_users has_many :presented_events, -> { joins(:event_users).where(event_users: {event_role: 'speaker'}).uniq }, through: :event_users, source: :event - has_many :registrations, dependent: :destroy + has_many :registrations, dependent: :destroy do + def for_conference conference + where(conference: conference).first + end + end has_many :events_registrations, through: :registrations has_many :ticket_purchases, dependent: :destroy has_many :payments, dependent: :destroy @@ -93,6 +97,12 @@ class User < ActiveRecord::Base event_registration.attended end + def mark_attendance_for_conference conference + registration = registrations.for_conference(conference) + registration.attended = true + registration.save + end + def name self[:name].blank? ? username : self[:name] end diff --git a/spec/controllers/admin/ticket_scannings_controller_spec.rb b/spec/controllers/admin/ticket_scannings_controller_spec.rb index 245bd885..2eb2e4ed 100644 --- a/spec/controllers/admin/ticket_scannings_controller_spec.rb +++ b/spec/controllers/admin/ticket_scannings_controller_spec.rb @@ -4,7 +4,9 @@ describe Admin::TicketScanningsController do let(:admin) { create(:admin) } let(:conference) { create(:conference) } let(:user) { create(:user) } - let(:paid_ticket_purchase) { create(:ticket_purchase, conference: conference, user: user) } + let!(:registration) { create(:registration, conference: conference, user: user) } + let(:registration_ticket) { create(:registration_ticket, conference: conference) } + let(:paid_ticket_purchase) { create(:ticket_purchase, conference: conference, user: user, ticket: registration_ticket, quantity: 1) } let(:physical_ticket) { create(:physical_ticket, ticket_purchase: paid_ticket_purchase) } context 'logged in as user with no role' do diff --git a/spec/factories/ticket_scanning.rb b/spec/factories/ticket_scanning.rb new file mode 100644 index 00000000..540d1fd0 --- /dev/null +++ b/spec/factories/ticket_scanning.rb @@ -0,0 +1,5 @@ +FactoryGirl.define do + factory :ticket_scanning do + physical_ticket + end +end diff --git a/spec/models/ticket_scanning_spec.rb b/spec/models/ticket_scanning_spec.rb new file mode 100644 index 00000000..3d978f4f --- /dev/null +++ b/spec/models/ticket_scanning_spec.rb @@ -0,0 +1,20 @@ +require 'spec_helper' + +describe TicketScanning do + let(:conference) { create(:conference) } + let(:user) { create(:user) } + let(:registration) { create(:registration, conference: conference, user: user) } + let(:registration_ticket) { create(:registration_ticket, conference: conference) } + let(:paid_ticket_purchase) { create(:ticket_purchase, conference: conference, user: user, ticket: registration_ticket, quantity: 1) } + let(:physical_ticket) { create(:physical_ticket, ticket_purchase: paid_ticket_purchase) } + let(:ticket_scanning) { create(:ticket_scanning, physical_ticket: physical_ticket) } + + describe 'before_create' do + it 'marks user as present' do + expect(registration.attended).to eq(false) + ticket_scanning + registration.reload + expect(registration.attended).to eq(true) + end + end +end From c317565ec7d22edb8e818cba81b7502403b6aabc Mon Sep 17 00:00:00 2001 From: namangupta01 <01namangupta@gmail.com> Date: Thu, 7 Sep 2017 23:44:27 +0530 Subject: [PATCH 3/7] proposals#edit form text in track field is added --- app/helpers/events_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index e8f295d5..8f620e62 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -44,7 +44,7 @@ module EventsHelper if @program.tracks.confirmed.cfp_active.any? form.input :track_id, as: :select, collection: @program.tracks.confirmed.cfp_active.pluck(:name, :id), - include_blank: true + include_blank: '(Please select)' end end end From ec8fbb21d72648f65de99500ad1db0f5c3b887d9 Mon Sep 17 00:00:00 2001 From: namangupta01 <01namangupta@gmail.com> Date: Thu, 31 Aug 2017 13:43:08 +0530 Subject: [PATCH 4/7] Showing of tracks when there are no tracks in proposals is fixed Closes #1668 --- app/views/proposals/_encouragement_text.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/proposals/_encouragement_text.html.haml b/app/views/proposals/_encouragement_text.html.haml index c6d574d6..48fcd045 100644 --- a/app/views/proposals/_encouragement_text.html.haml +++ b/app/views/proposals/_encouragement_text.html.haml @@ -2,7 +2,7 @@ - if @program.event_types.any? You can submit proposals for = "#{event_types(@conference)}." - - if @program.tracks.any? + - if @program.tracks.confirmed.cfp_active.any? Proposals should fit in one of the = "#{pluralize(@program.tracks.confirmed.cfp_active.count, 'track')}:" = "#{tracks(@conference)}." From c929d8e68b0b238fe1f65ed5ba674e331d7262bb Mon Sep 17 00:00:00 2001 From: ViditChitkara Date: Fri, 15 Sep 2017 15:13:55 +0530 Subject: [PATCH 5/7] fixed schedule-page error closes #1693 --- app/controllers/schedules_controller.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/controllers/schedules_controller.rb b/app/controllers/schedules_controller.rb index eeb272e0..eb145730 100644 --- a/app/controllers/schedules_controller.rb +++ b/app/controllers/schedules_controller.rb @@ -21,10 +21,10 @@ class SchedulesController < ApplicationController # the schedule takes you to today if it is a date of the schedule @current_day = @conference.current_conference_day @day = @current_day.present? ? @current_day : @dates.first - return unless @current_day - # the schedule takes you to the current time if it is beetween the start and the end time. - @hour_column = @conference.hours_from_start_time(@conf_start, @conference.end_hour) - + unless @current_day + # the schedule takes you to the current time if it is beetween the start and the end time. + @hour_column = @conference.hours_from_start_time(@conf_start, @conference.end_hour) + end # Ids of the schedules of confrmed self_organized tracks along with the selected_schedule_id @selected_schedules_ids = [@conference.program.selected_schedule_id] @conference.program.tracks.self_organized.confirmed.each do |track| From 82b5f9083abdee4e954d0197a3c80621a0df9554 Mon Sep 17 00:00:00 2001 From: rahul Date: Mon, 18 Sep 2017 19:07:13 +0530 Subject: [PATCH 6/7] Fix total price for tickets While buying the ticket, user was only able to see the integer part in total.So in javascript parseInt was replaced with parseFloat to show the decimal part too Fixes https://github.com/openSUSE/osem/issues/1702 --- app/assets/javascripts/osem-tickets.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/osem-tickets.js b/app/assets/javascripts/osem-tickets.js index ea99a349..3c915f03 100644 --- a/app/assets/javascripts/osem-tickets.js +++ b/app/assets/javascripts/osem-tickets.js @@ -9,7 +9,7 @@ function update_price($this){ // Calculate total price var total = 0; $('.total_row').each(function( index ) { - total += parseInt($(this).text()); + total += parseFloat($(this).text()); }); $('#total_price').text(total); } From a07df4bdb0692fc289d2b89e8e1a634bddb5153d Mon Sep 17 00:00:00 2001 From: rahul Date: Wed, 20 Sep 2017 21:38:34 +0530 Subject: [PATCH 7/7] Fix decimal numbers limit to 2 while calculating the row total, javascript was called and on some quantity, a number with a big decimal part was appearing.In this PR it is fixed Fixes https://github.com/opensuse/osem/issues/1709 --- app/assets/javascripts/osem-tickets.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/osem-tickets.js b/app/assets/javascripts/osem-tickets.js index 3c915f03..51881055 100644 --- a/app/assets/javascripts/osem-tickets.js +++ b/app/assets/javascripts/osem-tickets.js @@ -4,7 +4,7 @@ function update_price($this){ // Calculate price for row var value = $this.val(); var price = $('#price_' + id).text(); - $('#total_row_' + id).text(value * price); + $('#total_row_' + id).text((value * price).toFixed(2)); // Calculate total price var total = 0;