Skip to content

Commit

Permalink
Merge branch 'main' into fix/forms_1410_ext-api-no-ministry
Browse files Browse the repository at this point in the history
  • Loading branch information
usingtechnology committed Aug 13, 2024
2 parents e26167d + 1b65a85 commit 966603f
Show file tree
Hide file tree
Showing 55 changed files with 944 additions and 188 deletions.
2 changes: 1 addition & 1 deletion app/frontend/src/components/base/BaseFilter.vue
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ const inputFilter = ref('');
const inputFilterPlaceholder =
properties.inputFilterPlaceholder || t('trans.baseFilter.exampleText2');
const inputSaveButtonText =
properties.inputFilterPlaceholder || t('trans.baseFilter.filter');
properties.inputSaveButtonText || t('trans.baseFilter.filter');
const selectedData = ref([]);
const { isRTL } = storeToRefs(useFormStore());
Expand Down
49 changes: 33 additions & 16 deletions app/frontend/src/components/designer/FormViewer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ export default {
submissionRecord: {},
version: 0,
versionIdToSubmitTo: this.versionId,
isAuthorized: true,
};
},
computed: {
Expand All @@ -130,6 +131,9 @@ export default {
formScheduleExpireMessage() {
return this.$t('trans.formViewer.formScheduleExpireMessage');
},
formUnauthorizedMessage() {
return this.$t('trans.formViewer.formUnauthorizedMessage');
},
NOTIFICATIONS_TYPES() {
return NotificationTypes;
},
Expand Down Expand Up @@ -190,7 +194,6 @@ export default {
this.showModal = true;
await this.getFormSchema();
}
window.addEventListener('beforeunload', this.beforeWindowUnload);
this.reRenderFormIo += 1;
Expand Down Expand Up @@ -403,19 +406,22 @@ export default {
}
} catch (error) {
if (this.authenticated) {
this.isFormScheduleExpired = true;
this.isLateSubmissionAllowed = false;
this.formScheduleExpireMessage = error.message;
this.addNotification({
text: this.$t('trans.formViewer.fecthingFormErrMsg'),
consoleError: this.$t(
'trans.formViewer.fecthingFormConsoleErrMsg',
{
versionId: this.versionId,
error: error,
}
),
});
// if 401 error, the user is not authorized to view the form
if (error.response && error.response.status === 401) {
this.isAuthorized = false;
} else {
// throw a generic error message
this.addNotification({
text: this.$t('trans.formViewer.fecthingFormErrMsg'),
consoleError: this.$t(
'trans.formViewer.fecthingFormConsoleErrMsg',
{
versionId: this.versionId,
error: error,
}
),
});
}
}
}
},
Expand Down Expand Up @@ -1144,7 +1150,18 @@ export default {
<template>
<v-skeleton-loader :loading="loadingSubmission" type="article, actions">
<v-container fluid>
<div v-if="isFormScheduleExpired">
<div v-if="!isAuthorized">
<v-alert
:text="formUnauthorizedMessage"
prominent
type="error"
:class="{ 'dir-rtl': isRTL }"
:lang="locale"
>
</v-alert>
</div>
<div v-else-if="isFormScheduleExpired">
<v-alert
:text="
isLateSubmissionAllowed
Expand All @@ -1159,7 +1176,7 @@ export default {
</v-alert>
<div v-if="isLateSubmissionAllowed">
<v-col cols="3" md="2">
<v-col cols="12" md="6">
<v-btn
color="primary"
:class="{ 'dir-rtl': isRTL }"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,9 +170,21 @@ defineExpose({ idpType, userTypeChanged, updateLoginType });
</v-expand-transition>
<v-radio :value="ID_MODE.TEAM">
<template #label>
<span :class="{ 'mr-2': isRTL }" :lang="locale">
{{ $t('trans.formSettings.specificTeamMembers') }}
</span>
<v-tooltip location="bottom">
<template #activator="{ props }">
<span :class="{ 'mr-2': isRTL }" :lang="locale">
{{ $t('trans.formSettings.specificTeamMembers') }}
</span>
<v-icon
color="primary"
class="ml-3"
:class="{ 'mr-2': isRTL }"
v-bind="props"
icon="mdi:mdi-help-circle-outline"
/>
</template>
<span>{{ $t('trans.formSettings.teamMemberTooltip') }}</span>
</v-tooltip>
</template>
</v-radio>
</v-radio-group>
Expand Down
15 changes: 14 additions & 1 deletion app/frontend/src/components/forms/PrintOptions.vue
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ export default {
defaultReportname: '',
displayTemplatePrintButton: false,
isValidFile: true,
fileInputKey: 0,
validFileExtensions: ['txt', 'docx', 'html', 'odt', 'pptx', 'xlsx'],
defaultExportFileTypes: ['pdf'],
uploadExportFileTypes: ['pdf'],
Expand Down Expand Up @@ -184,6 +185,7 @@ export default {
? disposition.substring(disposition.indexOf('filename=') + 9)
: undefined;
},
createDownload(blob, filename = undefined) {
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
Expand Down Expand Up @@ -256,6 +258,7 @@ export default {
this.loading = false;
}
},
createBody(content, contentFileType, outputFileName, outputFileType) {
return {
options: {
Expand All @@ -270,6 +273,7 @@ export default {
},
};
},
async fetchDefaultTemplate() {
// Calling the API to check whether the form has any uploaded document templates
this.loading = true;
Expand Down Expand Up @@ -313,6 +317,7 @@ export default {
this.loading = false;
}
},
validateFileExtension(event) {
if (event.length > 0) {
const fileExtension = event[0].name.split('.').pop();
Expand All @@ -325,6 +330,7 @@ export default {
this.uploadExportFileTypes = ['pdf'];
// reset the v-select value
this.templateForm.outputFileType = null;
if (this.validFileExtensions.includes(fileExtension)) {
this.isValidFile = true;
} else {
Expand All @@ -341,6 +347,12 @@ export default {
this.isValidFile = true;
}
},
handleFileUpload(event) {
this.fileInputKey += 1;
this.templateForm.files = event;
this.validateFileExtension(event);
},
},
};
</script>
Expand Down Expand Up @@ -475,6 +487,7 @@ export default {
value="upload"
></v-radio>
<v-file-input
:key="fileInputKey"
v-model="templateForm.files"
:class="{ label: isRTL }"
:style="isRTL ? { gap: '10px' } : null"
Expand All @@ -489,7 +502,7 @@ export default {
:lang="locale"
:rules="validationRules"
:disabled="selectedOption !== 'upload'"
@update:model-value="validateFileExtension($event)"
@update:model-value="handleFileUpload"
/>
<v-select
v-if="selectedOption === 'upload'"
Expand Down
4 changes: 3 additions & 1 deletion app/frontend/src/internationalization/trans/chefs/ar/ar.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
"referenceGuideB": "دليل المستخدم",
"referenceGuideC": "لمزيد من التفاصيل",
"specificTeamMembers": "أعضاء الفريق المحدد",
"teamMemberTooltip": "أضف أعضاء الفريق من إعدادات إدارة الفريق بعد إنشاء هذا النموذج.",
"formFunctionality": "وظيفة الشكل",
"formSubmissinScheduleMsg": "سيكون جدول تقديم النموذج متاحًا في \"إعدادات النموذج\" بعد نشر النموذج.",
"formSubmissionsSchedule": "جدول تقديم النموذج",
Expand Down Expand Up @@ -829,7 +830,8 @@
"errorSavingFile": "خطأ في حفظ الملفات. اسم الملف: {fileName}. خطأ: {error}",
"submittingDraftErrMsg": "حدث خطأ أثناء حفظ المسودة",
"submittingDraftConsErrMsg": "خطأ في حفظ المسودة. معرف التقديم: {submitId}. خطأ: {error}",
"formDraftAccessErrMsg": "تم إرسال طلب التقديم بالفعل ، مع إعادة التوجيه إلى صفحة العرض"
"formDraftAccessErrMsg": "تم إرسال طلب التقديم بالفعل ، مع إعادة التوجيه إلى صفحة العرض",
"formUnauthorizedMessage": "غير مخول لك مشاهدة هذا النموذج، يرجى الاتصال بمالك النموذج للحصول على الوصول."
},
"bCGovFooter": {
"home": "بيت",
Expand Down
4 changes: 3 additions & 1 deletion app/frontend/src/internationalization/trans/chefs/de/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
"referenceGuideB": "Benutzerhandbuch",
"referenceGuideC": "für mehr Details",
"specificTeamMembers": "Spezifische Teammitglieder",
"teamMemberTooltip": "Fügen Sie Teammitglieder aus den Teamverwaltungseinstellungen hinzu, nachdem Sie dieses Formular erstellt haben.",
"formFunctionality": "Formularfunktionalität",
"formSubmissinScheduleMsg": "Der Formulareinreichungsplan ist in den Formulareinstellungen verfügbar, nachdem das Formular veröffentlicht wurde.",
"formSubmissionsSchedule": "Zeitplan für Formulareinreichungen",
Expand Down Expand Up @@ -830,7 +831,8 @@
"errorSavingFile": "Fehler beim Speichern der Dateien. Dateiname: {fileName}. Fehler: {error}",
"submittingDraftErrMsg": "Beim Speichern eines Entwurfs ist ein Fehler aufgetreten",
"submittingDraftConsErrMsg": "Fehler beim Speichern des Entwurfs. Einreichungs-ID: {submissionId}. Fehler: {error}",
"formDraftAccessErrMsg": "Die angeforderte Übermittlung wurde bereits übermittelt und wird zur Ansichtsseite weitergeleitet"
"formDraftAccessErrMsg": "Die angeforderte Übermittlung wurde bereits übermittelt und wird zur Ansichtsseite weitergeleitet",
"formUnauthorizedMessage": "Sie sind nicht berechtigt, dieses Formular anzusehen. Bitte kontaktieren Sie den Formulareigentümer für den Zugang."
},
"bCGovFooter": {
"home": "Heim",
Expand Down
4 changes: 3 additions & 1 deletion app/frontend/src/internationalization/trans/chefs/en/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@
"referenceGuideB": "user guide",
"referenceGuideC": "for more details",
"specificTeamMembers": "Specific Team Members",
"teamMemberTooltip": "Add team members from the Team Management settings after creating this form.",
"formFunctionality": "Form Functionality",
"formSubmissinScheduleMsg": "The Form Submissions Schedule will be available in the Form Settings after the form is published.",
"formSubmissionsSchedule": "Form Submissions Schedule",
Expand Down Expand Up @@ -882,7 +883,8 @@
"errorSavingFile": "Error saving files. Filename: {fileName}. Error: {error}",
"submittingDraftErrMsg": "An error occurred while saving a draft",
"submittingDraftConsErrMsg": "Error saving draft. SubmissionId: {submissionId}. Error: {error}",
"formDraftAccessErrMsg": "Requested submission is already submitted, redirecting to View page"
"formDraftAccessErrMsg": "Requested submission is already submitted, redirecting to View page",
"formUnauthorizedMessage": "You are not authorized to view this form, please contact the form owner for access."
},
"bCGovFooter": {
"home": "Home",
Expand Down
4 changes: 3 additions & 1 deletion app/frontend/src/internationalization/trans/chefs/es/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
"referenceGuideB": "guía del usuario",
"referenceGuideC": "para más detalles",
"specificTeamMembers": "Miembros del equipo específicos",
"teamMemberTooltip": "Añade miembros del equipo desde la configuración de Gestión de Equipos después de crear este formulario.",
"formFunctionality": "Funcionalidad de formulario",
"formSubmissinScheduleMsg": "El programa de envío de formularios estará disponible en la configuración del formulario después de que se publique el formulario.",
"formSubmissionsSchedule": "Calendario de envío de formularios",
Expand Down Expand Up @@ -829,7 +830,8 @@
"errorSavingFile": "Error al guardar archivos. Nombre de archivo: {fileName}. Error: {error}",
"submittingDraftErrMsg": "Se produjo un error al guardar un borrador",
"submittingDraftConsErrMsg": "Error al guardar el borrador. Id de envío: {submissionId}. Error: {error}",
"formDraftAccessErrMsg": "El envío solicitado ya se envió, redirigiendo a la página Ver"
"formDraftAccessErrMsg": "El envío solicitado ya se envió, redirigiendo a la página Ver",
"formUnauthorizedMessage": "No tienes autorización para ver este formulario, por favor contacta al propietario del formulario para acceder."
},
"bCGovFooter": {
"home": "Hogar",
Expand Down
4 changes: 3 additions & 1 deletion app/frontend/src/internationalization/trans/chefs/fa/fa.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
"referenceGuideB": "راهنمای کاربر",
"referenceGuideC": "برای جزئیات بیشتر",
"specificTeamMembers": "اعضای تیم خاص",
"teamMemberTooltip": "پس از ایجاد این فرم، اعضای تیم را از تنظیمات مدیریت تیم اضافه کنید.",
"formFunctionality": "عملکرد فرم",
"formSubmissinScheduleMsg": "پس از انتشار فرم، برنامه ارسال فرم در تنظیمات فرم در دسترس خواهد بود.",
"formSubmissionsSchedule": "جدول ارسال فرم ها",
Expand Down Expand Up @@ -829,7 +830,8 @@
"errorSavingFile": "خطا در ذخیره فایل ها. نام فایل: {fileName}. خطا: {error}",
"submittingDraftErrMsg": "هنگام ذخیره پیش نویس خطایی روی داد",
"submittingDraftConsErrMsg": "خطا در ذخیره پیش نویس. SubmissionId: {submissionId}. خطا: {error}",
"formDraftAccessErrMsg": "ارسال درخواستی قبلا ارسال شده است، به صفحه مشاهده هدایت می شود"
"formDraftAccessErrMsg": "ارسال درخواستی قبلا ارسال شده است، به صفحه مشاهده هدایت می شود",
"formUnauthorizedMessage": "شما مجاز به مشاهده این فرم نیستید، لطفاً برای دسترسی با مالک فرم تماس بگیرید."
},
"bCGovFooter": {
"home": "صفحه اصلی",
Expand Down
4 changes: 3 additions & 1 deletion app/frontend/src/internationalization/trans/chefs/fr/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
"referenceGuideB": "mode d'emploi",
"referenceGuideC": "pour plus de détails",
"specificTeamMembers": "Membres spécifiques de l'équipe",
"teamMemberTooltip": "Ajoutez des membres de l'équipe depuis les paramètres de Gestion d'Équipe après avoir créé ce formulaire.",
"formFunctionality": "Fonctionnalité du formulaire",
"formSubmissinScheduleMsg": "Le calendrier de soumission des formulaires sera disponible dans les paramètres du formulaire après la publication du formulaire.",
"formSubmissionsSchedule": "Calendrier de soumission des formulaires",
Expand Down Expand Up @@ -829,7 +830,8 @@
"errorSavingFile": "Erreur lors de l'enregistrement des fichiers. Nom de fichier : {fileName}. Erreur : {error}",
"submittingDraftErrMsg": "Une erreur s'est produite lors de l'enregistrement d'un brouillon",
"submittingDraftConsErrMsg": "Erreur lors de l'enregistrement du brouillon. ID de soumission : {submissionId}. Erreur : {error}",
"formDraftAccessErrMsg": "La soumission demandée est déjà soumise, redirigeant vers la page Afficher"
"formDraftAccessErrMsg": "La soumission demandée est déjà soumise, redirigeant vers la page Afficher",
"formUnauthorizedMessage": "Vous n'êtes pas autorisé à voir ce formulaire, veuillez contacter le propriétaire du formulaire pour accéder."
},
"bCGovFooter": {
"home": "Maison",
Expand Down
4 changes: 3 additions & 1 deletion app/frontend/src/internationalization/trans/chefs/hi/hi.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
"referenceGuideB": "उपयोगकर्ता गाइड",
"referenceGuideC": "अधिक जानकारी के लिए",
"specificTeamMembers": "विशिष्ट टीम के सदस्य",
"teamMemberTooltip": "इस फॉर्म को बनाने के बाद टीम प्रबंधन सेटिंग्स से टीम के सदस्यों को जोड़ें।",
"formFunctionality": "फॉर्म की कार्यक्षमता",
"formSubmissinScheduleMsg": "फॉर्म सबमिशन शेड्यूल फॉर्म प्रकाशित होने के बाद फॉर्म सेटिंग्स में उपलब्ध होगा।",
"formSubmissionsSchedule": "फॉर्म जमा करने की अनुसूची",
Expand Down Expand Up @@ -829,7 +830,8 @@
"errorSavingFile": "फ़ाइलें सहेजने में त्रुटि. फ़ाइल का नाम: {fileName}. त्रुटि: {error}",
"submittingDraftErrMsg": "ड्राफ्ट सहेजते समय एक त्रुटि उत्पन्न हुई",
"submittingDraftConsErrMsg": "ड्राफ्ट सहेजने में त्रुटि. सबमिशनआईडी: {submissionId}। त्रुटि: {error}",
"formDraftAccessErrMsg": "अनुरोधित सबमिशन पहले ही सबमिट किया जा चुका है, व्यू पेज पर रीडायरेक्ट किया जा रहा है"
"formDraftAccessErrMsg": "अनुरोधित सबमिशन पहले ही सबमिट किया जा चुका है, व्यू पेज पर रीडायरेक्ट किया जा रहा है",
"formUnauthorizedMessage": "आप इस फॉर्म को देखने के लिए अधिकृत नहीं हैं, कृपया पहुँच प्राप्त करने के लिए फॉर्म के मालिक से संपर्क करें।"
},
"bCGovFooter": {
"home": "घर",
Expand Down
4 changes: 3 additions & 1 deletion app/frontend/src/internationalization/trans/chefs/it/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
"referenceGuideB": "guida utente",
"referenceGuideC": "per ulteriori dettagli",
"specificTeamMembers": "Membri specifici del team",
"teamMemberTooltip": "Aggiungi membri del team dalle impostazioni di Gestione del Team dopo aver creato questo modulo.",
"formFunctionality": "Funzionalità della forma",
"formSubmissinScheduleMsg": "Il programma di invio del modulo sarà disponibile nelle Impostazioni del modulo dopo la pubblicazione del modulo.",
"formSubmissionsSchedule": "Programma di invio dei moduli",
Expand Down Expand Up @@ -829,7 +830,8 @@
"errorSavingFile": "Errore durante il salvataggio dei file. nome file: {fileName}. Errore: {error}",
"submittingDraftErrMsg": "Si è verificato un errore durante il salvataggio di una bozza",
"submittingDraftConsErrMsg": "Errore durante il salvataggio della bozza. SubmissionId: {submissionId}. Errore: {error}",
"formDraftAccessErrMsg": "L'invio richiesto è già stato inviato, reindirizzamento alla pagina Visualizza"
"formDraftAccessErrMsg": "L'invio richiesto è già stato inviato, reindirizzamento alla pagina Visualizza",
"formUnauthorizedMessage": "Non sei autorizzato a visualizzare questo modulo, si prega di contattare il proprietario del modulo per l'accesso."
},
"bCGovFooter": {
"home": "Casa",
Expand Down
4 changes: 3 additions & 1 deletion app/frontend/src/internationalization/trans/chefs/ja/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
"referenceGuideB": "ユーザーガイド",
"referenceGuideC": "詳細については",
"specificTeamMembers": "特定のチームメンバー",
"teamMemberTooltip": "このフォームを作成した後、チーム管理設定からチームメンバーを追加してください。",
"formFunctionality": "フォーム機能",
"formSubmissinScheduleMsg": "フォーム送信スケジュールは、フォームが公開された後、フォーム設定で利用できるようになります。",
"formSubmissionsSchedule": "フォーム送信スケジュール",
Expand Down Expand Up @@ -829,7 +830,8 @@
"errorSavingFile": "ファイルの保存中にエラーが発生しました。ファイル名: {fileName}。エラー: {error}",
"submittingDraftErrMsg": "下書きの保存中にエラーが発生しました",
"submittingDraftConsErrMsg": "下書きの保存中にエラーが発生しました。送信 ID: {submissionId}。エラー: {error}",
"formDraftAccessErrMsg": "リクエストされた送信はすでに送信されており、[表示] ページにリダイレクトされます。"
"formDraftAccessErrMsg": "リクエストされた送信はすでに送信されており、[表示] ページにリダイレクトされます。",
"formUnauthorizedMessage": "このフォームを表示する権限がありません。アクセスするにはフォームの所有者に連絡してください。"
},
"bCGovFooter": {
"home": "",
Expand Down
Loading

0 comments on commit 966603f

Please sign in to comment.