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 @@ + + + + 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}} 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}} -

- {{t 'Organized by'}} {{model.event.organizerName}} + {{#if model.event.hasOwnerInfo}} +

+ {{t 'Organized by'}} {{model.event.ownerName}}

- {{sanitize model.event.organizerDescription}} + {{sanitize model.event.ownerDescription}} {{/if}}
{{t 'No. of Owners'}}{{model.users.owner}}
{{t 'No. of Organizers'}} {{model.users.organizer}}