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()
Exemple #2
0
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()
Exemple #5
0
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()
Exemple #6
0
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
Exemple #9
0
	def list_supplier(self):
		return PredmetLogic.get_all_predmet()
Exemple #10
0
 def list_supplier(self):
     return PredmetLogic.get_profesors_predmets(profesor)