Bereich 7 fertig

This commit is contained in:
holger.trampe 2020-10-08 09:21:39 +02:00
parent 0c16f63734
commit b605c432b6
11 changed files with 257 additions and 2 deletions

View File

@ -93,6 +93,23 @@ class HLFVForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(HLFVForm, self).__init__(*args, **kwargs)
# RDContract
class RDContractF(forms.ModelForm):
class Meta:
model = RDContract
fields = ['contract_typ','contract_owner','license','info1','info2','adresse','tel','mail']
labels = {
'contract_typ' : "Vertragstyp (Leasing, Immobilie etc.)",
'contract_owner' : "Eigentümer/Firma/Vertragsparnter",
'license' : "Lizenz/Kennzeichen/Nummer etc.",
'info1' : "Freifeld für Informationen 1",
'info2' : "Freifeld für Informationen 2",
'adresse' : "Adresse",
'tel' : "Telefon",
'mail' : "E-Mail"
}
# Streamingabo
class StreamingAboF(forms.ModelForm):

View File

@ -179,6 +179,19 @@ class Personal(models.Model):
history = HistoricalRecords()
class RDContract(models.Model):
agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True)
contract_typ = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
contract_owner = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
license = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
info1 = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
info2 = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
adresse = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
tel = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
mail = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
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))
@ -203,5 +216,6 @@ class RDElse(models.Model):

View File

@ -1,3 +1,28 @@
<h4>Verträge
<a class="btn btn-primary btn-sm btn mb-3" href="{% url 'rd-a7-addcontract' %}" style="float: right;"><i class="fas fa-plus"></i>&nbsp;Vertrag</a>
</h4>
<table class="table table-hover" id="a7_contract" >
<thead>
<tr>
<th scope="col">Vertrags-Typ</th>
<th scope="col">Eigentümer etc.</th>
<th scope="col">&nbsp;</th>
</tr>
</thead>
<tbody >
{% for contract in area_7_contract %}
<tr>
<td><a href="{% url 'rd-a7-viewcontract' contract.pk %}">{{contract.contract_typ|default:""}}</a></td>
<td>{{contract.contract_owner|default:""}}</td>
<td>
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a7-viewcontract' contract.pk %}"><i class="far fa-eye"></i></a>&nbsp;
<a style="float: right" class="btn btn-secondary btn-sm mr-2 " href="{% url 'rd-a7-updatecontract' contract.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-a7-delcontract' contract.pk %}"><small><i class="fas fa-trash"></i></small></a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<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>
@ -50,5 +75,27 @@ $(document).ready(function(){
}
});
$('#a7_contract').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>Vertrag 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;">Vertrag 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>Vertrag löschen</h3>
<hr>
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form|crispy }}
Möchten Sie den Vertrag <i>{{contact.typ}} Eigentümer {{contact.contract_owner}}</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;">Vertrag 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,51 @@
{% extends "users/base.html" %}
{% block content %}
{% if request.user.profile.agency.module_recoverdir %}
<div class="content-section col-12">
<h3>Vertrag {% if history == True %} - Version vom {{contract.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>Vertragsinformationen</h4>
<table>
<tr>
<td>Typ</td>
<td>{{contract.contract_typ|default:""}}</td>
</tr>
<tr>
<td>Eigentümer/Immobilie/etc.</td>
<td>{{contract.contract_owner|default:""}}</td>
</tr>
<tr>
<td>Lizenz</td>
<td>{{contract.license|default:""}}</td>
</tr>
<tr>
<td>Info 1</td>
<td>{{contract.info1|default:""}}</td>
</tr>
<tr>
<td>Info 2</td>
<td>{{contract.info2|default:""}}</td>
</tr>
<tr>
<td>Adresse</td>
<td>{{contract.ad|default:""}}</td>
</tr>
<tr>
<td>Telefon</td>
<td>{{contract.tel|default:""}}</td>
</tr>
<tr>
<td>E-Mail</td>
<td>{{contract.mail|default:""}}</td>
</tr>
</table>
<hr>
</div>
{% else %}
<h3>Auf dieses Modul haben Sie keinen Zugriff!</h3>
{% endif %}
{% endblock content %}

View File

@ -20,6 +20,7 @@
9 = Streaming-Abo
10 = Digitaler Account
11 = Personal
12 = Vertrag Bereich 7
-->
<tbody>
{% for ele in history %}
@ -61,6 +62,10 @@
{% elif hisotryelementinfo.1 == 11 %}
<a href="{% url 'recoverdir-personalhistory-single' ele.pk rdele.pk %}">{{hisotryelementinfo.0}}</a>
{% elif hisotryelementinfo.1 == 12 %}
<a href="{% url 'recoverdir-contracthistory-single' ele.pk rdele.pk %}">{{hisotryelementinfo.0}}</a>
{% elif hisotryelementinfo.1 == 20 %}
<a href="{% url 'recoverdir-elsehistory-single' ele.pk rdele.pk %}">{{hisotryelementinfo.0}}</a>

View File

@ -93,6 +93,11 @@ urlpatterns = [
# Bereich 6 übernimmt Datenfelder aus Bereich 2
# Bereich 7 TASK: Hier weiter
# VERTRÄGE
path('seven/contract/add', permission_required('users.recoverdirmanager')(RDAsevenAddcontract.as_view()), name='rd-a7-addcontract'),
path('seven/contract/<int:pk>', permission_required('users.recoverdirmanager')(RDAsevenViewcontract.as_view()), name='rd-a7-viewcontract'),
path('seven/contract/del/<int:pk>', permission_required('users.recoverdirmanager')(RDAsevenDelcontract.as_view()), name='rd-a7-delcontract'),
path('seven/contract/update/<int:pk>', permission_required('users.recoverdirmanager')(RDAsevenUpdatecontract.as_view()), name='rd-a7-updatecontract'),
# Bereich 8 TASK: Hier weiter
@ -128,7 +133,8 @@ urlpatterns = [
path('digitalaccount/ver/<int:pk>/<int:rev>', permission_required('users.recoverdirmanager')(DigitalAccountSingleHistory.as_view()), name='recoverdir-digitalaccounthistory-single'),
# Personal Intern/Extern
path('personal/ver/<int:pk>/<int:rev>', permission_required('users.recoverdirmanager')(PersonalSingleHistory.as_view()), name='recoverdir-personalhistory-single'),
# VERTRAG
path('contract/ver/<int:pk>/<int:rev>', permission_required('users.recoverdirmanager')(ContractSingleHistory.as_view()), name='recoverdir-contracthistory-single'),
# ELSE
path('else/ver/<int:pk>/<int:rev>', permission_required('users.recoverdirmanager')(ElseSingleHistory.as_view()), name='recoverdir-elsehistory-single'),

View File

@ -71,12 +71,15 @@ class RecoverDirManagement(LoginRequiredMixin, ListView):
personal = Personal.objects.filter(agency=self.request.user.profile.agency)
context.update({"area_5_personal" : personal})
rdcontract = RDContract.objects.filter(agency=self.request.user.profile.agency)
context.update({"area_7_contract" : rdcontract})
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, elseele)
finalupdatelist = chain(persletters, handlungsleitfaden, contactfc, contactstrust, handlungsleitfadenvf, depistvollmacht, ergodigi, onlinebank, streamingabo, digitalaccount, personal, onlinebank6, elseele, rdcontract)
context.update({"history" : finalupdatelist})
users_of_agency = User.objects.filter(profile__agency=self.request.user.profile.agency)
@ -886,6 +889,54 @@ class RDAnineUpdateelse(UpdateView):
context.update({'active_link' : 'recoverdir'})
return context
# RDContract
class RDAsevenViewcontract(DetailView):
model = RDContract
success_url = reverse_lazy('recoverdir')
template_name = 'recoverdir/rd_elements_forms/rd_area_7_contract_single.html'
context_object_name = 'contract'
class RDAsevenDelcontract(DeleteView):
model = RDContract
success_url = reverse_lazy('recoverdir')
template_name = 'recoverdir/rd_elements_forms/rd_area_7_contract_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 RDAsevenAddcontract(CreateView):
model = RDContract
success_url = reverse_lazy('recoverdir')
form_class = RDContractF
template_name = "recoverdir/rd_elements_forms/rd_area_7_addcontract.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 RDAsevenUpdatecontract(UpdateView):
model = RDContract
success_url = reverse_lazy('recoverdir')
form_class = RDContractF
template_name = "recoverdir/rd_elements_forms/rd_area_7_addcontract.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 ##########################################
@ -1167,7 +1218,28 @@ class PersonalSingleHistory(DetailView):
})
return context
# VETRTRAG
class ContractSingleHistory(DetailView):
model = RDContract
template_name = 'recoverdir/rd_elements_forms/rd_area_7_contract_single.html'
# Gewünschte Revision aufrufen
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context.update({'active_link' : 'recoverdir'})
historyelements = RDContract.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({
'contract' : shown_element,
'history' : True
})
return context
# ELSE
class ElseSingleHistory(DetailView):

View File

@ -809,6 +809,9 @@ def getHistoryClassOfObject(value):
elif(objectClass == 'HistoricalPersonal'):
finalclass[0] = "Personal und Partner"
finalclass[1] = 11
elif(objectClass == 'HistoricalRDContract'):
finalclass[0] = "Vertrag"
finalclass[1] = 12
# ELSE
elif(objectClass == 'HistoricalRDElse'):
finalclass[0] = "Sonstiges"