Profit Ops Patch 2.1.2 has been released to the live environment. This document includes all changes made for the patch cycle ending 12.20.2024.
A big thanks to our test crews, and to operations for their help in testing and refining the new system. We have made excellent progress on the new system over the last year thanks to their patience and hard work.
Additional shout out to our project managers and operations team for their support and feedback on the new calendar and manpower modules. These have been exceptionally complex systems to implement and have required supporting tweaks to code across the entire system but will have enormous positive impacts on the upcoming summer season.
These patch notes came later than expected due to Christmas break, but detail all the changes that are currently live. We anticipate several additional updates in the coming months as we finish the calendar and manpower modules. As always, if you have any questions about these notes or an issue that you have encountered, feel free to contact Bruce Clark to have your issue addressed. Thank You
Global Changes
Implemented various functions and fixes requested during the last stakeholder meeting. [#410]
Add functionality for clock out and customer interaction updates
This commit introduces a new functionality for clock out along with various customer interaction updates.
It includes the creation of a new
handleClockOut
method inClockOut.vue
that captures clock out information.Changes in the
CustomerInfoView.vue
andShowProject.vue
files mainly cater to customer interactions - fetching customer contacts, updating contacts, and updating project pages.Also, the migration file adds new indexes to the
customers
table to optimize queries.
Refactor of the ClockOut component and ClockStore handling
The
handleClockOut
method has been removed in theClockOut.vue
component and its logic has been simplified.Instead of calling a method, the clock out process is now accomplished directly by setting the
clockOut
ref to true.Added a new
toggleEditClock
method to theClockStore.js
model.Accidental clock in/out entries can now be corrected via this method, improving the user experience and functionality of the clock out process.
Rearrange media-related methods in User model
The media-related methods have been restructured in the User model for better code organization.
The purpose of this rearrangement is to enhance readability and maintainability of code by keeping related functionalities grouped together.
The
media()
method is now located towards the end of the file, while its references in other methods were updated accordingly.
Update date handling and optimize state management in time card modules
Several changes have been made across the time-related components including modification of the
dateFormat
inSingleDate.vue
We set date handling in
TimeCardApprovalIndex.vue
and associated controllers to use the starting hour of the day instead of theISO
string.Unused imports and commented-out code were removed across different components/files.
State management optimization in
TimeIndex.vue
was also completed.
Search bar now supports search query refresh. Users can select a refresh button to clear the search and all related filters. [#328]
Added a query reset button to search input.
Implemented query refresh functionality on the project index page.
Cleaned up leftover code and file formatting.
Refactor of the JobRegionScope file for region permissions [#340]
Revised the code in
JobRegionScope.php
to handle region access permissions based on user's abilities or permissions, instead of user's assigned regions.This implementation assigns:
all regions to users with full access or
region-show-all
permission,selected regions for users with
region-show-selected
permission,or the user's assigned region otherwise.
Fixed an issue with region assignment in JobRegionScope [#343]
Adjusted the assignment of the
regions
variable in theJobRegionScope
model.If a user has the
region_show_selected
permission, theirallowed_regions
orregion_id
is now properly returned as an array.This ensures consistent return types for the regions and avoids potential issues in further code execution.
Improved performance by optimizing database queries and UI components. [#348]
This commit optimizes several database queries by replacing
count()
checks with more efficientexists()
checks.Some Vue component prop types have also been adjusted.
Redundant dependencies have been removed from
package.json
.Various UI components received visual modifications for better user experience.
These updates lead to improved application performance and cleaner, more manageable code.
Updated 'contactables' table indexing in migration file [#374] & [#375]
The updated database migration file modifies the
contactables
table in Laravel.The update checks if an index
Test
exists and drops it, then creates a new foreign key reference tocontacts id
.It also creates an index on
contactable_id
andcontactable_type
.This improves the table's structure and relationship handling in the database.
Various updates to the Main Menu [#319]
Updated menu selections to reflect recently implemented modules.
Improvements to the navigation bar UI.
Reverted and repaired a previous merge that was causing issues.
Completed an audit of the current permission management system. [#338]
Reverted the spacing changes done to
CheckoutIndex
andWeekRange
that caused theWeekRange
picker to overlap on other pages it was used.Add
MoveCrewMemberController
and refactor related componentsIntroduced the
MoveCrewMemberController
to handle moving of crew members.Also updated the
LaborSummary
,TimeEntry
andWorkOrderLaborView
components to support this functionality.In addition, improved how the
total hours
attribute is calculated in theTimeClock
model.
Removed laratrust panel related views
Removed unnecessary views in
resources/views/vendor/laratrust/panel/
directory as these are no longer required.The deleted files included layout pages, roles assignment, permissions, roles overview and specific edit pages.
These removals are part of larger refactoring and cleanup efforts.
Remove Clockwork configuration file
Deleted the
clockwork
configuration file under theconfig
directory.This was necessary because the clockwork functionality is no longer needed, contributing to project decluttering and performance improvement.
Replace Bugsnag with Telescope provider in app config
Removed
BugsnagServiceProvider
and addedTelescopeServiceProvider
in the app configuration.Also included the
Bugsnag
alias underdefault aliases
.This change better aligns with the current application dependencies and helps improve service provider organization.
Modify permission checking in middleware
This commit changes the way user permissions are checked in the
handle inertia
requests to our middleware solution.Instead of directly invoking the
'can'
method with the user's ability, it now gets all the user's permissions and maps them to match the necessary structure.This change improves code readability and makes the permission checking process more explicit.
Refactor
EmployeeInfoTab.vue
removing redundancy and improving readabilityThe update refactors the
EmployeeInfoTab.vue
file on multiple fronts.Unused error displays have been removed, breaking long lines into multiple for improved readability.
We replaced multiple formulated CSS with a
Card.vue
component.These changes simplify the code structure, making it easier to read and maintain.
Refactor password reset flow and employee information view
Made adjustments to the password reset functionality in the
EmployeesController
.Cleaned up the
EmployeeInfoTab
view.Improvements include better error handling for password resets.
Improves management of the active, in-active, status of employee records.
Further refined the "edit" action for employee information.
This makes the code cleaner, easier to maintain, and improves user experience.
Refactor
JobRegionScope
modelRevised
JobRegionScope
model to store an authenticated user properly.Refactored a redundant auth check.
Improved the
apply()
method to apply the active user scope to the query builder.These changes make the code more efficient and readable.
Schedule Module
Modified region filtering in the ScheduleController [#344]
Updated
region_show_selected
permission handling inScheduleController
.It now checks for
region_show_selected
permission and the presence ofallowed_regions
before applying region filters.This avoids potential errors that could occur from trying to filter using an empty or non-existent
allowed_regions
array.
Refined task scheduling filters for specific user roles [#345]
Adjusted
woCheckout
andcompletedTasks
filters inScheduleController
to respect specified user roles and permissions.The filters now evaluate a specific set of roles:
development
full_access
superintendent
operations
management
project_management
schedule_view_wo_checkout
These roles and permissions are evaluated before performing task assignments.
Adjusted conditions for ScheduleController clock-in [#346]
Updated the conditional statement in
ScheduleController
to not only check if the user is clocked in but also if they have a last timeclock entry.This will prevent errors when trying to compare
id
with a nonexistent last timeclock entry.
Implemented new Vue components and improved clocking logic [#385]
Introduced new Vue components for
SwitchClock
andArchivedSections
.Optimized clocking logic in
ClockStore
to handle switching work orders.Also, cleaned up and simplified
isClockedIn
condition inUser.php
model.
Add time entry validation in ClockStore and IncorrectEntry.vue files [#411]
A function to validate the time entry has been added to
ClockStore.js
.This function checks if the
'Out'
time logged by the user is before the'In'
time.
Validation has been added to the
IncorrectEntry.vue
component.It now shows an error message if the
'Out'
time is invalid, or the reason is too short.The button to correct a time entry is disabled if either validation fails.
Add default state for incorrect time entries [#412]
Added a default state for incorrect time entries in the
ClockStore
.This change occurred in two instances within the promise handlers of the stores methods.
This was done to ensure a clean slate for any incorrect entries that need to be updated or logged.
This helps in maintaining cleaner code and minimizes potential errors related to user authentication or time entry.
Update clock components' layout and functionalities [#424]
Made several changes to
Clock
andSub Clock
components to improve user interaction and functionality.These changes include:
Layout adjustments for better readability.
The addition of new navigation links for easier access.
The update of buttons & labels for clear instructions.
The order of some elements was also adjusted to enhance the user interface.
Refactor toggleSwitchDialog method in ClockStore.js [#426] & [#425]
The
toggleSwitchDialog
method has been refactored to accept theclock type
as an argument.This change improves the flexibility of the method by allowing it to use various clock types.
This update also includes the necessary adjustments on the
saveTimeEntry
method call and values being assigned tothis.clockType
.Fixed time clock for Cones & Carpet, as well as the various MOB work order types.
Projects Module
Users can now click on a service in the breadcrumb and will be correctly referred to their last active service tab instead of the default view. [#327]
Cleaned up build and manifest files left over from previous work.
Services in the breadcrumb UI will be abbreviated to save space.
The active tab now set correctly on link click.
Work order URL slug is now shown on the service link UI
All project services will now default to the Work Order Subtab when the user arrives on first view. [#329]
Removed old or leftover build files.
Checked project default view files to ensure all files point correctly to the work order subtab.
Modified breadcrumbs to prevent truncation of long titles.
Breadcrumbs now show the WO title when one has been provided.
Removed Validation checks for Gallon and Box count completion. [#330]
After feedback from project management, we determined that these validations caused too many issues to justify their presence.
Removed date change validations
Removed gallon complete validations.
Related code and file cleanup.
Permission bugfixes. [#342]
Update Navigation Bar and Project views for improved navigation.
Updated the Nav Bar icons and corrected display conditions for navigation items in
NavBar.vue
to enhance user navigation.Introduced better code formatting and consistency in
ShowProject.vue
andProjectInfoView.vue
.These improvements aid in maintaining clean and readable code, as well as ensuring easy navigation for end users throughout the platform.
Added
development
role and implemented snake case permissionsIntroduced a new
development
role in Laratrust configuration, allowed select middleware for 'development
' role, and added all permissions to it.Converted permissions to snake case to ensure consistency in naming.
Revised various sections of code to use the
development
role.Updated User and Scope models to efficiently check permissions.
Users with access to the project may now view all sales records. [#347]
Remove role-based filter in
JobSalesScope
Commented out the user role-based condition in the
JobSalesScope
model.This change temporarily disables the restriction that only allows users with
sales
orconsultant
roles to retrieve specific job sales records.The decision for this change is temporary, further impact of this change needs evaluation.
Please provide feedback to Bruce Clark if you notice any negative or positive effects.
Work Order date change and validation removal [#376] & [#377]
Work Order View header now defaults to a hyperlink if the work order has a scheduled date.
Removed validations from the Area Details section if the Service Details page.
These validations were deemed not necessary and could interfere with legitimate operations.
Foreman and Super have been added to work order attribution.
Fixed Work order Foreman and Super titles not showing.
Fixed an issue where long title names could overflow onto the work order progress bar.
Modified the collapse/expand buttons for the Gallon and Box count charts.
Disable Support Services, Performance, and Costing tabs for users without full access
Fix WO title and PM notes updating.
Added note and title update modal to Surface WO tile [#379]
This adds a modal for updating task, title, and PM notes to the surface treatment WO tile on a gallon or box count sub-tab.
Update to project Towing Companies fields and logic. [#427]
Build towing relationships when a project is created and update towing fields on the show project page
Modify the project to allow fetching towing
Add towing to fetched project details.
Allow updating of towing details on the project page.
Updates to multiple dependencies [#407] & [#408]
This commit updates multiple dependencies including
aws/aws-sdk-php
,laravel/framework
,laravel/jetstream
, and more.It encompasses both minor versions and patch-level updates, ensuring the project stays up-to-date with the latest features and fixes from these dependencies.
Fixed the sales dropdown.
Refactored code in CCJAreaDetails and CrackAreaDetails Vue files [#389]
Changes were implemented to enhance the visual clarity of the
CCJAreaDetails
andCrackAreaDetails
components by improving their parameter formatting.Additional depths were provided, and adjustments were made to indentation for better adherence to syntax guidelines.
Functionality of the components remains unchanged.
Refactored code and fixed various formatting issues in Vue components [#413]
Refactored code for better readability and maintainability in
WorkOrderProgress.vue
&WorkOderView.vue
.Several lines of code has been modified to follow best practices for
Vue.js
development, making the code easier to read and understand.The commit also includes adjustments to the CSS and formatting to adhere to standard coding conventions.
Fixed issues with various crack and patch repair services. [#395]
Filter fleets based on crack type in the WO materials tab.
Modified
fileViewer
component to visually show the three different sections in view.Filter subregions based on the region selected on create project form
Filter subregions based on the region selected on project overview
Fix subregion updates on region changes
Modified box materials
Set subcontractor collapsible to
true
by defaultCheck if all coats are complete before initiating material complete modal
Remove input type - number inner spin buttons
Add an input cancel button to crack edit input
Delete crack boxes
Fixed various issues with Aggressive Cleaning (AGC) creation and the Materials Count sub-tab. [#356]
Modified the no materials message for better clarity.
Prevented creation of Aggressive Cleaning tasks on the gallon/box counter if the Aggressive Spot cleaning service has not been defined on the details page.
Reference the material type in toast notification.
Fix box count percentage and gallon count percentage
Fix toast not showing
Fix estimated boxes for each wo progress bar not showing.
Fixed various issues with Agressive Cleaning (AGC) that could occur when no ACG data was provided. [#363]
Crack service totals renamed
Removed pre tag
Added AGC details to crack view on WO material page
Fixed an issue with AGC area initial values
Updated Surface Treatment view of the AGC layout
Fixed a null error on subcontractor services
Implemented AGCS and improved UI for AGC list and header details
Work Orders on the Work Order subtab are now sorted by date instead of sorting by id [#402]
Filters will now correctly hide invalid yards [#409]
Update WorkOrderProgress.vue [#442]
Fixed project overview notes being editable by users with view only access. [#366]
Fixed subcontractors service not allowed to create a Work Order [#431]
Fixed a bad reference in Project Info [#435]
Fixed gap mastic delete button not working [#401]
Fix for noticing [#443]
Work Orders
“Target MPMH” and “Target Labor” fields have been temporarily removed. [#355]
These fields were added initially as part of the performance and costing modules, which are currently under development.
There was confusion on the part of work crews regarding these fields not working or showing strange results.
These fields will return once thee Costing and Performance modules have been formally launched.
Completed a major refactor of the labor tab’s super approval process. [#332]
Remove unused JavaScript assets
Merge remote-tracking branch
origin/master
intotrello/86-labor-tab super-field
This involved resolving a significant number of conflicts, which can be reviewed on the related github #332 page linked above.
Removed or rebuilt related assets in the code base.
Refactor
LaborApprovalController
andTimeEntry.vue
; add attribute to Task modelThe update to
LaborApprovalController
changes the$entryLog
default tonull
instead of an empty array.In
TimeEntry.vue
, improvements are made to display logic, with added helper functions, restructured HTML, enhancement in formatting, and removal of redundant code.Furthermore, a new attribute
work_order_slug
is added to the Task model.
Refactor and optimization of the Work Order Checkout process. [#352]
Refactor WorkOrder model and adjust
ServiceController
The commit introduced a new method
areaGallons
in the WorkOrder model to optimize the calculation of area in gallons.This change also led to a modification in how the
estimated
variable is assigned in different methods within the same model.A slight adjustment was made in the
ServiceController
to includematerial_components
in the selected service information.
Optimize layout and code cleanup in WorkOrder components
This revision includes adjustments to CSS classes in WorkOrder view components to better organize information.
Some unnecessary or debugging code has been removed or cleaned up to improve readability and prevent unnoticed, outdated logs.
Update conditions for handling and displaying time entries were also revised, ensuring that accurate data is available for use.
Add work order completion status and improve validation [#419]
The code has been enhanced to include work order completion status in different components.
Functions have been created for this purpose and imported as needed.
Furthermore, validation for Super and Foreman checkout was adjusted to improve validation window accuracy.
These improvements facilitate better status tracking and enhance user interaction.
Add conditional rendering to labor update buttons in WorkOrderLaborView [#368]
The permission check to show the labor update buttons in
WorkOrderLaborView.vue
is added.Now the buttons for 'Super' and 'Foreman/crew Leader' will only be shown if the user has appropriate rights to update labor
('work_order_update_labor_sfc')
.This change is crucial for maintaining user access integrity and providing a solid experience based on user roles.
Implement user-specific conditions in WorkOrderLaborView.vue [#386]
This commit introduces changes where functionalities in the
WorkOrderLaborView
component now have conditions based on user roles.Enhancements include alterations in task completion conditions and modifications in the
isTheSameDay
computed function.The latter now returns
false
when the user is not asuper
, instead of performing a date comparison.
Implement changes to Clock Management and Checkout [#420]
Add work order completion status and improve validation
The code has been enhanced to include work order completion status in different components.
Functions have been created for this purpose and imported as needed.
Furthermore, validation for super and foreman checkout was adjusted to improve validation window accuracy.
These improvements facilitate better status tracking and enhance user interaction.
Updated Work Order details, the Weather reporting system, and MaterialView components. [#360]
Add zip code to work order details and relevant links
The commit adds the zip code to the work order's job details in WorkOrder API controller.
The front-end Vue component
WorkOrderInfoView
has also been updated to append the zip code to the google map links for addresses.These changes will provide more accurate location details when viewing a work order.
Refactor
WeatherReport
andWorkOrderMaterialView
componentsThis commit includes several modifications to the
WeatherReport
andWorkOrderMaterialView
Vue components to enhance readability, maintainability, and functionality.Icons have been changed, presentation logic refactored, component structure simplified and additional props introduced including a prop for disabling functionality.
Features for checking tasks completion based on specific conditions are added ensuring that certain buttons and components behave correctly in different scenarios.
Refactor WorkOrderInfoView and improve notes display [#364]
The
WorkOrderInfoView
component has been refactored to simplify how tasks are handled, making the code cleaner and more readable.The display of notes within the application has been enhanced by:
Adding the ability to show previous work notes.
Adding more details to the note view.
This also involves the addition of a new controller to fetch previous notes.
Extend permissions check in WorkOrderLaborView [#370]
The labor update buttons in
WorkOrderLaborView.vue
are now conditioned by additional checks:The user is a Super or a Foreman, AND
The user has the permission
work_order_update_labor_sfc
.
This ensures appropriate rights enforcement, and a user experience tailored to the user's role.
Improvements to crew notes and image handling. [#372] & [#373]
Add CrewNotesController and routing settings
Introduced
CrewNotesController
in the WorkOrder module to handle crew notes.Routing setup is also added in
api.php
to set upcrew-notes
prefix and link to the newly created controller.This enhances the structure and readability of handling crew notes in the application.
Pass
taskId
as a prop to theWorkOrderCrewNotes
componentThe Vue component
WorkOrderCrewNotes
was modified to now accepttaskId
as a required prop.This was achieved by modifying both
WorkOrderCrewNotes
andWorkOrderInfoView
files.This allows for more modular and reusable components, as now the
WorkOrderCrewNotes
component doesn't depend on a global task state or variable anymore.
Updated Print WO Page [#378]
Adding DOMPDF dependency and PDF generation functionality
Implementing PDF generation functionality to the
WorkOrderInfoView
by adding thebarryvdh/laravel-dompdf
library to the project.Added the
PrintWorkOrderController
to handle PDF conversion.Also, uncommented the
FileViewer
component withinWorkOrderInfoView
to re-enable the feature, whilst other unused components remain commented out.A new HTML to PDF view file was created named
print_work_order.blade.php
.
Refine HTML structure of
print_work_order.blade.php
viewAdjusted the indentation and structure of HTML code in
print_work_order.blade.php
.These changes improve code readability and maintainability, allowing for easier navigation and editing in the future without compromising the current performance or visual outcome of the Work Order Page.
Implement streaming in
PrintWorkOrderController
The print work order is now streamed directly for viewing, rather than saving as a PDF to a specified file path.
This change allows for immediate access to the printed work order without the need for file handling operations, thus improving efficiency and user experience.
Updated Work Order layout, categorized by Service types
Updated Text on WO Print & Updated WO Print
Finished Update on the Print Functionality
Updated Crack Repair view on PDF
Update task status handling and enhance UI indicators [#392]
Improved the way task status is handled in the
WorkOrder
anduseLabor
files, now including task's status and completion information.Additionally, enhanced the UI's visual indicators in
LaborSummary
andTimeEntry
files to provide more context for tasks.This included the introduction of specific indicators for different approval types within time entry logs.
Implemented various minor WO fixes. [#351]
Fixed alignment issues with the Files page input fields.
Disabled file upload on mobile views.
Fixes various UI alignment issues on mobile views.
Users are now required to enter edit mode before uploading images or files on all views.
Address field now supports google maps linking.
Updated permissions to prevent access to support and costing tabs by default, unless the user has explicit permission to use them.
Fixed an issue that could cause non crack repair fleet vehicles to be displayed on the material tab of crack repair work orders.
Various fixes to the add crew modal.
Fixes for Super Check Out and Time Clock [#416]
Improve validation and refactor code
Improved form validation handling in
WorkOrderCheckoutView.vue
by adding the ability to display error messages when form validation fails for Foreman and Super notes.A check was added to ensure notes entered are not
null
or less than 3 characters.Made several refactoring changes in
ScheduleController.php
,ClockStore.js
andweb.php
to optimize code and improve readability by adding and removing some white spaces and comments.
Fixed issues with the Gap Mastic Box Count Service header. [#387]
Gap mastic and gap patch type added to the area details section.
Patch values integration
Fixing CCJ view on collapse
Added padding to bottom of header when service is patch or mastic
Fixed sub tab state not updating when switching between a crack and a surface.
Fixed Patch and Gap delete task, duplicate task not working
Fixed issues with the work order checkout tab. [#354]
Update checkout process and related features
Enhanced checkout submission process, including user type validation and handling of towing information for work orders.
Made improvements in the
Vue.js
components rendering checkout views and weather incident reporting.The backend now better supports these features with added controller methods for incident handling, towing, and checkout approval.
Fixed box counts
Refactor checkout process and implement job incident feature.
The checkout process has been thoroughly refactored for better data handling.
Major changes include revision of user type validation and the way work orders process towing information.
A job incident feature has also been introduced, which includes a
Vue.js
component for handling such incidents.Backend support for these changes was also implemented with new controller methods.
Fixed issues with the Checkout Notes. [#359]
Adjust Foreman and Supervisor note conditions in Vue component
Modified the conditions for when
noForemanNote
andnoSuperNote
are true in theWorkOrderCheckoutView
component.The updated conditions now ensure both fields received a value before checking if they are empty.
This change prevents issues with empty notes passing the checks and proceeding forward when they should not.
Update Vue component to handle empty foreman and supervisor notes correctly.
Improved the handling of
noForemanNote
andnoSuperNote
conditions in theWorkOrderCheckoutView
component.This was done by ensuring both fields are checked to contain a value before validating if they are empty, preventing inadvertent pass through with empty notes.
This change enhances the validation process and avoids potential errors during checkout.
Fixed an issue that caused modal action buttons on the labor tab to become covered up when the drop down was opened. [#331]
This caused a soft lock that would prevent users from being able to complete the form.
Quick fix for value not working [#421]
Quick fix to fix evaluation where ID was not set on foreman. [#423]
Fixed PDF Layout showing incorrectly. [#382]
Manpower Module
Manpower Schedule
Implement region-based manpower schedule with upload feature [#399] & [#400]
Enhanced the manpower scheduling feature by implementing region-based schedule rendering that adjusts schedules based on whether the authenticated user's ID is in Utah or Arizona regions.
The changes also include file upload feature for the schedules, specifically designed to allow file movement into designated paths and keep track of relevant media details.
Enhanced user interaction by adding toast notifications for success status when uploading or deleting files.
The changes also initiated logic to handle archived files.
Manpower Crew
Manpower Assign
PM CheckOut
Various UI Updates. [#326]
Increased the spacing between work orders.
Improved layout of filters and functionality.
Updates to font and text formatting.
Improvements to the checkout index.
Improvements to expanding and collapse functionality on large work orders.
Customers Module
Fixed an issue the prevented page navigation buttons from appearing at the bottom of the customer module view. [#334]
Contacts Module
Updated composer packages and fixed contact search bar. [#361]
Contact search should now work as intended.
Fix an issue where toast error messages would not leave the after they are displayed.
Optimize code in contact, customer pages and update icon sizes [#404]
Optimized indentations of Vue scripts in contact and customer pages for better code readability.
Made minor updates to variable initialization for better consistency.
Improved icon sizes in page header components for better visual consistency across the application.
Removed watch method for
handleCustomerSearch
function since it is unnecessary for the function behavior.Rearranged DOM elements order in
CreateContact.vue's
script for better maintaining.
Refactor component and controller code [#415]
Refactored various
Vue.js
components and Laravel controllers to improve code readability, clarity and performance.Removed unnecessary import statements and redundant code, and rearranged lines for better organization.
Added new computed properties for task completion validation.
Subcontractors Module
Updated subcontractor reference [#430]
Rebuilt NPM and updated component references in ShowSubcontractor [#432]
Fixed reference in SubContractorComponent [#436]
Fixed reference in CreateSubContractor [#437]
HR
Employees
Various minor improvements to functionality. [#321]
Implemented visible filterable regions.
System can now loop through regions.
Adjustments to the employee form layout and arrangement.
check box now correctly syncs with region select option.
Fixed a bug with employee notes permission allocations.
Fixed a routing issue with the password reset email button.
Fixed in issue that would prevent correct reporting of employee current location on the module index. [#337]
Employee records are now stamped with the ID of the user that originally created them. [#341]
Add an authentication check to JobRegionScope constructor. [#357]
The constructor for
JobRegionScope
model in Laravel now includes an authentication check before it attempts to access user information.Previously, it assumed the user was logged in, potentially causing errors when a guest user was accessing features that use this scope.
The update ensures the code's stability when dealing with users who are not logged in.
Fixed the Employee Email password Reset link not connecting to the reset service [#362]
Timecard bugfixes [#393]
Add
TimeCardStore
and refactorTimeCard
componentsIntroduced a new file,
timeCardStore.js
, to manage states, getters, and actions related toTimeCard
.Refactored multiple components, such as
TimeIndex.vue
andTimeIndexDayView.vue
, to use this new store instead of local states, enhancing both code readability and maintainability.Simplified the data fetching process and improved the UI loading behavior.
Update time data handling with TimeCardStore integration [#397]
This update introduces a new
Vuex
store,TimeCardStore
, for maintaining the time card data.The previous local-state-based implementation in the
TimeCard
components has been replaced with the central store.This improves code readability, allows for better data flow design, and paves the way for future scalability enhancements.
Update layout of TimeCard components [#405]
The layout of the
TimeCardTableHead
andTimeCardTableRow
components has been updated.The number of grid columns has been increased from 11 to 12, to accommodate the addition of a new
Entry ID
field.Also, in the
TimeCardTableRow
, a check was added to ensureentry.out
exists before formatting it.
Announcements Module
Removed file input reference on create announcements [#433]
Settings Module
Fixed Location List Display Bug [#384]
Credits & Acknowledgements
Code Contributors:
@corydemille
@pemeraldy
@devsquad-pedro-silva
@devsquad-denisbeder-carvalho
Patch Notes Transcribed By:
Jason M Callahan