9 Commits

Author SHA1 Message Date
48deb3b7c8 2026.1.6 2026-01-30 21:32:56 -05:00
e2ea22afdf Removed unused folders 2026-01-30 20:53:46 -05:00
717a61b024 Updated flash notices to use locale 2026-01-30 19:49:48 -05:00
a932551b96 2026.1.5 2026-01-30 17:08:39 -05:00
e09990cd42 added nil check 2026-01-30 17:04:23 -05:00
ad8aa8e2e8 use locale 2026-01-30 08:07:11 -05:00
707abc00a9 Use symbols 2026-01-30 08:05:57 -05:00
1199af0886 2026.1.4 2026-01-30 07:50:26 -05:00
5a2832b751 need to supply selcted id 2026-01-30 07:49:51 -05:00
8 changed files with 21 additions and 9 deletions

View File

@@ -25,6 +25,7 @@ class VehiclesController < ApplicationController
begin begin
@vehicles = Customer.find_by_id(params[:customer_id]).vehicles.paginate(page: params[:page]) @vehicles = Customer.find_by_id(params[:customer_id]).vehicles.paginate(page: params[:page])
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
flash[:error] = t :alert_vehicle_not_found
render_404 render_404
end end
end end
@@ -48,7 +49,7 @@ class VehiclesController < ApplicationController
def create def create
@vehicle = Vehicle.new(allowed_params) @vehicle = Vehicle.new(allowed_params)
if @vehicle.save if @vehicle.save
flash[:notice] = "New Vehicle Created" flash[:notice] = t :notice_vehicle_created
redirect_to @vehicle redirect_to @vehicle
else else
flash[:error] = @vehicle.errors.full_messages.to_sentence flash[:error] = @vehicle.errors.full_messages.to_sentence
@@ -64,6 +65,7 @@ class VehiclesController < ApplicationController
@issues = @vehicle.issues.order(id: :desc) @issues = @vehicle.issues.order(id: :desc)
@closed_issues = (@issues - @issues.open) @closed_issues = (@issues - @issues.open)
rescue rescue
flash[:error] = t :alert_vehicle_not_found
render_404 render_404
end end
end end
@@ -74,6 +76,7 @@ class VehiclesController < ApplicationController
@vehicle = Vehicle.find_by_id(params[:id]) @vehicle = Vehicle.find_by_id(params[:id])
@customer = @vehicle.customer @customer = @vehicle.customer
rescue rescue
flash[:error] = t :alert_vehicle_not_found
render_404 render_404
end end
end end
@@ -84,7 +87,7 @@ class VehiclesController < ApplicationController
begin begin
@vehicle = Vehicle.find_by_id(params[:id]) @vehicle = Vehicle.find_by_id(params[:id])
if @vehicle.update(allowed_params) if @vehicle.update(allowed_params)
flash[:notice] = "Vehicle updated" flash[:notice] = t :notice_vehicle_updated
redirect_to @vehicle redirect_to @vehicle
else else
redirect_to edit_vehicle_path redirect_to edit_vehicle_path
@@ -92,6 +95,7 @@ class VehiclesController < ApplicationController
#show any errors anyways #show any errors anyways
flash[:error] = @vehicle.errors.full_messages.to_sentence unless @vehicle.errors.empty? flash[:error] = @vehicle.errors.full_messages.to_sentence unless @vehicle.errors.empty?
rescue rescue
flash[:error] = t :alert_vehicle_not_updated
render_404 render_404
end end
end end
@@ -100,9 +104,10 @@ class VehiclesController < ApplicationController
def destroy def destroy
begin begin
Vehicle.find_by_id(params[:id]).destroy Vehicle.find_by_id(params[:id]).destroy
flash[:notice] = "Vehicle deleted successfully" flash[:notice] = t :notice_vehicle_deleted
redirect_to action: :index redirect_to action: :index
rescue rescue
flash[:error] = t :alert_vehicle_not_deleted
render_404 render_404
end end
end end

