Bereuch 9 fertig, 7 und 8 gibt es fragen

This commit is contained in:
holger.trampe 2020-10-06 21:17:40 +02:00
parent 8486081a84
commit 76c9b658f0
13 changed files with 398 additions and 9 deletions

View File

@ -182,7 +182,18 @@ class OnlineBankF(forms.ModelForm):
super(OnlineBankF, self).__init__(*args, **kwargs)
self.fields['web_password'] = forms.CharField(widget=forms.PasswordInput, label="Passwort", required=False)
self.fields['area'] = forms.CharField(initial="", required=False, widget=forms.HiddenInput())
# RDELSE
class RDElseF(forms.ModelForm):
class Meta:
model = RDElse
fields = ['name','desc']
labels = {
'name' : "Name/Titel/Info",
'desc' : "Beschreibung/Informationen etc."
}
# Vertrauensperson
class RDTrustPersonF(forms.ModelForm):

View File

@ -173,8 +173,11 @@ class Personal(models.Model):
history = HistoricalRecords()
class RDElse(models.Model):
agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True)
name = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
desc = encrypt(models.CharField(max_length=10000, blank=True, default="", null=True))
history = HistoricalRecords()

View File

@ -35,7 +35,7 @@
</tr>
</thead>
<tbody >
{% for doc in area_5_doc %}
{% for doc in area_6_doc %}
<tr>
<td><a href="{% url 'rd-a1-viewdoc' doc.pk %}" target="_blank">{{doc.document_name}}</a></td>
<td>{{doc.document_date|date:"d.m.Y"|default:""}}</td>

View File

@ -1 +1,54 @@
SIEBTE
<h4>Dokumente
<a class="btn btn-primary btn-sm btn mb-3" href="{% url 'rd-a1-adddoc' 7 %}" style="float: right;"><i class="fas fa-plus"></i>&nbsp;Dokument</a>
</h4>
<table class="table table-hover" id="a7_docs" >
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Datum</th>
<th scope="col">Beschreibung</th>
<th scope="col">&nbsp;</th>
</tr>
</thead>
<tbody >
{% for doc in area_7_doc %}
<tr>
<td><a href="{% url 'rd-a1-viewdoc' doc.pk %}" target="_blank">{{doc.document_name}}</a></td>
<td>{{doc.document_date|date:"d.m.Y"|default:""}}</td>
<td>{{doc.document_desc|default:""}}</td>
<td>
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a1-viewdoc' doc.pk %}"><i class="far fa-eye"></i></a>&nbsp;
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a1-updatedoc' doc.pk %}"><small><i class="fas fa-pen"></i></small></a>&nbsp;
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a1-deldoc' doc.pk %}"><small><i class="fas fa-trash"></i></small></a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<script type="text/javascript">
$(document).ready(function(){
$('#a7_docs').DataTable({
"language": {
"search" : "Suche",
"info": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen",
"lengthMenu": "Zeige _MENU_ Einträge",
"zeroRecords": "Nichts gefunden",
"infoEmpty": "Keine Einträge",
"paginate": {
"first": "Erste",
"last": "Letzte",
"next": "Nächste",
"previous": "Zurück"
},
},
"pageLength": 50,
"buttons" : {
"className" : "btn-danger"
}
});
});
</script>

View File

@ -1 +1,54 @@
ACHTE
<h4>Dokumente
<a class="btn btn-primary btn-sm btn mb-3" href="{% url 'rd-a1-adddoc' 8 %}" style="float: right;"><i class="fas fa-plus"></i>&nbsp;Dokument</a>
</h4>
<table class="table table-hover" id="a8_docs" >
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Datum</th>
<th scope="col">Beschreibung</th>
<th scope="col">&nbsp;</th>
</tr>
</thead>
<tbody >
{% for doc in area_8_doc %}
<tr>
<td><a href="{% url 'rd-a1-viewdoc' doc.pk %}" target="_blank">{{doc.document_name}}</a></td>
<td>{{doc.document_date|date:"d.m.Y"|default:""}}</td>
<td>{{doc.document_desc|default:""}}</td>
<td>
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a1-viewdoc' doc.pk %}"><i class="far fa-eye"></i></a>&nbsp;
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a1-updatedoc' doc.pk %}"><small><i class="fas fa-pen"></i></small></a>&nbsp;
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a1-deldoc' doc.pk %}"><small><i class="fas fa-trash"></i></small></a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<script type="text/javascript">
$(document).ready(function(){
$('#a8_docs').DataTable({
"language": {
"search" : "Suche",
"info": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen",
"lengthMenu": "Zeige _MENU_ Einträge",
"zeroRecords": "Nichts gefunden",
"infoEmpty": "Keine Einträge",
"paginate": {
"first": "Erste",
"last": "Letzte",
"next": "Nächste",
"previous": "Zurück"
},
},
"pageLength": 50,
"buttons" : {
"className" : "btn-danger"
}
});
});
</script>

View File

@ -1 +1,101 @@
NEUNTE
<h4>Sonstige Datenelemente
<a class="btn btn-primary btn mb-3 btn-sm " href="{% url 'rd-a9-addelse'%}" style="float: right;"><i class="fas fa-plus"></i>&nbsp;Information</a>
</h4>
<table class="table table-hover" id="area_6_else" >
<thead>
<tr>
<th scope="col">Name/Titel etc.</th>
<th scope="col">Beschreibung</th>
<th scope="col">&nbsp;</th>
</tr>
</thead>
<tbody >
{% for ele in area_9_else %}
<tr>
<td><a href="{% url 'rd-a9-viewelse' ele.pk %}">{{ele.name}}</a></td>
<td>{{ele.desc}}</td>
<td>
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a9-viewelse' ele.pk %}"><i class="far fa-eye"></i></a>&nbsp;
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a9-updateelse' ele.pk %}"><small><i class="fas fa-pen"></i></small></a>&nbsp;
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a9-delelse' ele.pk %}"><small><i class="fas fa-trash"></i></small></a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<hr>
<h4>Dokumente
<a class="btn btn-primary btn-sm btn mb-3" href="{% url 'rd-a1-adddoc' 9 %}" style="float: right;"><i class="fas fa-plus"></i>&nbsp;Dokument</a>
</h4>
<table class="table table-hover" id="a9_docs" >
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Datum</th>
<th scope="col">Beschreibung</th>
<th scope="col">&nbsp;</th>
</tr>
</thead>
<tbody >
{% for doc in area_9_doc %}
<tr>
<td><a href="{% url 'rd-a1-viewdoc' doc.pk %}" target="_blank">{{doc.document_name}}</a></td>
<td>{{doc.document_date|date:"d.m.Y"|default:""}}</td>
<td>{{doc.document_desc|default:""}}</td>
<td>
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a1-viewdoc' doc.pk %}"><i class="far fa-eye"></i></a>&nbsp;
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a1-updatedoc' doc.pk %}"><small><i class="fas fa-pen"></i></small></a>&nbsp;
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a1-deldoc' doc.pk %}"><small><i class="fas fa-trash"></i></small></a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<script type="text/javascript">
$(document).ready(function(){
$('#a9_docs').DataTable({
"language": {
"search" : "Suche",
"info": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen",
"lengthMenu": "Zeige _MENU_ Einträge",
"zeroRecords": "Nichts gefunden",
"infoEmpty": "Keine Einträge",
"paginate": {
"first": "Erste",
"last": "Letzte",
"next": "Nächste",
"previous": "Zurück"
},
},
"pageLength": 50,
"buttons" : {
"className" : "btn-danger"
}
});
$('#area_6_else').DataTable({
"language": {
"search" : "Suche",
"info": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen",
"lengthMenu": "Zeige _MENU_ Einträge",
"zeroRecords": "Nichts gefunden",
"infoEmpty": "Keine Einträge",
"paginate": {
"first": "Erste",
"last": "Letzte",
"next": "Nächste",
"previous": "Zurück"
},
},
"pageLength": 50,
"buttons" : {
"className" : "btn-danger"
}
});
});
</script>

View File

