Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
81 lines
2.8 KiB
Python
81 lines
2.8 KiB
Python
#!/usr/bin/env python3
|
|
"""Import firmy Norda Sp. z o.o. (Norda Tools) do bazy NordaBiz."""
|
|
|
|
import os
|
|
import sys
|
|
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
|
|
from sqlalchemy import create_engine, text
|
|
from sqlalchemy.orm import sessionmaker
|
|
from database import Company, Category, UserCompany, CompanyRole
|
|
|
|
DATABASE_URL = os.environ.get('DATABASE_URL', 'postgresql://nordabiz_app:dev_password@localhost:5433/nordabiz')
|
|
|
|
|
|
def import_company():
|
|
engine = create_engine(DATABASE_URL)
|
|
Session = sessionmaker(bind=engine)
|
|
session = Session()
|
|
|
|
# Check if already exists
|
|
existing = session.query(Company).filter_by(nip='5862425651').first()
|
|
if existing:
|
|
print(f"Firma już istnieje: ID={existing.id}, slug={existing.slug}")
|
|
session.close()
|
|
return
|
|
|
|
# Find category: Handel i Hurtownie (ID=18)
|
|
category = session.query(Category).filter_by(name='Handel i Hurtownie').first()
|
|
if not category:
|
|
print("BŁĄD: Nie znaleziono kategorii 'Handel i Hurtownie'")
|
|
session.close()
|
|
return
|
|
|
|
company = Company(
|
|
slug='norda-tools',
|
|
name='Norda Tools',
|
|
legal_name='Norda Spółka z Ograniczoną Odpowiedzialnością',
|
|
nip='5862425651',
|
|
regon='543609864',
|
|
krs='0001213867',
|
|
email=None, # brak danych kontaktowych
|
|
phone=None,
|
|
website='http://nordatools.pl',
|
|
address_street='ul. Parkowa 6/1D',
|
|
address_city='Gdynia',
|
|
address_postal='81-549',
|
|
category_id=category.id,
|
|
description_short='Hurtowa sprzedaż narzędzi skrawających, elektronarzędzi i wyposażenia warsztatowego.',
|
|
description_full=(
|
|
'Norda Tools to firma specjalizująca się w hurtowej sprzedaży narzędzi skrawających '
|
|
'do obróbki mechanicznej, elektronarzędzi renomowanych marek (Bosch, Metabo, Makita, '
|
|
'Sandvik, Fanar), narzędzi pomiarowych oraz pił taśmowych. Oferuje również serwis '
|
|
'gwarancyjny i pogwarancyjny, ostrzenie narzędzi, wynajem maszyn oraz obróbkę metali. '
|
|
'Firma posiada oddziały w całej Polsce, w tym w Olsztynie.'
|
|
),
|
|
pkd_code='46.90.Z',
|
|
data_quality='enhanced',
|
|
status='active'
|
|
)
|
|
|
|
session.add(company)
|
|
session.flush() # get company.id
|
|
print(f"Firma dodana: ID={company.id}, slug={company.slug}")
|
|
|
|
# Add Leszek Glaza (user_id=58) as MANAGER
|
|
user_company = UserCompany(
|
|
user_id=58,
|
|
company_id=company.id,
|
|
role=CompanyRole.MANAGER,
|
|
is_primary=False # his primary is ROTOR
|
|
)
|
|
session.add(user_company)
|
|
|
|
session.commit()
|
|
print(f"Użytkownik Leszek Glaza (ID=58) przypisany jako MANAGER do firmy Norda Tools (ID={company.id})")
|
|
session.close()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
import_company()
|