This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,20 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminBejelentettSzamonkeresekController : Controller
{
public ActionResult Index()
{
var model = new BejelentettSzamonkeresekSearchModel();
return View("Index", model);
}
}
}

View file

@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Security;
using Kreta.Core.FeatureToggle;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Controllers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminKepekListajaController : Controller
{
private readonly IFileServiceHelper FileServiceHelper;
private IFeatureContext FeatureContext { get; set; }
public AdminKepekListajaController(IFeatureContext featureContext, IFileServiceHelper fileServiceHelper)
{
FeatureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext));
FileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
}
public ActionResult Index()
{
return View("~/Areas/Orarend/Views/KepekListaja/Index.cshtml", new KepekListajaSearchModel() { FeladatEllatasiHelyId = ClaimData.FelhelySzuro });
}
public ActionResult OpenKepInfoPopUp(int oraFileId)
{
return View(Constants.General.PopupView, KepekListajaLogic.GetPopUpModelOpenKepInfo(oraFileId, FileServiceHelper));
}
public string DownloadSelectedKep(List<int> selectedOraFileIdList)
{
Guid guid = KepekListajaLogic.DownloadSelectedKep(selectedOraFileIdList, FileServiceHelper);
return Url.Action(nameof(CacheController.DownloadFile), nameof(CacheController).Replace("Controller", ""), new { guid, fileName = "képek.zip", contentType = Constants.ImportExport.ContentType, area = "" });
}
}
}

View file

@ -0,0 +1,148 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Controllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminKozpontiOrakController : Controller
{
// GET: Orarend/AdminKozpontiOrak
public ActionResult Index()
{
var model = new KozpontiOraModel();
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = helper.GetHetirendek();
model.NaptariHetekHetirendJson = helper.GetNaptariHetekHetirendek();
var co = helper.GetCalendarMinMax();
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
var comboBoxHelperController = new ComboBoxHelperApiController();
model.Tanarok = comboBoxHelperController.GetTanarDropDown().ToJson();
model.Tantargyak = comboBoxHelperController.GetTantargyDropDown(filterNincsBeloleOra: true).ToJson();
model.Termek = comboBoxHelperController.GetTeremListWithoutGroupDropDown().ToJson();
model.TabList = GetKozpontiOraTabs();
return View("Index", model);
}
public ActionResult OpenSelectPopUp()
{
var model = new PopUpModel(new object(), "Select_PopUp");
model.AddCancelBtn(model, "KozpontiOra.selectPopUpWindowCancel");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenDetailsGrid(AdminKozpontiOrakOsztalyokGridModel model)
{
return PartialView("DetailGrid", model);
}
public ActionResult OpenModositasPopUp(DateTime start, DateTime end, int hanyadikOra)
{
var model = new PopUpModel(new AdminKozpontiOrakSearchModel { Start = start, End = end, HanyadikOra = hanyadikOra }, "Modositas_PopUp");
model.AddCancelBtn(model, "KozpontiOra.modositasPopUpWindowCancel");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenOrarendiOrakTorleseKozpontilagPopUp(DateTime start, DateTime end, int hanyadikOra)
{
var model = new PopUpModel(new AdminKozpontiOrakSearchModel { Start = start, End = end, HanyadikOra = hanyadikOra }, "OrarendiOrakTorleseKozpontilag_PopUp");
model.AddCancelBtn(model, "KozpontiOra.deleteOrarendiOrakKozpontilagPopUpWindowCancel");
model.AddBtn(model, "torlesBtn", CommonResource.Torles, "KozpontiOra.OrarendOrakTorleseKozpontilag");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenOrarendiOrakVisszaallitasaPopUp(DateTime start, DateTime end, int hanyadikOra)
{
var model = new PopUpModel(new AdminKozpontiOrakSearchModel { Start = start, End = end, HanyadikOra = hanyadikOra }, "OrarendiOrakVisszaallitasa_PopUp");
model.AddBtn(model, "megseBtn", KozpontiOrakResource.KilepesVisszaallitasNelkul, "KozpontiOra.OrarendiOrakVisszaallitasaPopUpWindowCancel");
model.AddBtn(model, "torlesBtn", KozpontiOrakResource.KijeloltOrakVisszaallitasa, "KozpontiOra.OrarendOrakVisszaallitasa");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenCreate(TanoraAdatok model)
{
var rogzitesModel = AdminKozpontiOrakRogzitesModel.MapFromTanoraAdatok(model);
return PartialView("Create", rogzitesModel);
}
public ActionResult OpenUtkozoOrak(DateTime start, DateTime end, int hanyadikora, List<AdminKozpontiOrakRogzitesSelectedModel> list)
{
var searchModel = new AdminKozpontiOrakSearchModel
{
Start = start.ToLocalTime(),
End = end.ToLocalTime(),
HanyadikOra = hanyadikora,
KozpontiOrakList = list
};
return PartialView("UtkozoOrarendiOrak", searchModel);
}
public ActionResult OpenCreateTanoraAdatok(AdminKozpontiOrakRogzitesModel model)
{
var tanoraAdataiModel = TanoraAdatok.MapFromKozpontiOrakRogzitesModel(model);
tanoraAdataiModel.Sorszamozando = true;
return PartialView("CreateTanoraAdatok", tanoraAdataiModel);
}
public ActionResult GetKozpontiOra(int index = 0)
{
var model = new KozpontiOraCalendarModel
{
Index = index
};
return View("KozpontiOra_Tab", model);
}
private List<TabStripItemModel> GetKozpontiOraTabs()
{
return new List<TabStripItemModel>
{
new TabStripItemModel
{
ItemId = "0",
ItemName = KozpontiOrakResource.KozpontiOraKezelese,
Area = "Orarend",
Controller = "AdminKozpontiOrak",
Action = "GetKozpontiOra",
RouteParameters = new Dictionary<string, string> {
{ "index", "0"}
}
}
};
}
}
}

View file

@ -0,0 +1,248 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Extensions;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Logic.Naplozas;
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
using Kreta.BusinessLogic.Security;
using Kreta.Core.Exceptions;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminNaploEllenorzesController : BaseNaploTanariOrarendController
{
private readonly IFileServiceHelper fileServiceHelper;
public AdminNaploEllenorzesController(IFileServiceHelper fileServiceHelper)
{
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
}
public ActionResult Index()
{
var model = new TanariOrarendModelKeresheto();
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.IsNemKellNemKotott = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.kotott_munkaido_nevelesseloktatassal_le_nem_kotott_resz_kezelesenek_tiltasa);
var fogadooraMegjelenik = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Fogadoorak_megjelenitese) && !ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue);
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
model.TanorakServiceAction = "GetAdminNaploEllenorzesTanorakOrarendiOrak";
model.TanoranKivuliFoglalkozasokServiceAction = "GetAdminNaploEllenorzesTanoranKivuliFoglalkozasok";
model.NemKotottMunkaidoServiceAction = "GetAdminNaploEllenorzesNemKotottMunkaido";
model.FogadoorakServiceAction = "GetAdminNaploEllenorzesFogadoora";
model.TanorakCalendarClickJSFunction = "AdminNaploEllenorzesHelper.TanorakCalendarClickEvent";
model.TanoranKivuliFoglalkozasokCalendarClickJSFunction = "AdminNaploEllenorzesHelper.FoglalkozasokCalendarClickEvent";
model.NemKotottMunkaidoCalendarClickJSFunction = "AdminNaploEllenorzesHelper.NemKotottCalendarClickEvent";
model.FogadooraCalendarClickJSFunction = "AdminNaploEllenorzesHelper.FogadooraCalendarClickEvent";
model.TanoranKivuliFoglalkozasokCalendarSelectJSFunction = model.NemKotottMunkaidoCalendarSelectJSFunction = model.FogadooraCalendarSelectJSFunction = "undefined";
var naplozarasLogic = new NaplozarasLogic(ConnectionTypeExtensions.GetSessionConnectionType());
model.LezartOsztalyokEsOsztalybontottCsoportokIdList = naplozarasLogic.GetLezartOsztalyokEsBontottCsoportjaik();
model.RendkivuliTanitasiNapok = tanevHelper.GetTanevRendkivuliNapok();
model.IsShowRogzitottOrak = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.kotott_munkaido_megjelenitese);
#region Calendar megjelenítés
var co = orarendHelper.GetCalendarMinMax();
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
#endregion Calendar megjelenítés
model.ShowKerdoivPopup = new KerdoivHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetShowKerdoivPopup(ClaimData.IsAlkalmazottPedagogus);
model.TabList = GetTanariOrarendTabs(fogadooraMegjelenik);
ViewBag.nemKotottMunkaidoStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.nemKotottMunkaidoEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_zaroidopontja);
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
ViewBag.fogadooraStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Fogado_Ora_Kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.fogadooraEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Fogado_Ora_Zaroidopontja);
return View("Index", model);
}
public ActionResult AdminNaploEllenorzesEvent(CalendarModel calendarModel)
{
try
{
var tbm = new TanoraIdBeallitasModel() { calendarModel = calendarModel };
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var tanarSorszamozhat = new SystemSettingsHelper(connectionType).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Ora_sorszamozasat_naplozo_pedagogus_eldontheti);
var elmaradtTanitasiOraRogzitesenekTiltasa = new SystemSettingsHelper(connectionType).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Elmaradt_tanitasi_ora_rogzitesenek_tiltasa);
var naploValidacioParameters = new NaploValidacioParameters(calendarModel.Start, ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.FelhasznaloSzerepkor);
var validator = new NaploValidacio(naploValidacioParameters);
var co = new NaplozasElokeszitesCo();
calendarModel.ConvertTo(co);
var naplozasLogic = new NaplozasElokeszitesLogic(validator, co);
var muveletPram = new TanoraMuveletek(ClaimData.FelhasznaloId, calendarModel);
var model = new TanoraNaplozasTabok();
var pm = new PopUpModel(model, "NaploEllenorzes");
model.TabList = GetDetailTabs(naplozasLogic, tanarSorszamozhat, elmaradtTanitasiOraRogzitesenekTiltasa);
model.TanoraMuveletek = muveletPram;
pm.AddCancelBtn(pm, "AdminNaploEllenorzesHelper.windowCancel");
if ((calendarModel.OraType == Enums.ManualEnums.CalendarOraTypeEnum.TanitasiOra
|| calendarModel.OraType == Enums.ManualEnums.CalendarOraTypeEnum.TanoranKivuliNaplozottFoglalkozas)
&& naplozasLogic.GetModel.IsElmaradtOra)
{
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel { Name = "deleteNaplozas", Text = Resources.OrarendResource.NaplozasiAdatokTorlese, EventName = "AdminNaploEllenorzesHelper.deleteNaplozasConfirm" });
}
if (calendarModel.OraType == Enums.ManualEnums.CalendarOraTypeEnum.OrarendiOra
|| calendarModel.OraType == Enums.ManualEnums.CalendarOraTypeEnum.TanoranKivuliFoglalkozas
|| calendarModel.OraType == Enums.ManualEnums.CalendarOraTypeEnum.TanoranKivuliTevekenyseg)
{
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel { Name = "updateNemMegtartott", Text = Resources.OrarendResource.NemMegtartottOra, EventName = "AdminNaploEllenorzesHelper.updateNemMegtartottConfirm" });
}
return PartialView(Constants.General.PopupView, pm);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
public ActionResult AdminNaploEllenorzesNemKotottMunkaidoEvent(CalendarModel calendarModel)
{
var co = new NaplozasElokeszitesCo();
calendarModel.ConvertTo(co);
var muveletPram = new TanoraMuveletek(ClaimData.FelhasznaloId, calendarModel);
var model = new TanoraNaplozasTabok();
NemKotottMunkaidoHelper helper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var coNkm = helper.GetNemKotottMunkaidoById(calendarModel.EventId);
var pm = new PopUpModel(model, "NaploEllenorzes");
model.TabList = new List<TabStripItemModel> {
new TabStripItemModel {
ItemId = "1",
ItemName = "Adatok",
PartialViewName = "NaploEllenorzesNemKotottMunkaido_Tab",
Model = NemKotottMunkaidoLogic.ConvertModelFromCo(coNkm),
IsActive = true
}
};
model.TanoraMuveletek = muveletPram;
pm.AddCancelBtn(pm, "AdminNaploEllenorzesHelper.windowCancel");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult AdminNaploEllenorzesFogadooraEvent(CalendarModel calendarModel)
{
var fm = new FogadooraModel();
var isModosithatoFogadoora = false;
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var fogadooraCo = helper.GetFogadooraById(calendarModel.EventId);
fm.Id = fogadooraCo.Id;
fm.FogadoOraDatuma = fogadooraCo.FogadoOraKezdete.Date;
fm.FogadoOraKezdete = fogadooraCo.FogadoOraKezdete;
fm.FogadoOraVege = fogadooraCo.FogadoOraVege;
fm.Rendszeresseg = fogadooraCo.Rendszeresseg;
fm.TeremId = fogadooraCo.TeremId;
fm.JelentkezesekKezelese = (int)FogadooraTipusEnum.Jelentkezheto == fogadooraCo.FogadooraTipusEnumId || (int)FogadooraTipusEnum.JelentkezhetoDarabolt == fogadooraCo.FogadooraTipusEnumId;
fm.IsIdosavraOsztas = fogadooraCo.IsIdosavraOsztas;
fm.EgysegnyiIdopontok = fogadooraCo.EgysegnyiIdopontok;
fm.SelectedOsztalyCsoportIdList = fogadooraCo.SelectedOsztalyCsoportIdList;
fm.RendszeresFogadooraElsoDatuma = fogadooraCo.FogadoOraKezdete;
fm.RendszeresFogadooraUtolsoDatuma = fogadooraCo.FogadoOraVege;
fm.IsEgyAlkalomModosul = false;
fm.IsCalendar = true;
fm.IsFaliujsagonMegjelenjen = fogadooraCo.IsFaliujsagonMegjelenjen;
fm.IsRendszeressegModosithato = false;
fm.FaliujsagErvenyessegKezdete = fogadooraCo.FaliujsagErvenyessegKezdete;
fm.FaliujsagErvenyessegVege = fogadooraCo.FaliujsagErvenyessegVege;
fm.TanevUtolsoNapja = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo().UtolsoTanitasiNap;
var jelentkezettGvDs = helper.GetJelentkezettGondviseloCntByFogadooraId(calendarModel.EventId);
if (jelentkezettGvDs.Tables[0].Rows.Count > 0)
{
fm.VanGvJelentkezes = true;
}
if (!isModosithatoFogadoora)
{
fm.TeremNev = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTeremNev(fogadooraCo.TeremId);
}
var rendszeressegDictionary = EnumExtensions.EnumToDictionary<FogadooraRendszeressegEnum>(ClaimData.SelectedTanevID.Value);
fm.RendszeressegText = rendszeressegDictionary.First(x => x.Key == fogadooraCo.Rendszeresseg.ToString()).Value;
var pm = new PopUpModel(fm, "~/Areas/Orarend/Views/TanariOrarend/Fogadoora_Details.cshtml");
pm.AddCancelBtn(pm, "AdminNaploEllenorzesHelper.windowCancel");
return PartialView(Constants.General.PopupView, pm);
}
private List<TabStripItemModel> GetDetailTabs(NaplozasElokeszitesLogic logic, bool tanarSorszamozhat, bool elmaradtTanitasiOraRogzitesenekTiltasa)
{
List<TabStripItemModel> list = new List<TabStripItemModel>();
var naplozasModel = new TanoraNaplozas(fileServiceHelper);
naplozasModel.Fill(logic.GetModel, tanarSorszamozhat, elmaradtTanitasiOraRogzitesenekTiltasa);
list.Add(new TabStripItemModel()
{
ItemId = "1",
ItemName = StringResourcesUtil.GetString(3804) /*Naplózás*/,
PartialViewName = "NaploEllenorzesMulasztas_Tab",
Model = naplozasModel.Mulasztas,
IsActive = true
});
list.Add(new TabStripItemModel()
{
ItemId = "5",
ItemName = StringResourcesUtil.GetString(1922) /*Tanóra adatai*/,
PartialViewName = "NaploEllenorzesTanora_Tab",
Model = naplozasModel.TanoraAdatai,
IsActive = false
});
return list;
}
}
}

View file

@ -0,0 +1,55 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminNemElerhetoOrarendiElemekController : Controller
{
// GET: Orarend/AdminNemElerhetoOrarendiElemek
public ActionResult Index()
{
return View();
}
public ActionResult OpenOrarendiOraInfoPopUp(int orarendiOraId)
{
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
OrarendiOraCO orarendiOraCO = orarendiOraHelper.GetOrarendiOraById(orarendiOraId);
OrarendiOraModel orarendiOraModel = new OrarendiOraModel
{
OraErvenyessegKezdete = orarendiOraCO.OraErvenyessegKezdete,
OraErvenyessegVege = orarendiOraCO.OraErvenyessegVege,
OraErvenyessegKezdeteSzoveg = orarendiOraCO.OraErvenyessegKezdete.ToShortDateString(),
OraErvenyessegVegeSzoveg = orarendiOraCO.OraErvenyessegVege.ToShortDateString(),
HetNapjaSzoveg = orarendiOraCO.HetNapjaNev,
Hetirend = orarendiOraCO.HetirendNev,
FoglalkozasNev = orarendiOraCO.FoglalkozasNev,
OsztalyCsoportNev = orarendiOraCO.OsztalyCsoportNev,
TantargyNev = orarendiOraCO.TantargyNev,
TanarNev = orarendiOraCO.TanarNev,
TeremNev = orarendiOraCO.TeremNev,
OraKezdete = orarendiOraCO.OraKezdete,
OraVege = orarendiOraCO.OraVege,
CsengetesiRendNev = orarendiOraCO.CsengetesiRendNev,
OraKezdeteSzoveg = orarendiOraCO.OraKezdete.ToString("HH:mm"),
OraVegeSzoveg = orarendiOraCO.OraVege.ToString("HH:mm"),
};
var model = new PopUpModel(orarendiOraModel, "Info_PopUp");
model.AddCancelBtn(model, "AdminNemElerhetoOrarendiElemKeresoHelper.orarendiOraInfoCancel");
return PartialView(Constants.General.PopupView, model);
}
}
}

View file

@ -0,0 +1,20 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminNemNaplozottTanorakController : Controller
{
public ActionResult Index()
{
var model = new NemNaplozottTanorakSearchModel();
return View("Index", model);
}
}
}

View file

@ -0,0 +1,118 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Extensions;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.ApiControllers;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminOsztalyOrarendController : BaseAdminOsztalyOrarendController
{
public ActionResult Index()
{
var model = new AdminOsztalyOrarendModel
{
TabList = GetAdminOrarendTabs()
};
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
var co = orarendHelper.GetCalendarMinMax();
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
model.IsOravegeBeallitasOrahosszAlapjan = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
return View(model);
}
public ActionResult GetOrarendiOrak(int index = 0)
{
return GetOrarendiOrak(index, false);
}
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
{
return GetTanoranKivuliFoglalkozasok(index, false);
}
public List<TabStripItemModel> GetAdminOrarendTabs()
{
var list = new List<TabStripItemModel> {
new TabStripItemModel
{
ItemId = "0",
ItemName = AdminisztracioResource.Tanorak,
Area = "Orarend",
Controller = "AdminOsztalyOrarend",
Action = "GetOrarendiOrak",
RouteParameters = new Dictionary<string, string>
{
{ "index", "0" }
}
},
new TabStripItemModel
{
ItemId = "1",
ItemName = AdminisztracioResource.Napirend,
Area = "Orarend",
Controller = "AdminOsztalyOrarend",
Action = "GetTanoranKivuliFoglalkozasok",
RouteParameters = new Dictionary<string, string>
{
{ "index", "1" }
}
}
};
return list;
}
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model)
{
return OpenNewOrarendiOraPopUp(model, false);
}
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model)
{
return OpenModifyOrarendiOraPopUp(model, false);
}
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model)
{
return OpenNewFoglalkozasokOraPopUp(model, false);
}
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model)
{
return OpenModifyFoglalkozasokOraPopUp(model, false);
}
}
}

View file

@ -0,0 +1,205 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Extensions;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminTanariOrarendController : BaseAdminTanariOrarendController
{
public ActionResult Index()
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var nemKellNemKotott = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.kotott_munkaido_nevelesseloktatassal_le_nem_kotott_resz_kezelesenek_tiltasa);
var model = new AdminTanariOrarendModel
{
TabList = GetAdminOrarendTabs(nemKellNemKotott)
};
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
var co = orarendHelper.GetCalendarMinMax();
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
ViewBag.nemKotottMunkaidoStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.nemKotottMunkaidoEnd = systemSettingsHelper.GetSystemSettingValue<string>(Kreta.Enums.RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_zaroidopontja);
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
model.IsOravegeBeallitasOrahosszAlapjan = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
return View(model);
}
public ActionResult GetOrarendiOrak(int index = 0)
{
return GetOrarendiOrak(index, false);
}
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
{
return GetTanoranKivuliFoglalkozasok(index, false);
}
public ActionResult GetNemKotottMunkaido(int index = 2)
{
var model = new TanariOrarendNemKotottMunkaidoModel()
{
Index = index
};
return View("NemKotottMunkaido_Tab", model);
}
public List<TabStripItemModel> GetAdminOrarendTabs(bool nemKellNemKotott)
{
var list = new List<TabStripItemModel> {
new TabStripItemModel
{
ItemId = "0",
ItemName = AdminisztracioResource.Tanorak,
Area = "Orarend",
Controller = "AdminTanariOrarend",
Action = "GetOrarendiOrak",
RouteParameters = new Dictionary<string, string>
{
{ "index", "0" }
}
},
new TabStripItemModel
{
ItemId = "1",
ItemName = AdminisztracioResource.Napirend,
Area = "Orarend",
Controller = "AdminTanariOrarend",
Action = "GetTanoranKivuliFoglalkozasok",
RouteParameters = new Dictionary<string, string>
{
{ "index", "1" }
}
}
};
if (!nemKellNemKotott)
{
list.Add(new TabStripItemModel
{
ItemId = "2",
ItemName = AdminisztracioResource.NemKotottMunkaido,
Area = "Orarend",
Controller = "AdminTanariOrarend",
Action = "GetNemKotottMunkaido",
RouteParameters = new Dictionary<string, string>
{
{ "index", "2" }
}
});
}
return list;
}
public ActionResult OpenNewOrarendiOraPopUp(CalendarModel model)
{
return OpenNewOrarendiOraPopUp(model, false);
}
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model)
{
return OpenModifyOrarendiOraPopUp(model, false);
}
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model)
{
return OpenNewFoglalkozasokOraPopUp(model, false);
}
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model)
{
return OpenModifyFoglalkozasokOraPopUp(model, false);
}
public ActionResult OpenNewNemKotottMunkaidoPopUp(CalendarModel model)
{
var nkmm = new NemKotottMunkaidoModel
{
Datum = model.Start.ToLocalTime().Date,
Kezdet = model.Start.ToLocalTime(),
Veg = model.End.ToLocalTime(),
HetirendId = 1554 /*Minden héten*/
};
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.Start.Date, null);
var pm = new PopUpModel(nkmm, "NemKotottMunkaido_Bevitel");
pm = pm.AddBtn(pm, "newNemKotottMunkaidoCancel", AdminisztracioResource.Megsem, "NemKotottMunkaido.newNemKotottMunkaidoCancel");
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "NemKotottMunkaido.EgyOraHozzaadasaSave");
if (!isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "NemKotottMunkaido.EttolHettolSave");
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "NemKotottMunkaido.EddigHetigSave");
pm = pm.AddBtn(pm, "EgeszTanevreSave", OrarendResource.AddAllDay, "NemKotottMunkaido.EgeszTanevreSave");
}
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult OpenModNemKotottMunkaidoPopUp(CalendarModel model)
{
var nkmm = GetModNemKotottMunkaidoModel(model);
var pm = new PopUpModel(nkmm, "NemKotottMunkaido_Bevitel");
pm = pm.AddBtn(pm, "modNemKotottMunkaidoCancel", AdminisztracioResource.Megsem, "NemKotottMunkaido.modNemKotottMunkaidoCancel");
if (!nkmm.isReadonly)
{
pm = pm.AddBtn(pm, "modNemKotottMunkaidoSaveDay", OrarendResource.ModSaveOneDay, "NemKotottMunkaido.modNemKotottMunkaidoSaveDay", true, "pull-left");
pm = pm.AddBtn(pm, "modNemKotottMunkaidosSaveFrom", OrarendResource.ModSaveFrom, "NemKotottMunkaido.modNemKotottMunkaidoSaveFrom", true, "pull-left");
pm = pm.AddBtn(pm, "modNemKotottMunkaidoSaveTo", OrarendResource.ModSaveTo, "NemKotottMunkaido.modNemKotottMunkaidoSaveTo", true, "pull-left");
pm = pm.AddBtn(pm, "modNemKotottMunkaidoSave", OrarendResource.ModAllSave, "NemKotottMunkaido.modNemKotottMunkaidoSave", true, "pull-left");
if (nkmm.TulajId == ClaimData.FelhasznaloId || SzerepkorTipusEnum.Adminisztrator == ClaimData.FelhasznaloSzerepkor)
{
pm = pm.AddBtn(pm, "modNemKotottMunkaidoDeleteDay", OrarendResource.DeleteOneDay, "NemKotottMunkaido.modNemKotottMunkaidoDeleteDayConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modNemKotottMunkaidoDeleteFrom", OrarendResource.DeleteFrom, "NemKotottMunkaido.modNemKotottMunkaidosDeleteFromConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modNemKotottMunkaidosDeleteTo", OrarendResource.DeleteTo, "NemKotottMunkaido.modNemKotottMunkaidoDeleteToConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modNemKotottMunkaidoDelete", OrarendResource.DeleteAll, "NemKotottMunkaido.modNemKotottMunkaidoDeleteConfirmWindow", "pull-left");
}
}
return PartialView(Constants.General.PopupView, pm);
}
private NemKotottMunkaidoModel GetModNemKotottMunkaidoModel(CalendarModel model)
{
NemKotottMunkaidoHelper helper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var co = helper.GetNemKotottMunkaidoById(model.EventId);
return NemKotottMunkaidoLogic.ConvertModelFromCo(co);
}
}
}

View file

@ -0,0 +1,124 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Extensions;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.KretaServer.SystemSettings;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.Logic;
using Kreta.Web.Areas.Orarend.ApiControllers;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminTeremOrarendController : BaseAdminTeremOrarendController
{
public ActionResult Index()
{
var model = new AdminTeremOrarendModel
{
TabList = GetAdminOrarendTabs()
};
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
var co = orarendHelper.GetCalendarMinMax();
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
model.IsOravegeBeallitasOrahosszAlapjan = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
return View(model);
}
public ActionResult GetOrarendiOrak(int index = 0)
{
return GetOrarendiOrak(index, false);
}
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
{
return GetTanoranKivuliFoglalkozasok(index, false);
}
public List<TabStripItemModel> GetAdminOrarendTabs()
{
var list = new List<TabStripItemModel> {
new TabStripItemModel
{
ItemId = "0",
ItemName = AdminisztracioResource.Tanorak,
Area = "Orarend",
Controller = "AdminOsztalyOrarend",
Action = "GetOrarendiOrak",
RouteParameters = new Dictionary<string, string>
{
{ "index", "0" }
}
},
new TabStripItemModel
{
ItemId = "1",
ItemName = AdminisztracioResource.Napirend,
Area = "Orarend",
Controller = "AdminOsztalyOrarend",
Action = "GetTanoranKivuliFoglalkozasok",
RouteParameters = new Dictionary<string, string>
{
{ "index", "1" }
}
}
};
return list;
}
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model)
{
return OpenNewOrarendiOraPopUp(model, false);
}
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model)
{
return OpenModifyOrarendiOraPopUp(model, false);
}
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model)
{
return OpenNewFoglalkozasokOraPopUp(model, false);
}
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model)
{
return OpenModifyFoglalkozasokOraPopUp(model, false);
}
}
}

View file

@ -0,0 +1,414 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.KretaServer.SystemSettings;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.Logic;
using Kreta.Web.Areas.Orarend.ApiControllers;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
public class BaseAdminOsztalyOrarendController : Controller
{
[NonAction]
public ActionResult GetOrarendiOrak(int index = 0, bool isFromSzervezet = false)
{
var model = new OrarendiOrakModel
{
Index = index,
IsFromSzervezet = isFromSzervezet
};
return View("OrarendiOrak_Tab", model);
}
[NonAction]
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1, bool isFromSzervezet = false)
{
var model = new TanariOrarendTanoranKivuliFoglalkozasokModel()
{
Index = index,
IsFromSzervezet = isFromSzervezet
};
return View("TanoranKivuliFoglalkozasok_Tab", model);
}
[NonAction]
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model, bool isFromSzervezet = false)
{
var ocsHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isMentor = ocsHelper.IsMentorCsoport(model.OsztalyId);
if (model.CalendarModel.OraType == CalendarOraTypeEnum.UresOra)
{
var ds = ocsHelper.GetOsztalyCsoportokWithGroup();
var csoportTipusEnum = (int)CsoportTipusEnum.iskolai_csoport_tanorai_celu_;
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (int.Parse(dr["ID"].ToString()) == model.OsztalyId && !string.IsNullOrWhiteSpace(SDAConvert.ToString(dr["CsoportTipusa"])))
{
csoportTipusEnum = int.Parse(dr["CsoportTipusa"].ToString());
}
}
var csoportTipus = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCsoportTipusList().SingleOrDefault(x => x.Id == csoportTipusEnum);
var isOrarendiElemHosszAlapjan = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
if (csoportTipus != null && csoportTipus.OraPerc.HasValue && (isOrarendiElemHosszAlapjan || isFromSzervezet || isMentor))
{
model.CalendarModel.End = model.CalendarModel.Start.AddMinutes(csoportTipus.OraPerc.Value);
}
}
var oom = GetNewOrarendiOraModel(model.CalendarModel, false, isFromSzervezet, isMentor: isMentor);
oom.TTFModel.OsztalyID = model.OsztalyId;
if (isMentor)
{
oom.TTFModel.TanarID = ocsHelper.GetCsoportByCsoportId(model.OsztalyId).CsoportvezetoId;
}
var list = new List<TabStripItemModel> { new TabStripItemModel { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Osztaly", IsActive = true } };
if (!isFromSzervezet)
{
list.Add(new TabStripItemModel { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
}
oom.OrarendiOraTabList = list;
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.CalendarModel.Start.Date, model.OsztalyId);
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "OrarendiOrak.newOrarendiOraCancel");
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "OrarendiOrak.EgyOraHozzaadasaSave");
if (isFromSzervezet || !isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "OrarendiOrak.OrarendhezSave");
}
if (!isDateHasTanevrend && !isFromSzervezet)
{
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "OrarendiOrak.EttolHettolSave");
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "OrarendiOrak.EddigHetigSave");
}
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model, bool isFromSzervezet = false)
{
var oom = GetModifyOrarendiOraModel(model, false, isFromSzervezet);
var isEgyOra = oom.OraErvenyessegKezdete.Value.Date == oom.OraErvenyessegVege.Value.Date;
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
pm = pm.AddBtn(pm, "modCancel", AdminisztracioResource.Megsem, "OrarendiOrak.modCancel");
pm = pm.AddBtn(pm, "tovabbiOrarendiOraFelvetele", OrarendResource.AddAgain, "OrarendiOrak.tovabbiOrarendiOraFelvetele");
if (!isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modOrarendiOraDeleteFrom", OrarendResource.DeleteFrom, "OrarendiOrak.modOrarendiOraDeleteFromConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modOrarendiOraDeleteTo", OrarendResource.DeleteTo, "OrarendiOrak.modOrarendiOraDeleteToConfirmWindow", "pull-left");
}
pm = pm.AddBtn(pm, "modOrarendiOraDelete", OrarendResource.DeleteAll, "OrarendiOrak.modOrarendiOraDeleteConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", secondLine: true, "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modOrarendiOraSaveFrom", OrarendResource.ModSaveFrom, "OrarendiOrak.modOrarendiOraSaveFrom", secondLine: true, "pull-left");
pm = pm.AddBtn(pm, "modOrarendiOraSaveTo", OrarendResource.ModSaveTo, "OrarendiOrak.modOrarendiOraSaveTo", secondLine: true, "pull-left");
}
pm = pm.AddBtn(pm, "modOrarendiOraSave", OrarendResource.ModAllSave, "OrarendiOrak.modOrarendiOraSaveTanev", secondLine: true, "pull-left");
}
else
{
//Bármikor lehessen egy órát törölni
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
if (isEgyOra)
{
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", "pull-left");
}
}
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false, bool isMentor = false)
{
var oom = GetNewOrarendiOraModel(model, true, isFromSzervezet, isMentor: isMentor);
var list = new List<TabStripItemModel> { new TabStripItemModel { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Osztaly", IsActive = true } };
if (!isFromSzervezet)
{
list.Add(new TabStripItemModel { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
}
oom.OrarendiOraTabList = list;
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = helper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "Foglalkozasok.newFoglalkozasCancel");
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "Foglalkozasok.EgyOraHozzaadasaSave");
if (!isDateHasTanevrend && !isFromSzervezet)
{
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "Foglalkozasok.EttolHettolSave");
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "Foglalkozasok.EddigHetigSave");
}
if (isFromSzervezet || !isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "Foglalkozasok.OrarendhezSave");
}
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false)
{
var oom = GetModifyOrarendiOraModel(model, true, isFromSzervezet);
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
pm = pm.AddBtn(pm, "modFoglalkozasCancel", AdminisztracioResource.Megsem, "Foglalkozasok.modFoglalkozasCancel");
pm = pm.AddBtn(pm, "tovabbiFoglalkozasFelvetele", OrarendResource.AddAgain, "Foglalkozasok.tovabbiFoglalkozasFelvetele");
if (!isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modFoglalkozasDeleteFrom", OrarendResource.DeleteFrom, "Foglalkozasok.modFoglalkozasDeleteFromConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modFoglalkozasDeleteTo", OrarendResource.DeleteTo, "Foglalkozasok.modFoglalkozasDeleteToConfirmWindow", "pull-left");
}
pm = pm.AddBtn(pm, "modFoglalkozasDelete", OrarendResource.DeleteAll, "Foglalkozasok.modFoglalkozasDeleteConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modFoglalkozasSaveDay", OrarendResource.ModSaveOneDay, "Foglalkozasok.modFoglalkozasSaveDay", secondLine: true, "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modFoglalkozasSaveFrom", OrarendResource.ModSaveFrom, "Foglalkozasok.modFoglalkozasSaveFrom", secondLine: true, "pull-left");
pm = pm.AddBtn(pm, "modFoglalkozasSaveTo", OrarendResource.ModSaveTo, "Foglalkozasok.modFoglalkozasSaveTo", secondLine: true, "pull-left");
}
pm = pm.AddBtn(pm, "modFoglalkozasSave", OrarendResource.ModAllSave, "Foglalkozasok.modFoglalkozasSaveTanev", secondLine: true, "pull-left");
}
else
{
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
}
return PartialView(Constants.General.PopupView, pm);
}
public string GetOrarendiOraWindowTitle(CalendarModel model)
{
var oom = new OrarendiOraModel
{
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
};
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
var api = new AdminTanariOrarendApiController();
int oraszam = api.GetOraszam(model.EventId, model.OraType);
return string.Format(" [{0} - {1}: {2}. óra]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg, oraszam);
}
public string GetFoglalkozasWindowTitle(CalendarModel model)
{
var oom = new OrarendiOraModel
{
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
};
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
return string.Format(" [{0} - {1}]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg);
}
private OrarendiOraModel GetNewOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false, bool isMentor = false)
{
var oom = new OrarendiOraModel
{
IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas,
OraKezdete = model.Start.ToLocalTime(),
OraVege = model.End.ToLocalTime(),
Sorszamozando = true,
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start.ToLocalTime()),
ErvenyessegiIdo = model.Start.ToLocalTime(),
OraErvenyessegKezdete = model.Start,
ValasztottDatum = model.Start,
OraErvenyessegVege = !isFromSzervezet ? model.End : (DateTime?)null,
CsengetesiRendOraID = model.EventId,
HetirendID = (int)HetiRendTipusEnum.MindegyikHet,
Hetirend = HetiRendTipusEnum.MindegyikHet.GetDisplayName(ClaimData.SelectedTanevID.Value)
};
if (!isTanoranKivuliFoglalkozas)
{
OrarendiOraLogic.SetCsengetesiRendAndOraszam(oom);
}
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
OrarendiOraLogic.SetHetNapja(oom, oom.ErvenyessegiIdo.DayOfWeek);
oom.HetirendList = OrarendiOraLogic.GetAktualHetirendList();
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
oom.IsFromSzervezet = isFromSzervezet;
oom.IsMentorOra = isMentor;
return oom;
}
private OrarendiOraModel GetModifyOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false)
{
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = null
};
var ooco = orarendiOraHelper.GetOrarendiOraById(model.EventId);
var tanarId = orarendiOraHelper.GetTanarIdByOrarendiOra(model.EventId);
var tfco = new TantargyFelosztasCO
{
OsztalyCsoportID = ooco.OsztalyCsoportId.Value,
TantargyID = ooco.TantargyId.Value
};
var oom = ConvertCoToModel(ooco, tanarId, tfco);
oom.IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas;
oom.IsModification = true;
oom.ModificationDate = model.Start;
oom.ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDateAndTime], oom.OraErvenyessegKezdete.Value);
oom.OrarendiOraTabList = OrarendiOraLogic.GetModOrarendiOraTabs(oom, AdminOrarendTipusEnum.Osztaly.ToString(), isFromSzervezet);
oom.OraKezdete = ooco.OraKezdete;
oom.OraVege = ooco.OraVege;
oom.ErvenyessegiIdo = model.Start;
var api = new AdminTanariOrarendApiController();
oom.HetirendList = api.GetHetirendList();
oom.OsztalyCsoportId = ooco.OsztalyCsoportId;
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
oom.IsFromSzervezet = isFromSzervezet;
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
return oom;
}
private OrarendiOraModel ConvertCoToModel(OrarendiOraCO ooco, int tanarId, TantargyFelosztasCO tfco)
{
var model = new OrarendiOraModel
{
ID = ooco.ID,
CsengetesiRendOraID = ooco.CsengetesiRendOraID,
CsengetesiRendID = ooco.CsengetesiRendID,
HetirendID = ooco.Hetirend,
Hetirend = ooco.Hetirend > 0 ? ooco.Hetirend.GetDisplayName<HetiRendTipusEnum>(ClaimData.SelectedTanevID.Value) : string.Empty,
TeremID = ooco.TeremID,
OraErvenyessegKezdete = ooco.OraErvenyessegKezdete,
OraErvenyessegVege = ooco.OraErvenyessegVege,
Oraszam = ooco.Oraszam,
Bontott = ooco.Bontott,
Differencialt = ooco.Differencialt,
Drama = ooco.Drama,
HetNapja = ooco.HetNapja,
IKTTanora = ooco.IKTTanora,
IPRTanora = ooco.IPRTanora,
Kooperativ = ooco.Kooperativ,
Meres = ooco.Meres,
MindennaposTestneveles = ooco.MindennaposTestneveles,
NemSzakrendszeruOra = ooco.NemSzakrendszeruOra,
NemzetisegiOra = ooco.NemzetisegiOra,
IsFelnottoktatasiSzerzodes = ooco.IsFelnottoktatasiSzerzodes,
OnlineOra = ooco.OnlineOra,
ParhuzamosOra = ooco.ParhuzamosOra,
Sorszamozando = ooco.Sorszamozando,
TAMOPOra = ooco.TAMOPOra,
KIPOra = ooco.KIPOra,
VEKOP73317 = ooco.VEKOP73317,
KAPOra = ooco.KAPOra,
Tiop = ooco.Tiop,
Tulora = ooco.Tulora,
IsModification = ooco.IsModification,
HetNapjaSzoveg = ooco.HetNapja.GetDisplayName<HetNapjaTipusEnum>(ClaimData.SelectedTanevID.Value),
Multikulturalis = ooco.Multikulturalis,
EFOP32317 = ooco.EFOP32317,
KomplexOra = ooco.KomplexOra,
GINOP623 = ooco.GINOP623,
EFOP31716EselyteremtesAKoznevelesben = ooco.EFOP31716EselyteremtesAKoznevelesben,
EFOP33717 = ooco.EFOP33717,
TIOP11112120120001 = ooco.TIOP11112120120001,
DFHT = ooco.DFHT,
Rahangolodas = ooco.Rahangolodas,
Testmozgas = ooco.Testmozgas,
Muveszet = ooco.Muveszet,
Eletgyakorlat = ooco.Eletgyakorlat,
Logika = ooco.Logika,
TeOrad = ooco.TeOrad,
DigitalisAlapProgram = ooco.DigitalisAlapProgram,
EFOP23517201700038Miapalya = ooco.EFOP23517201700038Miapalya,
TanevTananyaganakIsmetlese = ooco.TanevTananyaganakIsmetlese,
TanevTananyaganakKiegeszitese = ooco.TanevTananyaganakKiegeszitese,
TanulokDigitalisKeszsegfejlesztese = ooco.TanulokDigitalisKeszsegfejlesztese,
Projektmunka = ooco.Projektmunka,
TanulokKompenzaciosIraskeszsegFejlesztese = ooco.TanulokKompenzaciosIraskeszsegFejlesztese,
TanulokKompenzaciosOlvasasiKepessegFejlesztese = ooco.TanulokKompenzaciosOlvasasiKepessegFejlesztese,
TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = ooco.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese,
TanulokNyelviKepessegenekKompenzaciosFejlesztese = ooco.TanulokNyelviKepessegenekKompenzaciosFejlesztese,
TanulokOnmegismeresenekSegitese = ooco.TanulokOnmegismeresenekSegitese,
TanulokOnallosagraNevelese = ooco.TanulokOnallosagraNevelese,
TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = ooco.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese,
TanulokOrientaciosTamogatasa = ooco.TanulokOrientaciosTamogatasa,
TanulokSzocialitasanakFejlesztese = ooco.TanulokSzocialitasanakFejlesztese,
TanulokTovabbhaladasatElokeszitoTevekenysegek = ooco.TanulokTovabbhaladasatElokeszitoTevekenysegek,
PedagogusAltalJelzettEgyeniEsetkezeles = ooco.PedagogusAltalJelzettEgyeniEsetkezeles,
ProjektmunkaTamogatasa = ooco.ProjektmunkaTamogatasa,
DigitalisKeszsegfejlesztes = ooco.DigitalisKeszsegfejlesztes,
KozossegiMunkaTamogatasa = ooco.KozossegiMunkaTamogatasa,
TanoraElokeszitesenekTamogatasa = ooco.TanoraElokeszitesenekTamogatasa,
TanoraLebonyolitasanakTamogatasa = ooco.TanoraLebonyolitasanakTamogatasa,
NapkozisTevekenysegKeretebenEgyeniFejlesztes = ooco.NapkozisTevekenysegKeretebenEgyeniFejlesztes,
IsEgybefuggoGyakorlat = ooco.IsEgybefuggoGyakorlat,
TTFModel = new TTFModel
{
FoglalkozasID = ooco.FoglalkozasID,
TanarID = tanarId,
Oraszam = (int)tfco.Oraszam,
OsztalyID = tfco.OsztalyCsoportID,
TantargyID = tfco.TantargyID,
Nev = !string.IsNullOrWhiteSpace(tfco.Nev) ? tfco.Nev : string.Empty
},
};
return model;
}
}
}

View file

@ -0,0 +1,395 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.KretaServer.SystemSettings;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.Logic;
using Kreta.Web.Areas.Orarend.ApiControllers;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
public class BaseAdminTanariOrarendController : Controller
{
[NonAction]
public ActionResult GetOrarendiOrak(int index = 0, bool isFromSzervezet = false)
{
var model = new OrarendiOrakModel
{
Index = index,
IsFromSzervezet = isFromSzervezet
};
return View("OrarendiOrak_Tab", model);
}
[NonAction]
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1, bool isFromSzervezet = false)
{
var model = new TanariOrarendTanoranKivuliFoglalkozasokModel()
{
Index = index,
IsFromSzervezet = isFromSzervezet
};
return View("TanoranKivuliFoglalkozasok_Tab", model);
}
[NonAction]
public ActionResult OpenNewOrarendiOraPopUp(CalendarModel model, bool isFromSzervezet = false)
{
var oom = GetNewOrarendiOraModel(model, false, isFromSzervezet: isFromSzervezet);
var list = new List<TabStripItemModel>();
list.Add(new TabStripItemModel() { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Tanari", IsActive = true });
if (!isFromSzervezet)
{
list.Add(new TabStripItemModel() { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
}
oom.OrarendiOraTabList = list;
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.Start.Date, null);
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "OrarendiOrak.newOrarendiOraCancel");
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "OrarendiOrak.EgyOraHozzaadasaSave");
if (isFromSzervezet || !isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "OrarendiOrak.OrarendhezSave");
}
if (!isDateHasTanevrend && !isFromSzervezet)
{
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "OrarendiOrak.EttolHettolSave");
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "OrarendiOrak.EddigHetigSave");
}
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model, bool isFromSzervezet = false)
{
var oom = GetModifyOrarendiOraModel(model, false, isFromSzervezet: isFromSzervezet);
var isEgyOra = false;
if (oom.OraErvenyessegKezdete.Value.Date == oom.OraErvenyessegVege.Value.Date)
isEgyOra = true;
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.Start.Date, null);
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
pm = pm.AddBtn(pm, "modCancel", AdminisztracioResource.Megsem, "OrarendiOrak.modCancel");
pm = pm.AddBtn(pm, "tovabbiOrarendiOraFelvetele", OrarendResource.AddAgain, "OrarendiOrak.tovabbiOrarendiOraFelvetele");
if (!isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modOrarendiOraDeleteFrom", OrarendResource.DeleteFrom, "OrarendiOrak.modOrarendiOraDeleteFromConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modOrarendiOraDeleteTo", OrarendResource.DeleteTo, "OrarendiOrak.modOrarendiOraDeleteToConfirmWindow", "pull-left");
}
pm = pm.AddBtn(pm, "modOrarendiOraDelete", OrarendResource.DeleteAll, "OrarendiOrak.modOrarendiOraDeleteConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", secondLine: true, "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modOrarendiOraSaveFrom", OrarendResource.ModSaveFrom, "OrarendiOrak.modOrarendiOraSaveFrom", secondLine: true, "pull-left");
pm = pm.AddBtn(pm, "modOrarendiOraSaveTo", OrarendResource.ModSaveTo, "OrarendiOrak.modOrarendiOraSaveTo", secondLine: true, "pull-left");
}
pm = pm.AddBtn(pm, "modOrarendiOraSave", OrarendResource.ModAllSave, "OrarendiOrak.modOrarendiOraSaveTanev", secondLine: true, "pull-left");
}
else
{
//Bármikor lehessen egy órát törölni
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
if (isEgyOra)
{
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", "pull-left");
}
}
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false)
{
var oom = GetNewOrarendiOraModel(model, true, isFromSzervezet);
var list = new List<TabStripItemModel>();
list.Add(new TabStripItemModel() { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Tanari", IsActive = true });
if (!isFromSzervezet)
{
list.Add(new TabStripItemModel() { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
}
oom.OrarendiOraTabList = list;
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = helper.HasTanevRendjeEsemeny(model.Start.Date, null);
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "Foglalkozasok.newFoglalkozasCancel");
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "Foglalkozasok.EgyOraHozzaadasaSave");
if (!isDateHasTanevrend && !isFromSzervezet)
{
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "Foglalkozasok.EttolHettolSave");
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "Foglalkozasok.EddigHetigSave");
}
if (isFromSzervezet || !isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "Foglalkozasok.OrarendhezSave");
}
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false)
{
var oom = GetModifyOrarendiOraModel(model, true, isFromSzervezet: isFromSzervezet);
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.Start.Date, null);
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
pm = pm.AddBtn(pm, "modFoglalkozasCancel", AdminisztracioResource.Megsem, "Foglalkozasok.modFoglalkozasCancel");
if (model.HelyettesitoId == null)
{
pm = pm.AddBtn(pm, "tovabbiFoglalkozasFelvetele", OrarendResource.AddAgain, "Foglalkozasok.tovabbiFoglalkozasFelvetele");
if (!isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modFoglalkozasDeleteFrom", OrarendResource.DeleteFrom, "Foglalkozasok.modFoglalkozasDeleteFromConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modFoglalkozasDeleteTo", OrarendResource.DeleteTo, "Foglalkozasok.modFoglalkozasDeleteToConfirmWindow", "pull-left");
}
pm = pm.AddBtn(pm, "modFoglalkozasDelete", OrarendResource.DeleteAll, "Foglalkozasok.modFoglalkozasDeleteConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modFoglalkozasSaveDay", OrarendResource.ModSaveOneDay, "Foglalkozasok.modFoglalkozasSaveDay", secondLine: true, "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modFoglalkozasSaveFrom", OrarendResource.ModSaveFrom, "Foglalkozasok.modFoglalkozasSaveFrom", secondLine: true, "pull-left");
pm = pm.AddBtn(pm, "modFoglalkozasSaveTo", OrarendResource.ModSaveTo, "Foglalkozasok.modFoglalkozasSaveTo", secondLine: true, "pull-left");
}
pm = pm.AddBtn(pm, "modFoglalkozasSave", OrarendResource.ModAllSave, "Foglalkozasok.modFoglalkozasSaveTanev", secondLine: true, "pull-left");
}
else
{
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
}
}
return PartialView(Constants.General.PopupView, pm);
}
private OrarendiOraModel GetNewOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false)
{
var oom = new OrarendiOraModel
{
IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas,
OraKezdete = model.Start.ToLocalTime(),
OraVege = model.End.ToLocalTime(),
Sorszamozando = true,
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start.ToLocalTime()),
ErvenyessegiIdo = model.Start.ToLocalTime(),
OraErvenyessegKezdete = model.Start,
ValasztottDatum = model.Start,
OraErvenyessegVege = !isFromSzervezet ? model.End : (DateTime?)null,
CsengetesiRendOraID = model.EventId,
HetirendID = (int)HetiRendTipusEnum.MindegyikHet,
Hetirend = HetiRendTipusEnum.MindegyikHet.GetDisplayName(ClaimData.SelectedTanevID.Value)
};
if (!isTanoranKivuliFoglalkozas)
{
OrarendiOraLogic.SetCsengetesiRendAndOraszam(oom);
}
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
OrarendiOraLogic.SetHetNapja(oom, oom.ErvenyessegiIdo.DayOfWeek);
oom.HetirendList = OrarendiOraLogic.GetAktualHetirendList();
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
oom.IsFromSzervezet = isFromSzervezet;
return oom;
}
private OrarendiOraModel GetModifyOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false)
{
OrarendiOraCO ooco;
TantargyFelosztasCO tfco;
int tanarId;
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
orarendiOraHelper.GridParameters = null;
ooco = orarendiOraHelper.GetOrarendiOraById(model.EventId);
tanarId = orarendiOraHelper.GetTanarIdByOrarendiOra(model.EventId);
tfco = new TantargyFelosztasCO
{
OsztalyCsoportID = ooco.OsztalyCsoportId.Value,
TantargyID = ooco.TantargyId.Value
};
var oom = ConvertCoToModel(ooco, tanarId, tfco);
oom.IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas;
oom.IsModification = true;
oom.ModificationDate = model.Start;
oom.ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDateAndTime], oom.OraErvenyessegKezdete.Value);
oom.OrarendiOraTabList = OrarendiOraLogic.GetModOrarendiOraTabs(oom, AdminOrarendTipusEnum.Tanari.ToString(), isFromSzervezet);
oom.OraKezdete = ooco.OraKezdete;
oom.OraVege = ooco.OraVege;
oom.ErvenyessegiIdo = model.Start;
var api = new AdminTanariOrarendApiController();
oom.HetirendList = api.GetHetirendList();
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
oom.IsFromSzervezet = isFromSzervezet;
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
return oom;
}
private OrarendiOraModel ConvertCoToModel(OrarendiOraCO ooco, int tanarId, TantargyFelosztasCO tfco)
{
var model = new OrarendiOraModel
{
ID = ooco.ID,
CsengetesiRendOraID = ooco.CsengetesiRendOraID,
CsengetesiRendID = ooco.CsengetesiRendID,
HetirendID = ooco.Hetirend,
Hetirend = ooco.Hetirend > 0 ? ooco.Hetirend.GetDisplayName<HetiRendTipusEnum>(ClaimData.SelectedTanevID.Value) : string.Empty,
TeremID = ooco.TeremID,
OraErvenyessegKezdete = ooco.OraErvenyessegKezdete,
OraErvenyessegVege = ooco.OraErvenyessegVege,
Oraszam = ooco.Oraszam,
Bontott = ooco.Bontott,
Differencialt = ooco.Differencialt,
Drama = ooco.Drama,
HetNapja = ooco.HetNapja,
IKTTanora = ooco.IKTTanora,
IPRTanora = ooco.IPRTanora,
Kooperativ = ooco.Kooperativ,
Meres = ooco.Meres,
MindennaposTestneveles = ooco.MindennaposTestneveles,
NemSzakrendszeruOra = ooco.NemSzakrendszeruOra,
NemzetisegiOra = ooco.NemzetisegiOra,
IsFelnottoktatasiSzerzodes = ooco.IsFelnottoktatasiSzerzodes,
OnlineOra = ooco.OnlineOra,
ParhuzamosOra = ooco.ParhuzamosOra,
Sorszamozando = ooco.Sorszamozando,
TAMOPOra = ooco.TAMOPOra,
KIPOra = ooco.KIPOra,
VEKOP73317 = ooco.VEKOP73317,
KAPOra = ooco.KAPOra,
Tiop = ooco.Tiop,
Tulora = ooco.Tulora,
IsModification = ooco.IsModification,
Multikulturalis = ooco.Multikulturalis,
EFOP32317 = ooco.EFOP32317,
KomplexOra = ooco.KomplexOra,
GINOP623 = ooco.GINOP623,
EFOP31716EselyteremtesAKoznevelesben = ooco.EFOP31716EselyteremtesAKoznevelesben,
EFOP33717 = ooco.EFOP33717,
TIOP11112120120001 = ooco.TIOP11112120120001,
DFHT = ooco.DFHT,
Rahangolodas = ooco.Rahangolodas,
Testmozgas = ooco.Testmozgas,
Muveszet = ooco.Muveszet,
Eletgyakorlat = ooco.Eletgyakorlat,
Logika = ooco.Logika,
TeOrad = ooco.TeOrad,
DigitalisAlapProgram = ooco.DigitalisAlapProgram,
HetNapjaSzoveg = ooco.HetNapja.GetDisplayName<HetNapjaTipusEnum>(ClaimData.SelectedTanevID.Value),
EFOP23517201700038Miapalya = ooco.EFOP23517201700038Miapalya,
TanevTananyaganakIsmetlese = ooco.TanevTananyaganakIsmetlese,
TanevTananyaganakKiegeszitese = ooco.TanevTananyaganakKiegeszitese,
TanulokDigitalisKeszsegfejlesztese = ooco.TanulokDigitalisKeszsegfejlesztese,
Projektmunka = ooco.Projektmunka,
TanulokKompenzaciosIraskeszsegFejlesztese = ooco.TanulokKompenzaciosIraskeszsegFejlesztese,
TanulokKompenzaciosOlvasasiKepessegFejlesztese = ooco.TanulokKompenzaciosOlvasasiKepessegFejlesztese,
TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = ooco.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese,
TanulokNyelviKepessegenekKompenzaciosFejlesztese = ooco.TanulokNyelviKepessegenekKompenzaciosFejlesztese,
TanulokOnmegismeresenekSegitese = ooco.TanulokOnmegismeresenekSegitese,
TanulokOnallosagraNevelese = ooco.TanulokOnallosagraNevelese,
TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = ooco.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese,
TanulokOrientaciosTamogatasa = ooco.TanulokOrientaciosTamogatasa,
TanulokSzocialitasanakFejlesztese = ooco.TanulokSzocialitasanakFejlesztese,
TanulokTovabbhaladasatElokeszitoTevekenysegek = ooco.TanulokTovabbhaladasatElokeszitoTevekenysegek,
PedagogusAltalJelzettEgyeniEsetkezeles = ooco.PedagogusAltalJelzettEgyeniEsetkezeles,
ProjektmunkaTamogatasa = ooco.ProjektmunkaTamogatasa,
DigitalisKeszsegfejlesztes = ooco.DigitalisKeszsegfejlesztes,
KozossegiMunkaTamogatasa = ooco.KozossegiMunkaTamogatasa,
TanoraElokeszitesenekTamogatasa = ooco.TanoraElokeszitesenekTamogatasa,
TanoraLebonyolitasanakTamogatasa = ooco.TanoraLebonyolitasanakTamogatasa,
NapkozisTevekenysegKeretebenEgyeniFejlesztes = ooco.NapkozisTevekenysegKeretebenEgyeniFejlesztes,
IsEgybefuggoGyakorlat = ooco.IsEgybefuggoGyakorlat,
TTFModel = new TTFModel
{
FoglalkozasID = ooco.FoglalkozasID,
TanarID = tanarId,
Oraszam = (int)tfco.Oraszam,
OsztalyID = tfco.OsztalyCsoportID,
TantargyID = tfco.TantargyID,
Nev = !string.IsNullOrWhiteSpace(tfco.Nev) ? tfco.Nev : string.Empty
},
};
return model;
}
public string GetOrarendiOraWindowTitle(CalendarModel model, bool isFromSzervezet = false)
{
var oom = new OrarendiOraModel
{
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
};
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
var api = new AdminTanariOrarendApiController();
int oraszam = api.GetOraszam(model.EventId, model.OraType);
return string.Format(" [{0} - {1}: {2}. óra]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg, oraszam);
}
public string GetFoglalkozasWindowTitle(CalendarModel model, bool isFromSzervezet = false)
{
var oom = new OrarendiOraModel
{
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
};
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
//var api = new AdminTanariOrarendApiController();
//int oraszam = api.GetOraszam(model.EventId, model.OraType);
return string.Format(" [{0} - {1}]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg);
}
}
}

View file

