From c4607c293c81907379418ead8f50199087814fe0 Mon Sep 17 00:00:00 2001 From: Sundaram Dubey <56407566+maze-runnar@users.noreply.github.com> Date: Sun, 24 Nov 2019 12:52:36 +0530 Subject: [PATCH 01/23] fix: remove blue background from export drop-down (#3629) --- app/templates/events/view/tickets/orders.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/templates/events/view/tickets/orders.hbs b/app/templates/events/view/tickets/orders.hbs index e7515651f99..cc717ef69f1 100644 --- a/app/templates/events/view/tickets/orders.hbs +++ b/app/templates/events/view/tickets/orders.hbs @@ -8,7 +8,7 @@
- {{#ui-dropdown class='blue compact selection eight wide column'}} + {{#ui-dropdown class='compact selection eight wide column'}}
{{t 'Export As'}}
From 48d0d9e7dd8800cce84a7b06f060170527a119d5 Mon Sep 17 00:00:00 2001 From: AKSHAT PANDE Date: Sun, 24 Nov 2019 01:50:13 -0800 Subject: [PATCH 02/23] fix: added check for required-fields and rendering gender (#3567) --- app/helpers/is-input-field.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/is-input-field.js b/app/helpers/is-input-field.js index f5f721883e3..05658078192 100644 --- a/app/helpers/is-input-field.js +++ b/app/helpers/is-input-field.js @@ -1,5 +1,5 @@ import { helper } from '@ember/component/helper'; -export const isInputField = params => params[0] === 'text' || params[0] === 'number' || params[0] === 'email'; +export const isInputField = params => params[0] === 'text' || params[0] === 'number' || params[0] === 'email' || params[0] === 'select'; export default helper(isInputField); From e56027b001e6984f54e86b9ac90b40a165cc3afd Mon Sep 17 00:00:00 2001 From: Kush Trivedi Date: Tue, 26 Nov 2019 02:43:55 +0530 Subject: [PATCH 03/23] fix: Changing tab order and routes (#3660) --- app/routes/admin/events/index.js | 2 +- app/templates/admin/events.hbs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/routes/admin/events/index.js b/app/routes/admin/events/index.js index a1ca34c8c1d..37b17d9385d 100644 --- a/app/routes/admin/events/index.js +++ b/app/routes/admin/events/index.js @@ -3,6 +3,6 @@ import Route from '@ember/routing/route'; export default Route.extend({ beforeModel() { this._super(...arguments); - this.transitionTo('admin.events.list', 'all'); + this.transitionTo('admin.events.list', 'live'); } }); diff --git a/app/templates/admin/events.hbs b/app/templates/admin/events.hbs index 3aab6ca31de..da5029c8f48 100644 --- a/app/templates/admin/events.hbs +++ b/app/templates/admin/events.hbs @@ -2,9 +2,6 @@
{{#tabbed-navigation isNonPointing=true}} - {{#link-to 'admin.events.list' 'all' class='item'}} - {{t 'All Events'}} - {{/link-to}} {{#link-to 'admin.events.list' 'live' class='item'}} {{t 'All Live'}} {{/link-to}} @@ -14,6 +11,9 @@ {{#link-to 'admin.events.list' 'past' class='item'}} {{t 'All Past'}} {{/link-to}} + {{#link-to 'admin.events.list' 'all' class='item'}} + {{t 'All Events'}} + {{/link-to}} {{#link-to 'admin.events.list' 'deleted' class='item'}} {{t 'All Deleted'}} {{/link-to}} From 05ea12ba016de7a0ad00f81deb03f390b78171c9 Mon Sep 17 00:00:00 2001 From: Kush Trivedi Date: Fri, 29 Nov 2019 11:38:33 +0530 Subject: [PATCH 04/23] fix: Removing isTicketingEnabled from events (#3670) --- app/models/event.js | 1 - .../forms/wizard/basic-details-step.hbs | 9 ---- app/templates/public/index.hbs | 53 ++++++------------- 3 files changed, 17 insertions(+), 46 deletions(-) diff --git a/app/models/event.js b/app/models/event.js index df19b08f0b0..d11fdb030f8 100644 --- a/app/models/event.js +++ b/app/models/event.js @@ -48,7 +48,6 @@ export default ModelBase.extend(CustomPrimaryKeyMixin, { isMapShown : attr('boolean', { defaultValue: true }), isSponsorsEnabled : attr('boolean', { defaultValue: false }), isTicketFormEnabled : attr('boolean', { defaultValue: false }), - isTicketingEnabled : attr('boolean', { defaultValue: true }), isSessionsSpeakersEnabled : attr('boolean', { defaultValue: false }), isFeatured : attr('boolean', { defaultValue: false }), diff --git a/app/templates/components/forms/wizard/basic-details-step.hbs b/app/templates/components/forms/wizard/basic-details-step.hbs index 10230309d8f..f6fe9647005 100644 --- a/app/templates/components/forms/wizard/basic-details-step.hbs +++ b/app/templates/components/forms/wizard/basic-details-step.hbs @@ -145,17 +145,8 @@
{{#if data.module.ticketInclude}}
- {{!-- Hiding toggle ticket feature temporarily -
-
- {{input type='checkbox' checked=data.event.isTicketingEnabled id='use_ticketing_system'}} - -
-
- --}}
- {{!-- {{#if data.event.isTicketingEnabled}} --}}
{{#if data.event.tickets}}
diff --git a/app/templates/public/index.hbs b/app/templates/public/index.hbs index de4687ca1ee..d51ccb019ec 100644 --- a/app/templates/public/index.hbs +++ b/app/templates/public/index.hbs @@ -12,42 +12,23 @@

{{t 'Tickets'}}

- {{#if model.event.isTicketingEnabled}} - {{public/ticket-list eventCurrency=model.event.paymentCurrency - ticketUrl=model.event.ticketUrl - isTicketingEnabled=model.event.isTicketingEnabled - data=model.tickets - order=model.order - event=model.event - attendees=model.attendees - code=code - taxInfo=model.tax - currentEventIdentifier=model.event.identifier - createNewUserViaEmail=(action 'createNewUserViaEmail') - loginExistingUser=(action 'loginExistingUser') - isLoginModalOpen=isLoginModalOpen - placeOrder=(action 'placeOrder') - isLoading=isLoading - userExists=userExists - errorMessage=errorMessage - save='save'}} - {{else}} -
- -
-
- {{t 'You will be taken to '}} {{model.event.ticketUrl}} {{t ' to complete the purchase of tickets'}} -
-
-
- {{/if}} + {{public/ticket-list eventCurrency=model.event.paymentCurrency + ticketUrl=model.event.ticketUrl + data=model.tickets + order=model.order + event=model.event + attendees=model.attendees + code=code + taxInfo=model.tax + currentEventIdentifier=model.event.identifier + createNewUserViaEmail=(action 'createNewUserViaEmail') + loginExistingUser=(action 'loginExistingUser') + isLoginModalOpen=isLoginModalOpen + placeOrder=(action 'placeOrder') + isLoading=isLoading + userExists=userExists + errorMessage=errorMessage + save='save'}}
From 8f522fa2e83f16f39d2ec79a7cd4f7a356c5dd76 Mon Sep 17 00:00:00 2001 From: Kush Trivedi Date: Fri, 29 Nov 2019 12:54:59 +0530 Subject: [PATCH 05/23] feat: Billing Information Enhancements and Updations (#3654) * Billing Information Enhancements and Updations * Shortening the function * Removing duplications * REmoving the field checking into template --- app/components/forms/orders/order-form.js | 12 +++-- app/models/event.js | 1 + .../components/forms/orders/order-form.hbs | 53 +++++-------------- .../forms/wizard/basic-details-step.hbs | 12 ++++- .../components/widgets/forms/billing-info.hbs | 41 ++++++++++++++ app/templates/orders/new.hbs | 2 +- 6 files changed, 73 insertions(+), 48 deletions(-) create mode 100644 app/templates/components/widgets/forms/billing-info.hbs diff --git a/app/components/forms/orders/order-form.js b/app/components/forms/orders/order-form.js index bd3d2e7c52b..8dead19d533 100644 --- a/app/components/forms/orders/order-form.js +++ b/app/components/forms/orders/order-form.js @@ -38,6 +38,10 @@ export default Component.extend(FormMixin, { }), sameAsBuyer: false, + isBillingInfoNeeded: computed('event', 'data.isBillingEnabled', function() { + return this.event.isBillingInfoMandatory || this.data.isBillingEnabled; + }), + getRemainingTime: computed('settings', function() { let orderExpiryTime = this.get('settings.orderExpiryTime'); let willExpireAt = this.get('data.createdAt').add(orderExpiryTime, 'minutes'); @@ -380,12 +384,12 @@ export default Component.extend(FormMixin, { } ] }, - company: { - identifier : 'company', + taxBusinessInfo: { + identifier : 'taxBusinessInfo', rules : [ { type : 'empty', - prompt : this.l10n.t('Please enter your company') + prompt : this.l10n.t('Please enter your Tax ID or Business ID') } ] }, @@ -490,4 +494,4 @@ export default Component.extend(FormMixin, { } } } -}); \ No newline at end of file +}); diff --git a/app/models/event.js b/app/models/event.js index d11fdb030f8..2b87426c44f 100644 --- a/app/models/event.js +++ b/app/models/event.js @@ -50,6 +50,7 @@ export default ModelBase.extend(CustomPrimaryKeyMixin, { isTicketFormEnabled : attr('boolean', { defaultValue: false }), isSessionsSpeakersEnabled : attr('boolean', { defaultValue: false }), isFeatured : attr('boolean', { defaultValue: false }), + isBillingInfoMandatory : attr('boolean', { defaultValue: false }), isTaxEnabled : attr('boolean', { defaultValue: false }), canPayByPaypal : attr('boolean', { defaultValue: false }), diff --git a/app/templates/components/forms/orders/order-form.hbs b/app/templates/components/forms/orders/order-form.hbs index bcabc8b30c7..d202979b48a 100644 --- a/app/templates/components/forms/orders/order-form.hbs +++ b/app/templates/components/forms/orders/order-form.hbs @@ -81,52 +81,23 @@ {{/if}} {{/each}} {{/each}} + {{#if isPaidOrder}}

{{t 'Billing Information'}}

-
- - {{input type='text' id='company' value=data.company}} -
-
- - {{input type='text' id='taxBusinessInfo' value=data.taxBusinessInfo}} -
-
- - {{textarea rows='2' id='address' value=data.address}} -
-
- - {{input type='text' id='city' value=data.city}} -
-
- - {{input type='text' id='state' value=data.state}} -
-
- - {{input type='text' id='zip_code' value=data.zipcode}} -
-
- - {{#ui-dropdown class="search selection" selected=data.country - onChange=(action (mut data.country)) as |execute mapper|}} - {{input type='hidden' id='country' value=data.country}} -
{{t 'Select country'}}
- - - {{/ui-dropdown}} -
+ {{#unless this.event.isBillingInfoMandatory}} +
+ {{ui-checkbox label=(t 'Enable Billing Information') checked=data.isBillingEnabled + onChange=(action (mut data.isBillingEnabled))}} +
+ {{/unless}} + {{#if isBillingInfoNeeded}} + {{widgets/forms/billing-info + data=data + event=event}} + {{/if}}

{{t 'Payment Method'}} diff --git a/app/templates/components/forms/wizard/basic-details-step.hbs b/app/templates/components/forms/wizard/basic-details-step.hbs index f6fe9647005..67ea755cc11 100644 --- a/app/templates/components/forms/wizard/basic-details-step.hbs +++ b/app/templates/components/forms/wizard/basic-details-step.hbs @@ -492,10 +492,18 @@ {{t 'Add Tax Information'}} {{/if}} + +
+
+ {{input type='checkbox' id='billing_info_mandatory' checked=data.event.isBillingInfoMandatory}} + +
+

-
- {{/if}}
diff --git a/app/templates/components/widgets/forms/billing-info.hbs b/app/templates/components/widgets/forms/billing-info.hbs new file mode 100644 index 00000000000..2710cb66688 --- /dev/null +++ b/app/templates/components/widgets/forms/billing-info.hbs @@ -0,0 +1,41 @@ +
+ + {{input type='text' id='company' value=data.company}} +
+
+ + {{input type='text' id='taxBusinessInfo' value=data.taxBusinessInfo}} +
+
+ + {{textarea rows='2' id='address' value=data.address}} +
+
+ + {{input type='text' id='city' value=data.city}} +
+
+ + {{input type='text' id='state' value=data.state}} +
+
+ + {{input type='text' id='zip_code' value=data.zipcode}} +
+
+ + {{#ui-dropdown class="search selection" selected=data.country + onChange=(action (mut data.country)) as |execute mapper|}} + {{input type='hidden' id='country' value=data.country}} +
{{t 'Select country'}}
+ + + {{/ui-dropdown}} +
\ No newline at end of file diff --git a/app/templates/orders/new.hbs b/app/templates/orders/new.hbs index 9576c2a3def..d02a58a7fa9 100644 --- a/app/templates/orders/new.hbs +++ b/app/templates/orders/new.hbs @@ -28,7 +28,7 @@
- {{forms/orders/order-form save='save' data=model.order fields=model.form settings=settings}} + {{forms/orders/order-form save='save' data=model.order event=model.event fields=model.form settings=settings}}
{{#if model.order.event.ownerName}} From db6cf25d3d161d1fe2251cb404de08dc358845fa Mon Sep 17 00:00:00 2001 From: Kush Trivedi Date: Sat, 30 Nov 2019 02:35:20 +0530 Subject: [PATCH 06/23] Revert "fix: added check for required-fields and rendering gender (#3567)" (#3675) This reverts commit 48d0d9e7dd8800cce84a7b06f060170527a119d5. --- app/helpers/is-input-field.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/is-input-field.js b/app/helpers/is-input-field.js index 05658078192..f5f721883e3 100644 --- a/app/helpers/is-input-field.js +++ b/app/helpers/is-input-field.js @@ -1,5 +1,5 @@ import { helper } from '@ember/component/helper'; -export const isInputField = params => params[0] === 'text' || params[0] === 'number' || params[0] === 'email' || params[0] === 'select'; +export const isInputField = params => params[0] === 'text' || params[0] === 'number' || params[0] === 'email'; export default helper(isInputField); From 45018cf3a164deb9d6581a40f94250296e08ea78 Mon Sep 17 00:00:00 2001 From: Kush Trivedi Date: Sat, 30 Nov 2019 14:09:41 +0530 Subject: [PATCH 07/23] fix: Remove date and time validations (#3672) --- .../forms/events/view/create-discount-code.js | 47 +------------------ .../forms/wizard/basic-details-step.js | 22 +-------- .../forms/wizard/sessions-speakers-step.js | 23 +-------- 3 files changed, 3 insertions(+), 89 deletions(-) diff --git a/app/components/forms/events/view/create-discount-code.js b/app/components/forms/events/view/create-discount-code.js index 0f2fdd3bb45..8f7874b9f33 100644 --- a/app/components/forms/events/view/create-discount-code.js +++ b/app/components/forms/events/view/create-discount-code.js @@ -3,7 +3,6 @@ import { computed } from '@ember/object'; import FormMixin from 'open-event-frontend/mixins/form'; import { later } from '@ember/runloop'; import { currencySymbol } from 'open-event-frontend/helpers/currency-symbol'; -import moment from 'moment'; export default Component.extend(FormMixin, { getValidationRules() { window.$.fn.form.settings.rules.checkMaxMin = () => { @@ -22,11 +21,7 @@ export default Component.extend(FormMixin, { return false; }; - window.$.fn.form.settings.rules.checkDates = () => { - let startDatetime = moment(this.get('data.validFrom')); - let endDatetime = moment(this.get('data.validTill')); - return (endDatetime.diff(startDatetime, 'minutes') > 0); - }; + // TODO: Removing the Discount Code Time Validations due to the weird and buggy behaviour. Will be restored once a perfect solution is found. Please check issue: https://github.com/fossasia/open-event-frontend/issues/3667 return { inline : true, delay : false, @@ -113,46 +108,6 @@ export default Component.extend(FormMixin, { prompt : this.l10n.t('Please select atleast 1 ticket.') } ] - }, - startDate: { - optional : true, - identifier : 'start_date', - rules : [ - { - type : 'checkDates', - prompt : this.l10n.t('Valid Till date & time should be after valid from date and time') - } - ] - }, - startTime: { - optional : true, - identifier : 'start_time', - rules : [ - { - type : 'checkDates', - prompt : '.' - } - ] - }, - endDate: { - optional : true, - identifier : 'end_date', - rules : [ - { - type : 'checkDates', - prompt : this.l10n.t('Valid Till date & time should be after valid from date and time') - } - ] - }, - endTime: { - optional : true, - identifier : 'end_time', - rules : [ - { - type : 'checkDates', - prompt : '.' - } - ] } } }; diff --git a/app/components/forms/wizard/basic-details-step.js b/app/components/forms/wizard/basic-details-step.js index e072c97e98a..e25ba000bdd 100644 --- a/app/components/forms/wizard/basic-details-step.js +++ b/app/components/forms/wizard/basic-details-step.js @@ -125,12 +125,8 @@ export default Component.extend(FormMixin, EventWizardMixin, { } }, + // TODO: Removing the Event Time Validations due to the weird and buggy behaviour. Will be restored once a perfect solution is found. Please check issue: https://github.com/fossasia/open-event-frontend/issues/3667 getValidationRules() { - window.$.fn.form.settings.rules.checkDates = () => { - let startDatetime = moment(this.get('data.event.startsAt')); - let endDatetime = moment(this.get('data.event.endsAt')); - return (endDatetime.diff(startDatetime, 'minutes') > 0); - }; let validationRules = { inline : true, @@ -165,10 +161,6 @@ export default Component.extend(FormMixin, EventWizardMixin, { { type : 'date', prompt : this.l10n.t('Please give a valid start date') - }, - { - type : 'checkDates', - prompt : this.l10n.t('Start date & time should be before End date and time') } ] }, @@ -182,10 +174,6 @@ export default Component.extend(FormMixin, EventWizardMixin, { { type : 'date', prompt : this.l10n.t('Please give a valid end date') - }, - { - type : 'checkDates', - prompt : this.l10n.t('Start date & time should be before End date and time') } ] }, @@ -196,10 +184,6 @@ export default Component.extend(FormMixin, EventWizardMixin, { { type : 'empty', prompt : this.l10n.t('Please give a start time') - }, - { - type : 'checkDates', - prompt : '..' } ] }, @@ -210,10 +194,6 @@ export default Component.extend(FormMixin, EventWizardMixin, { { type : 'empty', prompt : this.l10n.t('Please give an end time') - }, - { - type : 'checkDates', - prompt : '..' } ] }, diff --git a/app/components/forms/wizard/sessions-speakers-step.js b/app/components/forms/wizard/sessions-speakers-step.js index a1ba6e59dca..0c96bbe432f 100644 --- a/app/components/forms/wizard/sessions-speakers-step.js +++ b/app/components/forms/wizard/sessions-speakers-step.js @@ -3,16 +3,11 @@ import { computed } from '@ember/object'; import FormMixin from 'open-event-frontend/mixins/form'; import EventWizardMixin from 'open-event-frontend/mixins/event-wizard'; import { groupBy } from 'lodash-es'; -import moment from 'moment'; export default Component.extend(EventWizardMixin, FormMixin, { + // TODO: Removing the Session & Speaker Time Validations due to the weird and buggy behaviour. Will be restored once a perfect solution is found. Please check issue: https://github.com/fossasia/open-event-frontend/issues/3667 getValidationRules() { - window.$.fn.form.settings.rules.checkDates = () => { - let startDatetime = moment(this.get('data.speakersCall.startsAt')); - let endDatetime = moment(this.get('data.speakersCall.endsAt')); - return (endDatetime.diff(startDatetime, 'minutes') > 0); - }; return { inline : true, delay : false, @@ -60,10 +55,6 @@ export default Component.extend(EventWizardMixin, FormMixin, { { type : 'empty', prompt : this.l10n.t('Please tell us when your event starts') - }, - { - type : 'checkDates', - prompt : this.l10n.t('Start date & time ') } ] }, @@ -73,10 +64,6 @@ export default Component.extend(EventWizardMixin, FormMixin, { { type : 'empty', prompt : this.l10n.t('Please tell us when your event ends') - }, - { - type : 'checkDates', - prompt : this.l10n.t('Start date & time should be after End date and time') } ] }, @@ -87,10 +74,6 @@ export default Component.extend(EventWizardMixin, FormMixin, { { type : 'empty', prompt : this.l10n.t('Please give a start time') - }, - { - type : 'checkDates', - prompt : '.' } ] }, @@ -101,10 +84,6 @@ export default Component.extend(EventWizardMixin, FormMixin, { { type : 'empty', prompt : this.l10n.t('Please give an end time') - }, - { - type : 'checkDates', - prompt : '.' } ] } From e7929ffa4c5fe57ff3042f9d880c83c595e1b595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Jesus?= <47331628+JoaoJesus94@users.noreply.github.com> Date: Thu, 5 Dec 2019 14:07:16 +0000 Subject: [PATCH 08/23] fix: event sort by name to actually sort by name (#3552) --- app/controllers/admin/events/list.js | 2 +- app/controllers/events/list.js | 4 ++-- .../components/ui-table/cell/cell-event-general.hbs | 8 ++++---- app/templates/components/ui-table/cell/cell-event.hbs | 6 +++--- .../components/ui-table/cell/cell-event-general-test.js | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/controllers/admin/events/list.js b/app/controllers/admin/events/list.js index 9f713b83f4f..a9d2ac0ea67 100644 --- a/app/controllers/admin/events/list.js +++ b/app/controllers/admin/events/list.js @@ -13,7 +13,7 @@ export default class extends Controller.extend(EmberTableControllerMixin) { return [ { name : 'Name', - valuePath : 'id', + valuePath : 'name', extraValuePaths : ['logoUrl', 'identifier', 'deletedAt', 'name'], isSortable : true, headerComponent : 'tables/headers/sort', diff --git a/app/controllers/events/list.js b/app/controllers/events/list.js index 6a390cbad08..7d2ca1be6c9 100644 --- a/app/controllers/events/list.js +++ b/app/controllers/events/list.js @@ -9,10 +9,10 @@ export default class extends Controller.extend(EmberTableControllerMixin) { return [ { name : 'Name', - valuePath : 'identifier', + valuePath : 'name', width : 150, isSortable : true, - extraValuePaths : ['name', 'logoUrl'], + extraValuePaths : ['identifier', 'logoUrl'], headerComponent : 'tables/headers/sort', cellComponent : 'ui-table/cell/cell-event-general', options : { diff --git a/app/templates/components/ui-table/cell/cell-event-general.hbs b/app/templates/components/ui-table/cell/cell-event-general.hbs index 09559e29bae..0c273b6c5df 100644 --- a/app/templates/components/ui-table/cell/cell-event-general.hbs +++ b/app/templates/components/ui-table/cell/cell-event-general.hbs @@ -1,14 +1,14 @@
- Event Logo
{{extraRecords.name}} + Event Logo
{{record}}
- {{#ui-popup tagName='a' click=(action props.actions.moveToDetails record) content=(t 'Event Dashboard') class='ui icon button' position='top center'}} + {{#ui-popup tagName='a' click=(action props.actions.moveToDetails extraRecords.identifier) content=(t 'Event Dashboard') class='ui icon button' position='top center'}} {{/ui-popup}} - {{#ui-popup tagName='a' click=(action props.actions.moveToPublic record) content=(t 'View') class='ui icon button' position='top center'}} + {{#ui-popup tagName='a' click=(action props.actions.moveToPublic extraRecords.identifier) content=(t 'View') class='ui icon button' position='top center'}} {{/ui-popup}} - {{#ui-popup content=(t 'Edit') click=(action props.actions.editEvent record) class='ui icon button' position='top center'}} + {{#ui-popup content=(t 'Edit') click=(action props.actions.editEvent extraRecords.identifier) class='ui icon button' position='top center'}} {{/ui-popup}}
diff --git a/app/templates/components/ui-table/cell/cell-event.hbs b/app/templates/components/ui-table/cell/cell-event.hbs index 24b8e1d982b..1734686d199 100644 --- a/app/templates/components/ui-table/cell/cell-event.hbs +++ b/app/templates/components/ui-table/cell/cell-event.hbs @@ -1,5 +1,5 @@
- Event Logo
{{extraRecords.name}} + Event Logo
{{record}}
@@ -10,11 +10,11 @@ {{/ui-popup}} {{#if (and props.options.hasRestorePrivileges extraRecords.deletedAt)}} - {{#ui-popup content=(t 'Restore') click=(action props.actions.restoreEvent record) class='ui icon button' position='left center'}} + {{#ui-popup content=(t 'Restore') click=(action props.actions.restoreEvent extraRecords.identifier) class='ui icon button' position='left center'}} {{/ui-popup}} {{else}} - {{#ui-popup content=(t 'Delete') click=(action props.actions.openDeleteEventModal extraRecords.identifier extraRecords.name) class='ui icon button' position='left center'}} + {{#ui-popup content=(t 'Delete') click=(action props.actions.openDeleteEventModal extraRecords.identifier record) class='ui icon button' position='left center'}} {{/ui-popup}} {{/if}} diff --git a/tests/integration/components/ui-table/cell/cell-event-general-test.js b/tests/integration/components/ui-table/cell/cell-event-general-test.js index ca2ecafe369..bc0149332b6 100644 --- a/tests/integration/components/ui-table/cell/cell-event-general-test.js +++ b/tests/integration/components/ui-table/cell/cell-event-general-test.js @@ -6,8 +6,8 @@ import { render } from '@ember/test-helpers'; module('Integration | Component | ui table/cell/cell event general', function(hooks) { setupIntegrationTest(hooks); - const extraRecords = { name: 'Event', logoUrl: 'url' }; - const record = 'abc215f'; + const extraRecords = { identifier: 'abc215f', logoUrl: 'url' }; + const record = 'Event'; const props = { actions: { From f8cf8c1e7b39b33ae5026e908fb14aca808f8eba Mon Sep 17 00:00:00 2001 From: Kush Trivedi Date: Wed, 11 Dec 2019 10:56:59 +0530 Subject: [PATCH 09/23] fix: Displaying more informative error on Stripe Failure (#3694) --- app/controllers/orders/pending.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/app/controllers/orders/pending.js b/app/controllers/orders/pending.js index 5ce16df1a34..bf7795f559b 100644 --- a/app/controllers/orders/pending.js +++ b/app/controllers/orders/pending.js @@ -130,10 +130,17 @@ export default Controller.extend({ }) .catch(e => { console.warn(e); - this.notify.error(this.l10n.t('An unexpected error has occurred'), - { - id: 'unexpected_error_occur' - }); + if ('errors' in e) { + this.notify.error(this.l10n.tVar(e.errors[0].detail), + { + id: 'unexpected_error_occur' + }); + } else { + this.notify.error(this.l10n.tVar(e), + { + id: 'unexpected_error_occur' + }); + } }) .finally(() => { this.set('isLoading', false); From bee2a25db7b17c9386079cac0779ce60e326c43d Mon Sep 17 00:00:00 2001 From: Kush Trivedi Date: Sun, 15 Dec 2019 00:57:25 +0530 Subject: [PATCH 10/23] =?UTF-8?q?fix:=20Removing=20Billing=20Info=20if=20n?= =?UTF-8?q?ot=20filled=20from=20the=20Order=20Dashboa=E2=80=A6=20(#3700)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/components/forms/orders/attendee-list.js | 2 +- app/templates/orders/view.hbs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/components/forms/orders/attendee-list.js b/app/components/forms/orders/attendee-list.js index 8e9cbf97f9a..74abe7e1db8 100644 --- a/app/components/forms/orders/attendee-list.js +++ b/app/components/forms/orders/attendee-list.js @@ -14,7 +14,7 @@ export default class extends Component { return this.data.attendees; } - @or('data.amount', 'data.isBillingEnabled') + @or('event.isBillingInfoMandatory', 'data.isBillingEnabled') showBillingInfo; @computed('fields.@each.form') diff --git a/app/templates/orders/view.hbs b/app/templates/orders/view.hbs index 713b056f1bf..b29ef0ce693 100644 --- a/app/templates/orders/view.hbs +++ b/app/templates/orders/view.hbs @@ -37,7 +37,7 @@
- {{forms/orders/attendee-list save='save' data=model.order fields=model.form}} + {{forms/orders/attendee-list save='save' data=model.order fields=model.form event=model.event}}
From df0920572cc09c46a0a5b63914bfb22d816c4141 Mon Sep 17 00:00:00 2001 From: Kush Trivedi Date: Sun, 22 Dec 2019 01:53:27 +0530 Subject: [PATCH 11/23] fix: Past sessions rendering multiple times (#3705) --- app/routes/my-sessions/list.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/routes/my-sessions/list.js b/app/routes/my-sessions/list.js index 81bb40f1027..9ad839ab89b 100644 --- a/app/routes/my-sessions/list.js +++ b/app/routes/my-sessions/list.js @@ -40,7 +40,7 @@ export default Route.extend(AuthenticatedRouteMixin, { ] } ]; - } else { + } else if (params.session_status === 'past') { filterOptions = [ { name : 'ends-at', From c192f1219270cb24b81f354fa1962e1ad14dc3a0 Mon Sep 17 00:00:00 2001 From: Kush Trivedi Date: Sun, 22 Dec 2019 01:54:34 +0530 Subject: [PATCH 12/23] chore: reveal the custom widget form (#3709) --- .../components/forms/wizard/sessions-speakers-step.hbs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/templates/components/forms/wizard/sessions-speakers-step.hbs b/app/templates/components/forms/wizard/sessions-speakers-step.hbs index 51106e9ebba..fb1783286b8 100644 --- a/app/templates/components/forms/wizard/sessions-speakers-step.hbs +++ b/app/templates/components/forms/wizard/sessions-speakers-step.hbs @@ -316,7 +316,7 @@ {{else}}
{{/if}} - {{!-- Commented out until issue #3598 is solved and needs thorough testing. + {{#each complexCustomForms as |form|}} {{form.isComplex}}
@@ -354,7 +354,7 @@ {{/each}} - --}} +
- {{#if isMenuOpen}} - {{public/side-menu class='toggle menu' event=model}} + {{#if displaySideMenu}} + + {{#if isMenuOpen}} + {{public/side-menu class='toggle menu' event=model}} + {{/if}} {{/if}} {{else}} {{#ui-sticky context='#public-event-content' observeChanges=true}} From 41335dd3a9427f61a0afd3cf081a5f5ff6c4e208 Mon Sep 17 00:00:00 2001 From: Sundaram Dubey <56407566+maze-runnar@users.noreply.github.com> Date: Sun, 22 Dec 2019 19:28:54 +0530 Subject: [PATCH 16/23] fix: fixing weird vertical shift (#3645) * fixing weird vertical shift * bringing if at correct position Co-authored-by: Kush Trivedi --- app/templates/events/view.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/templates/events/view.hbs b/app/templates/events/view.hbs index e8373a35d3b..7a861ced31b 100644 --- a/app/templates/events/view.hbs +++ b/app/templates/events/view.hbs @@ -1,4 +1,4 @@ -{{#if (or (eq session.currentRouteName 'events.view.index') (eq session.currentRouteName 'events.view.export'))}} +{{#if (and (or (eq session.currentRouteName 'events.view.index') (eq session.currentRouteName 'events.view.export')) (gt unverified-user-message.length 0))}} {{#if (eq model.state 'draft')}}
From d8420a3dfc84d82b477c0cd138f4d51c12ccf9df Mon Sep 17 00:00:00 2001 From: Kush Trivedi Date: Sun, 22 Dec 2019 19:32:45 +0530 Subject: [PATCH 17/23] fix: Email Override possible for all users (#3701) --- app/components/forms/session-speaker-form.js | 9 +++++++++ app/routes/public.js | 2 +- .../components/forms/session-speaker-form.hbs | 12 ++++++++---- app/templates/public/cfs/edit-speaker.hbs | 2 +- app/templates/public/cfs/new-speaker.hbs | 2 +- 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/app/components/forms/session-speaker-form.js b/app/components/forms/session-speaker-form.js index a6e15b98cf7..a126c9ad382 100644 --- a/app/components/forms/session-speaker-form.js +++ b/app/components/forms/session-speaker-form.js @@ -501,6 +501,15 @@ export default Component.extend(FormMixin, { return this.speakers.length === 1; }), + isUserOwnerOrAdmin: computed('event.owner.email', 'authManager.currentUser', function() { + return (this.authManager.currentUser.isAnAdmin || (this.event.owner.get('email') === this.authManager.currentUser.get('email'))); + }), + + isUserOrganiser: computed('event.organizers', 'authManager.currentUser', function() { + let { currentUser } = this.authManager; + return this.event.organizers.includes(currentUser); + }), + // Clicking on the add speaker button creates a blank record which increases the length of the session's list by 1. noSessionExists: computed('sessions', function() { return this.sessions.length === 1; diff --git a/app/routes/public.js b/app/routes/public.js index 291e2f836c1..ee490bf381e 100644 --- a/app/routes/public.js +++ b/app/routes/public.js @@ -8,7 +8,7 @@ export default Route.extend({ model(params) { return this.store.findRecord('event', params.event_id, { - include: 'social-links,event-copyright,speakers-call,tax' + include: 'social-links,event-copyright,speakers-call,tax,owner,organizers' }); } }); diff --git a/app/templates/components/forms/session-speaker-form.hbs b/app/templates/components/forms/session-speaker-form.hbs index b09d5cf11f7..c26082079fc 100644 --- a/app/templates/components/forms/session-speaker-form.hbs +++ b/app/templates/components/forms/session-speaker-form.hbs @@ -122,8 +122,10 @@ {{widgets/forms/rich-text-editor value=(mut (get data.speaker field.fieldIdentifier)) textareaId=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}} {{else if (eq field.fieldIdentifier 'email')}} - {{ui-checkbox label=(t 'Do not require email for this speaker.') checked=data.speaker.isEmailOverridden - onChange=(action (mut data.speaker.isEmailOverridden))}} + {{#if (or isUserOwnerOrAdmin isUserOrganiser)}} + {{ui-checkbox label=(t 'Do not require email for this speaker.') checked=data.speaker.isEmailOverridden + onChange=(action (mut data.speaker.isEmailOverridden))}} + {{/if}} {{#if (not data.speaker.isEmailOverridden)}} {{input type=field.type value=(mut (get data.speaker field.fieldIdentifier)) id=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}} @@ -193,8 +195,10 @@ {{widgets/forms/rich-text-editor value=(mut (get data.speaker field.fieldIdentifier)) textareaId=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}} {{else if (eq field.fieldIdentifier 'email')}} - {{ui-checkbox label=(t 'Do not require email for this speaker.') checked=data.speaker.isEmailOverridden - onChange=(action (mut data.speaker.isEmailOverridden))}} + {{#if (or isUserOwnerOrAdmin isUserOrganiser)}} + {{ui-checkbox label=(t 'Do not require email for this speaker.') checked=data.speaker.isEmailOverridden + onChange=(action (mut data.speaker.isEmailOverridden))}} + {{/if}} {{#if (not data.speaker.isEmailOverridden)}} {{input type=field.type value=(mut (get data.speaker field.fieldIdentifier)) id=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}} diff --git a/app/templates/public/cfs/edit-speaker.hbs b/app/templates/public/cfs/edit-speaker.hbs index d65cd0e8248..7ebd5fc443c 100644 --- a/app/templates/public/cfs/edit-speaker.hbs +++ b/app/templates/public/cfs/edit-speaker.hbs @@ -4,7 +4,7 @@ {{t 'Edit Speaker'}}
- {{forms/session-speaker-form fields=model.forms data=model isLoading=isLoading + {{forms/session-speaker-form fields=model.forms event=model.event data=model isLoading=isLoading save=(action 'save') isSpeaker=true includeSpeaker=true}}
diff --git a/app/templates/public/cfs/new-speaker.hbs b/app/templates/public/cfs/new-speaker.hbs index 3ea97f75c6d..6ad8e5f1e30 100644 --- a/app/templates/public/cfs/new-speaker.hbs +++ b/app/templates/public/cfs/new-speaker.hbs @@ -4,7 +4,7 @@ {{t 'Speaker Details'}}
- {{forms/session-speaker-form fields=model.forms data=model isLoading=isLoading + {{forms/session-speaker-form fields=model.forms event=model.event data=model isLoading=isLoading save=(action 'save') isSpeaker=true includeSpeaker=true isCFS=true}}
From dd4a9978eb0f22e2185ec5cc02290b6f6a714481 Mon Sep 17 00:00:00 2001 From: HIMANSHU ASWAL Date: Sun, 22 Dec 2019 19:33:29 +0530 Subject: [PATCH 18/23] fix: appname for mobile screen (#3715) --- app/templates/components/nav-bar.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/templates/components/nav-bar.hbs b/app/templates/components/nav-bar.hbs index eaeda1ac414..b2d1a16e832 100644 --- a/app/templates/components/nav-bar.hbs +++ b/app/templates/components/nav-bar.hbs @@ -48,7 +48,7 @@ {{#link-to 'index' class='item' activeClass=''}} -
{{config.appName}}
+
{{settings.appName}}
{{/link-to}}