feat: add Norda Tools import script
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
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>
This commit is contained in:
parent
926c0de1df
commit
21df349b9e
80
scripts/import_norda_tools.py
Normal file
80
scripts/import_norda_tools.py
Normal file
@ -0,0 +1,80 @@
|
||||
#!/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()
|
||||
Loading…
Reference in New Issue
Block a user