From bd25b81f94e9e8055c069f1c6575ea5ad6a0b1c1 Mon Sep 17 00:00:00 2001 From: satya7289 Date: Wed, 8 Jul 2020 21:23:26 +0530 Subject: [PATCH] refactor: upgrade django to 3.0.8 and upgrade it's dependencies --- .travis.yml | 5 +- requirements/dev.txt | 28 ++-- requirements/prod.txt | 23 ++- setup.cfg | 2 +- .../blog/migrations/0001_initial.py | 83 ++++------- .../migrations/0002_auto_20140928_2034.py | 25 ---- .../migrations/0002_auto_20200721_1828.py | 61 ++++++++ .../migrations/0003_auto_20150303_0501.py | 26 ---- .../migrations/0004_auto_20150420_1504.py | 141 ------------------ .../migrations/0005_auto_20150522_1138.py | 22 --- .../migrations/0006_auto_20150522_1233.py | 24 --- systers_portal/blog/models.py | 8 +- systers_portal/blog/tests/test_views.py | 2 +- systers_portal/blog/views.py | 2 +- .../common/migrations/0001_initial.py | 22 +-- .../migrations/0002_auto_20150420_1504.py | 38 ----- .../migrations/0002_auto_20200721_1828.py | 28 ++++ systers_portal/common/models.py | 6 +- systers_portal/common/tests/test_views.py | 2 +- systers_portal/community/admin.py | 1 + .../community/migrations/0001_initial.py | 77 +++++++--- .../migrations/0002_auto_20200721_1828.py | 72 +++++++++ .../migrations/0002_communitypage.py | 33 ---- .../migrations/0003_auto_20140928_2034.py | 20 --- .../community/migrations/0004_joinrequest.py | 29 ---- .../migrations/0005_auto_20141006_2117.py | 18 --- .../migrations/0006_auto_20150208_0818.py | 29 ---- .../migrations/0007_auto_20150227_0728.py | 19 --- .../migrations/0008_auto_20150420_1504.py | 135 ----------------- .../migrations/0009_auto_20150420_1536.py | 20 --- .../migrations/0010_auto_20150522_1138.py | 18 --- .../migrations/0011_auto_20150522_1233.py | 19 --- .../migrations/0012_requestcommunity.py | 51 ------- .../migrations/0013_auto_20200316_1806.py | 20 --- .../migrations/0013_auto_20200403_1757.py | 20 --- .../migrations/0014_auto_20200324_1252.py | 20 --- .../migrations/0015_merge_20200404_0832.py | 16 -- .../migrations/0016_auto_20200606_0719.py | 27 ---- .../migrations/0017_auto_20200608_1920.py | 21 --- systers_portal/community/models.py | 17 ++- systers_portal/community/tests/test_views.py | 2 +- systers_portal/community/views.py | 2 +- .../meetup/migrations/0001_initial.py | 57 +------ .../migrations/0002_auto_20200721_1828.py | 67 +++++++++ .../migrations/0002_meetup_meetup_picture.py | 20 --- .../migrations/0003_auto_20200620_2133.py | 74 --------- .../migrations/0004_auto_20200620_2144.py | 26 ---- .../migrations/0005_auto_20200620_2145.py | 26 ---- .../migrations/0006_auto_20200620_2146.py | 26 ---- systers_portal/meetup/models.py | 24 +-- systers_portal/meetup/tests/test_views.py | 2 +- systers_portal/meetup/urls.py | 4 +- systers_portal/meetup/views.py | 4 +- .../membership/migrations/0001_initial.py | 17 +-- .../migrations/0002_auto_20200721_1828.py | 33 ++++ systers_portal/membership/models.py | 6 +- systers_portal/membership/tests/test_views.py | 2 +- systers_portal/membership/views.py | 2 +- .../systers_portal/settings/base.py | 4 +- systers_portal/systers_portal/urls.py | 2 +- systers_portal/templates/account/login.html | 57 ++++--- systers_portal/templates/account/signup.html | 50 +++---- systers_portal/templates/base.html | 4 +- systers_portal/templates/common/about_us.html | 24 +-- systers_portal/templates/common/contact.html | 5 +- systers_portal/templates/common/index.html | 137 +++++++++-------- .../common/new_community_proposal.html | 6 +- .../templates/meetup/snippets/user-cell.html | 41 ++--- systers_portal/users/adapter.py | 2 +- .../users/migrations/0001_initial.py | 29 ++++ .../0001_squashed_0003_auto_20160207_1550.py | 32 ---- systers_portal/users/models.py | 7 +- systers_portal/users/tests/test_views.py | 2 +- 73 files changed, 641 insertions(+), 1385 deletions(-) delete mode 100644 systers_portal/blog/migrations/0002_auto_20140928_2034.py create mode 100644 systers_portal/blog/migrations/0002_auto_20200721_1828.py delete mode 100644 systers_portal/blog/migrations/0003_auto_20150303_0501.py delete mode 100644 systers_portal/blog/migrations/0004_auto_20150420_1504.py delete mode 100644 systers_portal/blog/migrations/0005_auto_20150522_1138.py delete mode 100644 systers_portal/blog/migrations/0006_auto_20150522_1233.py delete mode 100644 systers_portal/common/migrations/0002_auto_20150420_1504.py create mode 100644 systers_portal/common/migrations/0002_auto_20200721_1828.py create mode 100644 systers_portal/community/migrations/0002_auto_20200721_1828.py delete mode 100644 systers_portal/community/migrations/0002_communitypage.py delete mode 100644 systers_portal/community/migrations/0003_auto_20140928_2034.py delete mode 100644 systers_portal/community/migrations/0004_joinrequest.py delete mode 100644 systers_portal/community/migrations/0005_auto_20141006_2117.py delete mode 100644 systers_portal/community/migrations/0006_auto_20150208_0818.py delete mode 100644 systers_portal/community/migrations/0007_auto_20150227_0728.py delete mode 100644 systers_portal/community/migrations/0008_auto_20150420_1504.py delete mode 100644 systers_portal/community/migrations/0009_auto_20150420_1536.py delete mode 100644 systers_portal/community/migrations/0010_auto_20150522_1138.py delete mode 100644 systers_portal/community/migrations/0011_auto_20150522_1233.py delete mode 100644 systers_portal/community/migrations/0012_requestcommunity.py delete mode 100644 systers_portal/community/migrations/0013_auto_20200316_1806.py delete mode 100644 systers_portal/community/migrations/0013_auto_20200403_1757.py delete mode 100644 systers_portal/community/migrations/0014_auto_20200324_1252.py delete mode 100644 systers_portal/community/migrations/0015_merge_20200404_0832.py delete mode 100644 systers_portal/community/migrations/0016_auto_20200606_0719.py delete mode 100644 systers_portal/community/migrations/0017_auto_20200608_1920.py create mode 100644 systers_portal/meetup/migrations/0002_auto_20200721_1828.py delete mode 100644 systers_portal/meetup/migrations/0002_meetup_meetup_picture.py delete mode 100644 systers_portal/meetup/migrations/0003_auto_20200620_2133.py delete mode 100644 systers_portal/meetup/migrations/0004_auto_20200620_2144.py delete mode 100644 systers_portal/meetup/migrations/0005_auto_20200620_2145.py delete mode 100644 systers_portal/meetup/migrations/0006_auto_20200620_2146.py create mode 100644 systers_portal/membership/migrations/0002_auto_20200721_1828.py create mode 100644 systers_portal/users/migrations/0001_initial.py delete mode 100644 systers_portal/users/migrations/0001_squashed_0003_auto_20160207_1550.py diff --git a/.travis.yml b/.travis.yml index 5adb1906..003db81c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,6 @@ sudo: true language: python +dist: bionic env: - MOZ_HEADLESS=1 @@ -11,6 +12,8 @@ services: python: - "3.6" + - "3.7" + before_install: - wget https://github.com/mozilla/geckodriver/releases/download/v0.20.1/geckodriver-v0.20.1-linux64.tar.gz - tar -xzvf geckodriver-v0.20.1-linux64.tar.gz @@ -44,4 +47,4 @@ notifications: on_failure: always on_start: false after_success: - coveralls --rcfile=.coveragerc + coveralls --rcfile=.coveragerc \ No newline at end of file diff --git a/requirements/dev.txt b/requirements/dev.txt index 997e4b27..93271488 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,15 +1,15 @@ -r prod.txt -Sphinx==1.6.5 -coverage==4.4.1 -django-nose==1.4.5 -flake8==2.4.1 -sphinx-rtd-theme==0.2.4 -pylint==1.9.0 -pytest==3.5.1 -pytest-cov==2.5.1 -pytest-django==3.2.1 -pytest-pylint==0.9.0 -selenium==3.12.0 -djangorestframework==3.8.2 -geopy==1.15.0 -pinax-notifications==5.0.3 +Sphinx==3.1.2 +coverage==5.2 +django-nose==1.4.6 +flake8==3.8.3 +sphinx-rtd-theme==0.5.0 +pylint==2.5.3 +pytest==5.4.3 +pytest-cov==2.10.0 +pytest-django==3.9.0 +pytest-pylint==0.17.0 +selenium==3.141.0 +djangorestframework==3.11.0 +geopy==2.0.0 +pinax-notifications==6.0.0 \ No newline at end of file diff --git a/requirements/prod.txt b/requirements/prod.txt index 36e36d25..006670e1 100644 --- a/requirements/prod.txt +++ b/requirements/prod.txt @@ -1,14 +1,13 @@ -Django==1.11.29 -Pillow==4.3.0 -django-allauth==0.33.0 -django-braces==1.11.0 -django-cities-light==3.3.0 -django-ckeditor==5.3.1 -django-crispy-forms==1.7.0 -django-guardian==1.4.9 -django-imagekit==4.0.1 +Django==3.0.8 +Pillow==7.2.0 +django-allauth==0.42.0 +django-braces==1.14.0 +django-cities-light==3.6.0 +django-ckeditor==5.9.0 +django-crispy-forms==1.9.2 +django-guardian==2.3.0 +django-imagekit==4.0.2 psycopg2==2.7.3.2 -python3-openid==3.1.0 +python3-openid==3.2.0 geoip2==3.0.0 -django-ipware==3.0.0 - +django-ipware==3.0.0 \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index ce17d8a0..44b37ab6 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,4 +1,4 @@ [flake8] -ignore = F403 +ignore = F403, F405 exclude = .git,docs/*,systers_portal/manage.py,wsgi.py,migrations max-line-length = 100 diff --git a/systers_portal/blog/migrations/0001_initial.py b/systers_portal/blog/migrations/0001_initial.py index f63c42bc..3d7753c1 100644 --- a/systers_portal/blog/migrations/0001_initial.py +++ b/systers_portal/blog/migrations/0001_initial.py @@ -1,91 +1,58 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals +# Generated by Django 3.0.8 on 2020-07-21 18:28 -from django.db import models, migrations +import ckeditor.fields +from django.db import migrations, models class Migration(migrations.Migration): + initial = True + dependencies = [ - ('community', '0001_initial'), - ('users', '0001_squashed_0003_auto_20160207_1550'), ] operations = [ migrations.CreateModel( name='News', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('slug', models.SlugField(unique=True, max_length=150, verbose_name=b'Slug')), - ('title', models.CharField(max_length=255, verbose_name=b'Title')), - ('date_created', models.DateField(auto_now_add=True, verbose_name=b'Date published')), - ('date_modified', models.DateField(auto_now=True, verbose_name=b'Date last modified')), - ('content', models.TextField(verbose_name=b'Content')), - ('is_public', models.BooleanField(default=True, verbose_name=b'Is public')), - ('is_monitored', models.BooleanField(default=False, verbose_name=b'Is monitored')), - ('author', models.ForeignKey(verbose_name=b'Author', to='users.SystersUser')), - ('community', models.ForeignKey(verbose_name=b'Community', to='community.Community')), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('slug', models.SlugField(max_length=150, verbose_name='Slug')), + ('title', models.CharField(max_length=255, verbose_name='Title')), + ('date_created', models.DateField(auto_now_add=True, verbose_name='Date published')), + ('date_modified', models.DateField(auto_now=True, verbose_name='Date last modified')), + ('content', ckeditor.fields.RichTextField(verbose_name='Content')), + ('is_public', models.BooleanField(default=True, verbose_name='Is public')), + ('is_monitored', models.BooleanField(default=False, verbose_name='Is monitored')), ], options={ 'verbose_name_plural': 'News', }, - bases=(models.Model,), ), migrations.CreateModel( name='Resource', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('slug', models.SlugField(unique=True, max_length=150, verbose_name=b'Slug')), - ('title', models.CharField(max_length=255, verbose_name=b'Title')), - ('date_created', models.DateField(auto_now_add=True, verbose_name=b'Date published')), - ('date_modified', models.DateField(auto_now=True, verbose_name=b'Date last modified')), - ('content', models.TextField(verbose_name=b'Content')), - ('is_public', models.BooleanField(default=True, verbose_name=b'Is public')), - ('is_monitored', models.BooleanField(default=False, verbose_name=b'Is monitored')), - ('author', models.ForeignKey(verbose_name=b'Author', to='users.SystersUser')), - ('community', models.ForeignKey(verbose_name=b'Community', to='community.Community')), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('slug', models.SlugField(max_length=150, verbose_name='Slug')), + ('title', models.CharField(max_length=255, verbose_name='Title')), + ('date_created', models.DateField(auto_now_add=True, verbose_name='Date published')), + ('date_modified', models.DateField(auto_now=True, verbose_name='Date last modified')), + ('content', ckeditor.fields.RichTextField(verbose_name='Content')), + ('is_public', models.BooleanField(default=True, verbose_name='Is public')), + ('is_monitored', models.BooleanField(default=False, verbose_name='Is monitored')), ], - options={ - 'abstract': False, - }, - bases=(models.Model,), ), migrations.CreateModel( name='ResourceType', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=255)), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, unique=True)), ], - options={ - }, - bases=(models.Model,), ), migrations.CreateModel( name='Tag', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=255)), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, unique=True)), ], - options={ - }, - bases=(models.Model,), - ), - migrations.AddField( - model_name='resource', - name='resource_type', - field=models.ForeignKey(verbose_name=b'Resource type', blank=True, to='blog.ResourceType', null=True), - preserve_default=True, - ), - migrations.AddField( - model_name='resource', - name='tags', - field=models.ManyToManyField(to='blog.Tag', null=True, verbose_name=b'Tags', blank=True), - preserve_default=True, - ), - migrations.AddField( - model_name='news', - name='tags', - field=models.ManyToManyField(to='blog.Tag', null=True, verbose_name=b'Tags', blank=True), - preserve_default=True, ), ] diff --git a/systers_portal/blog/migrations/0002_auto_20140928_2034.py b/systers_portal/blog/migrations/0002_auto_20140928_2034.py deleted file mode 100644 index 4d4b485a..00000000 --- a/systers_portal/blog/migrations/0002_auto_20140928_2034.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import ckeditor.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('blog', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='news', - name='content', - field=ckeditor.fields.RichTextField(verbose_name=b'Content'), - ), - migrations.AlterField( - model_name='resource', - name='content', - field=ckeditor.fields.RichTextField(verbose_name=b'Content'), - ), - ] diff --git a/systers_portal/blog/migrations/0002_auto_20200721_1828.py b/systers_portal/blog/migrations/0002_auto_20200721_1828.py new file mode 100644 index 00000000..1597ba80 --- /dev/null +++ b/systers_portal/blog/migrations/0002_auto_20200721_1828.py @@ -0,0 +1,61 @@ +# Generated by Django 3.0.8 on 2020-07-21 18:28 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('blog', '0001_initial'), + ('community', '0001_initial'), + ('users', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='resource', + name='author', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='Author'), + ), + migrations.AddField( + model_name='resource', + name='community', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='community.Community', verbose_name='Community'), + ), + migrations.AddField( + model_name='resource', + name='resource_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='blog.ResourceType', verbose_name='Resource type'), + ), + migrations.AddField( + model_name='resource', + name='tags', + field=models.ManyToManyField(blank=True, to='blog.Tag', verbose_name='Tags'), + ), + migrations.AddField( + model_name='news', + name='author', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='Author'), + ), + migrations.AddField( + model_name='news', + name='community', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='community.Community', verbose_name='Community'), + ), + migrations.AddField( + model_name='news', + name='tags', + field=models.ManyToManyField(blank=True, to='blog.Tag', verbose_name='Tags'), + ), + migrations.AlterUniqueTogether( + name='resource', + unique_together={('community', 'slug')}, + ), + migrations.AlterUniqueTogether( + name='news', + unique_together={('community', 'slug')}, + ), + ] diff --git a/systers_portal/blog/migrations/0003_auto_20150303_0501.py b/systers_portal/blog/migrations/0003_auto_20150303_0501.py deleted file mode 100644 index bb662b19..00000000 --- a/systers_portal/blog/migrations/0003_auto_20150303_0501.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('blog', '0002_auto_20140928_2034'), - ] - - operations = [ - migrations.AlterField( - model_name='resourcetype', - name='name', - field=models.CharField(unique=True, max_length=255), - preserve_default=True, - ), - migrations.AlterField( - model_name='tag', - name='name', - field=models.CharField(unique=True, max_length=255), - preserve_default=True, - ), - ] diff --git a/systers_portal/blog/migrations/0004_auto_20150420_1504.py b/systers_portal/blog/migrations/0004_auto_20150420_1504.py deleted file mode 100644 index 8fe0c8d2..00000000 --- a/systers_portal/blog/migrations/0004_auto_20150420_1504.py +++ /dev/null @@ -1,141 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import ckeditor.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('blog', '0003_auto_20150303_0501'), - ] - - operations = [ - migrations.AlterField( - model_name='news', - name='author', - field=models.ForeignKey(verbose_name='Author', to='users.SystersUser'), - preserve_default=True, - ), - migrations.AlterField( - model_name='news', - name='community', - field=models.ForeignKey(verbose_name='Community', to='community.Community'), - preserve_default=True, - ), - migrations.AlterField( - model_name='news', - name='content', - field=ckeditor.fields.RichTextField(verbose_name='Content'), - preserve_default=True, - ), - migrations.AlterField( - model_name='news', - name='date_created', - field=models.DateField(auto_now_add=True, verbose_name='Date published'), - preserve_default=True, - ), - migrations.AlterField( - model_name='news', - name='date_modified', - field=models.DateField(auto_now=True, verbose_name='Date last modified'), - preserve_default=True, - ), - migrations.AlterField( - model_name='news', - name='is_monitored', - field=models.BooleanField(verbose_name='Is monitored', default=False), - preserve_default=True, - ), - migrations.AlterField( - model_name='news', - name='is_public', - field=models.BooleanField(verbose_name='Is public', default=True), - preserve_default=True, - ), - migrations.AlterField( - model_name='news', - name='slug', - field=models.SlugField(verbose_name='Slug', max_length=150), - preserve_default=True, - ), - migrations.AlterField( - model_name='news', - name='tags', - field=models.ManyToManyField(null=True, blank=True, verbose_name='Tags', to='blog.Tag'), - preserve_default=True, - ), - migrations.AlterField( - model_name='news', - name='title', - field=models.CharField(verbose_name='Title', max_length=255), - preserve_default=True, - ), - migrations.AlterField( - model_name='resource', - name='author', - field=models.ForeignKey(verbose_name='Author', to='users.SystersUser'), - preserve_default=True, - ), - migrations.AlterField( - model_name='resource', - name='community', - field=models.ForeignKey(verbose_name='Community', to='community.Community'), - preserve_default=True, - ), - migrations.AlterField( - model_name='resource', - name='content', - field=ckeditor.fields.RichTextField(verbose_name='Content'), - preserve_default=True, - ), - migrations.AlterField( - model_name='resource', - name='date_created', - field=models.DateField(auto_now_add=True, verbose_name='Date published'), - preserve_default=True, - ), - migrations.AlterField( - model_name='resource', - name='date_modified', - field=models.DateField(auto_now=True, verbose_name='Date last modified'), - preserve_default=True, - ), - migrations.AlterField( - model_name='resource', - name='is_monitored', - field=models.BooleanField(verbose_name='Is monitored', default=False), - preserve_default=True, - ), - migrations.AlterField( - model_name='resource', - name='is_public', - field=models.BooleanField(verbose_name='Is public', default=True), - preserve_default=True, - ), - migrations.AlterField( - model_name='resource', - name='resource_type', - field=models.ForeignKey(blank=True, verbose_name='Resource type', to='blog.ResourceType', null=True), - preserve_default=True, - ), - migrations.AlterField( - model_name='resource', - name='slug', - field=models.SlugField(verbose_name='Slug', max_length=150), - preserve_default=True, - ), - migrations.AlterField( - model_name='resource', - name='tags', - field=models.ManyToManyField(null=True, blank=True, verbose_name='Tags', to='blog.Tag'), - preserve_default=True, - ), - migrations.AlterField( - model_name='resource', - name='title', - field=models.CharField(verbose_name='Title', max_length=255), - preserve_default=True, - ), - ] diff --git a/systers_portal/blog/migrations/0005_auto_20150522_1138.py b/systers_portal/blog/migrations/0005_auto_20150522_1138.py deleted file mode 100644 index b9fda0d0..00000000 --- a/systers_portal/blog/migrations/0005_auto_20150522_1138.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('blog', '0004_auto_20150420_1504'), - ] - - operations = [ - migrations.AlterUniqueTogether( - name='news', - unique_together=set([('community', 'slug')]), - ), - migrations.AlterUniqueTogether( - name='resource', - unique_together=set([('community', 'slug')]), - ), - ] diff --git a/systers_portal/blog/migrations/0006_auto_20150522_1233.py b/systers_portal/blog/migrations/0006_auto_20150522_1233.py deleted file mode 100644 index d4686545..00000000 --- a/systers_portal/blog/migrations/0006_auto_20150522_1233.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('blog', '0005_auto_20150522_1138'), - ] - - operations = [ - migrations.AlterField( - model_name='news', - name='tags', - field=models.ManyToManyField(blank=True, to='blog.Tag', verbose_name='Tags'), - ), - migrations.AlterField( - model_name='resource', - name='tags', - field=models.ManyToManyField(blank=True, to='blog.Tag', verbose_name='Tags'), - ), - ] diff --git a/systers_portal/blog/models.py b/systers_portal/blog/models.py index d28e0297..7ec0272b 100644 --- a/systers_portal/blog/models.py +++ b/systers_portal/blog/models.py @@ -1,4 +1,4 @@ -from django.core.urlresolvers import reverse +from django.urls import reverse from django.db import models from common.models import Post @@ -23,7 +23,7 @@ def __str__(self): class News(Post): """Model to represent community news in resource area""" - community = models.ForeignKey(Community, verbose_name="Community") + community = models.ForeignKey(Community, verbose_name="Community", on_delete=models.CASCADE) is_public = models.BooleanField(default=True, verbose_name="Is public") is_monitored = models.BooleanField(default=False, verbose_name="Is monitored") @@ -45,13 +45,13 @@ def get_absolute_url(self): class Resource(Post): """Model to represent community resource in resource area""" - community = models.ForeignKey(Community, verbose_name="Community") + community = models.ForeignKey(Community, verbose_name="Community", on_delete=models.CASCADE) is_public = models.BooleanField(default=True, verbose_name="Is public") is_monitored = models.BooleanField(default=False, verbose_name="Is monitored") tags = models.ManyToManyField(Tag, blank=True, verbose_name="Tags") resource_type = models.ForeignKey(ResourceType, blank=True, null=True, - verbose_name="Resource type") + verbose_name="Resource type", on_delete=models.CASCADE) class Meta: unique_together = ('community', 'slug') diff --git a/systers_portal/blog/tests/test_views.py b/systers_portal/blog/tests/test_views.py index 7d956e0d..ace1d0b1 100644 --- a/systers_portal/blog/tests/test_views.py +++ b/systers_portal/blog/tests/test_views.py @@ -1,6 +1,6 @@ from cities_light.models import Country, City from django.contrib.auth.models import User, Group -from django.core.urlresolvers import reverse +from django.urls import reverse from django.test import TestCase, Client from blog.models import News, Resource, ResourceType, Tag diff --git a/systers_portal/blog/views.py b/systers_portal/blog/views.py index 2bd03680..4978c90b 100644 --- a/systers_portal/blog/views.py +++ b/systers_portal/blog/views.py @@ -1,4 +1,4 @@ -from django.core.urlresolvers import reverse +from django.urls import reverse from django.shortcuts import get_object_or_404 from django.views.generic import (ListView, DetailView, CreateView, UpdateView, DeleteView) diff --git a/systers_portal/common/migrations/0001_initial.py b/systers_portal/common/migrations/0001_initial.py index b5891d28..eafa0a6d 100644 --- a/systers_portal/common/migrations/0001_initial.py +++ b/systers_portal/common/migrations/0001_initial.py @@ -1,30 +1,24 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals +# Generated by Django 3.0.8 on 2020-07-21 18:28 -from django.db import models, migrations +from django.db import migrations, models class Migration(migrations.Migration): + initial = True + dependencies = [ - ('users', '0001_squashed_0003_auto_20160207_1550'), - ('contenttypes', '0001_initial'), ] operations = [ migrations.CreateModel( name='Comment', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('date_created', models.DateField(auto_now_add=True, verbose_name=b'Date created')), - ('is_approved', models.BooleanField(default=True, verbose_name=b'Is approved')), - ('body', models.TextField(verbose_name=b'Body')), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date_created', models.DateField(auto_now_add=True, verbose_name='Date created')), + ('is_approved', models.BooleanField(default=True, verbose_name='Is approved')), + ('body', models.TextField(verbose_name='Body')), ('object_id', models.PositiveIntegerField()), - ('author', models.ForeignKey(verbose_name=b'Author', to='users.SystersUser')), - ('content_type', models.ForeignKey(to='contenttypes.ContentType')), ], - options={ - }, - bases=(models.Model,), ), ] diff --git a/systers_portal/common/migrations/0002_auto_20150420_1504.py b/systers_portal/common/migrations/0002_auto_20150420_1504.py deleted file mode 100644 index e58e4984..00000000 --- a/systers_portal/common/migrations/0002_auto_20150420_1504.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 = [ - ('common', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='comment', - name='author', - field=models.ForeignKey(verbose_name='Author', to='users.SystersUser'), - preserve_default=True, - ), - migrations.AlterField( - model_name='comment', - name='body', - field=models.TextField(verbose_name='Body'), - preserve_default=True, - ), - migrations.AlterField( - model_name='comment', - name='date_created', - field=models.DateField(auto_now_add=True, verbose_name='Date created'), - preserve_default=True, - ), - migrations.AlterField( - model_name='comment', - name='is_approved', - field=models.BooleanField(verbose_name='Is approved', default=True), - preserve_default=True, - ), - ] diff --git a/systers_portal/common/migrations/0002_auto_20200721_1828.py b/systers_portal/common/migrations/0002_auto_20200721_1828.py new file mode 100644 index 00000000..d3570a56 --- /dev/null +++ b/systers_portal/common/migrations/0002_auto_20200721_1828.py @@ -0,0 +1,28 @@ +# Generated by Django 3.0.8 on 2020-07-21 18:28 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('common', '0001_initial'), + ('contenttypes', '0002_remove_content_type_name'), + ('users', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='comment', + name='author', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='Author'), + ), + migrations.AddField( + model_name='comment', + name='content_type', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType'), + ), + ] diff --git a/systers_portal/common/models.py b/systers_portal/common/models.py index b53ea10b..dfb17087 100644 --- a/systers_portal/common/models.py +++ b/systers_portal/common/models.py @@ -16,7 +16,7 @@ class Post(models.Model): verbose_name="Date published") date_modified = models.DateField(auto_now=True, auto_now_add=False, verbose_name="Date last modified") - author = models.ForeignKey(SystersUser, verbose_name="Author") + author = models.ForeignKey(SystersUser, verbose_name="Author", on_delete=models.CASCADE) content = RichTextField(verbose_name="Content") class Meta: @@ -28,10 +28,10 @@ class Comment(models.Model): Intended to be used for News and Resource models.""" date_created = models.DateField(auto_now=False, auto_now_add=True, verbose_name="Date created") - author = models.ForeignKey(SystersUser, verbose_name="Author") + author = models.ForeignKey(SystersUser, verbose_name="Author", on_delete=models.CASCADE) is_approved = models.BooleanField(default=True, verbose_name='Is approved') body = models.TextField(verbose_name="Body") - content_type = models.ForeignKey(ContentType) + content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE) object_id = models.PositiveIntegerField() content_object = GenericForeignKey() diff --git a/systers_portal/common/tests/test_views.py b/systers_portal/common/tests/test_views.py index 8b913a64..26040b69 100644 --- a/systers_portal/common/tests/test_views.py +++ b/systers_portal/common/tests/test_views.py @@ -1,4 +1,4 @@ -from django.core.urlresolvers import reverse +from django.urls import reverse from django.test import TestCase, Client from django.contrib.auth.models import User diff --git a/systers_portal/community/admin.py b/systers_portal/community/admin.py index 3fcb27d7..ad2c4e2a 100644 --- a/systers_portal/community/admin.py +++ b/systers_portal/community/admin.py @@ -13,6 +13,7 @@ def save_model(self, request, obj, form, change): form.cleaned_data['members'] = members super(CommunityAdmin, self).save_model(request, obj, form, change) + admin.site.register(RequestCommunity) admin.site.register(Community, CommunityAdmin) admin.site.register(CommunityPage) diff --git a/systers_portal/community/migrations/0001_initial.py b/systers_portal/community/migrations/0001_initial.py index 823e7790..e6caee7a 100644 --- a/systers_portal/community/migrations/0001_initial.py +++ b/systers_portal/community/migrations/0001_initial.py @@ -1,36 +1,77 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals +# Generated by Django 3.0.8 on 2020-07-21 18:28 -from django.db import models, migrations +import ckeditor.fields +from django.db import migrations, models class Migration(migrations.Migration): + initial = True + dependencies = [ - ('users', '0001_squashed_0003_auto_20160207_1550'), ] operations = [ migrations.CreateModel( name='Community', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=255, verbose_name=b'Name')), - ('slug', models.SlugField(unique=True, max_length=150, verbose_name=b'Slug')), - ('order', models.IntegerField(unique=True, verbose_name=b'Order')), - ('email', models.EmailField(max_length=255, verbose_name=b'Email', blank=True)), - ('mailing_list', models.EmailField(max_length=255, verbose_name=b'Mailing list', blank=True)), - ('website', models.URLField(max_length=255, verbose_name=b'Website', blank=True)), - ('facebook', models.URLField(max_length=255, verbose_name=b'Facebook', blank=True)), - ('googleplus', models.URLField(max_length=255, verbose_name=b'Google+', blank=True)), - ('twitter', models.URLField(max_length=255, verbose_name=b'Twitter', blank=True)), - ('community_admin', models.ForeignKey(related_name=b'community', verbose_name=b'Community admin', to='users.SystersUser')), - ('members', models.ManyToManyField(related_name=b'communities', null=True, verbose_name=b'Members', to='users.SystersUser', blank=True)), - ('parent_community', models.ForeignKey(verbose_name=b'Parent community', blank=True, to='community.Community', null=True)), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, verbose_name='Name')), + ('slug', models.SlugField(max_length=150, unique=True, verbose_name='Slug')), + ('order', models.IntegerField(unique=True, verbose_name='Order')), + ('email', models.EmailField(blank=True, max_length=255, verbose_name='Email')), + ('mailing_list', models.EmailField(blank=True, max_length=255, verbose_name='Mailing list')), + ('website', models.URLField(blank=True, max_length=255, verbose_name='Website')), + ('facebook', models.URLField(blank=True, max_length=255, verbose_name='Facebook')), + ('googleplus', models.URLField(blank=True, max_length=255, verbose_name='Google+')), + ('twitter', models.URLField(blank=True, max_length=255, verbose_name='Twitter')), ], options={ 'verbose_name_plural': 'Communities', + 'permissions': (('add_community_systersuser', 'Add community Systers User'), ('change_community_systersuser', 'Change community Systers User'), ('delete_community_systersuser', 'Delete community Systers User'), ('add_community_news', 'Add community news'), ('change_community_news', 'Change community news'), ('delete_community_news', 'Delete community news'), ('add_community_resource', 'Add community resource'), ('change_community_resource', 'Change community resource'), ('delete_community_resource', 'Delete community resource'), ('add_community_page', 'Add community page'), ('change_community_page', 'Change community page'), ('delete_community_page', 'Delete community page'), ('approve_community_comment', 'Approve community comment'), ('delete_community_comment', 'Delete community comment'), ('approve_community_joinrequest', 'Approve community join request')), }, - bases=(models.Model,), + ), + migrations.CreateModel( + name='CommunityPage', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('slug', models.SlugField(max_length=150, verbose_name='Slug')), + ('title', models.CharField(max_length=255, verbose_name='Title')), + ('date_created', models.DateField(auto_now_add=True, verbose_name='Date published')), + ('date_modified', models.DateField(auto_now=True, verbose_name='Date last modified')), + ('content', ckeditor.fields.RichTextField(verbose_name='Content')), + ('order', models.IntegerField(verbose_name='Order')), + ], + ), + migrations.CreateModel( + name='RequestCommunity', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, verbose_name='Proposed Community Name')), + ('slug', models.SlugField(max_length=150, unique=True, verbose_name='Slug')), + ('order', models.PositiveIntegerField(blank=True, null=True, verbose_name='Order')), + ('email', models.EmailField(blank=True, max_length=255, verbose_name=' At what email address would you like to be contacted?')), + ('mailing_list', models.EmailField(blank=True, max_length=255, verbose_name='Mailing list of the community')), + ('website', models.URLField(blank=True, max_length=255, verbose_name='Link to the website')), + ('facebook', models.URLField(blank=True, max_length=255, verbose_name='Link to the community on Facebook')), + ('googleplus', models.URLField(blank=True, max_length=255, verbose_name='Link to the community on Google+')), + ('twitter', models.URLField(blank=True, max_length=255, verbose_name='Link to the community on Twitter')), + ('is_member', models.CharField(choices=[('Yes', 'Yes'), ('No', 'No')], default=None, max_length=25, verbose_name='Are you a member of Systers?')), + ('email_id', models.EmailField(blank=True, max_length=255, verbose_name='What email have you used to sign up for Systers?')), + ('type_community', models.CharField(choices=[('Affinity Group', 'Affinity Group (Latinas in Computing, LGBT, etc)'), ('Special Interest Group', 'Special Interest Group (Student Researchers, Systers in Government,Women in Cyber Security, etc) '), ('Email list', 'Email list (using Mailman3)'), ('Other', 'Other')], default=None, max_length=255, verbose_name='Type of Community')), + ('other_community_type', models.CharField(blank=True, max_length=255, verbose_name='Other type of community(Please specify)')), + ('community_channel', models.CharField(choices=[('Existing Social Media Channels ', 'Existing Social Media Channels '), ('Request New Social Media Channels ', 'Request New Social Media Channels ')], default=None, max_length=255, verbose_name='Online Community Channels')), + ('social_presence', models.CharField(max_length=255, null=True, verbose_name='Check off all the social media accounts you can manage for your proposed community:')), + ('other_account', models.CharField(blank=True, max_length=25, verbose_name='Other social channel(Please specify)')), + ('demographic_target_count', models.TextField(blank=True, verbose_name='Who will it serve ( explain target demographics and number of people):')), + ('purpose', models.TextField(blank=True, verbose_name='Explain the purpose and need for this group or account:')), + ('is_avail_volunteer', models.CharField(choices=[('Yes', 'Yes'), ('No', 'No')], default=None, max_length=25, verbose_name='Do you have volunteers committed?')), + ('count_avail_volunteer', models.PositiveIntegerField(default=0, verbose_name='If yes, how many?')), + ('content_developer', models.TextField(blank=True, verbose_name='Explain the content of this group. What service will this group provide (example: discussion, linksharing, support)? Who will develop the content? What kind of content will be shared in the group? How often will moderators post/engage with users?')), + ('selection_criteria', models.TextField(blank=True, verbose_name='Will there be screening of new members of will this group be open to anyone? If there will be screening,what will the criteria for membership be?')), + ('is_real_time', models.TextField(blank=True, verbose_name=' Will there be real-time meetings in addition to an online community? (Example, at the Grace Hopper Celebration; regional meetings; etc)')), + ('is_approved', models.BooleanField(default=False, verbose_name='Approved')), + ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), + ], ), ] diff --git a/systers_portal/community/migrations/0002_auto_20200721_1828.py b/systers_portal/community/migrations/0002_auto_20200721_1828.py new file mode 100644 index 00000000..7fb4f664 --- /dev/null +++ b/systers_portal/community/migrations/0002_auto_20200721_1828.py @@ -0,0 +1,72 @@ +# Generated by Django 3.0.8 on 2020-07-21 18:28 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('community', '0001_initial'), + ('cities_light', '0009_add_subregion'), + ('users', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='requestcommunity', + name='approved_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='Approved by'), + ), + migrations.AddField( + model_name='requestcommunity', + name='location', + field=models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Location'), + ), + migrations.AddField( + model_name='requestcommunity', + name='parent_community', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='community.Community', verbose_name='Parent community'), + ), + migrations.AddField( + model_name='requestcommunity', + name='user', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='requestor', to='users.SystersUser', verbose_name='Created by'), + ), + migrations.AddField( + model_name='communitypage', + name='author', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='Author'), + ), + migrations.AddField( + model_name='communitypage', + name='community', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='community.Community', verbose_name='Community'), + ), + migrations.AddField( + model_name='community', + name='admin', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='community', to='users.SystersUser', verbose_name='Community admin'), + ), + migrations.AddField( + model_name='community', + name='location', + field=models.ForeignKey(default='', on_delete=django.db.models.deletion.DO_NOTHING, to='cities_light.City', verbose_name='Location'), + ), + migrations.AddField( + model_name='community', + name='members', + field=models.ManyToManyField(blank=True, related_name='communities', to='users.SystersUser', verbose_name='Members'), + ), + migrations.AddField( + model_name='community', + name='parent_community', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='community.Community', verbose_name='Parent community'), + ), + migrations.AlterUniqueTogether( + name='communitypage', + unique_together={('community', 'order'), ('community', 'slug')}, + ), + ] diff --git a/systers_portal/community/migrations/0002_communitypage.py b/systers_portal/community/migrations/0002_communitypage.py deleted file mode 100644 index 26c54e50..00000000 --- a/systers_portal/community/migrations/0002_communitypage.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('users', '0001_squashed_0003_auto_20160207_1550'), - ('community', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='CommunityPage', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('slug', models.SlugField(unique=True, max_length=150, verbose_name=b'Slug')), - ('title', models.CharField(max_length=255, verbose_name=b'Title')), - ('date_created', models.DateField(auto_now_add=True, verbose_name=b'Date published')), - ('date_modified', models.DateField(auto_now=True, verbose_name=b'Date last modified')), - ('content', models.TextField(verbose_name=b'Content')), - ('order', models.IntegerField(unique=True, verbose_name=b'Order')), - ('author', models.ForeignKey(verbose_name=b'Author', to='users.SystersUser')), - ('community', models.ForeignKey(verbose_name=b'Community', to='community.Community')), - ], - options={ - 'abstract': False, - }, - bases=(models.Model,), - ), - ] diff --git a/systers_portal/community/migrations/0003_auto_20140928_2034.py b/systers_portal/community/migrations/0003_auto_20140928_2034.py deleted file mode 100644 index 4f6b0bf4..00000000 --- a/systers_portal/community/migrations/0003_auto_20140928_2034.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import ckeditor.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('community', '0002_communitypage'), - ] - - operations = [ - migrations.AlterField( - model_name='communitypage', - name='content', - field=ckeditor.fields.RichTextField(verbose_name=b'Content'), - ), - ] diff --git a/systers_portal/community/migrations/0004_joinrequest.py b/systers_portal/community/migrations/0004_joinrequest.py deleted file mode 100644 index 889eceb2..00000000 --- a/systers_portal/community/migrations/0004_joinrequest.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('users', '0001_squashed_0003_auto_20160207_1550'), - ('community', '0003_auto_20140928_2034'), - ] - - operations = [ - migrations.CreateModel( - name='JoinRequest', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('date_created', models.DateTimeField(auto_now_add=True)), - ('is_approved', models.BooleanField(default=False)), - ('approved_by', models.ForeignKey(related_name=b'approved_by', blank=True, to='users.SystersUser', null=True)), - ('community', models.ForeignKey(to='community.Community')), - ('user', models.ForeignKey(related_name=b'created_by', to='users.SystersUser')), - ], - options={ - }, - bases=(models.Model,), - ), - ] diff --git a/systers_portal/community/migrations/0005_auto_20141006_2117.py b/systers_portal/community/migrations/0005_auto_20141006_2117.py deleted file mode 100644 index c98b60db..00000000 --- a/systers_portal/community/migrations/0005_auto_20141006_2117.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('community', '0004_joinrequest'), - ] - - operations = [ - migrations.AlterModelOptions( - name='community', - options={'verbose_name_plural': 'Communities', 'permissions': (('add_community_systersuser', 'Add community Systers User'), ('change_community_systersuser', 'Change community Systers User'), ('delete_community_systersuser', 'Delete community Systers User'), ('add_community_news', 'Add community news'), ('change_community_news', 'Change community news'), ('delete_community_news', 'Delete community news'), ('add_community_resource', 'Add community resource'), ('change_community_resource', 'Change community resource'), ('delete_community_resource', 'Delete community resource'), ('add_community_page', 'Add community page'), ('change_community_page', 'Change community page'), ('delete_community_page', 'Delete community page'), ('approve_community_comment', 'Approve community comment'), ('delete_community_comment', 'Delete community comment'), ('approve_community_joinrequest', 'Approve community join request'))}, - ), - ] diff --git a/systers_portal/community/migrations/0006_auto_20150208_0818.py b/systers_portal/community/migrations/0006_auto_20150208_0818.py deleted file mode 100644 index 20149d08..00000000 --- a/systers_portal/community/migrations/0006_auto_20150208_0818.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('community', '0005_auto_20141006_2117'), - ] - - operations = [ - migrations.RemoveField( - model_name='joinrequest', - name='approved_by', - ), - migrations.RemoveField( - model_name='joinrequest', - name='community', - ), - migrations.RemoveField( - model_name='joinrequest', - name='user', - ), - migrations.DeleteModel( - name='JoinRequest', - ), - ] diff --git a/systers_portal/community/migrations/0007_auto_20150227_0728.py b/systers_portal/community/migrations/0007_auto_20150227_0728.py deleted file mode 100644 index f20a7b88..00000000 --- a/systers_portal/community/migrations/0007_auto_20150227_0728.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 = [ - ('community', '0006_auto_20150208_0818'), - ] - - operations = [ - migrations.RenameField( - model_name='community', - old_name='community_admin', - new_name='admin', - ), - ] diff --git a/systers_portal/community/migrations/0008_auto_20150420_1504.py b/systers_portal/community/migrations/0008_auto_20150420_1504.py deleted file mode 100644 index 121dc158..00000000 --- a/systers_portal/community/migrations/0008_auto_20150420_1504.py +++ /dev/null @@ -1,135 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import ckeditor.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('community', '0007_auto_20150227_0728'), - ] - - operations = [ - migrations.AlterField( - model_name='community', - name='admin', - field=models.ForeignKey(verbose_name='Community admin', to='users.SystersUser', related_name='community'), - preserve_default=True, - ), - migrations.AlterField( - model_name='community', - name='email', - field=models.EmailField(blank=True, verbose_name='Email', max_length=255), - preserve_default=True, - ), - migrations.AlterField( - model_name='community', - name='facebook', - field=models.URLField(blank=True, verbose_name='Facebook', max_length=255), - preserve_default=True, - ), - migrations.AlterField( - model_name='community', - name='googleplus', - field=models.URLField(blank=True, verbose_name='Google+', max_length=255), - preserve_default=True, - ), - migrations.AlterField( - model_name='community', - name='mailing_list', - field=models.EmailField(blank=True, verbose_name='Mailing list', max_length=255), - preserve_default=True, - ), - migrations.AlterField( - model_name='community', - name='members', - field=models.ManyToManyField(null=True, blank=True, verbose_name='Members', to='users.SystersUser', related_name='communities'), - preserve_default=True, - ), - migrations.AlterField( - model_name='community', - name='name', - field=models.CharField(verbose_name='Name', max_length=255), - preserve_default=True, - ), - migrations.AlterField( - model_name='community', - name='order', - field=models.IntegerField(unique=True, verbose_name='Order'), - preserve_default=True, - ), - migrations.AlterField( - model_name='community', - name='parent_community', - field=models.ForeignKey(blank=True, verbose_name='Parent community', to='community.Community', null=True), - preserve_default=True, - ), - migrations.AlterField( - model_name='community', - name='slug', - field=models.SlugField(unique=True, verbose_name='Slug', max_length=150), - preserve_default=True, - ), - migrations.AlterField( - model_name='community', - name='twitter', - field=models.URLField(blank=True, verbose_name='Twitter', max_length=255), - preserve_default=True, - ), - migrations.AlterField( - model_name='community', - name='website', - field=models.URLField(blank=True, verbose_name='Website', max_length=255), - preserve_default=True, - ), - migrations.AlterField( - model_name='communitypage', - name='author', - field=models.ForeignKey(verbose_name='Author', to='users.SystersUser'), - preserve_default=True, - ), - migrations.AlterField( - model_name='communitypage', - name='community', - field=models.ForeignKey(verbose_name='Community', to='community.Community'), - preserve_default=True, - ), - migrations.AlterField( - model_name='communitypage', - name='content', - field=ckeditor.fields.RichTextField(verbose_name='Content'), - preserve_default=True, - ), - migrations.AlterField( - model_name='communitypage', - name='date_created', - field=models.DateField(auto_now_add=True, verbose_name='Date published'), - preserve_default=True, - ), - migrations.AlterField( - model_name='communitypage', - name='date_modified', - field=models.DateField(auto_now=True, verbose_name='Date last modified'), - preserve_default=True, - ), - migrations.AlterField( - model_name='communitypage', - name='order', - field=models.IntegerField(unique=True, verbose_name='Order'), - preserve_default=True, - ), - migrations.AlterField( - model_name='communitypage', - name='slug', - field=models.SlugField(verbose_name='Slug', max_length=150), - preserve_default=True, - ), - migrations.AlterField( - model_name='communitypage', - name='title', - field=models.CharField(verbose_name='Title', max_length=255), - preserve_default=True, - ), - ] diff --git a/systers_portal/community/migrations/0009_auto_20150420_1536.py b/systers_portal/community/migrations/0009_auto_20150420_1536.py deleted file mode 100644 index 5e606c04..00000000 --- a/systers_portal/community/migrations/0009_auto_20150420_1536.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 = [ - ('community', '0008_auto_20150420_1504'), - ] - - operations = [ - migrations.AlterField( - model_name='communitypage', - name='order', - field=models.IntegerField(verbose_name='Order'), - preserve_default=True, - ), - ] diff --git a/systers_portal/community/migrations/0010_auto_20150522_1138.py b/systers_portal/community/migrations/0010_auto_20150522_1138.py deleted file mode 100644 index 5c0425cf..00000000 --- a/systers_portal/community/migrations/0010_auto_20150522_1138.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('community', '0009_auto_20150420_1536'), - ] - - operations = [ - migrations.AlterUniqueTogether( - name='communitypage', - unique_together=set([('community', 'slug'), ('community', 'order')]), - ), - ] diff --git a/systers_portal/community/migrations/0011_auto_20150522_1233.py b/systers_portal/community/migrations/0011_auto_20150522_1233.py deleted file mode 100644 index 64b54744..00000000 --- a/systers_portal/community/migrations/0011_auto_20150522_1233.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 = [ - ('community', '0010_auto_20150522_1138'), - ] - - operations = [ - migrations.AlterField( - model_name='community', - name='members', - field=models.ManyToManyField(blank=True, related_name='communities', to='users.SystersUser', verbose_name='Members'), - ), - ] diff --git a/systers_portal/community/migrations/0012_requestcommunity.py b/systers_portal/community/migrations/0012_requestcommunity.py deleted file mode 100644 index a94bfec8..00000000 --- a/systers_portal/community/migrations/0012_requestcommunity.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2018-03-09 12:17 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('users', '0001_squashed_0003_auto_20160207_1550'), - ('community', '0011_auto_20150522_1233'), - ] - - operations = [ - migrations.CreateModel( - name='RequestCommunity', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=255, verbose_name='Proposed Community Name')), - ('slug', models.SlugField(max_length=150, unique=True, verbose_name='Slug')), - ('order', models.PositiveIntegerField(blank=True, null=True, verbose_name='Order')), - ('email', models.EmailField(blank=True, max_length=255, verbose_name=' At what email address would you like to be contacted?')), - ('mailing_list', models.EmailField(blank=True, max_length=255, verbose_name='Mailing list of the community')), - ('website', models.URLField(blank=True, max_length=255, verbose_name='Link to the website')), - ('facebook', models.URLField(blank=True, max_length=255, verbose_name='Link to the community on Facebook')), - ('googleplus', models.URLField(blank=True, max_length=255, verbose_name='Link to the community on Google+')), - ('twitter', models.URLField(blank=True, max_length=255, verbose_name='Link to the community on Twitter')), - ('is_member', models.CharField(choices=[('Yes', 'Yes'), ('No', 'No')], default=None, max_length=25, verbose_name='Are you a member of Systers?')), - ('email_id', models.EmailField(blank=True, max_length=255, verbose_name='What email have you used to sign up for Systers?')), - ('type_community', models.CharField(choices=[('Affinity Group', 'Affinity Group (Latinas in Computing, LGBT, etc'), ('Special Interest Group', 'Special Interest Group (Student Researchers, Systers in Government,Women in Cyber Security, etc) '), ('Email list', 'Email list (using Mailman3)'), ('Other', 'Other')], default=None, max_length=255, verbose_name='Type of Community')), - ('other_community_type', models.CharField(blank=True, max_length=255, verbose_name='Other type of community(Please specify)')), - ('community_channel', models.CharField(choices=[('Existing Social Media Channels ', 'Existing Social Media Channels '), ('Request New Social Media Channels ', 'Request New Social Media Channels ')], default=None, max_length=255, verbose_name='Online Community Channels')), - ('social_presence', models.CharField(max_length=255, null=True, verbose_name='Check off all the social media accounts you can manage for your proposed community:')), - ('other_account', models.CharField(blank=True, max_length=25, verbose_name='Other social channel(Please specify)')), - ('demographic_target_count', models.TextField(blank=True, verbose_name='Who will it serve ( explain target demographics and number of people):')), - ('purpose', models.TextField(blank=True, verbose_name='Explain the purpose and need for this group or account:')), - ('is_avail_volunteer', models.CharField(choices=[('Yes', 'Yes'), ('No', 'No')], default=None, max_length=25, verbose_name='Do you have volunteers committed?')), - ('count_avail_volunteer', models.PositiveIntegerField(default=0, verbose_name='If yes, how many?')), - ('content_developer', models.TextField(blank=True, verbose_name='Explain the content of this group. What service will this group provide (example: discussion, linksharing, support)? Who will develop the content? What kind of content will be shared in the group? How often will moderators post/engage with users?')), - ('selection_criteria', models.TextField(blank=True, verbose_name='Will there be screening of new members of will this group be open to anyone? If there will be screening,what will the criteria for membership be?')), - ('is_real_time', models.TextField(blank=True, verbose_name=' Will there be real-time meetings in addition to an online community? (Example, at the Grace Hopper Celebration; regional meetings; etc)')), - ('is_approved', models.BooleanField(default=False, verbose_name='Approved')), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), - ('approved_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='Approved by')), - ('parent_community', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='community.Community', verbose_name='Parent community')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='requestor', to='users.SystersUser', verbose_name='Created by')), - ], - ), - ] diff --git a/systers_portal/community/migrations/0013_auto_20200316_1806.py b/systers_portal/community/migrations/0013_auto_20200316_1806.py deleted file mode 100644 index ec8e9dd7..00000000 --- a/systers_portal/community/migrations/0013_auto_20200316_1806.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2020-03-16 18:06 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('community', '0012_requestcommunity'), - ] - - operations = [ - migrations.AlterField( - model_name='requestcommunity', - name='type_community', - field=models.CharField(choices=[('Affinity Group', 'Affinity Group (Latinas in Computing, LGBT, etc)'), ('Special Interest Group', 'Special Interest Group (Student Researchers, Systers in Government,Women in Cyber Security, etc) '), ('Email list', 'Email list (using Mailman3)'), ('Other', 'Other')], default=None, max_length=255, verbose_name='Type of Community'), - ), - ] diff --git a/systers_portal/community/migrations/0013_auto_20200403_1757.py b/systers_portal/community/migrations/0013_auto_20200403_1757.py deleted file mode 100644 index 058d7334..00000000 --- a/systers_portal/community/migrations/0013_auto_20200403_1757.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2020-04-03 17:57 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('community', '0012_requestcommunity'), - ] - - operations = [ - migrations.AlterField( - model_name='requestcommunity', - name='type_community', - field=models.CharField(choices=[('Affinity Group', 'Affinity Group (Latinas in Computing, LGBT, etc)'), ('Special Interest Group', 'Special Interest Group (Student Researchers, Systers in Government,Women in Cyber Security, etc) '), ('Email list', 'Email list (using Mailman3)'), ('Other', 'Other')], default=None, max_length=255, verbose_name='Type of Community'), - ), - ] diff --git a/systers_portal/community/migrations/0014_auto_20200324_1252.py b/systers_portal/community/migrations/0014_auto_20200324_1252.py deleted file mode 100644 index 4feb2025..00000000 --- a/systers_portal/community/migrations/0014_auto_20200324_1252.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2020-03-24 12:52 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('community', '0013_auto_20200316_1806'), - ] - - operations = [ - migrations.AlterField( - model_name='requestcommunity', - name='type_community', - field=models.CharField(choices=[('Affinity Group', 'Affinity Group (Latinas in Computing, LGBT, etc'), ('Special Interest Group', 'Special Interest Group (Student Researchers, Systers in Government,Women in Cyber Security, etc) '), ('Email list', 'Email list (using Mailman3)'), ('Other', 'Other')], default=None, max_length=255, verbose_name='Type of Community'), - ), - ] diff --git a/systers_portal/community/migrations/0015_merge_20200404_0832.py b/systers_portal/community/migrations/0015_merge_20200404_0832.py deleted file mode 100644 index 57373a97..00000000 --- a/systers_portal/community/migrations/0015_merge_20200404_0832.py +++ /dev/null @@ -1,16 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2020-04-04 08:32 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('community', '0013_auto_20200403_1757'), - ('community', '0014_auto_20200324_1252'), - ] - - operations = [ - ] diff --git a/systers_portal/community/migrations/0016_auto_20200606_0719.py b/systers_portal/community/migrations/0016_auto_20200606_0719.py deleted file mode 100644 index 3e8e6e5d..00000000 --- a/systers_portal/community/migrations/0016_auto_20200606_0719.py +++ /dev/null @@ -1,27 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2020-06-06 07:19 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('cities_light', '0006_compensate_for_0003_bytestring_bug'), - ('community', '0015_merge_20200404_0832'), - ] - - operations = [ - migrations.AddField( - model_name='community', - name='location', - field=models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Location'), - ), - migrations.AddField( - model_name='requestcommunity', - name='location', - field=models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Location'), - ), - ] diff --git a/systers_portal/community/migrations/0017_auto_20200608_1920.py b/systers_portal/community/migrations/0017_auto_20200608_1920.py deleted file mode 100644 index 5dbc3b94..00000000 --- a/systers_portal/community/migrations/0017_auto_20200608_1920.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2020-06-08 19:20 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('community', '0016_auto_20200606_0719'), - ] - - operations = [ - migrations.AlterField( - model_name='community', - name='location', - field=models.ForeignKey(default='', on_delete=django.db.models.deletion.DO_NOTHING, to='cities_light.City', verbose_name='Location'), - ), - ] diff --git a/systers_portal/community/models.py b/systers_portal/community/models.py index dd1393e0..4de0063f 100644 --- a/systers_portal/community/models.py +++ b/systers_portal/community/models.py @@ -1,5 +1,5 @@ from django.contrib.auth.models import Group -from django.core.urlresolvers import reverse +from django.urls import reverse from django.db import models from common.models import Post @@ -25,9 +25,9 @@ class Community(models.Model): related_name='communities', verbose_name="Members") admin = models.ForeignKey(SystersUser, related_name='community', - verbose_name="Community admin") + verbose_name="Community admin", on_delete=models.CASCADE) parent_community = models.ForeignKey('self', blank=True, null=True, - verbose_name="Parent community") + verbose_name="Parent community", on_delete=models.CASCADE) website = models.URLField(max_length=255, blank=True, verbose_name="Website") facebook = models.URLField(max_length=255, blank=True, @@ -144,13 +144,14 @@ class RequestCommunity(models.Model): slug = models.SlugField(max_length=150, unique=True, verbose_name="Slug") order = models.PositiveIntegerField( null=True, blank=True, verbose_name="Order") - location = models.ForeignKey(City, verbose_name="Location", default="") + location = models.ForeignKey(City, verbose_name="Location", + default="", on_delete=models.CASCADE) email = models.EmailField(max_length=255, blank=True, verbose_name=" At what email address would you like to be contacted?") mailing_list = models.EmailField(max_length=255, blank=True, verbose_name="Mailing list of the community") parent_community = models.ForeignKey(Community, blank=True, null=True, - verbose_name="Parent community") + verbose_name="Parent community", on_delete=models.CASCADE) website = models.URLField(max_length=255, blank=True, verbose_name="Link to the website") facebook = models.URLField(max_length=255, blank=True, @@ -197,10 +198,10 @@ class RequestCommunity(models.Model): verbose_name=" Will there be real-time meetings in addition to an online community?\ (Example, at the Grace Hopper Celebration; regional meetings; etc)") user = models.ForeignKey( - SystersUser, verbose_name="Created by", related_name="requestor") + SystersUser, verbose_name="Created by", related_name="requestor", on_delete=models.CASCADE) is_approved = models.BooleanField(default=False, verbose_name="Approved") approved_by = models.ForeignKey(SystersUser, blank=True, null=True, - verbose_name='Approved by') + verbose_name='Approved by', on_delete=models.CASCADE) date_created = models.DateTimeField( auto_now_add=True, verbose_name="Date created") @@ -228,7 +229,7 @@ def get_verbose_fields(self): class CommunityPage(Post): """Model to represent an arbitrary community page""" order = models.IntegerField(verbose_name="Order") - community = models.ForeignKey(Community, verbose_name="Community") + community = models.ForeignKey(Community, verbose_name="Community", on_delete=models.CASCADE) class Meta: unique_together = (('community', 'slug'), ('community', 'order')) diff --git a/systers_portal/community/tests/test_views.py b/systers_portal/community/tests/test_views.py index 7f5016d1..e5791fbb 100644 --- a/systers_portal/community/tests/test_views.py +++ b/systers_portal/community/tests/test_views.py @@ -1,6 +1,6 @@ from cities_light.models import City, Country from django.contrib.auth.models import User, Group -from django.core.urlresolvers import reverse +from django.urls import reverse from django.db.models.signals import post_save, post_delete from django.test import TestCase diff --git a/systers_portal/community/views.py b/systers_portal/community/views.py index 69b945db..89b260f6 100644 --- a/systers_portal/community/views.py +++ b/systers_portal/community/views.py @@ -1,6 +1,6 @@ from django.contrib.auth.models import User from django.contrib import messages -from django.core.urlresolvers import reverse +from django.urls import reverse from django.http import JsonResponse from django.shortcuts import get_object_or_404, render from django.template.loader import render_to_string diff --git a/systers_portal/meetup/migrations/0001_initial.py b/systers_portal/meetup/migrations/0001_initial.py index 9ab4eec6..fa53123f 100644 --- a/systers_portal/meetup/migrations/0001_initial.py +++ b/systers_portal/meetup/migrations/0001_initial.py @@ -1,6 +1,4 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2018-08-08 17:45 -from __future__ import unicode_literals +# Generated by Django 3.0.8 on 2020-07-21 18:28 import ckeditor.fields from django.db import migrations, models @@ -12,9 +10,6 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('cities_light', '0006_compensate_for_0003_bytestring_bug'), - ('users', '0001_squashed_0003_auto_20160207_1550'), - ('cities_light', '0006_compensate_for_0003_bytestring_bug'), ] operations = [ @@ -31,26 +26,10 @@ class Migration(migrations.Migration): ('venue', models.CharField(blank=True, max_length=512, verbose_name='Venue')), ('description', models.TextField(verbose_name='Description')), ('last_updated', models.DateTimeField(auto_now=True, verbose_name='Last Update')), - ('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='Created By')), - ], - ), - migrations.CreateModel( - name='MeetupLocation', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=255, unique=True, verbose_name='Name')), - ('slug', models.SlugField(max_length=150, unique=True, verbose_name='Slug')), - ('description', ckeditor.fields.RichTextField(verbose_name='Description')), - ('email', models.EmailField(blank=True, max_length=255, verbose_name='Email')), - ('sponsors', ckeditor.fields.RichTextField(blank=True, verbose_name='Sponsors')), - ('join_requests', models.ManyToManyField(blank=True, related_name='Join_Requests', to='users.SystersUser', verbose_name='Join Requests')), - ('leader', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='community_leader', to='users.SystersUser', verbose_name='Community leader')), - ('location', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Location')), - ('members', models.ManyToManyField(blank=True, related_name='community_members', to='users.SystersUser', verbose_name='Community Members')), - ('moderators', models.ManyToManyField(related_name='community_moderators', to='users.SystersUser', verbose_name='Community Moderators')), + ('meetup_picture', models.ImageField(blank=True, null=True, upload_to='meetup/pictures/', verbose_name='Meetup picture')), ], options={ - 'permissions': (('add_meetup_location_member', 'Add meetup location member'), ('delete_meetup_location_member', 'Delete meetup location member'), ('add_meetup_location_moderator', 'Add meetup location moderator'), ('delete_meetup_location_moderator', 'Delete meetup location moderator'), ('approve_meetup_location_joinrequest', 'Approve meetup location join request'), ('reject_meetup_location_joinrequest', 'Reject meetup location join request'), ('approve_meetup_location_meetuprequest', 'Approve meetup location meetup request'), ('reject_meetup_location_meetuprequest', 'Reject meetup location meetup request'), ('view_meetup_location_meetuprequest', 'View meetup location meetup request'), ('approve_meetup_comment', 'Approve comment for a meetup'), ('reject_meetup_comment', 'Reject comment for a meetup'), ('add_meetup_rsvp', 'RSVP for a meetup'), ('approve_support_request', 'Approve support request'), ('reject_support_request', 'Reject support request'), ('add_support_request_comment', 'Add comment for a support request'), ('edit_support_request_comment', 'Edit comment for a support request'), ('delete_support_request_comment', 'Delete comment for a support request'), ('approve_support_request_comment', 'Approve comment for a support request'), ('reject_support_request_comment', 'Reject comment for a support request')), + 'permissions': (('view_meetup_request', 'View Meetup Request'), ('approve_meetup_request', 'Approve Meetup Request'), ('reject_meetup_request', 'Reject Meetup Request'), ('add_meetups', 'Add Meetups'), ('delete_meetups', 'Delete Meetup'), ('change_meetups', 'Change Meetup'), ('add_meetup_rsvp', 'Add Meetup RSVP'), ('add_support_request', 'Add Support Request'), ('edit_support_request', 'Edit Support Request'), ('delete_support_request', 'Delete Support Request'), ('approve_support_request', 'Approve Support Request'), ('reject_support_request', 'Reject Support Request'), ('add_support_request_comment', 'Add Support Request Comment')), }, ), migrations.CreateModel( @@ -65,24 +44,6 @@ class Migration(migrations.Migration): ('description', ckeditor.fields.RichTextField(verbose_name='Description')), ('date_created', models.DateTimeField(auto_now_add=True)), ('is_approved', models.BooleanField(default=False)), - ('approved_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='approvedBy', to='users.SystersUser')), - ('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='Created By')), - ('meetup_location', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='meetup.MeetupLocation', verbose_name='Meetup Location')), - ], - ), - migrations.CreateModel( - name='RequestMeetupLocation', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=255, unique=True, verbose_name='Name of the Meetup Location.(Naming convention for Systers meetup location is City+Systers.e.g.London Systers, Boston Systers.)')), - ('slug', models.SlugField(max_length=150, unique=True, verbose_name='Slug of the Meetup Location')), - ('description', ckeditor.fields.RichTextField(verbose_name='Description of the Meetup Location')), - ('email', models.EmailField(blank=True, max_length=255, verbose_name='Email of the Meetup Location if any.')), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), - ('is_approved', models.BooleanField(default=False, verbose_name='Is this Approved?')), - ('approved_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='approvedby', to='users.SystersUser', verbose_name='Approved By')), - ('location', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Location')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='createdby', to='users.SystersUser', verbose_name='Requested By')), ], ), migrations.CreateModel( @@ -91,8 +52,6 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('coming', models.BooleanField(default=True)), ('plus_one', models.BooleanField(default=False)), - ('meetup', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='meetup.Meetup', verbose_name='Meetup')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='User')), ], ), migrations.CreateModel( @@ -102,16 +61,6 @@ class Migration(migrations.Migration): ('description', models.TextField(blank=True, verbose_name='Description')), ('is_approved', models.BooleanField(default=False)), ('meetup', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='meetup.Meetup', verbose_name='Meetup')), - ('volunteer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='Volunteer')), ], ), - migrations.AddField( - model_name='meetup', - name='meetup_location', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='meetup.MeetupLocation', verbose_name='Meetup Location'), - ), - migrations.AlterUniqueTogether( - name='rsvp', - unique_together=set([('user', 'meetup')]), - ), ] diff --git a/systers_portal/meetup/migrations/0002_auto_20200721_1828.py b/systers_portal/meetup/migrations/0002_auto_20200721_1828.py new file mode 100644 index 00000000..9927d11d --- /dev/null +++ b/systers_portal/meetup/migrations/0002_auto_20200721_1828.py @@ -0,0 +1,67 @@ +# Generated by Django 3.0.8 on 2020-07-21 18:28 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('meetup', '0001_initial'), + ('cities_light', '0009_add_subregion'), + ('users', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='supportrequest', + name='volunteer', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='Volunteer'), + ), + migrations.AddField( + model_name='rsvp', + name='meetup', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='meetup.Meetup', verbose_name='Meetup'), + ), + migrations.AddField( + model_name='rsvp', + name='user', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='User'), + ), + migrations.AddField( + model_name='requestmeetup', + name='approved_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='approvedBy', to='users.SystersUser'), + ), + migrations.AddField( + model_name='requestmeetup', + name='created_by', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='Created By'), + ), + migrations.AddField( + model_name='requestmeetup', + name='meetup_location', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Meetup Location'), + ), + migrations.AddField( + model_name='meetup', + name='created_by', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='users.SystersUser', verbose_name='Created By'), + ), + migrations.AddField( + model_name='meetup', + name='leader', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='community_leader', to='users.SystersUser', verbose_name='Community leader'), + ), + migrations.AddField( + model_name='meetup', + name='meetup_location', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Meetup Location'), + ), + migrations.AlterUniqueTogether( + name='rsvp', + unique_together={('user', 'meetup')}, + ), + ] diff --git a/systers_portal/meetup/migrations/0002_meetup_meetup_picture.py b/systers_portal/meetup/migrations/0002_meetup_meetup_picture.py deleted file mode 100644 index 3245b250..00000000 --- a/systers_portal/meetup/migrations/0002_meetup_meetup_picture.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2020-03-16 14:26 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('meetup', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='meetup', - name='meetup_picture', - field=models.ImageField(blank=True, null=True, upload_to='meetup/pictures/', verbose_name='Meetup picture'), - ), - ] diff --git a/systers_portal/meetup/migrations/0003_auto_20200620_2133.py b/systers_portal/meetup/migrations/0003_auto_20200620_2133.py deleted file mode 100644 index eda24a39..00000000 --- a/systers_portal/meetup/migrations/0003_auto_20200620_2133.py +++ /dev/null @@ -1,74 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2020-06-20 21:33 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('users', '0001_squashed_0003_auto_20160207_1550'), - ('meetup', '0002_meetup_meetup_picture'), - ] - - operations = [ - migrations.RemoveField( - model_name='meetuplocation', - name='join_requests', - ), - migrations.RemoveField( - model_name='meetuplocation', - name='leader', - ), - migrations.RemoveField( - model_name='meetuplocation', - name='location', - ), - migrations.RemoveField( - model_name='meetuplocation', - name='members', - ), - migrations.RemoveField( - model_name='meetuplocation', - name='moderators', - ), - migrations.RemoveField( - model_name='requestmeetuplocation', - name='approved_by', - ), - migrations.RemoveField( - model_name='requestmeetuplocation', - name='location', - ), - migrations.RemoveField( - model_name='requestmeetuplocation', - name='user', - ), - migrations.AlterModelOptions( - name='meetup', - options={'permissions': (('view_meetup_request', 'View Meetup Request'), ('approve_meetup_request', 'Approve Meetup Request'), ('reject_meetup_request', 'Reject Meetup Request'), ('add_meetups', 'Add Meetups'), ('delete_meetups', 'Delete Meetup'), ('change_meetups', 'Change Meetup'), ('add_meetup_rsvp', 'Add Meetup RSVP'), ('add_support_request', 'Add Support Request'), ('edit_support_request', 'Edit Support Request'), ('delete_support_request', 'Delete Support Request'), ('approve_support_request', 'Approve Support Request'), ('reject_support_request', 'Reject Support Request'), ('add_support_request_comment', 'Add Support Request Comment'))}, - ), - migrations.AddField( - model_name='meetup', - name='leader', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='community_leader', to='users.SystersUser', verbose_name='Community leader'), - ), - migrations.AlterField( - model_name='meetup', - name='meetup_location', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Meetup Location'), - ), - migrations.AlterField( - model_name='requestmeetup', - name='meetup_location', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Meetup Location'), - ), - migrations.DeleteModel( - name='MeetupLocation', - ), - migrations.DeleteModel( - name='RequestMeetupLocation', - ), - ] diff --git a/systers_portal/meetup/migrations/0004_auto_20200620_2144.py b/systers_portal/meetup/migrations/0004_auto_20200620_2144.py deleted file mode 100644 index 76c8dadf..00000000 --- a/systers_portal/meetup/migrations/0004_auto_20200620_2144.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2020-06-20 21:44 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('meetup', '0003_auto_20200620_2133'), - ] - - operations = [ - migrations.AlterField( - model_name='meetup', - name='meetup_location', - field=models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Meetup Location'), - ), - migrations.AlterField( - model_name='requestmeetup', - name='meetup_location', - field=models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Meetup Location'), - ), - ] diff --git a/systers_portal/meetup/migrations/0005_auto_20200620_2145.py b/systers_portal/meetup/migrations/0005_auto_20200620_2145.py deleted file mode 100644 index 76496516..00000000 --- a/systers_portal/meetup/migrations/0005_auto_20200620_2145.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2020-06-20 21:45 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('meetup', '0004_auto_20200620_2144'), - ] - - operations = [ - migrations.AlterField( - model_name='meetup', - name='meetup_location', - field=models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Meetup Location'), - ), - migrations.AlterField( - model_name='requestmeetup', - name='meetup_location', - field=models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Meetup Location'), - ), - ] diff --git a/systers_portal/meetup/migrations/0006_auto_20200620_2146.py b/systers_portal/meetup/migrations/0006_auto_20200620_2146.py deleted file mode 100644 index b3464a4f..00000000 --- a/systers_portal/meetup/migrations/0006_auto_20200620_2146.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2020-06-20 21:46 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('meetup', '0005_auto_20200620_2145'), - ] - - operations = [ - migrations.AlterField( - model_name='meetup', - name='meetup_location', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Meetup Location'), - ), - migrations.AlterField( - model_name='requestmeetup', - name='meetup_location', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cities_light.City', verbose_name='Meetup Location'), - ), - ] diff --git a/systers_portal/meetup/models.py b/systers_portal/meetup/models.py index 4da050a4..a815f24d 100644 --- a/systers_portal/meetup/models.py +++ b/systers_portal/meetup/models.py @@ -16,9 +16,11 @@ class Meetup(models.Model): venue = models.CharField(max_length=512, verbose_name="Venue", blank=True) description = models.TextField(verbose_name="Description") leader = models.ForeignKey(SystersUser, null=True, blank=True, related_name='community_leader', - verbose_name="Community leader") - meetup_location = models.ForeignKey(City, verbose_name="Meetup Location") - created_by = models.ForeignKey(SystersUser, null=True, verbose_name="Created By") + verbose_name="Community leader", on_delete=models.CASCADE) + meetup_location = models.ForeignKey( + City, verbose_name="Meetup Location", on_delete=models.CASCADE) + created_by = models.ForeignKey( + SystersUser, null=True, verbose_name="Created By", on_delete=models.CASCADE) last_updated = models.DateTimeField(auto_now=True, verbose_name="Last Update") meetup_picture = models.ImageField(upload_to='meetup/pictures/', blank=True, @@ -54,10 +56,12 @@ class RequestMeetup(models.Model): time = models.TimeField(verbose_name="Time", blank=True) venue = models.CharField(max_length=512, verbose_name="Venue", blank=True) description = RichTextField(verbose_name="Description") - meetup_location = models.ForeignKey(City, verbose_name="Meetup Location") - created_by = models.ForeignKey(SystersUser, null=True, verbose_name="Created By") + meetup_location = models.ForeignKey( + City, verbose_name="Meetup Location", on_delete=models.CASCADE) + created_by = models.ForeignKey( + SystersUser, null=True, verbose_name="Created By", on_delete=models.CASCADE) approved_by = models.ForeignKey(SystersUser, blank=True, null=True, - related_name='approvedBy') + related_name='approvedBy', on_delete=models.CASCADE) date_created = models.DateTimeField(auto_now_add=True) is_approved = models.BooleanField(default=False) @@ -74,8 +78,8 @@ def __str__(self): class Rsvp(models.Model): """ Users RSVP for particular meetup """ - user = models.ForeignKey(SystersUser, verbose_name="User") - meetup = models.ForeignKey(Meetup, verbose_name="Meetup") + user = models.ForeignKey(SystersUser, verbose_name="User", on_delete=models.CASCADE) + meetup = models.ForeignKey(Meetup, verbose_name="Meetup", on_delete=models.CASCADE) coming = models.BooleanField(default=True) plus_one = models.BooleanField(default=False) @@ -88,8 +92,8 @@ def __str__(self): class SupportRequest(models.Model): """Manage details of various volunteering activities""" - volunteer = models.ForeignKey(SystersUser, verbose_name="Volunteer") - meetup = models.ForeignKey(Meetup, verbose_name="Meetup") + volunteer = models.ForeignKey(SystersUser, verbose_name="Volunteer", on_delete=models.CASCADE) + meetup = models.ForeignKey(Meetup, verbose_name="Meetup", on_delete=models.CASCADE) description = models.TextField(verbose_name="Description", blank=True) is_approved = models.BooleanField(default=False) diff --git a/systers_portal/meetup/tests/test_views.py b/systers_portal/meetup/tests/test_views.py index c3894680..2c1f04da 100644 --- a/systers_portal/meetup/tests/test_views.py +++ b/systers_portal/meetup/tests/test_views.py @@ -1,6 +1,6 @@ import json from django.contrib.auth.models import User -from django.core.urlresolvers import reverse +from django.urls import reverse from django.test import TestCase, Client from django.utils import timezone from cities_light.models import City, Country diff --git a/systers_portal/meetup/urls.py b/systers_portal/meetup/urls.py index 7c2156c2..8e065a86 100644 --- a/systers_portal/meetup/urls.py +++ b/systers_portal/meetup/urls.py @@ -77,11 +77,11 @@ AddSupportRequestCommentView.as_view(), name="add_support_request_comment"), url(r'^(?P[\w-]+)/support_request/(?P\d+)/edit_comment/' - '(?P\d+)/$', + r'(?P\d+)/$', EditSupportRequestCommentView.as_view(), name="edit_support_request_comment"), url(r'^(?P[\w-]+)/support_request/(?P\d+)/delete_comment/' - '(?P\d+)/$', + r'(?P\d+)/$', DeleteSupportRequestCommentView.as_view(), name="delete_support_request_comment"), url(r'^(?P[\w-]+)/$', MeetupView.as_view(), name="view_meetup"), diff --git a/systers_portal/meetup/views.py b/systers_portal/meetup/views.py index 6c66d522..eae68d9d 100644 --- a/systers_portal/meetup/views.py +++ b/systers_portal/meetup/views.py @@ -3,7 +3,7 @@ from django.contrib.gis.geoip2 import GeoIP2 from django.contrib.gis.geos import Point -from django.core.urlresolvers import reverse +from django.urls import reverse from django.db.models import Q from django.shortcuts import get_object_or_404 from django.views.decorators.csrf import csrf_exempt @@ -791,7 +791,7 @@ def post(self, request): unit = '' for meetup in searched_meetups: distance = '' - geolocator = Nominatim(timeout=6) + geolocator = Nominatim(user_agent="Anita-B Portal", timeout=6) g = GeoIP2() if location == "Current Location": client_ip, is_routable = get_client_ip(request) diff --git a/systers_portal/membership/migrations/0001_initial.py b/systers_portal/membership/migrations/0001_initial.py index 47e45666..951bd7d7 100644 --- a/systers_portal/membership/migrations/0001_initial.py +++ b/systers_portal/membership/migrations/0001_initial.py @@ -1,29 +1,22 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals +# Generated by Django 3.0.8 on 2020-07-21 18:28 -from django.db import models, migrations +from django.db import migrations, models class Migration(migrations.Migration): + initial = True + dependencies = [ - ('users', '0001_squashed_0003_auto_20160207_1550'), - ('community', '0006_auto_20150208_0818'), ] operations = [ migrations.CreateModel( name='JoinRequest', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('date_created', models.DateTimeField(auto_now_add=True)), ('is_approved', models.BooleanField(default=False)), - ('approved_by', models.ForeignKey(related_name='approved_by', blank=True, to='users.SystersUser', null=True)), - ('community', models.ForeignKey(to='community.Community')), - ('user', models.ForeignKey(related_name='created_by', to='users.SystersUser')), ], - options={ - }, - bases=(models.Model,), ), ] diff --git a/systers_portal/membership/migrations/0002_auto_20200721_1828.py b/systers_portal/membership/migrations/0002_auto_20200721_1828.py new file mode 100644 index 00000000..a3dab351 --- /dev/null +++ b/systers_portal/membership/migrations/0002_auto_20200721_1828.py @@ -0,0 +1,33 @@ +# Generated by Django 3.0.8 on 2020-07-21 18:28 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('membership', '0001_initial'), + ('community', '0001_initial'), + ('users', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='joinrequest', + name='approved_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='approved_by', to='users.SystersUser'), + ), + migrations.AddField( + model_name='joinrequest', + name='community', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='community.Community'), + ), + migrations.AddField( + model_name='joinrequest', + name='user', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='created_by', to='users.SystersUser'), + ), + ] diff --git a/systers_portal/membership/models.py b/systers_portal/membership/models.py index 2f05b3c1..1052242b 100644 --- a/systers_portal/membership/models.py +++ b/systers_portal/membership/models.py @@ -41,10 +41,10 @@ def cancel_join_request(self, user, community): class JoinRequest(models.Model): """Model to represent a request to join a community by a user""" - user = models.ForeignKey(SystersUser, related_name='created_by') + user = models.ForeignKey(SystersUser, related_name='created_by', on_delete=models.CASCADE) approved_by = models.ForeignKey(SystersUser, blank=True, null=True, - related_name='approved_by') - community = models.ForeignKey(Community) + related_name='approved_by', on_delete=models.CASCADE) + community = models.ForeignKey(Community, on_delete=models.CASCADE) date_created = models.DateTimeField(auto_now_add=True) is_approved = models.BooleanField(default=False) diff --git a/systers_portal/membership/tests/test_views.py b/systers_portal/membership/tests/test_views.py index f27fb513..13428258 100644 --- a/systers_portal/membership/tests/test_views.py +++ b/systers_portal/membership/tests/test_views.py @@ -1,6 +1,6 @@ from cities_light.models import Country, City from django.contrib.auth.models import User, Group -from django.core.urlresolvers import reverse +from django.urls import reverse from django.test import TestCase from community.constants import USER_CONTENT_MANAGER diff --git a/systers_portal/membership/views.py b/systers_portal/membership/views.py index 8134f517..aeb4fc48 100644 --- a/systers_portal/membership/views.py +++ b/systers_portal/membership/views.py @@ -1,6 +1,6 @@ from django.contrib import messages from django.contrib.auth.models import User -from django.core.urlresolvers import reverse +from django.urls import reverse from django.shortcuts import get_object_or_404 from django.views.generic import RedirectView, ListView, FormView from django.views.generic.detail import SingleObjectMixin diff --git a/systers_portal/systers_portal/settings/base.py b/systers_portal/systers_portal/settings/base.py index 7138f9d7..203df2af 100644 --- a/systers_portal/systers_portal/settings/base.py +++ b/systers_portal/systers_portal/settings/base.py @@ -57,7 +57,7 @@ 'pinax.notifications', ) -MIDDLEWARE_CLASSES = ( +MIDDLEWARE = [ 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', @@ -66,7 +66,7 @@ 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.admindocs.middleware.XViewMiddleware', -) +] AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', diff --git a/systers_portal/systers_portal/urls.py b/systers_portal/systers_portal/urls.py index e04fe466..b04b7b46 100644 --- a/systers_portal/systers_portal/urls.py +++ b/systers_portal/systers_portal/urls.py @@ -23,7 +23,7 @@ url(r'^community/', include('membership.urls')), url(r'^meetup/', include('meetup.urls')), url(r'^users/', include('users.urls')), - url(r'^admin/', include(admin.site.urls)), + url(r'^admin/', admin.site.urls), url(r'^logout/', Logout.as_view(), name='logout'), url(r'^accounts/', include('allauth.urls')), url(r'^ckeditor/upload/', login_required(views), diff --git a/systers_portal/templates/account/login.html b/systers_portal/templates/account/login.html index 4bd81caa..96d8794c 100644 --- a/systers_portal/templates/account/login.html +++ b/systers_portal/templates/account/login.html @@ -7,35 +7,34 @@ {% load crispy_forms_tags %} {% block content %} {% load socialaccount %} -{% load staticfiles %} -
- - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/systers_portal/templates/common/contact.html b/systers_portal/templates/common/contact.html index cac6aff6..d3cf4d1e 100644 --- a/systers_portal/templates/common/contact.html +++ b/systers_portal/templates/common/contact.html @@ -1,5 +1,6 @@ + {% extends "base.html" %} -{% load staticfiles %} +{% load static %} {% block content %}
@@ -19,4 +20,4 @@