@ -0,0 +1,390 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.KretaServer.SystemSettings;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.Logic;
using Kreta.Web.Areas.Orarend.ApiControllers;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
public class BaseAdminTeremOrarendController : Controller
{
[NonAction]
public ActionResult GetOrarendiOrak(int index = 0, bool isFromSzervezet = false)
{
var model = new OrarendiOrakModel
{
Index = index,
IsFromSzervezet = isFromSzervezet
};
return View("OrarendiOrak_Tab", model);
}
[NonAction]
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1, bool isFromSzervezet = false)
{
var model = new TanariOrarendTanoranKivuliFoglalkozasokModel()
{
Index = index,
IsFromSzervezet = isFromSzervezet
};
return View("TanoranKivuliFoglalkozasok_Tab", model);
}
[NonAction]
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model, bool isFromSzervezet = false)
{
var oom = GetNewOrarendiOraModel(model.CalendarModel, false, isFromSzervezet);
if (model.OsztalyId != 0)
{
oom.TTFModel.OsztalyID = model.OsztalyId;
}
var list = new List<TabStripItemModel> { new TabStripItemModel { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Terem", IsActive = true } };
if (!isFromSzervezet)
{
list.Add(new TabStripItemModel { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
}
oom.OrarendiOraTabList = list;
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.CalendarModel.Start.Date, model.OsztalyId);
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "OrarendiOrak.newOrarendiOraCancel");
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "OrarendiOrak.EgyOraHozzaadasaSave");
if (isFromSzervezet || !isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "OrarendiOrak.OrarendhezSave");
}
if (!isDateHasTanevrend && !isFromSzervezet)
{
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "OrarendiOrak.EttolHettolSave");
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "OrarendiOrak.EddigHetigSave");
}
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model, bool isFromSzervezet = false)
{
var oom = GetModifyOrarendiOraModel(model, false, isFromSzervezet);
var isEgyOra = oom.OraErvenyessegKezdete.Value.Date == oom.OraErvenyessegVege.Value.Date;
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
pm = pm.AddBtn(pm, "modCancel", AdminisztracioResource.Megsem, "OrarendiOrak.modCancel");
pm = pm.AddBtn(pm, "tovabbiOrarendiOraFelvetele", OrarendResource.AddAgain, "OrarendiOrak.tovabbiOrarendiOraFelvetele");
if (!isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modOrarendiOraDeleteFrom", OrarendResource.DeleteFrom, "OrarendiOrak.modOrarendiOraDeleteFromConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modOrarendiOraDeleteTo", OrarendResource.DeleteTo, "OrarendiOrak.modOrarendiOraDeleteToConfirmWindow", "pull-left");
}
pm = pm.AddBtn(pm, "modOrarendiOraDelete", OrarendResource.DeleteAll, "OrarendiOrak.modOrarendiOraDeleteConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", secondLine: true, "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modOrarendiOraSaveFrom", OrarendResource.ModSaveFrom, "OrarendiOrak.modOrarendiOraSaveFrom", secondLine: true, "pull-left");
pm = pm.AddBtn(pm, "modOrarendiOraSaveTo", OrarendResource.ModSaveTo, "OrarendiOrak.modOrarendiOraSaveTo", secondLine: true, "pull-left");
}
pm = pm.AddBtn(pm, "modOrarendiOraSave", OrarendResource.ModAllSave, "OrarendiOrak.modOrarendiOraSaveTanev", secondLine: true, "pull-left");
}
else
{
//Bármikor lehessen egy órát törölni
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
if (isEgyOra)
{
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", "pull-left");
}
}
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false)
{
var oom = GetNewOrarendiOraModel(model, true, isFromSzervezet);
var list = new List<TabStripItemModel> { new TabStripItemModel { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Terem", IsActive = true } };
if (!isFromSzervezet)
{
list.Add(new TabStripItemModel { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
}
oom.OrarendiOraTabList = list;
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = helper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "Foglalkozasok.newFoglalkozasCancel");
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "Foglalkozasok.EgyOraHozzaadasaSave");
if (!isDateHasTanevrend && !isFromSzervezet)
{
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "Foglalkozasok.EttolHettolSave");
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "Foglalkozasok.EddigHetigSave");
}
if (isFromSzervezet || !isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "Foglalkozasok.OrarendhezSave");
}
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false)
{
var oom = GetModifyOrarendiOraModel(model, true, isFromSzervezet);
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
pm = pm.AddBtn(pm, "modFoglalkozasCancel", AdminisztracioResource.Megsem, "Foglalkozasok.modFoglalkozasCancel");
pm = pm.AddBtn(pm, "tovabbiFoglalkozasFelvetele", OrarendResource.AddAgain, "Foglalkozasok.tovabbiFoglalkozasFelvetele");
if (!isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modFoglalkozasDeleteFrom", OrarendResource.DeleteFrom, "Foglalkozasok.modFoglalkozasDeleteFromConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modFoglalkozasDeleteTo", OrarendResource.DeleteTo, "Foglalkozasok.modFoglalkozasDeleteToConfirmWindow", "pull-left");
}
pm = pm.AddBtn(pm, "modFoglalkozasDelete", OrarendResource.DeleteAll, "Foglalkozasok.modFoglalkozasDeleteConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modFoglalkozasSaveDay", OrarendResource.ModSaveOneDay, "Foglalkozasok.modFoglalkozasSaveDay", secondLine: true, "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modFoglalkozasSaveFrom", OrarendResource.ModSaveFrom, "Foglalkozasok.modFoglalkozasSaveFrom", secondLine: true, "pull-left");
pm = pm.AddBtn(pm, "modFoglalkozasSaveTo", OrarendResource.ModSaveTo, "Foglalkozasok.modFoglalkozasSaveTo", secondLine: true, "pull-left");
}
pm = pm.AddBtn(pm, "modFoglalkozasSave", OrarendResource.ModAllSave, "Foglalkozasok.modFoglalkozasSaveTanev", secondLine: true, "pull-left");
}
else
{
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
}
return PartialView(Constants.General.PopupView, pm);
}
public string GetOrarendiOraWindowTitle(CalendarModel model)
{
var oom = new OrarendiOraModel
{
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
};
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
var api = new AdminTanariOrarendApiController();
int oraszam = api.GetOraszam(model.EventId, model.OraType);
return string.Format(" [{0} - {1}: {2}. óra]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg, oraszam);
}
public string GetFoglalkozasWindowTitle(CalendarModel model)
{
var oom = new OrarendiOraModel
{
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
};
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
return string.Format(" [{0} - {1}]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg);
}
private OrarendiOraModel GetNewOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false)
{
var oom = new OrarendiOraModel
{
IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas,
OraKezdete = model.Start.ToLocalTime(),
OraVege = model.End.ToLocalTime(),
Sorszamozando = true,
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start.ToLocalTime()),
ErvenyessegiIdo = model.Start.ToLocalTime(),
OraErvenyessegKezdete = model.Start,
ValasztottDatum = model.Start,
OraErvenyessegVege = !isFromSzervezet ? model.End : (DateTime?)null,
CsengetesiRendOraID = model.EventId,
HetirendID = (int)HetiRendTipusEnum.MindegyikHet,
Hetirend = HetiRendTipusEnum.MindegyikHet.GetDisplayName(ClaimData.SelectedTanevID.Value)
};
if (!isTanoranKivuliFoglalkozas)
{
OrarendiOraLogic.SetCsengetesiRendAndOraszam(oom);
}
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
OrarendiOraLogic.SetHetNapja(oom, oom.ErvenyessegiIdo.DayOfWeek);
oom.HetirendList = OrarendiOraLogic.GetAktualHetirendList();
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
oom.IsFromSzervezet = isFromSzervezet;
return oom;
}
private OrarendiOraModel GetModifyOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false)
{
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = null
};
var ooco = orarendiOraHelper.GetOrarendiOraById(model.EventId);
var tanarId = orarendiOraHelper.GetTanarIdByOrarendiOra(model.EventId);
var tfco = new TantargyFelosztasCO
{
OsztalyCsoportID = ooco.OsztalyCsoportId.Value,
TantargyID = ooco.TantargyId.Value
};
var oom = ConvertCoToModel(ooco, tanarId, tfco);
oom.IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas;
oom.IsModification = true;
oom.ModificationDate = model.Start;
oom.ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDateAndTime], oom.OraErvenyessegKezdete.Value);
oom.OrarendiOraTabList = OrarendiOraLogic.GetModOrarendiOraTabs(oom, AdminOrarendTipusEnum.Terem.ToString(), isFromSzervezet);
oom.OraKezdete = ooco.OraKezdete;
oom.OraVege = ooco.OraVege;
oom.ErvenyessegiIdo = model.Start;
var api = new AdminTanariOrarendApiController();
oom.HetirendList = api.GetHetirendList();
oom.OsztalyCsoportId = ooco.OsztalyCsoportId;
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
oom.IsFromSzervezet = isFromSzervezet;
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
return oom;
}
private OrarendiOraModel ConvertCoToModel(OrarendiOraCO ooco, int tanarId, TantargyFelosztasCO tfco)
{
var model = new OrarendiOraModel
{
ID = ooco.ID,
CsengetesiRendOraID = ooco.CsengetesiRendOraID,
CsengetesiRendID = ooco.CsengetesiRendID,
HetirendID = ooco.Hetirend,
Hetirend = ooco.Hetirend > 0 ? ooco.Hetirend.GetDisplayName<HetiRendTipusEnum>(ClaimData.SelectedTanevID.Value) : string.Empty,
TeremID = ooco.TeremID,
OraErvenyessegKezdete = ooco.OraErvenyessegKezdete,
OraErvenyessegVege = ooco.OraErvenyessegVege,
Oraszam = ooco.Oraszam,
Bontott = ooco.Bontott,
Differencialt = ooco.Differencialt,
Drama = ooco.Drama,
HetNapja = ooco.HetNapja,
IKTTanora = ooco.IKTTanora,
IPRTanora = ooco.IPRTanora,
Kooperativ = ooco.Kooperativ,
Meres = ooco.Meres,
MindennaposTestneveles = ooco.MindennaposTestneveles,
NemSzakrendszeruOra = ooco.NemSzakrendszeruOra,
NemzetisegiOra = ooco.NemzetisegiOra,
IsFelnottoktatasiSzerzodes = ooco.IsFelnottoktatasiSzerzodes,
OnlineOra = ooco.OnlineOra,
ParhuzamosOra = ooco.ParhuzamosOra,
Sorszamozando = ooco.Sorszamozando,
TAMOPOra = ooco.TAMOPOra,
KIPOra = ooco.KIPOra,
VEKOP73317 = ooco.VEKOP73317,
KAPOra = ooco.KAPOra,
Tiop = ooco.Tiop,
Tulora = ooco.Tulora,
IsModification = ooco.IsModification,
HetNapjaSzoveg = ooco.HetNapja.GetDisplayName<HetNapjaTipusEnum>(ClaimData.SelectedTanevID.Value),
Multikulturalis = ooco.Multikulturalis,
EFOP32317 = ooco.EFOP32317,
KomplexOra = ooco.KomplexOra,
GINOP623 = ooco.GINOP623,
EFOP31716EselyteremtesAKoznevelesben = ooco.EFOP31716EselyteremtesAKoznevelesben,
EFOP33717 = ooco.EFOP33717,
TIOP11112120120001 = ooco.TIOP11112120120001,
DFHT = ooco.DFHT,
Rahangolodas = ooco.Rahangolodas,
Testmozgas = ooco.Testmozgas,
Muveszet = ooco.Muveszet,
Eletgyakorlat = ooco.Eletgyakorlat,
Logika = ooco.Logika,
TeOrad = ooco.TeOrad,
DigitalisAlapProgram = ooco.DigitalisAlapProgram,
EFOP23517201700038Miapalya = ooco.EFOP23517201700038Miapalya,
TanevTananyaganakIsmetlese = ooco.TanevTananyaganakIsmetlese,
TanevTananyaganakKiegeszitese = ooco.TanevTananyaganakKiegeszitese,
TanulokDigitalisKeszsegfejlesztese = ooco.TanulokDigitalisKeszsegfejlesztese,
Projektmunka = ooco.Projektmunka,
TanulokKompenzaciosIraskeszsegFejlesztese = ooco.TanulokKompenzaciosIraskeszsegFejlesztese,
TanulokKompenzaciosOlvasasiKepessegFejlesztese = ooco.TanulokKompenzaciosOlvasasiKepessegFejlesztese,
TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = ooco.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese,
TanulokNyelviKepessegenekKompenzaciosFejlesztese = ooco.TanulokNyelviKepessegenekKompenzaciosFejlesztese,
TanulokOnmegismeresenekSegitese = ooco.TanulokOnmegismeresenekSegitese,
TanulokOnallosagraNevelese = ooco.TanulokOnallosagraNevelese,
TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = ooco.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese,
TanulokOrientaciosTamogatasa = ooco.TanulokOrientaciosTamogatasa,
TanulokSzocialitasanakFejlesztese = ooco.TanulokSzocialitasanakFejlesztese,
TanulokTovabbhaladasatElokeszitoTevekenysegek = ooco.TanulokTovabbhaladasatElokeszitoTevekenysegek,
PedagogusAltalJelzettEgyeniEsetkezeles = ooco.PedagogusAltalJelzettEgyeniEsetkezeles,
ProjektmunkaTamogatasa = ooco.ProjektmunkaTamogatasa,
DigitalisKeszsegfejlesztes = ooco.DigitalisKeszsegfejlesztes,
KozossegiMunkaTamogatasa = ooco.KozossegiMunkaTamogatasa,
TanoraElokeszitesenekTamogatasa = ooco.TanoraElokeszitesenekTamogatasa,
TanoraLebonyolitasanakTamogatasa = ooco.TanoraLebonyolitasanakTamogatasa,
NapkozisTevekenysegKeretebenEgyeniFejlesztes = ooco.NapkozisTevekenysegKeretebenEgyeniFejlesztes,
IsEgybefuggoGyakorlat = ooco.IsEgybefuggoGyakorlat,
TTFModel = new TTFModel
{
FoglalkozasID = ooco.FoglalkozasID,
TanarID = tanarId,
Oraszam = (int)tfco.Oraszam,
OsztalyID = tfco.OsztalyCsoportID,
TantargyID = tfco.TantargyID,
Nev = !string.IsNullOrWhiteSpace(tfco.Nev) ? tfco.Nev : string.Empty
},
};
return model;
}
}
}

View file

@ -0,0 +1,120 @@
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Utils;
namespace Kreta.Web.Areas.Orarend.Controllers
{
public abstract class BaseNaploTanariOrarendController : Controller
{
protected List<TabStripItemModel> GetTanariOrarendTabs(bool fogadooraMegjelenik, bool isFromSzervezet = false)
{
var list = new List<TabStripItemModel>();
var haladasiNaploFulTipusa = ProfileUtils.HaladasiNaploFulTipusa;
var controller = this.RouteData.Values["controller"].ToString();
list.Add(new TabStripItemModel()
{
ItemId = "0",
ItemName = isFromSzervezet ? AdminisztracioResource.Foglalkozasok : AdminisztracioResource.Tanorak,
Area = Constants.Areas.Orarend,
Controller = controller,
Action = nameof(GetTanorak),
RouteParameters = new Dictionary<string, string>()
{
{"index", "0"}
},
IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.Tanorak
});
list.Add(new TabStripItemModel()
{
ItemId = "1",
ItemName = AdminisztracioResource.Napirend,
Area = Constants.Areas.Orarend,
Controller = controller,
Action = nameof(GetTanoranKivuliFoglalkozasok),
RouteParameters = new Dictionary<string, string>()
{
{"index", "1"}
},
IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.Napirend
});
list.Add(new TabStripItemModel()
{
ItemId = "2",
ItemName = AdminisztracioResource.NemKotottMunkaido,
Area = Constants.Areas.Orarend,
Controller = controller,
Action = nameof(GetNemKotottMunkaido),
RouteParameters = new Dictionary<string, string>()
{
{"index", "2"}
},
IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.NemKotottMunkaido
});
if (fogadooraMegjelenik)
{
list.Add(new TabStripItemModel()
{
ItemId = "3",
ItemName = AdminisztracioResource.Fogadoora,
Area = Constants.Areas.Orarend,
Controller = controller,
Action = nameof(GetFogadoora),
RouteParameters = new Dictionary<string, string>()
{
{"index", "3"}
},
IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.Fogadoora
});
}
return list;
}
public ActionResult GetTanorak(int index = 0)
{
var model = new TanariOrarendTanorakModel()
{
Index = index
};
return View("Tanorak_Tab", model);
}
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
{
var model = new TanariOrarendTanoranKivuliFoglalkozasokModel()
{
Index = index
};
return View("TanoranKivuliFoglalkozasok_Tab", model);
}
public ActionResult GetNemKotottMunkaido(int index = 2)
{
var model = new TanariOrarendNemKotottMunkaidoModel()
{
Index = index
};
return View("NemKotottMunkaido_Tab", model);
}
public ActionResult GetFogadoora(int index = 3)
{
var model = new TanariOrarendFogadooraModel()
{
Index = index
};
return View("Fogadoora_Tab", model);
}
}
}

View file

