abrechnungen
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from .models import Betrieb, Partei, PresidentCandidate, Question, Angestellter,\
|
from .models import Betrieb, Partei, PresidentCandidate, Question, Angestellter,\
|
||||||
Aufsicht, Betriebsaufsicht
|
Aufsicht, Betriebsaufsicht, Betriebsabrechnung
|
||||||
from startpage.models import Banned
|
from startpage.models import Banned
|
||||||
from django.contrib.admin import helpers
|
from django.contrib.admin import helpers
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
@@ -95,6 +95,16 @@ class AufsichtInline(admin.TabularInline):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class BetriebsabrechnungInline(admin.TabularInline):
|
||||||
|
model = Betriebsabrechnung
|
||||||
|
extra = 0
|
||||||
|
formfield_overrides = {
|
||||||
|
models.ManyToManyField: {'widget': forms.CheckboxSelectMultiple},
|
||||||
|
models.ForeignKey: {'widget': apply_select2(forms.Select)}
|
||||||
|
}
|
||||||
|
template = "meingoethopia/betriebsabrechnung.html"
|
||||||
|
|
||||||
|
|
||||||
# Register your models here.
|
# Register your models here.
|
||||||
class BetriebAdmin(admin.ModelAdmin):
|
class BetriebAdmin(admin.ModelAdmin):
|
||||||
list_display = ('name', 'manager', 'show_aufsichten', 'raum',
|
list_display = ('name', 'manager', 'show_aufsichten', 'raum',
|
||||||
@@ -108,7 +118,7 @@ class BetriebAdmin(admin.ModelAdmin):
|
|||||||
}
|
}
|
||||||
actions = [ban_ip, create_overview]
|
actions = [ban_ip, create_overview]
|
||||||
filter_horizontal = ('angestellte',)
|
filter_horizontal = ('angestellte',)
|
||||||
inlines = [AufsichtInline]
|
inlines = [AufsichtInline, BetriebsabrechnungInline]
|
||||||
|
|
||||||
|
|
||||||
class ParteiAdmin(admin.ModelAdmin):
|
class ParteiAdmin(admin.ModelAdmin):
|
||||||
|
|||||||
@@ -62,6 +62,8 @@ class Betrieb(models.Model):
|
|||||||
raum = models.IntegerField('Raum', default=102)
|
raum = models.IntegerField('Raum', default=102)
|
||||||
aufsicht = models.CharField('Aufsicht', max_length=100, default='keine')
|
aufsicht = models.CharField('Aufsicht', max_length=100, default='keine')
|
||||||
kredit = models.IntegerField('Kreditwunsch', default=0)
|
kredit = models.IntegerField('Kreditwunsch', default=0)
|
||||||
|
kredit_ausgezahlt = models.BooleanField('Kredit ausgezahlt', default=False)
|
||||||
|
kredit_bezahlt = models.BooleanField('Kredit zurückgezahlt', default=False)
|
||||||
business_idea = models.TextField('Idee')
|
business_idea = models.TextField('Idee')
|
||||||
ip_address = models.CharField('IP Adresse', max_length=50, blank=True)
|
ip_address = models.CharField('IP Adresse', max_length=50, blank=True)
|
||||||
confirmed = models.BooleanField('Bestätigt', default=False)
|
confirmed = models.BooleanField('Bestätigt', default=False)
|
||||||
@@ -123,6 +125,20 @@ class Betriebsaufsicht(models.Model):
|
|||||||
return self.aufsicht.name
|
return self.aufsicht.name
|
||||||
|
|
||||||
|
|
||||||
|
class Betriebsabrechnung(models.Model):
|
||||||
|
betrieb = models.ForeignKey(Betrieb)
|
||||||
|
datum = models.DateField('Datum')
|
||||||
|
umsatz = models.IntegerField('Umsatz')
|
||||||
|
lohnkosten = models.IntegerField('Lohnkosten')
|
||||||
|
ausgaben = models.IntegerField('Ausgaben')
|
||||||
|
gewinn = models.IntegerField('Gewinn')
|
||||||
|
steuer = models.IntegerField('Steuer')
|
||||||
|
erledigt = models.BooleanField('Erledigt')
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.betrieb.name + " " + str(self.datum)
|
||||||
|
|
||||||
|
|
||||||
class Partei(models.Model):
|
class Partei(models.Model):
|
||||||
name = models.CharField('Name', max_length=100)
|
name = models.CharField('Name', max_length=100)
|
||||||
abbreviation = models.CharField('Abkürzung', max_length=5)
|
abbreviation = models.CharField('Abkürzung', max_length=5)
|
||||||
|
|||||||
@@ -0,0 +1,77 @@
|
|||||||
|
{% load i18n admin_urls static admin_modify %}
|
||||||
|
<div class="js-inline-admin-formset inline-group" id="{{ inline_admin_formset.formset.prefix }}-group"
|
||||||
|
data-inline-type="tabular"
|
||||||
|
data-inline-formset="{{ inline_admin_formset.inline_formset_data }}">
|
||||||
|
<div class="tabular inline-related {% if forloop.last %}last-related{% endif %}">
|
||||||
|
|
||||||
|
{{ inline_admin_formset.formset.management_form }}
|
||||||
|
|
||||||
|
<fieldset class="module {{ inline_admin_formset.classes }}">
|
||||||
|
<h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2>
|
||||||
|
{{ inline_admin_formset.formset.non_form_errors }}
|
||||||
|
<table>
|
||||||
|
<thead><tr>
|
||||||
|
<th class="original"></th>
|
||||||
|
{% for field in inline_admin_formset.fields %}
|
||||||
|
{% if not field.widget.is_hidden %}
|
||||||
|
<th{% if field.required %} class="required"{% endif %}>{{ field.label|capfirst }}
|
||||||
|
{% if field.help_text %} <img src="{% static "admin/img/icon-unknown.svg" %}" class="help help-tooltip" width="10" height="10" alt="({{ field.help_text|striptags }})" title="{{ field.help_text|striptags }}" />{% endif %}
|
||||||
|
</th>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% if inline_admin_formset.formset.can_delete %}<th>{% trans "Delete?" %}</th>{% endif %}
|
||||||
|
</tr></thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
{% for inline_admin_form in inline_admin_formset %}
|
||||||
|
{% if inline_admin_form.form.non_field_errors %}
|
||||||
|
<tr><td colspan="{{ inline_admin_form|cell_count }}">{{ inline_admin_form.form.non_field_errors }}</td></tr>
|
||||||
|
{% endif %}
|
||||||
|
<tr class="form-row {% cycle "row1" "row2" %} {% if inline_admin_form.original or inline_admin_form.show_url %}has_original{% endif %}{% if forloop.last %} empty-form{% endif %}"
|
||||||
|
id="{{ inline_admin_formset.formset.prefix }}-{% if not forloop.last %}{{ forloop.counter0 }}{% else %}empty{% endif %}">
|
||||||
|
<td class="original">
|
||||||
|
{% if inline_admin_form.original or inline_admin_form.show_url %}<p>
|
||||||
|
{% if inline_admin_form.original %}
|
||||||
|
{{ inline_admin_form.original }}
|
||||||
|
{% if inline_admin_form.model_admin.show_change_link and inline_admin_form.model_admin.has_registered_model %}<a href="{% url inline_admin_form.model_admin.opts|admin_urlname:'change' inline_admin_form.original.pk|admin_urlquote %}" class="inlinechangelink">{% trans "Change" %}</a>{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% if inline_admin_form.show_url %}<a href="{{ inline_admin_form.absolute_url }}">{% trans "View on site" %}</a>{% endif %}
|
||||||
|
</p>{% endif %}
|
||||||
|
{% if inline_admin_form.needs_explicit_pk_field %}{{ inline_admin_form.pk_field.field }}{% endif %}
|
||||||
|
{{ inline_admin_form.fk_field.field }}
|
||||||
|
{% spaceless %}
|
||||||
|
{% for fieldset in inline_admin_form %}
|
||||||
|
{% for line in fieldset %}
|
||||||
|
{% for field in line %}
|
||||||
|
{% if field.field.is_hidden %} {{ field.field }} {% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endspaceless %}
|
||||||
|
</td>
|
||||||
|
{% for fieldset in inline_admin_form %}
|
||||||
|
{% for line in fieldset %}
|
||||||
|
{% for field in line %}
|
||||||
|
{% if not field.field.is_hidden %}
|
||||||
|
<td{% if field.field.name %} class="field-{{ field.field.name }}"{% endif %}>
|
||||||
|
{% if field.is_readonly %}
|
||||||
|
<p>{{ field.contents }}</p>
|
||||||
|
{% else %}
|
||||||
|
{{ field.field.errors.as_ul }}
|
||||||
|
{{ field.field }}
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
{% if inline_admin_formset.formset.can_delete %}
|
||||||
|
<td class="delete">{% if inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }}{% endif %}</td>
|
||||||
|
{% endif %}
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
Reference in New Issue
Block a user