This commit is contained in:
Holger Trampe 2020-08-14 10:46:16 +02:00
parent e107a2cf7a
commit afc9c27a06
33 changed files with 345 additions and 344 deletions

View File

@ -15,7 +15,7 @@ from django.template.loader import render_to_string
from users.usersforms import UsersPermForm from users.usersforms import UsersPermForm
from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import CreateView from django.views.generic import CreateView
from users.models import Profile from users.models import Profile, UserNotifications, UserTime
from areas.models import Areas from areas.models import Areas
from tasks.models import Tasks from tasks.models import Tasks
import webcolors import webcolors
@ -1095,30 +1095,33 @@ def UserChangeMain(request, pk):
# Method for first User-Creation-Step # Method for first User-Creation-Step
@login_required @login_required
def NewUserFirstStep(request): def NewUserFirstStep(request):
context = { context = {
'active_link' : 'dasettings' 'active_link' : 'dasettings'
} }
if request.method == 'POST': if request.method == 'POST':
newuserform = UserNewUserForm(request.POST) newuserform = UserNewUserForm(request.POST)
if newuserform.is_valid(): if newuserform.is_valid():
if(request.POST.get("sendmailnewuser")): if(request.POST.get("sendmailnewuser")):
msg_html = render_to_string('users/register_mail.html', {'username': newuserform.cleaned_data.get('first_name') + " " + newuserform.cleaned_data.get('last_name')}) msg_html = render_to_string('users/register_mail.html', {'username': newuserform.cleaned_data.get('first_name') + " " + newuserform.cleaned_data.get('last_name')})
send_mail( send_mail(request.user.profile.agency.name + ' Account', 'Hallo ' + newuserform.cleaned_data.get('first_name') + ' ' + newuserform.cleaned_data.get('last_name') + '! Bitte setzen sie sich auf https://digitale-agentur.com/password-reset/ ein Passwort.','noreply@digitale-agentur.com',[newuserform.cleaned_data.get('email')],html_message=msg_html,fail_silently=True)
request.user.profile.agency.name + ' Account',
'Hallo ' + newuserform.cleaned_data.get('first_name') + ' ' + newuserform.cleaned_data.get('last_name') + '! Bitte setzen sie sich auf https://digitale-agentur.com/password-reset/ ein Passwort.',
'noreply@digitale-agentur.com',
[newuserform.cleaned_data.get('email')],
html_message=msg_html,
fail_silently=True,
)
newuser = newuserform.save(commit=False) newuser = newuserform.save(commit=False)
newuser.username = newuser.email newuser.username = newuser.email
newprofile = Profile(agency=request.user.profile.agency, parent=None) newprofile = Profile(agency=request.user.profile.agency, parent=None)
newprofile.save() newprofile.save()
newuser.profile = newprofile newuser.profile = newprofile
newuser.save() newuser.save()
# USERTIME
user_time = UserTime(user=newuser)
user_time.save()
# USER NOTIFICATIONS
user_notifications = UserNotifications(user=newuser)
user_notifications.save()
newuser.usernotifications = user_notifications
newuser.usertime = user_time
newuser_id = newuser.id newuser_id = newuser.id
messages.success(request, f'Benutzer angelegt!') messages.success(request, f'Benutzer angelegt!')
today = date.today() today = date.today()
@ -1139,7 +1142,6 @@ def NewUserFirstStep(request):
else: else:
newuserform = UserNewUserForm() newuserform = UserNewUserForm()
context.update({'newuserform' : newuserform}) context.update({'newuserform' : newuserform})
return render(request, 'dasettings/user_newuser_step1.html', context) return render(request, 'dasettings/user_newuser_step1.html', context)

View File

@ -19,7 +19,7 @@ class News(models.Model):
go_online_on = models.DateTimeField(default=timezone.now, blank=True) go_online_on = models.DateTimeField(default=timezone.now, blank=True)
# Default date plus two weeks # Default date plus two weeks
go_offline_on = models.DateTimeField(default=timezone.now()+timedelta(days=14), blank=True) go_offline_on = models.DateTimeField(default=timezone.now()+timedelta(days=14), blank=True, null=True)
last_modified_by = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, related_name='news_mod_by', default=None) last_modified_by = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, related_name='news_mod_by', default=None)
last_modified_on = models.DateTimeField(default=timezone.now, blank=True) last_modified_on = models.DateTimeField(default=timezone.now, blank=True)

Binary file not shown.

Binary file not shown.

View File

