apps.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. from django.apps import AppConfig
  2. from constance.apps import ConstanceConfig
  3. from post_office.apps import PostOfficeConfig
  4. from django.contrib.auth.apps import AuthConfig
  5. from django.db import connection
  6. from django.db.models.signals import post_migrate
  7. from django.template.loader import render_to_string, get_template
  8. from django.utils.html import strip_tags
  9. class ConstanceBase(ConstanceConfig):
  10. verbose_name = "Configuration"
  11. def create_admin(sender=None, **kwargs):
  12. from django.contrib.auth.models import User
  13. from django.contrib.auth.models import Group
  14. user = User.objects.update_or_create(username='admin',
  15. defaults={
  16. 'email':'admin@server.com',
  17. 'password':'admin_pass',
  18. 'is_superuser': 'True',
  19. 'is_staff': 'True' }
  20. )
  21. u = User.objects.get(username='admin')
  22. u.set_password('admin_pass')
  23. Group.objects.update_or_create(name='submission')
  24. Group.objects.update_or_create(name='jury')
  25. u.save()
  26. class project_base(AppConfig):
  27. name = 'project_base'
  28. def ready(self):
  29. print("base ready")
  30. super().ready()
  31. post_migrate.connect(create_admin, sender=self)
  32. class AuthConfigBase(AuthConfig):
  33. def ready(self):
  34. print("base ready")
  35. super().ready()
  36. post_migrate.connect(create_admin, sender=self)
  37. def create_emails(sender=None, **kwargs):
  38. from post_office.models import EmailTemplate
  39. EmailTemplate.objects.update_or_create(
  40. name='generic',
  41. defaults={
  42. 'subject' : 'Neue Nachricht von gemeinschaffen.at',
  43. 'description' : 'Generic template',
  44. 'html_content' : "content html",
  45. 'content' : "content"}
  46. )
  47. pass
  48. class PostOfficeBase(PostOfficeConfig):
  49. def ready(self):
  50. super().ready()
  51. post_migrate.connect(create_emails, sender=self)