Skip to content

Commit

Permalink
wip on admin projects
Browse files Browse the repository at this point in the history
  • Loading branch information
gheorghelupu17 committed Oct 13, 2023
1 parent 2801a01 commit 0a9c437
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 12 deletions.
28 changes: 25 additions & 3 deletions app/Filament/Resources/ProjectResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ class ProjectResource extends Resource

protected static ?string $navigationIcon = 'heroicon-o-collection';

protected static function getNavigationBadge(): ?string
{

return (string) static::$model::whereIsPublished()->count();
}

public static function form(Form $form): Form
{
return $form
Expand Down Expand Up @@ -108,7 +114,7 @@ public static function table(Table $table): Table
]),
Tables\Columns\TextColumn::make('name'),
Tables\Columns\TextColumn::make('category'),
Tables\Columns\TextColumn::make('target_budget'),

Tables\Columns\TextColumn::make('created_at')->date(),
]);
}
Expand Down Expand Up @@ -162,11 +168,27 @@ public static function getPages(): array
public static function getWidgetColumns(): array
{
return [
Tables\Columns\TextColumn::make('id')->formatStateUsing(function (Project $record) {
return sprintf('#%d',$record->id);
})
->label(__('project.labels.id')),
ResourceNameColumn::make('project_info')
->label(__('project.labels.project')),
Tables\Columns\TextColumn::make('category')
Tables\Columns\TextColumn::make('category')->formatStateUsing(fn (Project $record)=> $record->categories->pluck('name')->join(', '))
->label(__('project.labels.category')),
Tables\Columns\TextColumn::make('target_budget')
Tables\Columns\TextColumn::make('counties')->formatStateUsing(function (Project $record){
// dd($record->is_national);
if ($record->is_national)
{
return __('project.labels.national');
}
return $record->counties->pluck('name')->join(', ');

})
->label(__('project.labels.counties')),
Tables\Columns\TextColumn::make('target_budget')->formatStateUsing(function (Project $record) {
return number_format($record->target_budget, 2, ',', '.');
})
->label(__('project.labels.target_budget')),
Tables\Columns\TextColumn::make('created_at')->date('d-m-Y')
->label(__('project.labels.created_at')),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class ApprovedProject extends BaseProjectWidget

protected function getTableHeading(): string
{
return __('project.heading.approved');
return __('project.heading.approved',['number' => $this->getTableQuery()->count()]);
}

protected function getTableQuery(): Builder
Expand Down
4 changes: 2 additions & 2 deletions app/Filament/Resources/ProjectResource/Widgets/NewProject.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class NewProject extends BaseProjectWidget

protected function getTableHeading(): string
{
return __('project.heading.pending');
return __('project.heading.pending',['number' => $this->getTableQuery()->count()]);
}

protected function getTableQuery(): Builder
Expand All @@ -40,7 +40,7 @@ protected function getTableActions(): array

ViewAction::make()
->label(__('project.actions.view'))
->url(fn (Project $record) => route('filament.resources.projects.edit', $record))
->url(fn (Project $record) => route('filament.resources.projects.view', $record))
->icon(null)
->size('sm'),
Action::make('edit')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class RejectedProject extends BaseProjectWidget

protected function getTableHeading(): string
{
return __('project.heading.rejected');
return __('project.heading.rejected', ['number' => $this->getTableQuery()->count()]);
}

protected function getTableQuery(): Builder
Expand Down
1 change: 1 addition & 0 deletions app/Models/Project.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ class Project extends Model implements HasMedia
'videos' => 'array',
'external_links' => 'array',
'start' => 'date:Y-m-d',
'is_national' => 'boolean',
'end' => 'date:Y-m-d',
'accepting_volunteers' => 'boolean',
'accepting_comments' => 'boolean',
Expand Down
4 changes: 4 additions & 0 deletions app/Policies/ProjectPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ public function viewAny(User $user): bool

public function view(User $user, Project $project): bool
{
if ($user->isSuperAdmin())
{
return true;
}
return $user->belongsToOrganization($project->organization);
}

Expand Down
1 change: 0 additions & 1 deletion app/Services/ProjectService.php
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ public function changeStatus($id, string $status): void
}
$this->project->status = ProjectStatus::pending->value;
$this->project->save();
// dd($this->project);
if ($status === ProjectStatus::approved->value) {
$this->sendCreateNotifications($this->project);
}
Expand Down
11 changes: 7 additions & 4 deletions lang/ro/project.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
'disabled' => 'Inactivă',
],
'actions' => [
'view' => 'Vezi',
'edit' => 'Editează',
'approve' => 'Aprobă',
'reject' => 'Respinge',
Expand All @@ -33,19 +34,21 @@
'other' => 'Altele',
],
'heading' => [
'pending' => 'Proiecte in curs de aprobare',
'change_request' => 'Proiecte cu modificări',
'approved' => 'Proiecte aprobate',
'rejected' => 'Proiecte refuzate',
'pending' => 'Proiecte in curs de aprobare (:number)',
'change_request' => 'Proiecte cu modificări (:number)',
'approved' => 'Proiecte aprobate (:number)',
'rejected' => 'Proiecte refuzate (:number)',
],
'label' => [
'singular' => 'Proiect',
'plural' => 'Proiecte',
],

'labels' => [
'id' => 'ID',
'project' => 'Proiect',
'category' => 'Categorie',
'national' => 'Național',
'target_budget' => 'Target',
'created_at' => 'Data creării',
'organization' => 'Organizație',
Expand Down

0 comments on commit 0a9c437

Please sign in to comment.