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

214 lines
12 KiB
C#

using System.Collections.Generic;
using System.Web.Http;
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Resources;
using Kreta.Web.Areas.OsztalyCsoport.Logic;
using Kreta.Web.Areas.OsztalyCsoport.Models;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.OsztalyCsoport.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.KollegiumModul.ClaimValue)]
public class KollegiumCsoportController : Controller
{
public ActionResult Index(string filter)
{
var model = new CsoportSearchModel();
return View("Index", model);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.KollegiumModul.ClaimValue)]
public ActionResult OpenCsoportPropertiesTab(int csoportID, bool fromAdd = false)
{
AlapkepzesCsoportModel csmodel = new AlapkepzesCsoportModel() { ID = csoportID };
csmodel.TabList = GetTabItems(csmodel);
PopUpModel pm = new PopUpModel(csmodel, "CsoportProperties_Info");
pm = pm.AddCancelBtn(pm, fromAdd ? "CsoportHelper.csoportModifyAddCancel" : "CsoportHelper.propertiesCancel");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult OpenCsoportAddPopup(int? id)
{
var csmodel = KollegiumOsztalyCsoportLogic.GetCsoportBaseProperties(id);
csmodel.IsFeladatellatasiHelySzures = true;
PopUpModel pm = new PopUpModel(csmodel, "CsoportAdd_Bevitel");
pm = pm.AddCancelBtn(pm, "CsoportHelper.csoportModifyAddCancel");
pm = pm.AddOkBtn(pm, "CsoportHelper.modifyAddSave");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult OpenUjEgyeniCsoportAdd(int? id)
{
EgyeniCsoportModel csoportModel = new EgyeniCsoportModel() { CsoportNeve = OsztalyCsoportLogic.GetEgyeniCsoportAlapertelmezettNev() };
PopUpModel popUpModel = new PopUpModel(csoportModel, "EgyeniCsoportAdd_Bevitel");
popUpModel.AddCancelBtn(popUpModel, "CsoportHelper.egyeniCsoportModifyAddCancel");
popUpModel.AddOkBtn(popUpModel, "CsoportHelper.egyeniCsoportMmodifyAddSave");
return PartialView(Constants.General.PopupView, popUpModel);
}
public ActionResult OpenCsoportModifyPopup(int? id)
{
AlapkepzesCsoportModel csmodel = KollegiumOsztalyCsoportLogic.GetCsoportBaseProperties(id);
csmodel.TabList = new List<TabStripItemModel>();
csmodel.TabList.Add(new TabStripItemModel() { ItemId = "1", ItemName = StringResourcesUtil.GetString(3880) /*Csoport alapadatok*/, Model = csmodel, PartialViewName = "CsoportModify_Bevitel", IsActive = true });
csmodel.TabList.Add(new TabStripItemModel() { ItemId = "2", ItemName = StringResourcesUtil.GetString(3881) /*A csoportba járó tanulók listája*/, Model = csmodel, PartialViewName = "CsoportTanulo_Bevitel" });
PopUpModel pm = new PopUpModel(csmodel, "CsoportModify_Bevitel_Tab");
pm = pm.AddCancelBtn(pm, "CsoportHelper.csoportModifyAddCancel");
pm = pm.AddOkBtn(pm, "CsoportHelper.modifyAddSave");
if (ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny)
{
csmodel.OsztalyCsoportTanuloinakMunkarendjeModel.OsztalyCsoportId = id.Value;
csmodel.OsztalyCsoportTanuloinakMunkarendjeModel.IsOsztaly = false;
OsztalyCsoportLogic.SetCsoportMunkarendVisibility(csmodel, id);
csmodel.TabList.Add(new TabStripItemModel() { ItemId = "3", ItemName = CommonResource.Munkarend, Model = csmodel, PartialViewName = "Info_CsoportMunkarend_Tab" });
}
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult OpenModPopup(List<AlapkepzesCsoportModel> csoportLista)
{
var model = KollegiumOsztalyCsoportLogic.GetModelForCsoportModPopup(csoportLista);
PopUpModel pm = new PopUpModel(model, "CsoportTobbModify_bevitel");
pm = pm.AddCancelBtn(pm, "CsoportHelper.csoportModifyAddCancel");
pm = pm.AddOkBtn(pm, "CsoportHelper.confirmCsopModWindow");
return PartialView(Constants.General.PopupView, pm);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.KollegiumModul.ClaimValue)]
public ActionResult GetCsoportBaseProperties(int? id)
{
AlapkepzesCsoportModel csmodel = KollegiumOsztalyCsoportLogic.GetCsoportBaseProperties(id);
return PartialView("Info_Alapadatok_Tab", csmodel);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.KollegiumModul.ClaimValue)]
public ActionResult GetCsoportTanuloi(int id)
{
AlapkepzesCsoportModel csmodel = new AlapkepzesCsoportModel() { ID = id };
return PartialView("Info_CsoportTanuloi_Tab", csmodel);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.KollegiumModul.ClaimValue)]
public ActionResult GetCsoportFoglalkozasai(int id)
{
AlapkepzesCsoportModel csmodel = new AlapkepzesCsoportModel() { ID = id };
return PartialView("Info_CsoportFoglalkozasai_Tab", csmodel);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.KollegiumModul.ClaimValue)]
public ActionResult GetCsoportOrarendiOrai(int id)
{
AlapkepzesCsoportModel csmodel = new AlapkepzesCsoportModel() { ID = id };
return PartialView("Info_CsoportOrarendiOrai_Tab", csmodel);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.KollegiumModul.ClaimValue)]
public ActionResult GetCsoportTanmenetei(int id)
{
AlapkepzesCsoportModel csmodel = new AlapkepzesCsoportModel() { ID = id };
return PartialView("Info_CsoportTanmenetei_Tab", csmodel);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.KollegiumModul.ClaimValue)]
public ActionResult GetCsoportMegtartottTanorai(int id)
{
AlapkepzesCsoportModel csmodel = new AlapkepzesCsoportModel() { ID = id };
return PartialView("Info_CsoportMegtartottTanorai_Tab", csmodel);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.KollegiumModul.ClaimValue)]
public ActionResult GetCsoportErtekelesei(int id)
{
AlapkepzesCsoportModel csmodel = new AlapkepzesCsoportModel() { ID = id };
return PartialView("Info_CsoportErtekelesei_Tab", csmodel);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult GetCsoportTanuloinakMunkarendje(int id)
{
var csmodel = AlapkepzesOsztalyCsoportLogic.GetCsoportBaseProperties(id);
csmodel.OsztalyCsoportTanuloinakMunkarendjeModel.OsztalyCsoportId = id;
OsztalyCsoportLogic.SetCsoportMunkarendVisibility(csmodel, id);
return PartialView("Info_CsoportMunkarend_Tab", csmodel);
}
public ActionResult GetPartialView(string dataType, int csoportId)
{
var model = OsztalyCsoportLogic.GetModelForPartialViewCsoport(dataType, csoportId);
return PartialView("_TanuloSorolasPartialRowFunction", model);
}
public ActionResult OpenBesorolasModDatum(int tanuloId, int csoportId)
{
return PartialView(Constants.General.PopupView, OsztalyCsoportLogic.GetPopUpModelForBesorolasModDatumCsoport(tanuloId, csoportId));
}
public ActionResult OpenKisorolasModDatum(int tanuloId, int csoportId)
{
return PartialView(Constants.General.PopupView, OsztalyCsoportLogic.GetPopUpModelForKisorolasModDatumCsoport(tanuloId, csoportId));
}
public ActionResult OpenKisorolas(int tanuloId, int csoportId)
{
return PartialView(Constants.General.PopupView, OsztalyCsoportLogic.GetPopUpModelForKisorolasCsoport(tanuloId, csoportId));
}
public List<TabStripItemModel> GetTabItems(AlapkepzesCsoportModel model)
{
const string CsoportController = Constants.Controllers.KollegiumCsoport;
var items = new List<TabStripItemModel>();
items.Add(new TabStripItemModel { ItemId = "1", ItemName = StringResourcesUtil.GetString(161), Area = "OsztalyCsoport", Controller = CsoportController, Action = "GetCsoportBaseProperties", RouteParameters = new Dictionary<string, string>() { { "Id", model.ID.ToString() } } });
items.Add(new TabStripItemModel { ItemId = "2", ItemName = StringResourcesUtil.GetString(332)/*Tanulók*/, Area = "OsztalyCsoport", Controller = CsoportController, Action = "GetCsoportTanuloi", RouteParameters = new Dictionary<string, string>() { { "Id", model.ID.ToString() } } });
items.Add(new TabStripItemModel { ItemId = "3", ItemName = StringResourcesUtil.GetString(164)/*Foglalkozások*/, Area = "OsztalyCsoport", Controller = CsoportController, Action = "GetCsoportFoglalkozasai", RouteParameters = new Dictionary<string, string>() { { "Id", model.ID.ToString() } } });
if (!ClaimData.IsSzirIntezmeny)
{
items.Add(new TabStripItemModel { ItemId = "4", ItemName = StringResourcesUtil.GetString(165)/*Órarendi órák*/, Area = "OsztalyCsoport", Controller = CsoportController, Action = "GetCsoportOrarendiOrai", RouteParameters = new Dictionary<string, string>() { { "Id", model.ID.ToString() } }, IsETTFDisabled = true });
items.Add(new TabStripItemModel { ItemId = "5", ItemName = StringResourcesUtil.GetString(166)/*Tanmenetek*/, Area = "OsztalyCsoport", Controller = CsoportController, Action = "GetCsoportTanmenetei", RouteParameters = new Dictionary<string, string>() { { "Id", model.ID.ToString() } }, IsETTFDisabled = true });
items.Add(new TabStripItemModel { ItemId = "6", ItemName = StringResourcesUtil.GetString(167)/*Megtartott tanórák*/, Area = "OsztalyCsoport", Controller = CsoportController, Action = "GetCsoportMegtartottTanorai", RouteParameters = new Dictionary<string, string>() { { "Id", model.ID.ToString() } }, IsETTFDisabled = true });
items.Add(new TabStripItemModel { ItemId = "7", ItemName = StringResourcesUtil.GetString(1701)/*Értékelések*/, Area = "OsztalyCsoport", Controller = CsoportController, Action = "GetCsoportErtekelesei", RouteParameters = new Dictionary<string, string>() { { "Id", model.ID.ToString() } }, IsETTFDisabled = true });
}
if (ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny)
{
items.Add(new TabStripItemModel { ItemId = "8", ItemName = CommonResource.Munkarend, Area = "OsztalyCsoport", Controller = CsoportController, Action = "GetCsoportTanuloinakMunkarendje", RouteParameters = new Dictionary<string, string>() { { "id", model.ID.ToString() } } });
}
return items;
}
#region Export
public ActionResult ExportCsoportokMindenAdata([FromUri] CsoportSearchModel model)
{
return OsztalyCsoportLogic.ExportCsoportokMindenAdata(OktNevelesiKategoriaEnum.Kollegium, model);
}
public ActionResult ExportCsoportbaJaroTanulok([FromUri] CsoportSearchModel model)
{
return OsztalyCsoportLogic.ExportCsoportbaJaroTanulok(OktNevelesiKategoriaEnum.Kollegium, model);
}
#endregion Export
}
}