dev-master
9999999-devLaravel Calendar Event
MIT
The Requires
- php >=7.1
The Development Requires
laravel calendar event laravel-calendar-event
Wallogit.com
2017 © Pedro Peláez
Laravel Calendar Event
composer require t1k3/laravel-calendar-event
After updating composer, add the ServiceProvider to the providers array in config/app.php, (*2)
T1k3\LaravelCalendarEvent\ServiceProvider::class,
You need publish to the config., (*3)
php artisan vendor:publish --provider="T1k3\LaravelCalendarEvent\ServiceProvider"
You need to run the migrations for this package., (*4)
php artisan migrate
If you like to attach User and/or Place then must have:
* configurate config/calendar-event.php
* implements UserInterface, PlaceInterface on your Models
* you can use CalendarEventUserTrait, CalendarEventPlaceTrait in Models, (*5)
use T1k3\LaravelCalendarEvent\Interfaces\PlaceInterface;
use T1k3\LaravelCalendarEvent\Traits\CalendarEventPlaceTrait;
class Place extends Model implements PlaceInterface
{
use CalendarEventPlaceTrait;
}
use T1k3\LaravelCalendarEvent\Models\CalendarEvent;
use T1k3\LaravelCalendarEvent\Enums\RecurringFrequenceType;
$calendarEvent = new CalendarEvent();
$calendarEvent = $calendarEvent->createCalendarEvent([
'title' => 'Lorem ipsum',
'start_datetime' => Carbon::parse('2017-08-25 16:00:00'),
'end_datetime' => Carbon::parse('2017-08-25 17:30:00'),
'description' => 'Lorem ipsum dolor sit amet',
'is_recurring' => true,
'frequence_number_of_recurring' => 1,
'frequence_type_of_recurring' => RecurringFrequenceType::WEEK,
'is_public' => true,
'end_of_recurring' => Carbon::parse('2017-09-08')
], $user = null, $place = null);
$calendarEvent = CalendarEvent::find($id);
$calendarEventUpdated = $calendarEvent->editCalendarEvent([
'start_datetime' => Carbon::parse('2017-08-26'),
'is_recurring' => false,
], $user = null, $place = null);
// $calendarEventUpdated === null ? dd('NOT_MODIFIED') : dd('MODIFIED', $calendarEventUpdated);
$calendarEvent = CalendarEvent::find($id);
$calendarEventUpdated = $calendarEvent->updateCalendarEvent([
'start_datetime' => Carbon::parse('2017-08-26'),
'is_recurring' => false,
], $user = null, $place = null);
$calendarEvent = CalendarEvent::find($id); $isDeleted = $calendarEvent->deleteCalendarEvent($isRecurring = null);
use T1k3\LaravelCalendarEvent\Models\TemplateCalendarEvent;
$templateCalendarEvent = TemplateCalendarEvent::find($id);
$calendarEventUpdated = $templateCalendarEvent->editCalendarEvent(Carbon::parse('2017-08-30'), [
'description' => 'Foo Bar'
], $user = null, $place = null);
// $calendarEventUpdated === null ? dd('NOT_MODIFIED') : dd('MODIFIED', $calendarEventUpdated);
use T1k3\LaravelCalendarEvent\Models\TemplateCalendarEvent;
$templateCalendarEvent = TemplateCalendarEvent::find($id);
$calendarEventUpdated = $templateCalendarEvent->updateCalendarEvent(Carbon::parse('2017-08-30'), [
'description' => 'Foo Bar'
], $user = null, $place = null);
$templateCalendarEvent = TemplateCalendarEvent::find($id);
$isDeleted = $templateCalendarEvent->deleteCalendarEvent(Carbon::parse('2017-08-30'), $isRecurring = null);
If the CalendarEvent is not exist then it is append is_not_exists attribute with true value, (*6)
$calendarEvents = CalendarEvent::showPotentialCalendarEventsOfMonth(Carbon::parse('2017-08'));
Do NOT forget the Laravel Task Scheduling - The command run at hourly in schedule, (*7)
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1 # OR manually php artisan generate:calendar-event
Do NOT forget the validation - start_datetime - end_datetime, (*8)
$ docker run -it --rm -v $PWD:/app -w /app epcallan/php7-testing-phpunit:7.2-phpunit7 bash $ composer install $ ./vendor/bin/upgrade-carbon
$ docker run -it --rm -v $PWD:/app -w /app epcallan/php7-testing-phpunit:7.2-phpunit7 bash $ composer install $ ./vendor/bin/phpunit
TemplateCalendarEvent::events() to TemplateCalendarEvent::calendarEvents()
Laravel Calendar Event
MIT
laravel calendar event laravel-calendar-event