From 7bf15025f0b736b503b43585153a5435b7a32879 Mon Sep 17 00:00:00 2001 From: karina Date: Wed, 19 Sep 2018 15:03:11 +0100 Subject: [PATCH 1/5] django 2 stuff --- transtech_directory/models.py | 36 +++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/transtech_directory/models.py b/transtech_directory/models.py index 6a4a504..61de1f1 100644 --- a/transtech_directory/models.py +++ b/transtech_directory/models.py @@ -4,7 +4,6 @@ from django_countries.fields import CountryField - CONTACT_TYPES = ( ('phone', _('Phone')), ('email', _('E-Mail')), @@ -13,7 +12,6 @@ class Category(models.Model): - class Meta: verbose_name_plural = "categories" @@ -25,7 +23,6 @@ def __str__(self): class Directory(models.Model): - class Meta: verbose_name_plural = "directories" @@ -54,8 +51,10 @@ def save(self, *args, **kwargs): class ContactInfo(models.Model): - - directory = models.ForeignKey(Directory, verbose_name=_('Service provider'), related_name='contacts') + directory = models.ForeignKey( + to = Directory, + verbose_name=_('Service provider'), + related_name='contacts', on_delete=models.CASCADE()) type = models.CharField(_('Type'), max_length=5, choices=CONTACT_TYPES) value = models.CharField(_('Value'), max_length=400) @@ -64,15 +63,32 @@ def __str__(self): class Address(models.Model): - class Meta: verbose_name_plural = "addresses" - directory = models.ForeignKey(Directory, verbose_name=('Service provider'), related_name='addresses') - street = models.CharField(_('Street address'), max_length=255) - street2 = models.CharField(_('Second line'), max_length=255, blank=True, null=True) + directory = models.ForeignKey( + Directory, + verbose_name=('Service provider'), + related_name='addresses', on_delete=models.CASCADE) + + street = models.CharField( + _('Street address'), + max_length=255) + + street2 = models.CharField( + _('Second line'), + max_length=255, + blank=True, + null=True) + city = models.CharField(_('City'), max_length=100) - postal_code = models.CharField(_('postal_code'), max_length=10, blank=True, null=True) + + postal_code = models.CharField( + _('postal_code'), + max_length=10, + blank=True, + null=True) + country = CountryField(verbose_name=_('Country')) longitude = models.FloatField(_('Longitude'), blank=True, null=True) From 10677fb1eb0828650723482c1415de1c325751b1 Mon Sep 17 00:00:00 2001 From: karina Date: Fri, 9 Nov 2018 16:42:37 +0000 Subject: [PATCH 2/5] upgrade to django 2 --- settings.py | 5 +- .../migrations/0001_initial.py | 20 ---- .../migrations/0002_auto_20150920_1255.py | 19 ---- .../migrations/0003_auto_20150920_1306.py | 38 ------- .../migrations/0004_address_contactinfo.py | 37 ------- .../migrations/0005_auto_20150921_1047.py | 101 ------------------ .../migrations/0006_auto_20150921_1318.py | 31 ------ transtech_directory/models.py | 8 +- transtech_directory/views.py | 2 +- urls.py | 4 +- 10 files changed, 11 insertions(+), 254 deletions(-) delete mode 100644 transtech_directory/migrations/0001_initial.py delete mode 100644 transtech_directory/migrations/0002_auto_20150920_1255.py delete mode 100644 transtech_directory/migrations/0003_auto_20150920_1306.py delete mode 100644 transtech_directory/migrations/0004_address_contactinfo.py delete mode 100644 transtech_directory/migrations/0005_auto_20150921_1047.py delete mode 100644 transtech_directory/migrations/0006_auto_20150921_1318.py diff --git a/settings.py b/settings.py index 78f1bce..e4ea951 100644 --- a/settings.py +++ b/settings.py @@ -43,14 +43,13 @@ ) MIDDLEWARE_CLASSES = ( + 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'django.middleware.security.SecurityMiddleware', ) ROOT_URLCONF = 'urls' @@ -107,6 +106,8 @@ 'debug_toolbar.middleware.DebugToolbarMiddleware', ) +MIDDLEWARE = MIDDLEWARE_CLASSES + BROKER_URL = 'django://' LOCALE_PATHS = ( diff --git a/transtech_directory/migrations/0001_initial.py b/transtech_directory/migrations/0001_initial.py deleted file mode 100644 index 0e6ad53..0000000 --- a/transtech_directory/migrations/0001_initial.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Directory', - fields=[ - ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)), - ('company', models.CharField(max_length=255)), - ], - ), - ] diff --git a/transtech_directory/migrations/0002_auto_20150920_1255.py b/transtech_directory/migrations/0002_auto_20150920_1255.py deleted file mode 100644 index a6ae100..0000000 --- a/transtech_directory/migrations/0002_auto_20150920_1255.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('transtech_directory', '0001_initial'), - ] - - operations = [ - migrations.RenameField( - model_name='directory', - old_name='company', - new_name='service_provider', - ), - ] diff --git a/transtech_directory/migrations/0003_auto_20150920_1306.py b/transtech_directory/migrations/0003_auto_20150920_1306.py deleted file mode 100644 index f9390cc..0000000 --- a/transtech_directory/migrations/0003_auto_20150920_1306.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('transtech_directory', '0002_auto_20150920_1255'), - ] - - operations = [ - migrations.CreateModel( - name='Category', - fields=[ - ('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), - ('name', models.CharField(max_length=100)), - ('slug', models.SlugField(max_length=100)), - ], - ), - migrations.AddField( - model_name='directory', - name='link', - field=models.URLField(null=True, blank=True), - ), - migrations.AddField( - model_name='directory', - name='slug', - field=models.SlugField(max_length=255, default=' '), - preserve_default=False, - ), - migrations.AddField( - model_name='directory', - name='service_category', - field=models.ManyToManyField(to='transtech_directory.Category'), - ), - ] diff --git a/transtech_directory/migrations/0004_address_contactinfo.py b/transtech_directory/migrations/0004_address_contactinfo.py deleted file mode 100644 index 6155328..0000000 --- a/transtech_directory/migrations/0004_address_contactinfo.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import django_countries.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('transtech_directory', '0003_auto_20150920_1306'), - ] - - operations = [ - migrations.CreateModel( - name='Address', - fields=[ - ('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')), - ('street', models.CharField(max_length=255)), - ('street2', models.CharField(max_length=255, blank=True, null=True)), - ('city', models.CharField(max_length=100)), - ('postal_code', models.CharField(max_length=10, blank=True, null=True)), - ('country', django_countries.fields.CountryField(max_length=2)), - ('longitude', models.FloatField(blank=True, null=True)), - ('latitude', models.FloatField(blank=True, null=True)), - ('directory', models.ForeignKey(to='transtech_directory.Directory', related_name='addresses')), - ], - ), - migrations.CreateModel( - name='ContactInfo', - fields=[ - ('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')), - ('type', models.CharField(max_length=5, choices=[('phone', 'Phone'), ('email', 'E-Mail'), ('other', 'Other')])), - ('directory', models.ForeignKey(to='transtech_directory.Directory', related_name='contacts')), - ], - ), - ] diff --git a/transtech_directory/migrations/0005_auto_20150921_1047.py b/transtech_directory/migrations/0005_auto_20150921_1047.py deleted file mode 100644 index 1038109..0000000 --- a/transtech_directory/migrations/0005_auto_20150921_1047.py +++ /dev/null @@ -1,101 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import django_countries.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('transtech_directory', '0004_address_contactinfo'), - ] - - operations = [ - migrations.AddField( - model_name='contactinfo', - name='value', - field=models.CharField(verbose_name='Value', default=' ', max_length=400), - preserve_default=False, - ), - migrations.AlterField( - model_name='address', - name='city', - field=models.CharField(verbose_name='City', max_length=100), - ), - migrations.AlterField( - model_name='address', - name='country', - field=django_countries.fields.CountryField(verbose_name='Country', max_length=2), - ), - migrations.AlterField( - model_name='address', - name='directory', - field=models.ForeignKey(related_name='addresses', verbose_name='Service provider', to='transtech_directory.Directory'), - ), - migrations.AlterField( - model_name='address', - name='latitude', - field=models.FloatField(verbose_name='Latitude', null=True, blank=True), - ), - migrations.AlterField( - model_name='address', - name='longitude', - field=models.FloatField(verbose_name='Longitude', null=True, blank=True), - ), - migrations.AlterField( - model_name='address', - name='postal_code', - field=models.CharField(verbose_name='postal_code', max_length=10, null=True, blank=True), - ), - migrations.AlterField( - model_name='address', - name='street', - field=models.CharField(verbose_name='Street address', max_length=255), - ), - migrations.AlterField( - model_name='address', - name='street2', - field=models.CharField(verbose_name='Second line', max_length=255, null=True, blank=True), - ), - migrations.AlterField( - model_name='category', - name='name', - field=models.CharField(verbose_name='Category name', max_length=100), - ), - migrations.AlterField( - model_name='category', - name='slug', - field=models.SlugField(verbose_name='Slug', max_length=100), - ), - migrations.AlterField( - model_name='contactinfo', - name='directory', - field=models.ForeignKey(related_name='contacts', verbose_name='Service provider', to='transtech_directory.Directory'), - ), - migrations.AlterField( - model_name='contactinfo', - name='type', - field=models.CharField(verbose_name='Type', choices=[('phone', 'Phone'), ('email', 'E-Mail'), ('other', 'Other')], max_length=5), - ), - migrations.AlterField( - model_name='directory', - name='link', - field=models.URLField(verbose_name='Link', null=True, blank=True), - ), - migrations.AlterField( - model_name='directory', - name='service_category', - field=models.ManyToManyField(verbose_name='Categories', to='transtech_directory.Category'), - ), - migrations.AlterField( - model_name='directory', - name='service_provider', - field=models.CharField(verbose_name='Service provider name', max_length=255), - ), - migrations.AlterField( - model_name='directory', - name='slug', - field=models.SlugField(verbose_name='slug', max_length=255), - ), - ] diff --git a/transtech_directory/migrations/0006_auto_20150921_1318.py b/transtech_directory/migrations/0006_auto_20150921_1318.py deleted file mode 100644 index f5a875a..0000000 --- a/transtech_directory/migrations/0006_auto_20150921_1318.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('transtech_directory', '0005_auto_20150921_1047'), - ] - - operations = [ - migrations.AlterModelOptions( - name='address', - options={'verbose_name_plural': 'addresses'}, - ), - migrations.AlterModelOptions( - name='category', - options={'verbose_name_plural': 'categories'}, - ), - migrations.AlterModelOptions( - name='directory', - options={'verbose_name_plural': 'directories'}, - ), - migrations.AddField( - model_name='directory', - name='description', - field=models.TextField(null=True, blank=True, verbose_name='Description'), - ), - ] diff --git a/transtech_directory/models.py b/transtech_directory/models.py index 61de1f1..6b96c55 100644 --- a/transtech_directory/models.py +++ b/transtech_directory/models.py @@ -52,9 +52,10 @@ def save(self, *args, **kwargs): class ContactInfo(models.Model): directory = models.ForeignKey( - to = Directory, + to=Directory, verbose_name=_('Service provider'), - related_name='contacts', on_delete=models.CASCADE()) + related_name='contacts', + on_delete=models.CASCADE) type = models.CharField(_('Type'), max_length=5, choices=CONTACT_TYPES) value = models.CharField(_('Value'), max_length=400) @@ -69,7 +70,8 @@ class Meta: directory = models.ForeignKey( Directory, verbose_name=('Service provider'), - related_name='addresses', on_delete=models.CASCADE) + related_name='addresses', + on_delete=models.CASCADE) street = models.CharField( _('Street address'), diff --git a/transtech_directory/views.py b/transtech_directory/views.py index b5b3c72..88b4ed9 100644 --- a/transtech_directory/views.py +++ b/transtech_directory/views.py @@ -1,6 +1,6 @@  from django.views.generic import ListView, DetailView, CreateView -from django.core.urlresolvers import reverse_lazy +from django.urls import reverse_lazy from django.contrib.auth.decorators import login_required from django.utils.decorators import method_decorator diff --git a/urls.py b/urls.py index e8a1ae3..151c7ad 100644 --- a/urls.py +++ b/urls.py @@ -15,12 +15,12 @@ # Examples: # url(r'^blog/', include('blog.urls')), - url(r'^admin/', include(admin.site.urls)), + url(r'^admin/', admin.site.urls), url(r'^$', DirectoryListView.as_view(), name='directory'), url(r'^new/$', DirectoryCreateView.as_view(), name='directory_create'), url(r'^view/(?P[\w-]+)/$', DirectoryDetailView.as_view(), name='directory_detail'), url(r'^comments/', include(comments_urls)), - url(r'^ratings/', include(star_ratings_urls, namespace='ratings', app_name='ratings')), + url(r'^ratings/', include(star_ratings_urls, namespace='ratings')), url(r'^accounts/', include(auth_urls)), ] From 291b641954e9ea7487b209e07601cc435a7fbd90 Mon Sep 17 00:00:00 2001 From: karina Date: Fri, 9 Nov 2018 16:43:47 +0000 Subject: [PATCH 3/5] migrations after upgradin to django 2 --- .../migrations/0001_initial.py | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 transtech_directory/migrations/0001_initial.py diff --git a/transtech_directory/migrations/0001_initial.py b/transtech_directory/migrations/0001_initial.py new file mode 100644 index 0000000..22fb872 --- /dev/null +++ b/transtech_directory/migrations/0001_initial.py @@ -0,0 +1,75 @@ +# Generated by Django 2.1.1 on 2018-09-19 15:11 + +from django.db import migrations, models +import django.db.models.deletion +import django_countries.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Address', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('street', models.CharField(max_length=255, verbose_name='Street address')), + ('street2', models.CharField(blank=True, max_length=255, null=True, verbose_name='Second line')), + ('city', models.CharField(max_length=100, verbose_name='City')), + ('postal_code', models.CharField(blank=True, max_length=10, null=True, verbose_name='postal_code')), + ('country', django_countries.fields.CountryField(max_length=2, verbose_name='Country')), + ('longitude', models.FloatField(blank=True, null=True, verbose_name='Longitude')), + ('latitude', models.FloatField(blank=True, null=True, verbose_name='Latitude')), + ], + options={ + 'verbose_name_plural': 'addresses', + }, + ), + migrations.CreateModel( + name='Category', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100, verbose_name='Category name')), + ('slug', models.SlugField(max_length=100, verbose_name='Slug')), + ], + options={ + 'verbose_name_plural': 'categories', + }, + ), + migrations.CreateModel( + name='ContactInfo', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('type', models.CharField(choices=[('phone', 'Phone'), ('email', 'E-Mail'), ('other', 'Other')], max_length=5, verbose_name='Type')), + ('value', models.CharField(max_length=400, verbose_name='Value')), + ], + ), + migrations.CreateModel( + name='Directory', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('service_provider', models.CharField(max_length=255, verbose_name='Service provider name')), + ('slug', models.SlugField(max_length=255, verbose_name='slug')), + ('description', models.TextField(blank=True, null=True, verbose_name='Description')), + ('link', models.URLField(blank=True, null=True, verbose_name='Link')), + ('service_category', models.ManyToManyField(to='transtech_directory.Category', verbose_name='Categories')), + ], + options={ + 'verbose_name_plural': 'directories', + }, + ), + migrations.AddField( + model_name='contactinfo', + name='directory', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contacts', to='transtech_directory.Directory', verbose_name='Service provider'), + ), + migrations.AddField( + model_name='address', + name='directory', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='addresses', to='transtech_directory.Directory', verbose_name='Service provider'), + ), + ] From 8e12822566396558976bb2da30b8f0959179100f Mon Sep 17 00:00:00 2001 From: karina Date: Fri, 9 Nov 2018 16:54:51 +0000 Subject: [PATCH 4/5] additional requirements --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 6358d59..635992e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,6 +4,7 @@ celery django-debug-toolbar django-debug-toolbar-template-timings django-jquery-js +django-formset-js django-webtest factory-boy django-countries From 0f9659b6684792faa3b1d02e660b2f51dedd956c Mon Sep 17 00:00:00 2001 From: karina Date: Mon, 17 Jun 2019 21:47:30 +0100 Subject: [PATCH 5/5] removed checking for form deleted because it works differently in django2 --- transtech_directory/views.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/transtech_directory/views.py b/transtech_directory/views.py index 65b7e78..ef23a4d 100644 --- a/transtech_directory/views.py +++ b/transtech_directory/views.py @@ -43,23 +43,21 @@ def form_valid(self, form): contact_form = ContactInfoFormset(data=self.request.POST) for a_form in address_form: - if not a_form.data['{}-DELETE'.format(a_form.prefix)] and not a_form.is_valid(): + if not a_form.is_valid(): return self.form_invalid(form) for c_form in contact_form: - if not c_form.data['{}-DELETE'.format(c_form.prefix)] and not c_form.is_valid(): + if not c_form.is_valid(): return self.form_invalid(form) form.save() for a_form in address_form: - if not a_form.data['{}-DELETE'.format(a_form.prefix)]: - a_obj = a_form.instance - a_obj.directory = form.instance - a_obj.save() + a_obj = a_form.instance + a_obj.directory = form.instance + a_obj.save() for c_form in contact_form: - if not c_form.data['{}-DELETE'.format(c_form.prefix)]: - c_obj = c_form.instance - c_obj.directory = form.instance - c_obj.save() + c_obj = c_form.instance + c_obj.directory = form.instance + c_obj.save() self._slug = form.instance.slug