init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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 = "" });
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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"}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
107
KretaWeb/Areas/Orarend/Controllers/CsoportOrarendController.cs
Normal file
107
KretaWeb/Areas/Orarend/Controllers/CsoportOrarendController.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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 };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
48
KretaWeb/Areas/Orarend/Controllers/KepekListajaController.cs
Normal file
48
KretaWeb/Areas/Orarend/Controllers/KepekListajaController.cs
Normal 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 = "" });
|
||||
}
|
||||
}
|
||||
}
|
102
KretaWeb/Areas/Orarend/Controllers/OrarendekTorleseController.cs
Normal file
102
KretaWeb/Areas/Orarend/Controllers/OrarendekTorleseController.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
395
KretaWeb/Areas/Orarend/Controllers/TanariOrarendController.cs
Normal file
395
KretaWeb/Areas/Orarend/Controllers/TanariOrarendController.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
90
KretaWeb/Areas/Orarend/Controllers/TanoraKeresoController.cs
Normal file
90
KretaWeb/Areas/Orarend/Controllers/TanoraKeresoController.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue