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

File diff suppressed because it is too large Load Diff

View File

@ -13,22 +13,22 @@ class News(models.Model):
name = models.CharField(max_length=200, blank=False, default="")
#content = RichTextUploadingField(blank=True, verbose_name='Inhalt')
content = models.TextField(blank=True, verbose_name='Inhalt', default="")
created_by = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
created_date = models.DateTimeField(default=timezone.now, blank=True)
go_online_on = models.DateTimeField(default=timezone.now, blank=True)
# 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_on = models.DateTimeField(default=timezone.now, blank=True)
agnotify = models.BooleanField(default=True)
def __str__(self):
return f'{self.name}'
# Hier Path für Templates des Models mit Parametern
def get_absolute_url(self):
return reverse('news-update', kwargs={'pk':self.pk})
return reverse('news-update', kwargs={'pk':self.pk})

View File

@ -16,8 +16,8 @@ class NewsManagement(LoginRequiredMixin, ListView):
# Adding active_link
# Loading only user same agency
# Change context and return for template-data
def get_context_data(self, **kwargs):
filterdate = timezone.now()
def get_context_data(self, **kwargs):
filterdate = timezone.now()
news = News.objects.filter(agency__pk=self.request.user.profile.agency.pk).filter(go_online_on__lt=filterdate).filter(go_offline_on__gt=filterdate).order_by('-created_date')
news_arch = News.objects.filter(agency__pk=self.request.user.profile.agency.pk).filter(go_offline_on__lt=filterdate).order_by('-created_date')
@ -28,7 +28,7 @@ class NewsManagement(LoginRequiredMixin, ListView):
return context
'''
class NewsAddNews(LoginRequiredMixin, CreateView):
model = News
model = News
fields = ['name', 'content','go_online_on', 'go_offline_on']
success_url = '/dashboard/news/'
'''
@ -37,18 +37,18 @@ def NewsAdd(request):
if request.method == 'POST':
normalForm = NewsAddNews(request.POST, instance=request.user)
#editorForm = NewsAddNewsEditor(request.POST, instance=request.user)
#if editorForm.is_valid() and normalForm.is_valid():
if normalForm.is_valid():
normalForm.agency = request.user.profile.agency
normalForm.created_by = request.user
normalForm.last_modified_by = request.user
normalForm.save()
#editorForm.save()
new_news = News()
#editorForm.save()
new_news = News()
new_news.agency = request.user.profile.agency
new_news.created_by = request.user
new_news.last_modified_by = request.user
new_news.created_date = datetime.now()
new_news.last_modified_on = datetime.now()
@ -57,15 +57,15 @@ def NewsAdd(request):
new_news.content = normalForm.cleaned_data['content']
new_news.go_online_on = normalForm.cleaned_data['go_online_on']
new_news.go_offline_on = normalForm.cleaned_data['go_offline_on']
new_news.save()
messages.success(request, f'News gespeichert!')
return redirect('users-dashboard')
messages.success(request, f'News gespeichert!')
return redirect('users-dashboard')
else:
normalForm = NewsAddNews(instance=request.user)
#editorForm = NewsAddNewsEditor(instance=request.user)
context = {
'normalForm' : normalForm,
@ -80,23 +80,23 @@ def NewsUpdate(request, id):
if request.method == 'POST':
normalForm = NewsAddNews(request.POST, instance=news)
#editorForm = NewsAddNewsEditor(request.POST, instance=news)
if normalForm.is_valid():
news = News.objects.get(pk=id, agency=request.user.profile.agency)
news = News.objects.get(pk=id, agency=request.user.profile.agency)
news.last_modified_by = request.user
news.last_modified_on = datetime.now()
news.go_online_on = normalForm.cleaned_data['go_online_on']
news.go_offline_on = normalForm.cleaned_data['go_offline_on']
news.name = normalForm.cleaned_data['name']
news.content = normalForm.cleaned_data['content']
news.content = normalForm.cleaned_data['content']
news.save()
messages.success(request, f'News aktualisiert!')
return redirect('/news')
messages.success(request, f'News aktualisiert!')
return redirect('/news')
else:
normalForm = NewsAddNews(instance=news)
#editorForm = NewsAddNewsEditor(instance=news)
context = {
'normalForm' : normalForm,
@ -109,20 +109,20 @@ def NewsUpdate(request, id):
class NewsDeleteView(LoginRequiredMixin, DeleteView):
model = News
success_url = '/news'
template_name = 'news/news_confirm_delete.html'
template_name = 'news/news_confirm_delete.html'
def get_context_data(self, **kwargs):
context = super(NewsDeleteView, self).get_context_data(**kwargs)
context = super(NewsDeleteView, self).get_context_data(**kwargs)
context['active_link'] = 'newsmanagement'
return context
@login_required
def NewsSingle(request, pk):
news = News.objects.get(pk=pk, agency=request.user.profile.agency)
news = News.objects.get(pk=pk, agency=request.user.profile.agency)
context = {
'active_link':'dashboard',
'news' : news
}
return render(request, 'news/news_single.html', context)
}
return render(request, 'news/news_single.html', context)

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
@register.simple_tag
def getabscenceday(loggeduser, user, daytocheck):
returnstat = False
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)
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):
returnstat = list(absencedays)[0]
print(absencedays)
return returnstat
@register.simple_tag

