diff --git a/app/graphql/api/v2/stored_query.rb b/app/graphql/api/v2/stored_query.rb index 9860df3d9..ae1fe7c92 100644 --- a/app/graphql/api/v2/stored_query.rb +++ b/app/graphql/api/v2/stored_query.rb @@ -58,6 +58,11 @@ class API::V2::StoredQuery declarative dateCreation dateFermeture + chorusConfiguration { + centreDeCout + domaineFonctionnel + referentielDeProgrammation + } activeRevision @include(if: $includeRevision) { ...RevisionFragment } diff --git a/app/graphql/schema.graphql b/app/graphql/schema.graphql index fd247f0c1..b85bcd664 100644 --- a/app/graphql/schema.graphql +++ b/app/graphql/schema.graphql @@ -375,6 +375,23 @@ type CheckboxChampDescriptor implements ChampDescriptor { type: TypeDeChamp! @deprecated(reason: "Utilisez le champ `__typename` à la place.") } +type ChorusConfiguration { + """ + Le code du centre de cout auquel est rattaché la démarche. + """ + centreDeCout: String + + """ + Le code du domaine fonctionnel auquel est rattaché la démarche. + """ + domaineFonctionnel: String + + """ + Le code du référentiel de programmation auquel est rattaché la démarche.. + """ + referentielDeProgrammation: String +} + enum Civilite { """ Monsieur @@ -852,6 +869,11 @@ type Demarche { annotationDescriptors: [ChampDescriptor!]! @deprecated(reason: "Utilisez le champ `activeRevision.annotationDescriptors` à la place.") champDescriptors: [ChampDescriptor!]! @deprecated(reason: "Utilisez le champ `activeRevision.champDescriptors` à la place.") + """ + Cadre budgétaire Chorus + """ + chorusConfiguration: ChorusConfiguration + """ Date de la création. """ diff --git a/app/graphql/types/chorus_configuration_type.rb b/app/graphql/types/chorus_configuration_type.rb new file mode 100644 index 000000000..cfe096452 --- /dev/null +++ b/app/graphql/types/chorus_configuration_type.rb @@ -0,0 +1,19 @@ +module Types + class ChorusConfigurationType < Types::BaseObject + field :centre_de_cout, String, "Le code du centre de cout auquel est rattaché la démarche.", null: true + field :domaine_fonctionnel, String, "Le code du domaine fonctionnel auquel est rattaché la démarche.", null: true + field :referentiel_de_programmation, String, "Le code du référentiel de programmation auquel est rattaché la démarche..", null: true + + def centre_de_cout + object.centre_de_cout&.fetch("code") { '' } + end + + def domaine_fonctionnel + object.domaine_fonctionnel&.fetch("code") { '' } + end + + def referentiel_de_programmation + object.referentiel_de_programmation&.fetch("code") { '' } + end + end +end diff --git a/app/graphql/types/demarche_type.rb b/app/graphql/types/demarche_type.rb index 319da410d..963837129 100644 --- a/app/graphql/types/demarche_type.rb +++ b/app/graphql/types/demarche_type.rb @@ -61,6 +61,7 @@ module Types field :draft_revision, Types::RevisionType, null: false field :published_revision, Types::RevisionType, null: true field :revisions, [Types::RevisionType], null: false + field :chorus_configuration, Types::ChorusConfigurationType, null: true, description: "Cadre budgétaire Chorus" def state object.aasm.current_state diff --git a/app/models/dossier.rb b/app/models/dossier.rb index d0827dee6..26bacb8c6 100644 --- a/app/models/dossier.rb +++ b/app/models/dossier.rb @@ -1236,7 +1236,7 @@ class Dossier < ApplicationRecord columns += [ ['Domaine Fonctionnel', procedure.chorus_configuration.domaine_fonctionnel&.fetch("code") { '' }], ['Référentiel De Programmation', procedure.chorus_configuration.referentiel_de_programmation&.fetch("code") { '' }], - ['Centre De Coup', procedure.chorus_configuration.centre_de_cout&.fetch("code") { '' }] + ['Centre De Coût', procedure.chorus_configuration.centre_de_cout&.fetch("code") { '' }] ] end columns += [