コード例 #1
0
ファイル: views.py プロジェクト: azdkj532/arcane
def edit(request, id=None):
    if not request.user.is_staff:
        raise PermissionDenied
    else:
        try:
            user = User.objects.get(username=id)
        except ObjectDoesNotExist:
            return render(request, "submit.html", {"content":"<h1>Wrong user</h1><meta http-equiv=\"refresh\" content=\"3; url=/\">", "title":"錯誤!"}, status=404)
        if not is_player(user):
            return render(request, "submit.html", {"content":"<h1>Wrong user</h1><meta http-equiv=\"refresh\" content=\"3; url=/\">", "title":"錯誤!"}, status=404)
        else:
            if not request.POST:
                form = PlayerForm({"name": user.username, "value": card.value, "long_desc": card.long_desc, "active": card.active, "retrieved": card.retrieved, "modified_reason": ""})
                return render(request, "card/edit.html", locals())
            else:
                form = CardForm(request.POST)
                if form.is_valid():
                    card = Card()
                    card.name = form.cleaned_data["name"]
                    card.value = form.cleaned_data["value"]
                    card.long_desc = form.cleaned_data["long_desc"]
                    card.active = form.cleaned_data["active"]
                    card.modified_reason = form.cleaned_data["modified_reason"]
                    card.save()
                return render(request, "submit.html", {"content": "<h1>Submitted.</h1><meta http-equiv=\"refresh\" content=\"3; url=/card/" + card.cid + "\">"})
コード例 #2
0
ファイル: views.py プロジェクト: m85091081/arcane
def gen(request):
    if request.user.is_staff:
        if not request.POST:
            form = CardForm()
            return render(request, "card/generate.html", locals())
        else:
            form = CardForm(request.POST)
            if form.is_valid():
                card = Card()
                card.name = form.cleaned_data["name"]
                card.value = form.cleaned_data["value"]
                card.long_desc = form.cleaned_data["long_desc"]
                card.active = form.cleaned_data["active"]
                card.issuer = request.user
                card.save()
                record = History(action=1, user=request.user, card=card)
                record.save()
            return render(
                request, "submit.html", {
                    "success": True,
                    "title": "一張卡片就此誕生!",
                    "content": "生成了一張卡片 %s 含有 %d 點" % (card.name, card.value),
                    "next_page": reverse('generate card'),
                })
    else:
        raise PermissionDenied
コード例 #3
0
def gen(request):
    if request.user.is_staff:
        if not request.POST:
            form = CardForm()
            return render(request, "card/generate.html", locals())
        else:
            form = CardForm(request.POST)
            if form.is_valid():
                card = Card()
                card.name = form.cleaned_data["name"]
                card.value = form.cleaned_data["value"]
                card.long_desc = form.cleaned_data["long_desc"]
                card.active = form.cleaned_data["active"]
                card.issuer = request.user
                card.save()
                record = History(action=1, user=request.user, card=card)
                record.save()
            return render(
                request, "submit.html", {
                    "success": True,
                    "title": "一張卡片就此誕生!",
                    "content": "生成了一張卡片 %s 含有 %d 點" % (card.name, card.value),
                    "next_page": reverse('generate card'),
                })
    else:
        raise PermissionDenied
コード例 #4
0
ファイル: views.py プロジェクト: bobby1030/arcane
def gen(request):
    if request.user.has_perm('app.add_card'):
        # only teamleader can use
        if not request.POST:
            form = CardForm()
            return render(request, "card/generate.html", locals())
        else:
            form = CardForm(request.POST)
            if form.is_valid():
                with transaction.atomic():
                    card = Card()
                    card.name = form.cleaned_data["name"]
                    card.value = form.cleaned_data["value"]
                    card.long_desc = form.cleaned_data["long_desc"]
                    card.active = form.cleaned_data["active"]
                    card.issuer = request.user
                    card.save()
                    record = History(action=1, user=request.user, card=card)
                    record.save()
                return render(
                    request, "submit.html", {
                        "success": True,
                        "title": "一張卡片就此誕生!",
                        "content": "生成了一張卡片 %s 含有 %d 點" % (card.name, card.value),
                        "next_page": reverse('view card', args=[card.cid]),
                    })
            else:
                return render(request, "submit.html", {
                    "success": False,
                    "title": "產生卡片失敗",
                    "content": "要不要去戳戳系統管理員呢?"
                    "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)"
                })
    else:
        raise PermissionDenied
コード例 #5
0
ファイル: views.py プロジェクト: felix0924021015/arcane
def gift(request):
    if not request.user.has_perm('app.master'):
        raise PermissionDenied
    if request.method == 'GET':
        return render(request, 'staff/gift.html', {"form": FastSendForm()})
    else:
        form = FastSendForm(request.POST)
        if form.is_valid():
            player = form.cleaned_data['player']
            card = Card()
            # hard code
            present = request.user.first_name
            if present == "":
                present = '祝福'
            with transaction.atomic():
                card.name = "來自 %s 的%s" % (request.user.last_name, present)
                card.value = form.cleaned_data['point']
                card.comment = form.cleaned_data['message']
                card.active = True
                card.retrieved = True
                card.issuer = request.user
                card.capturer = player
                card.save()
                record_reciever = History(action=0xfeed,
                                          user=player.user,
                                          card=card,
                                          comment="從 %s 收到一張卡片" %
                                          request.user.get_full_name())
                record_reciever.save()
                record_sender = History(
                    action=0xfeed,
                    user=request.user,
                    card=card,
                    comment="給了 %s (%s)" %
                    (player.user.get_full_name(), player.user.username))
                record_sender.save()
            return render(
                request, "submit.html", {
                    "success": True,
                    "title": "成功發送卡片",
                    "content": "成功將卡片送給 %s 了!" % player.user.get_full_name(),
                })
        else:
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "要不要去戳戳系統管理員呢?"
                    "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)"
                })
コード例 #6
0
ファイル: views.py プロジェクト: Zekt/arcane
def gift(request):
    if user_permission(request.user) < 3:
        raise PermissionDenied
    if request.method == 'GET':
        return render(request, 'staff/gift.html', {"form": FastSendForm()})
    else:
        form = FastSendForm(request.POST)
        if form.is_valid():
            player = form.cleaned_data['player']
            card = Card()
            # hard code
            present = request.user.first_name
            if present == "":
                present = '祝福'
            with transaction.atomic():
                card.name = "來自 %s 的%s" % (request.user.last_name, present)
                card.value = form.cleaned_data['point']
                card.comment = form.cleaned_data['message']
                card.active = True
                card.retrieved = True
                card.issuer = request.user
                card.capturer = player
                card.save()
                record_reciever = History(
                    action=0xfeed, user=player.user, card=card,
                    comment="從 %s 收到一張卡片" % request.user.get_full_name())
                record_reciever.save()
                record_sender = History(
                    action=0xfeed, user=request.user, card=card,
                    comment="給了 %s (%s)" % (player.user.get_full_name(), player.user.username))
                record_sender.save()
            return render(
                request, "submit.html", {
                    "success": True,
                    "title": "成功發送卡片",
                    "content": "成功將卡片送給 %s 了!" % player.user.get_full_name(),
                })
        else:
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "要不要去戳戳系統管理員呢?"
                    "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)"
                })
コード例 #7
0
ファイル: views.py プロジェクト: m85091081/arcane
def gift(request):
    if request.method == 'GET':
        return render(request, 'staff/gift.html', {"form": FastSendForm()})
    else:
        form = FastSendForm(request.POST)
        if form.is_valid():
            player = form.cleaned_data['player']
            card = Card()
            card.name = "來自 %s 的祝福" % request.user.get_full_name()
            card.value = form.cleaned_data['point']
            card.comment = form.cleaned_data['message']
            card.active = True
            card.retrieved = True
            card.issuer = request.user
            card.capturer = player
            card.save()
            record_reciever = History(action=0xfeed,
                                      user=player.user,
                                      card=card,
                                      comment="從 %s 收到一張卡片" %
                                      request.user.get_full_name())
            record_reciever.save()
            record_sender = History(
                action=0xfeed,
                user=request.user,
                card=card,
                comment="給了 %s (%s)" %
                (player.user.get_full_name(), player.user.username))
            record_sender.save()
            return render(
                request, "submit.html", {
                    "success": True,
                    "title": "成功發送卡片",
                    "content": "成功將卡片送給 %s 了!" % player.user.get_full_name(),
                })
        else:
            return render(request, "submit.html", {
                "success": False,
                "title": "發送卡片失敗",
                "content": "要不要去戳戳系統管理員呢?"
            })
コード例 #8
0
ファイル: views.py プロジェクト: felix0924021015/arcane
def lite(request, tt=None):
    denomination = [32, 64, 128, 256, -128, -32, -64]
    if not request.user.has_perm('app.gen_card'):
        raise PermissionDenied
    if tt is not None:
        try:
            tt = int(tt)
        except:
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "我幫你綁好繩子了,"
                    "你要自己跳還是我推你跳呢?(本繩載重20g)"
                })
        if tt not in range(0, len(denomination)):
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "要不要去戳戳系統管理員呢?"
                    "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)"
                })
        with transaction.atomic():
            card = Card()
            present = request.user.first_name
            if present == "":
                present = '祝福'
            card.name = "來自 %s 的%s" % (request.user.last_name, present)
            card.value = denomination[tt]
            card.active = True
            card.retrieved = False
            card.issuer = request.user
            card.save()
            record = History(action=1, user=request.user, card=card)
            record.save()
        return redirect('view card', card.cid)
    else:
        return render(request, 'staff/lite.html', locals())
コード例 #9
0
ファイル: views.py プロジェクト: azdkj532/arcane
def gen(request):
    if request.user.is_staff:
        if not request.POST:
            form = CardForm()
            return render(request, "card/generate.html", locals())
        else:
            form = CardForm(request.POST)
            if form.is_valid():
                card = Card()
                card.name = form.cleaned_data["name"]
                card.value = form.cleaned_data["value"]
                card.long_desc = form.cleaned_data["long_desc"]
                card.active = form.cleaned_data["active"]
                card.modified_reason = form.cleaned_data["modified_reason"]
                card.save()
            return render(
                request,
                "submit.html",
                {"content": '<h1>Submitted.</h1><meta http-equiv="refresh" content="3; url=/card/' + card.cid + '">'},
            )
    else:
        raise PermissionDenied
コード例 #10
0
ファイル: views.py プロジェクト: Zekt/arcane
def lite(request, tt=None):
    denomination = [32, 64, 128, 256, -128, -32, -64]
    if user_permission(request.user) < 2:
        raise PermissionDenied
    if tt is not None:
        try:
            tt = int(tt)
        except:
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "我幫你綁好繩子了,"
                    "你要自己跳還是我推你跳呢?(本繩載重20g)"})
        if tt not in range(0, len(denomination)):
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "要不要去戳戳系統管理員呢?"
                    "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)"
                })
        with transaction.atomic():
            card = Card()
            present = request.user.first_name
            if present == "":
                present = '祝福'
            card.name = "來自 %s 的%s" % (request.user.last_name, present)
            card.value = denomination[tt]
            card.active = True
            card.retrieved = False
            card.issuer = request.user
            card.save()
            record = History(action=1, user=request.user, card=card)
            record.save()
        return redirect('view card', card.cid)
    else:
        return render(request, 'staff/lite.html',locals())
コード例 #11
0
ファイル: views.py プロジェクト: m85091081/arcane
def gift(request):
    if request.method == 'GET':
        return render(request, 'staff/gift.html', {"form": FastSendForm()})
    else:
        form = FastSendForm(request.POST)
        if form.is_valid():
            player = form.cleaned_data['player']
            card = Card()
            card.name = "來自 %s 的祝福" % request.user.get_full_name()
            card.value = form.cleaned_data['point']
            card.comment = form.cleaned_data['message']
            card.active = True
            card.retrieved = True
            card.issuer = request.user
            card.capturer = player
            card.save()
            record_reciever = History(
                action=0xfeed, user=player.user, card=card,
                comment="從 %s 收到一張卡片" % request.user.get_full_name())
            record_reciever.save()
            record_sender = History(
                action=0xfeed, user=request.user, card=card,
                comment="給了 %s (%s)" % (player.user.get_full_name(), player.user.username))
            record_sender.save()
            return render(
                request, "submit.html", {
                    "success": True,
                    "title": "成功發送卡片",
                    "content": "成功將卡片送給 %s 了!" % player.user.get_full_name(),
                })
        else:
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "要不要去戳戳系統管理員呢?"
                })
コード例 #12
0
ファイル: views.py プロジェクト: felix0924021015/arcane
def gen(request):
    if request.user.has_perm('app.add_card'):
        # only teamleader can use
        if not request.POST:
            form = CardForm()
            return render(request, "card/generate.html", locals())
        else:
            form = CardForm(request.POST)
            if form.is_valid():
                with transaction.atomic():
                    card = Card()
                    card.name = form.cleaned_data["name"]
                    card.value = form.cleaned_data["value"]
                    card.long_desc = form.cleaned_data["long_desc"]
                    card.active = form.cleaned_data["active"]
                    card.issuer = request.user
                    card.save()
                    record = History(action=1, user=request.user, card=card)
                    record.save()
                return render(
                    request, "submit.html", {
                        "success": True,
                        "title": "一張卡片就此誕生!",
                        "content": "生成了一張卡片 %s 含有 %d 點" %
                        (card.name, card.value),
                        "next_page": reverse('view card', args=[card.cid]),
                    })
            else:
                return render(
                    request, "submit.html", {
                        "success": False,
                        "title": "產生卡片失敗",
                        "content": "要不要去戳戳系統管理員呢?"
                        "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)"
                    })
    else:
        raise PermissionDenied