diff --git a/Dockerfile b/Dockerfile index a786a03f4db..b5ef219d6ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM harbor.csde.caci.com/docker.io/debian:stable AS build-env +FROM harbor.csde.caci.com/docker.io/library/debian:stable AS build-env COPY config/tls/dod-wcf-root-ca-1.pem /usr/local/share/ca-certificates/dod-wcf-root-ca-1.pem.crt COPY config/tls/dod-wcf-intermediate-ca-1.pem /usr/local/share/ca-certificates/dod-wcf-intermediate-ca-1.pem.crt diff --git a/Dockerfile.dp3 b/Dockerfile.dp3 index c2cafd6bd07..f02187cd763 100644 --- a/Dockerfile.dp3 +++ b/Dockerfile.dp3 @@ -1,4 +1,4 @@ -FROM harbor.csde.caci.com/docker.io/debian:stable AS build-env +FROM harbor.csde.caci.com/docker.io/library/debian:stable AS build-env # hadolint ignore=DL3007 FROM gcr.io/distroless/base-debian12@sha256:74ddbf52d93fafbdd21b399271b0b4aac1babf8fa98cab59e5692e01169a1348 diff --git a/Dockerfile.migrations b/Dockerfile.migrations index 5d4956df394..021428de322 100644 --- a/Dockerfile.migrations +++ b/Dockerfile.migrations @@ -1,4 +1,4 @@ -FROM harbor.csde.caci.com/docker.io/debian:stable AS build-env +FROM harbor.csde.caci.com/docker.io/library/debian:stable AS build-env COPY config/tls/dod-wcf-root-ca-1.pem /usr/local/share/ca-certificates/dod-wcf-root-ca-1.pem.crt COPY config/tls/dod-wcf-intermediate-ca-1.pem /usr/local/share/ca-certificates/dod-wcf-intermediate-ca-1.pem.crt diff --git a/Dockerfile.tasks b/Dockerfile.tasks index d41ee54e808..7546db7c4c8 100644 --- a/Dockerfile.tasks +++ b/Dockerfile.tasks @@ -1,4 +1,4 @@ -FROM harbor.csde.caci.com/docker.io/debian:stable AS build-env +FROM harbor.csde.caci.com/docker.io/library/debian:stable AS build-env COPY config/tls/dod-wcf-root-ca-1.pem /usr/local/share/ca-certificates/dod-wcf-root-ca-1.pem.crt COPY config/tls/dod-wcf-intermediate-ca-1.pem /usr/local/share/ca-certificates/dod-wcf-intermediate-ca-1.pem.crt diff --git a/pkg/gen/adminapi/embedded_spec.go b/pkg/gen/adminapi/embedded_spec.go index 3433894752a..27a0e153ff4 100644 --- a/pkg/gen/adminapi/embedded_spec.go +++ b/pkg/gen/adminapi/embedded_spec.go @@ -3296,16 +3296,6 @@ func init() { "format": "uuid", "example": "c56a4180-65aa-42ec-a945-5fd21dec0538" }, - "latitude": { - "type": "number", - "format": "float", - "example": 29.382973 - }, - "longitude": { - "type": "number", - "format": "float", - "example": -98.62759 - }, "name": { "type": "string", "example": "Fort Bragg North Station" @@ -6988,16 +6978,6 @@ func init() { "format": "uuid", "example": "c56a4180-65aa-42ec-a945-5fd21dec0538" }, - "latitude": { - "type": "number", - "format": "float", - "example": 29.382973 - }, - "longitude": { - "type": "number", - "format": "float", - "example": -98.62759 - }, "name": { "type": "string", "example": "Fort Bragg North Station" diff --git a/pkg/gen/adminmessages/transportation_office.go b/pkg/gen/adminmessages/transportation_office.go index f291b011d51..4468ea5b772 100644 --- a/pkg/gen/adminmessages/transportation_office.go +++ b/pkg/gen/adminmessages/transportation_office.go @@ -41,14 +41,6 @@ type TransportationOffice struct { // Format: uuid ID *strfmt.UUID `json:"id"` - // latitude - // Example: 29.382973 - Latitude float32 `json:"latitude,omitempty"` - - // longitude - // Example: -98.62759 - Longitude float32 `json:"longitude,omitempty"` - // name // Example: Fort Bragg North Station // Required: true diff --git a/pkg/handlers/adminapi/offices.go b/pkg/handlers/adminapi/offices.go index 5a189d7348e..c5f2aff5609 100644 --- a/pkg/handlers/adminapi/offices.go +++ b/pkg/handlers/adminapi/offices.go @@ -22,8 +22,6 @@ func payloadForOfficeModel(o models.TransportationOffice) *adminmessages.Transpo Address: payloadForAddressModel(&o.Address), Gbloc: o.Gbloc, PhoneLines: payloadForPhoneLines(o.PhoneLines), - Latitude: o.Latitude, - Longitude: o.Longitude, } } diff --git a/pkg/services/move/move_fetcher_test.go b/pkg/services/move/move_fetcher_test.go index 6a6db7f28be..dd173d568b5 100644 --- a/pkg/services/move/move_fetcher_test.go +++ b/pkg/services/move/move_fetcher_test.go @@ -519,6 +519,90 @@ func (suite *MoveServiceSuite) TestMoveFetcherBulkAssignmentSC() { suite.Equal(1, len(moves)) suite.NotEqual(marinePPM.ID, moves[0].ID) }) + + suite.Run("Closeout returns non Navy/USCG/USMC ppms in needs closeout status", func() { + moveFetcher := NewMoveFetcherBulkAssignment() + transportationOffice := factory.BuildTransportationOffice(suite.DB(), nil, nil) + officeUser := factory.BuildOfficeUserWithRoles(suite.DB(), []factory.Customization{ + { + Model: transportationOffice, + LinkOnly: true, + Type: &factory.TransportationOffices.CloseoutOffice, + }, + }, []roles.RoleType{roles.RoleTypeServicesCounselor}) + + submittedAt := time.Now() + + // create non USMC/USCG/NAVY ppm in need closeout status + factory.BuildMoveWithPPMShipment(suite.DB(), []factory.Customization{ + { + Model: transportationOffice, + LinkOnly: true, + Type: &factory.TransportationOffices.CloseoutOffice, + }, + { + Model: models.PPMShipment{ + Status: models.PPMShipmentStatusNeedsCloseout, + SubmittedAt: &submittedAt, + }, + }, + { + Model: models.Move{ + Status: models.MoveStatusAPPROVED, + }, + }, + }, nil) + + // create non closeout needed ppm + factory.BuildMoveWithPPMShipment(suite.DB(), []factory.Customization{ + { + Model: transportationOffice, + LinkOnly: true, + Type: &factory.TransportationOffices.CloseoutOffice, + }, + { + Model: models.PPMShipment{ + Status: models.PPMShipmentStatusWaitingOnCustomer, + SubmittedAt: &submittedAt, + }, + }, + { + Model: models.Move{ + Status: models.MoveStatusAPPROVED, + }, + }, + }, nil) + + marine := models.AffiliationMARINES + marinePPM := factory.BuildPPMShipment(suite.DB(), []factory.Customization{ + { + Model: models.Move{ + Status: models.MoveStatusAPPROVED, + }, + }, + { + Model: models.MTOShipment{ + ShipmentType: models.MTOShipmentTypePPM, + }, + }, + { + Model: models.PPMShipment{ + Status: models.PPMShipmentStatusNeedsCloseout, + SubmittedAt: &submittedAt, + }, + }, + { + Model: models.ServiceMember{ + Affiliation: &marine, + }, + }, + }, nil) + + moves, err := moveFetcher.FetchMovesForBulkAssignmentCloseout(suite.AppContextForTest(), "KKFA", officeUser.TransportationOffice.ID) + suite.FatalNoError(err) + suite.Equal(1, len(moves)) + suite.NotEqual(marinePPM.ID, moves[0].ID) + }) } func (suite *MoveServiceSuite) TestMoveFetcherBulkAssignmentTOO() { diff --git a/playwright/tests/admin/offices.spec.js b/playwright/tests/admin/offices.spec.js index bf9d2745a8e..ceee23ed984 100644 --- a/playwright/tests/admin/offices.spec.js +++ b/playwright/tests/admin/offices.spec.js @@ -16,7 +16,7 @@ test.describe('Offices Page', () => { await expect(page.locator('header')).toContainText('Offices'); await expect(page.getByLabel('Search by Office Name')).toBeEditable(); - const columnLabels = ['Id', 'Name', 'Latitude', 'Longitude', 'Gbloc']; + const columnLabels = ['Id', 'Name', 'Gbloc']; await adminPage.expectRoleLabelsByText('columnheader', columnLabels); }); }); diff --git a/src/components/BulkAssignment/BulkAssignmentModal.module.scss b/src/components/BulkAssignment/BulkAssignmentModal.module.scss index 2350d09a756..65f83ff48d3 100644 --- a/src/components/BulkAssignment/BulkAssignmentModal.module.scss +++ b/src/components/BulkAssignment/BulkAssignmentModal.module.scss @@ -86,3 +86,25 @@ align-items: center; } } + +.areYouSureSection { + display: flex; + justify-content: space-evenly; + align-items: center; + padding-top: 20px; + + .confirmButtons { + display: flex; + align-items: center; + gap: 10px; + padding: 10px; + max-height: 42px; + } + + .cancelYesButton { + font-size: 12px; + max-width: 100px; + height: 42px; + align-items: center; + } +} diff --git a/src/pages/Admin/Offices/OfficeList.jsx b/src/pages/Admin/Offices/OfficeList.jsx index 27a0df55625..50abfc385c4 100644 --- a/src/pages/Admin/Offices/OfficeList.jsx +++ b/src/pages/Admin/Offices/OfficeList.jsx @@ -16,8 +16,6 @@ const OfficeList = () => ( - - diff --git a/swagger-def/admin.yaml b/swagger-def/admin.yaml index ccbce27b6bb..f381b35b799 100644 --- a/swagger-def/admin.yaml +++ b/swagger-def/admin.yaml @@ -1047,14 +1047,6 @@ definitions: type: string pattern: "^[A-Z]{4}$" example: JENQ - latitude: - type: number - format: float - example: 29.382973 - longitude: - type: number - format: float - example: -98.62759 createdAt: type: string format: date-time diff --git a/swagger/admin.yaml b/swagger/admin.yaml index 5082f703079..aec58e45fe5 100644 --- a/swagger/admin.yaml +++ b/swagger/admin.yaml @@ -1054,14 +1054,6 @@ definitions: type: string pattern: ^[A-Z]{4}$ example: JENQ - latitude: - type: number - format: float - example: 29.382973 - longitude: - type: number - format: float - example: -98.62759 createdAt: type: string format: date-time