Skip to content

Commit

Permalink
Merge pull request #4262 from unicef/allowed_ba_partner_perm_update_n…
Browse files Browse the repository at this point in the history
…ew_branch

Partner permissions and Allowed BA logic update
  • Loading branch information
pkujawa authored Sep 27, 2024
2 parents f3d8b2c + 614b3ad commit c482ed3
Show file tree
Hide file tree
Showing 50 changed files with 2,219 additions and 1,558 deletions.
52 changes: 52 additions & 0 deletions development_tools/compose.selenium.local.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
version: "3.7"

volumes:
backend-data-selenium:
backend-web-app-selenium:
db-selenium-data:
data_es-selenium:

services:
redis:
restart: always
image: redis:4.0.11-alpine3.8
ports:
- 6379:6379

db_selenium:
image: kartoza/postgis:14-3
volumes:
- db-selenium-data:/var/lib/postgresql/data
- ./postgres/init:/docker-entrypoint-initdb.d
environment:
- POSTGRES_MULTIPLE_DATABASES=unicef_hct_mis_cashassist,rdi_datahub,mis_datahub,erp_datahub,ca_datahub
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASS=postgres
- PGUSER=postgres
- POSTGRES_HOST_AUTH_METHOD=trust
- POSTGRES_SSL_MODE=off
ports:
- 5432:5432

elasticsearch:
image: unicef/hct-elasticsearch
container_name: elasticsearch
build:
context: elasticsearch
dockerfile: Dockerfile
environment:
- node.name=es01
- cluster.name=es-docker-cluster
- cluster.initial_master_nodes=es01
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- xpack.security.enabled=false
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data_es-selenium:/usr/share/elasticsearch/data
ports:
- 9200:9200
16 changes: 12 additions & 4 deletions src/frontend/data/schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -2917,6 +2917,7 @@ type Mutations {
targetPopulationRebuild(id: ID!): RebuildTargetPopulationMutation
createProgram(programData: CreateProgramInput!): CreateProgram
updateProgram(programData: UpdateProgramInput, version: BigInt): UpdateProgram
updateProgramPartners(programData: UpdateProgramPartnersInput, version: BigInt): UpdateProgramPartners
deleteProgram(programId: String!): DeleteProgram
copyProgram(programData: CopyProgramInput!): CopyProgram
uploadImportDataXlsxFileAsync(businessAreaSlug: String!, file: Upload!): UploadImportDataXLSXFileAsync
Expand Down Expand Up @@ -2988,7 +2989,6 @@ type PartnerNode {
name: String
parent: PartnerNode
isUn: Boolean!
permissions: JSONString!
lft: Int!
rght: Int!
treeId: Int!
Expand Down Expand Up @@ -3018,7 +3018,6 @@ type PartnerType {
name: String!
parent: PartnerNode
isUn: Boolean!
permissions: JSONString!
lft: Int!
rght: Int!
treeId: Int!
Expand Down Expand Up @@ -5374,12 +5373,21 @@ input UpdateProgramInput {
populationGoal: Int
administrativeAreasOfImplementation: String
dataCollectingTypeCode: String
partners: [ProgramPartnerThroughInput]
partnerAccess: String
programmeCode: String
pduFields: [PDUFieldInput]
}

type UpdateProgramPartners {
validationErrors: Arg
program: ProgramNode
}

input UpdateProgramPartnersInput {
id: String!
partners: [ProgramPartnerThroughInput]
partnerAccess: String
}

input UpdateTargetPopulationInput {
id: ID!
name: String
Expand Down
83 changes: 77 additions & 6 deletions src/frontend/src/__generated__/graphql.tsx

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions src/frontend/src/apollo/mutations/program/UpdateProgramPartners.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { gql } from '@apollo/client';

export const UPDATE_PROGRAM_PARTNERS_MUTATION = gql`
mutation UpdateProgramPartners(
$programData: UpdateProgramPartnersInput
$version: BigInt
) {
updateProgramPartners(programData: $programData, version: $version) {
program {
...programDetails
}
}
}
`;
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import moment from 'moment';
import { today } from '@utils/utils';
import { TFunction } from 'i18next';

export const editProgramValidationSchema = (
export const editProgramDetailsValidationSchema = (
t: TFunction<'translation', undefined>,
initialValues: any,
): Yup.ObjectSchema<any, any, any, any> => {
Expand Down Expand Up @@ -58,6 +58,13 @@ export const editProgramValidationSchema = (
.max(255, t('Too long'))
.nullable(),
populationGoal: Yup.number().min(0).max(99999999, t('Number is too big')),
});
};

export const editPartnersValidationSchema = (
t: TFunction<'translation', undefined>,
): Yup.ObjectSchema<any, any, any, any> => {
return Yup.object().shape({
partnerAccess: Yup.string().required(),
partners: Yup.array().of(
Yup.object().shape({
Expand Down
Loading

0 comments on commit c482ed3

Please sign in to comment.