feat(121+122): smsplanet conversation, notifications, default footer
Phase 121 — SMSPLANET Conversation + Notifications:
- migration 20260512_000110 adds smsplanet conversation + notifications tables
- src/Modules/Sms (SmsConversationService, SmsMessageRepository, SmsplanetWebhookController)
- src/Modules/Notifications (Repository, Controller, ApiController)
- order SMS tab, notification center, sender mode, inbound webhook
- public notifications.js + layouts/app.php integration
Phase 122 — SMSPLANET Default SMS Footer:
- migration 20260512_000111 adds smsplanet_integration_settings.default_footer
- footer appended to test SMS and order SMS, validated against 918 char limit
- settings textarea + compact order SMS note when footer configured
Bundled (could not split per-phase without hunk staging):
- routes/web.php (also carries Phase 118 fakturownia redirects)
- DOCS/{ARCHITECTURE,DB_SCHEMA,TECH_CHANGELOG}.md (118 + 121 + 122 entries)
- .paul/codebase/{architecture,db_schema,tech_changelog}.md (118 + 121 + 122)
- .paul/STATE.md, ROADMAP.md, changelog/2026-05-12.md (UNIFY closure)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -41,6 +41,16 @@ return [
|
||||
'accounting_section' => 'Ksiegowosc',
|
||||
'project_mapping' => 'Mapowanie projektow',
|
||||
],
|
||||
'notifications' => [
|
||||
'title' => 'Powiadomienia',
|
||||
'description' => 'Historia zdarzen wymagajacych uwagi operatora.',
|
||||
'empty' => 'Brak powiadomien.',
|
||||
'actions' => [
|
||||
'open' => 'Otworz',
|
||||
'mark_read' => 'Oznacz jako przeczytane',
|
||||
'mark_all_read' => 'Oznacz wszystkie jako przeczytane',
|
||||
],
|
||||
],
|
||||
'marketplace' => [
|
||||
'title' => 'Marketplace',
|
||||
'description' => 'Aktywne integracje i powiazane oferty marketplace.',
|
||||
@@ -155,6 +165,17 @@ return [
|
||||
'shipments' => 'Przesylki',
|
||||
'payments' => 'Platnosci',
|
||||
'documents' => 'Dokumenty powiazane',
|
||||
'sms' => 'SMS',
|
||||
],
|
||||
'sms' => [
|
||||
'title' => 'Rozmowa SMS',
|
||||
'empty' => 'Brak wiadomosci SMS dla tego zamowienia.',
|
||||
'inbound' => 'Klient',
|
||||
'outbound' => 'Operator',
|
||||
'phone' => 'Numer klienta',
|
||||
'message' => 'Tresc SMS',
|
||||
'footer_note' => 'Skonfigurowana stopka SMSPLANET zostanie dodana automatycznie.',
|
||||
'send' => 'Wyslij SMS',
|
||||
],
|
||||
'items_title' => 'Pozycje',
|
||||
'item_name' => 'Nazwa',
|
||||
@@ -783,6 +804,9 @@ return [
|
||||
'api_key' => 'Klucz API',
|
||||
'api_password' => 'Haslo API',
|
||||
'sender' => 'Pole nadawcy / from',
|
||||
'sender_mode' => 'Tryb nadawcy',
|
||||
'sender_phone' => 'Numer 2WAY',
|
||||
'default_footer' => 'Domyslna stopka SMS',
|
||||
'options' => 'Opcje wysylki',
|
||||
'clear_polish' => 'Zamien polskie znaki na odpowiedniki GSM',
|
||||
'transactional' => 'Wysylka kanalem transakcyjnym',
|
||||
@@ -802,9 +826,17 @@ return [
|
||||
'saved' => 'Haslo API jest zapisane. Pozostaw pole puste, aby nie zmieniac.',
|
||||
'missing' => 'Brak zapisanego hasla API.',
|
||||
],
|
||||
'sender_modes' => [
|
||||
'text' => 'Nadpis',
|
||||
'phone' => 'Numer 2WAY',
|
||||
],
|
||||
'hints' => [
|
||||
'auth_method' => 'SMSPLANET zaleca token Bearer, ale API obsluguje tez klucz i haslo.',
|
||||
'sender' => 'Pole nadawcy musi byc dostepne na koncie SMSPLANET albo miec wartosc testowa dopuszczona przez provider.',
|
||||
'sender_mode' => 'Tryb decyduje, ktora wartosc trafi do pola from w SMSPLANET.',
|
||||
'sender_phone' => 'Numer 2WAY uzywany do dwukierunkowej rozmowy SMS.',
|
||||
'default_footer' => 'Opcjonalna stopka dopisywana do testowych SMS i SMS z rozmowy w zamowieniu. Limit: 300 znakow.',
|
||||
'test_footer' => 'Do testowego SMS zostanie dodana zapisana stopka.',
|
||||
],
|
||||
'status' => [
|
||||
'secret' => 'Sekret API',
|
||||
|
||||
Reference in New Issue
Block a user