Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
andreiio committed Dec 8, 2023
1 parent 2453729 commit 23844e2
Show file tree
Hide file tree
Showing 9 changed files with 178 additions and 32 deletions.
24 changes: 24 additions & 0 deletions app/Enums/CaseStatus.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

declare(strict_types=1);

namespace App\Enums;

use App\Concerns;

enum CaseStatus: string
{
use Concerns\Enums\Arrayable;
use Concerns\Enums\Comparable;
use Concerns\Enums\HasLabel;

case ACTIVE = 'active';
case REACTIVATED = 'reactivated';
case MONITORING = 'monitoring';
case CLOSED = 'closed';

protected function labelKeyPrefix(): ?string
{
return 'beneficiary.status';
}
}
37 changes: 32 additions & 5 deletions app/Filament/Resources/BeneficiaryResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,26 +49,53 @@ public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('id'),
TextColumn::make('id')
->label(__('field.case_id'))
->extraHeaderAttributes([
'class' => 'w-1',
]),

TextColumn::make('full_name')
->label(__('field.beneficiary'))
->searchable(),

TextColumn::make('created_at')
->date(),
->label(__('field.open_at'))
->date()
->extraHeaderAttributes([
'class' => 'w-1',
]),

TextColumn::make('last_evaluated_at')
->date(),
->label(__('field.last_evaluated_at'))
->date()
->extraHeaderAttributes([
'class' => 'w-1',
]),

TextColumn::make('last_serviced_at')
->date(),
->label(__('field.last_serviced_at'))
->date()
->extraHeaderAttributes([
'class' => 'w-1',
]),

TextColumn::make('status')
->badge(),
->label(__('field.status'))
->badge()
->formatStateUsing(fn ($state) => $state?->label())
->extraHeaderAttributes([
'class' => 'w-1',
]),
])
->filters([
//
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
])
->actions([
Tables\Actions\ViewAction::make(),
]);
Expand Down
16 changes: 10 additions & 6 deletions app/Models/Beneficiary.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,18 @@

namespace App\Models;

use App\Enums\Gender;
use App\Concerns\BelongsToOrganization;
use App\Concerns\HasCitizenship;
use App\Concerns\HasEthnicity;
use App\Concerns\HasUlid;
use App\Enums\CaseStatus;
use App\Enums\CivilStatus;
use App\Concerns\HasEthnicity;
use App\Concerns\HasCitizenship;
use App\Enums\Gender;
use App\Enums\ResidenceEnvironment;
use App\Concerns\BelongsToOrganization;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;

class Beneficiary extends Model
{
Expand Down Expand Up @@ -55,6 +56,8 @@ class Beneficiary extends Model
'primary_phone',
'backup_phone',
'contact_notes',

'status',
];

protected $casts = [
Expand All @@ -64,6 +67,7 @@ class Beneficiary extends Model
'legal_residence_environment' => ResidenceEnvironment::class,
'effective_residence_environment' => ResidenceEnvironment::class,
'same_as_legal_residence' => 'boolean',
'status' => CaseStatus::class,
];

public function legalResidenceCounty(): BelongsTo
Expand Down
37 changes: 37 additions & 0 deletions app/Providers/Filament/OrganizationPanelProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,16 @@
use App\Filament\Pages\Tenancy\EditOrganizationProfile;
use App\Http\Middleware\ApplyTenantScopes;
use App\Models\Organization;
use Filament\Forms\Components\DateTimePicker;
use Filament\Http\Middleware\Authenticate;
use Filament\Http\Middleware\DisableBladeIconComponents;
use Filament\Http\Middleware\DispatchServingFilamentEvent;
use Filament\Infolists\Infolist;
use Filament\Pages\Page;
use Filament\Panel;
use Filament\PanelProvider;
use Filament\Support\Colors\Color;
use Filament\Tables\Table;
use Filament\Widgets;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
use Illuminate\Cookie\Middleware\EncryptCookies;
Expand All @@ -30,6 +33,23 @@

class OrganizationPanelProvider extends PanelProvider
{
public static string $defaultDateDisplayFormat = 'd.m.Y';

public static string $defaultDateTimeDisplayFormat = 'd.m.Y H:i';

public static string $defaultDateTimeWithSecondsDisplayFormat = 'd.m.Y H:i:s';

public static string $defaultTimeDisplayFormat = 'H:i';

public static string $defaultTimeWithSecondsDisplayFormat = 'H:i:s';

public function register(): void
{
parent::register();

$this->setDefaultDateTimeDisplayFormats();
}

public function boot(): void
{
Livewire::component('user_personal_info', UserPersonalInfo::class);
Expand Down Expand Up @@ -97,4 +117,21 @@ public function panel(Panel $panel): Panel
// ApplyTenantScopes::class,
], isPersistent: true);
}

protected function setDefaultDateTimeDisplayFormats(): void
{
Table::$defaultDateDisplayFormat = static::$defaultDateDisplayFormat;
Table::$defaultDateTimeDisplayFormat = static::$defaultDateTimeDisplayFormat;
Table::$defaultTimeDisplayFormat = static::$defaultTimeDisplayFormat;

Infolist::$defaultDateDisplayFormat = static::$defaultDateDisplayFormat;
Infolist::$defaultDateTimeDisplayFormat = static::$defaultDateTimeDisplayFormat;
Infolist::$defaultTimeDisplayFormat = static::$defaultTimeDisplayFormat;

DateTimePicker::$defaultDateDisplayFormat = static::$defaultDateDisplayFormat;
DateTimePicker::$defaultDateTimeDisplayFormat = static::$defaultDateTimeDisplayFormat;
DateTimePicker::$defaultDateTimeWithSecondsDisplayFormat = static::$defaultDateTimeWithSecondsDisplayFormat;
DateTimePicker::$defaultTimeDisplayFormat = static::$defaultTimeDisplayFormat;
DateTimePicker::$defaultTimeWithSecondsDisplayFormat = static::$defaultTimeWithSecondsDisplayFormat;
}
}
3 changes: 3 additions & 0 deletions database/factories/BeneficiaryFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

namespace Database\Factories;

use App\Enums\CaseStatus;
use App\Enums\CivilStatus;
use App\Enums\Gender;
use App\Enums\IDType;
Expand Down Expand Up @@ -42,6 +43,8 @@ public function definition(): array

'primary_phone' => fake()->phoneNumber(),
'backup_phone' => fake()->boolean(25) ? fake()->phoneNumber() : null,

'status' => fake()->randomElement(CaseStatus::values()),
];
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ public function up(): void
->constrained()
->cascadeOnDelete();

$table->string('status');

$table->string('first_name')->nullable();
$table->string('last_name')->nullable();
$table->string('prior_name')->nullable();
Expand Down
8 changes: 8 additions & 0 deletions lang/ro/beneficiary.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,12 @@
],
],
],

'status' => [
'active' => 'Activ',
'reactivated' => 'Reactivat',
'monitoring' => 'În monitorizare',
'closed' => 'Închis',
],

];
43 changes: 22 additions & 21 deletions lang/ro/field.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,23 @@
return [

'age' => 'Vârstă',
'backup_phone' => 'Număr telefon rezervă',
'beneficiary' => 'Beneficiar',
'birthdate' => 'Data nașterii',
'birthplace' => 'Locul nașterii',
'case_id' => 'Număr caz',
'citizenship' => 'Cetățenie',
'city' => 'Localitate',
'civil_status' => 'Stare civilă',
'cnp' => 'CNP',
'contact_notes' => 'Notițe legate de contactare beneficiar',
'county' => 'Județ',
'birthdate' => 'Data nașterii',
'birthplace' => 'Locul nașterii',
'create_beneficiary_consent' => 'Confirm că s-a obținut acordul beneficiarului pentru înregistrarea datelor personale și utilizarea datelor rezultate din evaluare și intervenție în scopul oferirii serviciilor de management de caz.',
'date' => 'Data',
'effective_residence_address' => 'Adresă domiciliu efectiv',
'effective_residence_city' => 'Oraș/UAT domiciliu efectiv',
'effective_residence_county' => 'Județ domiciliu efectiv',
'effective_residence_environment' => 'Mediu rezidență domiciliu efectiv',
'email' => 'Email',
'ethnicity' => 'Etnie',
'first_name' => 'Prenume',
Expand All @@ -27,16 +37,26 @@
'intervention_name' => 'Nume intervenție',
'intervention_reason' => 'Motivul intervenției',
'interventions' => 'Intervenții',
'last_evaluated_at' => 'Ultima evaluare',
'last_name' => 'Nume',
'last_serviced_at' => 'Ultimul serviciu',
'legal_residence_address' => 'Adresă domiciliu legal',
'legal_residence_city' => 'Oraș/UAT domiciliu legal',
'legal_residence_county' => 'Județ domiciliu legal',
'legal_residence_environment' => 'Mediu rezidență domiciliu legal',
'location' => 'Locație',
'notes' => 'Descriere / Observații',
'nurse' => 'Asistent Medical Comunitar',
'open_at' => 'Deschis la',
'organizer' => 'Organizator',
'outside_working_hours' => 'Realizat în afara programului de lucru',
'participants_list' => 'Listă nominală participanți',
'participants' => 'Participanți',
'phone' => 'Telefon',
'primary_phone' => 'Număr telefon primar',
'prior_name' => 'Nume anterior',
'reason_removed' => 'Motiv scoatere din evidență',
'same_as_legal_residence' => 'Domiciliul legal al beneficiarului este și domiciliul efectiv',
'section_details' => ':section - detalii',
'service_name' => 'Nume serviciu',
'service_status' => 'Status serviciu',
Expand All @@ -47,24 +67,5 @@
'start_time' => 'Oră început',
'start_year' => 'Anul de început',
'status' => 'Status',
'prior_name' => 'Nume anterior',
'citizenship' => 'Cetățenie',

'legal_residence_county' => 'Județ domiciliu legal',
'legal_residence_city' => 'Oraș/UAT domiciliu legal',
'legal_residence_address' => 'Adresă domiciliu legal',
'legal_residence_environment' => 'Mediu rezidență domiciliu legal',

'same_as_legal_residence' => 'Domiciliul legal al beneficiarului este și domiciliul efectiv',

'effective_residence_county' => 'Județ domiciliu efectiv',
'effective_residence_city' => 'Oraș/UAT domiciliu efectiv',
'effective_residence_address' => 'Adresă domiciliu efectiv',
'effective_residence_environment' => 'Mediu rezidență domiciliu efectiv',

'primary_phone' => 'Număr telefon primar',
'backup_phone' => 'Număr telefon rezervă',
'contact_notes' => 'Notițe legate de contactare beneficiar',

'create_beneficiary_consent' => 'Confirm că s-a obținut acordul beneficiarului pentru înregistrarea datelor personale și utilizarea datelor rezultate din evaluare și intervenție în scopul oferirii serviciilor de management de caz.',
];
40 changes: 40 additions & 0 deletions lang/ro/placeholder.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,44 @@
'phone' => 'Introdu număr telefon',
'contact_notes' => 'Adaugă interval orar sau orice detalii relevante legate de preferințe în contactare',

// 'accreditation_number' => 'Introdu seria și numărul',
// 'activity' => 'Introdu activitatea',
// 'age' => 'Vârstă',
// 'all_beneficiaries' => 'Toți beneficiarii',
// 'choose_services' => 'Alegeți unul sau mai multe servicii',
//
// 'city' => 'Alege localitatea',
//
//
// 'course_credits' => 'Total credite EMC obținute',
// 'course_name' => 'Numele cursului EMC',
// 'course_provider' => 'Numele organizatiei care a oferit cursul',
// 'course_theme' => 'Tema cursului EMC',
// 'date' => 'Alege o dată',
// 'email' => 'Adresă de email',
// 'employer_name' => 'Numele organizației angajatoare',
// 'employer_ongoing' => 'Lucrez aici în prezent',
// 'employer_project' => 'Introdu numele proiectului',
// 'employer_type' => 'Tip angajator',
// 'family' => 'Alege o familie',
// 'household' => 'Alege o gospodărie',
// 'id_number' => 'Introdu numărul actului de identitate',
// 'id_serial' => 'Introdu seria actului de identitate',
// 'id_type' => 'Alege un tip de act de identitate',
// 'intervention_reason' => 'Motivul intervenției',

// 'location' => 'Introdu locația',
// 'no_segmentation_age' => 'Fără segmentare pe vârstă',
// 'no_segmentation_city' => 'Fără segmentare pe localitate',
// 'no_segmentation_county' => 'Fără segmentare pe județ',
// 'no_segmentation_gender' => 'Fără segmentare pe sex',
// 'organizer' => 'Introdu organizatorul',
// 'participants' => 'Introdu număr beneficiari',
//
//
//
// 'study_duration' => 'Total durată în ani',
// 'study_institution' => 'Introdu numele instituției',
// 'study_name' => 'Numele programului educațional',

];

0 comments on commit 23844e2

Please sign in to comment.