This commit is contained in:
Egor Matveev
2022-02-27 00:03:56 +03:00
parent 65e973c3b0
commit e933b22397
5 changed files with 71 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
from django.contrib.auth.models import User
from SprintLib.BaseView import BaseView, AccessError
from SprintLib.utils import generate_token
class GroupView(BaseView):
@@ -45,3 +46,16 @@ class GroupView(BaseView):
for t in to_delete:
self.entities.group.users.remove(t)
return "/group?group_id=" + str(self.entities.group.id)
def link_action(self, value):
if not self.owner:
raise AccessError()
self.entities.group.access_token = value
self.entities.group.save()
return "/group?group_id=" + str(self.entities.group.id)
def post_open_link(self):
return self.link_action(generate_token())
def post_close_link(self):
return self.link_action(None)

View File

@@ -1,5 +1,6 @@
from random import sample
from django.core.exceptions import ObjectDoesNotExist
from django.db.models import Count, Max, Q
from django.utils import timezone
@@ -62,3 +63,12 @@ class MainView(BaseView):
raise AccessError()
group = Group.objects.create(name=self.request.POST['name'], creator=self.request.user)
return '/group?group_id=' + str(group.id)
def post_token(self):
token = self.request.POST['token']
try:
group = Group.objects.get(access_token=token)
group.users.add(self.request.user)
return '/group?group_id=' + str(group.id)
except ObjectDoesNotExist:
return "/"