Compare commits
3 Commits
120c762582
...
355ea34e03
| Author | SHA1 | Date |
|---|---|---|
|
|
355ea34e03 | 2 years ago |
|
|
f009a6cfd7 | 2 years ago |
|
|
8a0147965f | 2 years ago |
19 changed files with 410 additions and 58 deletions
Binary file not shown.
@ -1,10 +1,63 @@ |
|||||||
from django import forms |
from django import forms |
||||||
|
from django.forms import DateInput |
||||||
|
|
||||||
|
from .models import * |
||||||
|
|
||||||
from django import forms |
from django import forms |
||||||
from .models import Address |
|
||||||
|
'''' |
||||||
|
class AddressForm(forms.Form): |
||||||
|
vorname = forms.CharField(max_length=255) |
||||||
|
nachname = forms.CharField(max_length=255) |
||||||
|
geburtstag = forms.DateField(widget=forms.SelectDateWidget) |
||||||
|
street = forms.CharField(max_length=255) |
||||||
|
hausnummer = forms.CharField(max_length=10) |
||||||
|
postleitzahl = forms.CharField(max_length=5) |
||||||
|
|
||||||
|
''' |
||||||
|
|
||||||
|
|
||||||
class AddressForm(forms.ModelForm): |
class AddressForm(forms.ModelForm): |
||||||
class Meta: |
class Meta: |
||||||
model = Address |
model = Address |
||||||
fields = ['vorname', 'nachname', 'geburtstag', 'street', 'hausnummer', 'postleitzahl'] |
fields = '__all__' |
||||||
|
# noinspection PyRedundantParentheses |
||||||
|
widgets = { |
||||||
|
'geburtstag': forms.DateInput( |
||||||
|
format=('%Y-%m-%d'), |
||||||
|
attrs={'class': 'form-control', |
||||||
|
'placeholder': 'Wähle ein Datum', |
||||||
|
'type': 'date' |
||||||
|
} |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
def is_valid(self): |
||||||
|
return True |
||||||
|
|
||||||
|
|
||||||
|
class SummaryForm(forms.ModelForm): |
||||||
|
class Meta: |
||||||
|
model = Summary |
||||||
|
fields = '__all__' |
||||||
|
widgets = { |
||||||
|
'text': forms.Textarea(attrs={'rows': 10, 'cols': 30}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
class SalesAreaTypeForm(forms.ModelForm): |
||||||
|
class Meta: |
||||||
|
model = SalesAreaType |
||||||
|
fields = '__all__' |
||||||
|
|
||||||
|
|
||||||
|
class SalesAreaForm(forms.ModelForm): |
||||||
|
class Meta: |
||||||
|
model = SalesArea |
||||||
|
fields = '__all__' |
||||||
|
|
||||||
|
|
||||||
|
class CompanyDataForm(forms.ModelForm): |
||||||
|
class Meta: |
||||||
|
model = CompanyData |
||||||
|
fields = '__all__' |
||||||
|
|||||||
@ -0,0 +1,26 @@ |
|||||||
|
# Generated by Django 5.0.1 on 2024-03-06 10:00 |
||||||
|
|
||||||
|
from django.db import migrations, models |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
initial = True |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.CreateModel( |
||||||
|
name='Address', |
||||||
|
fields=[ |
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||||
|
('vorname', models.CharField(max_length=255)), |
||||||
|
('nachname', models.CharField(max_length=255)), |
||||||
|
('geburtstag', models.DateField()), |
||||||
|
('street', models.CharField(max_length=255)), |
||||||
|
('hausnummer', models.CharField(max_length=255)), |
||||||
|
('postleitzahl', models.PositiveIntegerField()), |
||||||
|
], |
||||||
|
), |
||||||
|
] |
||||||
@ -0,0 +1,50 @@ |
|||||||
|
# Generated by Django 5.0.1 on 2024-03-12 16:10 |
||||||
|
|
||||||
|
import django.db.models.deletion |
||||||
|
from django.db import migrations, models |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
('ugssim', '0001_initial'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.CreateModel( |
||||||
|
name='SalesArea', |
||||||
|
fields=[ |
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||||
|
('title', models.CharField(max_length=255)), |
||||||
|
], |
||||||
|
), |
||||||
|
migrations.CreateModel( |
||||||
|
name='SalesAreaType', |
||||||
|
fields=[ |
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||||
|
('title', models.CharField(max_length=255)), |
||||||
|
], |
||||||
|
), |
||||||
|
migrations.CreateModel( |
||||||
|
name='Summary', |
||||||
|
fields=[ |
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||||
|
('text', models.TextField(max_length=2000)), |
||||||
|
], |
||||||
|
), |
||||||
|
migrations.CreateModel( |
||||||
|
name='CompanyData', |
||||||
|
fields=[ |
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||||
|
('title', models.CharField(max_length=255)), |
||||||
|
('website', models.URLField()), |
||||||
|
('startDate', models.DateField()), |
||||||
|
('salesArea', models.ManyToManyField(related_name='+', to='ugssim.salesarea')), |
||||||
|
], |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='salesarea', |
||||||
|
name='type', |
||||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, to='ugssim.salesareatype'), |
||||||
|
), |
||||||
|
] |
||||||
@ -0,0 +1,23 @@ |
|||||||
|
# Generated by Django 5.0.1 on 2024-03-13 10:04 |
||||||
|
|
||||||
|
from django.db import migrations, models |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
('ugssim', '0002_salesarea_salesareatype_summary_companydata_and_more'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.AlterField( |
||||||
|
model_name='address', |
||||||
|
name='postleitzahl', |
||||||
|
field=models.CharField(max_length=5), |
||||||
|
), |
||||||
|
migrations.AlterField( |
||||||
|
model_name='address', |
||||||
|
name='street', |
||||||
|
field=models.CharField(max_length=10), |
||||||
|
), |
||||||
|
] |
||||||
@ -1,15 +1,40 @@ |
|||||||
|
from datetime import date |
||||||
|
|
||||||
|
from django import forms |
||||||
from django.db import models |
from django.db import models |
||||||
|
|
||||||
|
|
||||||
# Create your models here. |
# Create your models here. |
||||||
class Address(models.Model): |
class Address(models.Model): |
||||||
vorname = models.CharField(max_length=255) |
vorname = models.CharField(max_length=255) |
||||||
nachname = models.CharField(max_length=255) |
nachname = models.CharField(max_length=255) |
||||||
geburtstag = models.DateField() |
geburtstag: date = models.DateField() |
||||||
street = models.CharField(max_length=255) |
street = models.CharField(max_length=10) |
||||||
hausnummer = models.CharField(max_length=255) |
hausnummer = models.CharField(max_length=255) |
||||||
postleitzahl = models.PositiveIntegerField() |
postleitzahl = models.CharField(max_length=5) |
||||||
|
|
||||||
def __str__(self): |
def __str__(self): |
||||||
return f'{self.vorname} {self.nachname} lives at {self.street} {self.hausnummer}, {self.postleitzahl}' |
return f'{self.vorname} {self.nachname} lives at {self.street} {self.hausnummer}, {self.postleitzahl}' |
||||||
|
|
||||||
|
|
||||||
|
class Summary(models.Model): |
||||||
|
text = models.TextField(max_length=2000) |
||||||
|
|
||||||
|
def __str__(self): |
||||||
|
return self.text |
||||||
|
|
||||||
|
|
||||||
|
class SalesAreaType(models.Model): |
||||||
|
title = models.CharField(max_length=255) |
||||||
|
|
||||||
|
|
||||||
|
class SalesArea(models.Model): |
||||||
|
title = models.CharField(max_length=255) |
||||||
|
type = models.ForeignKey(SalesAreaType, on_delete=models.RESTRICT) |
||||||
|
|
||||||
|
|
||||||
|
class CompanyData(models.Model): |
||||||
|
title = models.CharField(max_length=255) |
||||||
|
website = models.URLField(max_length=200) |
||||||
|
startDate = models.DateField() |
||||||
|
#salesArea = models.ManyToManyField(SalesArea, related_name='+') |
||||||
|
|||||||
@ -0,0 +1,10 @@ |
|||||||
|
<div class="container"> |
||||||
|
{% csrf_token %} |
||||||
|
{% for field in companyDataForm %} |
||||||
|
<div class="form-group"> |
||||||
|
<label for="{{ field.id_for_label }}">{{ field.label }}</label> |
||||||
|
<input class="form-control" type="{{ field.field.widget.input_type }}" name="{{ field.html_name }}" id="{{ field.auto_id }}" value="{{ field.value|default_if_none:"" }}" > |
||||||
|
</div> |
||||||
|
{% endfor %} |
||||||
|
<button type="submit" class="btn btn-primary" name="companyDataButton">Submit</button> |
||||||
|
</div> |
||||||
@ -0,0 +1,19 @@ |
|||||||
|
<div class="container"> |
||||||
|
|
||||||
|
<!-- <form method="post" class="form-group">--> |
||||||
|
{% csrf_token %} |
||||||
|
{% for field in addressForm %} |
||||||
|
<div class="form-group"> |
||||||
|
<label for="{{ field.id_for_label }}">{{ field.label }}</label> |
||||||
|
<input class="form-control" |
||||||
|
type="{{ field.field.widget.input_type }}" |
||||||
|
name="{{ field.html_name }}" |
||||||
|
id="{{ field.auto_id }}" |
||||||
|
value="{{ field.value|default_if_none:"" }}" |
||||||
|
> |
||||||
|
</div> |
||||||
|
{% endfor %} |
||||||
|
|
||||||
|
<button type="submit" class="btn btn-primary" name="addressButton">Submit</button> |
||||||
|
<!--</form> --> |
||||||
|
</div> |
||||||
@ -0,0 +1,51 @@ |
|||||||
|
{% extends 'ugssim/ugssim.html' %} |
||||||
|
{% block content %} |
||||||
|
<form method="post" class="form-group"> |
||||||
|
<div class="accordion" id="accordionPlanning"> |
||||||
|
<div class="accordion-item"> |
||||||
|
<h2 class="accordion-header"> |
||||||
|
<button class="accordion-button" type="button" data-bs-toggle="collapse" |
||||||
|
data-bs-target="#collapseOne" |
||||||
|
aria-expanded="true" aria-controls="collapseOne"> |
||||||
|
Mandantendaten |
||||||
|
</button> |
||||||
|
</h2> |
||||||
|
<div id="collapseOne" class="accordion-collapse collapse show" data-bs-parent="#accordionPlanning"> |
||||||
|
<div class="accordion-body"> |
||||||
|
{% include 'planungsparameter/mandantendaten.html' %} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="accordion-item"> |
||||||
|
<h2 class="accordion-header"> |
||||||
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" |
||||||
|
data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"> |
||||||
|
Kurzfassung |
||||||
|
</button> |
||||||
|
</h2> |
||||||
|
|
||||||
|
|
||||||
|
<div id="collapseTwo" class="accordion-collapse collapse" data-bs-parent="#accordionPlanning"> |
||||||
|
<div class="accordion-body"> |
||||||
|
{% include 'planungsparameter/summary.html' %} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="accordion-item"> |
||||||
|
<h2 class="accordion-header"> |
||||||
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" |
||||||
|
data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree"> |
||||||
|
Unternehmensdaten |
||||||
|
</button> |
||||||
|
</h2> |
||||||
|
<div id="collapseThree" class="accordion-collapse collapse" data-bs-parent="#accordionPlanning"> |
||||||
|
<div class="accordion-body"> |
||||||
|
{% include 'planungsparameter/companydata.html' %} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
<!-- Add more sections here --> |
||||||
|
{% endblock content %} |
||||||
|
</div> |
||||||
@ -0,0 +1,12 @@ |
|||||||
|
<div class="container"> |
||||||
|
<form method="post" class="form-group"> |
||||||
|
{% csrf_token %} |
||||||
|
{% for field in summaryForm %} |
||||||
|
<div class="form-group"> |
||||||
|
<label for="{{ field.id_for_label }}">{{ field.label }}</label> |
||||||
|
<input class="form-control" type="{{ field.field.widget.input_type }}" name="{{ field.html_name }}" id="{{ field.auto_id }}" value="{{ field.value|default_if_none:"" }}" > |
||||||
|
</div> |
||||||
|
{% endfor %} |
||||||
|
<button type="submit" class="btn btn-primary" name="summaryButton">Submit</button> |
||||||
|
</form> |
||||||
|
</div> |
||||||
Loading…
Reference in new issue