diff --git a/alembic/versions/291331bea272_user_audit_fields.py b/alembic/versions/291331bea272_user_audit_fields.py new file mode 100644 index 00000000..ebeb99b7 --- /dev/null +++ b/alembic/versions/291331bea272_user_audit_fields.py @@ -0,0 +1,31 @@ +"""user-audit-fields + +Revision ID: 291331bea272 +Revises: a5fbdcd0e719 +Create Date: 2024-07-19 09:06:27.754024 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '291331bea272' +down_revision = 'a5fbdcd0e719' +branch_labels = None +depends_on = None + + +def upgrade() -> None: + op.add_column('users', sa.Column('created_on', sa.DateTime, nullable=False, server_default=sa.func.current_timestamp())) + op.add_column('users', sa.Column('created_by', sa.String(), nullable=False, server_default='Migrated')) + op.alter_column('users', 'created_by', server_default=None) + op.add_column('users', sa.Column('modified_on', sa.DateTime, nullable=True)) + op.add_column('users', sa.Column('modified_by', sa.String(), nullable=True)) + + +def downgrade() -> None: + op.drop_column('users', 'created_on') + op.drop_column('users', 'created_by') + op.drop_column('users', 'modified_on') + op.drop_column('users', 'modified_by') diff --git a/data/seedsdata.yaml b/data/seedsdata.yaml index 08c5236f..dc93f6ca 100644 --- a/data/seedsdata.yaml +++ b/data/seedsdata.yaml @@ -966,7 +966,6 @@ AOPSs: email: stcdirector@sierratribal.org agency: Native American Tribal Governments bureau: Sierra Tribal Consortium, INC. - bureau: null reporting_agencies: - report_agency: Native American Tribal Governments report_bureau: Sierra Tribal Consortium, INC. diff --git a/training-front-end/src/components/AdminEditReporting.vue b/training-front-end/src/components/AdminEditReporting.vue index e0962593..07a51f79 100644 --- a/training-front-end/src/components/AdminEditReporting.vue +++ b/training-front-end/src/components/AdminEditReporting.vue @@ -60,6 +60,41 @@ async function updateUser(successMessage) { function cancelUpdate() { editing.value = false; } + +function formatDate(dateStr) { + // Check if the string is null, undefined, or empty + if (!dateStr || dateStr.trim() === '') { + return 'N/A'; + } + + const date = new Date(dateStr); + + // Check if the date is valid + if (isNaN(date.getTime())) { + return 'N/A'; + } + + //doing it this way to reduce dependancies + const monthNames = [ + 'January', 'February', 'March', 'April', 'May', 'June', + 'July', 'August', 'September', 'October', 'November', 'December' + ]; + + const month = monthNames[date.getMonth()]; + const day = date.getDate(); + const year = date.getFullYear(); + + return `${month} ${day}, ${year}`; +} + + function formatString(str) { + // Check if the string is null, undefined, or empty + if (!str || str.trim() === '') { + return 'N/A'; + } + + return str; +}