8 Commits

Author SHA1 Message Date
d22fcd4f66 2026.2.0 2026-02-09 21:52:40 -05:00
f649d4e902 added checkbox for appointment link javascript 2026-02-09 21:44:23 -05:00
2db17f3675 Fixed display of vehcile notes 2026-02-05 14:07:24 -05:00
d37933fe82 2026.1.7
Added vehicle estimates & invoices to vehicle page
2026-01-31 13:00:19 -05:00
3efc545f0a Compact to remove nil elements from the array 2026-01-31 12:55:47 -05:00
adcc116841 Add estimates and invoices sections to vehicle details view 2026-01-31 12:46:41 -05:00
8bb98d2408 Add methods to retrieve invoices and estimates for vehicles 2026-01-31 12:46:30 -05:00
88b0ffcd6b Updaed readme 2026-01-31 08:00:19 -05:00
6 changed files with 56 additions and 35 deletions

View File

@@ -1,53 +1,55 @@
# Redmine QuickBooks Online Vehicles # Redmine QuickBooks Online Vehicles
A redmine plugin to compliment the Redmine QuickBooks Online Vehicles plug in. A Redmine plugin to complement the [Redmine QuickBooks Online](https://github.com/rickbarrette/redmine_qbo) plugin.
The goal of this project is to allow add vehicle tracking for customer vehicles. The goal of this project is to enable vehicle tracking for customer vehicles within Redmine.
## Requirements
* **Redmine:** 6.1+
* **Parent Plugin:** [Redmine QuickBooks Online](https://github.com/rickbarrette/redmine_qbo)
## Compatibility ## Compatibility
| Redmine QBO Plugin Version | Redmine Version | | Plugin Version | Redmine Version | Ruby Version |
| :--- | :--- | | :--- | :--- | :--- |
| Version 2026.1.2+ | Redmine 6.1 | | 2026.1.2+ | Redmine 6.1 | 3.2+ |
## Features ## Features
Adds vehicles that are owned by customers that can be attached to issues. * **Asset Tracking:** Adds vehicles owned by customers to the system.
* **Issue Association:** Allows these vehicles to be attached directly to Redmine issues for better service tracking.
## Installation ## Installation
1. **Clone the plugin:** 1. **Clone the plugin:**
Clone this repo into your plugin folder and checkout a tagged version. Navigate to your Redmine plugins directory and clone the repository.
```bash ```bash
cd path/to/redmine/plugins cd path/to/redmine/plugins
git clone git@github.com:rickbarrette/redmine_qbo_vehicles.git git clone git@github.com:rickbarrette/redmine_qbo_vehicles.git
cd redmine_qbo_vehicles cd redmine_qbo_vehicles
git checkout <tag> git checkout <tag>
``` ```
*(Note: Replace `<tag>` with the specific release version you wish to use, or omit the last line to use the main branch.)*
2. **Install dependencies:** *Crucial for Redmine 6 / Rails 7 compatibility.* 2. **Install dependencies:**
*Crucial for Redmine 6 / Rails 7 compatibility.*
Bash ```bash
```
bundle install bundle install
``` ```
3. **Migrate your database:** 3. **Migrate your database:**
```bash
Bash
```
bundle exec rake redmine:plugins:migrate RAILS_ENV=production bundle exec rake redmine:plugins:migrate RAILS_ENV=production
``` ```
4. **Restart Redmine:** You must restart your Redmine server instance for the plugin and hooks to load. 4. **Restart Redmine:**
You must restart your Redmine server instance (e.g., Puma, Passenger, Unicorn) for the plugin and hooks to load correctly.
## Usage ## Usage
Simply add vehicles to customers via Customer Profile 1. **Add a Vehicle:** Navigate to a Customer Profile. You will see a new option to add vehicles to that customer.
2. **Link to Issue:** Once a vehicle is added to a customer, it can be selected and attached to an Issue relevant to that customer.
Once a customer is attached to the customer, they can be attached to an issue.
## License ## License

View File

@@ -72,6 +72,16 @@ class Vehicle < ActiveRecord::Base
self.name = to_s self.name = to_s
end end
# reurns all invoices for this vehicle
def invoices
self.issues.flat_map(&:invoices).uniq.compact
end
# returns all estimates for this vehicle
def estimates
self.issues.flat_map(&:estimate).uniq.compact
end
private private
# init method to pull JSON details from NHTSA # init method to pull JSON details from NHTSA

View File

@@ -10,9 +10,5 @@
<div class="vehicle_notes attribute"> <div class="vehicle_notes attribute">
<div class="label"><span><%=t(:field_notes)%></span>:</div> <div class="label"><span><%=t(:field_notes)%></span>:</div>
<div class="value"> <pre class="value" id="note-display" style="text-align: left; white-space: pre-wrap; font-family: inherit; "><%=notes%></pre>
<pre id="note-display" style="text-align: left; white-space: pre-wrap; font-family: inherit; ">
<%=notes%>
</pre>
</div>
</div> </div>

View File

@@ -3,6 +3,7 @@
<% vehicles.each do |vehicle| %> <% vehicles.each do |vehicle| %>
<div class="row"> <div class="row">
<div> <div>
<%= check_box_tag "vehicle_ids[]", vehicle.id, false, onchange: "updateLink()", data: { url: vehicle_path(vehicle).html_safe, text: vehicle.to_s }, class: "appointment" %>
<b><%= link_to "##{vehicle.id}", vehicle_path(vehicle) %> </b> <b><%= link_to "##{vehicle.id}", vehicle_path(vehicle) %> </b>
</div> </div>

View File

@@ -2,6 +2,18 @@
<%= render partial: 'vehicles/details', locals: {vehicle: @vehicle} %> <%= render partial: 'vehicles/details', locals: {vehicle: @vehicle} %>
<div class="splitcontent">
<div class="splitcontentleft">
<h4><%=t(:estimates)%>:</h4>
<%= render partial: 'estimates/list', locals: {estimates: @vehicle.estimates} %>
</div>
<div class="splitcontentleft">
<h4><%=t(:label_invoices)%>:</h4>
<%= render partial: 'invoices/list', locals: {invoices: @vehicle.invoices} %>
</div>
</div>
<h3><%=@issues.open.count%> <%=t(:label_open_issues)%></h3> <h3><%=@issues.open.count%> <%=t(:label_open_issues)%></h3>
<%= render partial: 'issues/list_simple', locals: {issues: @issues.open} %> <%= render partial: 'issues/list_simple', locals: {issues: @issues.open} %>

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.6' version '2026.2.0'
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'