View File

@ -239,7 +239,7 @@
<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>-->
<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 />
<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>

View File

@ -84,7 +84,7 @@
<h4>Passwörter</h4>
{% if res_pass|length > 0 %}
{% for s in res_pass %}
<i class="fas fa-key"></i>&nbsp;&nbsp;<a onclick="javascript:$('#infos_searchres_pass_{{s.pk}}').modal('toggle');" href="#\"><b>{{s.name}}</b></a><br /><br />
<i class="fas fa-key"></i>&nbsp;&nbsp;<a onclick="javascript:$('#infos_searchres_pass_{{s.pk}}').modal('toggle');" href="#\"><b>{{s.name}}</b></a><br /><br />
{% endfor %}
{% else %}
<p>Keine Ergebnisse in Passwörtern</p>
@ -101,10 +101,10 @@
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="modal-body">
{% if agc.personname|length > 0 %}
Ansprechpartner: {{agc.personname}}<br/>
{% endif %}
{% endif %}
{% if agc.mail|length > 0 %}
E-Mailadresse: <a href="mailto:{{agc.mail}}">{{agc.mail}}</a><br />
{% endif %}
@ -121,7 +121,7 @@
Anmerkungen: {{agc.desc}}<br />
{% endif %}
</div>
<div class="modal-footer">
<div class="modal-footer">
<button type="button" class="btn btn-success" data-dismiss="modal">Schließen</button>
</div>
</div>
@ -129,8 +129,6 @@
</div>
{% endfor %}
{% 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-dialog " role="document">
@ -141,30 +139,30 @@
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="modal-body">
{% setbool False %}
{% for passgroup in pass.visibleby.all %}
{% if user|has_group:passgroup.group.name %}
{% if user|has_group:passgroup.group.name %}
{% setbool True %}
{% endif %}
{% endfor %}
{% endfor %}
{% if pass.visibleby.all|length == 0 %}
{% setbool True %}
{% setbool True %}
{% endif %}
{% getbool as groupchecker %}
{% if groupchecker %}
Name: <b>{{pass.name }}</b><br />
Benutzername: <b/>{{pass.agpass_username }}</b><br />
Passwort: <b/>{{pass.agpass_username }}</b><br />
Passwort: <b/>{{pass.compass }}</b><br />
{% else %}
Sie dürfen keine Informationen dieses Passwortes einsehen.
{% endif %}
</div>
<div class="modal-footer">
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">Schließen</button>
</div>
</div>