Spaces:
Running
Running
| # ruff: noqa: E402 | |
| import os | |
| import sys | |
| from dotenv import load_dotenv | |
| # Wczytaj zmienne 艣rodowiskowe z g艂贸wnego katalogu | |
| root_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| load_dotenv(os.path.join(root_dir, ".env")) | |
| # Dodaj g艂贸wny katalog backendu do PYTHONPATH | |
| sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| from sqlalchemy.orm import Session | |
| from core.subscription.db import SessionLocal | |
| from core.projects.models import ProjectSectionTemplate | |
| SMART_SECTIONS = [ | |
| { | |
| "type": "project_summary", | |
| "title": "Streszczenie projektu", | |
| "order": 1, | |
| "description": "Kr贸tkie podsumowanie cel贸w, zakresu i oczekiwanych rezultat贸w projektu.", | |
| }, | |
| { | |
| "type": "company_potential", | |
| "title": "Opis przedsi臋biorstwa i potencja艂", | |
| "order": 2, | |
| "description": "Informacje o Wnioskodawcy, zasobach, do艣wiadczeniu i zdolno艣ci do realizacji projektu.", | |
| }, | |
| { | |
| "type": "innovation_description", | |
| "title": "Opis innowacji / B+R", | |
| "order": 3, | |
| "description": "Szczeg贸艂owy opis planowanych prac badawczo-rozwojowych oraz samej innowacji.", | |
| }, | |
| { | |
| "type": "market_analysis", | |
| "title": "Analiza rynku i konkurencji", | |
| "order": 4, | |
| "description": "Analiza zapotrzebowania, grupy docelowej oraz przewag konkurencyjnych.", | |
| }, | |
| { | |
| "type": "research_agenda", | |
| "title": "Agenda badawcza / cele", | |
| "order": 5, | |
| "description": "Zdefiniowane problemy badawcze, hipotezy i cele postawione w projekcie.", | |
| }, | |
| { | |
| "type": "trl_levels", | |
| "title": "Poziom gotowo艣ci technologii (TRL)", | |
| "order": 6, | |
| "description": "Opis stanu pocz膮tkowego i docelowego Poziomu Gotowo艣ci Technologicznej (TRL).", | |
| }, | |
| { | |
| "type": "budget_and_costs", | |
| "title": "Bud偶et i kwalifikowalno艣膰 koszt贸w", | |
| "order": 7, | |
| "description": "Podzia艂 i uzasadnienie planowanych koszt贸w kwalifikowalnych w projekcie.", | |
| }, | |
| { | |
| "type": "work_schedule", | |
| "title": "Harmonogram rzeczowo-finansowy", | |
| "order": 8, | |
| "description": "Etapy, zadania, kamienie milowe i rozk艂ad prac w czasie.", | |
| }, | |
| { | |
| "type": "project_team", | |
| "title": "Zesp贸艂 projektowy", | |
| "order": 9, | |
| "description": "Kluczowy personel B+R, zarz膮dzaj膮cy oraz planowane zaanga偶owanie kadrowe.", | |
| }, | |
| { | |
| "type": "risk_management", | |
| "title": "Zarz膮dzanie ryzykiem", | |
| "order": 10, | |
| "description": "Identyfikacja ryzyk technologicznych, rynkowych i organizacyjnych oraz planymitygacji.", | |
| }, | |
| { | |
| "type": "social_impact_dnsh", | |
| "title": "Wp艂yw spo艂eczny i 艣rodowiskowy (DNSH)", | |
| "order": 11, | |
| "description": "Zasada Do No Significant Harm oraz wp艂yw na zr贸wnowa偶ony rozw贸j i spo艂ecze艅stwo.", | |
| }, | |
| { | |
| "type": "intellectual_property", | |
| "title": "Prawa w艂asno艣ci intelektualnej", | |
| "order": 12, | |
| "description": "Spos贸b ochrony wypracowanych rezultat贸w oraz status praw maj膮tkowych (IP).", | |
| }, | |
| { | |
| "type": "success_metrics", | |
| "title": "Wska藕niki sukcesu i ewaluacja", | |
| "order": 13, | |
| "description": "Spos贸b mierzenia post臋p贸w i weryfikacji osi膮gni臋cia cel贸w merytorycznych projektu.", | |
| }, | |
| ] | |
| def seed_smart_sections(): | |
| print("艁膮czenie z baz膮 danych...") | |
| db: Session = SessionLocal() | |
| try: | |
| print("Czyszczenie starych szablon贸w dla programu SMART...") | |
| # Usu艅 dotychczasowe wpisy dla 艢cie偶ki SMART | |
| db.query(ProjectSectionTemplate).filter( | |
| ProjectSectionTemplate.program_type == "SMART" | |
| ).delete() | |
| print("Dodawanie nowych szablon贸w (艢cie偶ka SMART)...") | |
| for sec in SMART_SECTIONS: | |
| template = ProjectSectionTemplate( | |
| program_type="SMART", | |
| section_type=sec["type"], | |
| title=sec["title"], | |
| order=sec["order"], | |
| description=sec["description"], | |
| ) | |
| db.add(template) | |
| db.commit() | |
| print(f"Sukces! Dodano {len(SMART_SECTIONS)} sekcji dla programu SMART.") | |
| except Exception as e: | |
| db.rollback() | |
| print(f"Wyst膮pi艂 b艂膮d podczas uzupe艂niania bazy: {e}") | |
| finally: | |
| db.close() | |
| if __name__ == "__main__": | |
| seed_smart_sections() | |