def get(self, request): _, domain = request.user.email.split('@') if not EmailDomain.objects.filter(domain=domain).first(): logout(request) return redirect('/login/?next=/certify/?token={}&error={}'.format( request.GET['token'], "Nom de domaine inconnu: \"{}\"".format(domain))) if 'token' in request.GET and request.GET['token']: try: member = Member.objects.get(hash=request.GET['token']) except Member.DoesNotExist: return redirect( '/login/?next=/certify/?token={}&error={}'.format( request.GET['token'], "Token inconnu (avez vous deja verifie votre compte ?)" )) member.hash = '' member.email = request.user.email member.save() Group.objects.get_or_create(group='@' + domain, email=request.user.email) Update( type='certify', email=member.email, value=member.id, author=member.id, ).save() return redirect('certify') return render(request, 'registration/confirm.html')
def post(self, request, id): member = get_object_or_404(Member, id=id) member.email = request.POST.get('email', '') member.save() Update( type = 'certify', email = member.email, value = member.id, author = int(request.user.social_auth.get(provider='discord').uid), ).save() return redirect('members:profile', id=member.id)
def get(self, request, pk): if not request.user.is_superuser: raise Http404('Nope') server = get_object_or_404(Server, pk=pk) server.is_active = False server.save() Update( server = server, type = 'config', value = 'deactivate', author = int(request.user.social_auth.get(provider='discord').uid), ).save() return redirect('servers:info', pk=pk)
def get(self, request, pk): group = get_object_or_404(Group, pk=pk) email = group.email member = get_object_or_404(Member, email=email) Update( type = 'delgroup', email = group.email, value = group.group, author = int(request.user.social_auth.get(provider='discord').uid), ).save() group.delete() return redirect('members:profile', id=member.id)
def get(self, request, pk): ban = get_object_or_404(Ban, pk=pk) server = ban.server if not request.user.is_superuser and not request.user in server.moderators.all() and not request.user in server.admins.all(): raise Http404('Not found') Update( server = server, type = 'unban', ban_type = ban.type, value = ban.value, author = int(request.user.social_auth.get(provider='discord').uid), ).save() ban.delete() return redirect('servers:info', pk=server.pk)
def get(self, request, pk, dpk): domain = get_object_or_404(EmailDomain, pk=dpk) server = get_object_or_404(Server, pk=pk) if not request.user.is_superuser and not request.user in server.admins.all(): raise Http404('Not found') Update( server = server, type = 'config', email = domain.domain, value = 'deldomain', author = int(request.user.social_auth.get(provider='discord').uid), ).save() domain.delete() return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
def get(self, request, pk): rank = get_object_or_404(Rank, pk=pk) server = rank.server if not request.user.is_superuser and not request.user in server.moderators.all() and not request.user in server.admins.all(): raise Http404('Not found') Update( server = server, type = 'config', value = 'delrank-' + rank.type, ban_type = rank.name, email = rank.discord_id, author = int(request.user.social_auth.get(provider='discord').uid), ).save() rank.delete() return redirect('servers:info', pk=server.id)
def post(self, request, id): member = get_object_or_404(Member, id=id) if member.email == '': return HttpResponseNotFound('User does not get an email') data = request.POST Group( email=member.email, group=data['group'], ).save() Update( type = 'addgroup', email = member.email, value = data['group'], author = int(request.user.social_auth.get(provider='discord').uid), ).save() return redirect('members:profile', id=id)
def post(self, request, pk): server = get_object_or_404(Server, pk=pk) if not request.user.is_superuser and not request.user in server.moderators.all() and not request.user in server.admins.all(): raise Http404('Not found') data = request.POST Ban( server = server, type = data['type'], value = data['value'] ).save() Update( server = server, type = 'ban', ban_type = data['type'], value = data['value'], author = int(request.user.social_auth.get(provider='discord').uid), ).save() return redirect('servers:info', pk=pk)
def post(self, request, pk): server = get_object_or_404(Server, pk=pk) if (not request.user.is_superuser) and (not request.user in server.moderators.all()) and (not request.user in server.admins.all()): raise Http404('Not found') type = request.POST.get('type', '').split('-') value = request.POST.get('value', '') rank = request.POST.get('rank', '') if type[0] == 'ban': Ban( server = server, type = type[1], value = value ).save() Update( server = server, type = 'ban', ban_type = type[1], value = value, author = int(request.user.social_auth.get(provider='discord').uid), ).save() elif type[0] == 'role': Rank( server = server, type = type[1], name = rank, discord_id = value ).save() Update( server = server, type = 'config', value = 'addrank-' + type[1], ban_type = rank, email = value, author = int(request.user.social_auth.get(provider='discord').uid), ).save() elif type[0] == 'serv': try: user = UserSocialAuth.objects.get(provider='discord', uid=value) except UserSocialAuth.DoesNotExist: return redirect('servers:info', pk=pk) if type[1] == 'mod': if request.user.is_superuser or request.user in server.admins.all(): server.moderators.add(user.user) else: raise Http404('Not found') elif type[1] == 'admin': if request.user.is_superuser: server.admins.add(user.user) else: raise Http404('Not found') server.save() elif type[0] == 'domain': domain = EmailDomain(domain=value) domain.save() server.emails_domains.add(domain) server.save() Update( server = server, type = 'config', value = 'adddomain', ban_type = value, author = int(request.user.social_auth.get(provider='discord').uid), ).save() elif type[0] == 'channel': if not (request.user.is_superuser or request.user in server.admins.all()): raise Http404('Not found') server.channel_admin = request.POST.get('admin', 0) server.channel_logs = request.POST.get('logs', 0) server.channel_request = request.POST.get('request', 0) server.save() Update( server = server, type = 'config', value = 'channels', author = int(request.user.social_auth.get(provider='discord').uid), ).save() return redirect('servers:info', pk=pk)