Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion core/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ class Like(Model):
)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey("content_type", "object_id")
# is liked?

class Meta:
unique_together = ("user", "content_type", "object_id")
Expand Down
26 changes: 25 additions & 1 deletion files/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,32 @@
@admin.register(UserFile)
class UserFileAdmin(admin.ModelAdmin):
list_display = (
"short_link",
"filename",
"user",
"datetime_uploaded",
)
list_display_links = (
"short_link",
"filename",
"user",
)
search_fields = (
"link",
"user__first_name",
"user__last_name",
)
list_filter = (
"user",
"datetime_uploaded",
)
list_display_links = ("link",)

date_hierarchy = "datetime_uploaded"

@admin.display(empty_value="Empty filename")
def filename(self, obj):
return obj.name

@admin.display(empty_value="Empty link")
def short_link(self, obj):
return obj.link[15:40] + "..." + obj.link[-20:]
7 changes: 5 additions & 2 deletions files/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,16 @@ class UserFile(models.Model):
UserFile model

Attributes:
user: User who uploaded the file
link: Link to the file on the CDN
user: User who uploaded the file
datetime_uploaded: Datetime when the file was uploaded
name: Name of the file
extension: Extension of the file
size: Size of the file in bytes
"""

user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
link = models.URLField(primary_key=True, null=False)
user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
datetime_uploaded = models.DateTimeField(auto_now_add=True)
name = models.TextField(blank=False, default="file")
extension = models.TextField(blank=True, default="")
Expand Down
2 changes: 2 additions & 0 deletions projects/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ class ProjectNewsAdmin(admin.ModelAdmin):
"project",
"datetime_created",
)
# todo: set up admin panel for files
filter_horizontal = ("files",)


@admin.register(Achievement)
Expand Down
21 changes: 21 additions & 0 deletions projects/migrations/0015_projectnews_files.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Generated by Django 4.2 on 2023-06-14 08:13

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
("files", "0003_userfile_extension_userfile_name_userfile_size"),
("projects", "0014_alter_projectnews_options_and_more"),
]

operations = [
migrations.AddField(
model_name="projectnews",
name="files",
field=models.ManyToManyField(
related_name="projects_news", to="files.userfile"
),
),
]
21 changes: 21 additions & 0 deletions projects/migrations/0016_alter_projectnews_files.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Generated by Django 4.2 on 2023-06-14 08:36

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
("files", "0003_userfile_extension_userfile_name_userfile_size"),
("projects", "0015_projectnews_files"),
]

operations = [
migrations.AlterField(
model_name="projectnews",
name="files",
field=models.ManyToManyField(
blank=True, related_name="projects_news", to="files.userfile"
),
),
]
5 changes: 4 additions & 1 deletion projects/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from django.db.models import UniqueConstraint

from core.models import Like, View
from files.models import UserFile
from industries.models import Industry
from projects.constants import VERBOSE_STEPS
from projects.managers import AchievementManager, ProjectManager
Expand Down Expand Up @@ -207,6 +208,9 @@ class ProjectNews(models.Model):
null=False,
blank=False,
)
# todo: remove files unused files
files = models.ManyToManyField(UserFile, related_name="projects_news", blank=True)

views = GenericRelation(
View,
related_query_name="project_views",
Expand All @@ -215,7 +219,6 @@ class ProjectNews(models.Model):
Like,
related_query_name="project_news",
)
# todo: files

datetime_created = models.DateTimeField(
verbose_name="Дата создания",
Expand Down
2 changes: 2 additions & 0 deletions projects/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,7 @@ class Meta:
"datetime_created",
"views_count",
"likes_count",
"files",
]


Expand Down Expand Up @@ -270,4 +271,5 @@ class Meta:
"datetime_updated",
"views_count",
"likes_count",
"files",
]