Neues Benutzerrecht "Mitarbeiter Abwesenheiten löschen nach Ablauf" - MoK-Anteil, to be tested
ToDoOID=1328370181
This commit is contained in:
@@ -268,6 +268,12 @@ namespace BeWoPlanerMobil.Controllers
|
||||
ViewData["AbsenceTimeError"] = "Beim Löschen der Abwesenheit ist ein Fehler aufgetreten!<br/><br/>Bitte wenden Sie sich an Ihren Administrator.";
|
||||
}
|
||||
|
||||
if(absenceTime2Delete != null && !Model.CanDeleteAbsenceTime(absenceTime2Delete))
|
||||
{
|
||||
ViewData["AbsenceTimeError"] = "Sie haben nicht das Benutzerrecht, bereits vergangene Mitarbeiter-Abwesenheiten zu löschen.";
|
||||
return PartialView("AbsenceTimePartial", Model);
|
||||
}
|
||||
|
||||
var employee = Model.SelectedEmployee;
|
||||
|
||||
employee.AbsenceTimes.Remove(absenceTime2Delete);
|
||||
|
||||
@@ -16,6 +16,8 @@ namespace BeWoPlanerMobil.Models
|
||||
{
|
||||
public bool HasRightToEdit => HasRightToEditCustomers;
|
||||
public bool HasRightToDelete => HasRightToEditCustomers;
|
||||
|
||||
public bool CanDeleteAbsenceTime(AbsenceTimeDC absenceTime) => HasRightToDelete;
|
||||
public long? ObjectOid => SelectedCustomerOid;
|
||||
public TableID ObjectTid => TableID.Customer;
|
||||
public string HtmlPrefix => "customer";
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
@@ -9,6 +10,22 @@ namespace BeWoPlanerMobil.Models
|
||||
{
|
||||
public bool HasRightToEdit => HasRightToEditEmployeeAbsenceTimes;
|
||||
public bool HasRightToDelete => HasRightToEditEmployeeAbsenceTimes;
|
||||
|
||||
public bool CanDeleteAbsenceTime(AbsenceTimeDC absenceTime)
|
||||
{
|
||||
if (!HasRightToDelete)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (absenceTime.IsInThePast)
|
||||
{
|
||||
return CheckRight(UserRightType.Employee_AllowDeleteAbsenceTimesAfterExpiry);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public string HtmlPrefix => "employee";
|
||||
|
||||
public EmployeeSessionModel EmployeeSessionModel => SessionModel as EmployeeSessionModel;
|
||||
|
||||
@@ -16,5 +16,6 @@ namespace BeWoPlanerMobil.Models
|
||||
long? AbsenteeOid { get; }
|
||||
bool HasRightToEdit { get; }
|
||||
bool HasRightToDelete { get; }
|
||||
bool CanDeleteAbsenceTime(AbsenceTimeDC absenceTime);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@if(Model.HasRightToEdit || Model.HasRightToDelete)
|
||||
@if(Model.HasRightToEdit || Model.CanDeleteAbsenceTime(absenceTime))
|
||||
{
|
||||
<div class="col-sm-auto">
|
||||
<div class="btn-toolbar justify-content-between">
|
||||
@@ -97,8 +97,8 @@
|
||||
</button>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if(Model.HasRightToDelete)
|
||||
|
||||
@if(Model.CanDeleteAbsenceTime(absenceTime))
|
||||
{
|
||||
<div class="btn-group" role="group">
|
||||
<button class="btn btn-danger" type="button" onclick="deleteAbsenceTime(@absenceTime.AbsenceTimeOid, '@absenceTime.Start.Value.GetIntervalDescription(absenceTime.End)')">
|
||||
|
||||
Reference in New Issue
Block a user