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
Production moved from on-prem VM 249 (10.22.68.249) to OVH VPS (57.128.200.27, inpi-vps-waw01). Updated ALL documentation, slash commands, memory files, architecture docs, and deploy procedures. Added |local_time Jinja filter (UTC→Europe/Warsaw) and converted 155 .strftime() calls across 71 templates so timestamps display in Polish timezone regardless of server timezone. Also includes: created_by_id tracking, abort import fix, ICS calendar fix for missing end times, Pros Poland data cleanup. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
117 lines
3.4 KiB
Markdown
117 lines
3.4 KiB
Markdown
# Add New Company to NordaBiz
|
|
|
|
Kreator dodawania nowej firmy członkowskiej do katalogu NordaBiz.
|
|
|
|
## Argument: $ARGUMENTS
|
|
Jeśli podano argument (np. `/add-company Pixlab`), użyj go jako nazwy firmy do wyszukania.
|
|
|
|
## Kroki do wykonania:
|
|
|
|
### 1. Zbierz informacje o firmie
|
|
Zapytaj użytkownika o dane lub wyszukaj na https://norda-biznes.info/czlonkowie:
|
|
|
|
**Wymagane:**
|
|
- Nazwa prawna (legal_name)
|
|
- Nazwa handlowa (business_name) - jeśli inna
|
|
- NIP (10 cyfr bez myślników)
|
|
- Email kontaktowy
|
|
- Kategoria: IT, Construction, Services, Production, Trade, Other
|
|
|
|
**Opcjonalne:**
|
|
- REGON (9 lub 14 cyfr)
|
|
- KRS (10 cyfr, tylko spółki)
|
|
- Telefon
|
|
- Strona www
|
|
- Adres (ulica, miasto, kod pocztowy)
|
|
- Opis działalności
|
|
|
|
### 2. Weryfikacja NIP
|
|
Przed dodaniem zweryfikuj NIP przez API:
|
|
```bash
|
|
curl -s "http://localhost:5000/api/verify-nip?nip=NUMER_NIP"
|
|
```
|
|
Lub przez zewnętrzne API (jeśli lokalna aplikacja nie działa).
|
|
|
|
### 3. Generuj slug
|
|
Slug = kebab-case z nazwy firmy:
|
|
- "Pixlab Sp. z o.o." → "pixlab-sp-z-o-o"
|
|
- "ABC Usługi" → "abc-uslugi"
|
|
- Usuń znaki specjalne, zamień spacje na myślniki, lowercase
|
|
|
|
### 4. Sprawdź duplikaty (DEV via Docker)
|
|
```bash
|
|
docker exec nordabiz-postgres psql -U nordabiz_app -d nordabiz -c "SELECT slug, legal_name FROM companies WHERE nip='NUMER_NIP' OR slug LIKE '%FRAGMENT%';"
|
|
```
|
|
|
|
### 5. Utwórz skrypt importu
|
|
Wygeneruj plik `import_NEW_COMPANY.py` używający SQLAlchemy:
|
|
|
|
```python
|
|
#!/usr/bin/env python3
|
|
"""Import firmy [NAZWA] do bazy NordaBiz."""
|
|
|
|
import os
|
|
import sys
|
|
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
|
|
from datetime import datetime
|
|
from sqlalchemy import create_engine
|
|
from sqlalchemy.orm import sessionmaker
|
|
from database import Company, Category
|
|
|
|
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()
|
|
|
|
# Znajdź kategorię
|
|
category = session.query(Category).filter_by(name='Services').first()
|
|
|
|
company = Company(
|
|
slug='nazwa-firmy',
|
|
name='Nazwa Handlowa',
|
|
legal_name='Nazwa Prawna Sp. z o.o.',
|
|
nip='1234567890',
|
|
regon='123456789',
|
|
krs=None,
|
|
email='kontakt@firma.pl',
|
|
phone='+48 123 456 789',
|
|
website='https://firma.pl',
|
|
address_street='ul. Przykładowa 1',
|
|
address_city='Wejherowo',
|
|
address_postal='84-200',
|
|
category_id=category.id if category else None,
|
|
description_short='Krótki opis firmy',
|
|
description_full='Pełny opis działalności firmy...',
|
|
data_quality='enhanced',
|
|
status='active'
|
|
)
|
|
|
|
session.add(company)
|
|
session.commit()
|
|
print(f"Firma {company.legal_name} dodana pomyślnie! ID: {company.id}")
|
|
session.close()
|
|
|
|
if __name__ == '__main__':
|
|
import_company()
|
|
```
|
|
|
|
### 6. Wykonaj import
|
|
```bash
|
|
python import_NEW_COMPANY.py
|
|
```
|
|
|
|
### 7. Zweryfikuj dodanie (DEV via Docker)
|
|
```bash
|
|
docker exec nordabiz-postgres psql -U nordabiz_app -d nordabiz -c "SELECT slug, legal_name, nip FROM companies WHERE slug='NOWY_SLUG';"
|
|
```
|
|
|
|
## Uwagi:
|
|
- DEV: PostgreSQL via Docker na localhost:5433
|
|
- PROD: PostgreSQL na 57.128.200.27:5432
|
|
- Dla produkcji: po przetestowaniu lokalnie, wdróż przez `/deploy`
|
|
- Nowe firmy powinny pochodzić z oficjalnej listy członków Norda Biznes
|
|
- Zawsze weryfikuj NIP przed dodaniem
|