diff --git a/app/models/admin-statistics-user.js b/app/models/admin-statistics-user.js
index 4c0b8545b6d..d11a3144fd6 100644
--- a/app/models/admin-statistics-user.js
+++ b/app/models/admin-statistics-user.js
@@ -7,6 +7,7 @@ export default ModelBase.extend({
admin : attr('number'),
verified : attr('number'),
unverified : attr('number'),
+ owner : attr('number'),
organizer : attr('number'),
coorganizer : attr('number'),
attendee : attr('number'),
diff --git a/app/models/event.js b/app/models/event.js
index 0ffdb23bd1c..7efe42b80f4 100644
--- a/app/models/event.js
+++ b/app/models/event.js
@@ -71,10 +71,10 @@ export default ModelBase.extend(CustomPrimaryKeyMixin, {
schedulePublishedOn: attr('moment', { defaultValue: () => moment(0) }),
- hasOrganizerInfo: attr('boolean', { defaultValue: false }),
+ hasOwnerInfo: attr('boolean', { defaultValue: false }),
- organizerName : attr('string'),
- organizerDescription : attr('string'),
+ ownerName : attr('string'),
+ ownerDescription : attr('string'),
externalEventUrl : attr('string'),
ticketUrl : attr('string'),
@@ -120,6 +120,7 @@ export default ModelBase.extend(CustomPrimaryKeyMixin, {
orderStatistics : belongsTo('order-statistics-event'),
roleInvites : hasMany('role-invite'),
+ owner : belongsTo('user', { inverse: null }),
organizers : hasMany('user', { inverse: null }),
coorganizers : hasMany('user', { inverse: null }),
trackOrganizers : hasMany('user', { inverse: null }),
diff --git a/app/models/user.js b/app/models/user.js
index 57763e3efe6..ee2c6a30b86 100644
--- a/app/models/user.js
+++ b/app/models/user.js
@@ -16,6 +16,7 @@ export default ModelBase.extend({
isVerified : attr('boolean', { readOnly: true }),
isSuperAdmin : attr('boolean', { readOnly: true }),
isAdmin : attr('boolean'),
+ isUserOwner : attr('boolean'),
isUserOrganizer : attr('boolean'),
isUserCoorganizer : attr('boolean'),
isUserTrackOrganizer : attr('boolean'),
@@ -72,6 +73,7 @@ export default ModelBase.extend({
speakers : hasMany('speaker'),
discountCodes : hasMany('discount-code'),
accessCodes : hasMany('access-code'),
+ ownerEvents : hasMany('event'),
organizerEvents : hasMany('event'),
coorganizerEvents : hasMany('event'),
trackOrganizerEvents : hasMany('event'),
diff --git a/app/routes/admin/events/list.js b/app/routes/admin/events/list.js
index 5e1208e98b0..b78729ff59a 100644
--- a/app/routes/admin/events/list.js
+++ b/app/routes/admin/events/list.js
@@ -112,7 +112,7 @@ export default Route.extend({
return this.store.query('event', {
get_trashed : true,
- include : 'tickets,sessions,speakers,organizers,coorganizers,track-organizers,registrars,moderators',
+ include : 'tickets,sessions,speakers,owner,organizers,coorganizers,track-organizers,registrars,moderators',
filter : filterOptions,
'page[size]' : 10
});
diff --git a/app/routes/admin/permissions/event-roles.js b/app/routes/admin/permissions/event-roles.js
index 7a4dc069dc3..482edbcda8f 100644
--- a/app/routes/admin/permissions/event-roles.js
+++ b/app/routes/admin/permissions/event-roles.js
@@ -6,9 +6,9 @@ export default Route.extend({
},
async model() {
return {
- roles : ['Attendee', 'Co-organizer', 'Moderator', 'Organizer', 'Track Organizer', 'Registrar'],
+ roles : ['Attendee', 'Co-organizer', 'Moderator', 'Organizer', 'Owner', 'Track Organizer', 'Registrar'],
services : await this.store.query('service', {}),
- permissions : await this.store.query('event-role-permission', { 'page[size]': 30 })
+ permissions : await this.store.query('event-role-permission', { 'page[size]': 35 })
};
}
});
diff --git a/app/routes/events/list.js b/app/routes/events/list.js
index ae9b1d6286c..f2f1717a579 100644
--- a/app/routes/events/list.js
+++ b/app/routes/events/list.js
@@ -77,7 +77,7 @@ export default Route.extend({
}
let queryObject = {
- include : 'tickets,sessions,speakers,organizers,coorganizers,track-organizers,registrars,moderators',
+ include : 'tickets,sessions,speakers,owner,organizers,coorganizers,track-organizers,registrars,moderators',
filter : filterOptions,
'page[size]' : 10
};
diff --git a/app/templates/admin/index.hbs b/app/templates/admin/index.hbs
index 118c1352ea4..12d84638432 100644
--- a/app/templates/admin/index.hbs
+++ b/app/templates/admin/index.hbs
@@ -165,6 +165,10 @@
+
+ | {{t 'No. of Owners'}} |
+ {{model.users.owner}} |
+
| {{t 'No. of Organizers'}} |
{{model.users.organizer}} |
diff --git a/app/templates/components/forms/wizard/basic-details-step.hbs b/app/templates/components/forms/wizard/basic-details-step.hbs
index 5281f1d3e85..be1144c2a77 100644
--- a/app/templates/components/forms/wizard/basic-details-step.hbs
+++ b/app/templates/components/forms/wizard/basic-details-step.hbs
@@ -101,19 +101,19 @@
- {{input type='checkbox' checked=data.event.hasOrganizerInfo id='add_organizer_information'}}
-
+ {{input type='checkbox' checked=data.event.hasOwnerInfo id='add_owner_information'}}
+
- {{#if data.event.hasOrganizerInfo}}
+ {{#if data.event.hasOwnerInfo}}
-
- {{input type='text' id='organizer_name' value=data.event.organizerName}}
+
+ {{input type='text' id='owner_name' value=data.event.ownerName}}
-
- {{widgets/forms/rich-text-editor id='organizer_description' value=data.event.organizerDescription}}
+
+ {{widgets/forms/rich-text-editor id='owner_description' value=data.event.ownerDescription}}
{{/if}}
diff --git a/app/templates/components/orders/event-info.hbs b/app/templates/components/orders/event-info.hbs
index a1be339c9b2..fa4f2072afd 100644
--- a/app/templates/components/orders/event-info.hbs
+++ b/app/templates/components/orders/event-info.hbs
@@ -17,9 +17,9 @@
{{t 'From'}}: {{header-date data.event.startsAt}}
{{t 'To'}}: {{header-date data.event.endsAt}}
- {{#if data.event.organizerName}}
+ {{#if data.event.ownerName}}
- {{t 'Organized By'}}: {{data.event.organizerName}}
+ {{t 'Organized By'}}: {{data.event.ownerName}}
{{/if}}
diff --git a/app/templates/components/orders/organizer-info.hbs b/app/templates/components/orders/organizer-info.hbs
index 995de33d067..379ed530d01 100644
--- a/app/templates/components/orders/organizer-info.hbs
+++ b/app/templates/components/orders/organizer-info.hbs
@@ -1,10 +1,10 @@
-
{{t 'Organizer '}}
+ {{t 'Owner '}}
-
{{data.event.organizerName}}
+ {{data.event.ownerName}}
- {{sanitize data.event.organizerDescription}}
+ {{sanitize data.event.ownerDescription}}
diff --git a/app/templates/components/public/side-menu.hbs b/app/templates/components/public/side-menu.hbs
index 0d7c26471c2..d162f87cd3e 100644
--- a/app/templates/components/public/side-menu.hbs
+++ b/app/templates/components/public/side-menu.hbs
@@ -44,14 +44,14 @@
{{t 'Call for Speakers'}}
{{/link-to}}
{{/if}}
- {{#if event.hasOrganizerInfo}}
+ {{#if event.hasOwnerInfo}}
{{#if (eq session.currentRouteName 'public.index')}}
- {{#scroll-to href='#organizer' class='item'}}
- {{t 'Organizer'}}
+ {{#scroll-to href='#owner' class='item'}}
+ {{t 'Owner'}}
{{/scroll-to}}
{{else}}
-
- {{t 'Organizer'}}
+
+ {{t 'Owner'}}
{{/if}}
{{/if}}
diff --git a/app/templates/components/ui-table/cell/admin/users/cell-event-roles.hbs b/app/templates/components/ui-table/cell/admin/users/cell-event-roles.hbs
index c050f422734..00d4bef86e7 100644
--- a/app/templates/components/ui-table/cell/admin/users/cell-event-roles.hbs
+++ b/app/templates/components/ui-table/cell/admin/users/cell-event-roles.hbs
@@ -2,13 +2,16 @@
{{#if (or record.isAdmin record.isSuperAdmin)}}
{{t 'User has administrative privileges, he has privileges of the following roles for all the events:'}}
- {{t 'Organizer'}}
+ {{t 'Owner'}}
- {{t 'Co organizer'}}
+ {{t 'Organizer'}}
- {{t 'Track Organizer'}}
+ {{t 'Co organizer'}}
+
+
+ {{t 'Track Organizer'}}
{{t 'Registrar'}}
@@ -23,10 +26,17 @@
{{t 'Sales Admin'}}
{{else}}
+ {{#if record.isUserOwner}}
+ {{#each record.ownerEvents as |event|}}
+
+ {{#link-to 'events.view' event.identifier}}{{event.name}}{{/link-to}} - {{t 'Owner'}}
+
+ {{/each}}
+ {{/if}}
{{#if record.isUserOrganizer}}
{{#each record.organizerEvents as |event|}}
- {{#link-to 'events.view' event.identifier}}{{event.name}}{{/link-to}} - {{t 'Organizer'}}
+ {{#link-to 'events.view' event.identifier}}{{event.name}}{{/link-to}} - {{t 'Organizer'}}
{{/each}}
{{/if}}
diff --git a/app/templates/components/ui-table/cell/cell-roles.hbs b/app/templates/components/ui-table/cell/cell-roles.hbs
index 3816ad4b8d6..bcdb2a86718 100644
--- a/app/templates/components/ui-table/cell/cell-roles.hbs
+++ b/app/templates/components/ui-table/cell/cell-roles.hbs
@@ -1,4 +1,5 @@
+
{{record.owner.email}} ({{t 'Owner'}})
{{#each record.organizers as |role|}}
{{role.email}} ({{t 'Organizer'}})
{{/each}}
diff --git a/app/templates/orders/new.hbs b/app/templates/orders/new.hbs
index 8826d61f67b..cc43ccc6eaf 100644
--- a/app/templates/orders/new.hbs
+++ b/app/templates/orders/new.hbs
@@ -31,7 +31,7 @@
{{forms/orders/order-form save='save' data=model.order fields=model.form}}
- {{#if model.order.event.organizerName}}
+ {{#if model.order.event.ownerName}}
{{orders/organizer-info data=model.order}}
diff --git a/app/templates/public/index.hbs b/app/templates/public/index.hbs
index 1997b2bd9c4..83cc77b8d0f 100644
--- a/app/templates/public/index.hbs
+++ b/app/templates/public/index.hbs
@@ -68,11 +68,11 @@
{{/if}}
- {{#if model.event.hasOrganizerInfo}}
-