// GET: Zadatak/Edit/5 public IActionResult Edit(int?id, string returnUrl) { var userHash = _userManager.GetUserId(User); var zaposlenik = _repository.GetZaposlenik(userHash); if (!string.IsNullOrEmpty(returnUrl)) { ViewData["returnUrl"] = returnUrl; } if (id == null) { return(NotFound()); } var zadatak = _repository.GetZadatak(id.Value); var zadatakInput = _mapper.ToZadatakIM(zadatak, _repository); if (zadatak == null) { return(NotFound()); } //Ako zaposlenik nije vlasnik niti je određen zadatku --> NE MOŽE GA UREĐIVATI if (!_repository.AmIAdmin(userHash) && zadatakInput.ZaposlenikId != zaposlenik.ZaposlenikId) { TempData["Neuspješno"] = "Nemate dozvolu uređivati tuđe zadatke!"; return(RedirectToAction("Index")); } var allZaposleniciBezVlasnika = _repository.GetAllZaposleniciBezVlasnika(); var allPodrumi = _repository.GetAllPodrumi(); var allVrsteAditiva = _repository.GetAllVrsteAditiva(); if (zadatakInput.VrstaAditivaId.HasValue) { var aditiviVrste = _repository.GetAllAditivi(zadatakInput.VrstaAditivaId.Value); ViewBag.Aditivi = new SelectList(aditiviVrste, nameof(Aditiv.AditivId), nameof(Aditiv.ImeAditiva)); } if (zadatak.PodrumId.HasValue) { var spremniciPodruma = _repository.GetAllSpremnici(zadatak.PodrumId.Value); ViewBag.Spremnici = new SelectList(spremniciPodruma, nameof(Spremnik.SpremnikId), nameof(Spremnik.ŠifraSpremnika)); } ViewBag.VrsteAditiva = new SelectList(allVrsteAditiva, nameof(VrstaAditiva.VrstaAditivaId), nameof(VrstaAditiva.NazivVrste)); ViewBag.Podrumi = new SelectList(allPodrumi, nameof(Podrum.PodrumId), nameof(Podrum.ŠifraPodruma)); ViewBag.KategorijeZadatka = new SelectList(_context.KategorijaZadatka, nameof(KategorijaZadatka.KategorijaZadatkaId), nameof(KategorijaZadatka.ImeKategorije)); var model = new ZadaciViewModel { ZadatakInput = zadatakInput, Zaposlenici = allZaposleniciBezVlasnika }; return(View(model)); }
// GET: Zadatak public IActionResult Index(string filter) { if (!string.IsNullOrWhiteSpace(filter)) { var upit = _context.Zadatak .Include(z => z.ZaduženiZaposlenikNavigation) .Include(z => z.KategorijaZadatka) .Include(z => z.Podrum) .Include(z => z.Spremnik) .AsNoTracking(); ZadaciFilter zf = new ZadaciFilter(); zf = ZadaciFilter.FromString(filter); if (!zf.IsEmpty()) { upit = zf.PrimjeniFilter(upit); } var allZadaci = upit.ToList(); var allKategorijeZadataka = _repository.GetAllKategorijeZadataka(); var allZaposleniciBezVlasnika = _repository.GetAllZaposleniciBezVlasnika(); var allPodrumi = _repository.GetAllPodrumi(); var allVrsteAditiva = _repository.GetAllVrsteAditiva(); if (allPodrumi.Count > 0) { ViewBag.Podrumi = new SelectList(allPodrumi, nameof(Podrum.PodrumId), nameof(Podrum.ŠifraPodruma)); } ViewBag.VrsteAditiva = new SelectList(allVrsteAditiva, nameof(VrstaAditiva.VrstaAditivaId), nameof(VrstaAditiva.NazivVrste)); var model = new ZadaciViewModel { Zadaci = allZadaci, KategorijeZadataka = allKategorijeZadataka, Zaposlenici = allZaposleniciBezVlasnika }; return(View(model)); } else { var allZadaci = _repository.GetAllZadaci(); var allKategorijeZadataka = _repository.GetAllKategorijeZadataka(); var allZaposleniciBezVlasnika = _repository.GetAllZaposleniciBezVlasnika(); var allPodrumi = _repository.GetAllPodrumi(); var allVrsteAditiva = _repository.GetAllVrsteAditiva(); ViewBag.Podrumi = new SelectList(allPodrumi, nameof(Podrum.PodrumId), nameof(Podrum.ŠifraPodruma)); ViewBag.VrsteAditiva = new SelectList(allVrsteAditiva, nameof(VrstaAditiva.VrstaAditivaId), nameof(VrstaAditiva.NazivVrste)); var model = new ZadaciViewModel { Zadaci = allZadaci, KategorijeZadataka = allKategorijeZadataka, Zaposlenici = allZaposleniciBezVlasnika }; return(View(model)); } }