def group_leave(request, group_id): group = get_object_or_404(Group, pk=int(group_id)) # Check if user is in group at all if len( Group.objects.filter(pk=int(group_id)).filter( players__in=[request.user])) == 0: raise Http404() # Check if user is owner of the group error = None if request.user == group.owner: error = _( 'You cannot leave a crew that you created, you can only completely delete that crew.' ) if not error and request.method == 'POST': if '0' in request.POST: return HttpResponseRedirect('/crew') elif '1' in request.POST: RoundStandingsCache.clear_group(group) group.players.remove(request.user) messages.add_message( request, messages.INFO, _('Successfully left a crew "%s"') % group.name) return HttpResponseRedirect('/crew') return render(request, 'group_leave.html', { 'error': error, 'group': group })
def group_delete(request, group_id): group = get_object_or_404(Group, pk=int(group_id)) # Check if user is in group at all if len( Group.objects.filter(pk=int(group_id)).filter( players__in=[request.user])) == 0: raise Http404() # Check if user is owner of the group error = None if request.user != group.owner: error = _( 'You cannot delete crew that you are not owner of, you can only leave it.' ) if not error and request.method == 'POST': if '0' in request.POST: return HttpResponseRedirect('/crew') elif '1' in request.POST: group.players.clear() RoundStandingsCache.clear_group(group) StandingsCache(group).clear() group.delete() messages.add_message(request, messages.INFO, _('Crew "%s" deleted') % group.name) return HttpResponseRedirect('/crew') return render(request, 'group_delete.html', { 'error': error, 'group': group })
def crew(request): if request.method == 'POST' and 'new_group' in request.POST: form_new_group = NewGroupForm(request.POST, group={}) if form_new_group.is_valid(): cleaned_data = form_new_group.cleaned_data new_group = Group(name=cleaned_data['name'], group_key=id_generator(size=8, chars=string.digits), owner=request.user) new_group.save() new_group.players.add(request.user) new_group.save() messages.add_message(request, messages.INFO, _('Crew created successfully. Now you can send invite code "%s" to your friends ' 'using chat/mail/SMS, so they too can join your new crew') % new_group.group_key) else: form_new_group = NewGroupForm(group={}) if request.method == 'POST' and 'add_to_group' in request.POST: form_add_group = AddToGroupForm(request.user, request.POST, group_key={}) if form_add_group.is_valid(): cleaned_data = form_add_group.cleaned_data groups = Group.objects.filter(group_key=cleaned_data['key']) group = groups[0] group.players.add(request.user) group.save() RoundStandingsCache.clear_group(group) messages.add_message(request, messages.INFO, _('Joined crew successfully')) else: form_add_group = AddToGroupForm(request.user.player, group_key={}) groups = Group.objects.filter(players__in=[request.user]) return render(request, 'crew.html', {'form_new_group': form_new_group, 'form_add_group': form_add_group, 'groups': groups, 'current_user': request.user} )
def group_leave(request, group_id): group = get_object_or_404(Group, pk=int(group_id)) # Check if user is in group at all if len(Group.objects.filter(pk = int(group_id)).filter(player__in=[request.user.player])) == 0: raise Http404() # Check if user is owner of the group error = None if request.user.player == group.owner: error = "Ne možeš da izađeš iz ekipe koju si ti napravio, možeš samo da je izbrišeš skroz." if not error and request.method == 'POST': if '0' in request.POST: return HttpResponseRedirect('/profile') elif '1' in request.POST: RoundStandingsCache.clear_group(group) group.players.remove(request.user.player) messages.add_message(request, messages.INFO, u"Izašao si iz ekipe '%s'" % group.name) return HttpResponseRedirect('/profile') return render(request, "group_leave.html", {"error": error, "group": group})
def paypal(request): username = "******" success = False if request.user.is_authenticated(): username = request.user.username request.user.player.in_money = True request.user.player.save() groups = Group.objects.filter(id = 1) group = groups[0] group.players.add(request.user.player) group.save() RoundStandingsCache.clear_group(group) success = True msg = EmailMessage(u"[nmk] Igrac uplatio paypal", "Igrac %s" % username, "*****@*****.**", to=["*****@*****.**",]) msg.content_subtype = "html" msg.send(fail_silently = True) return render(request, "paypal.html", {"success": success})
def profile(request): if request.method == 'POST' and 'profile_change' in request.POST: form = PlayerForm(request.POST, instance=request.user.player) if form.is_valid(): form.save() messages.add_message(request, messages.INFO, u"Podešavanja uspešno sačuvana") else: form = PlayerForm(instance=request.user.player) if request.method == 'POST' and 'new_group' in request.POST: form_new_group = NewGroupForm(request.POST, group={}) if form_new_group.is_valid(): cleaned_data = form_new_group.cleaned_data new_group = Group(name = cleaned_data['name'], group_key = id_generator(size=8, chars=string.digits), owner = request.user.player) new_group.save() new_group.players.add(request.user.player) new_group.save() messages.add_message(request, messages.INFO, u"Uspešno si napravio novu ekipu. Sad pošalji chat-om/mail-om/SMS-om prijateljima šifru-pozivnicu '%s' \ da bi mogli i oni da uđu u tvoju ekipu" % new_group.group_key) else: form_new_group = NewGroupForm(group={}) if request.method == 'POST' and 'add_to_group' in request.POST: form_add_group = AddToGroupForm(request.user.player, request.POST, group_key={}) if form_add_group.is_valid(): cleaned_data = form_add_group.cleaned_data groups = Group.objects.filter(group_key = cleaned_data['key']) group = groups[0] group.players.add(request.user.player) group.save() RoundStandingsCache.clear_group(group) messages.add_message(request, messages.INFO, u"Uspešno si se dodao u ekipu") else: form_add_group = AddToGroupForm(request.user.player, group_key={}) groups = Group.objects.filter(player__in=[request.user.player]) return render(request, "profile.html", {"form": form, "form_new_group": form_new_group, "form_add_group": form_add_group, "groups": groups, "current_user": request.user.player} )
def paypal(request): email = 'not logged' success = False if request.user.is_authenticated: email = request.user.email request.user.player.in_money = True request.user.player.save() groups = Group.objects.filter(id=1) group = groups[0] group.players.add(request.user) group.save() RoundStandingsCache.clear_group(group) success = True msg = EmailMessage(_('[sharkz.bet] Player payed paypal'), _('Player %s') % email, '*****@*****.**', to=['*****@*****.**', ]) msg.content_subtype = 'html' msg.send(fail_silently=True) return render(request, 'paypal.html', {'success': success})
def activation(request): logger.info("User is on activation page") activation_id = request.GET.get('id', '') success = False player = None if activation_id != '': players = Player.objects.filter(activation_code = activation_id) if len(players) == 1: players[0].user.is_active = True players[0].user.save() success = True player = players[0] StandingsCache().clear() rounds = RoundStandingsCache.clear_group() for nmk_round in rounds: RoundStandingsCache.clear_round(nmk_round) return render(request, "activation.html", {"success": success, "player": player})
def activation(request): logger.info('User is on activation page') activation_id = request.GET.get('id', '') success = False player = None if activation_id != '': players = Player.objects.filter(activation_code=activation_id) if len(players) == 1: players[0].user.is_active = True players[0].user.save() success = True player = players[0] StandingsCache().clear() rounds = RoundStandingsCache.clear_group() for nmk_round in rounds: RoundStandingsCache.clear_round(nmk_round) return render(request, 'activation.html', {'success': success, 'player': player})