favourite language id

This commit is contained in:
Egor Matveev
2021-11-20 11:38:45 +03:00
parent 4cbd7485e9
commit b4ca90188b
6 changed files with 37 additions and 3 deletions

View File

@@ -1,5 +1,6 @@
from Sprint.settings import CONSTS
from SprintLib.language import languages
def attributes(request):
return CONSTS
return {**CONSTS, "languages": sorted(languages, key=lambda x: x.name)}

View File

@@ -15,6 +15,7 @@ class UserInfo(models.Model):
middle_name = models.TextField()
last_request = models.DateTimeField(default=timezone.now)
profile_picture_fs_id = models.IntegerField(null=True)
favourite_language_id = models.IntegerField(null=True)
rating = models.IntegerField(default=0)
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
telegram_chat_id = models.TextField(default="")

View File

@@ -27,6 +27,12 @@ class AccountView(BaseView):
self.request.user.userinfo.save()
return "/account"
def post_set_language(self):
lang_id = self.request.POST["language"]
self.request.user.userinfo.favourite_language_id = lang_id if lang_id != -1 else None
self.request.user.userinfo.save()
return "/account"
def post_change_password(self):
password = self.request.POST["password"].strip()
new_password = self.request.POST["new_password"].strip()

View File

@@ -13,7 +13,6 @@ class TaskView(BaseView):
view_file = "task.html"
def get(self):
self.context["languages"] = sorted(languages, key=lambda x: x.name)
progress, _ = Progress.objects.get_or_create(
user=self.request.user, task=self.entities.task
)