From 1e2b62f038fbfc064545af0dce903408554555ea Mon Sep 17 00:00:00 2001 From: Zambom Date: Fri, 6 Jan 2017 17:15:58 -0200 Subject: [PATCH] Adding system settings apps --- amadeus/settings.py | 5 ++++- mailsender/__init__.py | 0 mailsender/admin.py | 3 +++ mailsender/apps.py | 5 +++++ mailsender/migrations/0001_initial.py | 32 ++++++++++++++++++++++++++++++++ mailsender/migrations/__init__.py | 0 mailsender/models.py | 17 +++++++++++++++++ mailsender/tests.py | 3 +++ mailsender/views.py | 3 +++ security/__init__.py | 0 security/admin.py | 3 +++ security/apps.py | 5 +++++ security/migrations/0001_initial.py | 28 ++++++++++++++++++++++++++++ security/migrations/__init__.py | 0 security/models.py | 10 ++++++++++ security/tests.py | 3 +++ security/views.py | 3 +++ themes/__init__.py | 0 themes/admin.py | 3 +++ themes/apps.py | 5 +++++ themes/migrations/0001_initial.py | 32 ++++++++++++++++++++++++++++++++ themes/migrations/__init__.py | 0 themes/models.py | 23 +++++++++++++++++++++++ themes/tests.py | 3 +++ themes/views.py | 3 +++ 25 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 mailsender/__init__.py create mode 100644 mailsender/admin.py create mode 100644 mailsender/apps.py create mode 100644 mailsender/migrations/0001_initial.py create mode 100644 mailsender/migrations/__init__.py create mode 100644 mailsender/models.py create mode 100644 mailsender/tests.py create mode 100644 mailsender/views.py create mode 100644 security/__init__.py create mode 100644 security/admin.py create mode 100644 security/apps.py create mode 100644 security/migrations/0001_initial.py create mode 100644 security/migrations/__init__.py create mode 100644 security/models.py create mode 100644 security/tests.py create mode 100644 security/views.py create mode 100644 themes/__init__.py create mode 100644 themes/admin.py create mode 100644 themes/apps.py create mode 100644 themes/migrations/0001_initial.py create mode 100644 themes/migrations/__init__.py create mode 100644 themes/models.py create mode 100644 themes/tests.py create mode 100644 themes/views.py diff --git a/amadeus/settings.py b/amadeus/settings.py index dec7e6b..36e817f 100644 --- a/amadeus/settings.py +++ b/amadeus/settings.py @@ -56,7 +56,10 @@ INSTALLED_APPS = [ 'notifications', 'log', 'categories', - 'subjects' + 'subjects', + 'mailsender', + 'security', + 'themes' ] MIDDLEWARE_CLASSES = [ diff --git a/mailsender/__init__.py b/mailsender/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/mailsender/__init__.py diff --git a/mailsender/admin.py b/mailsender/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/mailsender/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/mailsender/apps.py b/mailsender/apps.py new file mode 100644 index 0000000..4d5160a --- /dev/null +++ b/mailsender/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class MailsenderConfig(AppConfig): + name = 'mailsender' diff --git a/mailsender/migrations/0001_initial.py b/mailsender/migrations/0001_initial.py new file mode 100644 index 0000000..f89e0a2 --- /dev/null +++ b/mailsender/migrations/0001_initial.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10 on 2017-01-06 19:14 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='MailSender', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('description', models.CharField(max_length=200, verbose_name='Description')), + ('hostname', models.CharField(max_length=200, verbose_name='Host name')), + ('port', models.IntegerField(verbose_name='Port Number')), + ('username', models.CharField(max_length=200, verbose_name='Username')), + ('password', models.CharField(max_length=256, verbose_name='Password')), + ('crypto', models.IntegerField(choices=[(1, 'No'), (2, 'SSL'), (3, 'TLS'), (4, 'TLS, if possible')], verbose_name='Criptografy')), + ], + options={ + 'verbose_name': 'Mail sender configuration', + 'verbose_name_plural': 'Mail sender configurations', + }, + ), + ] diff --git a/mailsender/migrations/__init__.py b/mailsender/migrations/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/mailsender/migrations/__init__.py diff --git a/mailsender/models.py b/mailsender/models.py new file mode 100644 index 0000000..e8d3cb5 --- /dev/null +++ b/mailsender/models.py @@ -0,0 +1,17 @@ +from django.db import models +from django.utils.translation import ugettext_lazy as _ + +class MailSender(models.Model): + description = models.CharField(_('Description'), max_length = 200) + hostname = models.CharField(_('Host name'), max_length = 200) + port = models.IntegerField(_('Port Number')) + username = models.CharField(_('Username'), max_length = 200) + password = models.CharField(_('Password'), max_length = 256) + crypto = models.IntegerField(_('Criptografy'), choices = ((1, _('No')), (2, _('SSL')), (3, _('TLS')), (4, _('TLS, if possible')))) + + class Meta: + verbose_name = _('Mail sender configuration') + verbose_name_plural = _('Mail sender configurations') + + def __str__(self): + return self.description diff --git a/mailsender/tests.py b/mailsender/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/mailsender/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/mailsender/views.py b/mailsender/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/mailsender/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/security/__init__.py b/security/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/security/__init__.py diff --git a/security/admin.py b/security/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/security/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/security/apps.py b/security/apps.py new file mode 100644 index 0000000..de9d762 --- /dev/null +++ b/security/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class SecurityConfig(AppConfig): + name = 'security' diff --git a/security/migrations/0001_initial.py b/security/migrations/0001_initial.py new file mode 100644 index 0000000..f59054a --- /dev/null +++ b/security/migrations/0001_initial.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10 on 2017-01-06 19:14 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Security', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('allow_register', models.BooleanField(default=False, verbose_name="Don't allow users to self-register")), + ('maintence', models.BooleanField(default=False, verbose_name='Put system in maintence mode')), + ], + options={ + 'verbose_name': 'Security configuration', + 'verbose_name_plural': 'Security configurations', + }, + ), + ] diff --git a/security/migrations/__init__.py b/security/migrations/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/security/migrations/__init__.py diff --git a/security/models.py b/security/models.py new file mode 100644 index 0000000..ba23f10 --- /dev/null +++ b/security/models.py @@ -0,0 +1,10 @@ +from django.db import models +from django.utils.translation import ugettext_lazy as _ + +class Security(models.Model): + allow_register = models.BooleanField(_("Don't allow users to self-register"), default = False) + maintence = models.BooleanField(_("Put system in maintence mode"), default = False) + + class Meta: + verbose_name = _('Security configuration') + verbose_name_plural = _('Security configurations') diff --git a/security/tests.py b/security/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/security/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/security/views.py b/security/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/security/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/themes/__init__.py b/themes/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/themes/__init__.py diff --git a/themes/admin.py b/themes/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/themes/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/themes/apps.py b/themes/apps.py new file mode 100644 index 0000000..1564f84 --- /dev/null +++ b/themes/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class ThemesConfig(AppConfig): + name = 'themes' diff --git a/themes/migrations/0001_initial.py b/themes/migrations/0001_initial.py new file mode 100644 index 0000000..e28f996 --- /dev/null +++ b/themes/migrations/0001_initial.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10 on 2017-01-06 19:14 +from __future__ import unicode_literals + +from django.db import migrations, models +import themes.models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Themes', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(default='Projeto Amadeus', max_length=200, verbose_name='Title')), + ('small_logo', models.ImageField(blank=True, default='logo_pequena_amadeus.png', upload_to='themes/', validators=[themes.models.validate_img_extension], verbose_name='Small Logo')), + ('large_logo', models.ImageField(blank=True, default='logo_grande_amadeus.png', upload_to='themes/', validators=[themes.models.validate_img_extension], verbose_name='Large Logo')), + ('footer_note', models.TextField(blank=True, verbose_name='Footer Note')), + ('css_style', models.CharField(default='green', max_length=50, verbose_name='Css Style')), + ], + options={ + 'verbose_name': 'Theme', + 'verbose_name_plural': 'Themes', + }, + ), + ] diff --git a/themes/migrations/__init__.py b/themes/migrations/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/themes/migrations/__init__.py diff --git a/themes/models.py b/themes/models.py new file mode 100644 index 0000000..c3cee7d --- /dev/null +++ b/themes/models.py @@ -0,0 +1,23 @@ +from django.db import models +from django.utils.translation import ugettext_lazy as _ + +def validate_img_extension(value): + valid_formats = ['image/jpeg','image/x-citrix-jpeg','image/png','image/x-citrix-png','image/x-png'] + + if hasattr(value.file, 'content_type'): + if not value.file.content_type in valid_formats: + raise ValidationError(_('File not supported.')) + +class Themes(models.Model): + title = models.CharField(_("Title"), max_length = 200, default = "Projeto Amadeus") + small_logo = models.ImageField(verbose_name = _("Small Logo"), blank = True, upload_to = 'themes/', default = 'logo_pequena_amadeus.png', validators = [validate_img_extension]) + large_logo = models.ImageField(verbose_name = _("Large Logo"), blank = True, upload_to = 'themes/', default = 'logo_grande_amadeus.png', validators = [validate_img_extension]) + footer_note = models.TextField(_("Footer Note"), blank = True) + css_style = models.CharField(_("Css Style"), max_length = 50, default = "green") + + class Meta: + verbose_name = _("Theme") + verbose_name_plural = _("Themes") + + def __str__(self): + return self.title diff --git a/themes/tests.py b/themes/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/themes/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/themes/views.py b/themes/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/themes/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. -- libgit2 0.21.2