From 7bef1f4b7f66fcc74c95082fcd3b042011e284c1 Mon Sep 17 00:00:00 2001 From: Schin Chauhan Date: Wed, 13 Jan 2021 01:49:39 +0530 Subject: [PATCH 1/5] roles --- .../events/view/overview/manage-roles.js | 23 +++++++++++- app/models/event.js | 1 + app/models/users-events-role.js | 8 +++++ app/routes/events/view/index.js | 10 ++++-- app/routes/events/view/team/index.ts | 3 ++ .../events/view/overview/manage-roles.hbs | 35 ++++++++++++------- 6 files changed, 64 insertions(+), 16 deletions(-) create mode 100644 app/models/users-events-role.js diff --git a/app/components/events/view/overview/manage-roles.js b/app/components/events/view/overview/manage-roles.js index 06688297570..544f2a20079 100644 --- a/app/components/events/view/overview/manage-roles.js +++ b/app/components/events/view/overview/manage-roles.js @@ -66,7 +66,7 @@ export default class ManageRoles extends Component { } @action - deleteUserRole(invite) { + deleteUserRoleInvite(invite) { this.set('isLoading', true); invite.destroyRecord() .then(() => { @@ -86,6 +86,27 @@ export default class ManageRoles extends Component { }); } + @action + deleteUserRole(eventRole) { + this.set('isLoading', true); + eventRole.destroyRecord() + .then(() => { + this.notify.success(this.l10n.t('Role deleted successfully'), { + id: 'del_role_succ' + }); + this.data.usersEventsRoles.removeObject(eventRole); + }) + .catch(e => { + console.error('Error while deleting role', e); + this.notify.error(this.l10n.t('Oops something went wrong. Please try again'), { + id: 'err_man_role' + }); + }) + .finally(() => { + this.set('isLoading', false); + }); + } + @action filter(type) { this.set('roleType', type); diff --git a/app/models/event.js b/app/models/event.js index a4ffe25660d..e2eb37fae2c 100644 --- a/app/models/event.js +++ b/app/models/event.js @@ -131,6 +131,7 @@ export default class Event extends ModelBase.extend(CustomPrimaryKeyMixin, { trackOrganizers : hasMany('user', { inverse: null }), registrars : hasMany('user', { inverse: null }), moderators : hasMany('user', { inverse: null }), + roles : hasMany('users-events-role'), /** * The discount code applied to this event [Form(1) discount code] diff --git a/app/models/users-events-role.js b/app/models/users-events-role.js new file mode 100644 index 00000000000..062bf01edd5 --- /dev/null +++ b/app/models/users-events-role.js @@ -0,0 +1,8 @@ +import ModelBase from 'open-event-frontend/models/base'; +import { belongsTo} from 'ember-data/relationships'; + +export default ModelBase.extend({ + event : belongsTo('event'), + role : belongsTo('role'), + user : belongsTo('user') +}); diff --git a/app/routes/events/view/index.js b/app/routes/events/view/index.js index 7f2bc75e5df..b1fc3b742c3 100644 --- a/app/routes/events/view/index.js +++ b/app/routes/events/view/index.js @@ -19,6 +19,9 @@ export default class extends Route.extend(EmberTableRouteMixin) { const roleInvitesPromise = eventDetails.query('roleInvites', { include: 'role' }); + const usersEventsRolesPromise = eventDetails.query('roles', { + include: 'user,role' + }); const sessionTypesPromise = eventDetails.query('sessionTypes', {}); const tracksPromise = eventDetails.query('tracks', {}); const microlocationsPromise = eventDetails.query('microlocations', {}); @@ -29,8 +32,8 @@ export default class extends Route.extend(EmberTableRouteMixin) { const ticketsPromise = eventDetails.query('tickets', {}); const [sponsors, roleInvites, sessionTypes, tracks, microlocations, speakersCall, socialLinks, - statistics, orderStat, tickets] = (await allSettled([sponsorsPromise, roleInvitesPromise, sessionTypesPromise, tracksPromise, microlocationsPromise, speakersCallPromise, socialLinksPromise, - statisticsPromise, orderStatPromise, ticketsPromise])).map(result => result.value); + statistics, orderStat, tickets, usersEventsRoles] = (await allSettled([sponsorsPromise, roleInvitesPromise, sessionTypesPromise, tracksPromise, microlocationsPromise, speakersCallPromise, socialLinksPromise, + statisticsPromise, orderStatPromise, ticketsPromise, usersEventsRolesPromise])).map(result => result.value); return { @@ -44,7 +47,8 @@ export default class extends Route.extend(EmberTableRouteMixin) { socialLinks, statistics, orderStat, - tickets + tickets, + usersEventsRoles }; } } diff --git a/app/routes/events/view/team/index.ts b/app/routes/events/view/team/index.ts index bdef2464c76..5fffac06e52 100644 --- a/app/routes/events/view/team/index.ts +++ b/app/routes/events/view/team/index.ts @@ -12,6 +12,9 @@ export default class EventsViewTeamIndex extends Route.extend({ roleInvites: event.query('roleInvites', { include: 'role' }), + usersEventsRoles: event.query('roles', { + include: 'user,role' + }), roles: this.store.findAll('role') }); } diff --git a/app/templates/components/events/view/overview/manage-roles.hbs b/app/templates/components/events/view/overview/manage-roles.hbs index 1d32e2601b3..046cb7d29fc 100644 --- a/app/templates/components/events/view/overview/manage-roles.hbs +++ b/app/templates/components/events/view/overview/manage-roles.hbs @@ -19,12 +19,13 @@ {{t 'User (Email)'}} {{t 'Role'}} - {{#if (and @editable (eq this.roleType 'pending'))}} + {{#if @editable}} {{t 'Options'}} {{/if}} + {{#if (eq this.roleType 'pending')}} {{#each this.roleInvites as |roleInvite|}} {{roleInvite.email}} @@ -32,22 +33,12 @@ {{#if (and @editable (eq this.roleType 'pending'))}}
- {{#if (eq this.roleType 'accepted')}} - - - - {{else}} - {{/if}} - {{#if (eq this.roleType 'pending')}} - {{/if}}
{{/if}} @@ -65,6 +55,27 @@ {{t 'No records to show'}} {{/each}} + {{/if}} + {{#if (eq this.roleType 'accepted')}} + {{#each this.data.usersEventsRoles as |eventRole|}} + + {{eventRole.user.email}} + {{eventRole.role.titleName}} + {{#if (and @editable (not-eq eventRole.role.titleName 'Owner'))}} + +
+ + + +
+ + {{/if}} + + {{/each}} + {{/if}} From 03f36d7158a3e9942deddff887f26cab65168052 Mon Sep 17 00:00:00 2001 From: Schin Chauhan Date: Wed, 13 Jan 2021 01:51:21 +0530 Subject: [PATCH 2/5] fix --- app/models/users-events-role.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/users-events-role.js b/app/models/users-events-role.js index 062bf01edd5..8903e268abf 100644 --- a/app/models/users-events-role.js +++ b/app/models/users-events-role.js @@ -1,5 +1,5 @@ import ModelBase from 'open-event-frontend/models/base'; -import { belongsTo} from 'ember-data/relationships'; +import { belongsTo } from 'ember-data/relationships'; export default ModelBase.extend({ event : belongsTo('event'), From aff547b2f5b61533e78b6fa99e74d8aa5d8e3235 Mon Sep 17 00:00:00 2001 From: Schin Chauhan Date: Wed, 13 Jan 2021 14:24:09 +0530 Subject: [PATCH 3/5] fixs --- .../components/events/view/overview/manage-roles.hbs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/templates/components/events/view/overview/manage-roles.hbs b/app/templates/components/events/view/overview/manage-roles.hbs index 046cb7d29fc..12ddd34ffe2 100644 --- a/app/templates/components/events/view/overview/manage-roles.hbs +++ b/app/templates/components/events/view/overview/manage-roles.hbs @@ -55,13 +55,12 @@ {{t 'No records to show'}} {{/each}} - {{/if}} - {{#if (eq this.roleType 'accepted')}} + {{else}} {{#each this.data.usersEventsRoles as |eventRole|}} {{eventRole.user.email}} {{eventRole.role.titleName}} - {{#if (and @editable (not-eq eventRole.role.titleName 'Owner'))}} + {{#if (and @editable (not-eq eventRole.role.name 'owner'))}}
Date: Thu, 14 Jan 2021 10:16:46 +0530 Subject: [PATCH 4/5] identation --- .../events/view/overview/manage-roles.hbs | 110 +++++++++--------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/app/templates/components/events/view/overview/manage-roles.hbs b/app/templates/components/events/view/overview/manage-roles.hbs index 12ddd34ffe2..3ec696688f4 100644 --- a/app/templates/components/events/view/overview/manage-roles.hbs +++ b/app/templates/components/events/view/overview/manage-roles.hbs @@ -1,13 +1,13 @@
{{t 'Team Members'}}
- {{#if @editable}} - - {{/if}} - {{#if @showLink}} - - - - {{/if}} + {{#if @editable}} + + {{/if}} + {{#if @showLink}} + + + + {{/if}}
@@ -26,54 +26,54 @@ {{#if (eq this.roleType 'pending')}} - {{#each this.roleInvites as |roleInvite|}} - - {{roleInvite.email}} - {{roleInvite.role.titleName}} - {{#if (and @editable (eq this.roleType 'pending'))}} - -
- - - - - - -
- - {{/if}} - + {{#each this.roleInvites as |roleInvite|}} + + {{roleInvite.email}} + {{roleInvite.role.titleName}} + {{#if (and @editable (eq this.roleType 'pending'))}} + +
+ + + + + + +
+ + {{/if}} + + {{else}} +
+ {{t 'No records to show'}} +
+ {{/each}} {{else}} -
- {{t 'No records to show'}} -
- {{/each}} - {{else}} - {{#each this.data.usersEventsRoles as |eventRole|}} - - {{eventRole.user.email}} - {{eventRole.role.titleName}} - {{#if (and @editable (not-eq eventRole.role.name 'owner'))}} - -
- - - -
- - {{/if}} - - {{/each}} + {{#each this.data.usersEventsRoles as |eventRole|}} + + {{eventRole.user.email}} + {{eventRole.role.titleName}} + {{#if (and @editable (not-eq eventRole.role.name 'owner'))}} + +
+ + + +
+ + {{/if}} + + {{/each}} {{/if}} From b3f89c723cfc525e019ab2569dcea714210560a0 Mon Sep 17 00:00:00 2001 From: Areeb Jamal Date: Sun, 17 Jan 2021 04:09:45 +0530 Subject: [PATCH 5/5] Update app/templates/components/events/view/overview/manage-roles.hbs --- .../events/view/overview/manage-roles.hbs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/templates/components/events/view/overview/manage-roles.hbs b/app/templates/components/events/view/overview/manage-roles.hbs index f3963118c35..b0f8eb2e919 100644 --- a/app/templates/components/events/view/overview/manage-roles.hbs +++ b/app/templates/components/events/view/overview/manage-roles.hbs @@ -1,13 +1,13 @@
{{t 'Team Members'}}
- {{#if @editable}} - - {{/if}} - {{#if @showLink}} - - - - {{/if}} + {{#if @editable}} + + {{/if}} + {{#if @showLink}} + + + + {{/if}}