newsroom: Verwaltungszugang „Diesen Newsroom verwalten" (Roadmap 1b.2)
Neue Seite /newsroom/{slug}/verwalten auf den Web-Portalen: schickt den
Anmeldelink an die hinterlegte Firmen-E-Mail (sonst Pressekontakte), zeigt
sie nur maskiert, und funktioniert auch für Firmen ohne veröffentlichte
Meldung. Konto, Zuordnung und Login laufen durch ContactAccessService —
neu dort: Herkunft (profile_claim auf dem Token) und Ziel-Firma, auf deren
Kundenseite der Login landet. 410-entfernte bleiben Tombstone, aufgegangene
Slugs führen zum Überlebenden (MergedNewsroomLookup, geteilt mit der
Newsroom-Seite). 3 Links je Newsroom und Tag, 15 je IP und Stunde.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
a3e0042055
commit
0c1c072487
15 changed files with 665 additions and 37 deletions
|
|
@ -6,6 +6,7 @@ use App\Http\Controllers\Web\CategoryController;
|
|||
use App\Http\Controllers\Web\ContactController;
|
||||
use App\Http\Controllers\Web\HomeController;
|
||||
use App\Http\Controllers\Web\LegacyMediaRedirectController;
|
||||
use App\Http\Controllers\Web\NewsroomClaimController;
|
||||
use App\Http\Controllers\Web\NewsroomDetailController;
|
||||
use App\Http\Controllers\Web\NewsroomsController;
|
||||
use App\Http\Controllers\Web\PreiseController;
|
||||
|
|
@ -242,6 +243,12 @@ Route::prefix('{edition}')->whereIn('edition', SetEdition::EDITIONS)->group(func
|
|||
Route::get('suche', SucheController::class)->name('suche');
|
||||
Route::get('newsrooms', NewsroomsController::class)->name('newsrooms');
|
||||
Route::get('newsroom/{slug}', NewsroomDetailController::class)->name('newsroom');
|
||||
// „Diesen Newsroom verwalten" (Roadmap 1b.2): Anmeldelink an die
|
||||
// hinterlegte Firmen-E-Mail, unabhängig von der öffentlichen Sichtbarkeit.
|
||||
Route::get('newsroom/{slug}/verwalten', [NewsroomClaimController::class, 'show'])->name('newsroom.claim');
|
||||
Route::post('newsroom/{slug}/verwalten', [NewsroomClaimController::class, 'store'])
|
||||
->middleware('throttle:10,1')
|
||||
->name('newsroom.claim.store');
|
||||
Route::view('api', 'web.api')->name('api');
|
||||
Route::view('hilfe', 'web.hilfe')->name('hilfe');
|
||||
Route::view('impressum', 'web.impressum')->name('impressum');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue