Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-32256

GraphQL field validation throws exception without "eng-GB" language

    XMLWordPrintable

Details

    Description

      STR:
      1. On clean install, replace `eng-GB` language to `eng-US`. You can use SQL to speed it up (instead of doing it manually in admin):

      UPDATE `ezcontentclass`
                  SET `serialized_name_list` = REPLACE(`serialized_name_list`, "eng-GB", "eng-US")
                  WHERE `serialized_name_list` LIKE "%eng-GB%";
      
                  UPDATE `ezcontentclass`
                  SET `serialized_description_list` = REPLACE(`serialized_description_list`, "eng-GB", "eng-US")
                  WHERE `serialized_description_list` LIKE "%eng-GB%";
                  
                  UPDATE `ezcontentclass_attribute`
                  SET `serialized_name_list` = REPLACE(`serialized_name_list`, "eng-GB", "eng-US")
                  WHERE `serialized_name_list` LIKE "%eng-GB%";
                  
                  UPDATE `ezcontentclass_attribute`
                  SET `serialized_description_list` = REPLACE(`serialized_description_list`, "eng-GB", "eng-US")
                  WHERE `serialized_description_list` LIKE "%eng-GB%";
                  
                  UPDATE `ezcontentclass_name`
                  SET `language_locale` = "eng-US"
                  WHERE `language_locale`="eng-GB";
                  
                  UPDATE ezcontentobject_attribute
                  SET `language_code` = "eng-US"
                  WHERE `language_code`="eng-GB";
                  
                  UPDATE ezcontentobject_attribute
                  SET `data_text` = REPLACE(`data_text`, "eng-GB", "eng-US")
                  WHERE `data_text` LIKE "%eng-GB%";
                  
                  UPDATE ezcontentobject_name
                  SET `content_translation`="eng-US", `real_translation`="eng-US"
                  WHERE `content_translation`="eng-GB";
                  
                  UPDATE `ezcontent_language`
                  SET `locale` ="eng-US", `name`="English (American)"
                  WHERE `locale`="eng-GB";
      

      2. Regenerate graphql schema
      3. Send graphql request with invalid field, for example:

      mutation createUser {
        createUser(parentLocationId: 2, language: eng_US, input: {
          firstName: ""
          lastName: "test l"
          userAccount: "test@test.test"
        }) {
          id
        }
      }
      

      AR:
      PHP Notice message returned:

      "errors": [
          {
            "debugMessage": "Notice: Undefined index: eng-GB",
            "message": "Internal server Error",
      

      ER:
      Message about field validation fail returned:

      "errors": [
          {
            "message": "Field 'first_name' failed validation: Value for required field definition 'first_name' with language 'eng-US' is empty",
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            9617ee47-cb27-4291-b8b8-676aa93a5338@accounts.ibexa.co Ivan Ternovtsiy
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: