Bereuch 9 fertig, 7 und 8 gibt es fragen
This commit is contained in:
parent
8486081a84
commit
76c9b658f0
|
|
@ -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):
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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> 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"> </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>
|
||||
<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>
|
||||
<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>
|
||||
|
|
@ -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> 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"> </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>
|
||||
<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>
|
||||
<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>
|
||||
|
|
@ -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> 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"> </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>
|
||||
<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>
|
||||
<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> 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"> </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>
|
||||
<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>
|
||||
<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>
|
||||
|
|
@ -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>
|
||||
</form>
|
||||
</div>
|
||||
{% else %}
|
||||
<h3>Das Modul Notfallhilfe wurden in ihrer Agentur deaktiviert.</h3>
|
||||
{% endif %}
|
||||
{% endblock content %}
|
||||
|
|
@ -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>
|
||||
</form>
|
||||
</div>
|
||||
{% else %}
|
||||
<h3>Das Modul Notfallhilfe wurden in ihrer Agentur deaktiviert.</h3>
|
||||
{% endif %}
|
||||
{% endblock content %}
|
||||
|
|
@ -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 %}
|
||||
|
|
@ -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'),
|
||||
|
||||
|
||||
]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue