def promena_imena_predmeta(predmet): naziv = input('Novi naziv: ').strip() try: if PredmetLogic.change_predmet_naziv(predmet, naziv): print('Naziv predmeta uspesno promenjen') else: print(' * Doslo je do greske prilikom promene naziva predmeta') except UpdateInfoError as e: print(' * Greska:', e) input()
def brisanje_najskorije_ocene(slusa): if slusa.ocene is None or len(slusa.ocene) == 0: print('Ucenik nema ocena iz datog predmeta') input() return izbor = input('''\ Da li ste sigurni da zelite da izbrisete\ najskoriju ocena datog ucenika iz ovog predmeta? [d/n] ''').strip().upper() if izbor in ['D', 'DA']: if PredmetLogic.delete_latest_ocena(slusa): print('Najskorija ocena je uspesno izbrisana') else: print(' * Doslo je do greske prilikom brisanja ocene') input()
def dodavanje_predmeta_profesoru(profesor): naziv_predmeta = pretty_text_format(input('Naziv predmeta: ')) predmet = PredmetLogic.get_predmet_by_naziv(naziv_predmeta) if predmet is None: print(' * Ne postoji predmet sa unetim imenom') else: try: if KorisnikLogic.add_profesor_predmet_relation(profesor, predmet): print('Predmet je uspesno dodat profesoru') else: print( ' * Doslo je do greske prilikom dodavanja predmeta profesoru' ) except UpdateInfoError as e: print(' * Greska:', e) input()
def dodavanje_razreda_predmetu(predmet): razred = input('Razred: ').strip() if not razred.isdigit(): print('Razred mora biti ceo broj') else: razred_godina = int(razred) try: if PredmetLogic.add_predmet_razred_relation( predmet, razred_godina): print('Razred je uspesno dodat predmetu') else: print( ' * Doslo je do greske prilikom dodavanja razreda predmetu' ) except UpdateInfoError as e: print(' * Greska:', e) input()
class AdminPredmetList(ListAllView): list_heading = ' === Prikaz svih predmeta ===' table_mapping = [ ('ID', lambda predmet: predmet.id), ('NAZIV', lambda predmet: predmet.naziv), ('DOZVOLJENI RAZREDI', dozvoljeni_razredi_str), ] list_sortings = { 'default': (lambda predmet: predmet.id, False), 'Opadajuce po ID-u': (lambda predmet: predmet.id, True), 'Rastuce po nazivu': (lambda predmet: predmet.naziv, False), } prikaz_pojedinacnog = lambda predmet: AdminPredmetView( lambda: PredmetLogic.get_predmet_by_pk(predmet.id)) def list_supplier(self): return PredmetLogic.get_all_predmet()
def dodavanje_ocene(slusa): ocena_str = input('Vrednost ocene: ').strip() if not ocena_str.isdigit(): print(' * Vrednost ocene mora biti ceo broj izmedju 1 i 5') else: ocena = int(ocena_str) if ocena < 1 or ocena > 5: print(' * Vrednost ocene mora biti ceo broj izmedju 1 i 5') else: try: if PredmetLogic.add_ocena_with_slusa(slusa, ocena): print('Ocena je uspesno dodata') else: print(' * Doslo je do greske prilikom dodavanja ocene') except UpdateInfoError as e: print(' * Greska:', e) input()
def dodavanje_slusa_uceniku(ucenik): moguci_predmeti = PredmetLogic.get_predmets_avaliable_to_ucenik(ucenik) if moguci_predmeti is None: print(' * Predmeti se ne mogu ucitati') elif len(moguci_predmeti) == 0: print(' * Ne postoje predmeti koje ucenik moze vise da slusa') else: predmeti_str = ', '.join( map(lambda predmet: predmet.naziv, moguci_predmeti)) print('Predmeti koje ucenik moze da slusa:', predmeti_str) naziv_predmeta = pretty_text_format(input('Naziv predmeta: ')).lower() predmet = next( iter( filter(lambda predmet: predmet.naziv.lower() == naziv_predmeta, moguci_predmeti)), None) if predmet is None: print(' * Ne postoji predmet sa unetim imenom') else: print('Profesori koji predaju dati predmet: ') for profesor in predmet.profesori: print(f' {profesor.id}) {profesor.ime} {profesor.prezime}') id_profesora_txt = input('ID profesora: ').strip() if not id_profesora_txt.isdigit(): print(' * ID Profesora mora biti broj') else: id_profesora = int(id_profesora_txt) profesor = next( iter( filter(lambda profesor: profesor.id == id_profesora, predmet.profesori)), None) if profesor is None: print(' * Ne postoji profesor pod unetim ID-om') else: try: if KorisnikLogic.add_slusa(ucenik, predmet, profesor): print( 'Uspesno ste dodelili profesora i predmet uceniku' ) else: print( ' * Doslo je do greske prilikom povezivanja ucenika i predmeta' ) except UpdateInfoError as e: print(' * Greska:', e) input()
def dodavanje_predmeta(): while True: clear_screen() print(' === Dodavanje predmeta ===') print(' *** Napomena: Svi predmeti moraju imati razlicito ime ***') naziv = input('Naziv: ') success = PredmetLogic.add_predmet(naziv) if success: print('Predmet je uspesno dodat') input() return else: print('''\ * Doslo je do greske prilikom dodavanja predmeta, proverite da li vec postoji predmet sa datim imenom\ ''') if not try_again(): return
def list_supplier(self): return PredmetLogic.get_all_predmet()
def list_supplier(self): return PredmetLogic.get_profesors_predmets(profesor)