Contact Systers

-{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/systers_portal/templates/common/index.html b/systers_portal/templates/common/index.html index be5ac5f1..7640d23f 100644 --- a/systers_portal/templates/common/index.html +++ b/systers_portal/templates/common/index.html @@ -1,89 +1,86 @@ {% extends "base.html" %} -{% load staticfiles %} +{% load static %} {% block content %} -
-

Welcome to Systers Portal!

+
+

Welcome to Systers Portal!

-

Systers is the world’s largest email community of women in - technical roles in computing. Systers Portal is a unified platform for - Systers and its sub-groups to share information and get the latest news.

-

- {% if not user.is_authenticated %} - Join Systers - {% endif %} -

-
-
-
-
-

Systers Communities

+

Systers is the world’s largest email community of women in + technical roles in computing. Systers Portal is a unified platform for + Systers and its sub-groups to share information and get the latest news.

+

+ {% if not user.is_authenticated %} + Join Systers + {% endif %} +

+
+
+
+
+

Systers Communities

-

Special Interest communities are those communities where - Systers can identify themselves culturally to share and offer support in - challenges within their communities.

- Read more -
-
- Systers Communities -
+

Special Interest communities are those communities where + Systers can identify themselves culturally to share and offer support in + challenges within their communities.

+ Read more +
+
+ Systers Communities
+
-
+
-
-
- Systers Initiatives -
-
-

Systers Initiatives

+
+
+ Systers Initiatives +
+
+

Systers Initiatives

-

In order to honor Anita’s desire to create a network of women - in computing actively helping each another, members of the Systers community - created the Anita Borg Systers Pass-It-On Awards program.

- Read more -
+

In order to honor Anita’s desire to create a network of women + in computing actively helping each another, members of the Systers community + created the Anita Borg Systers Pass-It-On Awards program.

+ Read more
+
-
+
-
-
-

Systers and CRA-W

+
+
+

Systers and CRA-W

-

CRA-W is the Computing - Research Association’s (CRA) committee on the Status of Women in Computing - research. CRA was the founding sponsor of the Institute’s flagship Conference, - the Grace Hopper Celebration of Women in Computing.

- Read more -
-
- Systers and CRA-W -
+

CRA-W is the Computing + Research Association’s (CRA) committee on the Status of Women in Computing + research. CRA was the founding sponsor of the Institute’s flagship Conference, + the Grace Hopper Celebration of Women in Computing.

+ Read more
+
+ Systers and CRA-W +
+
-
+
-
-
- Systers Technical Interests -
-
-

Systers Technical Interests

+
+
+ Systers Technical Interests +
+
+

Systers Technical Interests

-

Systers Technical Interests include Entrepreneurs, Systers-TechTalk, - Systers-IETF, Systers-FOSS, Systers-Dev, Student-ResearcHers.

- Read more -
+

Systers Technical Interests include Entrepreneurs, Systers-TechTalk, + Systers-IETF, Systers-FOSS, Systers-Dev, Student-ResearcHers.

+ Read more
+
-
-{% endblock %} +
+{% endblock %} \ No newline at end of file diff --git a/systers_portal/templates/common/new_community_proposal.html b/systers_portal/templates/common/new_community_proposal.html index 5929186e..b62d56f8 100644 --- a/systers_portal/templates/common/new_community_proposal.html +++ b/systers_portal/templates/common/new_community_proposal.html @@ -1,5 +1,7 @@ {% extends "base.html" %} -{% load staticfiles %} +{% load static %} {% block content %} - + {% endblock %} \ No newline at end of file diff --git a/systers_portal/templates/meetup/snippets/user-cell.html b/systers_portal/templates/meetup/snippets/user-cell.html index 9d926718..f734fa71 100644 --- a/systers_portal/templates/meetup/snippets/user-cell.html +++ b/systers_portal/templates/meetup/snippets/user-cell.html @@ -1,38 +1,41 @@ -{% load staticfiles %} +{% load static %} {% load guardian_tags %} {% if user.is_authenticated and user.is_active %} - {% get_obj_perms user for meetup_location as "meetup_location_perms" %} +{% get_obj_perms user for meetup_location as "meetup_location_perms" %} {% endif %}
{% if systersuser.profile_picture.name and systersuser.profile_picture.name != "False" %} - - {{ systersuser }} profile picture - + + {{ systersuser }} profile picture + {% else %} - - {{ systersuser }} profile picture - + + {{ systersuser }} profile picture + {% endif %}

{{ systersuser }}

{% if "delete_meetup_location_member" in meetup_location_perms %} - - Remove - + + Remove + {% endif %} {% if users == "Members" and "add_meetup_location_moderator" in meetup_location_perms %} - - Make Moderator - + + Make Moderator + {% endif %} {% if users == "Moderators" and "delete_meetup_location_moderator" in meetup_location_perms %} - - Remove Moderator - + + Remove Moderator + {% endif %} -
+
\ No newline at end of file diff --git a/systers_portal/users/adapter.py b/systers_portal/users/adapter.py index 00d83291..4299371e 100644 --- a/systers_portal/users/adapter.py +++ b/systers_portal/users/adapter.py @@ -1,5 +1,5 @@ from allauth.account.adapter import DefaultAccountAdapter -from django.core.urlresolvers import reverse +from django.urls import reverse from django.core.exceptions import ValidationError import re diff --git a/systers_portal/users/migrations/0001_initial.py b/systers_portal/users/migrations/0001_initial.py new file mode 100644 index 00000000..f4c07a48 --- /dev/null +++ b/systers_portal/users/migrations/0001_initial.py @@ -0,0 +1,29 @@ +# Generated by Django 3.0.8 on 2020-07-21 18:28 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('cities_light', '0009_add_subregion'), + ] + + operations = [ + migrations.CreateModel( + name='SystersUser', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('blog_url', models.URLField(blank=True, max_length=255, verbose_name='Blog')), + ('homepage_url', models.URLField(blank=True, max_length=255, verbose_name='Homepage')), + ('profile_picture', models.ImageField(blank=True, null=True, upload_to='users/pictures/', verbose_name='Profile picture')), + ('country', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='cities_light.Country', verbose_name='Country')), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/systers_portal/users/migrations/0001_squashed_0003_auto_20160207_1550.py b/systers_portal/users/migrations/0001_squashed_0003_auto_20160207_1550.py deleted file mode 100644 index 63bbdfca..00000000 --- a/systers_portal/users/migrations/0001_squashed_0003_auto_20160207_1550.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -from django.conf import settings - - -class Migration(migrations.Migration): - - replaces = [('users', '0001_initial'), ('users', '0002_auto_20150420_1504'), ('users', '0003_auto_20160207_1550')] - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('cities_light', '__latest__'), - ] - - operations = [ - migrations.CreateModel( - name='SystersUser', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, primary_key=True, auto_created=True)), - ('blog_url', models.URLField(verbose_name='Blog', max_length=255, blank=True)), - ('homepage_url', models.URLField(verbose_name='Homepage', max_length=255, blank=True)), - ('profile_picture', models.ImageField(verbose_name='Profile picture', blank=True, null=True, upload_to='users/pictures/')), - ('user', models.OneToOneField(to=settings.AUTH_USER_MODEL)), - ('country', models.ForeignKey(verbose_name='Country', to='cities_light.Country', blank=True, null=True)), - ], - options={ - }, - bases=(models.Model,), - ), - ] diff --git a/systers_portal/users/models.py b/systers_portal/users/models.py index fe46e07b..427eb690 100644 --- a/systers_portal/users/models.py +++ b/systers_portal/users/models.py @@ -1,5 +1,5 @@ from django.contrib.auth.models import User -from django.core.urlresolvers import reverse +from django.urls import reverse from django.db import models from django.db.models.signals import post_save from django.dispatch import receiver @@ -14,8 +14,9 @@ class SystersUser(models.Model): """Profile model to store additional information about a user""" - user = models.OneToOneField(User) - country = models.ForeignKey(Country, blank=True, null=True, verbose_name="Country") + user = models.OneToOneField(User, on_delete=models.CASCADE) + country = models.ForeignKey(Country, blank=True, null=True, + verbose_name="Country", on_delete=models.CASCADE) blog_url = models.URLField(max_length=255, blank=True, verbose_name="Blog") homepage_url = models.URLField(max_length=255, blank=True, verbose_name="Homepage") diff --git a/systers_portal/users/tests/test_views.py b/systers_portal/users/tests/test_views.py index 7dd7cbb3..9137dec8 100644 --- a/systers_portal/users/tests/test_views.py +++ b/systers_portal/users/tests/test_views.py @@ -1,6 +1,6 @@ from cities_light.models import Country, City from django.contrib.auth.models import User, Group -from django.core.urlresolvers import reverse +from django.urls import reverse from django.test import TestCase, Client from community.models import Community