View File

View File

@@ -23,4 +23,11 @@ en:
label_edit_customer_vehicle: "Edit Customer Vehicle" label_edit_customer_vehicle: "Edit Customer Vehicle"
label_cusomer_vehicles: "Customer Vehicles" label_cusomer_vehicles: "Customer Vehicles"
label_new_vehicle: "New Customer Vehicle" label_new_vehicle: "New Customer Vehicle"
button_new_vehice: "New Vehicle" button_new_vehice: "New Vehicle"
notice_vehicle_created: "Vehicle was successfully created."
notice_vehicle_updated: "Vehicle was successfully updated."
notice_vehicle_deleted: "Vehicle was successfully deleted."
alert_vehicle_not_found: "Vehicle not found."
alert_vehicle_not_deleted: "Vehicle could not be deleted."
alert_vehicle_not_created: "Vehicle could not be created."
alert_vehicle_not_updated: "Vehicle could not be updated."

View File

@@ -14,7 +14,7 @@ Redmine::Plugin.register :redmine_qbo_vehicles do
name 'Redmine QBO Vehicles plugin' name 'Redmine QBO Vehicles plugin'
author 'Rick Barrette' author 'Rick Barrette'
description 'This is a plugin for Redmine to intergrate with the redmine_qbo plugin to provide vehicle data tracking' description 'This is a plugin for Redmine to intergrate with the redmine_qbo plugin to provide vehicle data tracking'
version '2026.1.3' version '2026.1.6'
url 'https://github.com/rickbarrette/redmine_qbo_vehicles' url 'https://github.com/rickbarrette/redmine_qbo_vehicles'
author_url 'https://barrettefabrication.com' author_url 'https://barrettefabrication.com'
requires_redmine version_or_higher: '6.1.0' requires_redmine version_or_higher: '6.1.0'
@@ -27,13 +27,13 @@ Redmine::Plugin.register :redmine_qbo_vehicles do
end end
# Add safe attributes for core models # Add safe attributes for core models
Issue.safe_attributes 'vehicle_id' Issue.safe_attributes :vehicle_id
# Permissions for security # Permissions for security
permission :view_vehicles, vehicles: :new, public: false permission :view_vehicles, vehicles: :new, public: false
# Register top menu items # Register top menu items
menu :top_menu, :vehicles, { controller: :vehicles, action: :index }, caption: 'Vehicles', if: Proc.new { User.current.logged? } menu :top_menu, :vehicles, { controller: :vehicles, action: :index }, caption: :field_vehicles, if: Proc.new { User.current.logged? }
end end

View File

@@ -23,7 +23,7 @@ module Vehicles
locals: { locals: {
vehicle: context[:form].select( :vehicle_id, vehicle: context[:form].select( :vehicle_id,
context[:issue].customer ? context[:issue].customer.vehicles.pluck(:name, :id) : [], context[:issue].customer ? context[:issue].customer.vehicles.pluck(:name, :id) : [],
selected: context[:issue].vehicle, selected: context[:issue].vehicle ? context[:issue].vehicle.id : nil,
include_blank: true ) include_blank: true )
} }
}) })

View File

@@ -19,7 +19,7 @@ module Vehicles
context[:controller].send(:render_to_string, { context[:controller].send(:render_to_string, {
partial: 'issues/show_issue_view_right', partial: 'issues/show_issue_view_right',
locals: { locals: {
vehicle: link_to(context[:issue].vehicle), vehicle: context[:issue].vehicle ? link_to(context[:issue].vehicle) : nil,
split_vin: context[:issue].vehicle ? context[:issue].vehicle.vin.to_s.scan(/.{1,9}/) : nil, split_vin: context[:issue].vehicle ? context[:issue].vehicle.vin.to_s.scan(/.{1,9}/) : nil,
notes: context[:issue].vehicle ? context[:issue].vehicle.notes : nil notes: context[:issue].vehicle ? context[:issue].vehicle.notes : nil
} }