from django.apps import AppConfig from constance.apps import ConstanceConfig from post_office.apps import PostOfficeConfig from django.contrib.auth.apps import AuthConfig from django.db import connection from django.db.models.signals import post_migrate from django.template.loader import render_to_string, get_template from django.utils.html import strip_tags class ConstanceBase(ConstanceConfig): verbose_name = "Configuration" def create_admin(sender=None, **kwargs): from django.contrib.auth.models import User from django.contrib.auth.models import Group user = User.objects.update_or_create(username='admin', defaults={ 'email':'admin@server.com', 'password':'admin_pass', 'is_superuser': 'True', 'is_staff': 'True' } ) u = User.objects.get(username='admin') u.set_password('admin_pass') u.save() Group.objects.update_or_create(name='submission') Group.objects.update_or_create(name='jury') class project_base(AppConfig): name = 'project_base' def ready(self): # print("base ready") super().ready() post_migrate.connect(create_admin, sender=self) class AuthConfigBase(AuthConfig): def ready(self): # print("base ready") super().ready() post_migrate.connect(create_admin, sender=self) content_html = """

{{product.current_uri}}

{{ product.name }}

Freie Plätze!

{% if product.beschreibung %}

Beschreibung

{{ product.beschreibung }}

{% endif %} {% if product.claim %}

Claim

{{ product.claim }}

{% endif %} {% if product.learning %}

Learning

{{ product.learning }}

{% endif %} {% if product.status %}

Status

{{ product.status }}

{% endif %} {% if product.adresse %}

Adresse

{{product.adresse}}

{% endif %} {% if product.adresse_zusatz %}

{{ product.adresse_zusatz }}

{% endif %} {% if product.plz %}

plz

{{ product.plz }}

{% endif %} {% if product.get_ort_display %}

ort

{{ product.ort }}

{% endif %} {% if product.website %}

website

{{product.website}}

{% endif %} {% if product.email %}

email

{{product.email}}

{% endif %}
{{ product.current_uri }}

Agent Löschen: {{ agent.delete_url }}

""" content_txt = strip_tags(content_html) def create_emails(sender=None, **kwargs): from post_office.models import EmailTemplate EmailTemplate.objects.update_or_create( name='generic', defaults={ 'subject' : 'Neue Nachricht von gemeinschaffen.com', 'description' : 'Generic template', 'html_content' : content_html, 'content' : content_txt} ) pass class PostOfficeBase(PostOfficeConfig): def ready(self): super().ready() post_migrate.connect(create_emails, sender=self)