Commit 4be9a605 authored by eelliizzaaf's avatar eelliizzaaf
Browse files

feat: Added user_id to appform database table, fixed fatal bug in authentication

Showing with 11 additions and 5 deletions
+11 -5
from django.db import models from django.db import models
from django.utils.crypto import get_random_string from django.utils.crypto import get_random_string
import oauth.models as users
# Create your models here. # Create your models here.
...@@ -46,6 +47,7 @@ class Articles(models.Model): ...@@ -46,6 +47,7 @@ class Articles(models.Model):
) )
number = models.CharField(max_length=20, unique=True, default=func, verbose_name='Номер заявки') number = models.CharField(max_length=20, unique=True, default=func, verbose_name='Номер заявки')
user = models.ForeignKey(users.DiscordUser, on_delete=models.PROTECT)
mail = models.EmailField('Электронная почта', max_length=100) mail = models.EmailField('Электронная почта', max_length=100)
name = models.CharField('ФИО', max_length=50) name = models.CharField('ФИО', max_length=50)
op = models.CharField('ОП', max_length=6, choices=GROUPS) op = models.CharField('ОП', max_length=6, choices=GROUPS)
......
...@@ -10,6 +10,7 @@ from django.contrib.auth.decorators import login_required ...@@ -10,6 +10,7 @@ from django.contrib.auth.decorators import login_required
def appform_view(request): def appform_view(request):
if request.method == 'POST': if request.method == 'POST':
mail = request.POST['mail'] mail = request.POST['mail']
name = request.POST['name'] name = request.POST['name']
op = request.POST['op'] op = request.POST['op']
course = request.POST['course'] course = request.POST['course']
...@@ -19,7 +20,7 @@ def appform_view(request): ...@@ -19,7 +20,7 @@ def appform_view(request):
dmodel = request.FILES['dmodel'] dmodel = request.FILES['dmodel']
note = request.FILES['note'] note = request.FILES['note']
if mail and name: if mail and name:
data = Articles(mail=mail, name=name, op=op, course=course, project_name=project_name, teach_name=teach_name,phone=phone, dmodel=dmodel, note=note) data = Articles(mail=mail, name=name, op=op, course=course, project_name=project_name, teach_name=teach_name,phone=phone, dmodel=dmodel, note=note, user_id=request.user.id)
data.save() data.save()
return render(request,'home/index.html') return render(request,'home/index.html')
else: else:
......
File deleted
...@@ -5,10 +5,9 @@ from .managers import DiscordUserOAuth2Manager ...@@ -5,10 +5,9 @@ from .managers import DiscordUserOAuth2Manager
class DiscordUser(models.Model): class DiscordUser(models.Model):
objects = DiscordUserOAuth2Manager() objects = DiscordUserOAuth2Manager()
id = models.BigIntegerField(primary_key=True, default='')
id = models.BigIntegerField(primary_key=True)
discord_tag = models.CharField(max_length=100) discord_tag = models.CharField(max_length=100)
avatar = models.CharField(max_length=100) avatar = models.CharField(max_length=100, null=True)
public_flags = models.IntegerField() public_flags = models.IntegerField()
flags = models.IntegerField() flags = models.IntegerField()
locale = models.CharField(max_length=100) locale = models.CharField(max_length=100)
......
...@@ -45,7 +45,11 @@ def discord_login_redirect(request: HttpRequest): ...@@ -45,7 +45,11 @@ def discord_login_redirect(request: HttpRequest):
print(code) print(code)
user = exchange_code(code) user = exchange_code(code)
discord_user = authenticate(request, user=user) discord_user = authenticate(request, user=user)
discord_user = list(discord_user).pop() try:
discord_user = list(discord_user).pop()
except TypeError:
print(discord_user)
print(discord_user) print(discord_user)
login(request, discord_user) login(request, discord_user)
return redirect(next_url) return redirect(next_url)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment