favourite language id
This commit is contained in:
parent
4cbd7485e9
commit
b4ca90188b
@ -1,5 +1,6 @@
|
|||||||
from Sprint.settings import CONSTS
|
from Sprint.settings import CONSTS
|
||||||
|
from SprintLib.language import languages
|
||||||
|
|
||||||
|
|
||||||
def attributes(request):
|
def attributes(request):
|
||||||
return CONSTS
|
return {**CONSTS, "languages": sorted(languages, key=lambda x: x.name)}
|
||||||
|
@ -15,6 +15,7 @@ class UserInfo(models.Model):
|
|||||||
middle_name = models.TextField()
|
middle_name = models.TextField()
|
||||||
last_request = models.DateTimeField(default=timezone.now)
|
last_request = models.DateTimeField(default=timezone.now)
|
||||||
profile_picture_fs_id = models.IntegerField(null=True)
|
profile_picture_fs_id = models.IntegerField(null=True)
|
||||||
|
favourite_language_id = models.IntegerField(null=True)
|
||||||
rating = models.IntegerField(default=0)
|
rating = models.IntegerField(default=0)
|
||||||
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
|
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
|
||||||
telegram_chat_id = models.TextField(default="")
|
telegram_chat_id = models.TextField(default="")
|
||||||
|
@ -27,6 +27,12 @@ class AccountView(BaseView):
|
|||||||
self.request.user.userinfo.save()
|
self.request.user.userinfo.save()
|
||||||
return "/account"
|
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):
|
def post_change_password(self):
|
||||||
password = self.request.POST["password"].strip()
|
password = self.request.POST["password"].strip()
|
||||||
new_password = self.request.POST["new_password"].strip()
|
new_password = self.request.POST["new_password"].strip()
|
||||||
|
@ -13,7 +13,6 @@ class TaskView(BaseView):
|
|||||||
view_file = "task.html"
|
view_file = "task.html"
|
||||||
|
|
||||||
def get(self):
|
def get(self):
|
||||||
self.context["languages"] = sorted(languages, key=lambda x: x.name)
|
|
||||||
progress, _ = Progress.objects.get_or_create(
|
progress, _ = Progress.objects.get_or_create(
|
||||||
user=self.request.user, task=self.entities.task
|
user=self.request.user, task=self.entities.task
|
||||||
)
|
)
|
||||||
|
@ -74,6 +74,33 @@
|
|||||||
<p style="padding-top: 8px; font-size: 24px;">{{ account.date_joined.date }}</p>
|
<p style="padding-top: 8px; font-size: 24px;">{{ account.date_joined.date }}</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<h2><i class="fa fa-desktop"></i></h2>
|
||||||
|
</td>
|
||||||
|
<td><div style="width: 20px;"></div></td>
|
||||||
|
<td>
|
||||||
|
{% if owner %}
|
||||||
|
<form method="POST">
|
||||||
|
{% csrf_token %}
|
||||||
|
<input type="hidden" name="action" value="set_language">
|
||||||
|
<select name="language" onchange="this.form.submit();">
|
||||||
|
<option value="-1">Предпочитаемый язык отсутствует</option>
|
||||||
|
{% for lang in languages %}
|
||||||
|
<option value="{{ lang.id }}"{% if account.userinfo.favourite_language_id == lang.id %} selected{% endif %}>{{ lang }}</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
</form>
|
||||||
|
{% else %}
|
||||||
|
{% if account.favourite_language_id %}
|
||||||
|
yes
|
||||||
|
{% else %}
|
||||||
|
no
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -121,7 +121,7 @@
|
|||||||
<select name="language" style="margin-bottom: 30px; width: 10%;">
|
<select name="language" style="margin-bottom: 30px; width: 10%;">
|
||||||
<option disabled>Выберите язык</option>
|
<option disabled>Выберите язык</option>
|
||||||
{% for lang in languages %}
|
{% for lang in languages %}
|
||||||
<option value="{{ lang.id }}">{{ lang }}</option>
|
<option value="{{ lang.id }}"{% if user.userinfo.favourite_language_id == lang.id %} selected{% endif %}>{{ lang }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select><br>
|
</select><br>
|
||||||
<textarea id="input0" style="width: 1000px; height: 400px; resize: none;" name="code" placeholder="Вставьте сюда свой код"></textarea>
|
<textarea id="input0" style="width: 1000px; height: 400px; resize: none;" name="code" placeholder="Вставьте сюда свой код"></textarea>
|
||||||
|
Loading…
Reference in New Issue
Block a user