Bugfixing Teil 1
This commit is contained in:
parent
c3e51d0e96
commit
cf900e5814
|
|
@ -68,7 +68,7 @@ class UserTimeForm(forms.ModelForm):
|
|||
class Meta:
|
||||
model = UserTime
|
||||
labels = {
|
||||
"loose_holidedate" : "Resturlaub verfällt am (XX.XX)",
|
||||
"loose_holidedate" : "Resturlaub verfällt am (XX.XX.)",
|
||||
"startdate" : "Einstellungsdatum",
|
||||
"wd_mo" : "Montag",
|
||||
"wd_tu" : "Dienstag",
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@
|
|||
<form method="POST" enctype="multipart/form-data" name="profileform_basic">
|
||||
<input type="hidden" name="userprof_formtype" value="profileform">
|
||||
<div class="mt-2">
|
||||
<p>Gruppen <small><i data-toggle="tooltip" data-placement="top" title="Legen Sie fest, in welchen Gruppen der neue Mitarbeiter sein soll. Standardmäßig sind alle Mitarbeiter in der Gruppe Mitarbeiter (wenn diese nicht umbenannt worden ist)." class="far fa-question-circle"></i></small></p>
|
||||
<h5>Gruppen <small><i data-toggle="tooltip" data-placement="top" title="Legen Sie fest, in welchen Gruppen der neue Mitarbeiter sein soll. Standardmäßig sind alle Mitarbeiter in der Gruppe Mitarbeiter (wenn diese nicht umbenannt worden ist)." class="far fa-question-circle"></i></small></h5>
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
{% for g in agencygroups %}
|
||||
|
|
@ -113,7 +113,7 @@
|
|||
</div>
|
||||
<hr>
|
||||
<div class="mt-2">
|
||||
<p>Übergeordneter Mitarbeiter <small><i data-toggle="tooltip" data-placement="top" title="Legen Sie fest, welche Mitarbeiter über diesen im Organigramm steht. Ist die Einstellung leer, wir" class="far fa-question-circle"></i></small></p>
|
||||
<h5>Übergeordneter Mitarbeiter <small><i data-toggle="tooltip" data-placement="top" title="Legen Sie fest, welche Mitarbeiter über diesen im Organigramm steht. Ist die Einstellung leer, wir" class="far fa-question-circle"></i></small></h5>
|
||||
<select name="usertoparent" id="usertoparent" class="select form-control col-4">
|
||||
<option value="">---------</option>
|
||||
{% for singleparent in usertoparent %}
|
||||
|
|
@ -126,7 +126,7 @@
|
|||
</select>
|
||||
</div>
|
||||
<hr>
|
||||
<p>Persönliches Profil</p>
|
||||
<h5>Persönliches Profil</h5>
|
||||
{% csrf_token %}
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
|
|
@ -165,7 +165,7 @@
|
|||
{% csrf_token %}
|
||||
<input type="hidden" name="form_type" value="contract">
|
||||
|
||||
<p>Arbeitszeiten <small><i data-toggle="tooltip" data-placement="top" title="Legen Sie fest, an welchen Tagen dieser Mitarbeiter wie viele Stunden arbeitet." class="far fa-question-circle"></i></small></p>
|
||||
<h5>Arbeitszeiten <small><i data-toggle="tooltip" data-placement="top" title="Legen Sie fest, an welchen Tagen dieser Mitarbeiter wie viele Stunden arbeitet." class="far fa-question-circle"></i></small></h5>
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
<tr>
|
||||
|
|
@ -180,16 +180,21 @@
|
|||
<hr style="margin-top: -20px;">
|
||||
<div class="col-12" >
|
||||
<div class="col-4" style="margin-left: -10px;">
|
||||
<p>Urlaub <small><i data-toggle="tooltip" data-placement="top" title="Legen Sie fest, wie viel Urlaub dieser Mitarbeiter im Jahr hat." class="far fa-question-circle"></i></small></p>
|
||||
{{usertime_form.media}}
|
||||
{{usertime_form.startdate|as_crispy_field}}
|
||||
{{usertime_form.loose_holidedate|as_crispy_field}}
|
||||
</div>
|
||||
<hr>
|
||||
<p>Jahresübersicht <small><i data-toggle="tooltip" data-placement="top" title="Hier sehen Sie die aktuelle Jahresübersicht des Mitarbeiters. Beachten Sie das Format beim manuellen anpassen: XX,0 oder XX,5!" class="far fa-question-circle"></i></small>
|
||||
<h5 class="mt-1">Urlaub <small><i data-toggle="tooltip" data-placement="top" title="Legen Sie fest, wie viel Urlaub dieser Mitarbeiter im Jahr hat." class="far fa-question-circle"></i></small></h5>
|
||||
</div>
|
||||
{{usertime_form.media}}
|
||||
<div class="row col-12">
|
||||
<div class="col-5">
|
||||
{{usertime_form.startdate|as_crispy_field}}
|
||||
</div>
|
||||
<div class="col-5">
|
||||
{{usertime_form.loose_holidedate|as_crispy_field}}
|
||||
</div>
|
||||
</div>
|
||||
<h5 class="mt-2 mb-1">Urlaub Jahresübersicht <small><i data-toggle="tooltip" data-placement="top" title="Hier sehen Sie die aktuelle Jahresübersicht des Mitarbeiters. Beachten Sie das Format beim manuellen anpassen: XX,0 oder XX,5!" class="far fa-question-circle"></i></small>
|
||||
<button type="button" id="changeHolidayData" style="float: right" class="btn btn-secondary btn-sm" onclick="javascript:loadUpdateTableHolidays()" data-toggle="tooltip" data-placement="top" title="Passen Sie die Urlaubstage und Resturlaubstage manuell an."><small><i class="fas fa-pen"></i></small></button>
|
||||
<button type="button" id="changeHolidayDataSave" style="float: right; display: none" class="btn btn-primary btn-sm" onclick="javascript:saveUpdateTableHolidays()" data-toggle="tooltip" data-placement="top" title="Urlaub- und Resttage speichern."><small><i class="fas fa-check"></i></small></button>
|
||||
</p>
|
||||
</h5>
|
||||
<div id="year_overview">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ def getAllForms(request, context):
|
|||
#Modulsettings ABWESENHEIT- UND ZEITERFASSUNG
|
||||
modsettings_tm = AgencyTimeManagement(instance=request.user.profile.agency)
|
||||
context.update({'modsettings_tm' : modsettings_tm})
|
||||
context.update({"modsettings_tm_abcat" : AbsenceReason.objects.filter(agency=request.user.profile.agency).order_by("-name") })
|
||||
context.update({"modsettings_tm_abcat" : AbsenceReason.objects.filter(agency=request.user.profile.agency).order_by("name") })
|
||||
|
||||
|
||||
# USER FOR USERTABLE
|
||||
|
|
@ -642,6 +642,7 @@ def SettingsAjaxRouter(request):
|
|||
else:
|
||||
data = {"userfullname" : tempuser.first_name + " " + tempuser.last_name}
|
||||
success = False
|
||||
# UPDATE FREEDAYS
|
||||
elif request.method == 'GET' and request.GET['action'] == "initloadfreedays" :
|
||||
if(request.user.has_perm('users.modulesconfig')):
|
||||
temp_freedays = FreeDays.objects.filter(agency=request.user.profile.agency)
|
||||
|
|
@ -687,8 +688,6 @@ def SettingsAjaxRouter(request):
|
|||
ele_id = ele_elements[0].split("_")[3]
|
||||
ele_type = ele_elements[0].split("_")[2]
|
||||
temp_year = UserYearAbsenceInfo.objects.get(pk=ele_id, agency=request.user.profile.agency)
|
||||
# TODO: Hier checken, warum das nicht so geil geht ;)
|
||||
#if(re.match(r"^([1-9]{1}|0[0-9]{1}|1[0-9]{1}|2[0-9]{1}|3[0-9]{1}|4[0-9]{1}).([0]{1}|[5]{1})$", ele_elements[1])):
|
||||
if(ele_type == "nor"):
|
||||
temp_year.days = ele_elements[1]
|
||||
elif(ele_type == "rest"):
|
||||
|
|
@ -786,8 +785,8 @@ def UserProfileUpdate(request, pk, newuser=0):
|
|||
|
||||
formtosave = UserTimeForm(request.POST, instance=UserTime.objects.get(user=usertochange))
|
||||
if(formtosave.is_valid()):
|
||||
# CHECK IF HOLIDAYS_LOOSE IS CORRECT
|
||||
if(not re.match(r"^([1-9]{1}|0[1-9]{1}|1[0-9]{1}|2[0-9]{1}|3[0-1]{1}).(1[0-2]|0[1-9]|[1-9])$", formtosave.cleaned_data["loose_holidedate"])):
|
||||
# CHECK IF HOLIDAYS_LOOSE IS CORRECT
|
||||
if(not re.match(r"^([1-9]{1}|0[0-9]{1}|1[0-9]{1}|2[0-9]{1}|3[0-1]{1}).([1-9]{1}|0[0-9]{1}|1[0-2]{1}).$", formtosave.cleaned_data["loose_holidedate"])):
|
||||
messages.success(request, f'Fehlerhafte Eingabe!')
|
||||
context = {
|
||||
'active_link' : 'dasettings',
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -15,35 +15,37 @@ from datetime import datetime, timedelta
|
|||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
|
||||
############################################## DEV #####################################
|
||||
BASE_URL = "https://dev01.digitale-agentur.com/"
|
||||
############################################## LOCAL #####################################
|
||||
BASE_URL = "http://localhost:8000/"
|
||||
CRONAPIKEY = "gCddsaz6NOnE9QbXZM5LasdEk122D"
|
||||
MAILINFOKEY = "jka7sd8iukashdna78skduJAHDsu6dilaksdjba65a68iadbhjak"
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = True
|
||||
|
||||
# MAIL DEV
|
||||
EMAIL_HOST = 'smtp.strato.de'
|
||||
EMAIL_PORT = 587
|
||||
EMAIL_USE_TLS = True
|
||||
EMAIL_HOST_USER = "support@dev01.digitale-agentur.com"
|
||||
EMAIL_HOST_PASSWORD = "n2xd7emyKZFb6UREzvbintuUIG"
|
||||
DEFAULT_FROM_EMAIL = "support@dev01.digitale-agentur.com"
|
||||
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
|
||||
# DEV
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.mysql',
|
||||
'NAME' : 'digitaleagentur_dev01',
|
||||
'USER' : 'digitaleagentur_dev01',
|
||||
'PASSWORD' : 't3TvtGAOkFHYXdJlUMIu9u3U',
|
||||
'NAME' : 'digitaleagentur',
|
||||
'USER' : 'root',
|
||||
'PASSWORD' : '',
|
||||
'PORT' : 3306
|
||||
}
|
||||
}
|
||||
|
||||
# MAIL DEV
|
||||
EMAIL_HOST = 'gymhum.de'
|
||||
EMAIL_PORT = 587
|
||||
EMAIL_USE_TLS = True
|
||||
EMAIL_HOST_USER = "holger.trampe"
|
||||
EMAIL_HOST_PASSWORD = "Motte2016_!"
|
||||
DEFAULT_FROM_EMAIL = "holger.trampe@gymhum.de"
|
||||
|
||||
# REDIS
|
||||
REDIS_URL = ("localhost", 6379)
|
||||
############################################## DEV #####################################
|
||||
################################################### LOCAL ###############################
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -95,7 +95,35 @@
|
|||
</div>
|
||||
<div class="modal-body">
|
||||
<div id="restholidays_container">
|
||||
<h5>Verbleibender Urlaub <span id="holidayyear"></span>: <b style="color: red;"><span id="restholidays">Lade...</span> Tage</b> <button class="btn btn-secondary btn-sm" style="float: right;" onclick="javascript:$('#holiday_detail_div').toggle()"><i class="fas fa-eye" id="show_detailview"></i></button></h5>
|
||||
<h5><b style="color: red"><span id="detail_tocontract"></span> Tage / <span id="restholidays"></span> verbleibend im Jahr <span id="holidayyear"></span></b>
|
||||
<button class="btn btn-secondary btn-sm" style="float: right;" onclick="javascript:$('#holiday_detail_div').toggle()"><i class="fas fa-eye" id="show_detailview"></i></button></h5>
|
||||
<h5><b style="color: red"><span id="detail_tocontract"></span> Tage / <span id="restholidays"></span> verbleibend im Jahr <span id="holidayyear"></span></b> </h5>
|
||||
<div id="holiday_detail_div" style="display: none">
|
||||
<hr>
|
||||
<div class="col-6" style="margin-left: -10px">
|
||||
<h6>Detailansicht</h6>
|
||||
<table class="table table-sm">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Gewünschte Tage</td>
|
||||
<td><span id="detail_tocontract"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Resturlaub</td>
|
||||
<td><span id="detail_rest"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Urlaub nächstes Jahr</td>
|
||||
<td><span id="detail_next"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Summe Urlaubstage</b></td>
|
||||
<td><b><span id="detail_sum"></span></b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--<h5>Verbleibender Urlaub <span id="holidayyear"></span>: <b style="color: red;"><span id="restholidays">Lade...</span> Tage</b> <button class="btn btn-secondary btn-sm" style="float: right;" onclick="javascript:$('#holiday_detail_div').toggle()"><i class="fas fa-eye" id="show_detailview"></i></button></h5>
|
||||
<div id="holiday_detail_div" style="display: none">
|
||||
<hr>
|
||||
<div class="col-6" style="margin-left: -10px">
|
||||
|
|
@ -119,8 +147,7 @@
|
|||
<td><b><span id="detail_sum"></span></b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</table>-->
|
||||
</div>
|
||||
<!--
|
||||
# TODO: Abwesenheiten - Meine Abwesenheiten, Übersicht über aktuelle Tage, Resturlaub in Jahren usw.
|
||||
|
|
@ -458,7 +485,7 @@ $('#absencetabs a').on('click', function (e) {
|
|||
data: {
|
||||
labels: ['Kontigent', 'Genutzt'],
|
||||
datasets: [{
|
||||
backgroundColor: ['#5a5c69','#ff304f'],
|
||||
backgroundColor: ['green','#ff304f'],
|
||||
data: [{{kontingent}}, {{inuse}}]
|
||||
}]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@ class UserTime(models.Model):
|
|||
wd_we = models.FloatField(default=8.0)
|
||||
wd_th = models.FloatField(default=8.0)
|
||||
wd_fr = models.FloatField(default=8.0)
|
||||
loose_holidedate = models.CharField(default="30.04", max_length=5)
|
||||
loose_holidedate = models.CharField(default="30.04.", max_length=6)
|
||||
startdate = models.DateField(default=None, blank=True, null=True)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -62,18 +62,22 @@ def checkDefaultAbsenceReasons(sender, user, request, **kwargs):
|
|||
user.save()
|
||||
ar = AbsenceReason.objects.filter(agency=user.profile.agency)
|
||||
if(len(ar) == 0):
|
||||
new_ar_holidays = AbsenceReason(agency=user.profile.agency, name="Urlaub", need_confirm=True, need_rep=True, is_holiday=True)
|
||||
new_ar_holidays = AbsenceReason(agency=user.profile.agency, name="Urlaub", color="#0099BC", need_confirm=True, need_rep=True, is_holiday=True)
|
||||
new_ar_holidays.save()
|
||||
|
||||
new_ar_specialholidays = AbsenceReason(agency=user.profile.agency, name="Sonderurlaub", need_confirm=True, need_rep=True, is_holiday=False)
|
||||
new_ar_specialholidays = AbsenceReason(agency=user.profile.agency, name="Sonderurlaub", need_confirm=True, need_rep=True, is_holiday=False, color="#F39C12")
|
||||
new_ar_specialholidays.save()
|
||||
|
||||
new_ar_ill = AbsenceReason(agency=user.profile.agency, name="Krankheit", need_confirm=False, need_rep=False, is_holiday=False)
|
||||
new_ar_ill = AbsenceReason(agency=user.profile.agency, name="Krankheit", color="#E74C3C", need_confirm=False, need_rep=False, is_holiday=False)
|
||||
new_ar_ill.save()
|
||||
|
||||
new_ar_school = AbsenceReason(agency=user.profile.agency, name="Berufsschule", need_confirm=False, need_rep=False, is_holiday=False)
|
||||
new_ar_school = AbsenceReason(agency=user.profile.agency, name="Berufsschule", color="#16A085", need_confirm=False, need_rep=False, is_holiday=False)
|
||||
new_ar_school.save()
|
||||
|
||||
new_ar_education = AbsenceReason(agency=user.profile.agency, name="Fortbildung", color="#2ECC71", need_confirm=True, need_rep=True, is_holiday=False)
|
||||
new_ar_education.save()
|
||||
|
||||
|
||||
today = date.today()
|
||||
|
||||
# FREEDAYS LADEN
|
||||
|
|
|
|||
Loading…
Reference in New Issue