Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
b072315
Apply Laravel coding style
laravel-shift Jul 31, 2025
644b551
Shift core files
laravel-shift Jul 31, 2025
20f766b
Adopt new PHP attributes in models
laravel-shift Jul 31, 2025
9f909c6
Remove unused `ValidatesRequests` trait
laravel-shift Jul 31, 2025
195216c
Remove unused `AuthorizesRequests` trait
laravel-shift Jul 31, 2025
d5f8115
Modernize controller middleware
laravel-shift Jul 31, 2025
ce85b96
Remove unused `DispatchesJobs` trait
laravel-shift Jul 31, 2025
f7fcbfd
Remove base controller inheritance
laravel-shift Jul 31, 2025
ca6ccc3
Default config files
laravel-shift Jul 31, 2025
a537a0f
Shift `ENV` variables
laravel-shift Jul 31, 2025
427b41b
Add new Laravel `composer run dev` script
laravel-shift Jul 31, 2025
1fa796e
Add `storage/app/private` folder
laravel-shift Jul 31, 2025
7edecb2
Bump Composer dependencies
laravel-shift Jul 31, 2025
966b17b
Adopt Laravel type hints
laravel-shift Jul 31, 2025
bef5daf
Shift cleanup
laravel-shift Jul 31, 2025
4f37728
Fix token signature and update dependencies.
lfarrell Jul 31, 2025
bb86f32
Pull all assets locally
lfarrell Aug 5, 2025
311e662
Move font-awesome to an import
lfarrell Aug 5, 2025
c7193c6
Update dependencies
lfarrell Aug 6, 2025
d9b96c0
Add fontawesome fonts
lfarrell Aug 19, 2025
660145c
Add chosen CSS
lfarrell Aug 19, 2025
04ebdc5
Fix issue with dropdowns not opening and update dependencies
lfarrell Sep 10, 2025
fd4a874
Merge branch 'main' into shift-154397
lfarrell Sep 10, 2025
9f3a05a
Fix issue with modals not displaying
lfarrell Sep 10, 2025
3fca626
Fix issue with datepicker not displaying on all date fields
lfarrell Sep 10, 2025
8b48005
Small security update
lfarrell Sep 11, 2025
eff4678
Replace function that doesn't seem to exist anymore.
lfarrell Sep 18, 2025
b95884f
Fix issue with dates not updating correctly and issue with errors not…
lfarrell Sep 18, 2025
ff9fc2b
Fix casing of markable class fields
lfarrell Sep 18, 2025
ad5689f
Update link
lfarrell Sep 19, 2025
1cfd174
* Move from webpack-mix to vite
lfarrell Sep 24, 2025
cf04c84
Move user table set up to app.js
lfarrell Sep 24, 2025
bc4288a
Fix badge display on the dashboard
lfarrell Sep 25, 2025
e3a8143
* Fix layout and submission of forms
lfarrell Sep 25, 2025
c3fed2d
Fix issue with form not clearing after submission
lfarrell Sep 25, 2025
89d058a
Update readme
lfarrell Sep 25, 2025
ac73a90
Use relative paths for assets
lfarrell Sep 26, 2025
c21e951
Fix issue with batch editing not working.
lfarrell Sep 30, 2025
180feca
Fix issue with batch transfers and instances not working.
lfarrell Sep 30, 2025
a26f359
Fix modal header layout
lfarrell Sep 30, 2025
aec54c0
Fix checkboxes not checking
lfarrell Sep 30, 2025
053e5be
Make sure csrf token is sent
lfarrell Sep 30, 2025
3a4cced
Fix search box sizing
lfarrell Sep 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US
APP_MAINTENANCE_DRIVER=file
APP_MAINTENANCE_STORE=database
PHP_CLI_SERVER_WORKERS=4

BCRYPT_ROUNDS=12

SESSION_ENCRYPT=false
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ Homestead.yaml
.phpunit.result.cache
.phpunit.cache
mysql-connector-java-*
/storage/pail
/.nova
17 changes: 11 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Jitterbug uses the [devbridge autocomplete plugin](https://github.com/devbridge/
1. Define a controller method in the SuggestionsController class for the field using plural naming conventions. You only need to copy and paste one of the exsiting methods and change the parameters for the ```getAutocompleteSuggestions()``` method call to correspond to the model you want the suggestions for, and then the field name.
2. Add a route to routes.php in the 'suggestions' group that references the controller method that was defined in step 1.
3. Go to the form where you want the suggestions to appear, and give the input element a css id name. e.g. #speed, or #recording-location, etc.
4. In app.js, add a jQuery selector using the id you created in step 3, then call autocomplete. The serviceUrl should correspond to the route you created in step 2. For example:
4. In jitterbug.js, add a jQuery selector using the id you created in step 3, then call autocomplete. The serviceUrl should correspond to the route you created in step 2. For example:

```javascript
$('#speed').autocomplete({
Expand All @@ -91,17 +91,22 @@ $('#speed').autocomplete({

## Compiling Assets

Jitterbug uses [Laravel Mix](https://laravel.com/docs/8.x/mix) to compile its assets, including Sass for its css.
Add your css to `resources/assets/sass/app.scss` and then run `npm run dev` in the application terminal to compile the new changes.
Jitterbug uses [Vite](https://laravel.com/docs/12.x/vite) to compile its assets, including Sass for its css.
Add your css to `resources/assets/sass/app.scss` and then run `npm run build` in the application terminal to compile the new changes.
The same goes for any JavaScript changes you make.
You can also toggle whether the assets are minified in `vite.config.js`. You should minify them for production, but can be
useful debug feature to not minifiy them.

For example, in the VM:

```bash
vagrant ssh
cd /vagrant
npm run dev
cd /jitterbug
npm run build
```

Note: if running `build` you may need to run `npm install` first so it picks up the correct C compiler.

## Running [Laravel Dusk](https://laravel.com/docs/8.x/dusk) tests (VM only)

1. Start up the vm and ssh into the VM
Expand All @@ -114,7 +119,7 @@ npm run dev
2. Navigate to the Jitterbug repo folder

```bash
cd /vagrant
cd /jitterbug
```

3. Run the Laravel Dusk tests
Expand Down
14 changes: 6 additions & 8 deletions app/Http/Controllers/Admin/AdminController.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,18 @@
namespace Jitterbug\Http\Controllers\Admin;

use Illuminate\Http\Request;
use Illuminate\Routing\Controllers\HasMiddleware;
use Illuminate\Support\MessageBag;
use Jitterbug\Http\Controllers\Controller;
use Jitterbug\Models\User;

class AdminController extends Controller
class AdminController extends Controller implements HasMiddleware
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
public static function middleware(): array
{
$this->middleware(['auth', 'admin']);
return [
['auth', 'admin'],
];
}

public function index()
Expand Down
14 changes: 6 additions & 8 deletions app/Http/Controllers/Admin/CollectionTypesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use DB;
use Illuminate\Http\Request;
use Illuminate\Routing\Controllers\HasMiddleware;
use Illuminate\Support\MessageBag;
use Jitterbug\Http\Controllers\Controller;
use Jitterbug\Http\Requests\CollectionTypeRequest;
Expand All @@ -14,16 +15,13 @@
/**
* Controller for the management of collection types in the Admin area.
*/
class CollectionTypesController extends Controller
class CollectionTypesController extends Controller implements HasMiddleware
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
public static function middleware(): array
{
$this->middleware(['auth', 'admin']);
return [
['auth', 'admin'],
];
}

public function index(Request $request)
Expand Down
12 changes: 10 additions & 2 deletions app/Http/Controllers/Admin/CollectionsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use DB;
use Illuminate\Http\Request;
use Illuminate\Routing\Controllers\HasMiddleware;
use Illuminate\Support\MessageBag;
use Jitterbug\Http\Controllers\Controller;
use Jitterbug\Http\Requests\CollectionRequest;
Expand All @@ -18,7 +19,7 @@
/**
* Controller for the management of collections in the Admin area.
*/
class CollectionsController extends Controller
class CollectionsController extends Controller implements HasMiddleware
{
protected $solrItems;

Expand All @@ -33,12 +34,19 @@ class CollectionsController extends Controller
*/
public function __construct()
{
$this->middleware(['auth', 'admin']);

$this->solrItems = new SolariumProxy('jitterbug-items');
$this->solrInstances = new SolariumProxy('jitterbug-instances');
$this->solrTransfers = new SolariumProxy('jitterbug-transfers');
}

public static function middleware(): array
{
return [
['auth', 'admin'],
];
}

public function index(Request $request)
{
if ($request->ajax()) {
Expand Down
12 changes: 10 additions & 2 deletions app/Http/Controllers/Admin/DepartmentsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use DB;
use Illuminate\Http\Request;
use Illuminate\Routing\Controllers\HasMiddleware;
use Illuminate\Support\MessageBag;
use Jitterbug\Http\Controllers\Controller;
use Jitterbug\Http\Requests\DepartmentRequest;
Expand All @@ -14,7 +15,7 @@
/**
* Controller for the management of departments in the Admin area.
*/
class DepartmentsController extends Controller
class DepartmentsController extends Controller implements HasMiddleware
{
protected $solrInstances;

Expand All @@ -25,10 +26,17 @@ class DepartmentsController extends Controller
*/
public function __construct()
{
$this->middleware(['auth', 'admin']);

$this->solrInstances = new SolariumProxy('jitterbug-instances');
}

public static function middleware(): array
{
return [
['auth', 'admin'],
];
}

public function index(Request $request)
{
if ($request->ajax()) {
Expand Down
12 changes: 10 additions & 2 deletions app/Http/Controllers/Admin/FormatsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use DB;
use Illuminate\Http\Request;
use Illuminate\Routing\Controllers\HasMiddleware;
use Illuminate\Support\MessageBag;
use Jitterbug\Http\Controllers\Controller;
use Jitterbug\Http\Requests\FormatRequest;
Expand All @@ -17,7 +18,7 @@
/**
* Controller for the management of formats in the Admin area.
*/
class FormatsController extends Controller
class FormatsController extends Controller implements HasMiddleware
{
protected $solrItems;

Expand All @@ -32,12 +33,19 @@ class FormatsController extends Controller
*/
public function __construct()
{
$this->middleware(['auth', 'admin']);

$this->solrItems = new SolariumProxy('jitterbug-items');
$this->solrInstances = new SolariumProxy('jitterbug-instances');
$this->solrTransfers = new SolariumProxy('jitterbug-transfers');
}

public static function middleware(): array
{
return [
['auth', 'admin'],
];
}

public function index(Request $request)
{
if ($request->ajax()) {
Expand Down
12 changes: 10 additions & 2 deletions app/Http/Controllers/Admin/PlaybackMachinesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use DB;
use Illuminate\Http\Request;
use Illuminate\Routing\Controllers\HasMiddleware;
use Illuminate\Support\MessageBag;
use Jitterbug\Http\Controllers\Controller;
use Jitterbug\Http\Requests\PlaybackMachineRequest;
Expand All @@ -14,7 +15,7 @@
/**
* Controller for the management of playback machines in the Admin area.
*/
class PlaybackMachinesController extends Controller
class PlaybackMachinesController extends Controller implements HasMiddleware
{
protected $solrTransfers;

Expand All @@ -25,10 +26,17 @@ class PlaybackMachinesController extends Controller
*/
public function __construct()
{
$this->middleware(['auth', 'admin']);

$this->solrTransfers = new SolariumProxy('jitterbug-transfers');
}

public static function middleware(): array
{
return [
['auth', 'admin'],
];
}

public function index(Request $request)
{
if ($request->ajax()) {
Expand Down
14 changes: 6 additions & 8 deletions app/Http/Controllers/Admin/PmSpeedsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use DB;
use Illuminate\Http\Request;
use Illuminate\Routing\Controllers\HasMiddleware;
use Illuminate\Support\MessageBag;
use Jitterbug\Http\Controllers\Controller;
use Jitterbug\Http\Requests\PmSpeedRequest;
Expand All @@ -13,16 +14,13 @@
/**
* Controller for the management of PM speeds in the Admin area.
*/
class PmSpeedsController extends Controller
class PmSpeedsController extends Controller implements HasMiddleware
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
public static function middleware(): array
{
$this->middleware(['auth', 'admin']);
return [
['auth', 'admin'],
];
}

public function index(Request $request)
Expand Down
14 changes: 6 additions & 8 deletions app/Http/Controllers/Admin/PrefixesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use DB;
use Illuminate\Http\Request;
use Illuminate\Routing\Controllers\HasMiddleware;
use Jitterbug\Http\Controllers\Controller;
use Jitterbug\Http\Requests\PrefixRequest;
use Jitterbug\Models\CollectionType;
Expand All @@ -12,16 +13,13 @@
/**
* Controller for the management of Prefixes in the Admin area.
*/
class PrefixesController extends Controller
class PrefixesController extends Controller implements HasMiddleware
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
public static function middleware(): array
{
$this->middleware(['auth', 'admin']);
return [
['auth', 'admin'],
];
}

public function index(Request $request)
Expand Down
12 changes: 10 additions & 2 deletions app/Http/Controllers/Admin/ProjectsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use DB;
use Illuminate\Http\Request;
use Illuminate\Routing\Controllers\HasMiddleware;
use Illuminate\Support\MessageBag;
use Jitterbug\Http\Controllers\Controller;
use Jitterbug\Http\Requests\ProjectRequest;
Expand All @@ -14,7 +15,7 @@
/**
* Controller for the management of projects in the Admin area.
*/
class ProjectsController extends Controller
class ProjectsController extends Controller implements HasMiddleware
{
protected $solrInstances;

Expand All @@ -25,10 +26,17 @@ class ProjectsController extends Controller
*/
public function __construct()
{
$this->middleware(['auth', 'admin']);

$this->solrInstances = new SolariumProxy('jitterbug-instances');
}

public static function middleware(): array
{
return [
['auth', 'admin'],
];
}

public function index(Request $request)
{
if ($request->ajax()) {
Expand Down
12 changes: 10 additions & 2 deletions app/Http/Controllers/Admin/ReproductionMachinesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use DB;
use Illuminate\Http\Request;
use Illuminate\Routing\Controllers\HasMiddleware;
use Illuminate\Support\MessageBag;
use Jitterbug\Http\Controllers\Controller;
use Jitterbug\Http\Requests\ReproductionMachineRequest;
Expand All @@ -14,7 +15,7 @@
/**
* Controller for the management of reproduction machines in the Admin area.
*/
class ReproductionMachinesController extends Controller
class ReproductionMachinesController extends Controller implements HasMiddleware
{
protected $solrInstances;

Expand All @@ -25,10 +26,17 @@ class ReproductionMachinesController extends Controller
*/
public function __construct()
{
$this->middleware(['auth', 'admin']);

$this->solrInstances = new SolariumProxy('jitterbug-instances');
}

public static function middleware(): array
{
return [
['auth', 'admin'],
];
}

public function index(Request $request)
{
if ($request->ajax()) {
Expand Down
Loading