@ -0,0 +1,838 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Extensions;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Logic.Naplozas;
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
using Kreta.BusinessLogic.Security;
using Kreta.Core.Exceptions;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Areas.TanuloErtekeles.Controllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
using Kreta.Web.Utils;
namespace Kreta.Web.Areas.Orarend.Controllers
{
public class BaseTanariOrarendController : BaseNaploTanariOrarendController
{
#region Konstansok
public const string TanoraNaplozasInfo = "~/Areas/Orarend/Views/TanariOrarend/TanoraNaplozasInfo.cshtml";//nameof(TanoraNaplozasInfo);
public const string Info_TanoraAdatai_Tab = "~/Areas/Orarend/Views/TanariOrarend/Info_TanoraAdatai_Tab.cshtml";//nameof(Info_TanoraAdatai_Tab);
public const string Info_MulasztasNaplozas_Tab = "~/Areas/Orarend/Views/TanariOrarend/Info_MulasztasNaplozas_Tab.cshtml";//nameof(Info_MulasztasNaplozas_Tab);
public const string Info_HaziFeladat_Tab = "~/Areas/Orarend/Views/TanariOrarend/Info_HaziFeladat_Tab.cshtml";//nameof(Info_HaziFeladat_Tab);
public const string SzamonkeresElorejelzes_Tab = "~/Areas/Orarend/Views/TanariOrarend/SzamonkeresElorejelzes_Tab.cshtml";//nameof(SzamonkeresElorejelzes_Tab);
public const string TanoraNaplozas = "~/Areas/Orarend/Views/TanariOrarend/TanoraNaplozas.cshtml";//nameof(TanoraNaplozas);
public const string MulasztasNaplozas_Tab = "~/Areas/Orarend/Views/TanariOrarend/MulasztasNaplozas_Tab.cshtml";// nameof(MulasztasNaplozas_Tab);
public const string TanuloErtekelesIndex = "~/Areas/TanuloErtekeles/Views/Ertekeles/Index.cshtml";
public const string FeljegyzesekIndex = "~/Areas/Feljegyzes/Views/Beirasok/Index.cshtml";
public const string HaziFeladat_Tab = "~/Areas/Orarend/Views/TanariOrarend/HaziFeladat_Tab.cshtml";//nameof(HaziFeladat_Tab);
public const string TanoraAdatai_Tab = "~/Areas/Orarend/Views/TanariOrarend/TanoraAdatai_Tab.cshtml";//nameof(TanoraAdatai_Tab);
public const string NaplozasDigitalisOktatas_Tab = "~/Areas/Orarend/Views/TanariOrarend/NaplozasDigitalisOktatas_Tab.cshtml";//nameof(NaplozasDigitalisOktatas_Tab);
public const string KorabbiOrakNaplozasiAdatai_Tab = "~/Areas/Orarend/Views/TanariOrarend/KorabbiOrakNaplozasiAdatai_Tab.cshtml";//nameof(KorabbiOrakNaplozasiAdatai_Tab);
public const string Info_DigitalisOktatas_Tab = "~/Areas/Orarend/Views/TanariOrarend/Info_DigitalisOktatas_Tab.cshtml";//nameof(Info_DigitalisOktatas_Tab);
public const string closeTanoraMuveletWindowEvent = "Tanorak.closeTanoraMuveletWindow";
public const string saveNemMegtartottTanoraEvent = "Naplozashelper.saveNemMegtartottTanora";
public const string saveTanoraEvent = "Naplozashelper.saveTanora";
public const string oraOsszevonasDeleteEvent = "Naplozashelper.oraOsszevonasDelete";
public const string deleteTanoraEvent = "Naplozashelper.deleteTanora";
public const string oraOsszevonasPopUpEvent = "Naplozashelper.oraOsszevonasPopUp";
public const string ujOraFelvitelePopUpEvent = "Tanorak.ujOraFelvitelePopUp";
public const string elmaradt = nameof(elmaradt);
public const string naplozas = nameof(naplozas);
public const string oraOsszevonasDelete = nameof(oraOsszevonasDelete);
public const string delete = nameof(delete);
public const string oraOsszevonas = nameof(oraOsszevonas);
public const string ujOraFelvitele = nameof(ujOraFelvitele);
#endregion
private IKretaAuthorization Authorization { get; }
private readonly IFileServiceHelper fileServiceHelper;
public BaseTanariOrarendController(IKretaAuthorization authorization, IFileServiceHelper fileServiceHelper)
{
Authorization = authorization;
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
}
[NonAction]
public ActionResult TanorakOrarendEvent(TanoraIdBeallitasModel model, int? SzervezetTipusId = null)
{
try
{
model.calendarModel.Start = model.calendarModel.Start.ToLocalTime();
model.calendarModel.End = model.calendarModel.End.ToLocalTime();
if (model.calendarModel.OraType == CalendarOraTypeEnum.TanevRendjeEsemeny)
{
return null;
}
var naploValidacioParameters = new NaploValidacioParameters(model.calendarModel.Start.ToLocalTime(), ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.FelhasznaloSzerepkor);
var validator = new NaploValidacio(naploValidacioParameters);
NaplozasElokeszitesLogic naplozasLogic = null;
if (model.calendarModel.EventType == EventTypeEnum.UjEgyediOraFelvitel ||
(model.calendarModel.EventType == EventTypeEnum.UjOraFelvitele && (model.calendarModel.OraType == CalendarOraTypeEnum.UresOra ||
model.calendarModel.OraType == CalendarOraTypeEnum.Egyeb)))
{
var co = new EgyediNaplozasElokeszitesCo();
model.ConvertTo(co);
naplozasLogic = new NaplozasElokeszitesLogic(validator, co);
}
else
if (model.calendarModel.EventType == EventTypeEnum.TanarHelyetesites)
{
var co = new HelyettesitesNaplozasElokeszitesCo();
model.ConvertTo(co);
co.SzervezetTipusId = SzervezetTipusId;
naplozasLogic = new NaplozasElokeszitesLogic(validator, co);
}
else
{
var co = new NaplozasElokeszitesCo();
model.calendarModel.ConvertTo(co);
co.SzervezetTipusId = SzervezetTipusId;
naplozasLogic = new NaplozasElokeszitesLogic(validator, co);
}
var muveletPram = new TanoraMuveletek(ClaimData.FelhasznaloId, model);
return TanoraMuveletek(naplozasLogic.GetModel, muveletPram, SzervezetTipusId);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
[NonAction]
public ActionResult OpenNewFoglalkozasokOraPopUp(TanoraIdBeallitasModel model, bool isFromSzervezet = false)
{
var fm = new FoglalkozasModel()
{
UseFoglalkozas = model.calendarModel.UseFoglakozas,
TanoranKivuliFoglalkozas = model.FoglalkozasId,
TeremID = model.TeremId,
OsztalyCsoportId = model.OsztalyCsoportId,
TantargyId = model.TantargyId,
Kezdete = model.calendarModel.Start,
KezdeteDatum = model.calendarModel.Start,
KezdeteLabel = model.calendarModel.Start.ToShortDateString(),
Vege = model.calendarModel.End,
VegeDatum = model.calendarModel.End,
VegeLabel = model.calendarModel.End.ToShortDateString()
};
PopUpModel pm = new PopUpModel(fm, "Foglalkozas_Bevitel");
pm = pm.AddBtn(pm, "newFoglalkozasCancel", AdminisztracioResource.Megsem, "Foglalkozasok.newFoglalkozasCancel");
pm = pm.AddBtn(pm, "newFoglalkozasSave", 2516, "Foglalkozasok.foglalkozasSave");
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult GetWizardElovalaszto(DateTime? datum = null, bool isFromSzervezet = false)
{
var isSzakmaiGyakorlat = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).IsOsszefuggoSzakGyak(datum);
var model = GetWizardElovalasztoModel(isSzakmaiGyakorlat);
return PartialView("WizardElovalaszto", model);
}
[NonAction]
public ActionResult GetWizardHelyettesitesElovalaszto(DateTime? datum = null, int hiba = -1, bool isFromSzervezet = false)
{
var isSzakmaiGyakorlat = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).IsOsszefuggoSzakGyak(datum);
var model = GetWizardElovalasztoModel(isSzakmaiGyakorlat);
model.TanarKezelhetHelyettesitest = false; //helyettesítésnél nem kell kirakni a helyettesítés gombot
if (model.LehetOratFelvenniTTFNelkul && model.TanarVehetFelOratMaganak && hiba != -1)
{
model.LehetOratFelvenniTTFNelkul = false;
model.TanarVehetFelOratMaganak = false;
}
model.HelyettesitendoTanarnakNincsOttOraja = (hiba == (int)EgyediHelyettesitesHibaEnum.HelyettesitendoTanarnakNincsOttOraja);
model.HelyettesitendoTanarOrajatMarNaploztak = (hiba == (int)EgyediHelyettesitesHibaEnum.HelyettesitendoTanarOrajatMarNaploztak);
return PartialView("WizardElovalaszto", model);
}
[NonAction]
public ActionResult GetWizardOrarendioraValaszto(string startDate, string endDate, string hanyadikora, string helyettesitoId, bool isNapirend = false, bool isEgyediHelyettesites = false, bool isFromSzervezet = false)
{
WizardModel model = new WizardModel();
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var ds = helper.CheckTanarOra(SDAConvert.ToDateTime(startDate).Value, SDAConvert.ToDateTime(endDate).Value, SDAConvert.ToInt32(helyettesitoId), SDAConvert.ToNullableInt32(hanyadikora), SDAConvert.ToBoolean(isNapirend), SDAConvert.ToBoolean(isEgyediHelyettesites));
model.WizardOraLista = new List<SelectListItem>();
if (ds != null && ds.Tables.Count > 0)
{
var szuksegesSorok = ds.Tables[0].AsEnumerable().ToList();
if (!isEgyediHelyettesites)
{
szuksegesSorok = szuksegesSorok.Where(x => x["Megtartott"].ToString() == "F").ToList();
}
if (szuksegesSorok.Any())
{
foreach (var orarendiOraSor in szuksegesSorok)
{
model.WizardOraLista.Add(new SelectListItem { Value = orarendiOraSor.Field<int>("C_ORARENDIORAID").ToString(), Text = string.Format("{0} {1} ({2})", orarendiOraSor.Field<string>("OsztalyNev"), orarendiOraSor.Field<string>("TargyNev"), orarendiOraSor.Field<string>("TeremNev")) });
}
if (szuksegesSorok.Count == 1)
{
model.WizardOrarendId = szuksegesSorok[0].Field<int>("C_ORARENDIORAID");
model.WizardOrarendMegtartott = SDAConvert.ToBooleanFromTF(szuksegesSorok[0].Field<string>("Megtartott"));
}
}
}
model.IsEgyediHelyettesites = isEgyediHelyettesites;
return PartialView("WizardOrarendioraValaszto", model);
}
[NonAction]
public ActionResult GetWizardHelyettesites(bool isFromSzervezet = false)
{
WizardModel model = new WizardModel();
model.IsEgyediHelyettesites = TanarKezelhetHelyettesitest() && (ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Naplo);
return PartialView("WizardHelyettesites", model);
}
[NonAction]
public ActionResult GetWizardOraosszevonasHelyettesites(bool isFromSzervezet = false)
{
WizardModel model = new WizardModel() { };
return PartialView("WizardOraosszevonasHelyettesites", model);
}
[NonAction]
public ActionResult GetWizardFoglalkozas(int foglalkozasFilterId, bool isNapirend = false, DateTime? datum = null, int? hanyadikOra = null, bool isFromSzervezet = false)
{
WizardModel model = new WizardModel() { FoglalkozasFilterId = foglalkozasFilterId, IsNapirend = isNapirend, Datum = datum, HanyadikOra = hanyadikOra };
return PartialView("WizardFoglalkozas", model);
}
[NonAction]
public ActionResult GetWizardEgyedi(int foglalkozasFilterId, DateTime datum, bool isNapirend = false, int? hanyadikOra = null, bool isFromSzervezet = false)
{
WizardModel model = new WizardModel() { FoglalkozasFilterId = foglalkozasFilterId, Datum = datum, IsNapirend = isNapirend, HanyadikOra = hanyadikOra };
return PartialView("WizardEgyedi", model);
}
[NonAction]
public DateTime GetTanevUtolsoNapja(int? szervezetId = null)
{
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo();
return szervezetId.HasValue ? tanev.UtolsoNap : tanev.UtolsoTanitasiNap;
}
public ActionResult TanoraMuveletek(NaplozasElokeszitesModel model, TanoraMuveletek muveletPram, int? szervezetTipusId)
{
try
{
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
model.IsMentorOra = new OsztalyCsoportHelper(connectionType).IsMentorCsoport(model.OraAdat.OsztalyCsoportId);
var tanarSorszamozhat = new SystemSettingsHelper(connectionType).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Ora_sorszamozasat_naplozo_pedagogus_eldontheti);
var elmaradtTanitasiOraRogzitesenekTiltasa = new SystemSettingsHelper(connectionType).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Elmaradt_tanitasi_ora_rogzitesenek_tiltasa);
var naplozarasLogic = new NaplozarasLogic(connectionType);
bool isErtekelestModosithatNaplozarasTipusaMiatt = naplozarasLogic.IsErtekelhetZarastolFuggetlenul(model.OraAdat.OraKezdete, model.OraAdat.OsztalyCsoportId);
var isNaplozhatNaplozarasTipusaMiatt = naplozarasLogic.IsNaplozhatZarastolFuggetlenul(model.OraAdat.OraKezdete, model.OraAdat.OsztalyCsoportId);
if (model.IsTanora && model.OraAdat.TanitasiOraId.HasValue)
{
var helper = new TanoraHelper(connectionType);
TanoraCO co = helper.GetTanorakAdatok(model.OraAdat.TanitasiOraId.Value);
muveletPram.NaplozasDatum = co.Datum;
model.OraAdat.DigEszkozTipusId = co.DigEszkozTipusId;
model.OraAdat.DigPlatformTipusId = co.DigPlatformTipusId;
model.OraAdat.DigTamEszkozTipusIdList = co.DigTamEszkozTipusIdList;
}
if (model.Naplozhat && isNaplozhatNaplozarasTipusaMiatt)
{
return GetNaplozasPopUp(model, muveletPram, isErtekelestModosithatNaplozarasTipusaMiatt, tanarSorszamozhat, elmaradtTanitasiOraRogzitesenekTiltasa, szervezetTipusId);
}
return GetNaplozasInfoPopUp(model, isErtekelestModosithatNaplozarasTipusaMiatt, tanarSorszamozhat, elmaradtTanitasiOraRogzitesenekTiltasa, szervezetTipusId);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
private ActionResult GetNaplozasInfoPopUp(NaplozasElokeszitesModel model, bool isErtekelestModosithatNaplozarasTipusaMiatt, bool tanarSorszamozhat, bool elmaradtTanitasiOraRogzitesenekTiltasa, int? szervezetTipusId)
{
try
{
var infoTabok = new TanoraNaplozasInfoTabok(szervezetTipusId);
var naplozasModel = new TanoraNaplozas(fileServiceHelper, model.IsMentorOra, szervezetTipusId);
naplozasModel.Fill(model, tanarSorszamozhat, elmaradtTanitasiOraRogzitesenekTiltasa);
var infoModel = new TanoraNaplozasInfoModel(szervezetTipusId);
naplozasModel.Convert(infoModel);
var naplozasInfoModel = infoModel;
infoTabok.OsztalyCsoport = naplozasInfoModel.TanoraAdataiInfo.OsztalyCsoportNev;
infoTabok.Tantargy = naplozasInfoModel.TanoraAdataiInfo.TantargyNev;
var connectionType = ConnectionTypeExtensions.GetActiveSessionConnectionType();
var helper = new TanoraHelper(connectionType);
infoTabok.Oraszam = helper.GetOraEvesSorszamaSP(naplozasInfoModel.TanoraAdataiInfo.TantargyId.Value, naplozasInfoModel.TanoraAdataiInfo.OsztalyCsoportId.Value, model.OraAdat.OraKezdete, naplozasInfoModel.TanoraAdataiInfo.TanarId.Value);
if (szervezetTipusId.HasValue && szervezetTipusId.Value == (int)SzervezetTipusEnum.Dualis)
{
var osztalyCsoportHelper = new OsztalyCsoportHelper(connectionType);
var csoportSzakmajegyzekek = osztalyCsoportHelper.GetCsoportTanuloinakSzakmajegyzeke(naplozasModel.TanoraAdatai.OsztalyCsoportId.Value, DateTime.Now);
if (csoportSzakmajegyzekek.Count > 0)
{
naplozasModel.Mulasztas.TanulasiEgysegList = helper.GetTanulasiEgysegek()
.Where(e => (csoportSzakmajegyzekek[0].SzakmairanyTipusId ?? 0) == (e.SzakmairanyTipusId ?? 0) && (csoportSzakmajegyzekek[0].SzakmaTipusId ?? 0) == e.SzakmaTipusId).OrderBy(o => o.Sorszam)
.Select(x => new SelectListItem { Value = x.ID.ToString(), Text = x.Szoveg }).ToList();
}
}
var pm = new PopUpModel(infoTabok, TanoraNaplozasInfo);
infoTabok.TabList = GetNaplozasInfoTabs(model, naplozasInfoModel, isErtekelestModosithatNaplozarasTipusaMiatt);
if (!model.OraAdat.IsTanorankivuli)
{
infoTabok.Fejlec = $"{OrarendResource.NaplozasiAdatok} ({naplozasInfoModel.TanoraAdataiInfo.OratartamEsOraszam}, {infoTabok.Tantargy}, {infoTabok.OsztalyCsoport})";
}
else
{
infoTabok.Fejlec = $"{OrarendResource.NaplozasiAdatok} ({naplozasInfoModel.TanoraAdataiInfo.OraTartam}, {infoTabok.Tantargy}, {infoTabok.OsztalyCsoport})";
naplozasInfoModel.TanoraAdataiInfo.OratartamEsOraszam = naplozasInfoModel.TanoraAdataiInfo.OraTartam;
}
pm.AddCancelBtn(pm, closeTanoraMuveletWindowEvent);
return PartialView(Constants.General.PopupView, pm);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
private ActionResult GetNaplozasPopUp(NaplozasElokeszitesModel model, TanoraMuveletek muveletPram, bool isErtekelestModosithatNaplozarasTipusaMiatt, bool tanarSorszamozhat, bool elmaradtTanitasiOraRogzitesenekTiltasa, int? szervezetTipusId) // bool csakErtekelestNemModositha)
{
try
{
var connectionType = ConnectionTypeExtensions.GetActiveSessionConnectionType();
var naplozasTabok = new TanoraNaplozasTabok(szervezetTipusId);
naplozasTabok.OsztalyCsoport = model.OraAdat.OsztalyCsoportNev;
naplozasTabok.Tantargy = model.OraAdat.TantargyNev;
var naplozasModel = new TanoraNaplozas(fileServiceHelper, model.IsMentorOra, szervezetTipusId);
naplozasModel.Fill(model, tanarSorszamozhat, elmaradtTanitasiOraRogzitesenekTiltasa);
naplozasModel.TanoraAdatai.NaplozasDatum = muveletPram.NaplozasDatum;
naplozasModel.Mulasztas.SetIsAmi();
if (szervezetTipusId.HasValue && szervezetTipusId.Value == (int)SzervezetTipusEnum.Dualis)
{
var osztalyCsoportHelper = new OsztalyCsoportHelper(connectionType);
var csoportSzakmajegyzekek = osztalyCsoportHelper.GetCsoportTanuloinakSzakmajegyzeke(naplozasModel.TanoraAdatai.OsztalyCsoportId.Value, DateTime.Now);
if (csoportSzakmajegyzekek.Count > 0)
{
var csoportSzakmajegyzekekSzakmairanyTipusId = !csoportSzakmajegyzekek[0].SzakmairanyTipusId.HasValue || csoportSzakmajegyzekek[0].SzakmairanyTipusId.Value == (int)SzakmairanyTipusEnum.na ? 0 : csoportSzakmajegyzekek[0].SzakmairanyTipusId.Value;
var csoportSzakmajegyzekekSzakmaTipusId = !csoportSzakmajegyzekek[0].SzakmaTipusId.HasValue || csoportSzakmajegyzekek[0].SzakmaTipusId.Value == (int)SzakmaTipusEnum.na ? 0 : csoportSzakmajegyzekek[0].SzakmaTipusId.Value;
naplozasModel.Mulasztas.TanulasiEgysegList = new TanoraHelper(connectionType).GetTanulasiEgysegek()
.Where(e => csoportSzakmajegyzekekSzakmairanyTipusId == (e.SzakmairanyTipusId ?? 0) && csoportSzakmajegyzekekSzakmaTipusId == e.SzakmaTipusId).OrderBy(o => o.Sorszam)
.Select(x => new SelectListItem { Value = x.ID.ToString(), Text = x.Szoveg }).ToList();
}
}
var infoModel = new TanoraNaplozasInfoModel(szervezetTipusId);
naplozasModel.Convert(infoModel);
var pm = new PopUpModel(naplozasTabok, TanoraNaplozas);
if (model.OraAdat.IsElmaradt)
{
var dktFileHelper = new DktFileHelper(connectionType);
double osszMeret = dktFileHelper.GetHaziFeladatCsatolmanyokOsszMeret();
int maxMegengedettAdatmennyiseg = dktFileHelper.GetMaxAdatmennyisegFelhasznalokent(ClaimData.FelhasznaloId);
naplozasTabok.TabList = GetNaplozasInfoTabs(model, infoModel, isErtekelestModosithatNaplozarasTipusaMiatt, naplozasModel.HaziFeladat);
if (!model.SzervezetTipusId.HasValue)
{
naplozasModel.HaziFeladat.UsedFilesSizeInKiloBytesTotal = osszMeret;
naplozasModel.HaziFeladat.MaxAllowedFilesSizeInKiloBytes = maxMegengedettAdatmennyiseg;
naplozasModel.HaziFeladat.IsTanarVehetFelHazitNaplozasNelkul = true;
naplozasModel.HaziFeladat.IsHaziFeladatHelper = true;
naplozasModel.HaziFeladat.NapDatuma = model.OraAdat.OraKezdete.Date;
naplozasModel.HaziFeladat.TanitasiOraId = model.OraAdat.TanitasiOraId;
}
}
else
{
naplozasTabok.TabList = GetNaplozasDetailTabs(model, naplozasModel, isErtekelestModosithatNaplozarasTipusaMiatt);
}
muveletPram.IsTanoranKivuli = model.OraAdat.IsTanorankivuli;
naplozasTabok.TanoraMuveletek = muveletPram;
if (!naplozasTabok.TanoraMuveletek.IsTanoranKivuli)
{
naplozasTabok.Fejlec = $"{OrarendResource.TanoraNaplozasa} ({naplozasModel.TanoraAdatai.OratartamEsOraszam}, {naplozasTabok.Tantargy}, {naplozasTabok.OsztalyCsoport})";
}
else
{
naplozasTabok.Fejlec = $"{OrarendResource.Naplozas} ({model.OraTartamText}, {naplozasTabok.Tantargy}, {naplozasTabok.OsztalyCsoport})";
naplozasModel.TanoraAdatai.OratartamEsOraszam = model.OraTartamText;
}
pm.AddCancelBtn(pm, closeTanoraMuveletWindowEvent);
if (model.Naplozhat)
{
var systemSettingsHelper = new SystemSettingsHelper(connectionType);
if (!model.IsTanora)
{
var elmaradtOraRogzitesTestreszabas = !systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Elmaradt_tanitasi_ora_rogzitesenek_tiltasa);
if (elmaradtOraRogzitesTestreszabas)
{
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel
{
Name = elmaradt,
Text = OrarendResource.ElmaradtOra,
EventName = saveNemMegtartottTanoraEvent
});
}
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel { Name = naplozas, Text = OrarendResource.OraNaplozasa, EventName = saveTanoraEvent });
}
else
{
if (model.Helyettesites.Tipus == (int)HelyettesitesTipusEnum.oraosszevonas)
{
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel
{
Name = oraOsszevonasDelete,
Text = OrarendResource.OraOsszevonasTorlese,
EventName = $"function(){{ {oraOsszevonasDeleteEvent}({model.OraAdat.TanitasiOraId}); }}"
});
}
else if (!model.OraAdat.IsAdminAltalKiirt)
{
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel
{
Name = delete,
Text = OrarendResource.NaplozasiAdatokTorlese,
EventName = $"function(){{ {deleteTanoraEvent}('{model.OraAdat.VanOralatogatasa}', {(naplozasModel.HaziFeladat.HaziFeladat == null ? "false" : "true")}); }}"
});
}
var csengetesiRendOrakHelper = new CsengetesiRendOrakHelper(connectionType);
if (!model.IsElmaradtOra)
{
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel { Name = naplozas, Text = OrarendResource.NaplozasValtoztatasainakMentese, EventName = saveTanoraEvent });
if (TanarKezelhetHelyettesitest())
{
var eventId = 0;
if (model.OraAdat.CsengetesirendId.HasValue && model.OraAdat.Oraszam.HasValue)
{
var csengrendOraId = csengetesiRendOrakHelper.GetCsengetesiRendOraId(model.OraAdat.CsengetesirendId.Value, model.OraAdat.Oraszam.Value);
if (csengrendOraId.HasValue)
{
eventId = csengrendOraId.Value;
}
}
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel
{
Name = oraOsszevonas,
Text = OrarendResource.OraOsszevonas,
EventName = $"function(){{ {oraOsszevonasPopUpEvent}({eventId},'{model.OraAdat.IsTanorankivuli.ToString().ToLower()}'); }}"
});
}
}
else
{
var tanarVehetEFelOratMaganak = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Tanar_vehet_e_fel_orat_maganak);
if (model.OraAdat.CsengetesirendId.HasValue && model.OraAdat.Oraszam.HasValue && tanarVehetEFelOratMaganak)
{
var eventId = 0;
var csengrendOraId = csengetesiRendOrakHelper.GetCsengetesiRendOraId(model.OraAdat.CsengetesirendId.Value, model.OraAdat.Oraszam.Value);
if (csengrendOraId.HasValue)
{
eventId = csengrendOraId.Value;
}
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel
{
Name = ujOraFelvitele,
Text = OrarendResource.UjOraFelvitele,
EventName = $"function(){{ {ujOraFelvitelePopUpEvent}({eventId},{(int)CalendarOraTypeEnum.UresOra},{(int)EventTypeEnum.UjEgyediOraFelvitel}); }}"
});
}
}
}
}
return PartialView(Constants.General.PopupView, pm);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
private bool TanarKezelhetHelyettesitest()
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return !systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Pedagogusok_csak_az_eloirt_helyettesiteseiket_regisztralhatjak_a_haladasi_naploban);
}
private List<TabStripItemModel> GetNaplozasDetailTabs(NaplozasElokeszitesModel model, TanoraNaplozas naplozasModel, bool isErtekelestModosithatNaplozarasTipusaMiatt)
{
var list = new List<TabStripItemModel>();
if (model.Naplozhat && model.OraAdat.OsztalyCsoportId.HasValue)
{
var mulasztasModel = naplozasModel.Mulasztas;
mulasztasModel.HianyzokAutoKitoltes = !model.OraAdat.TanitasiOraId.HasValue && ProfileUtils.IsHianyzokAutoKitoltesEnabled;
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var ds = helper.GetOraMentessegList(model.OraAdat.OraKezdete, model.OraAdat.OraVege, model.OraAdat.OsztalyCsoportId.Value);
if (ds.Tables[0].Rows.Count == 1)
{
DataRow row = ds.Tables[0].Rows[0];
mulasztasModel.JogviszonySzunetletetokDb = row.Field<int>("JogviszonyDb");
mulasztasModel.JogviszonySzunetletetok = row.Field<string>("JogviszonyNevSor");
mulasztasModel.SzakmaiGyakorlatonLevokDb = row.Field<int>("SzakmaiGyakDb");
mulasztasModel.SzakmaiGyakorlatonLevok = row.Field<string>("SzakmaiGyakNevSor");
}
list.Add(new TabStripItemModel()
{
ItemId = "1",
ItemName = OrarendResource.Naplozas,
PartialViewName = MulasztasNaplozas_Tab,
Model = mulasztasModel,
IsActive = model.Naplozhat,
});
}
var isTanoraiCeluOsztalyCsoportDisabled = false;
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isNemTanoraiCeluCsoportokErtekelesEnabled = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.nem_tanorai_celu_csoportok_ertekelesi_lehetosege);
if (!isNemTanoraiCeluCsoportokErtekelesEnabled && model.OraAdat.OsztalyCsoportId.HasValue)
{
isTanoraiCeluOsztalyCsoportDisabled = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).IsOsztalyCsoportNemTanoraiCeluCsoport(model.OraAdat.OsztalyCsoportId.Value);
}
if (model.Ertekelhet && !isTanoraiCeluOsztalyCsoportDisabled && !model.SzervezetTipusId.HasValue)//2.110-ben ha megoldodik a telje sDualis akkor vissze kell keruljon - KRETA2-12511
{
if (isErtekelestModosithatNaplozarasTipusaMiatt)
{
var ertekelesListModel = new ErtekelesController(Authorization).NaplozasPartialViewModel();
ertekelesListModel.IsNaploErtekeles = true;
ertekelesListModel.Datum = model.OraAdat.OraKezdete.Date;
ertekelesListModel.TantargyId = model.OraAdat.TantargyId;
ertekelesListModel.TantargyIdSearch = model.OraAdat.TantargyId;
ertekelesListModel.OsztalyCsoportId = model.OraAdat.OsztalyCsoportId;
ertekelesListModel.OsztalyCsoportIdSearch = model.OraAdat.OsztalyCsoportId;
ertekelesListModel.TanarIdSearch = model.OraAdat.TanarId;
ertekelesListModel.IsGridAutoBinded = false;
if (model.OraAdat.SzamonkeresModId.HasValue)
{
ertekelesListModel.ErtekelesTema = model.OraAdat.SzamonkeresMegnevezes;
ertekelesListModel.ErtekelesModId = model.OraAdat.SzamonkeresModId.Value;
}
list.Add(new TabStripItemModel()
{
ItemId = "2",
ItemName = OrarendResource.Ertekelesek,
PartialViewName = TanuloErtekelesIndex,
Model = ertekelesListModel,
});
}
var feljegyzesekModel = new FeljegyzesekSearchModel
{
ControllerName = Constants.Controllers.Beirasok,
ApiControllerName = Constants.ApiControllers.BeirasokApi,
};
feljegyzesekModel.IsNaploFeljegyzes = true;
feljegyzesekModel.CsoportIdSearch = model.OraAdat.OsztalyCsoportId;
list.Add(new TabStripItemModel()
{
ItemId = "3",
ItemName = TanarResource.Feljegyzesek,
PartialViewName = FeljegyzesekIndex,
Model = feljegyzesekModel
});
}
if (model.Naplozhat && !model.SzervezetTipusId.HasValue)
{
var haziModel = naplozasModel.HaziFeladat;
var dktFileHelper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType());
double osszMeret = dktFileHelper.GetHaziFeladatCsatolmanyokOsszMeret();
int maxMegengedettAdatmennyiseg = dktFileHelper.GetMaxAdatmennyisegFelhasznalokent(ClaimData.FelhasznaloId);
haziModel.UsedFilesSizeInKiloBytesTotal = osszMeret;
haziModel.MaxAllowedFilesSizeInKiloBytes = maxMegengedettAdatmennyiseg;
var haziFeladatTab = new TabStripItemModel()
{
ItemId = "4",
ItemName = OrarendResource.HaziFeladat,
PartialViewName = HaziFeladat_Tab,
Model = haziModel
};
list.Add(haziFeladatTab);
}
if (!model.SzervezetTipusId.HasValue)//2.110-ben ha megoldodik a telje sDualis akkor vissze kell keruljon - KRETA2-12511
{
list.Add(new TabStripItemModel
{
ItemId = "5",
ItemName = OrarendResource.KorabbiOrakNaplozasiAdatai,
PartialViewName = KorabbiOrakNaplozasiAdatai_Tab,
Model = naplozasModel.TanorakSearchModel,
});
}
bool aktivTab = list.Where(x => x.IsActive).ToList().Count <= 0;
list.Add(new TabStripItemModel
{
ItemId = "6",
ItemName = OrarendResource.TanoraAdatai,
PartialViewName = TanoraAdatai_Tab,
Model = naplozasModel.TanoraAdatai,
IsActive = aktivTab
});
if (!model.SzervezetTipusId.HasValue)
{
list.Add(new TabStripItemModel
{
ItemId = "7",
ItemName = OrarendResource.NaplozasDigitalisOktatas,
PartialViewName = NaplozasDigitalisOktatas_Tab,
Model = naplozasModel.DigitalisOktatasAdatok
});
}
return list;
}
private List<TabStripItemModel> GetNaplozasInfoTabs(NaplozasElokeszitesModel model, TanoraNaplozasInfoModel naplozasInfoModel, bool isErtekelestModosithatNaplozarasTipusaMiatt, HaziFeladatNaplozas haziFeladatNaplozas = null)
{
var list = new List<TabStripItemModel>();
bool hasSzamonkeresElorejelzesTab = model.OraAdat.OraKezdete.Date > DateTime.Now &&
(ClaimData.FelhasznaloId == model.OraAdat.TanarId || (model.Helyettesites != null && ClaimData.FelhasznaloId == model.Helyettesites.TanarId));
list.Add(new TabStripItemModel()
{
ItemId = Info_TanoraAdatai_Tab,
ItemName = OrarendResource.TanoraAdatai,
PartialViewName = Info_TanoraAdatai_Tab,
Model = naplozasInfoModel.TanoraAdataiInfo,
IsActive = !hasSzamonkeresElorejelzesTab
});
if (!model.IsElmaradtOra)
{
list.Add(new TabStripItemModel()
{
ItemId = Info_MulasztasNaplozas_Tab,
ItemName = OrarendResource.MulasztasiAdatok,
PartialViewName = Info_MulasztasNaplozas_Tab,
Model = naplozasInfoModel.MulasztasInfo,
});
if (!model.SzervezetTipusId.HasValue)//2.110-ben ha megoldodik a telje sDualis akkor vissze kell keruljon - KRETA2-12511
{
list.Add(new TabStripItemModel()
{
ItemId = KorabbiOrakNaplozasiAdatai_Tab,
ItemName = OrarendResource.KorabbiOrakNaplozasiAdatai,
PartialViewName = KorabbiOrakNaplozasiAdatai_Tab,
Model = naplozasInfoModel.TanorakSearchModel,
});
if (hasSzamonkeresElorejelzesTab)
{
list.Add(new TabStripItemModel()
{
ItemId = SzamonkeresElorejelzes_Tab,
ItemName = OrarendResource.SzamonkeresElorejelzes,
PartialViewName = SzamonkeresElorejelzes_Tab,
Model = naplozasInfoModel.SzamonkeresElorejelzesModel,
IsActive = hasSzamonkeresElorejelzesTab
});
}
if (isErtekelestModosithatNaplozarasTipusaMiatt)
{
var ertekelesListModel = new ErtekelesController(Authorization).NaplozasPartialViewModel();
ertekelesListModel.IsNaploErtekeles = true;
ertekelesListModel.Datum = model.OraAdat.OraKezdete.Date;
ertekelesListModel.TantargyId = model.OraAdat.TantargyId;
ertekelesListModel.TantargyIdSearch = model.OraAdat.TantargyId;
ertekelesListModel.OsztalyCsoportId = model.OraAdat.OsztalyCsoportId;
ertekelesListModel.OsztalyCsoportIdSearch = model.OraAdat.OsztalyCsoportId;
ertekelesListModel.TanarIdSearch = model.OraAdat.TanarId;
ertekelesListModel.IsGridAutoBinded = false;
if (model.OraAdat.SzamonkeresModId.HasValue)
{
ertekelesListModel.ErtekelesTema = model.OraAdat.SzamonkeresMegnevezes;
ertekelesListModel.ErtekelesModId = model.OraAdat.SzamonkeresModId.Value;
}
list.Add(new TabStripItemModel()
{
ItemId = "2",
ItemName = OrarendResource.Ertekelesek,
PartialViewName = TanuloErtekelesIndex,
Model = ertekelesListModel,
});
}
}
}
else
{
if (!model.SzervezetTipusId.HasValue)
{
list.Add(new TabStripItemModel()//2.110-ben ha megoldodik a telje sDualis akkor vissze kell keruljon - KRETA2-12511
{
ItemId = "5",
ItemName = OrarendResource.KorabbiOrakNaplozasiAdatai,
PartialViewName = KorabbiOrakNaplozasiAdatai_Tab,
Model = naplozasInfoModel.TanorakSearchModel,
});
if (haziFeladatNaplozas != null)
{
AddHaziFeladatNincsZarasElmaradtOra();
}
else
{
AddHaziFeladatZarasVagyJovobeliOra();
}
if (!model.IsElmaradtOra)
{
list.Add(new TabStripItemModel()
{
ItemId = Info_DigitalisOktatas_Tab,
ItemName = OrarendResource.NaplozasDigitalisOktatas,
PartialViewName = Info_DigitalisOktatas_Tab,
Model = naplozasInfoModel.DigitalisOktatasModel,
});
}
}
}
return list;
void AddHaziFeladatNincsZarasElmaradtOra()
{
list.Add(new TabStripItemModel()
{
ItemId = "4",
ItemName = OrarendResource.HaziFeladat,
PartialViewName = HaziFeladat_Tab,
Model = haziFeladatNaplozas
});
}
void AddHaziFeladatZarasVagyJovobeliOra()
{
bool isJovobeliOra = model.OraAdat.OraKezdete.Date > DateTime.Now.Date;
var haziFeladatTab = new TabStripItemModel()
{
ItemId = Info_HaziFeladat_Tab,
ItemName = OrarendResource.HaziFeladat
};
if (isJovobeliOra)
{
haziFeladatTab.PartialViewName = HaziFeladat_Tab;
var dktFileHelper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType());
double osszMeret = dktFileHelper.GetHaziFeladatCsatolmanyokOsszMeret();
int maxMegengedettAdatmennyiseg = dktFileHelper.GetMaxAdatmennyisegFelhasznalokent(ClaimData.FelhasznaloId);
haziFeladatTab.Model = new HaziFeladatNaplozas
{
Hatarido = model.Hazifeladat.Hatarido,
HaziFeladat = model.Hazifeladat.Szoveg,
Id = model.Hazifeladat.Id,
IsTanarVehetFelHazitNaplozasNelkul = true,
OrarendiOraId = model.OraAdat.OrarendiOraId,
HelyettesitoId = model.Helyettesites.TanarId,
NapDatuma = model.OraAdat.OraKezdete.Date,
IsHaziFeladatHelper = true,
UsedFilesSizeInKiloBytesTotal = osszMeret,
CsatolmanyId = model.Hazifeladat.CsatolmanyId,
MaxAllowedFilesSizeInKiloBytes = maxMegengedettAdatmennyiseg
};
}
else
{
haziFeladatTab.PartialViewName = Info_HaziFeladat_Tab;
haziFeladatTab.Model = naplozasInfoModel.HaziFeladatInfo;
}
list.Add(haziFeladatTab);
}
}
private WizardElovalasztoModel GetWizardElovalasztoModel(bool isSzakmaiGyakorlat = false)
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var model = new WizardElovalasztoModel
{
TanarVehetFelOratMaganak = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Tanar_vehet_e_fel_orat_maganak),
LehetOratFelvenniTTFNelkul = isSzakmaiGyakorlat ? systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_egyedi_rogzites) : systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Lehet_orat_felvenni_TTF_nelkul),
TanarKezelhetHelyettesitest = TanarKezelhetHelyettesitest()
};
return model;
}
}
}

View file

@ -0,0 +1,107 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Extensions;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Security;
using Kreta.Web.Utils;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class CsoportOrarendController : Controller
{
public ActionResult Index()
{
var model = new CsoportVezetoOrarendModel();
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
#region Calendar megjelenítés
var co = orarendHelper.GetCalendarMinMax();
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
#endregion Calendar megjelenítés
model.ShowKerdoivPopup = new KerdoivHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetShowKerdoivPopup(ClaimData.IsAlkalmazottPedagogus);
model.TabList = GetTanariOrarendTabs();
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
return View("Index", model);
}
private List<TabStripItemModel> GetTanariOrarendTabs()
{
var list = new List<TabStripItemModel>();
var haladasiNaploFulTipusa = ProfileUtils.HaladasiNaploFulTipusa;
list.Add(new TabStripItemModel()
{
ItemId = "0",
ItemName = AdminisztracioResource.Tanorak,
Area = "Orarend",
Controller = "CsoportOrarend",
Action = "GetTanorak",
RouteParameters = new Dictionary<string, string>()
{
{"index", "0"}
},
IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.Tanorak
});
list.Add(new TabStripItemModel()
{
ItemId = "1",
ItemName = AdminisztracioResource.Napirend,
Area = "Orarend",
Controller = "CsoportOrarend",
Action = "GetTanoranKivuliFoglalkozasok",
RouteParameters = new Dictionary<string, string>()
{
{"index", "1"}
},
IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.Napirend
});
return list;
}
public ActionResult GetTanorak(int index = 0)
{
var model = new TanariOrarendTanorakModel()
{
Index = index
};
return View("Tanorak_Tab", model);
}
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
{
var model = new TanariOrarendTanoranKivuliFoglalkozasokModel()
{
Index = index
};
return View("TanoranKivuliFoglalkozasok_Tab", model);
}
}
}

View file

@ -0,0 +1,50 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
public class DualisAdminOsztalyOrarendController : BaseAdminOsztalyOrarendController
{
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
public ActionResult GetOrarendiOrak(int index = 0)
{
return GetOrarendiOrak(index, IsDualisKepzesEnabled);
}
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
{
return GetTanoranKivuliFoglalkozasok(index, IsDualisKepzesEnabled);
}
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model)
{
return OpenNewOrarendiOraPopUp(model, IsDualisKepzesEnabled);
}
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model)
{
return OpenModifyOrarendiOraPopUp(model, IsDualisKepzesEnabled);
}
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model)
{
return OpenNewFoglalkozasokOraPopUp(model, IsDualisKepzesEnabled);
}
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model)
{
return OpenModifyFoglalkozasokOraPopUp(model, IsDualisKepzesEnabled);
}
}
}

View file

@ -0,0 +1,50 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
public class DualisAdminTanariOrarendController : BaseAdminTanariOrarendController
{
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
public ActionResult GetOrarendiOrak(int index = 0)
{
return GetOrarendiOrak(index, IsDualisKepzesEnabled);
}
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
{
return GetTanoranKivuliFoglalkozasok(index, IsDualisKepzesEnabled);
}
public ActionResult OpenNewOrarendiOraPopUp(CalendarModel model)
{
return OpenNewOrarendiOraPopUp(model, IsDualisKepzesEnabled);
}
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model)
{
return OpenModifyOrarendiOraPopUp(model, IsDualisKepzesEnabled);
}
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model)
{
return OpenNewFoglalkozasokOraPopUp(model, IsDualisKepzesEnabled);
}
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model)
{
return OpenModifyFoglalkozasokOraPopUp(model, IsDualisKepzesEnabled);
}
}
}

View file

@ -0,0 +1,50 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
public class DualisAdminTeremOrarendController : BaseAdminTeremOrarendController
{
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
public ActionResult GetOrarendiOrak(int index = 0)
{
return GetOrarendiOrak(index, IsDualisKepzesEnabled);
}
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
{
return GetTanoranKivuliFoglalkozasok(index, IsDualisKepzesEnabled);
}
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model)
{
return OpenNewOrarendiOraPopUp(model, IsDualisKepzesEnabled);
}
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model)
{
return OpenModifyOrarendiOraPopUp(model, IsDualisKepzesEnabled);
}
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model)
{
return OpenNewFoglalkozasokOraPopUp(model, IsDualisKepzesEnabled);
}
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model)
{
return OpenModifyFoglalkozasokOraPopUp(model, IsDualisKepzesEnabled);
}
}
}

View file

@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Logic.Naplozas;
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
using Kreta.BusinessLogic.Security;
using Kreta.Core.Exceptions;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Areas.TanuloErtekeles.Controllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
using Kreta.Web.Utils;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
public class DualisTanariOrarendController : BaseTanariOrarendController
{
private IKretaAuthorization Authorization { get; }
private readonly IFileServiceHelper fileServiceHelper;
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
public int? SzervezetTipusId => IsDualisKepzesEnabled ? (int)SzervezetTipusEnum.Dualis : (int?)null;
public DualisTanariOrarendController(IKretaAuthorization authorization, IFileServiceHelper fileServiceHelper) : base(authorization, fileServiceHelper)
{
Authorization = authorization;
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
}
public ActionResult TanorakOrarendEvent(TanoraIdBeallitasModel model)
{
return TanorakOrarendEvent(model, SzervezetTipusId);
}
public DateTime GetTanevUtolsoNapja()
{
return GetTanevUtolsoNapja(SzervezetTipusId);
}
}
}

View file

