Exemplo n.º 1
0
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
    })
Exemplo n.º 2
0
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
    })
Exemplo n.º 3
0
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}
                  )
Exemplo n.º 4
0
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})
Exemplo n.º 5
0
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})
Exemplo n.º 6
0
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}
                  )
Exemplo n.º 7
0
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})
Exemplo n.º 8
0
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})
Exemplo n.º 9
0
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})