@ -0,0 +1,20 @@
{% extends "users/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
{% if request.user.profile.agency.module_recoverdir %}
<div class="content-section col-9">
<h3>Sonstige Information bearbeiten</h3>
<hr>
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{form.media}}
{{form|crispy}}
<hr>
<a class="btn" href="{% url 'recoverdir' %} ">Abbrechen</a>
<button type="submit" class="btn btn-primary" style="float: right;">Information speichern</button>&nbsp;
</form>
</div>
{% else %}
<h3>Das Modul Notfallhilfe wurden in ihrer Agentur deaktiviert.</h3>
{% endif %}
{% endblock content %}

View File

@ -0,0 +1,20 @@
{% extends "users/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
{% if request.user.profile.agency.module_recoverdir %}
<div class="content-section col-9">
<h3>Datenelement unter Sonstiges löschen</h3>
<hr>
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form|crispy }}
Möchten Sie die Information <i>{{ele.name}}</i> wirklich endgültig löschen?
<hr>
<a class="btn" href="{% url 'recoverdir' %} ">Abbrechen</a>
<button type="submit" class="btn btn-primary" style="float: right;">Information endgültig löschen</button>&nbsp;
</form>
</div>
{% else %}
<h3>Das Modul Notfallhilfe wurden in ihrer Agentur deaktiviert.</h3>
{% endif %}
{% endblock content %}

View File

@ -0,0 +1,27 @@
{% extends "users/base.html" %}
{% block content %}
{% if request.user.profile.agency.module_recoverdir %}
<div class="content-section col-12">
<h3>Sonstiges Datenelement {% if history == True %} - Version vom {{else.history_date|date:"d.m.Y"}}{% endif %}
<span style="float: right">
<a href="{% url 'recoverdir'%}" style="float: right" class="btn btn-secondary btn-sm "><small><i class="fas fa-chevron-circle-left"></i></small></a>
</span>
</h3>
<hr>
<h4>Informationen</h4>
<table>
<tr>
<td>Name</td>
<td>{{else.name|default:""}}</td>
</tr>
<tr>
<td>Beschreibung:</td>
<td>{{else.desc|default:""}}</td>
</tr>
</table>
<hr>
</div>
{% else %}
<h3>Auf dieses Modul haben Sie keinen Zugriff!</h3>
{% endif %}
{% endblock content %}

View File

@ -83,6 +83,19 @@ urlpatterns = [
path('five/personal/del/<int:pk>', permission_required('users.recoverdirmanager')(RDAfiveDelpersonal.as_view()), name='rd-a5-delpersonal'),
path('five/personal/update/<int:pk>', permission_required('users.recoverdirmanager')(RDAfiveUpdatepersonal.as_view()), name='rd-a5-updatepersonal'),
# Bereich 6 übernimmt Datenfelder aus Bereich 2
# Bereich 7 TASK: Hier weiter
# Bereich 8 TASK: Hier weiter
# Bereich 9
path('nine/else/add', permission_required('users.recoverdirmanager')(RDAnineAddelse.as_view()), name='rd-a9-addelse'),
path('nine/else/<int:pk>', permission_required('users.recoverdirmanager')(RDAnineViewelse.as_view()), name='rd-a9-viewelse'),
path('nine/else/del/<int:pk>', permission_required('users.recoverdirmanager')(RDAnineDelelse.as_view()), name='rd-a9-delelse'),
path('nine/else/update/<int:pk>', permission_required('users.recoverdirmanager')(RDAnineUpdateelse.as_view()), name='rd-a9-updateelse'),
# HISTORY VIEWS
# Persönliches Schreiben
path('pl/ver/<int:pk>/<int:rev>', permission_required('users.recoverdirmanager')(PLSingleHistory.as_view()), name='recoverdir-plsingle'),
@ -109,6 +122,8 @@ urlpatterns = [
# Personal Intern/Extern
path('personal/ver/<int:pk>/<int:rev>', permission_required('users.recoverdirmanager')(PersonalSingleHistory.as_view()), name='recoverdir-personalhistory-single'),
# ELSE
path('else/ver/<int:pk>/<int:rev>', permission_required('users.recoverdirmanager')(ElseSingleHistory.as_view()), name='recoverdir-elsehistory-single'),
]

View File

@ -53,10 +53,12 @@ class RecoverDirManagement(LoginRequiredMixin, ListView):
personal = Personal.objects.filter(agency=self.request.user.profile.agency)
context.update({"area_5_personal" : personal})
elseele = RDElse.objects.filter(agency=self.request.user.profile.agency)
context.update({"area_9_else" : elseele})
handlungsleitfadenvf = HandlungsleitfadenVF.objects.filter(agency=self.request.user.profile.agency)
finalupdatelist = chain(persletters, handlungsleitfaden, contactfc, contactstrust, handlungsleitfadenvf, depistvollmacht, ergodigi, onlinebank, streamingabo, digitalaccount, personal, onlinebank6)
finalupdatelist = chain(persletters, handlungsleitfaden, contactfc, contactstrust, handlungsleitfadenvf, depistvollmacht, ergodigi, onlinebank, streamingabo, digitalaccount, personal, onlinebank6, elseele)
context.update({"history" : finalupdatelist})
# DOCUMENTS NOT WORKING Weil das "alte" nicht gespeichert wird sondern lediglich der Datensatz
@ -104,8 +106,16 @@ class RecoverDirManagement(LoginRequiredMixin, ListView):
context.update({'area_5_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=5).order_by('-document_date')})
# A6
context.update({'area_6_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=5).order_by('-document_date')})
context.update({'area_6_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=6).order_by('-document_date')})
# A7
context.update({'area_7_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=7).order_by('-document_date')})
# A8
context.update({'area_8_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=8).order_by('-document_date')})
# A9
context.update({'area_9_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=9).order_by('-document_date')})
return context
@ -709,6 +719,56 @@ class RDAfiveUpdatepersonal(UpdateView):
context.update({'active_link' : 'recoverdir'})
return context
# RDElse
class RDAnineViewelse(DetailView):
model = RDElse
success_url = reverse_lazy('recoverdir')
template_name = 'recoverdir/rd_elements_forms/rd_area_9_else_single.html'
context_object_name = 'else'
class RDAnineDelelse(DeleteView):
model = RDElse
success_url = reverse_lazy('recoverdir')
template_name = 'recoverdir/rd_elements_forms/rd_area_9_else_del.html'
context_object_name = 'ele'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context.update({'active_link' : 'recoverdir'})
return context
class RDAnineAddelse(CreateView):
model = RDElse
success_url = reverse_lazy('recoverdir')
form_class = RDElseF
template_name = "recoverdir/rd_elements_forms/rd_area_9_addelse.html"
def form_valid(self, form):
form.instance.agency = self.request.user.profile.agency
return super().form_valid(form)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context.update({'active_link' : 'recoverdir'})
return context
class RDAnineUpdateelse(UpdateView):
model = RDElse
success_url = reverse_lazy('recoverdir')
form_class = RDElseF
template_name = "recoverdir/rd_elements_forms/rd_area_9_addelse.html"
def form_valid(self, form):
form.instance.agency = self.request.user.profile.agency
return super().form_valid(form)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context.update({'active_link' : 'recoverdir'})
return context
################################################## HISTORY ELEMENT VIEW ##########################################
@ -991,3 +1051,26 @@ class PersonalSingleHistory(DetailView):
return context
# ELSE
class ElseSingleHistory(DetailView):
model = RDElse
template_name = 'recoverdir/rd_elements_forms/rd_area_9_else_single.html'
# Gewünschte Revision aufrufen
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context.update({'active_link' : 'recoverdir'})
historyelements = RDElse.objects.get(pk=self.kwargs['pk']).history.all()
shown_element = None
for he in historyelements:
if he.pk == self.kwargs["rev"]:
shown_element = he
context.update({
'ele' : shown_element,
'history' : True
})
return context

View File

@ -798,6 +798,10 @@ def getHistoryClassOfObject(value):
elif(objectClass == 'HistoricalPersonal'):
finalclass[0] = "Personal und Partner"
finalclass[1] = 11
# ELSE
elif(objectClass == 'HistoricalElse'):
finalclass[0] = "Sonstiges"
finalclass[1] = 20
return finalclass