kreta/KretaWeb/Areas/Tanulo/Controllers/AmiTanuloController.cs
2024-03-13 00:33:46 +01:00

649 lines
32 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mime;
using System.Text;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using Kendo.Mvc.Extensions;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Tanulo.Helper;
using Kreta.Web.Areas.Tanulo.Models;
using Kreta.Web.Areas.TanuloErtekeles.Controllers;
using Kreta.Web.Controllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Modal;
using Kreta.Web.Models;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Tanulo.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(TanevEnum.Mind, KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.AMImodul.ClaimValue)]
public class AmiTanuloController : Controller
{
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.AMImodul.ClaimValue)]
public ActionResult Index()
{
var model = new TanuloSearchModel();
TanuloLogic.SetButtonVisibility(model);
return View("Index", model);
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.AMImodul.ClaimValue)]
[System.Web.Mvc.ActionName("AktivTanulokByOsztaly")]
public ActionResult Index(int osztalyId)
{
var model = new TanuloSearchModel
{
FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria,
Aktiv = true,
OsztalyCsoportId = osztalyId
};
TanuloLogic.SetButtonVisibility(model);
return View("Index", model);
}
public ActionResult GetPartialView(string id, string partialViewName)
{
var model = AmiTanuloLogic.GetTanuloData(int.Parse(id));
return PartialView(partialViewName, model);
}
public ActionResult GetModPartialView(string id, string partialViewName, int? osztalyId = null)
{
var model = AmiTanuloLogic.GetModTanuloData(int.Parse(id), osztalyId);
//sablonizálóhoz
int tanuloId = int.Parse(id);
var api = new ComboBoxHelperApiController();
ViewData["Sablonok"] = api.GetSablonokDropDown(model.TanuloTanugyModel.OsztalyId ?? 0);
ViewData["Osztalyok"] = api.GetAMITanuloOsztalyCsoportokEgyeniNelkulDropDown(tanuloId, ClaimData.IsActivTanev);
ViewData["EgyeniCsoportok"] = api.GetTanuloEgyeniCsoportokDropDown(tanuloId, model.TanuloTanugyModel.OsztalyId ?? 0, !ClaimData.IsActivTanev);
ViewData["Tanarok"] = api.GetTanarDropDown();
ViewData["AmiFotargyak"] = api.GetAMIFotargyList();
ViewData["AmiTagozatok"] = api.GetAMITagozatList();
ViewData["AmiTantargyKotelezosegek"] = api.GetAMITantargyKotelezosegList();
ViewData["EvfolyamTipusok"] = api.GetAmiEvfolyamList();
ViewData["TantargyakSablonokkal"] = GetTantargyakSablonokkal();
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
(int? osztalyCsoportId, int? osztalyCsoportVezetoId) = helper.GetDefaultAMINemEgyeniOsztalyCsoportAndVezeto(tanuloId);
ViewData["OsztalyCsoportId"] = osztalyCsoportId;
ViewData["OsztalyCsoportVezetoId"] = osztalyCsoportVezetoId;
(int? egyeniCsoportId, int? egyeniCsoportVezetoId) = helper.GetDefaultEgyeniCsoportAndVezeto(tanuloId, model.TanuloTanugyModel.OsztalyId ?? 0, !ClaimData.IsActivTanev);
ViewData["EgyeniCsoportId"] = egyeniCsoportId;
ViewData["EgyeniCsoportVezetoId"] = egyeniCsoportVezetoId;
return PartialView(partialViewName, model);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.AMImodul.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult GetPartialViewWithOsztalycsoport(string id, string osztalyCsoportIdString, string partialViewName)
{
int? osztalyCsoportId = null;
if (int.TryParse(osztalyCsoportIdString, out int resultId))
{ osztalyCsoportId = resultId; }
var model = AmiTanuloLogic.GetTanuloData(int.Parse(id), osztalyCsoportId);
return PartialView(partialViewName, model);
}
public ActionResult GetModPartialViewWithOsztalycsoport(string id, string osztalyCsoportIdString, string partialViewName)
{
int? osztalyCsoportId = null;
if (int.TryParse(osztalyCsoportIdString, out int resultId))
{ osztalyCsoportId = resultId; }
var model = AmiTanuloLogic.GetModTanuloData(int.Parse(id), osztalyCsoportId);
return PartialView(partialViewName, model);
}
public ActionResult GetTanuloErtekelesPartialView(int tanuloId, string partialViewName, string namePrefix)
{
var tanuloOktatasiNevelesiFeladatIds = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
.GetTanuloOktatasiNevelesiFeladatIdList(tanuloId, OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
var model = new TanuloErtekelesByTanuloController().PartialViewModel(tanuloId, namePrefix, tanuloOktatasiNevelesiFeladatIds);
return PartialView(partialViewName, model);
}
#region Popups
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue)]
public ActionResult OpenJogviszonySzuneteltetes()
{
var pm = new PopUpModel(new JogviszonySzuneteltetesModel(), "Edit_JogviszonySzuneteltetes");
pm = pm.AddBtn(pm, "JogviszonySzuneteltetesCancel", CommonResource.Megse, "JogviszonySzuneteltetesHelper.Cancel");
pm = pm.AddBtn(pm, "JogviszonySzuneteltetesSave", CommonResource.Mentes, "JogviszonySzuneteltetesHelper.Save");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult OpenDetailTanuloPopUp(int tanuloId, int? osztalycsoportId, bool ertekelesTabAktiv = false, bool fromAdd = false)
{
var tanuloDetailModel = new TanuloDetailModel { TanuloId = tanuloId, OsztalycsoportId = osztalycsoportId };
var popUpModel = new PopUpModel(new TanuloSearchModel
{
TanuloId = tanuloId,
TanuloModalHeader = TanuloLogic.GetTanuloModalHeader(tanuloId),
TabList = AmiTanuloLogic.GetDetailTabs(tanuloDetailModel, ertekelesTabAktiv),
OsztalyCsoportId = osztalycsoportId
}, "Tanulo_Info");
popUpModel = popUpModel.AddCancelBtn(popUpModel, fromAdd ? "TanuloHelper.modTanuloCancel" : "TanuloHelper.detailTanuloCancel");
return PartialView(Constants.General.PopupView, popUpModel);
}
public ActionResult OpenModTanuloPopUp(int tanuloId, int? osztalycsoportId)
{
var tm = AmiTanuloLogic.GetModTanuloData(tanuloId, osztalycsoportId);
TanuloLogic.SetTanuloSzakkepzesesBasicProperties(tm);
tm.TanuloAlapAdatModel.NemList = TanuloLogic.GetNemList(true);
tm.TanuloAlapAdatModel.FelhasznaloiNevGeneralasModja = TanuloLogic.GetFelhasznaloiNevGeneralasModja(tm);
tm.TanuloModalHeader = TanuloLogic.GetTanuloModalHeader(tanuloId);
tm.TabList = AmiTanuloLogic.GetModTabs(tm, ClaimData.IsOsztalyfonok, osztalycsoportId);
var pm = new PopUpModel(tm, "Tanulo_Bevitel");
pm = pm.AddCancelBtn(pm, "TanuloHelper.modTanuloCancel");
pm = pm.AddOkBtn(pm, "TanuloHelper.modTanuloSave");
//sablonizálóhoz
var api = new ComboBoxHelperApiController();
ViewData["Sablonok"] = api.GetSablonokDropDown(tm.TanuloTanugyModel.OsztalyId ?? 0);
ViewData["Osztalyok"] = api.GetAMITanuloOsztalyCsoportokEgyeniNelkulDropDown(tanuloId, ClaimData.IsActivTanev);
ViewData["EgyeniCsoportok"] = api.GetTanuloEgyeniCsoportokDropDown(tanuloId, tm.TanuloTanugyModel.OsztalyId ?? 0, !ClaimData.IsActivTanev);
ViewData["Tanarok"] = api.GetTanarDropDown();
ViewData["AmiFotargyak"] = api.GetAMIFotargyList();
ViewData["AmiTagozatok"] = api.GetAMITagozatList();
ViewData["AmiTantargyKotelezosegek"] = api.GetAMITantargyKotelezosegList();
ViewData["EvfolyamTipusok"] = api.GetAmiEvfolyamList();
ViewData["TantargyakSablonokkal"] = GetTantargyakSablonokkal();
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
(int? osztalyCsoportId, int? osztalyCsoportVezetoId) = helper.GetDefaultAMINemEgyeniOsztalyCsoportAndVezeto(tanuloId);
ViewData["OsztalyCsoportId"] = osztalyCsoportId;
ViewData["OsztalyCsoportVezetoId"] = osztalyCsoportVezetoId;
(int? egyeniCsoportId, int? egyeniCsoportVezetoId) = helper.GetDefaultEgyeniCsoportAndVezeto(tanuloId, tm.TanuloTanugyModel.OsztalyId ?? 0, !ClaimData.IsActivTanev);
ViewData["EgyeniCsoportId"] = egyeniCsoportId;
ViewData["EgyeniCsoportVezetoId"] = egyeniCsoportVezetoId;
return PartialView(Constants.General.PopupView, pm);
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.AMImodul.ClaimValue)]
public ActionResult OpenTobbesModTanuloPopUp(List<TanuloTobbesModAdat> tobbesModAdatList)
{
var model = new TanuloTobbesModModel { TanuloTobbesTanugyModel = new TanuloTobbesTanugyModel() };
var helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var osztalyJellemzoi = helper.GetOsztalyJellemzoi();
model.TanuloTobbesTanugyModel.IsSzakkepzeses = osztalyJellemzoi[OsztalyJellemzoEnum.IsSzakkepzeses];
model.TanuloTobbesTanugyModel.IsNKTSzakkepzeses = osztalyJellemzoi[OsztalyJellemzoEnum.IsNKTSzakkepzeses] && ClaimData.IsSelectedTanev20_21OrLater;
var osztalyIdList = tobbesModAdatList.Where(x => x.OsztalyId.IsEntityId()).Select(x => x.OsztalyId.Value).Distinct().ToList();
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.TanuloTobbesTanugyModel.IsAllOsztalyAltalanosIskolaFeladatellatasiHely = tanuloHelper.IsAllOsztalyAltalanosIskolaFeladatellatasiHely(osztalyIdList);
model.TabList = AmiTanuloLogic.GetTanuloTobbesModTabs(model);
foreach (var item in tobbesModAdatList)
{
model.TobbesModIdList.Add(new TanuloTobbesModId() { TanuloId = item.TanuloId, OsztalyId = item.OsztalyId });
}
model.TanuloNevArray = string.Join(", ", tobbesModAdatList.Select(x => x.TanuloNev));
var pm = new PopUpModel(model, "TanuloTobbesModify_Bevitel");
pm = pm.AddCancelBtn(pm, "TanuloHelper.modifyCancel");
pm = pm.AddOkBtn(pm, "TanuloHelper.confirmCsopModWindow");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult NewElerhetosegTel(int tanuloId)
{
var model = new CimElerhetosegModel()
{
FelhasznaloId = tanuloId,
TanulovalEgyezik = true,
AlapertelmezettTel = true,
TelefonKotelezo = true,
FormSettings = new List<string>() {
CimElerhetosegConstant.TelSectionVisible,
CimElerhetosegConstant.IsNew,
CimElerhetosegConstant.AlapertelmezettTelVisible
}
};
model.AlapertelmezettTel = !(new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).HasTanuloAlapertelmezettTelefon(tanuloId));
var pm = new PopUpModel(model, "_Elerhetoseg_Tel_Bevitel");
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegCancel", Text = Resources.CommonResource.Megse, EventName = "TanuloElerhetosegTelHelper.newElerhetosegTelCancel" });
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegOk", Text = Resources.CommonResource.Mentes, EventName = "TanuloElerhetosegTelHelper.newElerhetosegTelSave" });
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult ModElerhetosegTel(int id)
{
var model = TanuloLogic.GetTanuloElerhetosegTel(id);
model.TanulovalEgyezik = true;
model.TelefonKotelezo = true;
model.FormSettings = new List<string>() {
CimElerhetosegConstant.TelSectionVisible,
CimElerhetosegConstant.AlapertelmezettTelVisible
};
var pm = new PopUpModel(model, "_Elerhetoseg_Tel_Bevitel");
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegCancel", Text = Resources.CommonResource.Megse, EventName = "TanuloElerhetosegTelHelper.modElerhetosegTelCancel" });
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegOk", Text = Resources.CommonResource.Mentes, EventName = "TanuloElerhetosegTelHelper.modElerhetosegTelSave" });
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult NewElerhetosegEmail(int tanuloId)
{
var model = new CimElerhetosegModel()
{
FelhasznaloId = tanuloId,
AlapertelmezettEmail = true,
TanulovalEgyezik = true,
EmailcimKotelezo = true,
EmailTipusKotelezo = true,
FormSettings = new List<string>() {
CimElerhetosegConstant.EmailSectionVisible,
CimElerhetosegConstant.IsNew,
CimElerhetosegConstant.AlapertelmezettEmailVisible
}
};
model.AlapertelmezettEmail = !(new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).HasTanuloAlapertelmezettEmail(tanuloId));
var pm = new PopUpModel(model, "_Elerhetoseg_Email_Bevitel");
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegCancel", Text = Resources.CommonResource.Megse, EventName = "TanuloElerhetosegEmailHelper.newElerhetosegEmailCancel" });
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegOk", Text = Resources.CommonResource.Mentes, EventName = "TanuloElerhetosegEmailHelper.newElerhetosegEmailSave" });
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult ModElerhetosegEmail(int id)
{
var model = TanuloLogic.GetTanuloElerhetosegEmail(id);
model.TanulovalEgyezik = true;
model.EmailcimKotelezo = true;
model.EmailTipusKotelezo = true;
model.FormSettings = new List<string>() {
CimElerhetosegConstant.EmailSectionVisible,
CimElerhetosegConstant.AlapertelmezettEmailVisible
};
var pm = new PopUpModel(model, "_Elerhetoseg_Email_Bevitel");
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegCancel", Text = Resources.CommonResource.Megse, EventName = "TanuloElerhetosegEmailHelper.modElerhetosegEmailCancel" });
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegOk", Text = Resources.CommonResource.Mentes, EventName = "TanuloElerhetosegEmailHelper.modElerhetosegEmailSave" });
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult NewElerhetosegCim(int tanuloId)
{
var model = new CimElerhetosegModel()
{
FelhasznaloId = tanuloId,
Orszag = (int)OrszagTipusEnum.Magyarorszag,
CimTipus = (int)CimTipusEnum.allando_lakcim,
AlapertelmezettCim = false,
FormSettings = new List<string>() {
CimElerhetosegConstant.CimSectionVisible,
CimElerhetosegConstant.IsNew,
CimElerhetosegConstant.AlapertelmezettCimVisible
}
};
var pm = new PopUpModel(model, "_Elerhetoseg_Cim_Bevitel");
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegCancel", Text = Resources.CommonResource.Megse, EventName = "TanuloElerhetosegCimHelper.newElerhetosegCimCancel" });
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegOk", Text = Resources.CommonResource.Mentes, EventName = "TanuloElerhetosegCimHelper.newElerhetosegCimSave" });
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult ModElerhetosegCim(int id)
{
var model = TanuloLogic.GetTanuloElerhetosegCim(id);
model.FormSettings = new List<string>(){
CimElerhetosegConstant.CimSectionVisible,
CimElerhetosegConstant.AlapertelmezettCimVisible };
model.IsAlapertelmezettModosithato = !model.AlapertelmezettCim;
var pm = new PopUpModel(model, "_Elerhetoseg_Cim_Bevitel");
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegCancel", Text = Resources.CommonResource.Megse, EventName = "TanuloElerhetosegCimHelper.modElerhetosegCimCancel" });
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegOk", Text = Resources.CommonResource.Mentes, EventName = "TanuloElerhetosegCimHelper.modElerhetosegCimSave" });
return PartialView(Constants.General.PopupView, pm);
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.AMImodul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
public ActionResult Info_GondviselokCimGrid(int id)
{
return PartialView("Info_GondviselokCimGrid", id);
}
public ActionResult NewGondviselo(int tanuloId)
{
var model = new TanuloModGondviseloModel()
{
TanulovalEgyezik = true,
GondviseloAutoEmail = !ClaimData.IsSzirIntezmeny,
FileLetoltesSzukseges = !ClaimData.IsSzirIntezmeny,
RokonsagiFok = (int)RokonsagiFokEnum.na,
FelhasznaloId = tanuloId,
EmailcimKotelezo = false,
EmailTipusKotelezo = false,
TelefonKotelezo = false,
IsGondviseloElerhetoseg = false,
FormSettings = new List<string>() {
CimElerhetosegConstant.EmailSectionVisible,
CimElerhetosegConstant.TelSectionVisible,
CimElerhetosegConstant.TanuloElerhetosegEmailVisible,
CimElerhetosegConstant.TanuloElerhetosegTelVisible
},
IsSzirIntezmeny = ClaimData.IsSzirIntezmeny
};
var pm = new PopUpModel(model, "_Gondviselo_Bevitel");
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnGondviseloCancel", Text = Resources.CommonResource.Megse, EventName = "TanuloGondviseloHelper.newGondviseloCancel" });
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnGondviseloOk", Text = Resources.CommonResource.Mentes, EventName = "TanuloGondviseloHelper.newGondviseloSave" });
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult ModGondviselo(int id)
{
var model = TanuloLogic.GetTanuloGondviselo(id);
model.TanulovalEgyezik = true;
model.EmailcimKotelezo = false;
model.EmailTipusKotelezo = false;
model.TelefonKotelezo = false;
model.IsGondviseloElerhetoseg = false;
model.FormSettings = new List<string>() {
CimElerhetosegConstant.EmailSectionVisible,
CimElerhetosegConstant.TelSectionVisible,
CimElerhetosegConstant.TanuloElerhetosegEmailVisible,
CimElerhetosegConstant.TanuloElerhetosegTelVisible
};
model.IsSzirIntezmeny = ClaimData.IsSzirIntezmeny;
var pm = new PopUpModel(model, "_Gondviselo_Bevitel");
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnGondviseloCancel", Text = Resources.CommonResource.Megse, EventName = "TanuloGondviseloHelper.modGondviseloCancel" });
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnGondviseloOk", Text = Resources.CommonResource.Mentes, EventName = "TanuloGondviseloHelper.modGondviseloSave" });
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult NewGondviseloCim(int tanuloId)
{
var model = new CimElerhetosegModel()
{
FelhasznaloId = tanuloId,
CimTipus = (int)CimTipusEnum.allando_lakcim,
AlapertelmezettCim = true,
IsGondviseloElerhetoseg = true,
TanulovalEgyezik = false,
FormSettings = new List<string>() {
CimElerhetosegConstant.CimSectionVisible,
CimElerhetosegConstant.IsNew,
CimElerhetosegConstant.AlapertelmezettCimVisible
}
};
var pm = new PopUpModel(model, "_Elerhetoseg_Cim_BevitelGondv");
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!tanuloHelper.CheckLetezikGondviseloAllandoLakcim(tanuloId))
{
model.CimTipus = (int)CimTipusEnum.allando_lakcim;
}
model.GondviselokAlapertelmezettCimmel = tanuloHelper.GondviselokAlapertelmezettCimmel(tanuloId);
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegCancel", Text = Resources.CommonResource.Megse, EventName = "GondviseloElerhetosegCimHelper.newGondviseloCimCancel" });
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegOk", Text = Resources.CommonResource.Mentes, EventName = "GondviseloElerhetosegCimHelper.newGondviseloCimSave" });
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult ModGondviseloCim(int id)
{
var model = TanuloLogic.GetGondviseloElerhetosegCim(id);
model.IsGondviseloElerhetoseg = true;
model.FormSettings = new List<string>() {
CimElerhetosegConstant.CimSectionVisible,
CimElerhetosegConstant.AlapertelmezettCimVisible
};
var pm = new PopUpModel(model, "_Elerhetoseg_Cim_BevitelGondv");
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegCancel", Text = Resources.CommonResource.Megse, EventName = "GondviseloElerhetosegCimHelper.modGondviseloCimCancel" });
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnElerhetosegOk", Text = Resources.CommonResource.Mentes, EventName = "GondviseloElerhetosegCimHelper.modGondviseloCimSave" });
return PartialView(Constants.General.PopupView, pm);
}
#endregion Popups
#region Export
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.AMImodul.ClaimValue)]
public ActionResult TanuloExportBesorolashoz([FromUri] TanuloSearchModel data)
{
return TanuloLogic.TanuloExportBesorolashoz(data, OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.AMImodul.ClaimValue)]
public ActionResult TanulokLakcimmelExport([FromUri] TanuloSearchModel data)
{
return TanuloLogic.TanulokLakcimmelExport(data, OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.AMImodul.ClaimValue)]
public ActionResult TanulokTanugyiAdatiExport([FromUri] TanuloSearchModel model)
{
return TanuloLogic.ExportTanulokTanugyiAdatai(model);
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.AMImodul.ClaimValue)]
public ActionResult ExportTanulokTantargyaiEsPedagogusai([FromUri] TanuloSearchModel data)
{
return TanuloLogic.ExportTanulokTantargyaiEsPedagogusai(data, OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.AMImodul.ClaimValue)]
public ActionResult GondviselokElerhetosegeiExport([FromUri] TanuloSearchModel model)
{
return TanuloLogic.ExportGondviselokElerhetosegei(model, OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.AMImodul.ClaimValue)]
public ActionResult TanuloKirStatExport([FromUri] TanuloSearchModel data)
{
data.ForOktober = true;
return TanuloLogic.TanuloKirStatExport(data);
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.AMImodul.ClaimValue)]
public ActionResult TanuloKirStatTeljesExport([FromUri] TanuloSearchModel data)
{
return TanuloLogic.TanuloKirStatExport(data);
}
#endregion Export
#region Belépési azonosító generálás
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue)]
public ActionResult AzonositoGeneralasPopup(bool isTanulo, bool isPasswordReset, List<int> tanuloIdList = null, bool generaltFileLetoltes = true, bool emailKuldes = true)
{
var hozzaferesModel = new HozzaferesGeneralasaModel
{
TanuloIdList = tanuloIdList,
IsTanulo = isTanulo,
GeneraltFileLetoltes = generaltFileLetoltes,
EmailKuldes = emailKuldes,
IsPasswordReset = isPasswordReset
};
if (isPasswordReset)
{
hozzaferesModel.ConfirmText = isTanulo ?
TanuloResource.JelszoAlaphelyzetbeAllitasaNovendekConfirm :
TanuloResource.JelszoAlaphelyzetbeAllitasaGondviseloConfirm;
if (isTanulo)
{
hozzaferesModel.TanulokEmailElerhetosegNelkul = TanuloLogic.GetTanulokEmailNelkulSzam(tanuloIdList);
}
}
else
{
if (tanuloIdList != null)
{
hozzaferesModel.ConfirmText = isTanulo ?
TanuloResource.BelepesiAzonositoGeneralasaKijeloltNovendekekConfirm :
TanuloResource.BelepesiAzonositoGeneralasaKijeloltNovendekekGondviseloinekConfirm;
}
else
{
hozzaferesModel.ConfirmText = isTanulo ?
TanuloResource.BelepesiAzonositoGeneralasNovendekConfirm :
TanuloResource.BelepesiAzonositoGeneralasGondviseloConfirm;
}
}
var model = new PopUpModel(hozzaferesModel, "HozzaferesGeneralasModal");
model.AddBtn(model, "hozzaferes_generalas_Nem", "Nem", "KretaWindowHelper.destroyAllWindow");
model.AddBtn(model, "hozzaferes_generalas_Igen", "Igen", "TanuloHelper.hozzaferesGeneralas");
return PartialView(Constants.General.PopupView, model);
}
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue)]
public JsonResult AzonositoGeneralas(bool isTanulo, bool fileLetoltesSzukseges, bool isPasswordReset, List<int> tanuloIdList = null)
{
var popupModel = TanuloLogic.AzonositoGeneralas(isTanulo, fileLetoltesSzukseges, isPasswordReset, tanuloIdList);
return Json(popupModel);
}
public ActionResult SetGondviseloToBovitettPopup(List<int> tanuloIdList, bool isKijeloltTanulokGondviseloi)
{
if (isKijeloltTanulokGondviseloi && !TanuloLogic.ExistsGondviselo(tanuloIdList))
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.AKijeloltNovendekeknekNincsGondiselojuk);
}
var hozzaferesModel = new GondviseloToBovitettModel
{
TanuloIdList = tanuloIdList,
ConfirmText = isKijeloltTanulokGondviseloi ? TanuloResource.AKijeloltNovendekekOsszesGondviselojenekBelepeseBovitettLeszBiztosanFolytatja : TanuloResource.AKivalasztottGondviselonekBovitettJogosultsagLeszGeneralvaBiztosanFolytatja,
EmailKuldes = true,
GeneraltFileLetoltes = true
};
var model = new PopUpModel(hozzaferesModel, "GondviseloToBovitettModal");
model.AddBtn(model, "hozzaferes_generalas_Nem", CommonResource.Nem, "TanuloGondviseloHelper.setGondviseloToBovitettCancel");
model.AddBtn(model, "hozzaferes_generalas_Igen", CommonResource.Igen, isKijeloltTanulokGondviseloi ? "TanuloHelper.setGondviseloToBovitett" : "TanuloGondviseloHelper.setGondviseloToBovitett");
return PartialView(Constants.General.PopupView, model);
}
[MvcRolePackageDenyAuthorize(TanevEnum.Mind, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
public JsonResult SetKijeloltTanulokGondviseloiToBovitett(bool emailKuldesSzukseges, bool fileLetoltesSzukseges, List<int> tanuloIdList)
{
var popupModel = TanuloLogic.SetKijeloltTanulokGondviseloiToBovitett(emailKuldesSzukseges, fileLetoltesSzukseges, tanuloIdList);
return Json(popupModel);
}
[MvcRolePackageDenyAuthorize(TanevEnum.Mind, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
public JsonResult SetGondviseloToBovitett(bool emailKuldesSzukseges, bool fileLetoltesSzukseges, List<int> gondviseloIdList)
{
var popupModel = TanuloLogic.SetGondviseloToBovitett(emailKuldesSzukseges, fileLetoltesSzukseges, gondviseloIdList);
return Json(popupModel);
}
public ActionResult DownloadEmailNelkuliTanulokJelszoResetEsetenXlsx(List<int> tanuloIds)
{
try
{
var nevmodel = new NyomtatvanyNevGeneralasModel { TanevID = ClaimData.AktivTanevID };
var fileName = CommonExtensions.NevGeneralas(TanuloResource.TanulokEmailElerhetosegNelkulFileName, nevmodel);
var fileContent = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanulokEmailNelkulJelszoResethezXlsx(tanuloIds);
return new FileContentResult(fileContent, MediaTypeNames.Application.Octet)
{
FileDownloadName = HttpUtility.UrlEncode($"{fileName}.xlsx", Encoding.UTF8),
};
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.SikertelenAllomanyLetoltes, ex);
}
}
#endregion Belépési azonosító generálás
#region Tantárgy felosztas mentés/módosítás/törlés
public ActionResult LoadSablon(int tanuloId, int osztalyId, int sablonId)
{
return Json(AmiTanuloLogic.GetSablon(tanuloId, osztalyId, sablonId));
}
private string GetTantargyakSablonokkal()
{
var helper = new TantargyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var ds = helper.GetTantargyakSablonokkal();
var json = JsonConvert.SerializeObject(ds.Tables[0]);
return json;
}
public ActionResult GetFrissTantargyakSablonokkal()
{
return Json(GetTantargyakSablonokkal());
}
#endregion Tantárgy felosztas mentés/módosítás/törlés
}
}