Skip to content

Commit

Permalink
send and accept invitation
Browse files Browse the repository at this point in the history
  • Loading branch information
ipula committed Apr 15, 2024
1 parent f537b72 commit c12fd76
Show file tree
Hide file tree
Showing 23 changed files with 2,848 additions and 0 deletions.
7 changes: 7 additions & 0 deletions public/globals.js
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,13 @@ window.pkp = {
'submission.upload.percentComplete': 'Uploading {$percent}% complete',
'submissions.incomplete': 'Incomplete',
'validator.required': 'This field is required.',
'invitation.notification.title': 'Invitation sent',
'invitation.wizard.success': "{$email} has been invited to a new role in OJS. You can be updated about the user's decision on the User & Role page, your OJS notification and/or your email",
'user.email': 'Email',
'user.username': 'Username',
'user.orcid': 'ORCID iD',
'invitation.notification.closeBtn':'View all users',
'user.password': 'Password',
},

tinyMCE: {
Expand Down
4 changes: 4 additions & 0 deletions src/components/Container/PageOJS.vue
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
<script>
import Page from '@/components/Container/Page.vue';
import SubmissionsPage from '@/pages/submissions/SubmissionsPage.vue';
import UserInvitationPage from '@/pages/userInvitation/UserInvitationPage.vue';
import AcceptInvitationPage from '@/pages/acceptInvitation/AcceptInvitationPage.vue';
export default {
components: {
SubmissionsPage,
UserInvitationPage,
AcceptInvitationPage,
},
extends: Page,
};
Expand Down
24 changes: 24 additions & 0 deletions src/pages/acceptInvitation/AcceptInvitationCreateUserAccount.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<template>
<field-text v-bind="store.emailField" @change="store.emailChange" />
<br />
<field-text v-bind="store.usernameField" @change="store.usernameChange" />
<br />
<field-text v-bind="store.passwordField" @change="store.passwordChange" />
</template>

<script setup>
import {defineProps} from 'vue';
import FieldText from '@/components/Form/fields/FieldText.vue';
import {useAcceptInvitationPageStore} from './AcceptInvitationPageStore';
defineProps({
section: {
type: Object,
default() {
return null;
},
},
});
const store = useAcceptInvitationPageStore();
</script>
20 changes: 20 additions & 0 deletions src/pages/acceptInvitation/AcceptInvitationCreateUserForms.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<template>
<pkp-form
v-if="section.type === 'form'"
v-bind="section.form"
ref="autosaveForms"
class="userInvitation__stepForm"
@set="store.updateAutosaveForm"
></pkp-form>
</template>

<script setup>
import {defineProps} from 'vue';
import PkpForm from '@/components/Form/Form.vue';
import {useAcceptInvitationPageStore} from './AcceptInvitationPageStore';
defineProps({
section: {type: Object, required: true},
});
const store = useAcceptInvitationPageStore();
</script>
17 changes: 17 additions & 0 deletions src/pages/acceptInvitation/AcceptInvitationHeader.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<template>
<h1 ref="wrapper" class="app__pageHeading">
{{ pageTitle }}
</h1>
<p>
{{ pageTitleDescription }}
</p>
</template>

<script setup>
import {defineProps} from 'vue';
defineProps({
pageTitle: {type: String, required: true},
pageTitleDescription: {type: String, required: true},
});
</script>
9 changes: 9 additions & 0 deletions src/pages/acceptInvitation/AcceptInvitationPage.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import {Primary, Controls, Stories, Meta, ArgTypes} from '@storybook/blocks';

import * as AcceptInvitationPage from './AcceptInvitationPage.stories.js';

<Meta of={AcceptInvitationPage} />

# User Invitation page

<ArgTypes />
28 changes: 28 additions & 0 deletions src/pages/acceptInvitation/AcceptInvitationPage.stories.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import AcceptInvitationPage from './AcceptInvitationPage.vue';
import {http, HttpResponse} from 'msw';
import PageInitConfigMock from './mocks/pageInitConfig';

export default {
title: 'Pages/AcceptInvitation',
component: AcceptInvitationPage,
};

export const Init = {
render: (args) => ({
components: {AcceptInvitationPage},
setup() {
return {args};
},
template: '<AcceptInvitationPage v-bind="args" />',
}),
parameters: {
msw: {
handlers: [
http.post('https://mock/index.php/publicknowledge/api/v1/users', () => {
return HttpResponse.json('accept invitation successfully');
}),
],
},
},
args: PageInitConfigMock,
};

0 comments on commit c12fd76

Please sign in to comment.