diff --git a/backend/alembic/versions/c4ff1cfa66b7_study_data_divided_in_more_field.py b/backend/alembic/versions/c4ff1cfa66b7_study_data_divided_in_more_field.py index b00a495692a8abbc87747606aab7ca80548cb599..8e74028d14146d15b2660af5b4005596faedd672 100644 --- a/backend/alembic/versions/c4ff1cfa66b7_study_data_divided_in_more_field.py +++ b/backend/alembic/versions/c4ff1cfa66b7_study_data_divided_in_more_field.py @@ -20,18 +20,44 @@ depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: - op.drop_column("studies", "consent_study_data") - op.add_column( - "studies", sa.Column("study_data_organisation", sa.String, nullable=False) - ) - op.add_column("studies", sa.Column("study_data_address", sa.String, nullable=False)) - op.add_column("studies", sa.Column("study_data_contact", sa.String, nullable=False)) - op.add_column("studies", sa.Column("study_data_email", sa.String, nullable=False)) + with op.batch_alter_table("studies") as batch_op: + batch_op.drop_column("consent_study_data") + batch_op.add_column( + sa.Column( + "study_data_organisation", sa.String, nullable=False, server_default="" + ), + ) + batch_op.add_column( + sa.Column( + "study_data_address", sa.String, nullable=False, server_default="" + ), + ) + batch_op.add_column( + sa.Column( + "study_data_contact", sa.String, nullable=False, server_default="" + ), + ) + batch_op.add_column( + sa.Column("study_data_email", sa.String, nullable=False, server_default=""), + ) + + with op.batch_alter_table("studies") as batch_op: + batch_op.alter_column("study_data_organisation", server_default=None) + batch_op.alter_column("study_data_address", server_default=None) + batch_op.alter_column("study_data_contact", server_default=None) + batch_op.alter_column("study_data_email", server_default=None) def downgrade() -> None: - op.add_column("studies", sa.Column("consent_study_data", sa.String, nullable=False)) - op.drop_column("studies", "study_data_organisation") - op.drop_column("studies", "study_data_address") - op.drop_column("studies", "study_data_contact") - op.drop_column("studies", "study_data_email") + with op.batch_alter_table("studies") as batch_op: + batch_op.add_column( + sa.Column( + "consent_study_data", sa.String, nullable=False, server_default="" + ), + ) + batch_op.drop_column("study_data_organisation") + batch_op.drop_column("study_data_address") + batch_op.drop_column("study_data_contact") + batch_op.drop_column("study_data_email") + + op.alter_column("studies", "consent_study_data", server_default=None) diff --git a/frontend/src/routes/admin/studies/[id]/+page.server.ts b/frontend/src/routes/admin/studies/[id]/+page.server.ts index 389eb799a56778497e890e338fff1bdcbea7ea05..8fc7c066e94e497880e435ab7bb8997032944da2 100644 --- a/frontend/src/routes/admin/studies/[id]/+page.server.ts +++ b/frontend/src/routes/admin/studies/[id]/+page.server.ts @@ -17,7 +17,10 @@ export const actions: Actions = { const consentParticipation = formData.get('consentParticipation')?.toString(); const consentPrivacy = formData.get('consentPrivacy')?.toString(); const consentRights = formData.get('consentRights')?.toString(); - const consentStudyData = formData.get('consentStudyData')?.toString(); + const studyOrganisation = formData.get('StudyOrganisation')?.toString(); + const studyAddress = formData.get('StudyAddress')?.toString(); + const studyContact = formData.get('StudyContact')?.toString(); + const studyPIemail = formData.get('StudyPIemail')?.toString(); if ( !title || @@ -27,9 +30,12 @@ export const actions: Actions = { !consentParticipation || !consentPrivacy || !consentRights || - !consentStudyData + !studyOrganisation || + !studyAddress || + !studyContact || + !studyPIemail ) { - return { message: 'Invalid request' }; + return { message: 'Invalid request: : Missing required fields' }; } const startDate = new Date(startDateStr); @@ -67,10 +73,12 @@ export const actions: Actions = { consent_participation: consentParticipation, consent_privacy: consentPrivacy, consent_rights: consentRights, - consent_study_data: consentStudyData, + study_data_organisation: studyOrganisation, + study_data_address: studyAddress, + study_data_contact: studyContact, + study_data_email: studyPIemail, user_ids }); - if (!updated) return { message: 'Failed to update study' }; return redirect(303, '/admin/studies');