Skip to content

Commit 283df2a

Browse files
committed
Merge branch 'dev' into feature/caching-views-and-likes
2 parents ab292db + f637aaf commit 283df2a

11 files changed

Lines changed: 898 additions & 765 deletions

files/helpers.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def upload(self) -> str:
3838
name=info["name"],
3939
size=info["size"],
4040
extension=info["extension"],
41-
mime_type=info["mime_type"],
41+
# mime_type=info["mime_type"],
4242
)
4343
self.file_object.close()
4444
return url
@@ -111,9 +111,9 @@ def get_file_info(file: TemporaryUploadedFile) -> dict:
111111
"size": file.size,
112112
"name": name,
113113
"extension": ext,
114-
"mime_type": get_file_mime_type(file),
114+
# "mime_type": get_file_mime_type(file),
115115
}
116116

117117

118118
def get_file_mime_type(file: TemporaryUploadedFile):
119-
return magic.from_file(file.temporary_file_path(), mime=True)
119+
return magic.from_file(file.name, mime=True)

files/views.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,9 @@ class FileView(generics.GenericAPIView):
1717
@transaction.atomic
1818
def post(self, request):
1919
"""creates a UserFile object and uploads the file to selectel"""
20-
try:
21-
file_api = FileAPI(request.FILES["file"], request.user)
22-
url = file_api.upload()
23-
return Response({"url": url}, status=status.HTTP_201_CREATED)
24-
except Exception as error:
25-
print(error)
26-
return Response("Failed to upload file", status=status.HTTP_409_CONFLICT)
20+
file_api = FileAPI(request.FILES["file"], request.user)
21+
url = file_api.upload()
22+
return Response({"url": url}, status=status.HTTP_201_CREATED)
2723

2824

2925
def delete(self, request, *args, **kwargs):

news/migrations/0005_news_content_type_news_object_id.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Generated by Django 4.1.3 on 2023-07-08 18:58
1+
# Generated by Django 4.2.3 on 2023-07-12 23:11
22

33
from django.db import migrations, models
44
import django.db.models.deletion
@@ -16,16 +16,16 @@ class Migration(migrations.Migration):
1616
model_name="news",
1717
name="content_type",
1818
field=models.ForeignKey(
19-
default=0,
19+
blank=True,
20+
null=True,
2021
on_delete=django.db.models.deletion.CASCADE,
22+
related_name="news",
2123
to="contenttypes.contenttype",
2224
),
23-
preserve_default=False,
2425
),
2526
migrations.AddField(
2627
model_name="news",
2728
name="object_id",
28-
field=models.PositiveIntegerField(default=0),
29-
preserve_default=False,
29+
field=models.PositiveIntegerField(blank=True, null=True),
3030
),
3131
]

news/models.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from django.contrib.contenttypes.fields import GenericForeignKey
12
from django.contrib.contenttypes.models import ContentType
23
from django.db import models
34

@@ -56,8 +57,11 @@ class News(models.Model):
5657
tags = models.ManyToManyField(NewsTag, blank=True, verbose_name="Список тегов")
5758

5859
# generic relation to project/program/ something else possibly
59-
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
60-
object_id = models.PositiveIntegerField()
60+
content_type = models.ForeignKey(
61+
ContentType, on_delete=models.CASCADE, related_name="news", null=True, blank=True
62+
)
63+
object_id = models.PositiveIntegerField(null=True, blank=True)
64+
content_object = GenericForeignKey("content_type", "object_id")
6165

6266
datetime_created = models.DateTimeField(
6367
verbose_name="Дата создания", null=False, auto_now_add=True

poetry.lock

Lines changed: 851 additions & 724 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

procollab/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@
257257
STATIC_URL = "/static/"
258258
STATIC_ROOT = BASE_DIR / "static"
259259

260-
STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
260+
STATICFILES_STORAGE = "whitenoise.storage.CompressedStaticFilesStorage"
261261

262262
# Default primary key field type
263263

pyproject.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,11 @@ channels-redis = "^4.0.0"
5555
channels = {extras = ["daphne"], version = "^4.0.0"}
5656
django-taggit = "^3.1.0"
5757
python-magic = "^0.4.27"
58-
python-magic-bin = "0.4.14"
58+
python-magic-bin = {version = "^0.4.14", markers = "sys_platform == 'win32'"}
59+
requests = "^2.31.0"
60+
coreapi = "^2.3.3"
5961

6062

6163
[build-system]
6264
requires = ["poetry-core"]
63-
build-backend = "poetry.core.masonry.api"
65+
build-backend = "poetry.core.masonry.api"
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Generated by Django 4.2.3 on 2023-07-12 21:23
2+
3+
from django.db import migrations
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("users", "0036_userlink"),
10+
]
11+
12+
operations = []

users/migrations/0037_alter_customuser_options_customuser_ordering_score.py renamed to users/migrations/0038_alter_customuser_options_customuser_ordering_score.py

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,15 @@
1-
# Generated by Django 4.1.3 on 2023-07-03 20:59
1+
# Generated by Django 4.2.3 on 2023-07-12 21:23
22

33
from django.db import migrations, models
44

5-
from users.models import CustomUser
6-
7-
8-
def set_up_ordering_score(apps, schema_editor):
9-
for user in CustomUser.objects.all():
10-
user.ordering_score = user.calculate_ordering_score()
11-
user.save()
12-
135

146
class Migration(migrations.Migration):
157

168
dependencies = [
17-
("users", "0036_userlink"),
9+
("users", "0037_auto_20230713_0023"),
1810
]
1911

2012
operations = [
21-
migrations.AddField(
22-
model_name="customuser",
23-
name="ordering_score",
24-
field=models.PositiveIntegerField(default=0, editable=False),
25-
),
2613
migrations.AlterModelOptions(
2714
name="customuser",
2815
options={
@@ -31,5 +18,9 @@ class Migration(migrations.Migration):
3118
"verbose_name_plural": "Пользователи",
3219
},
3320
),
34-
migrations.RunPython(set_up_ordering_score)
21+
migrations.AddField(
22+
model_name="customuser",
23+
name="ordering_score",
24+
field=models.PositiveIntegerField(default=0, editable=False),
25+
),
3526
]

users/models.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,8 @@ class UserAchievement(models.Model):
165165
user: A ForeignKey referring to the CustomUser model.
166166
"""
167167

168-
title = models.CharField(max_length=256, null=False)
169-
status = models.CharField(max_length=256, null=False)
168+
title = models.CharField(max_length=256)
169+
status = models.CharField(max_length=256)
170170

171171
user = models.ForeignKey(
172172
CustomUser,
@@ -356,7 +356,7 @@ class UserLink(models.Model):
356356
on_delete=models.CASCADE,
357357
related_name="links",
358358
)
359-
link = models.URLField(null=False, blank=False)
359+
link = models.URLField()
360360

361361
def __str__(self):
362362
return f"UserLink<{self.id}> - {self.user.first_name} {self.user.last_name}"

0 commit comments

Comments
 (0)