public ActionResult DeleteSuperUser(string AD) { if (AnsattHelper.IsUserSuper(GetUsername())) { if (AD != null) { if (GetUsername().ToUpper().Equals(AD.ToUpper())) { ViewBag.ErrorMsgGlobal = "Feil: Du kan ikke fjerne din egen superbrukertilgang"; } else { var result = AnsattHelper.DeleteSuperUser(AD); if (result.Success) { ViewBag.StatusMsgGlobal = result.Message; } else { ViewBag.ErrorMsgGlobal = result.Message; } } } else { ViewBag.ErrorMsgGlobal = "Feil: Ugyldig parameter oppgitt. Prøv på nytt senere"; } return(View("SuperBrukere")); } else { return(new HttpUnauthorizedResult()); } }
public ActionResult TriggerRandomException() { if (AnsattHelper.IsUserSuper(GetUsername())) { var rand = new Random().Next(4); switch (rand) { case 0: throw new NotImplementedException("Ikke implementert"); case 1: { string kc = null; kc += kc.ToString(); break; } case 2: throw new DivideByZeroException("Du kan ikke dele på 0! You crazy!"); case 3: var z = "nope".Substring(3, 3); break; } return(View(null + string.Empty)); } else { return(new HttpUnauthorizedResult()); } }
private Response <bool> IsLoggedInUserEntitled(Bundles.AnsattInfo ansattInfo) { var loggedInUser = GetLoggedInUserAD(); if (AnsattHelper.IsUserSuper(loggedInUser)) { return(new Response <bool>(true, "User is testAdmin", Codes.Code.OK)); } Bundles.LederInfo[] lederListe = ansattInfo.Lederliste; // sjekk om det ble funnet ledere i AD, hvis ikke hent fra HRM if (lederListe == null || lederListe.Length <= 0) { var lederResponse = HRMHelper.FinnLedereForAnsatt(ansattInfo.Fornavn, ansattInfo.Etternavn, ansattInfo.AnsattNr); if (lederResponse.Success) { lederListe = lederResponse.Get(); } } // sjekk om innlogget bruker står som leder for den ansatte foreach (var leder in lederListe) { if (leder.AD.ToUpper().Equals(loggedInUser)) { return(new Response <bool>(true, "OK", Codes.Code.OK)); } } // sjekk om innlogget bruker er leders leder foreach (var leder in lederListe) { var lederResult = ADHelper.GetAnsattInfoForLeder(leder.AD); if (lederResult.Success) { var ledersLedere = HRMHelper.FinnLedereForAnsatt(lederResult.Get()); if (ledersLedere.Success) { foreach (var ledersLeder in ledersLedere.Get()) { if (ledersLeder.AD.ToUpper().Equals(loggedInUser)) { return(new Response <bool>(true, "OK", Codes.Code.OK)); } } } } else { return(new Response <bool>(false, lederResult.Message, Codes.Code.ERROR)); } } return(new Response <bool>(false, "Du står ikke som leder for denne ansatte", Codes.Code.ERROR)); }
public ActionResult Raadmenn() { if (AnsattHelper.IsUserSuper(GetUsername())) { ViewBag.HelpLink = HelpLinks.RaadmennTilgang; return(View()); } else { return(new HttpUnauthorizedResult()); } }
public ActionResult SuperBrukere() { if (AnsattHelper.IsUserSuper(GetUsername())) { ViewBag.HelpLink = HelpLinks.SuperBrukere; return(View()); } else { return(new HttpUnauthorizedResult()); } }
public ActionResult ResetEsignPoll() { if (AnsattHelper.IsUserSuper(GetUsername())) { //var result = ESignPoller.Init(); //ViewBag.StatusMsgGlobal = result.Message; return(View("Index")); } else { return(new HttpUnauthorizedResult()); } }
public ActionResult StartESignPoll() { if (AnsattHelper.IsUserSuper(GetUsername())) { ESignPollerNew.PollForChange(); ViewBag.StatusMsgGlobal = "Kjører PollForChange()..."; return(View("Index")); } else { return(new HttpUnauthorizedResult()); } }
public ActionResult ViewLog() { if (AnsattHelper.IsUserSuper(GetUsername())) { var dokument = RouteData.Values["docID"]; return(View()); } else { return(new HttpUnauthorizedResult()); } }
public ActionResult IdentifiserAnsatt() { // vis innlogget bruker i headeren var dokument = RouteData.Values["docID"]; if (dokument == null) { dokument = Session["docID"]; } ViewBag.Message = $"Logget inn som {User.Identity.Name}"; ViewBag.ErrorMsgGlobal = TempData["ErrorMsgGlobal"]; ViewBag.ErrorMsg = TempData["errorMsg"]; ViewBag.StatusCode = TempData["statusCode"]; ViewBag.Ansattnr = TempData["ansattNr"]; if (dokument.Equals("Sykefraværsmappe")) { ViewBag.TitleHint = "Identifisering av ansatt"; ViewBag.MainHint = "Vennligst identifiser den ansatte for å dokumentere sykefravær..."; ViewBag.CanSkip = false; } else { ViewBag.TitleHint = "Identifisering av ansatt"; ViewBag.MainHint = "Vennligst identifiser den ansatte for å laste opp dokumenter..."; ViewBag.CanSkip = true; } ViewBag.DocID = dokument; Session["docID"] = dokument; var isUserSuper = AnsattHelper.IsUserSuper(GetLoggedInUserAD()); ViewBag.CanSeeTestUsers = isUserSuper; if (isUserSuper) { ViewBag.TestUsers = AnsattHelper.Testbrukere; } ViewBag.HelpLink = HelpLinks.Startside; return(View()); }
private ActionResult Success(Bundles.AnsattInfo ansatt) { // --------------- var isUserSuper = AnsattHelper.IsUserSuper(GetLoggedInUserAD()); ViewBag.CanSeeTestUsers = isUserSuper; if (isUserSuper) { ViewBag.TestUsers = AnsattHelper.Testbrukere; } // -------------------- ViewBag.HelpLink = HelpLinks.Startside; ViewBag.Ansattnavn = ansatt.Navn; ViewBag.Ansattnr = ansatt.AnsattNr; Session["ansatt"] = ansatt; return(View("VelgDokument")); }
public ActionResult DeleteRaadmann(string ad) { if (AnsattHelper.IsUserSuper(GetUsername())) { var result = AnsattHelper.DeleteRaadmann(ad); if (result.Success) { ViewBag.StatusMsgGlobal = result.Message; } else { ViewBag.ErrorMsgGlobal = result.Message; } return(View("Raadmenn")); } else { return(new HttpUnauthorizedResult()); } }
public ActionResult AddSuperUser(string ADbrukernavn) { if (AnsattHelper.IsUserSuper(GetUsername())) { var result = AnsattHelper.AddSuperUser(ADbrukernavn); if (result.Success) { ViewBag.StatusMsgGlobal = result.Message; } else { ViewBag.ErrorMsgGlobal = result.Message; } return(View("SuperBrukere")); } else { return(new HttpUnauthorizedResult()); } }
public ActionResult CreateTestUser(string id, string fornavn, string etternavn) { if (AnsattHelper.IsUserSuper(GetUsername())) { var result = AnsattHelper.AddTestUser(id, fornavn, etternavn); if (result.Success) { ViewBag.StatusMsgGlobal = result.Message; } else { ViewBag.ErrorMsgGlobal = result.Message; } return(View("TestBrukere")); } else { return(new HttpUnauthorizedResult()); } }
public ActionResult UpdateSuperUsers(bool[] updateADBruker) { if (AnsattHelper.IsUserSuper(GetUsername())) { if (updateADBruker.Length == AnsattHelper.Superbrukere.Count) { for (int i = 0; i < updateADBruker.Length; i++) { var nb = AnsattHelper.Superbrukere[i]; if (nb.MottaFeilmeldinger != updateADBruker[i]) { nb.MottaFeilmeldinger = updateADBruker[i]; var result = AnsattHelper.ModifySuperUser(nb); if (!result.Success) { ViewBag.ErrorMsgGlobal = result.Message; return(View("SuperBrukere")); } } } ViewBag.StatusMsgGlobal = "Superbrukere oppdatert!"; } else { ViewBag.ErrorMsgGlobal = "En feil har oppstått: feil med antall superbrukere kontra mottat data fra post"; return(View("SuperBrukere")); } return(View("SuperBrukere")); } else { return(new HttpUnauthorizedResult()); } }
public ActionResult VelgDokument(string identifikator) { ViewBag.Message = $"Logget inn som {User.Identity.Name}"; Response <Bundles.AnsattInfo> ansattResponse; ViewBag.DocID = Session["docID"]; if (identifikator.Equals("-1")) { ViewBag.Ansattnr = identifikator; ansattResponse = new Response <Bundles.AnsattInfo>(Bundles.AnsattInfo.Skipped, null, Codes.Code.OK); return(Success(ansattResponse.Get())); } else if (identifikator.StartsWith("!") && AnsattHelper.IsUserSuper(GetLoggedInUserAD())) { // testbrukere var ansattnr = identifikator.Substring(1, identifikator.Length - 1); ansattResponse = AnsattHelper.GetTestUser(ansattnr, GetLoggedInUserAD()); ViewBag.Ansattnr = ansattnr; } else if (identifikator.Contains("@")) // anta e-postadresse { ansattResponse = ADHelper.GetADBrukerForEpost(identifikator); } else if (long.TryParse(identifikator, out long idNummer)) // et nummer - altså ansattnr. eller personnr. { if (idNummer > 99999) { ansattResponse = HRMHelper.FinnAnsatt(identifikator); } else { ansattResponse = ADHelper.GetADBruker((int)idNummer); } } else { return(Failure(Codes.Code.ERROR, $"Ugyldig identifikator oppgitt: '{identifikator}'")); } if (ansattResponse.Success) { var ansatt = ansattResponse.Get(); var authResult = IsLoggedInUserEntitled(ansatt); if (authResult.Get()) { return(Success(ansatt)); } else { // Gjør oppslag i HRM for å finne alle ledere for denne ansatte var lederResponse = HRMHelper.FinnLedereForAnsatt(ansatt.Fornavn, ansatt.Etternavn, ansatt.AnsattNr); if (lederResponse.Success) { ansatt.Lederliste = lederResponse.Get(); authResult = IsLoggedInUserEntitled(ansatt); if (authResult.Success) { if (authResult.Get()) { return(Success(ansatt)); } else { return(Failure(authResult.Code, authResult.Message)); } } else { return(Failure(authResult.Code, authResult.Message)); } } else { return(Failure(authResult.Code, authResult.Message)); } } } else { return(Failure(ansattResponse.Code, ansattResponse.Message)); } }