add telegram

This commit is contained in:
Administrator
2023-10-11 18:37:39 +03:00
parent 319bed3dfc
commit f1f7c0e89b
5 changed files with 61 additions and 2 deletions

View File

@@ -0,0 +1,23 @@
# Generated by Django 4.1.7 on 2023-10-11 15:17
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('web', '0006_remove_project_web_project_next_st_234c0f_idx_and_more'),
]
operations = [
migrations.AddField(
model_name='customuser',
name='telegram_id',
field=models.BigIntegerField(blank=True, null=True),
),
migrations.AddField(
model_name='customuser',
name='telegram_username',
field=models.TextField(blank=True, null=True),
),
]

View File

@@ -5,6 +5,8 @@ from django.db import models
class CustomUser(AbstractUser):
vk_id = models.IntegerField(null=True, blank=True)
yandex_id = models.BigIntegerField(null=True, blank=True)
telegram_id = models.BigIntegerField(null=True, blank=True)
telegram_username = models.TextField(null=True, blank=True)
only_one_project = models.BooleanField(default=True)
selected_project = models.ForeignKey('Project', on_delete=models.CASCADE, null=True)

View File

@@ -1,4 +1,3 @@
from django.db.models import Q
from django.http import HttpResponse, JsonResponse
from Platform import settings
@@ -18,6 +17,9 @@ def is_staff(request):
email = request.GET.get('email')
if email:
data['email'] = email
telegram_id = request.GET.get('telegram_id')
if telegram_id:
data['telegram_id'] = telegram_id
for key, value in data.items():
if len(CustomUser.objects.filter(**{key: value})) != 0:
return JsonResponse({'is_staff': True})

View File

@@ -18,6 +18,14 @@ class ProfileView(BaseView):
minio_client.put_object(self.request.FILES["file"].read(), f"profile_photos/{self.request.user.id}")
return self
def post_save_data(self):
self.request.user.telegram_username = self.request.POST['telegram_username'] if self.request.POST['telegram_username'] else None
self.request.user.telegram_id = int(self.request.POST['telegram_id']) if self.request.POST['telegram_id'] and str(self.request.POST['telegram_id']).isnumeric() else None
self.request.user.email = self.request.POST['email'] if self.request.POST['email'] else None
self.request.user.save()
return '/profile'
def post_change_password(self):
if self.request.POST['password'] != self.request.POST['repeat']:
return '/profile?err=true'