cds-snc / platform-forms-client

NextJS application that serves the public-facing website for Forms
https://forms-staging.cdssandbox.xyz/
MIT License
34 stars 13 forks source link

Config file being changed after upload #430

Closed srtalbot closed 3 years ago

srtalbot commented 3 years ago

Form: https://forms-staging.cdssandbox.xyz/id/80

Issue: The config file is being changed once the form is uploaded. Issues below

For config file on the form, see: https://forms-staging.cdssandbox.xyz/id/80/settings

Config file should go to 26 IDs. See #forms-dev for JSON file.

srtalbot commented 3 years ago

Form: https://forms-staging.cdssandbox.xyz/id/80

Issue: The config file is being changed once the form is uploaded. Issues below

For config file on the form, see: https://forms-staging.cdssandbox.xyz/id/80/settings

What the config file should read:

{ "form": { "layout": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 ], "endPage": { "referrerUrlEn": "https://catalogue.servicecanada.gc.ca/content/EForms/en/Detail.html?Form=EMP5670", "referrerUrlFr": "https://catalogue.servicecanada.gc.ca/content/EForms/fr/Detail.html?Form=EMP5670" }, "titleEn": "(TEST FORM) Grant Application for Funding – Enabling Accessibility Fund (EAF) - Small Projects Component", "titleFr": "(FORMULAIRE DE TEST) Demande de financement de subvention - Initiative pour appuyer les communautés noires du Canada (ACNC)", "version": 1, "elements": [ { "id": 1, "type": "richText", "properties": { "charLimit": 5000, "validation": { "required": false }, "descriptionEn": "###Enabling Accessibility Fund (EAF) - Small Projects Component \n The Enabling Accessibility Fund provides funding for eligible capital projects that increase accessibility for people with disabilities in Canadian communities and workplaces. It creates more opportunities for people with disabilities to participate in community activities, programs and services, or access employment opportunities.", "descriptionFr": "###Fonds pour l’accessibilité (FA) - Projets de petite envergure \n Le Fonds pour l’accessibilité (FA) offre du financement pour les projets qui rendent les collectivités et les milieux de travail plus accessibles aux personnes en situation de handicap. Le FA crée des possibilités pour que les personnes en situation de handicap participent aux activités, aux programmes et aux services de leur communauté et accèdent à des possibilités d’emploi." } }, { "id": 2, "type": "radio", "properties": { "choices": [ { "en": "Community accessibility", "fr": "Accessibilité dans les collectivités" }, { "en": "Workplace accessibility", "fr": "Accessibilité en milieu de travail" } ], "titleEn": "Funding Requested", "titleFr": "Financement demandé", "validation": { "required": true } } }, { "id": 3, "type": "checkbox", "properties": { "choices": [ { "en": "Ramp", "fr": "Rampe" }, { "en": "Accessible washroom", "fr": "Toilettes accessibles" }, { "en": "Accessible door", "fr": "Portes accessibles" }, { "en": "Other project", "fr": "Autre projet" } ], "titleEn": "Project category", "titleFr": "Catégorie de projet", "validation": { "required": true }, "description": "Select the appropriate project category below that best describes your project. Note that you may select one or more as applicable." } }, { "id": 4, "type": "richText", "properties": { "titleEn": "Organization Identification", "titleFr": "Identification de l'organisation", "charLimit": 5000, "validation": { "required": false }, "descriptionEn": "", "descriptionFr": "" } }, { "id": 5, "type": "textField", "properties": { "titleEn": "Legal name", "titleFr": "Nom légal", "validation": { "required": true, "type": "text" }, "descriptionEN": "Organization’s full name, as it appears on legal documents", "descriptionFR": "Nom complet de l’organisme, tel qu’il apparaît sur les documents juridiques" } }, { "id": 6, "type": "textField", "properties": { "titleEn": "Canada Revenue Agency (CRA) Business Number", "titleFr": "Numéro d’entreprise de l’Agence du revenu du Canada (ARC)", "validation": { "required": true, "type": "number" }, "description": "(Unique 15-digit number that is assigned to your business or legal entity by CRA)", "placeholderEn": "", "placeholderFr": "" } }, { "id": 7, "type": "richText", "properties": { "charLimit": 1000, "validation": { "required": false }, "descriptionEn": "If you do not have a CRA Business Number, provide one of the following: <br/><br/>For example: Your provincial/territorial corporation number (i.e. number found on your Letters Patent) or your federal corporation number with Industry Canada (see Applicant Guide for further details).", "descriptionFr": "Si vous ne possédez pas de numéro d’entreprise de l’ARC, veuillez fournir un des numéros suivants: <br/><br/> Par exemple : Votre numéro d’entreprise provincial ou territorial (c.-à-d. le numéro qui se trouve dans vos lettres patentes) ou votre numéro d’entreprise fédéral auprès d’Industrie Canada (voir le Guide du demandeur pour en savoir plus)." } }, { "id": 8, "type": "fileInput", "properties": { "titleEn": "Upload separate Documentation", "titleFr": "Téléchargez la documentation séparée", "fileType": "image/*,.pdf,doc.,docx.", "validation": { "required": true }, "descriptionEn": "", "descriptionFr": "" } }, { "id": 9, "type": "richText", "properties": { "titleEn": "Organization Information", "titleFr": "informations sur l'organisation", "charLimit": 5000, "validation": { "required": false }, "descriptionEn": "", "descriptionFr": "" } }, { "id": 10, "type": "dynamicRow", "properties": { "titleEn": "", "titleFr": "", "validation": { "required": true }, "subElements": [ { "id": 11, "type": "radio", "properties": { "choices": [ { "en": "Not-for-profit", "fr": "Sans but lucratif" }, { "en": "Private sector", "fr": "Secteur privé" }, { "en": "Public sector", "fr": "Secteur public" } ], "titleEn": "Organization type", "titleFr": "Type d'organisme", "validation": { "required": true } } }, { "id": 12, "type": "textField", "properties": { "titleEn": "Year established", "titleFr": "Année de fondation", "validation": { "required": true, "type": "number" }, "descriptionEN": "(Year the organization was originally created.)", "descriptionFR": "(Année où l’organisme a été initialement créé)" } }, { "id": 13, "type": "checkbox", "properties": { "choices": [ { "en": "Select all groups", "fr": "Sélectionnez tous les groupes" }, { "en": "Seniors", "fr": "Aînés" }, { "en": "Newcomers", "fr": "Nouveaux arrivants" }, { "en": "Visible Minorities", "fr": "Minorités visibles" } ], "titleEn": "Select the target group(s) that best aligns with your organization’s primary activities", "titleFr": "Sélectionnez le ou les groupes cibles qui cadrent le mieux avec les activités principales de votre organisme", "validation": { "required": false }, "descriptionEN": "Note: your answer to this question will not impact the assessment of your proposed project. (Optional)", "descriptionFR": "Remarque : votre réponse à cette question n’a aucune incidence sur l’évaluation de votre projet.(Facultatif)" } }, { "id": 14, "type": "textArea", "properties": { "titleEn": "Organization's Primary Activities", "titleFr": "Activités principales de l’organisme", "charLimit": 1000, "validation": { "required": true, "type": "text" }, "descriptionEn": " (In no more than 500 words, provide a description of your organization’s primary activities.)", "descriptionFr": " (En 500 mots ou moins, veuillez fournir une description des principales activités de votre" } }, { "id": 15, "type": "textField", "properties": { "titleEn": "Street number and name", "titleFr": "Numéro et nom de rue", "validation": { "required": true, "type": "text" }, "description": "", "placeholderEn": "", "placeholderFr": "" } }, { "id": 16, "type": "dropdown", "properties": { "choices": [ { "en": "Select a province", "fr": "Select a province" }, { "en": "Alberta", "fr": "Alberta" }, { "en": "British Columbia", "fr": "Colombie-Britannique" }, { "en": "Manitoba", "fr": "Manitoba" }, { "en": "New Brunswick", "fr": "Nouveau-Brunswick" }, { "en": "Newfoundland and Labrador", "fr": "Terre-Neuve-et-Labrador" }, { "en": "Northwest Territories", "fr": "Territoires du Nord-Ouest" }, { "en": "Nova Scotia", "fr": "Nouvelle-Écosse" }, { "en": "Nunavut", "fr": "Nunavut" }, { "en": "Ontario", "fr": "Ontario" }, { "en": "Prince Edward Island", "fr": "Île-du-Prince-Édouard" }, { "en": "Quebec", "fr": "Québec" }, { "en": "Saskatchewan", "fr": "Saskatchewan" }, { "en": "Yukon", "fr": "Yukon" } ], "titleEn": "Province or territory", "titleFr": "Province ou territoire", "validation": { "required": true }, "description": "", "placeholderEn": "", "placeholderFr": "" } }, { "id": 17, "type": "textField", "properties": { "titleEn": "Postal Code", "titleFr": "Code postal", "validation": { "required": true, "type": "alphanumeric" }, "description": "E.g.: K1R 2L8", "placeholderEn": "", "placeholderFr": "" } }, { "id": 18, "type": "textField", "properties": { "titleEn": "Primary Contact Name", "titleFr": "nom du contact principal", "validation": { "required": true, "type": "name" }, "description": "", "placeholderEn": "", "placeholderFr": "" } }, { "id": 19, "type": "textField", "properties": { "titleEn": "Telephone Number and Ext.", "titleFr": "Numéro de téléphone et de poste", "validation": { "required": true, "type": "phone" }, "description": "", "placeholderEn": "", "placeholderFr": "" } }, { "id": 20, "type": "textField", "properties": { "titleEn": "E-mail address", "titleFr": "Adresse de courriel", "validation": { "required": true, "type": "email" }, "description": "", "placeholderEn": "", "placeholderFr": "" } }, { "id": 21, "type": "richText", "properties": { "charLimit": 5000, "validation": { "required": false }, "descriptionEn": "Applying with another organization? Add co-sponsor by clicking 'add row' below.", "descriptionFr": "[fr] - Applying with another organization? Add co-sponsor by clicking 'add row' below." } } ] } }, { "id": 22, "type": "richText", "properties": { "titleEn": "Project Proposal Description", "titleFr": "Description de la proposition de project", "charLimit": 500, "validation": { "required": false } } }, { "id": 23, "type": "checkbox", "properties": { "choices": [ { "en": "Yes", "fr": "Oui" } ], "titleEn": "I have read the Applicant Guide and understand the program’s requirements", "titleFr": "J’ai lu le Guide du demandeur et j’ai compris les exigences du programme.", "validation": { "required": true } } }, { "id": 24, "type": "textField", "properties": { "titleEn": "Official Representative Name", "titleFr": "Nom du représentant officiel", "validation": { "required": true } } }, { "id": 25, "type": "textField", "properties": { "titleEn": "Date (YYYY/MM/DD)", "titleFr": "Date (JJ/MM/AAAA)", "validation": { "required": true } } }, { "id": 26, "type": "textArea", "properties": { "titleEn": "Project summary", "titleFr": "Sommaire du projet", "charLimit": 5000, "validation": { "required": true, "type": "text" }, "descriptionEn": " In 500 words or less, describe the need of the proposed project including what it aims to achieve (objective and anticipated results), and who is the targeted group.", "descriptionFr": "En 500 mots ou moins, veuillez décrire le besoin auquel le projet proposé répond, y compris le but visé (objectif et résultats escomptés), et le groupe cible." } } ] }, "submission": { "email": "forms-formularies@cds-snc.ca" }, "internalTitleEn": "TEST FORM Grant Application for Funding – Enabling Accessibility Fund (EAF) - Small Projects Component", "internalTitleFr": "Demande de financement de subvention - Initiative pour appuyer les communautés noires du Canada (ACNC)", "publishingStatus": false }

bryan-robitaille commented 3 years ago

Managed to upload JSON after removing non-required id's from layout (id's internal to dynamic row). I noticed on upload that even though the changes are submitted to the database and rendered on form access the Form Config Upload component itself does not show the latest version of the form and is out of sync. Need to check what data is being rendered to the window.