remocodebe / laravel-nova-calendar-tool
Calendar tool for Laravel Nova.
Requires
- spatie/laravel-google-calendar: ^3.3.1
README
This is a package for Laravel Nova which allows you to create, update and delete events on the calendar. It also has a Google Calendar integration.
Screeenshots
Requirements
- PHP >= 7.1
- Laravel application with Laravel Nova installed
Installation
Install the package via composer:
composer require remocodebe/laravel-nova-calendar-tool
Publish the migration:
php artisan vendor:publish --provider='Czemu\NovaCalendarTool\ToolServiceProvider' --tag="migrations"
Run the migration:
php artisan migrate
Publish the config (optional):
php artisan vendor:publish --provider='Czemu\NovaCalendarTool\ToolServiceProvider' --tag="config"
Register the tool in the tools
method of the NovaServiceProvider
:
// app/Providers/NovaServiceProvider.php
// ...
public function tools()
{
return [
// ...
new \Czemu\NovaCalendarTool\NovaCalendarTool,
];
}
Google Calendar Integration
This step is optional. If you want to synchronize your events with Google Calendar you have to publish the configuration file from spatie/laravel-google-calendar package:
php artisan vendor:publish --provider="Spatie\GoogleCalendar\GoogleCalendarServiceProvider"
This will create the config/google-calendar.php
file with the following content:
<?php
return [
/*
* Path to the json file containing the credentials.
*/
'service_account_credentials_json' => storage_path('app/google-calendar/service-account-credentials.json'),
/*
* The id of the Google Calendar that will be used by default.
*/
'calendar_id' => env('GOOGLE_CALENDAR_ID'),
];
So next, you have to insert GOOGLE_CALENDAR_ID=your_id
into the .env
file (it's in the Google Calendar settings page) and the account credentials into the storage/app/google-calendar/service-account-credentials.json
file (you can obtain it from Google API Console). Both of these things are explained here.
Artisan Commands
Export all events to Google Calendar
php artisan nova-calendar:export
Import all events from Google Calendar
php artisan nova-calendar:import
Credits
License
The MIT License (MIT). Please see the LICENSE.md file for more information.