ytgov / travel-authorization

0 stars 3 forks source link

Create a Admin Tables for Travel Rates #82

Open dpdavids opened 5 months ago

dpdavids commented 5 months ago

Relates to:

Context

Is your feature request related to a problem? Please describe. Every year the travel rates for Meals and Incidentals, distance allowance, and private accommodations are updated. Create admin tables that allow system admin to update these. Allow the ability to audit who updated the field and when the update occured.

Describe the solution you'd like Create admin tables in the admin section of the application (access thru top right) for each of the stored amounts. https://yukon.ca/travel-rates

Update the code to hit the newly entered values,.

klondikemarlen commented 1 month ago

For super quick context (pdf is available through previous link) image

klondikemarlen commented 1 month ago

Work in progress at https://github.com/icefoganalytics/travel-authorization/compare/main...icefoganalytics:travel-authorization:ytgov-issue-82/create-a-admin-tables-for-travel-rates

klondikemarlen commented 1 month ago

Mockup of travel rates page image

I'm not sure what I'll do for edit mode yet.

dpdavids commented 1 month ago

we will need an audit table that tracks the previous rates and who and when changed them. The intention is that the administrator will update these fields as required. The references likely don't matter for the admin screen.
Will need to consider the references and if we want to key these or if we need to make some items edittable on the travel expense screen directly.

dpdavids commented 1 month ago

Update the estimator tool and expense tool to hit these admin values.

dpdavids commented 1 month ago

Can leverage some of the already existing forms. Might be nicer if all information was on a single screen. image

klondikemarlen commented 1 month ago

I'm currently using the "YG Rates" (renamed to "Travel Rates") page stub as the location for this content. I'll defer the audit trail till a later ticket, as well as the updates to the other pages. Those should probably be treated as three separate tickets.

Generally speaking, we should be able to add a single "audit_logs" table and track

Or something.

klondikemarlen commented 1 month ago

The intention is that the administrator will update these fields as required. The references likely don't matter for the admin screen.

I'll leave as is until we implement the extra data from those links. Mostly so I don't get slowed down by tinkering instead of building core features. But also because having it match the Pdf is a fairly nice experience. It make it easy for the admin (me in this case) to validate that everything is correct. It could also be shown to end users if we want more transparency.

I'm going to add some standard edit tables for "per diems" and "travel allowances". The user will not be able to add/remove values, only update them. Create/Delete are restricted because these fields must also be hard-coded by name in the estimate generator. I don't have a mock up yet, but should have something tomorrow.

klondikemarlen commented 1 month ago

@dpdavids Fixed by https://github.com/icefoganalytics/travel-authorization/pull/210

klondikemarlen commented 1 month ago

Running in UAT as of v2024.7.29.1.

klondikemarlen commented 1 month ago

Note that you need to refresh the page after upgrading your user to "admin" type, before you can see the edit page. This will be fixed once I update the Admistration -> User page so that changes to your user are immediately effective, rather than requiring a refresh.

dpdavids commented 1 month ago

Private Accommodations appear in both Per diem and travel allowance sections should both appear in Travel Allowance.

Aircraft allowance per segment and maximum aircraft allowance. Should not be in these sections. These values are to support the estimate calculations. More apt to fit an estimate page or in the flight estimates https://travel-auth-dev.ynet.gov.yk.ca/administration/flightEstimate. I think these can be left out for now.

klondikemarlen commented 1 month ago

The duplicate private accommodations is something that slipped through in the seeds. As its a database thing, I'll have to either write a migration to remove private_accommodation_allowance_per_night or get someone with database access to clean it up.

Will need to remove all travel_allowances WHERE allowance_type = 'private_accommodation_allowance_per_night'

klondikemarlen commented 1 month ago

travel_allowances -> private_accommodation_allowance_per_night fixed by @datajohnson in the database.