Skip to content

Commit

Permalink
installed trainings in PressPanelProvider
Browse files Browse the repository at this point in the history
  • Loading branch information
Kim-the-Diamond committed Jul 12, 2024
1 parent 58607d8 commit dd21cc1
Show file tree
Hide file tree
Showing 16 changed files with 455 additions and 0 deletions.
6 changes: 6 additions & 0 deletions app/Providers/Filament/PressPanelProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,12 @@ public function panel(Panel $panel): Panel

\Moox\Expiry\ExpiryPlugin::make(),


\Moox\Training\TrainingPlugin::make(),
\Moox\Training\TrainingInvitationPlugin::make(),
\Moox\Training\TrainingDatePlugin::make(),
\Moox\Training\TrainingTypePlugin::make(),

]);
}
}
1 change: 1 addition & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"moox/passkey": "*",
"moox/press":"*",
"moox/expiry":"*",
"moox/trainings":"*",
"moox/notifications": "*",
"wikimedia/composer-merge-plugin": "^2.1"
},
Expand Down
16 changes: 16 additions & 0 deletions config/trainings.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

return [
'navigation_sort' => 2001,

// Wire with one or more user models
'user_models' => [
'App Users' => \App\Models\User::class,
],

// Disable manual action buttons in UI
// and queue the provided jobs instead
'create_trainings_action' => true,
'training_invitations_collect_action' => true,
'training_invitations_send_action' => true,
];
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('training_dateables', function (Blueprint $table) {
$table->unsignedBigInteger('training_date_id');
$table->unsignedBigInteger('training_dateable_id');
$table->string('training_dateable_type');

$table->index('training_dateable_id');
$table->index('training_dateable_type');
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('training_dateables');
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('training_dates', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('training_invitation_id');
$table->dateTime('begin');
$table->dateTime('end');
$table->set('type', ['onsite', 'teams', 'webex', 'slack', 'zoom']);
$table->string('link')->nullable();
$table->string('location')->nullable();
$table->integer('min_participants')->nullable();
$table->integer('max_participants')->nullable();
$table->dateTime('sent_at')->nullable();

$table->timestamps();
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('training_dates');
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('training_invitationables', function (Blueprint $table) {
$table->unsignedBigInteger('training_invitation_id');
$table->unsignedBigInteger('training_invitationable_id');
$table->string('training_invitationable_type');

$table->index('training_invitationable_id');
$table->index('training_invitationable_type');
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('training_invitationables');
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('training_invitations', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('training_id');
$table->string('title');
$table->string('slug');
$table->text('content')->nullable();
$table->string('status');

$table->timestamps();
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('training_invitations');
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('training_types', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('title');
$table->string('slug');
$table->text('description')->nullable();

$table->timestamps();
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('training_types');
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('trainingables', function (Blueprint $table) {
$table->unsignedBigInteger('training_id');
$table->unsignedBigInteger('trainingable_id');
$table->string('trainingable_type');

$table->index('trainingable_id');
$table->index('trainingable_type');
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('trainingables');
}
};
52 changes: 52 additions & 0 deletions database/migrations/2024_07_12_084853_create_trainings_table.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('trainings', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('title');
$table->string('slug');
$table->text('description')->nullable();
$table->integer('duration');
$table->string('link');
$table->dateTime('due_at');
$table
->set('cycle', [
'annually',
'half-yearly',
'quarterly',
'monthly',
'every 2 years',
'every 3 years',
'every 4 years',
'every 5 years',
])
->default('annually');
$table->foreignId('source_id');
$table->unsignedBigInteger('training_type_id');
$table->unsignedBigInteger('trainingable_id');
$table->string('trainingable_type');

$table->index('trainingable_id');
$table->index('trainingable_type');

$table->timestamps();
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('trainings');
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('training_dateables', function (Blueprint $table) {
$table
->foreign('training_date_id')
->references('id')
->on('training_dates')
->onUpdate('CASCADE')
->onDelete('CASCADE');
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('training_dateables', function (Blueprint $table) {
$table->dropForeign(['training_date_id']);
});
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('training_dates', function (Blueprint $table) {
$table
->foreign('training_invitation_id')
->references('id')
->on('training_invitations')
->onUpdate('CASCADE')
->onDelete('CASCADE');
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('training_dates', function (Blueprint $table) {
$table->dropForeign(['training_invitation_id']);
});
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('training_invitationables', function (Blueprint $table) {
$table
->foreign('training_invitation_id')
->references('id')
->on('training_invitations')
->onUpdate('CASCADE')
->onDelete('CASCADE');
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('training_invitationables', function (Blueprint $table) {
$table->dropForeign(['training_invitation_id']);
});
}
};
Loading

0 comments on commit dd21cc1

Please sign in to comment.