diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4b8bc1c..c7e49cc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,7 +9,3 @@ repos: rev: 22.6.0 hooks: - id: black -- repo: https://github.com/sqlalchemyorg/zimports/ - rev: v0.4.5 - hooks: - - id: zimports diff --git a/config/settings/base.py b/config/settings/base.py index c713143..0439961 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -36,7 +36,6 @@ INSTALLED_APPS = [ "django.contrib.messages", "django.contrib.staticfiles", "flangr.posts", - "flangr.circles", ] MIDDLEWARE = [ diff --git a/flangr/circles/__init__.py b/flangr/circles/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/flangr/circles/admin.py b/flangr/circles/admin.py deleted file mode 100644 index 0cd1f08..0000000 --- a/flangr/circles/admin.py +++ /dev/null @@ -1,7 +0,0 @@ -from django.contrib import admin - -from .models import Circle - -# Register your models here. - -admin.site.register(Circle) diff --git a/flangr/circles/apps.py b/flangr/circles/apps.py deleted file mode 100644 index 7ea759c..0000000 --- a/flangr/circles/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class CirclesConfig(AppConfig): - default_auto_field = "django.db.models.BigAutoField" - name = "flangr.circles" diff --git a/flangr/circles/migrations/0001_initial.py b/flangr/circles/migrations/0001_initial.py deleted file mode 100644 index 71f47f9..0000000 --- a/flangr/circles/migrations/0001_initial.py +++ /dev/null @@ -1,45 +0,0 @@ -# Generated by Django 4.0.5 on 2022-07-08 20:49 - -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), - ] - - operations = [ - migrations.CreateModel( - name="Circle", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255)), - ( - "description", - models.CharField(blank=True, default="", max_length=255), - ), - ("members", models.ManyToManyField(to=settings.AUTH_USER_MODEL)), - ( - "owner", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="owned_circles", - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - ] diff --git a/flangr/circles/migrations/__init__.py b/flangr/circles/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/flangr/circles/models.py b/flangr/circles/models.py deleted file mode 100644 index 77d818a..0000000 --- a/flangr/circles/models.py +++ /dev/null @@ -1,18 +0,0 @@ -from django.conf import settings -from django.db import models - -# Create your models here. - - -class Circle(models.Model): - name = models.CharField(max_length=255) - description = models.CharField(max_length=255, blank=True, default="") - - members = models.ManyToManyField(settings.AUTH_USER_MODEL) - - owner = models.ForeignKey( - settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="owned_circles" - ) - - def __str__(self): - return f"Circle: {self.name} of user {self.owner_id}" diff --git a/flangr/circles/tests.py b/flangr/circles/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/flangr/circles/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/flangr/circles/urls.py b/flangr/circles/urls.py deleted file mode 100644 index 54d0d59..0000000 --- a/flangr/circles/urls.py +++ /dev/null @@ -1,10 +0,0 @@ -from django.urls import path - -from . import views - -app_name = "circles" -urlpatterns = [ - path("", views.CircleListView.as_view(), name="circle_list"), - path("circle/", views.CircleUpdateView.as_view(), name="circle_update"), - path("add", views.CircleCreateView.as_view(), name="circle_create"), -] diff --git a/flangr/circles/views.py b/flangr/circles/views.py deleted file mode 100644 index 590f5ed..0000000 --- a/flangr/circles/views.py +++ /dev/null @@ -1,41 +0,0 @@ -from django.contrib.auth.mixins import LoginRequiredMixin -from django.http import HttpResponseRedirect -from django.urls import reverse -from django.views.generic import CreateView -from django.views.generic import ListView -from django.views.generic import UpdateView - -from .models import Circle - -# Create your views here. - - -class CircleListView(LoginRequiredMixin, ListView): - def get_queryset(self): - return Circle.objects.filter(owner=self.request.user) - - -class CircleUpdateView(LoginRequiredMixin, UpdateView): - model = Circle - fields = ["name", "description", "members"] - - def get_queryset(self): - return Circle.objects.filter(owner=self.request.user) - - def get_success_url(self): - return reverse("circles:circle_list") - - -class CircleCreateView(LoginRequiredMixin, CreateView): - model = Circle - fields = ["name", "description", "members"] - - def form_valid(self, form): - circle = form.save(commit=False) - circle.owner = self.request.user - circle.save() - - return HttpResponseRedirect(self.get_success_url()) - - def get_success_url(self): - return reverse("circles:circle_list") diff --git a/flangr/posts/migrations/0003_alter_post_body_alter_post_title.py b/flangr/posts/migrations/0003_alter_post_body_alter_post_title.py deleted file mode 100644 index 64da38b..0000000 --- a/flangr/posts/migrations/0003_alter_post_body_alter_post_title.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.0.5 on 2022-07-08 20:49 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("posts", "0002_alter_comment_post_alter_post_img"), - ] - - operations = [ - migrations.AlterField( - model_name="post", - name="body", - field=models.TextField(blank=True, default=""), - ), - migrations.AlterField( - model_name="post", - name="title", - field=models.CharField(blank=True, default="", max_length=255), - ), - ] diff --git a/flangr/posts/migrations/0004_remove_post_public_post_shared_with.py b/flangr/posts/migrations/0004_remove_post_public_post_shared_with.py deleted file mode 100644 index e3100e5..0000000 --- a/flangr/posts/migrations/0004_remove_post_public_post_shared_with.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 4.0.5 on 2022-07-09 13:27 - -from django.db import migrations -from django.db import models - - -class Migration(migrations.Migration): - - dependencies = [ - ("circles", "0001_initial"), - ("posts", "0003_alter_post_body_alter_post_title"), - ] - - operations = [ - migrations.RemoveField( - model_name="post", - name="public", - ), - migrations.AddField( - model_name="post", - name="shared_with", - field=models.ManyToManyField(to="circles.circle"), - ), - ] diff --git a/flangr/posts/migrations/0005_rename_shared_with_post_circles.py b/flangr/posts/migrations/0005_rename_shared_with_post_circles.py deleted file mode 100644 index 5546f25..0000000 --- a/flangr/posts/migrations/0005_rename_shared_with_post_circles.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0.5 on 2022-07-09 13:28 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("posts", "0004_remove_post_public_post_shared_with"), - ] - - operations = [ - migrations.RenameField( - model_name="post", - old_name="shared_with", - new_name="circles", - ), - ] diff --git a/flangr/posts/models.py b/flangr/posts/models.py index 1543fa6..fa22ba2 100644 --- a/flangr/posts/models.py +++ b/flangr/posts/models.py @@ -1,8 +1,9 @@ import uuid -from django.conf import settings from django.db import models +from django.conf import settings + # Create your models here. @@ -14,14 +15,13 @@ def get_img_location(instance, filename): class Post(models.Model): img = models.ImageField(upload_to=get_img_location) posted = models.DateTimeField(auto_now_add=True) + public = models.BooleanField(default=False) - title = models.CharField(max_length=255, blank=True, default="") - body = models.TextField(blank=True, default="") + title = models.CharField(max_length=255, null=True) + body = models.TextField(null=True) user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) - circles = models.ManyToManyField("circles.Circle") - def __str__(self): return f"Post: {self.title} at {self.posted.strftime('%Y-%m-%d %H:%S')}" diff --git a/flangr/posts/views.py b/flangr/posts/views.py index f3685e3..c571a5d 100644 --- a/flangr/posts/views.py +++ b/flangr/posts/views.py @@ -1,16 +1,15 @@ -from django.contrib.auth.mixins import LoginRequiredMixin +from django.views.generic import DetailView, CreateView +from django.views.generic.edit import ModelFormMixin from django.forms import modelform_factory from django.http import HttpResponseRedirect from django.urls import reverse -from django.views.generic import CreateView -from django.views.generic import DetailView -from django.views.generic.edit import ModelFormMixin -from .models import Comment -from .models import Post +from django.contrib.auth.mixins import LoginRequiredMixin # Create your views here. +from .models import Post, Comment + class PostDetailView(LoginRequiredMixin, DetailView, ModelFormMixin): model = Post @@ -22,7 +21,6 @@ class PostDetailView(LoginRequiredMixin, DetailView, ModelFormMixin): comment.post = self.object comment.user = self.request.user comment.save() - return HttpResponseRedirect(self.get_success_url()) def get_queryset(self): @@ -39,7 +37,7 @@ class PostDetailView(LoginRequiredMixin, DetailView, ModelFormMixin): class PostCreateView(LoginRequiredMixin, CreateView): model = Post - fields = ("title", "body", "img", "circles") + fields = ("title", "body", "img") def get_success_url(self): return reverse("posts:post_detail", kwargs={"pk": self.object.pk}) @@ -48,5 +46,4 @@ class PostCreateView(LoginRequiredMixin, CreateView): self.object = form.save(commit=False) self.object.user = self.request.user self.object.save() - return HttpResponseRedirect(self.get_success_url()) diff --git a/flangr/templates/circles/circle_form.html b/flangr/templates/circles/circle_form.html deleted file mode 100644 index 1ccb008..0000000 --- a/flangr/templates/circles/circle_form.html +++ /dev/null @@ -1,9 +0,0 @@ -{% extends "base.html" %} -{% block content %} -

