feat: Email DKIM/SPF/DMARC config + year_established data fill

- Added release notes v1.19.0 with today's changes
- Email: DKIM, SPF, DMARC configured for nordabiznes.pl
- Data: year_established filled for 71/111 companies (64%)
- Script: fix_year_established.py for KRS date migration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Maciej Pienczyn 2026-01-14 15:01:01 +01:00
parent c8075e0872
commit 22e73e4f80
2 changed files with 59 additions and 0 deletions

17
app.py
View File

@ -8786,6 +8786,23 @@ def report_categories():
def release_notes(): def release_notes():
"""Historia zmian platformy.""" """Historia zmian platformy."""
releases = [ releases = [
{
'version': 'v1.19.0',
'date': '14 stycznia 2026',
'badges': ['new', 'improve'],
'new': [
'Email: Konfiguracja DKIM, SPF i DMARC dla domeny nordabiznes.pl',
'Email: Wysyłka z adresu noreply@nordabiznes.pl (Microsoft 365)',
'Dane firm: Rok założenia uzupełniony dla 71 z 111 firm (64%)',
'Dane firm: Automatyczne uzupełnianie z KRS (krs_registration_date)',
'Dane firm: Automatyczne uzupełnianie z CEIDG (business_start_date)',
'Integracja: API CEIDG (dane.biznes.gov.pl) do pobierania danych JDG',
],
'improve': [
'Skrypt testowy wysyłki emaili (scripts/test_email_send.py)',
'Lean Idea: Dane uzupełnione ręcznie (firma wykreślona z KRS w 2020)',
],
},
{ {
'version': 'v1.18.0', 'version': 'v1.18.0',
'date': '14 stycznia 2026', 'date': '14 stycznia 2026',

View File

@ -0,0 +1,42 @@
#!/usr/bin/env python3
"""
Uzupełnia year_established na podstawie krs_registration_date
dla firm które mają datę KRS ale brak roku założenia.
"""
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from dotenv import load_dotenv
load_dotenv()
from database import SessionLocal, Company
def main():
db = SessionLocal()
try:
# Firmy z datą KRS ale bez year_established
companies = db.query(Company).filter(
Company.krs_registration_date.isnot(None),
Company.year_established.is_(None)
).all()
print(f"Znaleziono {len(companies)} firm do uzupełnienia\n")
for company in companies:
year = company.krs_registration_date.year
print(f" {company.name}: {company.krs_registration_date} -> rok {year}")
company.year_established = year
db.commit()
print(f"\n✅ Uzupełniono rok założenia dla {len(companies)} firm")
except Exception as e:
db.rollback()
print(f"❌ Błąd: {e}")
raise
finally:
db.close()
if __name__ == "__main__":
main()