removed all references to credits. now credits are completely replaced by addons.

This commit is contained in:
Codex Agent
2025-12-01 15:50:17 +01:00
parent b8e515a03c
commit 28539754a7
76 changed files with 97 additions and 2533 deletions

View File

@@ -62,11 +62,6 @@ class EventPurchaseResource extends Resource
'monthly_agency' => 'Agency Subscription',
])
->required(),
TextInput::make('credits_added')
->label('Credits hinzugefügt')
->numeric()
->required()
->minValue(0),
TextInput::make('price')
->label('Preis')
->numeric()
@@ -111,10 +106,6 @@ class EventPurchaseResource extends Resource
'monthly_pro' => 'warning',
default => 'gray',
}),
TextColumn::make('credits_added')
->label('Credits')
->badge()
->color('success'),
TextColumn::make('price')
->label('Preis')
->money('EUR')
@@ -183,7 +174,6 @@ class EventPurchaseResource extends Resource
->visible(fn (EventPurchase $record): bool => $record->transaction_id && is_null($record->refunded_at))
->action(function (EventPurchase $record) {
$record->update(['refunded_at' => now()]);
$record->tenant->decrement('event_credits_balance', $record->credits_added);
Log::info('Refund processed for purchase ID: ' . $record->id);
}),
])

View File

@@ -43,10 +43,6 @@ class PurchaseHistoryResource extends Resource
->label(__('admin.purchase_history.fields.package'))
->required()
->maxLength(255),
Forms\Components\TextInput::make('credits_added')
->label(__('admin.purchase_history.fields.credits'))
->numeric()
->required(),
Forms\Components\TextInput::make('price')
->label(__('admin.purchase_history.fields.price'))
->numeric()
@@ -81,11 +77,6 @@ class PurchaseHistoryResource extends Resource
->badge()
->sortable()
->searchable(),
Tables\Columns\TextColumn::make('credits_added')
->label(__('admin.purchase_history.fields.credits'))
->badge()
->color(fn (int $state): string => $state > 0 ? 'success' : ($state < 0 ? 'danger' : 'gray'))
->sortable(),
Tables\Columns\TextColumn::make('price')
->label(__('admin.purchase_history.fields.price'))
->formatStateUsing(fn ($state, PurchaseHistory $record): string => number_format((float) $state, 2).' '.($record->currency ?? 'EUR'))

View File

@@ -56,10 +56,6 @@ class TenantResource extends Resource
->email()
->required()
->maxLength(255),
TextInput::make('event_credits_balance')
->label(__('admin.tenants.fields.event_credits_balance'))
->numeric()
->readOnly(),
TextInput::make('paddle_customer_id')
->label('Paddle Customer ID')
->maxLength(191)
@@ -112,10 +108,6 @@ class TenantResource extends Resource
->label('Paddle Customer')
->toggleable(isToggledHiddenByDefault: true)
->formatStateUsing(fn ($state) => $state ?: '-'),
Tables\Columns\TextColumn::make('event_credits_balance')
->label(__('admin.tenants.fields.event_credits_balance'))
->badge()
->color(fn (int $state): string => $state <= 0 ? 'danger' : ($state < 5 ? 'warning' : 'success')),
Tables\Columns\TextColumn::make('active_reseller_package_id')
->label(__('admin.tenants.fields.active_package'))
->badge()
@@ -177,44 +169,6 @@ class TenantResource extends Resource
'metadata' => ['reason' => $data['reason'] ?? 'manual assignment'],
]);
}),
Actions\Action::make('adjust_credits')
->label(__('admin.tenants.actions.adjust_credits'))
->icon('heroicon-o-banknotes')
->authorize(fn (Tenant $record): bool => auth()->user()?->can('adjustCredits', $record) ?? false)
->form([
Forms\Components\TextInput::make('delta')
->label(__('admin.tenants.actions.adjust_credits_delta'))
->numeric()
->required()
->rule('integer')
->helperText(__('admin.tenants.actions.adjust_credits_delta_hint')),
Forms\Components\Textarea::make('reason')
->label(__('admin.tenants.actions.adjust_credits_reason'))
->rows(3)
->maxLength(500),
])
->action(function (Tenant $record, array $data): void {
$delta = (int) ($data['delta'] ?? 0);
if ($delta === 0) {
return;
}
$newBalance = max(0, $record->event_credits_balance + $delta);
$record->forceFill([
'event_credits_balance' => $newBalance,
])->save();
Notification::make()
->title(__('admin.tenants.actions.adjust_credits_success_title'))
->body(__('admin.tenants.actions.adjust_credits_success_body', [
'delta' => $delta,
'balance' => $newBalance,
]))
->success()
->send();
}),
Actions\Action::make('suspend')
->label('Suspendieren')
->color('danger')