@ -0,0 +1,393 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core.FileService;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Controllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsPortas.ClaimValue)]
public class HazifeladatokListajaController : Controller
{
private readonly IFileService FileService;
public HazifeladatokListajaController(IFileService fileService)
{
FileService = fileService ?? throw new ArgumentNullException(nameof(fileService));
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult Index()
{
var model = new HazifeladatokListajaSrcModel
{
HazifeladatokListajaTipus = HazifeladatokListajaTipusEnum.Admin,
OsztalyCsoportComboUrl = nameof(ComboBoxHelperApiController.GetOsztalyCsoportListByEvfolyam),
IsKapcsolodoOsztalyCsoportokVisible = true,
FeladatEllatasiHelyId = ClaimData.FelhelySzuro
};
return View("Index", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult IndexTanar()
{
var model = new HazifeladatokListajaSrcModel
{
HazifeladatokListajaTipus = HazifeladatokListajaTipusEnum.Tanar,
OsztalyCsoportComboUrl = nameof(ComboBoxHelperApiController.GetOsztalyCsoportListByEvfolyam),
TanarIdSrc = ClaimData.FelhasznaloId,
IsJustTanar = true
};
return View("Index", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult FeladatokListajaTanar()
{
var model = new FeladatokListajaSrcModel
{
HazifeladatokListajaTipus = HazifeladatokListajaTipusEnum.Tanar,
OsztalyCsoportComboUrl = nameof(ComboBoxHelperApiController.GetOsztalyCsoportListByEvfolyam),
TanarIdSrc = ClaimData.FelhasznaloId,
IsJustTanar = true
};
return View("FeladatokListajaIndex", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult FeladatokListaja()
{
var model = new FeladatokListajaSrcModel
{
HazifeladatokListajaTipus = HazifeladatokListajaTipusEnum.Admin,
OsztalyCsoportComboUrl = nameof(ComboBoxHelperApiController.GetOsztalyCsoportListByEvfolyam),
IsKapcsolodoOsztalyCsoportokVisible = true,
FeladatEllatasiHelyId = ClaimData.FelhelySzuro
};
return View("FeladatokListajaIndex", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue)]
public ActionResult IndexCsopvez()
{
var model = new HazifeladatokListajaSrcModel
{
HazifeladatokListajaTipus = HazifeladatokListajaTipusEnum.Csopvez,
OsztalyCsoportComboUrl = nameof(ComboBoxHelperApiController.GetCsoportVezListWithTanoraiCeluak)
};
return View("Index", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue)]
public ActionResult IndexOfo()
{
var model = new HazifeladatokListajaSrcModel
{
HazifeladatokListajaTipus = HazifeladatokListajaTipusEnum.Ofo,
OsztalyCsoportComboUrl = nameof(ComboBoxHelperApiController.GetTanitottOsztalyokList),
IsKapcsolodoOsztalyCsoportokVisible = true,
KellKapcsolodoCsoportokSrc = true
};
return View("Index", model);
}
[HttpPost]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult GetOrarendEvent(int eventId, bool isTanitasiOra_BOOL, DateTime haziFeladatRogzitesDatuma)
{
CalendarModel calendar = new CalendarModel();
calendar.EventId = eventId;
calendar.OraType = isTanitasiOra_BOOL ? CalendarOraTypeEnum.TanitasiOra : CalendarOraTypeEnum.OrarendiOra;
calendar.Start = haziFeladatRogzitesDatuma;
return OrarendEvent(calendar);
}
[HttpPost]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult GetFeladatEvent(int eventId, bool isTanitasiOra_BOOL, DateTime haziFeladatRogzitesDatuma, int feladatTipusId)
{
CalendarModel calendar = new CalendarModel();
calendar.EventId = eventId;
calendar.OraType = isTanitasiOra_BOOL ? CalendarOraTypeEnum.TanitasiOra : CalendarOraTypeEnum.OrarendiOra;
calendar.Start = haziFeladatRogzitesDatuma;
var feladatTipusEnum = (FeladatTipusEnum)feladatTipusId;
return FeladatEvent(calendar, feladatTipusEnum);
}
[HttpPost]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult GetOrarendModEvent(int eventId, bool isTanitasiOra_BOOL, DateTime haziFeladatRogzitesDatuma)
{
CalendarModel calendar = new CalendarModel();
calendar.EventId = eventId;
calendar.OraType = isTanitasiOra_BOOL ? CalendarOraTypeEnum.TanitasiOra : CalendarOraTypeEnum.OrarendiOra;
calendar.Start = haziFeladatRogzitesDatuma;
return OrarendModEvent(calendar);
}
[HttpPost]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult GetFeladatModEvent(int eventId, bool isTanitasiOra_BOOL, DateTime haziFeladatRogzitesDatuma, int feladatTipusId)
{
CalendarModel calendar = new CalendarModel();
calendar.EventId = eventId;
calendar.OraType = isTanitasiOra_BOOL ? CalendarOraTypeEnum.TanitasiOra : CalendarOraTypeEnum.OrarendiOra;
calendar.Start = haziFeladatRogzitesDatuma;
var feladatTipusEnum = (FeladatTipusEnum)feladatTipusId;
return FeladatModEvent(calendar, feladatTipusEnum);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult OrarendEvent(CalendarModel calendarModel)
{
if (calendarModel.OraType == CalendarOraTypeEnum.TanevRendjeEsemeny ||
calendarModel.OraType == CalendarOraTypeEnum.UresOra)
{
return null;
}
var model = new InformaciokOra();
var pm = new PopUpModel(model, "OraAdatok_Info");
model.TabList = GetDetailTabs(calendarModel);
pm = pm.AddCancelBtn(pm, "InformaciokOrarend.detailOraInfoCancel");
return PartialView(Constants.General.PopupView, pm);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult FeladatEvent(CalendarModel calendarModel, FeladatTipusEnum feladatTipus)
{
if (calendarModel.OraType == CalendarOraTypeEnum.TanevRendjeEsemeny ||
calendarModel.OraType == CalendarOraTypeEnum.UresOra)
{
return null;
}
var model = new InformaciokOra();
var pm = new PopUpModel(model, "OraAdatok_Info");
model.TabList = GetFeladatDetailTabs(calendarModel, feladatTipus);
pm = pm.AddCancelBtn(pm, "InformaciokOrarend.detailOraInfoCancel");
return PartialView(Constants.General.PopupView, pm);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult OrarendModEvent(CalendarModel calendarModel)
{
if (calendarModel.OraType == CalendarOraTypeEnum.TanevRendjeEsemeny ||
calendarModel.OraType == CalendarOraTypeEnum.UresOra)
{
return null;
}
var model = new InformaciokOra();
var pm = new PopUpModel(model, "OraAdatok_Mod");
model.TabList = GetModTabs(calendarModel);
pm = pm.AddCancelBtn(pm, "InformaciokOrarend.modOraCancel");
pm = pm.AddBtn(pm, "SaveHazifeladat", OrarendResource.HazifeladatModistasa, "InformaciokOrarend.modOraSave");
return PartialView(Constants.General.PopupView, pm);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult FeladatModEvent(CalendarModel calendarModel, FeladatTipusEnum feladatTipus)
{
if (calendarModel.OraType == CalendarOraTypeEnum.TanevRendjeEsemeny ||
calendarModel.OraType == CalendarOraTypeEnum.UresOra)
{
return null;
}
var model = new InformaciokOra();
var pm = new PopUpModel(model, "OraAdatok_Mod");
model.TabList = GetFeladatModTabs(calendarModel, feladatTipus);
pm = pm.AddCancelBtn(pm, "InformaciokOrarend.modOraCancel");
pm = pm.AddBtn(pm, "SaveHazifeladat", $"{GetFeladatTipusDisplayName(feladatTipus)} módosítása", "InformaciokOrarend.modOraSave");
return PartialView(Constants.General.PopupView, pm);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public List<TabStripItemModel> GetDetailTabs(CalendarModel calendarModel)
{
List<TabStripItemModel> list = new List<TabStripItemModel>();
list.Add(new TabStripItemModel()
{
ItemId = "2",
ItemName = OrarendResource.HaziFeladat,
Area = "Orarend",
Controller = "HazifeladatokListaja",
Action = "GetHaziFeladat_Tab",
RouteParameters = new Dictionary<string, string>() {
{ "Id", calendarModel.EventId.ToString() },
{ "EventType", ((int)calendarModel.OraType).ToString() },
{ "Date" , calendarModel.Start.Date.ToString() }
}
});
return list;
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public List<TabStripItemModel> GetFeladatDetailTabs(CalendarModel calendarModel, FeladatTipusEnum feladatTipus)
{
List<TabStripItemModel> list = new List<TabStripItemModel>();
list.Add(new TabStripItemModel()
{
ItemId = "2",
ItemName = GetFeladatTipusDisplayName(feladatTipus),
Area = "Orarend",
Controller = "HazifeladatokListaja",
Action = "GetFeladat_Tab",
RouteParameters = new Dictionary<string, string>() {
{ "Id", calendarModel.EventId.ToString() },
{ "EventType", ((int)calendarModel.OraType).ToString() },
{ "Date" , calendarModel.Start.Date.ToString() },
{ "FeladatTipusId", ((int)feladatTipus).ToString() }
}
});
return list;
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public List<TabStripItemModel> GetModTabs(CalendarModel calendarModel)
{
List<TabStripItemModel> list = new List<TabStripItemModel>();
list.Add(new TabStripItemModel()
{
ItemId = "2",
ItemName = OrarendResource.HaziFeladat,
Area = "Orarend",
Controller = "HazifeladatokListaja",
Action = "GetHaziFeladatMod_Tab",
RouteParameters = new Dictionary<string, string>() {
{ "Id", calendarModel.EventId.ToString() },
{ "EventType", ((int)calendarModel.OraType).ToString() },
{ "Date" , calendarModel.Start.Date.ToString() }
}
});
return list;
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public List<TabStripItemModel> GetFeladatModTabs(CalendarModel calendarModel, FeladatTipusEnum feladatTipus)
{
var list = new List<TabStripItemModel>();
list.Add(new TabStripItemModel()
{
ItemId = "2",
ItemName = GetFeladatTipusDisplayName(feladatTipus),
Area = "Orarend",
Controller = "HazifeladatokListaja",
Action = "GetFeladatMod_Tab",
RouteParameters = new Dictionary<string, string>() {
{ "Id", calendarModel.EventId.ToString() },
{ "EventType", ((int)calendarModel.OraType).ToString() },
{ "Date" , calendarModel.Start.Date.ToString() },
{ "FeladatTipusId", ((int)feladatTipus).ToString() }
}
});
return list;
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult GetHaziFeladat_Tab(int id, CalendarOraTypeEnum eventType, DateTime date)
{
var model = GetHaziFeladatok(id, eventType, date);
return PartialView("TanuloHaziFeladat_Tab", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult GetFeladat_Tab(int id, CalendarOraTypeEnum eventType, DateTime date, int feladatTipusId)
{
var model = GetHaziFeladatok(id, eventType, date, feladatTipusId);
return PartialView("TanuloHaziFeladat_Tab", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult GetHaziFeladatMod_Tab(int id, CalendarOraTypeEnum eventType, DateTime date)
{
var model = GetHaziFeladatokMod(id, eventType, date);
return PartialView("Hazifeladat_Bevitel", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult GetFeladatMod_Tab(int id, CalendarOraTypeEnum eventType, DateTime date, int feladatTipusId)
{
var model = GetHaziFeladatokMod(id, eventType, date, feladatTipusId);
return PartialView("Hazifeladat_Bevitel", model);
}
private TanuloHaziFeladatTabModel GetHaziFeladatok(int eventId, CalendarOraTypeEnum oraType, DateTime date, int feladatTipusId = (int)FeladatTipusEnum.HaziFeladat)
{
try
{
return new TanuloHaziFeladatTabModel(new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHaziFeladatTabCo(eventId, oraType, date, ClaimData.IsTanuloOrGondviselo, feladatTipusId));
}
catch (Exception e)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran) { UnHandledException = e };
}
}
private HazifeladatBevitelModel GetHaziFeladatokMod(int eventId, CalendarOraTypeEnum oraType, DateTime date, int feladatTipusId = (int)FeladatTipusEnum.HaziFeladat)
{
try
{
var co = new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHaziFeladatTabCo(eventId, oraType, date, ClaimData.IsTanuloOrGondviselo, feladatTipusId);
var model = new HazifeladatBevitelModel()
{
Id = co.TanarHaziFeladat.Id,
ErvenyessegVege = co.TanarHaziFeladat.Hatarido,
Szoveg = co.TanarHaziFeladat.Szoveg,
FeladatTipusId = co.TanarHaziFeladat.FeladatTipusId
};
if (co.TanarHaziFeladat.Csatolmanyok.Count == 1)
model.CsatolmanyId = co.TanarHaziFeladat.Csatolmanyok.First().Key;
return model;
}
catch (Exception e)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran) { UnHandledException = e };
}
}
private string GetFeladatTipusDisplayName(FeladatTipusEnum feladatTipus)
{
return feladatTipus == FeladatTipusEnum.HaziFeladat ? OrarendResource.Feladat : feladatTipus.GetDisplayName(ClaimData.SelectedTanevID.Value);
}
}
}

View file

@ -0,0 +1,27 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Gondviselo.ClaimValue)]
public class InformaciokFogadoorakController : Controller
{
public ActionResult Index()
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Fogadoorak_megjelenitese))
{
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
}
return View();
}
}
}

View file

@ -0,0 +1,226 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public class InformaciokOrarendController : Controller
{
private readonly IFileServiceHelper fileServiceHelper;
private IKretaAuthorization Authorization { get; }
public InformaciokOrarendController(IKretaAuthorization authorization, IFileServiceHelper fileServiceHelper)
{
Authorization = authorization ?? throw new ArgumentNullException(nameof(authorization));
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
}
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue, KretaClaimPackages.CsokkentettGondviselo.ClaimValue)]
public ActionResult Index()
{
var model = new InformaciokOrarendModel();
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var hetesekHelper = new HetesekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = helper.GetHetirendek();
model.NaptariHetekHetirendJson = helper.GetNaptariHetekHetirendek();
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (ClaimData.IsTanuloOrGondviselo && systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.hetesek_megjelenitese_az_elektronikus_ellenorzoben))
{
List<int> osztalyCsoportIdList = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloOsztalyIdList(ClaimData.FelhasznaloId);
var hetHelper = new NaptariHetHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.AktualisHetSorszam = hetHelper.GetNaptariHetSorszamByDate(DateTime.Now);
if (osztalyCsoportIdList.Any())
{
var tanulok = hetesekHelper.GetHetesSzovegHetsorszammal(osztalyCsoportIdList);
var serializerSettings = new JsonSerializerSettings();
serializerSettings.StringEscapeHandling = StringEscapeHandling.EscapeNonAscii;
model.HetesekJson = JsonConvert.SerializeObject(tanulok, serializerSettings);
model.HetesekJson = model.HetesekJson.Replace("\x7F", "\\u007f");
}
}
var co = helper.GetCalendarMinMax();
model.CalendarMinTime = co.CalendarMin;
model.CalendarMaxTime = co.CalendarMax;
model.IsOraTemaTooltip = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Tanora_Tema_Az_Ellenorzoben);
return View("Index", model);
}
[HttpPost]
public ActionResult GetOrarendEvent(int eventId, bool isTanitasiOra_BOOL, DateTime haziFeladatRogzitesDatuma, int? tanuloId = null, string megoldva = null)
{
CalendarModel calendar = new CalendarModel();
calendar.EventId = eventId;
calendar.OraType = isTanitasiOra_BOOL ? CalendarOraTypeEnum.TanitasiOra : CalendarOraTypeEnum.OrarendiOra;
calendar.Start = haziFeladatRogzitesDatuma;
return OrarendEvent(calendar, tanuloId, megoldva);
}
public ActionResult OrarendEvent(CalendarModel calendarModel, int? tanuloId = null, string megoldva = null)
{
if (calendarModel.OraType == CalendarOraTypeEnum.TanevRendjeEsemeny ||
calendarModel.OraType == CalendarOraTypeEnum.UresOra)
{
return null;
}
var model = new InformaciokOra();
var pm = new PopUpModel(model, "OraAdatok_Info");
model.TabList = GetDetailTabs(calendarModel, tanuloId, megoldva);
pm = pm.AddCancelBtn(pm, "InformaciokOrarend.detailOraInfoCancel");
return PartialView(Constants.General.PopupView, pm);
}
public List<TabStripItemModel> GetDetailTabs(CalendarModel calendarModel, int? tanuloId = null, string megoldva = null)
{
List<TabStripItemModel> list = new List<TabStripItemModel>();
list.Add(new TabStripItemModel()
{
ItemId = "1",
ItemName = StringResourcesUtil.GetString(3331) /*Óra adatai*/,
Area = "Orarend",
Controller = "InformaciokOrarend",
Action = "GetOraAdatok",
RouteParameters = new Dictionary<string, string>() {
{ "Id", calendarModel.EventId.ToString() },
{ "EventType", ((int)calendarModel.OraType).ToString() },
{ "Date" , calendarModel.Start.Date.ToString() }
}
});
var routeParameters = new Dictionary<string, string>() {
{ "Id", calendarModel.EventId.ToString() },
{ "EventType", ((int)calendarModel.OraType).ToString() },
{ "Date" , calendarModel.Start.Date.ToString() }
};
if (tanuloId != null)
routeParameters.Add("TanuloId", tanuloId.ToString());
if (!string.IsNullOrWhiteSpace(megoldva))
routeParameters.Add("Megoldva", megoldva.ToString());
list.Add(new TabStripItemModel()
{
ItemId = "2",
ItemName = OrarendResource.HaziFeladat,
Area = "Orarend",
Controller = "InformaciokOrarend",
Action = "GetHaziFeladat_Tab",
RouteParameters = routeParameters
});
return list;
}
public ActionResult GetHaziFeladat_Tab(int id, CalendarOraTypeEnum eventType, DateTime date, int? tanuloId = null, string megoldva = null)
{
if (!Authorization.IsValidEvent(id, eventType, date))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAzOldalMegtekintesehez);
}
var model = GetHaziFeladatok(id, eventType, date);
return PartialView("TanuloHaziFeladat_Tab", model);
}
public ActionResult GetOraAdatok(int id, CalendarOraTypeEnum eventType, DateTime date)
{
if (!Authorization.IsValidEvent(id, eventType, date))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAzOldalMegtekintesehez);
}
var model = GetOraAdatai(id, eventType, date);
return PartialView("Info_TanuloOraAdatok_Tab", model);
}
private InformaciokOraAdatai GetOraAdatai(int eventId, CalendarOraTypeEnum eventType, DateTime date)
{
int? orarendiOraId = null;
int? tanitasiOraId = null;
var model = new InformaciokOraAdatai();
model.IsTanora = eventType == CalendarOraTypeEnum.TanitasiOra;
if (model.IsTanora)
{
tanitasiOraId = eventId;
MulasztasHelper h = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var mulasztas = h.GetTanuloTanoraiMulasztasa(ClaimData.FelhasznaloId, tanitasiOraId.Value);
model.MulasztasText = string.IsNullOrWhiteSpace(mulasztas) ? "-" : mulasztas;
}
else
{
orarendiOraId = eventId;
}
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var adatok = helper.GetTanuloOraAdatai(orarendiOraId, tanitasiOraId, date);
var openBoardHelper = new OpenBoardHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType(), fileServiceHelper);
// Helyettesítés csak akkor látható tanulónál, ha be van kapcsolva a rendszerbeállításokba, vagy már naplózott az óra.
var isHelyettesitesLathato = new SystemSettingsHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.helyettesites_lathatosaga_az_ellenorzoben);
model.IsHelyettesitoTanarLathato = isHelyettesitesLathato || model.IsTanora;
model.Targy = adatok.Targy;
model.HelyettesitoTanar = adatok.HelyettesitoTanar;
model.Megtartott = adatok.Megtartott;
model.OsztalyNev = adatok.OsztalyNev;
model.Tanar = adatok.Tanar;
model.Tema = adatok.Tema;
model.Terem = adatok.Terem;
model.Oraszam = adatok.Oraszam;
model.Datum = date.ToShortDateString();
model.SzamonkeresMegnevezes = adatok.SzamonkeresMegnevezes;
model.SzamonkeresMod = adatok.SzamonkeresMod;
model.OraTartam = string.Format("{0} - {1}", adatok.OraKezdet, adatok.OraVege);
model.OpenBoardFiles = openBoardHelper.GetFeltoltottFajlokToTanuloOraAdat(date, orarendiOraId, tanitasiOraId);
return model;
}
private TanuloHaziFeladatTabModel GetHaziFeladatok(int eventId, CalendarOraTypeEnum oraType, DateTime date)
{
try
{
return new TanuloHaziFeladatTabModel(new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHaziFeladatTabCo(eventId, oraType, date, ClaimData.IsTanuloOrGondviselo));
}
catch (Exception e)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran) { UnHandledException = e };
}
}
}
}

View file

@ -0,0 +1,70 @@
using System;
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core.Exceptions;
using Kreta.Framework;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public class InformaciokTanorakController : Controller
{
// GET: Orarend/InformaciokTanorak
public ActionResult Index()
{
var model = new InformaciokSearchModel();
return View(model);
}
public ActionResult OpenTanitasiOraInfoPopUp(int tanitasiOraId, DateTime datum)
{
try
{
TanitasiOraInfoModel tanitasiOraInfoModel;
var helper = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
TanoraCO tanoraCO = helper.GetTanoraByOrarendiId(tanitasiOraId, datum, true, ClaimData.IsTanuloOrGondviselo);
tanitasiOraInfoModel = new TanitasiOraInfoModel
{
Datum = tanoraCO.Datum.ToShortDateString(),
Oraszam = tanoraCO.Oraszam,
HetNapja = tanoraCO.HetNapjaNev,
Hetirend = tanoraCO.HetirendNev,
Foglalkozas = tanoraCO.FoglalkozasNev,
OsztalyCsoport = tanoraCO.OsztalyCsoportNev,
Tantargy = tanoraCO.TantargyNev,
Tanar = tanoraCO.TanarNev,
Terem = tanoraCO.TeremNev,
Megtartott = tanoraCO.Megtartott.HasValue ? tanoraCO.Megtartott.Value.GetDisplayName() : StringResourcesUtil.GetString(3610)/*Nem naplózott*/,
Sorszamozando = tanoraCO.Sorszamozando.GetDisplayName(),
OraKezdete = tanoraCO.OraKezd.ToString("HH:mm"),
OraVege = tanoraCO.OraVeg.ToString("HH:mm"),
Tema = tanoraCO.Tema,
Megjegyzes = tanoraCO.Megjegyzes,
HaziFeladat = tanoraCO.HaziFeladat
};
var model = new PopUpModel(tanitasiOraInfoModel, "Info_PopUp");
model.AddCancelBtn(model, "InformaciokTanitasiOraHelper.tanitasiOraInfoCancel");
return PartialView(Constants.General.PopupView, model);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
}
}

View file

@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Security;
using Kreta.Core.FeatureToggle;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Controllers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsPortas.ClaimValue, KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
public class KepekListajaController : Controller
{
private readonly IFileServiceHelper FileServiceHelper;
private IFeatureContext FeatureContext { get; set; }
public KepekListajaController(IFeatureContext featureContext, IFileServiceHelper fileServiceHelper)
{
FeatureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext));
FileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
}
public ActionResult Index()
{
return View("Index");
}
public ActionResult OpenKepInfoPopUp(int oraFileId)
{
return PartialView(Constants.General.PopupView, KepekListajaLogic.GetPopUpModelOpenKepInfo(oraFileId, FileServiceHelper));
}
public ActionResult OpenModifyKepPopUp(int oraFileId)
{
return PartialView(Constants.General.PopupView, KepekListajaLogic.GetPopUpModelOpenModifyKep(oraFileId));
}
public string DownloadSelectedKep(List<int> selectedOraFileIdList)
{
var guid = KepekListajaLogic.DownloadSelectedKep(selectedOraFileIdList, FileServiceHelper);
return Url.Action(nameof(CacheController.DownloadFile), nameof(CacheController).Replace("Controller", ""), new { guid, fileName = "képek.zip", contentType = Constants.ImportExport.ContentType, area = "" });
}
}
}

View file

@ -0,0 +1,102 @@
using System.Linq;
using System.Web.Http;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class OrarendekTorleseController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult OpenSelectorPopup([FromBody] string url)
{
var popupModel = new PopUpModel(null, "Selector_Popup");
popupModel.AddBtn(popupModel, "BtnVissza", CommonResource.Vissza, $"function () {{OrarendekTorleseHelper.visszaUrl('{url}')}}");
return PartialView(Constants.General.PopupView, popupModel);
}
public ActionResult LoadFeladatellatasiHelyView()
{
var helper = new OrarendTorleseHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var model = new FelhelyOrarendTorleseModel();
(model.MinDatum, model.MaxDatum) = helper.GetMinMaxDatumValaszto();
model.FelhelyList.AddRange(helper.GetFeladatellatasiHelyek(true).Select(x => new SelectListItem
{
Text = x.Text,
Value = x.Value,
}));
model.OraTipusok.AddRange(helper.GetNezetTipusok().Select(x => new SelectListItem
{
Text = x.Text,
Value = x.Value,
}));
return PartialView("FeladatellatasiHely_View", model);
}
public ActionResult LoadOsztalyView()
{
var osztalyCsoportHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var osztalyList = osztalyCsoportHelper.GetOsztalyCsoportCoList().Where(ocs => ocs.IsOsztaly).Select(cs => new OrarendTorleseOsztalyCsoportListItem
{
Id = cs.Id,
Nev = cs.Nev,
FeladatellatasiHelyId = cs.FeladatellatasiHelyId
});
var model = new OsztalyOrarendTorleseModel
{
OsztalyList = osztalyList
};
var orarendTorleseHelper = new OrarendTorleseHelper(ConnectionTypeExtensions.GetSessionConnectionType());
(model.MinDatum, model.MaxDatum) = orarendTorleseHelper.GetMinMaxDatumValaszto();
model.OraTipusok.AddRange(orarendTorleseHelper.GetNezetTipusok().Select(x => new SelectListItem
{
Text = x.Text,
Value = x.Value,
}));
return PartialView("Osztaly_View", model);
}
public ActionResult LoadCsoportView()
{
var osztalyCsoportHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var csoportList = osztalyCsoportHelper.GetOsztalyCsoportCoList().Where(ocs => !ocs.IsOsztaly).Select(cs => new OrarendTorleseOsztalyCsoportListItem
{
Id = cs.Id,
Nev = cs.Nev,
FeladatellatasiHelyId = cs.FeladatellatasiHelyId
});
var model = new CsoportOrarendTorleseModel
{
CsoportList = csoportList
};
var orarendTorleseHelper = new OrarendTorleseHelper(ConnectionTypeExtensions.GetSessionConnectionType());
(model.MinDatum, model.MaxDatum) = orarendTorleseHelper.GetMinMaxDatumValaszto();
model.OraTipusok.AddRange(orarendTorleseHelper.GetNezetTipusok().Select(x => new SelectListItem
{
Text = x.Text,
Value = x.Value,
}));
return PartialView("Csoport_View", model);
}
}
}

View file

@ -0,0 +1,17 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class OsztalyOrarendController : Controller
{
public ActionResult Index()
{
return View();
}
}
}

View file

@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Extensions;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Tanar.ClaimValue)]
public class OsztalyOrarendKeresoController : Controller
{
public ActionResult Index()
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var sysParamList = systemSettingsHelper.GetSystemSettingValue<List<string>>(RendszerBeallitasTipusEnum.Tanar_Feluleten_Orarend_Lathatosag);
if (sysParamList.Contains("OsztalyOrarendKereso"))
{
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
}
var model = new OrarendKeresoModel();
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
var co = orarendHelper.GetCalendarMinMax();
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
return View(model);
}
}
}

View file

@ -0,0 +1,81 @@
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Core.Exceptions;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
public class TanarOralatogatasController : Controller
{
public ActionResult Index()
{
var model = new OralatogatasModel();
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
#region Calendar megjelenítés
var co = orarendHelper.GetCalendarMinMax();
model.CalendarMinTime = co.CalendarMin;
model.CalendarMaxTime = co.CalendarMax;
#endregion
return View("Index", model);
}
public ActionResult OralatogatasEvent(OralatogatasExtendModel oralatogatasExtendModel)
{
try
{
OralatogatasokCO co;
var helper = new OralatogatasokHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
co = helper.GetOraOralatogatasa(oralatogatasExtendModel.CalendarModel.EventId, ClaimData.FelhasznaloId);
var tanoraCo = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanorakAdatok(oralatogatasExtendModel.CalendarModel.EventId);
var oModel = ConvertCoToModel(co);
oModel.OralatogatasDatuma = oralatogatasExtendModel.CalendarModel.Start;
oModel.OraID = oralatogatasExtendModel.CalendarModel.EventId;
oModel.TanitasiOraTema = tanoraCo.Tema;
oModel.IsNemKellNemKotottSystemSettings = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(Enums.RendszerBeallitasTipusEnum.kotott_munkaido_nevelesseloktatassal_le_nem_kotott_resz_kezelesenek_tiltasa);
var model = new PopUpModel(oModel, "Oralatogatas_Bevitel");
model.AddCancelBtn(model, "OralatogatasHelper.windowCancel");
model.AddOkBtn(model, "OralatogatasHelper.windowSave");
if (oralatogatasExtendModel.CalendarModel.OraType == Enums.ManualEnums.CalendarOraTypeEnum.Egyeb)
model.AddBtn(model, "OralatogatasTorles", 4739, "OralatogatasHelper.windowDelete", "pull-left");
return PartialView(Constants.General.PopupView, model);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
private OralatogatasModel ConvertCoToModel(OralatogatasokCO co)
{
OralatogatasModel model = new OralatogatasModel();
if (co != null)
{
model.OralatogatasSzovege = co.Megjegyzes;
model.OralatogatasID = co.Id;
}
return model;
}
}
}

View file

@ -0,0 +1,395 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Extensions;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Logic.Naplozas;
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
using Kreta.BusinessLogic.Security;
using Kreta.Core.Exceptions;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Areas.TanuloErtekeles.Controllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
using Kreta.Web.Utils;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
public class TanariOrarendController : BaseTanariOrarendController
{
private IKretaAuthorization Authorization { get; }
private readonly IFileServiceHelper fileServiceHelper;
public TanariOrarendController(IKretaAuthorization authorization, IFileServiceHelper fileServiceHelper) : base(authorization, fileServiceHelper)
{
Authorization = authorization;
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
}
public ActionResult Index()
{
var dualisOktato = Authorization.IsValidDualisOktato();
var model = new TanariOrarendModel();
model.SzervezetTipusId = dualisOktato ? (int)SzervezetTipusEnum.Dualis : (int?)null;
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var naplozarasLogic = new NaplozarasLogic(ConnectionTypeExtensions.GetSessionConnectionType());
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.IsNemKellNemKotott = dualisOktato || systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.kotott_munkaido_nevelesseloktatassal_le_nem_kotott_resz_kezelesenek_tiltasa);
var fogadooraMegjelenik = !dualisOktato && systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Fogadoorak_megjelenitese) && !ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue);
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek(dualisOktato);
model.LezartOsztalyokEsOsztalybontottCsoportokIdList = naplozarasLogic.GetLezartOsztalyokEsBontottCsoportjaik();
model.FelhasznalodTanarId = ClaimData.FelhasznaloId;
model.TanevUtolsoTanitasiNap = dualisOktato ? tanevHelper.GetTanevInfo().UtolsoNap.AddDays(1) : tanevHelper.GetTanevInfo().UtolsoTanitasiNap.AddDays(1);
model.RendkivuliTanitasiNapok = !dualisOktato ? tanevHelper.GetTanevRendkivuliNapok() : new List<DateTime>();
model.IsShowRogzitottOrak = !dualisOktato && systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.kotott_munkaido_megjelenitese);
#region Calendar megjelenítés
var co = orarendHelper.GetCalendarMinMax();
model.CalendarMinTime = dualisOktato ? new TimeSpan(0, 0, 0) : co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
model.CalendarMaxTime = dualisOktato ? new TimeSpan(23, 59, 59) : co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
//var csengetesiRendOrakHelper = new CsengetesiRendOrakHelper();
//DataSet ds = csengetesiRendOrakHelper.GetCsengetesiOrakKezdVeg();
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
#endregion Calendar megjelenítés
model.ShowKerdoivPopup = new KerdoivHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetShowKerdoivPopup(ClaimData.IsAlkalmazottPedagogus);
model.TabList = GetTanariOrarendTabs(fogadooraMegjelenik, dualisOktato);
ViewBag.nemKotottMunkaidoStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.nemKotottMunkaidoEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_zaroidopontja);
ViewBag.napirendStart = dualisOktato ? model.CalendarMinTime.ToString() : systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.napirendEnd = dualisOktato ? model.CalendarMaxTime.ToString() : systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
ViewBag.fogadooraStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Fogado_Ora_Kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.fogadooraEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Fogado_Ora_Zaroidopontja);
return View("Index", model);
}
public ActionResult TanorakOrarendEvent(TanoraIdBeallitasModel model)
{
return base.TanorakOrarendEvent(model);
}
public ActionResult OpenNewFoglalkozasokOraPopUp(TanoraIdBeallitasModel model)
{
return OpenNewFoglalkozasokOraPopUp(model, false);
}
public ActionResult GetWizardElovalaszto(DateTime? datum = null)
{
return GetWizardElovalaszto(datum, false);
}
public ActionResult GetWizardHelyettesitesElovalaszto(DateTime? datum = null, int hiba = -1)
{
return GetWizardHelyettesitesElovalaszto(datum, hiba, false);
}
public ActionResult GetWizardOrarendioraValaszto(string startDate, string endDate, string hanyadikora, string helyettesitoId, bool isNapirend = false, bool isEgyediHelyettesites = false)
{
return GetWizardOrarendioraValaszto(startDate, endDate, hanyadikora, helyettesitoId, isNapirend, isEgyediHelyettesites, false);
}
public ActionResult GetWizardHelyettesites()
{
return GetWizardHelyettesites(false);
}
public ActionResult GetWizardOraosszevonasHelyettesites()
{
return GetWizardOraosszevonasHelyettesites(false);
}
public ActionResult GetWizardFoglalkozas(int foglalkozasFilterId, bool isNapirend = false, DateTime? datum = null, int? hanyadikOra = null)
{
return GetWizardFoglalkozas(foglalkozasFilterId, isNapirend, datum, hanyadikOra, false);
}
public ActionResult GetWizardEgyedi(int foglalkozasFilterId, DateTime datum, bool isNapirend = false, int? hanyadikOra = null)
{
return GetWizardEgyedi(foglalkozasFilterId, datum, isNapirend, hanyadikOra, false);
}
public ActionResult OpenNewNemKotottMunkaidoPopUp(CalendarModel model)
{
var nkmm = new NemKotottMunkaidoModel()
{
Datum = model.Start.ToLocalTime().Date,
Kezdet = model.Start.ToLocalTime(),
Veg = model.End.ToLocalTime(),
TanarId = ClaimData.FelhasznaloId,
isMegtartott = true,
HetirendId = 1554 /*Minden héten*/
};
var pm = new PopUpModel(nkmm, "NemKotottMunkaido_Bevitel");
pm = pm.AddBtn(pm, "newNemKotottMunkaidoCancel", AdminisztracioResource.Megsem, "NemKotottMunkaido.newNemKotottMunkaidoCancel");
if (new NaplozarasLogic(ConnectionTypeExtensions.GetSessionConnectionType()).IsNaplozhatZarastolFuggetlenul(nkmm.Kezdet.Value, null))
{
pm = pm.AddBtn(pm, "newNemKotottMunkaidoSave", 3804 /*Naplózás*/, "NemKotottMunkaido.newNemKotottMunkaidoSave");
}
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult OpenModNemKotottMunkaidoPopUp(CalendarModel model)
{
if (!Authorization.IsValidNemKotottMunkaido(model.EventId))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAzOldalMegtekintesehez);
}
var nkmm = GetModNemKotottMunkaidoModel(model);
var pm = new PopUpModel(nkmm, "NemKotottMunkaido_Bevitel");
pm = pm.AddBtn(pm, "modNemKotottMunkaidoCancel", AdminisztracioResource.Megsem, "NemKotottMunkaido.modNemKotottMunkaidoCancel");
var isNaplozhatZarastolFuggetlenul = new NaplozarasLogic(ConnectionTypeExtensions.GetSessionConnectionType()).IsNaplozhatZarastolFuggetlenul(nkmm.Datum.Value, null);
if (!nkmm.isReadonly)
{
if (nkmm.isTanarAltalTorolt)
{
if (isNaplozhatZarastolFuggetlenul)
{
if (nkmm.isMegtartott)
{
pm = pm.AddBtn(pm, "modNemKotottMunkaidoMegtartottDelete", 5221 /*Naplózás törlése*/, "NemKotottMunkaido.modNemKotottMunkaidoDelete");
}
else
{
pm = pm.AddBtn(pm, "modNemKotottMunkaidoTanarAltalToroltOraDelete", 5221 /*Naplózás törlése*/, "NemKotottMunkaido.modNemKotottMunkaidoTanarAltalDelete");
}
}
}
else
{
if (isNaplozhatZarastolFuggetlenul)
{
if (nkmm.isMegtartott)
{
pm = pm.AddBtn(pm, "modNemKotottMunkaidoMegtartottDelete", 5221 /*Naplózás törlése*/, "NemKotottMunkaido.modNemKotottMunkaidoDelete");
pm = pm.AddBtn(pm, "modNemKotottMunkaidoSave", 3765 /*Naplózás változtatásainak mentése*/, "NemKotottMunkaido.modNemKotottMunkaidoSaveDay");
}
else
{
nkmm.NaplozottMegjegyzes = nkmm.Megjegyzes;
pm = pm.AddBtn(pm, "modNemKotottMunkaidoSave", 3804 /*Naplózás*/, "NemKotottMunkaido.modNemKotottMunkaidoSaveDay");
if (nkmm.isAdminRogzitette)
{
pm = pm.AddBtn(pm, "modNemKotottMunkaidoTanarAltalDelete", 117 /*Törlés*/, "NemKotottMunkaido.modNemKotottMunkaidoTanarAltalDelete");
}
else
{
pm = pm.AddBtn(pm, "modNemKotottMunkaidoDelete", 117 /*Törlés*/, "NemKotottMunkaido.globalNemKotottMunkaidoDelete");
}
}
}
}
}
return PartialView(Constants.General.PopupView, pm);
}
private ActionResult TanoraMuveletek(NaplozasElokeszitesModel model, TanoraMuveletek muveletPram)
{
return base.TanoraMuveletek(model, muveletPram, (int?)null);
}
public DateTime GetTanevUtolsoNapja() => new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo().UtolsoTanitasiNap;
public ActionResult OpenNewFogadooraPopUp(CalendarModel model)
{
var fm = SetNewFogadooraDefaultData(model);
var pm = new PopUpModel(fm, "Fogadoora_Bevitel");
pm = pm.AddBtn(pm, "newFogadooraCancel", AdminisztracioResource.Megsem, "FogadooraHelper.newFogadooraCancel");
pm = pm.AddBtn(pm, "newFogadooraSave", CommonResource.Mentes, "FogadooraHelper.fogadooraSave");
return PartialView(Constants.General.PopupView, pm);
}
private FogadooraModel SetNewFogadooraDefaultData(CalendarModel cm)
{
var tanevCo = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo();
var isNemKellNemKotott = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.kotott_munkaido_nevelesseloktatassal_le_nem_kotott_resz_kezelesenek_tiltasa);
return new FogadooraModel
{
FogadoOraKezdete = cm.Start.ToLocalTime(),
FogadoOraVege = cm.End.ToLocalTime(),
FogadoOraDatuma = cm.Start.ToLocalTime().Date,
EgysegnyiIdopontok = 15,
IsNemKotottMunkaido = !isNemKellNemKotott,
JelentkezesekKezelese = true,
IsFaliujsagonMegjelenjen = true,
FaliujsagErvenyessegKezdete = DateTime.Today,
FaliujsagErvenyessegVege = cm.Start.ToLocalTime().AddDays(1),
RendszeresFogadooraElsoDatuma = cm.Start.ToLocalTime().Date,
RendszeresFogadooraUtolsoDatuma = tanevCo.UtolsoTanitasiNap.Date,
IsCalendar = true,
IsRendszeressegModosithato = true,
IsIdosavraOsztas = true,
FogadooraEgyebGyakorisagDefaultDate = cm.Start.ToLocalTime(),
TanevUtolsoNapja = GetTanevUtolsoNapja(),
IsNemKellNemKotott = isNemKellNemKotott,
};
}
public ActionResult OpenModFogadooraPopUpByCalendarModel(CalendarModel model) => OpenModFogadooraPopUpDetails(model.EventId, true);
public ActionResult OpenModFogadooraPopUpByFogadooraId(int id) => OpenModFogadooraPopUpDetails(id);
public ActionResult OpenModFogadooraPopUpDetails(int fogadooraId, bool isCalendar = false)
{
var fm = new FogadooraModel();
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var fogadooraCo = helper.GetFogadooraById(fogadooraId);
fm.Id = fogadooraCo.Id;
fm.FogadoOraDatuma = fogadooraCo.FogadoOraKezdete.Date;
fm.FogadoOraKezdete = fogadooraCo.FogadoOraKezdete;
fm.FogadoOraVege = fogadooraCo.FogadoOraVege;
fm.Rendszeresseg = fogadooraCo.Rendszeresseg;
fm.TeremId = fogadooraCo.TeremId;
fm.JelentkezesekKezelese = (int)FogadooraTipusEnum.Jelentkezheto == fogadooraCo.FogadooraTipusEnumId || (int)FogadooraTipusEnum.JelentkezhetoDarabolt == fogadooraCo.FogadooraTipusEnumId;
fm.IsIdosavraOsztas = fogadooraCo.IsIdosavraOsztas;
fm.EgysegnyiIdopontok = fogadooraCo.EgysegnyiIdopontok;
fm.SelectedOsztalyCsoportIdList = fogadooraCo.SelectedOsztalyCsoportIdList;
fm.RendszeresFogadooraElsoDatuma = fogadooraCo.FogadoOraKezdete;
fm.RendszeresFogadooraUtolsoDatuma = fogadooraCo.FogadoOraVege;
fm.IsEgyAlkalomModosul = false;
fm.IsCalendar = isCalendar;
fm.IsFaliujsagonMegjelenjen = fogadooraCo.IsFaliujsagonMegjelenjen;
fm.IsRendszeressegModosithato = false;
fm.FaliujsagErvenyessegKezdete = fogadooraCo.FaliujsagErvenyessegKezdete;
fm.FaliujsagErvenyessegVege = fogadooraCo.FaliujsagErvenyessegVege;
fm.JelentkezesHatarideje = fogadooraCo.JelentkezesHatarideje;
var isModosithatoFogadoora = fm.FogadoOraKezdete > DateTime.Now;
fm.TanevUtolsoNapja = GetTanevUtolsoNapja();
var jelentkezettGvDs = helper.GetJelentkezettGondviseloCntByFogadooraId(fogadooraId);
if (jelentkezettGvDs.Tables[0].Rows.Count > 0)
{
fm.VanGvJelentkezes = true;
}
if (!isModosithatoFogadoora)
{
fm.TeremNev = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTeremNev(fogadooraCo.TeremId);
}
var rendszeressegDictionary = EnumExtensions.EnumToDictionary<FogadooraRendszeressegEnum>(ClaimData.SelectedTanevID.Value);
fm.RendszeressegText = rendszeressegDictionary.First(x => x.Key == fogadooraCo.Rendszeresseg.ToString()).Value;
var pm = new PopUpModel(fm, isModosithatoFogadoora ? "Fogadoora_Bevitel" : "~/Areas/Orarend/Views/TanariOrarend/Fogadoora_Details.cshtml");
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(fm.FogadoOraKezdete.Date, null);
if (!isDateHasTanevrend)
{
//itt vizsgálni egy alkalom-e, ha igen, akkor ezek nem kellenek
if (fm.Rendszeresseg == (int)FogadooraRendszeressegEnum.EgyAlkalom)
{
if (isModosithatoFogadoora)
{
pm = pm.AddBtn(pm, "newFogadooraCancel", AdminisztracioResource.Megsem, "FogadooraHelper.modFogadooraCancel");
pm = pm.AddBtn(pm, "newFogadooraSave", CommonResource.Mentes, "FogadooraHelper.ModEgyFogadoora");
pm = pm.AddBtn(pm, "modFogadooraDeleteDay", FogadooraResource.EgyFogadooraTorlese, "FogadooraHelper.DeleteEgyFogadooraa", "pull-left");
}
}
else
{
if (isModosithatoFogadoora)
{
pm = pm.AddBtn(pm, "newFogadooraCancel", AdminisztracioResource.Megsem, "FogadooraHelper.modFogadooraCancel");
pm = pm.AddBtn(pm, "modFogadooraDeleteDay", FogadooraResource.EgyFogadooraTorlese, "FogadooraHelper.DeleteEgyFogadooraa", "pull-left");
pm = pm.AddBtn(pm, "modFogadooraDeleteFrom", OrarendResource.DeleteFrom, "FogadooraHelper.DeleteEttolANaptol", "pull-left");
pm = pm.AddBtn(pm, "modFogadooraDeleteTo", OrarendResource.DeleteTo, "FogadooraHelper.DeleteEddigANapig", "pull-left");
pm = pm.AddBtn(pm, "modFogadooraDelete", FogadooraResource.FogadooraTorleseTeljesTanevbol, "FogadooraHelper.DeleteTeljes", "pull-left");
pm = pm.AddBtn(pm, "modFogadooraSaveDay", FogadooraResource.EgyFogadooraModositas, "FogadooraHelper.ModEgyFogadoora", true, "pull-left");
pm = pm.AddBtn(pm, "modFogadooraSaveFrom", OrarendResource.ModSaveFrom, "FogadooraHelper.ModEttolANaptol", "pull-left", true);
pm = pm.AddBtn(pm, "modFogadooraSaveTo", OrarendResource.ModSaveTo, "FogadooraHelper.ModEddigANapig", "pull-left", true);
pm = pm.AddBtn(pm, "modFogadooraSave", OrarendResource.ModAllSave, "FogadooraHelper.ModTeljes", "pull-left", true);
}
}
}
return PartialView(Constants.General.PopupView, pm);
}
[HttpPost]
public ActionResult UploadCsatolmany(HttpPostedFileBase csatolmany, int hfId)
{
try
{
byte[] content;
using (var inputStream = csatolmany.InputStream)
{
var memoryStream = inputStream as MemoryStream;
if (memoryStream == null)
{
memoryStream = new MemoryStream();
inputStream.CopyTo(memoryStream);
}
content = memoryStream.ToArray();
}
var helper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType(), fileServiceHelper);
var csatolmanyId = helper.UploadCsatolmany(csatolmany.FileName, content, csatolmany.ContentType, hfId, ClaimData.IntezmenyGuid.Value);
return Json(csatolmanyId);
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.FajlFeltolteseSikertelen) { UnHandledException = ex };
}
}
private NemKotottMunkaidoModel GetModNemKotottMunkaidoModel(CalendarModel model)
{
var helper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var co = helper.GetNemKotottMunkaidoById(model.EventId);
return Logic.NemKotottMunkaidoLogic.ConvertModelFromCo(co);
}
}
}

View file

@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Extensions;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Tanar.ClaimValue)]
public class TanariOrarendKeresoController : Controller
{
public ActionResult Index()
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var sysParamList = systemSettingsHelper.GetSystemSettingValue<List<string>>(RendszerBeallitasTipusEnum.Tanar_Feluleten_Orarend_Lathatosag);
if (sysParamList.Contains("TanariOrarendKereso"))
{
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
}
var model = new OrarendKeresoModel();
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
var co = orarendHelper.GetCalendarMinMax();
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
return View(model);
}
}
}

View file

@ -0,0 +1,90 @@
using System;
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core.Exceptions;
using Kreta.Enums;
using Kreta.Framework;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class TanoraKeresoController : Controller
{
public ActionResult Index()
{
var model = new TanitasiOraSearchModel() { FeladatEllatasiHelyID = ClaimData.FelhelySzuro };
return View(model);
}
public ActionResult OpenTanitasiOraInfoPopUp(int tanitasiOraId, DateTime datum)
{
try
{
TanitasiOraInfoModel tanitasiOraInfoModel;
var helper = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
TanoraCO tanoraCO = helper.GetTanoraByOrarendiId(tanitasiOraId, datum, true, ClaimData.IsTanuloOrGondviselo);
tanitasiOraInfoModel = new TanitasiOraInfoModel
{
Datum = tanoraCO.Datum.ToShortDateString(),
Oraszam = tanoraCO.Oraszam,
HetNapja = tanoraCO.HetNapjaNev,
Hetirend = tanoraCO.HetirendNev,
Foglalkozas = tanoraCO.FoglalkozasNev,
OsztalyCsoport = tanoraCO.OsztalyCsoportNev,
Tantargy = tanoraCO.TantargyNev,
Tanar = tanoraCO.TanarNev,
Terem = tanoraCO.TeremNev,
Megtartott = tanoraCO.Megtartott.HasValue ? tanoraCO.Megtartott.Value.GetDisplayName() : StringResourcesUtil.GetString(3610)/*Nem naplózott*/,
Sorszamozando = tanoraCO.Sorszamozando.GetDisplayName(),
OraKezdete = tanoraCO.OraKezd.ToString("HH:mm"),
OraVege = tanoraCO.OraVeg.ToString("HH:mm"),
Tema = tanoraCO.Tema,
Megjegyzes = tanoraCO.Megjegyzes,
HelyettesitoTanar = tanoraCO.HelyettesitesitoTanarNeve,
HelyettesitesTipusa = tanoraCO.HelyettesitesTipus?.GetDisplayName<HelyettesitesTipusEnum>(ClaimData.SelectedTanevID.Value),
HelyettesitesOka = tanoraCO.HelyettesitesOka,
NaplozasIdopontja = tanoraCO.BejegyIdo.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds),
LegutobbiModositasIdopontja = tanoraCO.LegutobbiModositasIdopontja.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds)
};
var model = new PopUpModel(tanitasiOraInfoModel, "Info_PopUp");
model.AddCancelBtn(model, "TanoraKeresoHelper.tanitasiOraInfoCancel");
return PartialView(Constants.General.PopupView, model);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
public ActionResult ExportHelyettesitettTanorak(TanitasiOraSearchModel data)
{
return TanoraKeresoLogic.ExportHelyettesitettTanorak(data);
}
public ActionResult ExportElmaradtTanorak(TanitasiOraSearchModel data)
{
return TanoraKeresoLogic.ExportElmaradtTanorak(data);
}
public ActionResult ExportMegtartottTanorak(TanitasiOraSearchModel data)
{
return TanoraKeresoLogic.ExportMegtartottTanorak(data);
}
}
}

View file

@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Extensions;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Tanar.ClaimValue)]
public class TeremOrarendKeresoController : Controller
{
public ActionResult Index()
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var sysParamList = systemSettingsHelper.GetSystemSettingValue<List<string>>(RendszerBeallitasTipusEnum.Tanar_Feluleten_Orarend_Lathatosag);
if (sysParamList.Contains("TeremOrarendKereso"))
{
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
}
var model = new OrarendKeresoModel();
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
var co = orarendHelper.GetCalendarMinMax();
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
return View(model);
}
}
}