@ -427,15 +427,16 @@ def isfreedayname(user, daytocheck):
# RETURN ALL ABSENCE ELEMENTS FOR THAT DAY # RETURN ALL ABSENCE ELEMENTS FOR THAT DAY
@register.simple_tag @register.simple_tag
def getabscenceday(loggeduser, user, daytocheck): def getabscenceday(loggeduser, user, daytocheck):
returnstat = False returnstat = False
if(loggeduser.has_perm("users.absencemanager")): if(loggeduser.has_perm("users.absencemanager")):
absencedays = Absence.objects.filter(confirm_status=0, agency=user.profile.agency, user=user, start=daytocheck) | (Absence.objects.filter(confirm_status=0, agency=user.profile.agency, user=user, start__lt=daytocheck) & Absence.objects.filter(confirm_status=0, agency=user.profile.agency, user=user, end__gt=daytocheck)) | Absence.objects.filter(confirm_status=0, agency=user.profile.agency, user=user, end=daytocheck) absencedays = Absence.objects.filter(confirm_status=0, agency=user.profile.agency, user=user, start=daytocheck) | (Absence.objects.filter(confirm_status=0, agency=user.profile.agency, user=user, start__lt=daytocheck) & Absence.objects.filter(confirm_status=0, agency=user.profile.agency, user=user, end__gt=daytocheck)) | Absence.objects.filter(confirm_status=0, agency=user.profile.agency, user=user, end=daytocheck)
else: else:
absencedays = (Absence.objects.filter(agency=user.profile.agency, user=loggeduser, confirm_status=1) | Absence.objects.filter(agency=user.profile.agency, user=user, confirm_status=0)) & (Absence.objects.filter(agency=user.profile.agency, user=user, start=daytocheck) | (Absence.objects.filter(agency=user.profile.agency, user=user, start__lt=daytocheck, confirm_status=0) & Absence.objects.filter(agency=user.profile.agency, user=user, end__gt=daytocheck)) | Absence.objects.filter(agency=user.profile.agency, user=user, end=daytocheck, confirm_status=0) ) absencedays = (Absence.objects.filter(agency=user.profile.agency, user=loggeduser, confirm_status=1) | Absence.objects.filter(agency=user.profile.agency, user=user, confirm_status=0)) & (Absence.objects.filter(agency=user.profile.agency, user=user, start=daytocheck) | (Absence.objects.filter(agency=user.profile.agency, user=user, start__lt=daytocheck, confirm_status=0) & Absence.objects.filter(agency=user.profile.agency, user=user, end__gt=daytocheck)) | Absence.objects.filter(agency=user.profile.agency, user=user, end=daytocheck, confirm_status=0)) | ((Absence.objects.filter(agency=user.profile.agency, user=user, start__lt=daytocheck, confirm_status=1) & Absence.objects.filter(agency=user.profile.agency, user=user, end__gt=daytocheck)) | Absence.objects.filter(agency=user.profile.agency, user=user, end=daytocheck, confirm_status=1))
if(len(absencedays) > 0): if(len(absencedays) > 0):
returnstat = list(absencedays)[0] returnstat = list(absencedays)[0]
print(absencedays)
return returnstat return returnstat
@register.simple_tag @register.simple_tag

View File

@ -239,7 +239,7 @@
<div style="" class="sidebar-heading "> <div style="" class="sidebar-heading ">
<!--<span style="float: left"><small>poweder by&nbsp;</small><img src="{% static 'users/img/VVE-Logo.png' %}" width="27%" class="mb-2"></span>--> <!--<span style="float: left"><small>poweder by&nbsp;</small><img src="{% static 'users/img/VVE-Logo.png' %}" width="27%" class="mb-2"></span>-->
<img src="{% static 'users/img/VVE-Logo.png' %}" width="27%" class="mb-2"> <a href="https://www.myvve.de/" target="_blank"><img src="{% static 'users/img/VVE-Logo.png' %}" width="27%" class="mb-2"></a>
<br /> <br />
<a style="color: #999; text-decoration: none;" href="{% url 'datenschutzda' %}">Datenschutz</a><br /> <a style="color: #999; text-decoration: none;" href="{% url 'datenschutzda' %}">Datenschutz</a><br />
<a style="color: #999; text-decoration: none;" href="{% url 'impressumda' %}">Impressum</a> <a style="color: #999; text-decoration: none;" href="{% url 'impressumda' %}">Impressum</a>

View File

@ -129,8 +129,6 @@
</div> </div>
{% endfor %} {% endfor %}
{% for pass in res_pass %} {% for pass in res_pass %}
<div class="modal fade " id="infos_searchres_pass_{{pass.pk}}" tabindex="-1" role="dialog" data-backdrop="static" aria-hidden="true"> <div class="modal fade " id="infos_searchres_pass_{{pass.pk}}" tabindex="-1" role="dialog" data-backdrop="static" aria-hidden="true">
<div class="modal-dialog " role="document"> <div class="modal-dialog " role="document">
@ -159,7 +157,7 @@
{% if groupchecker %} {% if groupchecker %}
Name: <b>{{pass.name }}</b><br /> Name: <b>{{pass.name }}</b><br />
Benutzername: <b/>{{pass.agpass_username }}</b><br /> Benutzername: <b/>{{pass.agpass_username }}</b><br />
Passwort: <b/>{{pass.agpass_username }}</b><br /> Passwort: <b/>{{pass.compass }}</b><br />
{% else %} {% else %}
Sie dürfen keine Informationen dieses Passwortes einsehen. Sie dürfen keine Informationen dieses Passwortes einsehen.
{% endif %} {% endif %}