Circle {{ object.name }}

-
- {% csrf_token %} - {{ form }} - -
-{% endblock content %} diff --git a/flangr/templates/circles/circle_list.html b/flangr/templates/circles/circle_list.html deleted file mode 100644 index e608e86..0000000 --- a/flangr/templates/circles/circle_list.html +++ /dev/null @@ -1,9 +0,0 @@ -{% extends "base.html" %} -{% block content %} -

Your Circles

- -{% endblock content %} diff --git a/flangr/templates/posts/post_form.html b/flangr/templates/posts/post_form.html index 66bfaba..cac2d5e 100644 --- a/flangr/templates/posts/post_form.html +++ b/flangr/templates/posts/post_form.html @@ -5,6 +5,6 @@
{% csrf_token %} {{ form }} - +
{% endblock content %} diff --git a/flangr/urls.py b/flangr/urls.py index 19577ed..805d746 100644 --- a/flangr/urls.py +++ b/flangr/urls.py @@ -13,17 +13,16 @@ Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ +from django.contrib import admin +from django.urls import path, include + from django.conf import settings from django.conf.urls.static import static -from django.contrib import admin -from django.urls import include -from django.urls import path urlpatterns = [ path("admin/", admin.site.urls), path("accounts/", include("django.contrib.auth.urls")), path("posts/", include("flangr.posts.urls")), - path("circles/", include("flangr.circles.urls")), ] if settings.DEBUG: